/******/ var __webpack_modules__ = ({

/***/ 1639:
/***/ ((__unused_webpack_module, exports) => {

var __webpack_unused_export__;

__webpack_unused_export__ = ({ value: true });
var prefix = 'fab';
var iconName = 'github';
var width = 496;
var height = 512;
var ligatures = [];
var unicode = 'f09b';
var svgPathData = 'M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z';

exports.mw = {
  prefix: prefix,
  iconName: iconName,
  icon: [
    width,
    height,
    ligatures,
    unicode,
    svgPathData
  ]};

exports.Vz = exports.mw;
__webpack_unused_export__ = prefix;
__webpack_unused_export__ = iconName;
__webpack_unused_export__ = width;
__webpack_unused_export__ = height;
__webpack_unused_export__ = ligatures;
__webpack_unused_export__ = unicode;
__webpack_unused_export__ = svgPathData;

/***/ }),

/***/ 6876:
/***/ ((__unused_webpack_module, exports) => {

var __webpack_unused_export__;

__webpack_unused_export__ = ({ value: true });
var prefix = 'fas';
var iconName = 'chart-bar';
var width = 512;
var height = 512;
var ligatures = [];
var unicode = 'f080';
var svgPathData = 'M332.8 320h38.4c6.4 0 12.8-6.4 12.8-12.8V172.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h38.4c6.4 0 12.8-6.4 12.8-12.8V76.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-288 0h38.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h38.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zM496 384H64V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z';

exports.mw = {
  prefix: prefix,
  iconName: iconName,
  icon: [
    width,
    height,
    ligatures,
    unicode,
    svgPathData
  ]};

exports.$F = exports.mw;
__webpack_unused_export__ = prefix;
__webpack_unused_export__ = iconName;
__webpack_unused_export__ = width;
__webpack_unused_export__ = height;
__webpack_unused_export__ = ligatures;
__webpack_unused_export__ = unicode;
__webpack_unused_export__ = svgPathData;

/***/ }),

/***/ 9458:
/***/ ((__unused_webpack_module, exports) => {

var __webpack_unused_export__;

__webpack_unused_export__ = ({ value: true });
var prefix = 'fas';
var iconName = 'check-square';
var width = 448;
var height = 512;
var ligatures = [];
var unicode = 'f14a';
var svgPathData = 'M400 480H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48zm-204.686-98.059l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.248-16.379-6.249-22.628 0L184 302.745l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.25 16.379 6.25 22.628.001z';

exports.mw = {
  prefix: prefix,
  iconName: iconName,
  icon: [
    width,
    height,
    ligatures,
    unicode,
    svgPathData
  ]};

exports.rQ = exports.mw;
__webpack_unused_export__ = prefix;
__webpack_unused_export__ = iconName;
__webpack_unused_export__ = width;
__webpack_unused_export__ = height;
__webpack_unused_export__ = ligatures;
__webpack_unused_export__ = unicode;
__webpack_unused_export__ = svgPathData;

/***/ }),

/***/ 1404:
/***/ ((__unused_webpack_module, exports) => {

var __webpack_unused_export__;

__webpack_unused_export__ = ({ value: true });
var prefix = 'fas';
var iconName = 'copy';
var width = 448;
var height = 512;
var ligatures = [];
var unicode = 'f0c5';
var svgPathData = 'M320 448v40c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24V120c0-13.255 10.745-24 24-24h72v296c0 30.879 25.121 56 56 56h168zm0-344V0H152c-13.255 0-24 10.745-24 24v368c0 13.255 10.745 24 24 24h272c13.255 0 24-10.745 24-24V128H344c-13.2 0-24-10.8-24-24zm120.971-31.029L375.029 7.029A24 24 0 0 0 358.059 0H352v96h96v-6.059a24 24 0 0 0-7.029-16.97z';

exports.mw = {
  prefix: prefix,
  iconName: iconName,
  icon: [
    width,
    height,
    ligatures,
    unicode,
    svgPathData
  ]};

exports.jP = exports.mw;
__webpack_unused_export__ = prefix;
__webpack_unused_export__ = iconName;
__webpack_unused_export__ = width;
__webpack_unused_export__ = height;
__webpack_unused_export__ = ligatures;
__webpack_unused_export__ = unicode;
__webpack_unused_export__ = svgPathData;

/***/ }),

/***/ 731:
/***/ ((__unused_webpack_module, exports) => {

var __webpack_unused_export__;

__webpack_unused_export__ = ({ value: true });
var prefix = 'fas';
var iconName = 'filter';
var width = 512;
var height = 512;
var ligatures = [];
var unicode = 'f0b0';
var svgPathData = 'M487.976 0H24.028C2.71 0-8.047 25.866 7.058 40.971L192 225.941V432c0 7.831 3.821 15.17 10.237 19.662l80 55.98C298.02 518.69 320 507.493 320 487.98V225.941l184.947-184.97C520.021 25.896 509.338 0 487.976 0z';

exports.mw = {
  prefix: prefix,
  iconName: iconName,
  icon: [
    width,
    height,
    ligatures,
    unicode,
    svgPathData
  ]};

exports.mR = exports.mw;
__webpack_unused_export__ = prefix;
__webpack_unused_export__ = iconName;
__webpack_unused_export__ = width;
__webpack_unused_export__ = height;
__webpack_unused_export__ = ligatures;
__webpack_unused_export__ = unicode;
__webpack_unused_export__ = svgPathData;

/***/ }),

/***/ 2881:
/***/ ((__unused_webpack_module, exports) => {

var __webpack_unused_export__;

__webpack_unused_export__ = ({ value: true });
var prefix = 'fas';
var iconName = 'layer-group';
var width = 512;
var height = 512;
var ligatures = [];
var unicode = 'f5fd';
var svgPathData = 'M12.41 148.02l232.94 105.67c6.8 3.09 14.49 3.09 21.29 0l232.94-105.67c16.55-7.51 16.55-32.52 0-40.03L266.65 2.31a25.607 25.607 0 0 0-21.29 0L12.41 107.98c-16.55 7.51-16.55 32.53 0 40.04zm487.18 88.28l-58.09-26.33-161.64 73.27c-7.56 3.43-15.59 5.17-23.86 5.17s-16.29-1.74-23.86-5.17L70.51 209.97l-58.1 26.33c-16.55 7.5-16.55 32.5 0 40l232.94 105.59c6.8 3.08 14.49 3.08 21.29 0L499.59 276.3c16.55-7.5 16.55-32.5 0-40zm0 127.8l-57.87-26.23-161.86 73.37c-7.56 3.43-15.59 5.17-23.86 5.17s-16.29-1.74-23.86-5.17L70.29 337.87 12.41 364.1c-16.55 7.5-16.55 32.5 0 40l232.94 105.59c6.8 3.08 14.49 3.08 21.29 0L499.59 404.1c16.55-7.5 16.55-32.5 0-40z';

exports.mw = {
  prefix: prefix,
  iconName: iconName,
  icon: [
    width,
    height,
    ligatures,
    unicode,
    svgPathData
  ]};

exports.qI = exports.mw;
__webpack_unused_export__ = prefix;
__webpack_unused_export__ = iconName;
__webpack_unused_export__ = width;
__webpack_unused_export__ = height;
__webpack_unused_export__ = ligatures;
__webpack_unused_export__ = unicode;
__webpack_unused_export__ = svgPathData;

/***/ }),

/***/ 2251:
/***/ ((__unused_webpack_module, exports) => {

var __webpack_unused_export__;

__webpack_unused_export__ = ({ value: true });
var prefix = 'fas';
var iconName = 'pause';
var width = 448;
var height = 512;
var ligatures = [];
var unicode = 'f04c';
var svgPathData = 'M144 479H48c-26.5 0-48-21.5-48-48V79c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v352c0 26.5-21.5 48-48 48zm304-48V79c0-26.5-21.5-48-48-48h-96c-26.5 0-48 21.5-48 48v352c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48z';

exports.mw = {
  prefix: prefix,
  iconName: iconName,
  icon: [
    width,
    height,
    ligatures,
    unicode,
    svgPathData
  ]};

exports.G1 = exports.mw;
__webpack_unused_export__ = prefix;
__webpack_unused_export__ = iconName;
__webpack_unused_export__ = width;
__webpack_unused_export__ = height;
__webpack_unused_export__ = ligatures;
__webpack_unused_export__ = unicode;
__webpack_unused_export__ = svgPathData;

/***/ }),

/***/ 3155:
/***/ ((__unused_webpack_module, exports) => {

var __webpack_unused_export__;

__webpack_unused_export__ = ({ value: true });
var prefix = 'fas';
var iconName = 'play';
var width = 448;
var height = 512;
var ligatures = [];
var unicode = 'f04b';
var svgPathData = 'M424.4 214.7L72.4 6.6C43.8-10.3 0 6.1 0 47.9V464c0 37.5 40.7 60.1 72.4 41.3l352-208c31.4-18.5 31.5-64.1 0-82.6z';

exports.mw = {
  prefix: prefix,
  iconName: iconName,
  icon: [
    width,
    height,
    ligatures,
    unicode,
    svgPathData
  ]};

exports.ij = exports.mw;
__webpack_unused_export__ = prefix;
__webpack_unused_export__ = iconName;
__webpack_unused_export__ = width;
__webpack_unused_export__ = height;
__webpack_unused_export__ = ligatures;
__webpack_unused_export__ = unicode;
__webpack_unused_export__ = svgPathData;

/***/ }),

/***/ 1849:
/***/ ((__unused_webpack_module, exports) => {

var __webpack_unused_export__;

__webpack_unused_export__ = ({ value: true });
var prefix = 'fas';
var iconName = 'table';
var width = 512;
var height = 512;
var ligatures = [];
var unicode = 'f0ce';
var svgPathData = 'M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM224 416H64v-96h160v96zm0-160H64v-96h160v96zm224 160H288v-96h160v96zm0-160H288v-96h160v96z';

exports.mw = {
  prefix: prefix,
  iconName: iconName,
  icon: [
    width,
    height,
    ligatures,
    unicode,
    svgPathData
  ]};

exports.w9 = exports.mw;
__webpack_unused_export__ = prefix;
__webpack_unused_export__ = iconName;
__webpack_unused_export__ = width;
__webpack_unused_export__ = height;
__webpack_unused_export__ = ligatures;
__webpack_unused_export__ = unicode;
__webpack_unused_export__ = svgPathData;

/***/ }),

/***/ 9751:
/***/ ((__unused_webpack_module, exports) => {

var __webpack_unused_export__;

__webpack_unused_export__ = ({ value: true });
var prefix = 'fas';
var iconName = 'times';
var width = 352;
var height = 512;
var ligatures = [];
var unicode = 'f00d';
var svgPathData = 'M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z';

exports.mw = {
  prefix: prefix,
  iconName: iconName,
  icon: [
    width,
    height,
    ligatures,
    unicode,
    svgPathData
  ]};

exports.GR = exports.mw;
__webpack_unused_export__ = prefix;
__webpack_unused_export__ = iconName;
__webpack_unused_export__ = width;
__webpack_unused_export__ = height;
__webpack_unused_export__ = ligatures;
__webpack_unused_export__ = unicode;
__webpack_unused_export__ = svgPathData;

/***/ }),

/***/ 6673:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {


// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.ActivityMonitor = void 0;
const signaling_1 = __webpack_require__(7339);
/**
 * A class that monitors activity on a signal.
 */
class ActivityMonitor {
    /**
     * Construct a new activity monitor.
     */
    constructor(options) {
        this._timer = -1;
        this._timeout = -1;
        this._isDisposed = false;
        this._activityStopped = new signaling_1.Signal(this);
        options.signal.connect(this._onSignalFired, this);
        this._timeout = options.timeout || 1000;
    }
    /**
     * A signal emitted when activity has ceased.
     */
    get activityStopped() {
        return this._activityStopped;
    }
    /**
     * The timeout associated with the monitor, in milliseconds.
     */
    get timeout() {
        return this._timeout;
    }
    set timeout(value) {
        this._timeout = value;
    }
    /**
     * Test whether the monitor has been disposed.
     *
     * #### Notes
     * This is a read-only property.
     */
    get isDisposed() {
        return this._isDisposed;
    }
    /**
     * Dispose of the resources used by the activity monitor.
     */
    dispose() {
        if (this._isDisposed) {
            return;
        }
        this._isDisposed = true;
        signaling_1.Signal.clearData(this);
    }
    /**
     * A signal handler for the monitored signal.
     */
    _onSignalFired(sender, args) {
        clearTimeout(this._timer);
        this._sender = sender;
        this._args = args;
        this._timer = setTimeout(() => {
            this._activityStopped.emit({
                sender: this._sender,
                args: this._args
            });
        }, this._timeout);
    }
}
exports.ActivityMonitor = ActivityMonitor;
//# sourceMappingURL=activitymonitor.js.map

/***/ }),

/***/ 3228:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {


// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
/**
 * @packageDocumentation
 * @module coreutils
 */
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
__exportStar(__webpack_require__(6673), exports);
__exportStar(__webpack_require__(1406), exports);
__exportStar(__webpack_require__(4809), exports);
__exportStar(__webpack_require__(6896), exports);
__exportStar(__webpack_require__(4635), exports);
__exportStar(__webpack_require__(4429), exports);
__exportStar(__webpack_require__(8478), exports);
__exportStar(__webpack_require__(1461), exports);
__exportStar(__webpack_require__(743), exports);
__exportStar(__webpack_require__(5381), exports);
//# sourceMappingURL=index.js.map

/***/ }),

/***/ 1406:
/***/ ((__unused_webpack_module, exports) => {


// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
Object.defineProperty(exports, "__esModule", ({ value: true }));
//# sourceMappingURL=interfaces.js.map

/***/ }),

/***/ 4809:
/***/ ((__unused_webpack_module, exports) => {


// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.LruCache = void 0;
const DEFAULT_MAX_SIZE = 128;
/** A least-recently-used cache. */
class LruCache {
    constructor(options = {}) {
        this._map = new Map();
        this._maxSize = (options === null || options === void 0 ? void 0 : options.maxSize) || DEFAULT_MAX_SIZE;
    }
    /**
     * Return the current size of the cache.
     */
    get size() {
        return this._map.size;
    }
    /**
     * Clear the values in the cache.
     */
    clear() {
        this._map.clear();
    }
    /**
     * Get a value (or null) from the cache, pushing the item to the front of the cache.
     */
    get(key) {
        const item = this._map.get(key) || null;
        if (item != null) {
            this._map.delete(key);
            this._map.set(key, item);
        }
        return item;
    }
    /**
     * Set a value in the cache, potentially evicting an old item.
     */
    set(key, value) {
        if (this._map.size >= this._maxSize) {
            this._map.delete(this._map.keys().next().value);
        }
        this._map.set(key, value);
    }
}
exports.LruCache = LruCache;
//# sourceMappingURL=lru.js.map

/***/ }),

/***/ 6896:
/***/ ((__unused_webpack_module, exports) => {


// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.MarkdownCodeBlocks = void 0;
/**
 * The namespace for code block functions which help
 * in extract code from markdown text
 */
var MarkdownCodeBlocks;
(function (MarkdownCodeBlocks) {
    MarkdownCodeBlocks.CODE_BLOCK_MARKER = '```';
    const markdownExtensions = [
        '.markdown',
        '.mdown',
        '.mkdn',
        '.md',
        '.mkd',
        '.mdwn',
        '.mdtxt',
        '.mdtext',
        '.text',
        '.txt',
        '.Rmd'
    ];
    class MarkdownCodeBlock {
        constructor(startLine) {
            this.startLine = startLine;
            this.code = '';
            this.endLine = -1;
        }
    }
    MarkdownCodeBlocks.MarkdownCodeBlock = MarkdownCodeBlock;
    /**
     * Check whether the given file extension is a markdown extension
     * @param extension - A file extension
     *
     * @returns true/false depending on whether this is a supported markdown extension
     */
    function isMarkdown(extension) {
        return markdownExtensions.indexOf(extension) > -1;
    }
    MarkdownCodeBlocks.isMarkdown = isMarkdown;
    /**
     * Construct all code snippets from current text
     * (this could be potentially optimized if we can cache and detect differences)
     * @param text - A string to parse codeblocks from
     *
     * @returns An array of MarkdownCodeBlocks.
     */
    function findMarkdownCodeBlocks(text) {
        if (!text || text === '') {
            return [];
        }
        const lines = text.split('\n');
        const codeBlocks = [];
        let currentBlock = null;
        for (let lineIndex = 0; lineIndex < lines.length; lineIndex++) {
            const line = lines[lineIndex];
            const lineContainsMarker = line.indexOf(MarkdownCodeBlocks.CODE_BLOCK_MARKER) === 0;
            const constructingBlock = currentBlock != null;
            // Skip this line if it is not part of any code block and doesn't contain a marker.
            if (!lineContainsMarker && !constructingBlock) {
                continue;
            }
            // Check if we are already constructing a code block.
            if (!constructingBlock) {
                // Start constructing a new code block.
                currentBlock = new MarkdownCodeBlock(lineIndex);
                // Check whether this is a single line code block of the form ```a = 10```.
                const firstIndex = line.indexOf(MarkdownCodeBlocks.CODE_BLOCK_MARKER);
                const lastIndex = line.lastIndexOf(MarkdownCodeBlocks.CODE_BLOCK_MARKER);
                const isSingleLine = firstIndex !== lastIndex;
                if (isSingleLine) {
                    currentBlock.code = line.substring(firstIndex + MarkdownCodeBlocks.CODE_BLOCK_MARKER.length, lastIndex);
                    currentBlock.endLine = lineIndex;
                    codeBlocks.push(currentBlock);
                    currentBlock = null;
                }
            }
            else if (currentBlock) {
                if (lineContainsMarker) {
                    // End of block, finish it up.
                    currentBlock.endLine = lineIndex - 1;
                    codeBlocks.push(currentBlock);
                    currentBlock = null;
                }
                else {
                    // Append the current line.
                    currentBlock.code += line + '\n';
                }
            }
        }
        return codeBlocks;
    }
    MarkdownCodeBlocks.findMarkdownCodeBlocks = findMarkdownCodeBlocks;
})(MarkdownCodeBlocks || (exports.MarkdownCodeBlocks = MarkdownCodeBlocks = {}));
//# sourceMappingURL=markdowncodeblocks.js.map

/***/ }),

/***/ 4635:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {


// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.PageConfig = void 0;
const coreutils_1 = __webpack_require__(2359);
const minimist_1 = __importDefault(__webpack_require__(9763));
const url_1 = __webpack_require__(5381);
/**
 * The namespace for `PageConfig` functions.
 */
var PageConfig;
(function (PageConfig) {
    /**
     * Get global configuration data for the Jupyter application.
     *
     * @param name - The name of the configuration option.
     *
     * @returns The config value or an empty string if not found.
     *
     * #### Notes
     * All values are treated as strings.
     * For browser based applications, it is assumed that the page HTML
     * includes a script tag with the id `jupyter-config-data` containing the
     * configuration as valid JSON.  In order to support the classic Notebook,
     * we fall back on checking for `body` data of the given `name`.
     *
     * For node applications, it is assumed that the process was launched
     * with a `--jupyter-config-data` option pointing to a JSON settings
     * file.
     */
    function getOption(name) {
        if (configData) {
            return configData[name] || getBodyData(name);
        }
        configData = Object.create(null);
        let found = false;
        // Use script tag if available.
        if (typeof document !== 'undefined' && document) {
            const el = document.getElementById('jupyter-config-data');
            if (el) {
                configData = JSON.parse(el.textContent || '');
                found = true;
            }
        }
        // Otherwise use CLI if given.
        if (!found && typeof process !== 'undefined' && process.argv) {
            try {
                const cli = (0, minimist_1.default)(process.argv.slice(2));
                const path = __webpack_require__(3611);
                let fullPath = '';
                if ('jupyter-config-data' in cli) {
                    fullPath = path.resolve(cli['jupyter-config-data']);
                }
                else if ('JUPYTER_CONFIG_DATA' in process.env) {
                    fullPath = path.resolve(process.env['JUPYTER_CONFIG_DATA']);
                }
                if (fullPath) {
                    // Force Webpack to ignore this require.
                    // eslint-disable-next-line
                    configData = eval('require')(fullPath);
                }
            }
            catch (e) {
                console.error(e);
            }
        }
        if (!coreutils_1.JSONExt.isObject(configData)) {
            configData = Object.create(null);
        }
        else {
            for (const key in configData) {
                // PageConfig expects strings
                if (typeof configData[key] !== 'string') {
                    configData[key] = JSON.stringify(configData[key]);
                }
            }
        }
        return configData[name] || getBodyData(name);
    }
    PageConfig.getOption = getOption;
    /**
     * Set global configuration data for the Jupyter application.
     *
     * @param name - The name of the configuration option.
     * @param value - The value to set the option to.
     *
     * @returns The last config value or an empty string if it doesn't exist.
     */
    function setOption(name, value) {
        const last = getOption(name);
        configData[name] = value;
        return last;
    }
    PageConfig.setOption = setOption;
    /**
     * Get the base url for a Jupyter application, or the base url of the page.
     */
    function getBaseUrl() {
        return url_1.URLExt.normalize(getOption('baseUrl') || '/');
    }
    PageConfig.getBaseUrl = getBaseUrl;
    /**
     * Get the tree url for a JupyterLab application.
     */
    function getTreeUrl() {
        return url_1.URLExt.join(getBaseUrl(), getOption('treeUrl'));
    }
    PageConfig.getTreeUrl = getTreeUrl;
    /**
     * Get the base url for sharing links (usually baseUrl)
     */
    function getShareUrl() {
        return url_1.URLExt.normalize(getOption('shareUrl') || getBaseUrl());
    }
    PageConfig.getShareUrl = getShareUrl;
    /**
     * Get the tree url for shareable links.
     * Usually the same as treeUrl,
     * but overridable e.g. when sharing with JupyterHub.
     */
    function getTreeShareUrl() {
        return url_1.URLExt.normalize(url_1.URLExt.join(getShareUrl(), getOption('treeUrl')));
    }
    PageConfig.getTreeShareUrl = getTreeShareUrl;
    /**
     * Create a new URL given an optional mode and tree path.
     *
     * This is used to create URLS when the mode or tree path change as the user
     * changes mode or the current document in the main area. If fields in
     * options are omitted, the value in PageConfig will be used.
     *
     * @param options - IGetUrlOptions for the new path.
     */
    function getUrl(options) {
        var _a, _b, _c, _d;
        let path = options.toShare ? getShareUrl() : getBaseUrl();
        const mode = (_a = options.mode) !== null && _a !== void 0 ? _a : getOption('mode');
        const workspace = (_b = options.workspace) !== null && _b !== void 0 ? _b : getOption('workspace');
        const labOrDoc = mode === 'single-document' ? 'doc' : 'lab';
        path = url_1.URLExt.join(path, labOrDoc);
        if (workspace !== PageConfig.defaultWorkspace) {
            path = url_1.URLExt.join(path, 'workspaces', encodeURIComponent((_c = getOption('workspace')) !== null && _c !== void 0 ? _c : PageConfig.defaultWorkspace));
        }
        const treePath = (_d = options.treePath) !== null && _d !== void 0 ? _d : getOption('treePath');
        if (treePath) {
            path = url_1.URLExt.join(path, 'tree', url_1.URLExt.encodeParts(treePath));
        }
        return path;
    }
    PageConfig.getUrl = getUrl;
    PageConfig.defaultWorkspace = 'default';
    /**
     * Get the base websocket url for a Jupyter application, or an empty string.
     */
    function getWsUrl(baseUrl) {
        let wsUrl = getOption('wsUrl');
        if (!wsUrl) {
            baseUrl = baseUrl ? url_1.URLExt.normalize(baseUrl) : getBaseUrl();
            if (baseUrl.indexOf('http') !== 0) {
                return '';
            }
            wsUrl = 'ws' + baseUrl.slice(4);
        }
        return url_1.URLExt.normalize(wsUrl);
    }
    PageConfig.getWsUrl = getWsUrl;
    /**
     * Returns the URL converting this notebook to a certain
     * format with nbconvert.
     */
    function getNBConvertURL({ path, format, download }) {
        const notebookPath = url_1.URLExt.encodeParts(path);
        const url = url_1.URLExt.join(getBaseUrl(), 'nbconvert', format, notebookPath);
        if (download) {
            return url + '?download=true';
        }
        return url;
    }
    PageConfig.getNBConvertURL = getNBConvertURL;
    /**
     * Get the authorization token for a Jupyter application.
     */
    function getToken() {
        return getOption('token') || getBodyData('jupyterApiToken');
    }
    PageConfig.getToken = getToken;
    /**
     * Get the Notebook version info [major, minor, patch].
     */
    function getNotebookVersion() {
        const notebookVersion = getOption('notebookVersion');
        if (notebookVersion === '') {
            return [0, 0, 0];
        }
        return JSON.parse(notebookVersion);
    }
    PageConfig.getNotebookVersion = getNotebookVersion;
    /**
     * Private page config data for the Jupyter application.
     */
    let configData = null;
    /**
     * Get a url-encoded item from `body.data` and decode it
     * We should never have any encoded URLs anywhere else in code
     * until we are building an actual request.
     */
    function getBodyData(key) {
        if (typeof document === 'undefined' || !document.body) {
            return '';
        }
        const val = document.body.dataset[key];
        if (typeof val === 'undefined') {
            return '';
        }
        return decodeURIComponent(val);
    }
    /**
     * The namespace for page config `Extension` functions.
     */
    let Extension;
    (function (Extension) {
        /**
         * Populate an array from page config.
         *
         * @param key - The page config key (e.g., `deferredExtensions`).
         *
         * #### Notes
         * This is intended for `deferredExtensions` and `disabledExtensions`.
         */
        function populate(key) {
            try {
                const raw = getOption(key);
                if (raw) {
                    return JSON.parse(raw);
                }
            }
            catch (error) {
                console.warn(`Unable to parse ${key}.`, error);
            }
            return [];
        }
        /**
         * The collection of deferred extensions in page config.
         */
        Extension.deferred = populate('deferredExtensions');
        /**
         * The collection of disabled extensions in page config.
         */
        Extension.disabled = populate('disabledExtensions');
        /**
         * Returns whether a plugin is deferred.
         *
         * @param id - The plugin ID.
         */
        function isDeferred(id) {
            // Check for either a full plugin id match or an extension
            // name match.
            const separatorIndex = id.indexOf(':');
            let extName = '';
            if (separatorIndex !== -1) {
                extName = id.slice(0, separatorIndex);
            }
            return Extension.deferred.some(val => val === id || (extName && val === extName));
        }
        Extension.isDeferred = isDeferred;
        /**
         * Returns whether a plugin is disabled.
         *
         * @param id - The plugin ID.
         */
        function isDisabled(id) {
            // Check for either a full plugin id match or an extension
            // name match.
            const separatorIndex = id.indexOf(':');
            let extName = '';
            if (separatorIndex !== -1) {
                extName = id.slice(0, separatorIndex);
            }
            return Extension.disabled.some(val => val === id || (extName && val === extName));
        }
        Extension.isDisabled = isDisabled;
    })(Extension = PageConfig.Extension || (PageConfig.Extension = {}));
})(PageConfig || (exports.PageConfig = PageConfig = {}));
//# sourceMappingURL=pageconfig.js.map

/***/ }),

/***/ 4429:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {


// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.PathExt = void 0;
const path_1 = __webpack_require__(3611);
/**
 * The namespace for path-related functions.
 *
 * Note that Jupyter server paths do not start with a leading slash.
 */
var PathExt;
(function (PathExt) {
    /**
     * Join all arguments together and normalize the resulting path.
     * Arguments must be strings. In v0.8, non-string arguments were silently ignored. In v0.10 and up, an exception is thrown.
     *
     * @param paths - The string paths to join.
     */
    function join(...paths) {
        const path = path_1.posix.join(...paths);
        return path === '.' ? '' : removeSlash(path);
    }
    PathExt.join = join;
    /**
     * Join all arguments together and normalize the resulting path and preserve the leading slash.
     *
     * @param paths - The string paths to join.
     */
    function joinWithLeadingSlash(...paths) {
        const path = path_1.posix.join(...paths);
        return path === '.' ? '' : path;
    }
    PathExt.joinWithLeadingSlash = joinWithLeadingSlash;
    /**
     * Return the last portion of a path. Similar to the Unix basename command.
     * Often used to extract the file name from a fully qualified path.
     *
     * @param path - The path to evaluate.
     *
     * @param ext - An extension to remove from the result.
     */
    function basename(path, ext) {
        return path_1.posix.basename(path, ext);
    }
    PathExt.basename = basename;
    /**
     * Get the directory name of a path, similar to the Unix dirname command.
     * When an empty path is given, returns the root path.
     *
     * @param path - The file path.
     */
    function dirname(path) {
        const dir = removeSlash(path_1.posix.dirname(path));
        return dir === '.' ? '' : dir;
    }
    PathExt.dirname = dirname;
    /**
     * Get the extension of the path.
     *
     * @param path - The file path.
     *
     * @returns the extension of the file.
     *
     * #### Notes
     * The extension is the string from the last occurrence of the `.`
     * character to end of string in the last portion of the path, inclusive.
     * If there is no `.` in the last portion of the path, or if the first
     * character of the basename of path [[basename]] is `.`, then an
     * empty string is returned.
     */
    function extname(path) {
        return path_1.posix.extname(path);
    }
    PathExt.extname = extname;
    /**
     * Normalize a string path, reducing '..' and '.' parts.
     * When multiple slashes are found, they're replaced by a single one; when the path contains a trailing slash, it is preserved. On Windows backslashes are used.
     * When an empty path is given, returns the root path.
     *
     * @param path - The string path to normalize.
     */
    function normalize(path) {
        if (path === '') {
            return '';
        }
        return removeSlash(path_1.posix.normalize(path));
    }
    PathExt.normalize = normalize;
    /**
     * Resolve a sequence of paths or path segments into an absolute path.
     * The root path in the application has no leading slash, so it is removed.
     *
     * @param parts - The paths to join.
     *
     * #### Notes
     * The right-most parameter is considered \{to\}.  Other parameters are considered an array of \{from\}.
     *
     * Starting from leftmost \{from\} parameter, resolves \{to\} to an absolute path.
     *
     * If \{to\} isn't already absolute, \{from\} arguments are prepended in right to left order, until an absolute path is found. If after using all \{from\} paths still no absolute path is found, the current working directory is used as well. The resulting path is normalized, and trailing slashes are removed unless the path gets resolved to the root directory.
     */
    function resolve(...parts) {
        return removeSlash(path_1.posix.resolve(...parts));
    }
    PathExt.resolve = resolve;
    /**
     * Solve the relative path from \{from\} to \{to\}.
     *
     * @param from - The source path.
     *
     * @param to - The target path.
     *
     * #### Notes
     * If from and to each resolve to the same path (after calling
     * path.resolve() on each), a zero-length string is returned.
     * If a zero-length string is passed as from or to, `/`
     * will be used instead of the zero-length strings.
     */
    function relative(from, to) {
        return removeSlash(path_1.posix.relative(from, to));
    }
    PathExt.relative = relative;
    /**
     * Normalize a file extension to be of the type `'.foo'`.
     *
     * @param extension - the file extension.
     *
     * #### Notes
     * Adds a leading dot if not present and converts to lower case.
     */
    function normalizeExtension(extension) {
        if (extension.length > 0 && extension.indexOf('.') !== 0) {
            extension = `.${extension}`;
        }
        return extension;
    }
    PathExt.normalizeExtension = normalizeExtension;
    /**
     * Remove the leading slash from a path.
     *
     * @param path the path from which to remove a leading slash.
     */
    function removeSlash(path) {
        if (path.indexOf('/') === 0) {
            path = path.slice(1);
        }
        return path;
    }
    PathExt.removeSlash = removeSlash;
})(PathExt || (exports.PathExt = PathExt = {}));
//# sourceMappingURL=path.js.map

/***/ }),

/***/ 8478:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {


/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.signalToPromise = void 0;
const coreutils_1 = __webpack_require__(2359);
/**
 * Convert a signal into a promise for the first emitted value.
 *
 * @param signal - The signal we are listening to.
 * @param timeout - Timeout to wait for signal in ms (not timeout if not defined or 0)
 *
 * @returns a Promise that resolves with a `(sender, args)` pair.
 */
function signalToPromise(signal, timeout) {
    const waitForSignal = new coreutils_1.PromiseDelegate();
    function cleanup() {
        signal.disconnect(slot);
    }
    function slot(sender, args) {
        cleanup();
        waitForSignal.resolve([sender, args]);
    }
    signal.connect(slot);
    if ((timeout !== null && timeout !== void 0 ? timeout : 0) > 0) {
        setTimeout(() => {
            cleanup();
            waitForSignal.reject(`Signal not emitted within ${timeout} ms.`);
        }, timeout);
    }
    return waitForSignal.promise;
}
exports.signalToPromise = signalToPromise;
//# sourceMappingURL=signal.js.map

/***/ }),

/***/ 1461:
/***/ ((__unused_webpack_module, exports) => {


// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.Text = void 0;
/**
 * The namespace for text-related functions.
 */
var Text;
(function (Text) {
    // javascript stores text as utf16 and string indices use "code units",
    // which stores high-codepoint characters as "surrogate pairs",
    // which occupy two indices in the javascript string.
    // We need to translate cursor_pos in the Jupyter protocol (in characters)
    // to js offset (with surrogate pairs taking two spots).
    const HAS_SURROGATES = '𝐚'.length > 1;
    /**
     * Convert a javascript string index into a unicode character offset
     *
     * @param jsIdx - The javascript string index (counting surrogate pairs)
     *
     * @param text - The text in which the offset is calculated
     *
     * @returns The unicode character offset
     */
    function jsIndexToCharIndex(jsIdx, text) {
        if (HAS_SURROGATES) {
            // not using surrogates, nothing to do
            return jsIdx;
        }
        let charIdx = jsIdx;
        for (let i = 0; i + 1 < text.length && i < jsIdx; i++) {
            const charCode = text.charCodeAt(i);
            // check for surrogate pair
            if (charCode >= 0xd800 && charCode <= 0xdbff) {
                const nextCharCode = text.charCodeAt(i + 1);
                if (nextCharCode >= 0xdc00 && nextCharCode <= 0xdfff) {
                    charIdx--;
                    i++;
                }
            }
        }
        return charIdx;
    }
    Text.jsIndexToCharIndex = jsIndexToCharIndex;
    /**
     * Convert a unicode character offset to a javascript string index.
     *
     * @param charIdx - The index in unicode characters
     *
     * @param text - The text in which the offset is calculated
     *
     * @returns The js-native index
     */
    function charIndexToJsIndex(charIdx, text) {
        if (HAS_SURROGATES) {
            // not using surrogates, nothing to do
            return charIdx;
        }
        let jsIdx = charIdx;
        for (let i = 0; i + 1 < text.length && i < jsIdx; i++) {
            const charCode = text.charCodeAt(i);
            // check for surrogate pair
            if (charCode >= 0xd800 && charCode <= 0xdbff) {
                const nextCharCode = text.charCodeAt(i + 1);
                if (nextCharCode >= 0xdc00 && nextCharCode <= 0xdfff) {
                    jsIdx++;
                    i++;
                }
            }
        }
        return jsIdx;
    }
    Text.charIndexToJsIndex = charIndexToJsIndex;
    /**
     * Given a 'snake-case', 'snake_case', 'snake:case', or
     * 'snake case' string, will return the camel case version: 'snakeCase'.
     *
     * @param str the snake-case input string.
     *
     * @param upper default = false. If true, the first letter of the
     * returned string will be capitalized.
     *
     * @returns the camel case version of the input string.
     */
    function camelCase(str, upper = false) {
        return str.replace(/^(\w)|[\s-_:]+(\w)/g, function (match, p1, p2) {
            if (p2) {
                return p2.toUpperCase();
            }
            else {
                return upper ? p1.toUpperCase() : p1.toLowerCase();
            }
        });
    }
    Text.camelCase = camelCase;
    /**
     * Given a string, title case the words in the string.
     *
     * @param str the string to title case.
     *
     * @returns the same string, but with each word capitalized.
     */
    function titleCase(str) {
        return (str || '')
            .toLowerCase()
            .split(' ')
            .map(word => word.charAt(0).toUpperCase() + word.slice(1))
            .join(' ');
    }
    Text.titleCase = titleCase;
})(Text || (exports.Text = Text = {}));
//# sourceMappingURL=text.js.map

/***/ }),

/***/ 743:
/***/ ((__unused_webpack_module, exports) => {


// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.Time = void 0;
/**
 * A list of time units with their associated value in milliseconds.
 */
const UNITS = [
    { name: 'years', milliseconds: 365 * 24 * 60 * 60 * 1000 },
    { name: 'months', milliseconds: 30 * 24 * 60 * 60 * 1000 },
    { name: 'days', milliseconds: 24 * 60 * 60 * 1000 },
    { name: 'hours', milliseconds: 60 * 60 * 1000 },
    { name: 'minutes', milliseconds: 60 * 1000 },
    { name: 'seconds', milliseconds: 1000 }
];
/**
 * The namespace for date functions.
 */
var Time;
(function (Time) {
    /**
     * Convert a timestring to a human readable string (e.g. 'two minutes ago').
     *
     * @param value - The date timestring or date object.
     *
     * @returns A formatted date.
     */
    function formatHuman(value, format = 'long') {
        const lang = document.documentElement.lang || 'en';
        const formatter = new Intl.RelativeTimeFormat(lang, {
            numeric: 'auto',
            style: format
        });
        const delta = new Date(value).getTime() - Date.now();
        for (let unit of UNITS) {
            const amount = Math.ceil(delta / unit.milliseconds);
            if (amount === 0) {
                continue;
            }
            return formatter.format(amount, unit.name);
        }
        return formatter.format(0, 'seconds');
    }
    Time.formatHuman = formatHuman;
    /**
     * Convenient helper to convert a timestring to a date format.
     *
     * @param value - The date timestring or date object.
     *
     * @returns A formatted date.
     */
    function format(value) {
        const lang = document.documentElement.lang || 'en';
        const formatter = new Intl.DateTimeFormat(lang, {
            dateStyle: 'short',
            timeStyle: 'short'
        });
        return formatter.format(new Date(value));
    }
    Time.format = format;
})(Time || (exports.Time = Time = {}));
//# sourceMappingURL=time.js.map

/***/ }),

/***/ 5381:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {


// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.URLExt = void 0;
const path_1 = __webpack_require__(3611);
const url_parse_1 = __importDefault(__webpack_require__(8428));
/**
 * The namespace for URL-related functions.
 */
var URLExt;
(function (URLExt) {
    /**
     * Parse a url into a URL object.
     *
     * @param url - The URL string to parse.
     *
     * @returns A URL object.
     */
    function parse(url) {
        if (typeof document !== 'undefined' && document) {
            const a = document.createElement('a');
            a.href = url;
            return a;
        }
        return (0, url_parse_1.default)(url);
    }
    URLExt.parse = parse;
    /**
     * Parse URL and retrieve hostname
     *
     * @param url - The URL string to parse
     *
     * @returns a hostname string value
     */
    function getHostName(url) {
        return (0, url_parse_1.default)(url).hostname;
    }
    URLExt.getHostName = getHostName;
    function normalize(url) {
        return url && parse(url).toString();
    }
    URLExt.normalize = normalize;
    /**
     * Join a sequence of url components and normalizes as in node `path.join`.
     *
     * @param parts - The url components.
     *
     * @returns the joined url.
     */
    function join(...parts) {
        let u = (0, url_parse_1.default)(parts[0], {});
        // Schema-less URL can be only parsed as relative to a base URL
        // see https://github.com/unshiftio/url-parse/issues/219#issuecomment-1002219326
        const isSchemaLess = u.protocol === '' && u.slashes;
        if (isSchemaLess) {
            u = (0, url_parse_1.default)(parts[0], 'https:' + parts[0]);
        }
        const prefix = `${isSchemaLess ? '' : u.protocol}${u.slashes ? '//' : ''}${u.auth}${u.auth ? '@' : ''}${u.host}`;
        // If there was a prefix, then the first path must start at the root.
        const path = path_1.posix.join(`${!!prefix && u.pathname[0] !== '/' ? '/' : ''}${u.pathname}`, ...parts.slice(1));
        return `${prefix}${path === '.' ? '' : path}`;
    }
    URLExt.join = join;
    /**
     * Encode the components of a multi-segment url.
     *
     * @param url - The url to encode.
     *
     * @returns the encoded url.
     *
     * #### Notes
     * Preserves the `'/'` separators.
     * Should not include the base url, since all parts are escaped.
     */
    function encodeParts(url) {
        return join(...url.split('/').map(encodeURIComponent));
    }
    URLExt.encodeParts = encodeParts;
    /**
     * Return a serialized object string suitable for a query.
     *
     * @param value The source object.
     *
     * @returns an encoded url query.
     *
     * #### Notes
     * Modified version of [stackoverflow](http://stackoverflow.com/a/30707423).
     */
    function objectToQueryString(value) {
        const keys = Object.keys(value).filter(key => key.length > 0);
        if (!keys.length) {
            return '';
        }
        return ('?' +
            keys
                .map(key => {
                const content = encodeURIComponent(String(value[key]));
                return key + (content ? '=' + content : '');
            })
                .join('&'));
    }
    URLExt.objectToQueryString = objectToQueryString;
    /**
     * Return a parsed object that represents the values in a query string.
     */
    function queryStringToObject(value) {
        return value
            .replace(/^\?/, '')
            .split('&')
            .reduce((acc, val) => {
            const [key, value] = val.split('=');
            if (key.length > 0) {
                acc[key] = decodeURIComponent(value || '');
            }
            return acc;
        }, {});
    }
    URLExt.queryStringToObject = queryStringToObject;
    /**
     * Test whether the url is a local url.
     *
     * @param allowRoot - Whether the paths starting at Unix-style filesystem root (`/`) are permitted.
     *
     * #### Notes
     * This function returns `false` for any fully qualified url, including
     * `data:`, `file:`, and `//` protocol URLs.
     */
    function isLocal(url, allowRoot = false) {
        const { protocol } = parse(url);
        return ((!protocol || url.toLowerCase().indexOf(protocol) !== 0) &&
            (allowRoot ? url.indexOf('//') !== 0 : url.indexOf('/') !== 0));
    }
    URLExt.isLocal = isLocal;
})(URLExt || (exports.URLExt = URLExt = {}));
//# sourceMappingURL=url.js.map

/***/ }),

/***/ 2720:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {


// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.BaseManager = void 0;
const signaling_1 = __webpack_require__(7339);
const serverconnection_1 = __webpack_require__(2685);
class BaseManager {
    constructor(options) {
        var _a;
        this._isDisposed = false;
        this._disposed = new signaling_1.Signal(this);
        this.serverSettings =
            (_a = options.serverSettings) !== null && _a !== void 0 ? _a : serverconnection_1.ServerConnection.makeSettings();
    }
    /**
     * A signal emitted when the delegate is disposed.
     */
    get disposed() {
        return this._disposed;
    }
    /**
     * Test whether the delegate has been disposed.
     */
    get isDisposed() {
        return this._isDisposed;
    }
    /**
     * Whether the manager is active.
     */
    get isActive() {
        return true;
    }
    /**
     * Dispose of the delegate and invoke the callback function.
     */
    dispose() {
        if (this.isDisposed) {
            return;
        }
        this._isDisposed = true;
        this._disposed.emit(undefined);
        signaling_1.Signal.clearData(this);
    }
}
exports.BaseManager = BaseManager;
//# sourceMappingURL=basemanager.js.map

/***/ }),

/***/ 1492:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {


// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.BuildManager = void 0;
const coreutils_1 = __webpack_require__(3228);
const serverconnection_1 = __webpack_require__(2685);
/**
 * The url for the lab build service.
 */
const BUILD_SETTINGS_URL = 'api/build';
/**
 * The build API service manager.
 */
class BuildManager {
    /**
     * Create a new setting manager.
     */
    constructor(options = {}) {
        var _a;
        this._url = '';
        this.serverSettings =
            (_a = options.serverSettings) !== null && _a !== void 0 ? _a : serverconnection_1.ServerConnection.makeSettings();
        const { baseUrl, appUrl } = this.serverSettings;
        this._url = coreutils_1.URLExt.join(baseUrl, appUrl, BUILD_SETTINGS_URL);
    }
    /**
     * Test whether the build service is available.
     */
    get isAvailable() {
        return coreutils_1.PageConfig.getOption('buildAvailable').toLowerCase() === 'true';
    }
    /**
     * Test whether to check build status automatically.
     */
    get shouldCheck() {
        return coreutils_1.PageConfig.getOption('buildCheck').toLowerCase() === 'true';
    }
    /**
     * Get whether the application should be built.
     */
    getStatus() {
        const { _url, serverSettings } = this;
        const promise = serverconnection_1.ServerConnection.makeRequest(_url, {}, serverSettings);
        return promise
            .then(response => {
            if (response.status !== 200) {
                throw new serverconnection_1.ServerConnection.ResponseError(response);
            }
            return response.json();
        })
            .then(data => {
            if (typeof data.status !== 'string') {
                throw new Error('Invalid data');
            }
            if (typeof data.message !== 'string') {
                throw new Error('Invalid data');
            }
            return data;
        });
    }
    /**
     * Build the application.
     */
    build() {
        const { _url, serverSettings } = this;
        const init = { method: 'POST' };
        const promise = serverconnection_1.ServerConnection.makeRequest(_url, init, serverSettings);
        return promise.then(response => {
            if (response.status === 400) {
                throw new serverconnection_1.ServerConnection.ResponseError(response, 'Build aborted');
            }
            if (response.status !== 200) {
                const message = `Build failed with ${response.status}.

        If you are experiencing the build failure after installing an extension (or trying to include previously installed extension after updating JupyterLab) please check the extension repository for new installation instructions as many extensions migrated to the prebuilt extensions system which no longer requires rebuilding JupyterLab (but uses a different installation procedure, typically involving a package manager such as 'pip' or 'conda').

        If you specifically intended to install a source extension, please run 'jupyter lab build' on the server for full output.`;
                throw new serverconnection_1.ServerConnection.ResponseError(response, message);
            }
        });
    }
    /**
     * Cancel an active build.
     */
    cancel() {
        const { _url, serverSettings } = this;
        const init = { method: 'DELETE' };
        const promise = serverconnection_1.ServerConnection.makeRequest(_url, init, serverSettings);
        return promise.then(response => {
            if (response.status !== 204) {
                throw new serverconnection_1.ServerConnection.ResponseError(response);
            }
        });
    }
}
exports.BuildManager = BuildManager;
//# sourceMappingURL=index.js.map

/***/ }),

/***/ 5255:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {


// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.ConfigWithDefaults = exports.ConfigSection = void 0;
const coreutils_1 = __webpack_require__(3228);
const __1 = __webpack_require__(6492);
/**
 * The url for the config service.
 */
const SERVICE_CONFIG_URL = 'api/config';
/**
 * The namespace for ConfigSection statics.
 */
var ConfigSection;
(function (ConfigSection) {
    /**
     * Create a config section.
     *
     * @returns A Promise that is fulfilled with the config section is loaded.
     */
    function create(options) {
        const section = new DefaultConfigSection(options);
        return section.load().then(() => {
            return section;
        });
    }
    ConfigSection.create = create;
})(ConfigSection || (exports.ConfigSection = ConfigSection = {}));
/**
 * Implementation of the Configurable data section.
 */
class DefaultConfigSection {
    /**
     * Construct a new config section.
     */
    constructor(options) {
        var _a;
        this._url = 'unknown';
        const settings = (this.serverSettings =
            (_a = options.serverSettings) !== null && _a !== void 0 ? _a : __1.ServerConnection.makeSettings());
        this._url = coreutils_1.URLExt.join(settings.baseUrl, SERVICE_CONFIG_URL, encodeURIComponent(options.name));
    }
    /**
     * Get the data for this section.
     */
    get data() {
        return this._data;
    }
    /**
     * Load the initial data for this section.
     *
     * #### Notes
     * Uses the [Jupyter Server API](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/jupyter_server/services/api/api.yaml#!/config).
     *
     * The promise is fulfilled on a valid response and rejected otherwise.
     */
    async load() {
        const response = await __1.ServerConnection.makeRequest(this._url, {}, this.serverSettings);
        if (response.status !== 200) {
            const err = await __1.ServerConnection.ResponseError.create(response);
            throw err;
        }
        this._data = await response.json();
    }
    /**
     * Modify the stored config values.
     *
     * #### Notes
     * Uses the [Jupyter Server API](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/jupyter_server/services/api/api.yaml#!/config).
     *
     * The promise is fulfilled on a valid response and rejected otherwise.
     *
     * Updates the local data immediately, sends the change to the server,
     * and updates the local data with the response, and fulfils the promise
     * with that data.
     */
    async update(newdata) {
        this._data = { ...this._data, ...newdata };
        const init = {
            method: 'PATCH',
            body: JSON.stringify(newdata)
        };
        const response = await __1.ServerConnection.makeRequest(this._url, init, this.serverSettings);
        if (response.status !== 200) {
            const err = await __1.ServerConnection.ResponseError.create(response);
            throw err;
        }
        this._data = await response.json();
        return this._data;
    }
}
/**
 * Configurable object with defaults.
 */
class ConfigWithDefaults {
    /**
     * Create a new config with defaults.
     */
    constructor(options) {
        var _a, _b;
        this._className = '';
        this._section = options.section;
        this._defaults = (_a = options.defaults) !== null && _a !== void 0 ? _a : {};
        this._className = (_b = options.className) !== null && _b !== void 0 ? _b : '';
    }
    /**
     * Get data from the config section or fall back to defaults.
     */
    get(key) {
        const data = this._classData();
        return key in data ? data[key] : this._defaults[key];
    }
    /**
     * Set a config value.
     *
     * #### Notes
     * Uses the [Jupyter Server API](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/jupyter_server/services/api/api.yaml#!/config).
     *
     * The promise is fulfilled on a valid response and rejected otherwise.
     *
     * Sends the update to the server, and changes our local copy of the data
     * immediately.
     */
    set(key, value) {
        const d = {};
        d[key] = value;
        if (this._className) {
            const d2 = {};
            d2[this._className] = d;
            return this._section.update(d2);
        }
        else {
            return this._section.update(d);
        }
    }
    /**
     * Get data from the Section with our classname, if available.
     *
     * #### Notes
     * If we have no classname, get all of the data in the Section
     */
    _classData() {
        const data = this._section.data;
        if (this._className && this._className in data) {
            return data[this._className];
        }
        return data;
    }
}
exports.ConfigWithDefaults = ConfigWithDefaults;
//# sourceMappingURL=index.js.map

/***/ }),

/***/ 5787:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {


// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
    if (mod && mod.__esModule) return mod;
    var result = {};
    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
    __setModuleDefault(result, mod);
    return result;
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.Drive = exports.ContentsManager = exports.Contents = void 0;
const coreutils_1 = __webpack_require__(3228);
const signaling_1 = __webpack_require__(7339);
const __1 = __webpack_require__(6492);
const validate = __importStar(__webpack_require__(3601));
/**
 * The url for the default drive service.
 */
const SERVICE_DRIVE_URL = 'api/contents';
/**
 * The url for the file access.
 */
const FILES_URL = 'files';
/**
 * A namespace for contents interfaces.
 */
var Contents;
(function (Contents) {
    /**
     * Validates an IModel, throwing an error if it does not pass.
     */
    function validateContentsModel(contents) {
        validate.validateContentsModel(contents);
    }
    Contents.validateContentsModel = validateContentsModel;
    /**
     * Validates an ICheckpointModel, throwing an error if it does not pass.
     */
    function validateCheckpointModel(checkpoint) {
        validate.validateCheckpointModel(checkpoint);
    }
    Contents.validateCheckpointModel = validateCheckpointModel;
})(Contents || (exports.Contents = Contents = {}));
/**
 * A contents manager that passes file operations to the server.
 * Multiple servers implementing the `IDrive` interface can be
 * attached to the contents manager, so that the same session can
 * perform file operations on multiple backends.
 *
 * This includes checkpointing with the normal file operations.
 */
class ContentsManager {
    /**
     * Construct a new contents manager object.
     *
     * @param options - The options used to initialize the object.
     */
    constructor(options = {}) {
        var _a, _b;
        this._isDisposed = false;
        this._additionalDrives = new Map();
        this._fileChanged = new signaling_1.Signal(this);
        const serverSettings = (this.serverSettings =
            (_a = options.serverSettings) !== null && _a !== void 0 ? _a : __1.ServerConnection.makeSettings());
        this._defaultDrive = (_b = options.defaultDrive) !== null && _b !== void 0 ? _b : new Drive({ serverSettings });
        this._defaultDrive.fileChanged.connect(this._onFileChanged, this);
    }
    /**
     * A signal emitted when a file operation takes place.
     */
    get fileChanged() {
        return this._fileChanged;
    }
    /**
     * Test whether the manager has been disposed.
     */
    get isDisposed() {
        return this._isDisposed;
    }
    /**
     * Dispose of the resources held by the manager.
     */
    dispose() {
        if (this.isDisposed) {
            return;
        }
        this._isDisposed = true;
        signaling_1.Signal.clearData(this);
    }
    /**
     * Add an `IDrive` to the manager.
     */
    addDrive(drive) {
        this._additionalDrives.set(drive.name, drive);
        drive.fileChanged.connect(this._onFileChanged, this);
    }
    /**
     * Given a path, get a shared model factory from the
     * relevant backend. Returns `null` if the backend
     * does not provide one.
     */
    getSharedModelFactory(path) {
        var _a;
        const [drive] = this._driveForPath(path);
        return (_a = drive === null || drive === void 0 ? void 0 : drive.sharedModelFactory) !== null && _a !== void 0 ? _a : null;
    }
    /**
     * Given a path of the form `drive:local/portion/of/it.txt`
     * get the local part of it.
     *
     * @param path the path.
     *
     * @returns The local part of the path.
     */
    localPath(path) {
        const parts = path.split('/');
        const firstParts = parts[0].split(':');
        if (firstParts.length === 1 || !this._additionalDrives.has(firstParts[0])) {
            return coreutils_1.PathExt.removeSlash(path);
        }
        return coreutils_1.PathExt.join(firstParts.slice(1).join(':'), ...parts.slice(1));
    }
    /**
     * Normalize a global path. Reduces '..' and '.' parts, and removes
     * leading slashes from the local part of the path, while retaining
     * the drive name if it exists.
     *
     * @param path the path.
     *
     * @returns The normalized path.
     */
    normalize(path) {
        const parts = path.split(':');
        if (parts.length === 1) {
            return coreutils_1.PathExt.normalize(path);
        }
        return `${parts[0]}:${coreutils_1.PathExt.normalize(parts.slice(1).join(':'))}`;
    }
    /**
     * Resolve a global path, starting from the root path. Behaves like
     * posix-path.resolve, with 3 differences:
     *  - will never prepend cwd
     *  - if root has a drive name, the result is prefixed with "<drive>:"
     *  - before adding drive name, leading slashes are removed
     *
     * @param path the path.
     *
     * @returns The normalized path.
     */
    resolvePath(root, path) {
        const driveName = this.driveName(root);
        const localPath = this.localPath(root);
        const resolved = coreutils_1.PathExt.resolve('/', localPath, path);
        return driveName ? `${driveName}:${resolved}` : resolved;
    }
    /**
     * Given a path of the form `drive:local/portion/of/it.txt`
     * get the name of the drive. If the path is missing
     * a drive portion, returns an empty string.
     *
     * @param path the path.
     *
     * @returns The drive name for the path, or the empty string.
     */
    driveName(path) {
        const parts = path.split('/');
        const firstParts = parts[0].split(':');
        if (firstParts.length === 1) {
            return '';
        }
        if (this._additionalDrives.has(firstParts[0])) {
            return firstParts[0];
        }
        return '';
    }
    /**
     * Get a file or directory.
     *
     * @param path The path to the file.
     *
     * @param options The options used to fetch the file.
     *
     * @returns A promise which resolves with the file content.
     */
    get(path, options) {
        const [drive, localPath] = this._driveForPath(path);
        return drive.get(localPath, options).then(contentsModel => {
            const listing = [];
            if (contentsModel.type === 'directory' && contentsModel.content) {
                for (const item of contentsModel.content) {
                    listing.push({ ...item, path: this._toGlobalPath(drive, item.path) });
                }
                return {
                    ...contentsModel,
                    path: this._toGlobalPath(drive, localPath),
                    content: listing,
                    serverPath: contentsModel.path
                };
            }
            else {
                return {
                    ...contentsModel,
                    path: this._toGlobalPath(drive, localPath),
                    serverPath: contentsModel.path
                };
            }
        });
    }
    /**
     * Get an encoded download url given a file path.
     *
     * @param path - An absolute POSIX file path on the server.
     *
     * #### Notes
     * It is expected that the path contains no relative paths.
     *
     * The returned URL may include a query parameter.
     */
    getDownloadUrl(path) {
        const [drive, localPath] = this._driveForPath(path);
        return drive.getDownloadUrl(localPath);
    }
    /**
     * Create a new untitled file or directory in the specified directory path.
     *
     * @param options The options used to create the file.
     *
     * @returns A promise which resolves with the created file content when the
     *    file is created.
     */
    newUntitled(options = {}) {
        if (options.path) {
            const globalPath = this.normalize(options.path);
            const [drive, localPath] = this._driveForPath(globalPath);
            return drive
                .newUntitled({ ...options, path: localPath })
                .then(contentsModel => {
                return {
                    ...contentsModel,
                    path: coreutils_1.PathExt.join(globalPath, contentsModel.name),
                    serverPath: contentsModel.path
                };
            });
        }
        else {
            return this._defaultDrive.newUntitled(options);
        }
    }
    /**
     * Delete a file.
     *
     * @param path - The path to the file.
     *
     * @returns A promise which resolves when the file is deleted.
     */
    delete(path) {
        const [drive, localPath] = this._driveForPath(path);
        return drive.delete(localPath);
    }
    /**
     * Rename a file or directory.
     *
     * @param path - The original file path.
     *
     * @param newPath - The new file path.
     *
     * @returns A promise which resolves with the new file contents model when
     *   the file is renamed.
     */
    rename(path, newPath) {
        const [drive1, path1] = this._driveForPath(path);
        const [drive2, path2] = this._driveForPath(newPath);
        if (drive1 !== drive2) {
            throw Error('ContentsManager: renaming files must occur within a Drive');
        }
        return drive1.rename(path1, path2).then(contentsModel => {
            return {
                ...contentsModel,
                path: this._toGlobalPath(drive1, path2),
                serverPath: contentsModel.path
            };
        });
    }
    /**
     * Save a file.
     *
     * @param path - The desired file path.
     *
     * @param options - Optional overrides to the model.
     *
     * @returns A promise which resolves with the file content model when the
     *   file is saved.
     *
     * #### Notes
     * Ensure that `model.content` is populated for the file.
     */
    save(path, options = {}) {
        const globalPath = this.normalize(path);
        const [drive, localPath] = this._driveForPath(path);
        return drive
            .save(localPath, { ...options, path: localPath })
            .then(contentsModel => {
            return {
                ...contentsModel,
                path: globalPath,
                serverPath: contentsModel.path
            };
        });
    }
    /**
     * Copy a file into a given directory.
     *
     * @param path - The original file path.
     *
     * @param toDir - The destination directory path.
     *
     * @returns A promise which resolves with the new contents model when the
     *  file is copied.
     *
     * #### Notes
     * The server will select the name of the copied file.
     */
    copy(fromFile, toDir) {
        const [drive1, path1] = this._driveForPath(fromFile);
        const [drive2, path2] = this._driveForPath(toDir);
        if (drive1 === drive2) {
            return drive1.copy(path1, path2).then(contentsModel => {
                return {
                    ...contentsModel,
                    path: this._toGlobalPath(drive1, contentsModel.path),
                    serverPath: contentsModel.path
                };
            });
        }
        else {
            throw Error('Copying files between drives is not currently implemented');
        }
    }
    /**
     * Create a checkpoint for a file.
     *
     * @param path - The path of the file.
     *
     * @returns A promise which resolves with the new checkpoint model when the
     *   checkpoint is created.
     */
    createCheckpoint(path) {
        const [drive, localPath] = this._driveForPath(path);
        return drive.createCheckpoint(localPath);
    }
    /**
     * List available checkpoints for a file.
     *
     * @param path - The path of the file.
     *
     * @returns A promise which resolves with a list of checkpoint models for
     *    the file.
     */
    listCheckpoints(path) {
        const [drive, localPath] = this._driveForPath(path);
        return drive.listCheckpoints(localPath);
    }
    /**
     * Restore a file to a known checkpoint state.
     *
     * @param path - The path of the file.
     *
     * @param checkpointID - The id of the checkpoint to restore.
     *
     * @returns A promise which resolves when the checkpoint is restored.
     */
    restoreCheckpoint(path, checkpointID) {
        const [drive, localPath] = this._driveForPath(path);
        return drive.restoreCheckpoint(localPath, checkpointID);
    }
    /**
     * Delete a checkpoint for a file.
     *
     * @param path - The path of the file.
     *
     * @param checkpointID - The id of the checkpoint to delete.
     *
     * @returns A promise which resolves when the checkpoint is deleted.
     */
    deleteCheckpoint(path, checkpointID) {
        const [drive, localPath] = this._driveForPath(path);
        return drive.deleteCheckpoint(localPath, checkpointID);
    }
    /**
     * Given a drive and a local path, construct a fully qualified
     * path. The inverse of `_driveForPath`.
     *
     * @param drive an `IDrive`.
     *
     * @param localPath the local path on the drive.
     *
     * @returns the fully qualified path.
     */
    _toGlobalPath(drive, localPath) {
        if (drive === this._defaultDrive) {
            return coreutils_1.PathExt.removeSlash(localPath);
        }
        else {
            return `${drive.name}:${coreutils_1.PathExt.removeSlash(localPath)}`;
        }
    }
    /**
     * Given a path, get the `IDrive to which it refers,
     * where the path satisfies the pattern
     * `'driveName:path/to/file'`. If there is no `driveName`
     * prepended to the path, it returns the default drive.
     *
     * @param path a path to a file.
     *
     * @returns A tuple containing an `IDrive` object for the path,
     * and a local path for that drive.
     */
    _driveForPath(path) {
        const driveName = this.driveName(path);
        const localPath = this.localPath(path);
        if (driveName) {
            return [this._additionalDrives.get(driveName), localPath];
        }
        else {
            return [this._defaultDrive, localPath];
        }
    }
    /**
     * Respond to fileChanged signals from the drives attached to
     * the manager. This prepends the drive name to the path if necessary,
     * and then forwards the signal.
     */
    _onFileChanged(sender, args) {
        var _a, _b;
        if (sender === this._defaultDrive) {
            this._fileChanged.emit(args);
        }
        else {
            let newValue = null;
            let oldValue = null;
            if ((_a = args.newValue) === null || _a === void 0 ? void 0 : _a.path) {
                newValue = {
                    ...args.newValue,
                    path: this._toGlobalPath(sender, args.newValue.path)
                };
            }
            if ((_b = args.oldValue) === null || _b === void 0 ? void 0 : _b.path) {
                oldValue = {
                    ...args.oldValue,
                    path: this._toGlobalPath(sender, args.oldValue.path)
                };
            }
            this._fileChanged.emit({
                type: args.type,
                newValue,
                oldValue
            });
        }
    }
}
exports.ContentsManager = ContentsManager;
/**
 * A default implementation for an `IDrive`, talking to the
 * server using the Jupyter REST API.
 */
class Drive {
    /**
     * Construct a new contents manager object.
     *
     * @param options - The options used to initialize the object.
     */
    constructor(options = {}) {
        var _a, _b, _c;
        this._isDisposed = false;
        this._fileChanged = new signaling_1.Signal(this);
        this.name = (_a = options.name) !== null && _a !== void 0 ? _a : 'Default';
        this._apiEndpoint = (_b = options.apiEndpoint) !== null && _b !== void 0 ? _b : SERVICE_DRIVE_URL;
        this.serverSettings =
            (_c = options.serverSettings) !== null && _c !== void 0 ? _c : __1.ServerConnection.makeSettings();
    }
    /**
     * A signal emitted when a file operation takes place.
     */
    get fileChanged() {
        return this._fileChanged;
    }
    /**
     * Test whether the manager has been disposed.
     */
    get isDisposed() {
        return this._isDisposed;
    }
    /**
     * Dispose of the resources held by the manager.
     */
    dispose() {
        if (this.isDisposed) {
            return;
        }
        this._isDisposed = true;
        signaling_1.Signal.clearData(this);
    }
    /**
     * Get a file or directory.
     *
     * @param localPath The path to the file.
     *
     * @param options The options used to fetch the file.
     *
     * @returns A promise which resolves with the file content.
     *
     * Uses the [Jupyter Server API](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/jupyter_server/services/api/api.yaml#!/contents) and validates the response model.
     */
    async get(localPath, options) {
        let url = this._getUrl(localPath);
        if (options) {
            // The notebook type cannot take an format option.
            if (options.type === 'notebook') {
                delete options['format'];
            }
            const content = options.content ? '1' : '0';
            const hash = options.hash ? '1' : '0';
            const params = { ...options, content, hash };
            url += coreutils_1.URLExt.objectToQueryString(params);
        }
        const settings = this.serverSettings;
        const response = await __1.ServerConnection.makeRequest(url, {}, settings);
        if (response.status !== 200) {
            const err = await __1.ServerConnection.ResponseError.create(response);
            throw err;
        }
        const data = await response.json();
        validate.validateContentsModel(data);
        return data;
    }
    /**
     * Get an encoded download url given a file path.
     *
     * @param localPath - An absolute POSIX file path on the server.
     *
     * #### Notes
     * It is expected that the path contains no relative paths.
     *
     * The returned URL may include a query parameter.
     */
    getDownloadUrl(localPath) {
        const baseUrl = this.serverSettings.baseUrl;
        let url = coreutils_1.URLExt.join(baseUrl, FILES_URL, coreutils_1.URLExt.encodeParts(localPath));
        let cookie = '';
        try {
            cookie = document.cookie;
        }
        catch (e) {
            // e.g. SecurityError in case of CSP Sandbox
        }
        const xsrfTokenMatch = cookie.match('\\b_xsrf=([^;]*)\\b');
        if (xsrfTokenMatch) {
            const fullUrl = new URL(url);
            fullUrl.searchParams.append('_xsrf', xsrfTokenMatch[1]);
            url = fullUrl.toString();
        }
        return Promise.resolve(url);
    }
    /**
     * Create a new untitled file or directory in the specified directory path.
     *
     * @param options The options used to create the file.
     *
     * @returns A promise which resolves with the created file content when the
     *    file is created.
     *
     * #### Notes
     * Uses the [Jupyter Server API](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/jupyter_server/services/api/api.yaml#!/contents) and validates the response model.
     */
    async newUntitled(options = {}) {
        var _a;
        let body = '{}';
        if (options) {
            if (options.ext) {
                options.ext = Private.normalizeExtension(options.ext);
            }
            body = JSON.stringify(options);
        }
        const settings = this.serverSettings;
        const url = this._getUrl((_a = options.path) !== null && _a !== void 0 ? _a : '');
        const init = {
            method: 'POST',
            body
        };
        const response = await __1.ServerConnection.makeRequest(url, init, settings);
        if (response.status !== 201) {
            const err = await __1.ServerConnection.ResponseError.create(response);
            throw err;
        }
        const data = await response.json();
        validate.validateContentsModel(data);
        this._fileChanged.emit({
            type: 'new',
            oldValue: null,
            newValue: data
        });
        return data;
    }
    /**
     * Delete a file.
     *
     * @param localPath - The path to the file.
     *
     * @returns A promise which resolves when the file is deleted.
     *
     * #### Notes
     * Uses the [Jupyter Server API](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/jupyter_server/services/api/api.yaml#!/contents).
     */
    async delete(localPath) {
        const url = this._getUrl(localPath);
        const settings = this.serverSettings;
        const init = { method: 'DELETE' };
        const response = await __1.ServerConnection.makeRequest(url, init, settings);
        // TODO: update IPEP27 to specify errors more precisely, so
        // that error types can be detected here with certainty.
        if (response.status !== 204) {
            const err = await __1.ServerConnection.ResponseError.create(response);
            throw err;
        }
        this._fileChanged.emit({
            type: 'delete',
            oldValue: { path: localPath },
            newValue: null
        });
    }
    /**
     * Rename a file or directory.
     *
     * @param oldLocalPath - The original file path.
     *
     * @param newLocalPath - The new file path.
     *
     * @returns A promise which resolves with the new file contents model when
     *   the file is renamed.
     *
     * #### Notes
     * Uses the [Jupyter Server API](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/jupyter_server/services/api/api.yaml#!/contents) and validates the response model.
     */
    async rename(oldLocalPath, newLocalPath) {
        const settings = this.serverSettings;
        const url = this._getUrl(oldLocalPath);
        const init = {
            method: 'PATCH',
            body: JSON.stringify({ path: newLocalPath })
        };
        const response = await __1.ServerConnection.makeRequest(url, init, settings);
        if (response.status !== 200) {
            const err = await __1.ServerConnection.ResponseError.create(response);
            throw err;
        }
        const data = await response.json();
        validate.validateContentsModel(data);
        this._fileChanged.emit({
            type: 'rename',
            oldValue: { path: oldLocalPath },
            newValue: data
        });
        return data;
    }
    /**
     * Save a file.
     *
     * @param localPath - The desired file path.
     *
     * @param options - Optional overrides to the model.
     *
     * @returns A promise which resolves with the file content model when the
     *   file is saved.
     *
     * #### Notes
     * Ensure that `model.content` is populated for the file.
     *
     * Uses the [Jupyter Server API](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/jupyter_server/services/api/api.yaml#!/contents) and validates the response model.
     */
    async save(localPath, options = {}) {
        const settings = this.serverSettings;
        const url = this._getUrl(localPath);
        const init = {
            method: 'PUT',
            body: JSON.stringify(options)
        };
        const response = await __1.ServerConnection.makeRequest(url, init, settings);
        // will return 200 for an existing file and 201 for a new file
        if (response.status !== 200 && response.status !== 201) {
            const err = await __1.ServerConnection.ResponseError.create(response);
            throw err;
        }
        const data = await response.json();
        validate.validateContentsModel(data);
        this._fileChanged.emit({
            type: 'save',
            oldValue: null,
            newValue: data
        });
        return data;
    }
    /**
     * Copy a file into a given directory.
     *
     * @param localPath - The original file path.
     *
     * @param toDir - The destination directory path.
     *
     * @returns A promise which resolves with the new contents model when the
     *  file is copied.
     *
     * #### Notes
     * The server will select the name of the copied file.
     *
     * Uses the [Jupyter Server API](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/jupyter_server/services/api/api.yaml#!/contents) and validates the response model.
     */
    async copy(fromFile, toDir) {
        const settings = this.serverSettings;
        const url = this._getUrl(toDir);
        const init = {
            method: 'POST',
            body: JSON.stringify({ copy_from: fromFile })
        };
        const response = await __1.ServerConnection.makeRequest(url, init, settings);
        if (response.status !== 201) {
            const err = await __1.ServerConnection.ResponseError.create(response);
            throw err;
        }
        const data = await response.json();
        validate.validateContentsModel(data);
        this._fileChanged.emit({
            type: 'new',
            oldValue: null,
            newValue: data
        });
        return data;
    }
    /**
     * Create a checkpoint for a file.
     *
     * @param localPath - The path of the file.
     *
     * @returns A promise which resolves with the new checkpoint model when the
     *   checkpoint is created.
     *
     * #### Notes
     * Uses the [Jupyter Server API](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/jupyter_server/services/api/api.yaml#!/contents) and validates the response model.
     */
    async createCheckpoint(localPath) {
        const url = this._getUrl(localPath, 'checkpoints');
        const init = { method: 'POST' };
        const response = await __1.ServerConnection.makeRequest(url, init, this.serverSettings);
        if (response.status !== 201) {
            const err = await __1.ServerConnection.ResponseError.create(response);
            throw err;
        }
        const data = await response.json();
        validate.validateCheckpointModel(data);
        return data;
    }
    /**
     * List available checkpoints for a file.
     *
     * @param localPath - The path of the file.
     *
     * @returns A promise which resolves with a list of checkpoint models for
     *    the file.
     *
     * #### Notes
     * Uses the [Jupyter Server API](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/jupyter_server/services/api/api.yaml#!/contents) and validates the response model.
     */
    async listCheckpoints(localPath) {
        const url = this._getUrl(localPath, 'checkpoints');
        const response = await __1.ServerConnection.makeRequest(url, {}, this.serverSettings);
        if (response.status !== 200) {
            const err = await __1.ServerConnection.ResponseError.create(response);
            throw err;
        }
        const data = await response.json();
        if (!Array.isArray(data)) {
            throw new Error('Invalid Checkpoint list');
        }
        for (let i = 0; i < data.length; i++) {
            validate.validateCheckpointModel(data[i]);
        }
        return data;
    }
    /**
     * Restore a file to a known checkpoint state.
     *
     * @param localPath - The path of the file.
     *
     * @param checkpointID - The id of the checkpoint to restore.
     *
     * @returns A promise which resolves when the checkpoint is restored.
     *
     * #### Notes
     * Uses the [Jupyter Server API](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/jupyter_server/services/api/api.yaml#!/contents).
     */
    async restoreCheckpoint(localPath, checkpointID) {
        const url = this._getUrl(localPath, 'checkpoints', checkpointID);
        const init = { method: 'POST' };
        const response = await __1.ServerConnection.makeRequest(url, init, this.serverSettings);
        if (response.status !== 204) {
            const err = await __1.ServerConnection.ResponseError.create(response);
            throw err;
        }
    }
    /**
     * Delete a checkpoint for a file.
     *
     * @param localPath - The path of the file.
     *
     * @param checkpointID - The id of the checkpoint to delete.
     *
     * @returns A promise which resolves when the checkpoint is deleted.
     *
     * #### Notes
     * Uses the [Jupyter Server API](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/jupyter_server/services/api/api.yaml#!/contents).
     */
    async deleteCheckpoint(localPath, checkpointID) {
        const url = this._getUrl(localPath, 'checkpoints', checkpointID);
        const init = { method: 'DELETE' };
        const response = await __1.ServerConnection.makeRequest(url, init, this.serverSettings);
        if (response.status !== 204) {
            const err = await __1.ServerConnection.ResponseError.create(response);
            throw err;
        }
    }
    /**
     * Get a REST url for a file given a path.
     */
    _getUrl(...args) {
        const parts = args.map(path => coreutils_1.URLExt.encodeParts(path));
        const baseUrl = this.serverSettings.baseUrl;
        return coreutils_1.URLExt.join(baseUrl, this._apiEndpoint, ...parts);
    }
}
exports.Drive = Drive;
/**
 * A namespace for module private data.
 */
var Private;
(function (Private) {
    /**
     * Normalize a file extension to be of the type `'.foo'`.
     *
     * Adds a leading dot if not present and converts to lower case.
     */
    function normalizeExtension(extension) {
        if (extension.length > 0 && extension.indexOf('.') !== 0) {
            extension = `.${extension}`;
        }
        return extension;
    }
    Private.normalizeExtension = normalizeExtension;
})(Private || (Private = {}));
//# sourceMappingURL=index.js.map

/***/ }),

/***/ 3601:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {


// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.validateCheckpointModel = exports.validateContentsModel = void 0;
const validate_1 = __webpack_require__(1852);
/**
 * Validate an `Contents.IModel` object.
 */
function validateContentsModel(model) {
    (0, validate_1.validateProperty)(model, 'name', 'string');
    (0, validate_1.validateProperty)(model, 'path', 'string');
    (0, validate_1.validateProperty)(model, 'type', 'string');
    (0, validate_1.validateProperty)(model, 'created', 'string');
    (0, validate_1.validateProperty)(model, 'last_modified', 'string');
    (0, validate_1.validateProperty)(model, 'mimetype', 'object');
    (0, validate_1.validateProperty)(model, 'content', 'object');
    (0, validate_1.validateProperty)(model, 'format', 'object');
}
exports.validateContentsModel = validateContentsModel;
/**
 * Validate an `Contents.ICheckpointModel` object.
 */
function validateCheckpointModel(model) {
    (0, validate_1.validateProperty)(model, 'id', 'string');
    (0, validate_1.validateProperty)(model, 'last_modified', 'string');
}
exports.validateCheckpointModel = validateCheckpointModel;
//# sourceMappingURL=validate.js.map

/***/ }),

/***/ 3231:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {


// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.EventManager = void 0;
const coreutils_1 = __webpack_require__(3228);
const polling_1 = __webpack_require__(6538);
const signaling_1 = __webpack_require__(7339);
const serverconnection_1 = __webpack_require__(2685);
/**
 * The url for the jupyter-server events service.
 */
const SERVICE_EVENTS_URL = 'api/events';
/**
 * The events API service manager.
 */
class EventManager {
    /**
     * Create a new event manager.
     */
    constructor(options = {}) {
        var _a;
        this._socket = null;
        this.serverSettings =
            (_a = options.serverSettings) !== null && _a !== void 0 ? _a : serverconnection_1.ServerConnection.makeSettings();
        // If subscription fails, the poll attempts to reconnect and backs off.
        this._poll = new polling_1.Poll({ factory: () => this._subscribe() });
        this._stream = new signaling_1.Stream(this);
        // Subscribe to the events socket.
        void this._poll.start();
    }
    /**
     * Whether the event manager is disposed.
     */
    get isDisposed() {
        return this._poll.isDisposed;
    }
    /**
     * An event stream that emits and yields each new event.
     */
    get stream() {
        return this._stream;
    }
    /**
     * Dispose the event manager.
     */
    dispose() {
        if (this.isDisposed) {
            return;
        }
        // Clean up poll.
        this._poll.dispose();
        // Clean up socket.
        const socket = this._socket;
        if (socket) {
            this._socket = null;
            socket.onopen = () => undefined;
            socket.onerror = () => undefined;
            socket.onmessage = () => undefined;
            socket.onclose = () => undefined;
            socket.close();
        }
        // Clean up stream.
        signaling_1.Signal.clearData(this);
        this._stream.stop();
    }
    /**
     * Post an event request to be emitted by the event bus.
     */
    async emit(event) {
        const { serverSettings } = this;
        const { baseUrl } = serverSettings;
        const { makeRequest, ResponseError } = serverconnection_1.ServerConnection;
        const url = coreutils_1.URLExt.join(baseUrl, SERVICE_EVENTS_URL);
        const init = { body: JSON.stringify(event), method: 'POST' };
        const response = await makeRequest(url, init, serverSettings);
        if (response.status !== 204) {
            throw new ResponseError(response);
        }
    }
    /**
     * Subscribe to event bus emissions.
     */
    _subscribe() {
        return new Promise((_, reject) => {
            if (this.isDisposed) {
                return;
            }
            const { appendToken, token, WebSocket, wsUrl } = this.serverSettings;
            let url = coreutils_1.URLExt.join(wsUrl, SERVICE_EVENTS_URL, 'subscribe');
            if (appendToken && token !== '') {
                url += `?token=${encodeURIComponent(token)}`;
            }
            const socket = (this._socket = new WebSocket(url));
            const stream = this._stream;
            socket.onclose = () => reject(new Error('EventManager socket closed'));
            socket.onmessage = msg => msg.data && stream.emit(JSON.parse(msg.data));
        });
    }
}
exports.EventManager = EventManager;
//# sourceMappingURL=index.js.map

/***/ }),

/***/ 6492:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {


// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
/**
 * @packageDocumentation
 * @module services
 */
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
__exportStar(__webpack_require__(2720), exports);
__exportStar(__webpack_require__(5255), exports);
__exportStar(__webpack_require__(5787), exports);
__exportStar(__webpack_require__(3231), exports);
__exportStar(__webpack_require__(2044), exports);
__exportStar(__webpack_require__(3931), exports);
__exportStar(__webpack_require__(7631), exports);
__exportStar(__webpack_require__(2685), exports);
__exportStar(__webpack_require__(3831), exports);
__exportStar(__webpack_require__(9155), exports);
__exportStar(__webpack_require__(6181), exports);
__exportStar(__webpack_require__(2442), exports);
__exportStar(__webpack_require__(8806), exports);
__exportStar(__webpack_require__(3896), exports);
//# sourceMappingURL=index.js.map

/***/ }),

/***/ 3662:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {


// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
    if (mod && mod.__esModule) return mod;
    var result = {};
    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
    __setModuleDefault(result, mod);
    return result;
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.CommHandler = void 0;
const disposable_1 = __webpack_require__(9877);
const KernelMessage = __importStar(__webpack_require__(9778));
/**
 * Comm channel handler.
 */
class CommHandler extends disposable_1.DisposableDelegate {
    /**
     * Construct a new comm channel.
     */
    constructor(target, id, kernel, disposeCb) {
        super(disposeCb);
        this._target = '';
        this._id = '';
        this._id = id;
        this._target = target;
        this._kernel = kernel;
    }
    /**
     * The unique id for the comm channel.
     */
    get commId() {
        return this._id;
    }
    /**
     * The target name for the comm channel.
     */
    get targetName() {
        return this._target;
    }
    /**
     * Get the callback for a comm close event.
     *
     * #### Notes
     * This is called when the comm is closed from either the server or client.
     *
     * **See also:** [[ICommClose]], [[close]]
     */
    get onClose() {
        return this._onClose;
    }
    /**
     * Set the callback for a comm close event.
     *
     * #### Notes
     * This is called when the comm is closed from either the server or client. If
     * the function returns a promise, and the kernel was closed from the server,
     * kernel message processing will pause until the returned promise is
     * fulfilled.
     *
     * **See also:** [[close]]
     */
    set onClose(cb) {
        this._onClose = cb;
    }
    /**
     * Get the callback for a comm message received event.
     */
    get onMsg() {
        return this._onMsg;
    }
    /**
     * Set the callback for a comm message received event.
     *
     * #### Notes
     * This is called when a comm message is received. If the function returns a
     * promise, kernel message processing will pause until it is fulfilled.
     */
    set onMsg(cb) {
        this._onMsg = cb;
    }
    /**
     * Open a comm with optional data and metadata.
     *
     * #### Notes
     * This sends a `comm_open` message to the server.
     *
     * **See also:** [[ICommOpen]]
     */
    open(data, metadata, buffers = []) {
        if (this.isDisposed || this._kernel.isDisposed) {
            throw new Error('Cannot open');
        }
        const msg = KernelMessage.createMessage({
            msgType: 'comm_open',
            channel: 'shell',
            username: this._kernel.username,
            session: this._kernel.clientId,
            content: {
                comm_id: this._id,
                target_name: this._target,
                data: data !== null && data !== void 0 ? data : {}
            },
            metadata,
            buffers
        });
        return this._kernel.sendShellMessage(msg, false, true);
    }
    /**
     * Send a `comm_msg` message to the kernel.
     *
     * #### Notes
     * This is a no-op if the comm has been closed.
     *
     * **See also:** [[ICommMsg]]
     */
    send(data, metadata, buffers = [], disposeOnDone = true) {
        if (this.isDisposed || this._kernel.isDisposed) {
            throw new Error('Cannot send');
        }
        const msg = KernelMessage.createMessage({
            msgType: 'comm_msg',
            channel: 'shell',
            username: this._kernel.username,
            session: this._kernel.clientId,
            content: {
                comm_id: this._id,
                data: data
            },
            metadata,
            buffers
        });
        return this._kernel.sendShellMessage(msg, false, disposeOnDone);
    }
    /**
     * Close the comm.
     *
     * #### Notes
     * This will send a `comm_close` message to the kernel, and call the
     * `onClose` callback if set.
     *
     * This is a no-op if the comm is already closed.
     *
     * **See also:** [[ICommClose]], [[onClose]]
     */
    close(data, metadata, buffers = []) {
        if (this.isDisposed || this._kernel.isDisposed) {
            throw new Error('Cannot close');
        }
        const msg = KernelMessage.createMessage({
            msgType: 'comm_close',
            channel: 'shell',
            username: this._kernel.username,
            session: this._kernel.clientId,
            content: {
                comm_id: this._id,
                data: data !== null && data !== void 0 ? data : {}
            },
            metadata,
            buffers
        });
        const future = this._kernel.sendShellMessage(msg, false, true);
        const onClose = this._onClose;
        if (onClose) {
            const ioMsg = KernelMessage.createMessage({
                msgType: 'comm_close',
                channel: 'iopub',
                username: this._kernel.username,
                session: this._kernel.clientId,
                content: {
                    comm_id: this._id,
                    data: data !== null && data !== void 0 ? data : {}
                },
                metadata,
                buffers
            });
            // In the future, we may want to communicate back to the user the possible
            // promise returned from onClose.
            void onClose(ioMsg);
        }
        this.dispose();
        return future;
    }
}
exports.CommHandler = CommHandler;
//# sourceMappingURL=comm.js.map

/***/ }),

/***/ 6069:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {


// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
    if (mod && mod.__esModule) return mod;
    var result = {};
    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
    __setModuleDefault(result, mod);
    return result;
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.KernelConnection = void 0;
const coreutils_1 = __webpack_require__(3228);
const coreutils_2 = __webpack_require__(2359);
const signaling_1 = __webpack_require__(7339);
const __1 = __webpack_require__(6492);
const comm_1 = __webpack_require__(3662);
const KernelMessage = __importStar(__webpack_require__(9778));
const future_1 = __webpack_require__(2845);
const validate = __importStar(__webpack_require__(6348));
const kernelspec_1 = __webpack_require__(3931);
const restapi = __importStar(__webpack_require__(6106));
const KERNEL_INFO_TIMEOUT = 3000;
const RESTARTING_KERNEL_SESSION = '_RESTARTING_';
const STARTING_KERNEL_SESSION = '';
/**
 * Implementation of the Kernel object.
 *
 * #### Notes
 * Messages from the server are handled in the order they were received and
 * asynchronously. Any message handler can return a promise, and message
 * handling will pause until the promise is fulfilled.
 */
class KernelConnection {
    /**
     * Construct a kernel object.
     */
    constructor(options) {
        var _a, _b, _c, _d;
        /**
         * Create the kernel websocket connection and add socket status handlers.
         */
        this._createSocket = (useProtocols = true) => {
            this._errorIfDisposed();
            // Make sure the socket is clear
            this._clearSocket();
            // Update the connection status to reflect opening a new connection.
            this._updateConnectionStatus('connecting');
            const settings = this.serverSettings;
            const partialUrl = coreutils_1.URLExt.join(settings.wsUrl, restapi.KERNEL_SERVICE_URL, encodeURIComponent(this._id));
            // Strip any authentication from the display string.
            const display = partialUrl.replace(/^((?:\w+:)?\/\/)(?:[^@\/]+@)/, '$1');
            console.debug(`Starting WebSocket: ${display}`);
            let url = coreutils_1.URLExt.join(partialUrl, 'channels?session_id=' + encodeURIComponent(this._clientId));
            // If token authentication is in use.
            const token = settings.token;
            if (settings.appendToken && token !== '') {
                url = url + `&token=${encodeURIComponent(token)}`;
            }
            // Try opening the websocket with our list of subprotocols.
            // If the server doesn't handle subprotocols,
            // the accepted protocol will be ''.
            // But we cannot send '' as a subprotocol, so if connection fails,
            // reconnect without subprotocols.
            const supportedProtocols = useProtocols ? this._supportedProtocols : [];
            this._ws = new settings.WebSocket(url, supportedProtocols);
            // Ensure incoming binary messages are not Blobs
            this._ws.binaryType = 'arraybuffer';
            let alreadyCalledOnclose = false;
            const getKernelModel = async (evt) => {
                var _a, _b;
                if (this._isDisposed) {
                    return;
                }
                this._reason = '';
                this._model = undefined;
                try {
                    const model = await restapi.getKernelModel(this._id, settings);
                    this._model = model;
                    if ((model === null || model === void 0 ? void 0 : model.execution_state) === 'dead') {
                        this._updateStatus('dead');
                    }
                    else {
                        this._onWSClose(evt);
                    }
                }
                catch (err) {
                    // Try again, if there is a network failure
                    // Handle network errors, as well as cases where we are on a
                    // JupyterHub and the server is not running. JupyterHub returns a
                    // 503 (<2.0) or 424 (>2.0) in that case.
                    if (err instanceof __1.ServerConnection.NetworkError ||
                        ((_a = err.response) === null || _a === void 0 ? void 0 : _a.status) === 503 ||
                        ((_b = err.response) === null || _b === void 0 ? void 0 : _b.status) === 424) {
                        const timeout = Private.getRandomIntInclusive(10, 30) * 1e3;
                        setTimeout(getKernelModel, timeout, evt);
                    }
                    else {
                        this._reason = 'Kernel died unexpectedly';
                        this._updateStatus('dead');
                    }
                }
                return;
            };
            const earlyClose = async (evt) => {
                // If the websocket was closed early, that could mean
                // that the kernel is actually dead. Try getting
                // information about the kernel from the API call,
                // if that fails, then assume the kernel is dead,
                // otherwise just follow the typical websocket closed
                // protocol.
                if (alreadyCalledOnclose) {
                    return;
                }
                alreadyCalledOnclose = true;
                await getKernelModel(evt);
                return;
            };
            this._ws.onmessage = this._onWSMessage;
            this._ws.onopen = this._onWSOpen;
            this._ws.onclose = earlyClose;
            this._ws.onerror = earlyClose;
        };
        // Make websocket callbacks arrow functions so they bind `this`.
        /**
         * Handle a websocket open event.
         */
        this._onWSOpen = (evt) => {
            if (this._ws.protocol !== '' &&
                !this._supportedProtocols.includes(this._ws.protocol)) {
                console.log('Server selected unknown kernel wire protocol:', this._ws.protocol);
                this._updateStatus('dead');
                throw new Error(`Unknown kernel wire protocol:  ${this._ws.protocol}`);
            }
            // Remember the kernel wire protocol selected by the server.
            this._selectedProtocol = this._ws.protocol;
            this._ws.onclose = this._onWSClose;
            this._ws.onerror = this._onWSClose;
            this._updateConnectionStatus('connected');
        };
        /**
         * Handle a websocket message, validating and routing appropriately.
         */
        this._onWSMessage = (evt) => {
            // Notify immediately if there is an error with the message.
            let msg;
            try {
                msg = this.serverSettings.serializer.deserialize(evt.data, this._ws.protocol);
                validate.validateMessage(msg);
            }
            catch (error) {
                error.message = `Kernel message validation error: ${error.message}`;
                // We throw the error so that it bubbles up to the top, and displays the right stack.
                throw error;
            }
            // Update the current kernel session id
            this._kernelSession = msg.header.session;
            // Handle the message asynchronously, in the order received.
            this._msgChain = this._msgChain
                .then(() => {
                // Return so that any promises from handling a message are fulfilled
                // before proceeding to the next message.
                return this._handleMessage(msg);
            })
                .catch(error => {
                // Log any errors in handling the message, thus resetting the _msgChain
                // promise so we can process more messages.
                // Ignore the "Canceled" errors that are thrown during kernel dispose.
                if (error.message.startsWith('Canceled future for ')) {
                    console.error(error);
                }
            });
            // Emit the message receive signal
            this._anyMessage.emit({ msg, direction: 'recv' });
        };
        /**
         * Handle a websocket close event.
         */
        this._onWSClose = (evt) => {
            if (!this.isDisposed) {
                this._reconnect();
            }
        };
        this._id = '';
        this._name = '';
        this._status = 'unknown';
        this._connectionStatus = 'connecting';
        this._kernelSession = '';
        this._isDisposed = false;
        /**
         * Websocket to communicate with kernel.
         */
        this._ws = null;
        this._username = '';
        this._reconnectLimit = 7;
        this._reconnectAttempt = 0;
        this._reconnectTimeout = null;
        this._supportedProtocols = Object.values(KernelMessage.supportedKernelWebSocketProtocols);
        this._selectedProtocol = '';
        this._futures = new Map();
        this._comms = new Map();
        this._targetRegistry = Object.create(null);
        this._info = new coreutils_2.PromiseDelegate();
        this._pendingMessages = [];
        this._statusChanged = new signaling_1.Signal(this);
        this._connectionStatusChanged = new signaling_1.Signal(this);
        this._disposed = new signaling_1.Signal(this);
        this._iopubMessage = new signaling_1.Signal(this);
        this._anyMessage = new signaling_1.Signal(this);
        this._pendingInput = new signaling_1.Signal(this);
        this._unhandledMessage = new signaling_1.Signal(this);
        this._displayIdToParentIds = new Map();
        this._msgIdToDisplayIds = new Map();
        this._msgChain = Promise.resolve();
        this._hasPendingInput = false;
        this._reason = '';
        this._noOp = () => {
            /* no-op */
        };
        this._name = options.model.name;
        this._id = options.model.id;
        this.serverSettings =
            (_a = options.serverSettings) !== null && _a !== void 0 ? _a : __1.ServerConnection.makeSettings();
        this._clientId = (_b = options.clientId) !== null && _b !== void 0 ? _b : coreutils_2.UUID.uuid4();
        this._username = (_c = options.username) !== null && _c !== void 0 ? _c : '';
        this.handleComms = (_d = options.handleComms) !== null && _d !== void 0 ? _d : true;
        this._createSocket();
    }
    get disposed() {
        return this._disposed;
    }
    /**
     * A signal emitted when the kernel status changes.
     */
    get statusChanged() {
        return this._statusChanged;
    }
    /**
     * A signal emitted when the kernel status changes.
     */
    get connectionStatusChanged() {
        return this._connectionStatusChanged;
    }
    /**
     * A signal emitted for iopub kernel messages.
     *
     * #### Notes
     * This signal is emitted after the iopub message is handled asynchronously.
     */
    get iopubMessage() {
        return this._iopubMessage;
    }
    /**
     * A signal emitted for unhandled kernel message.
     *
     * #### Notes
     * This signal is emitted for a message that was not handled. It is emitted
     * during the asynchronous message handling code.
     */
    get unhandledMessage() {
        return this._unhandledMessage;
    }
    /**
     * The kernel model
     */
    get model() {
        return (this._model || {
            id: this.id,
            name: this.name,
            reason: this._reason
        });
    }
    /**
     * A signal emitted for any kernel message.
     *
     * #### Notes
     * This signal is emitted when a message is received, before it is handled
     * asynchronously.
     *
     * This message is emitted when a message is queued for sending (either in
     * the websocket buffer, or our own pending message buffer). The message may
     * actually be sent across the wire at a later time.
     *
     * The message emitted in this signal should not be modified in any way.
     */
    get anyMessage() {
        return this._anyMessage;
    }
    /**
     * A signal emitted when a kernel has pending inputs from the user.
     */
    get pendingInput() {
        return this._pendingInput;
    }
    /**
     * The id of the server-side kernel.
     */
    get id() {
        return this._id;
    }
    /**
     * The name of the server-side kernel.
     */
    get name() {
        return this._name;
    }
    /**
     * The client username.
     */
    get username() {
        return this._username;
    }
    /**
     * The client unique id.
     */
    get clientId() {
        return this._clientId;
    }
    /**
     * The current status of the kernel.
     */
    get status() {
        return this._status;
    }
    /**
     * The current connection status of the kernel connection.
     */
    get connectionStatus() {
        return this._connectionStatus;
    }
    /**
     * Test whether the kernel has been disposed.
     */
    get isDisposed() {
        return this._isDisposed;
    }
    /**
     * The cached kernel info.
     *
     * @returns A promise that resolves to the kernel info.
     */
    get info() {
        return this._info.promise;
    }
    /**
     * The kernel spec.
     *
     * @returns A promise that resolves to the kernel spec.
     */
    get spec() {
        if (this._specPromise) {
            return this._specPromise;
        }
        this._specPromise = kernelspec_1.KernelSpecAPI.getSpecs(this.serverSettings).then(specs => {
            return specs.kernelspecs[this._name];
        });
        return this._specPromise;
    }
    /**
     * Clone the current kernel with a new clientId.
     */
    clone(options = {}) {
        return new KernelConnection({
            model: this.model,
            username: this.username,
            serverSettings: this.serverSettings,
            // handleComms defaults to false since that is safer
            handleComms: false,
            ...options
        });
    }
    /**
     * Dispose of the resources held by the kernel.
     */
    dispose() {
        if (this.isDisposed) {
            return;
        }
        this._isDisposed = true;
        this._disposed.emit();
        this._updateConnectionStatus('disconnected');
        this._clearKernelState();
        this._pendingMessages = [];
        this._clearSocket();
        // Clear Lumino signals
        signaling_1.Signal.clearData(this);
    }
    /**
     * Send a shell message to the kernel.
     *
     * #### Notes
     * Send a message to the kernel's shell channel, yielding a future object
     * for accepting replies.
     *
     * If `expectReply` is given and `true`, the future is disposed when both a
     * shell reply and an idle status message are received. If `expectReply`
     * is not given or is `false`, the future is resolved when an idle status
     * message is received.
     * If `disposeOnDone` is not given or is `true`, the Future is disposed at this point.
     * If `disposeOnDone` is given and `false`, it is up to the caller to dispose of the Future.
     *
     * All replies are validated as valid kernel messages.
     *
     * If the kernel status is `dead`, this will throw an error.
     */
    sendShellMessage(msg, expectReply = false, disposeOnDone = true) {
        return this._sendKernelShellControl(future_1.KernelShellFutureHandler, msg, expectReply, disposeOnDone);
    }
    /**
     * Send a control message to the kernel.
     *
     * #### Notes
     * Send a message to the kernel's control channel, yielding a future object
     * for accepting replies.
     *
     * If `expectReply` is given and `true`, the future is disposed when both a
     * control reply and an idle status message are received. If `expectReply`
     * is not given or is `false`, the future is resolved when an idle status
     * message is received.
     * If `disposeOnDone` is not given or is `true`, the Future is disposed at this point.
     * If `disposeOnDone` is given and `false`, it is up to the caller to dispose of the Future.
     *
     * All replies are validated as valid kernel messages.
     *
     * If the kernel status is `dead`, this will throw an error.
     */
    sendControlMessage(msg, expectReply = false, disposeOnDone = true) {
        return this._sendKernelShellControl(future_1.KernelControlFutureHandler, msg, expectReply, disposeOnDone);
    }
    _sendKernelShellControl(ctor, msg, expectReply = false, disposeOnDone = true) {
        this._sendMessage(msg);
        this._anyMessage.emit({ msg, direction: 'send' });
        const future = new ctor(() => {
            const msgId = msg.header.msg_id;
            this._futures.delete(msgId);
            // Remove stored display id information.
            const displayIds = this._msgIdToDisplayIds.get(msgId);
            if (!displayIds) {
                return;
            }
            displayIds.forEach(displayId => {
                const msgIds = this._displayIdToParentIds.get(displayId);
                if (msgIds) {
                    const idx = msgIds.indexOf(msgId);
                    if (idx === -1) {
                        return;
                    }
                    if (msgIds.length === 1) {
                        this._displayIdToParentIds.delete(displayId);
                    }
                    else {
                        msgIds.splice(idx, 1);
                        this._displayIdToParentIds.set(displayId, msgIds);
                    }
                }
            });
            this._msgIdToDisplayIds.delete(msgId);
        }, msg, expectReply, disposeOnDone, this);
        this._futures.set(msg.header.msg_id, future);
        return future;
    }
    /**
     * Send a message on the websocket.
     *
     * If queue is true, queue the message for later sending if we cannot send
     * now. Otherwise throw an error.
     *
     * #### Notes
     * As an exception to the queueing, if we are sending a kernel_info_request
     * message while we think the kernel is restarting, we send the message
     * immediately without queueing. This is so that we can trigger a message
     * back, which will then clear the kernel restarting state.
     */
    _sendMessage(msg, queue = true) {
        if (this.status === 'dead') {
            throw new Error('Kernel is dead');
        }
        // If we have a kernel_info_request and we are starting or restarting, send the
        // kernel_info_request immediately if we can, and if not throw an error so
        // we can retry later. On restarting we do this because we must get at least one message
        // from the kernel to reset the kernel session (thus clearing the restart
        // status sentinel).
        if ((this._kernelSession === STARTING_KERNEL_SESSION ||
            this._kernelSession === RESTARTING_KERNEL_SESSION) &&
            KernelMessage.isInfoRequestMsg(msg)) {
            if (this.connectionStatus === 'connected') {
                this._ws.send(this.serverSettings.serializer.serialize(msg, this._ws.protocol));
                return;
            }
            else {
                throw new Error('Could not send message: status is not connected');
            }
        }
        // If there are pending messages, add to the queue so we keep messages in order
        if (queue && this._pendingMessages.length > 0) {
            this._pendingMessages.push(msg);
            return;
        }
        // Send if the ws allows it, otherwise queue the message.
        if (this.connectionStatus === 'connected' &&
            this._kernelSession !== RESTARTING_KERNEL_SESSION) {
            this._ws.send(this.serverSettings.serializer.serialize(msg, this._ws.protocol));
        }
        else if (queue) {
            this._pendingMessages.push(msg);
        }
        else {
            throw new Error('Could not send message');
        }
    }
    /**
     * Interrupt a kernel.
     *
     * #### Notes
     * Uses the [Jupyter Server API](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/jupyter_server/services/api/api.yaml#!/kernels).
     *
     * The promise is fulfilled on a valid response and rejected otherwise.
     *
     * It is assumed that the API call does not mutate the kernel id or name.
     *
     * The promise will be rejected if the kernel status is `Dead` or if the
     * request fails or the response is invalid.
     */
    async interrupt() {
        this.hasPendingInput = false;
        if (this.status === 'dead') {
            throw new Error('Kernel is dead');
        }
        return restapi.interruptKernel(this.id, this.serverSettings);
    }
    /**
     * Request a kernel restart.
     *
     * #### Notes
     * Uses the [Jupyter Server API](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/jupyter_server/services/api/api.yaml#!/kernels)
     * and validates the response model.
     *
     * Any existing Future or Comm objects are cleared once the kernel has
     * actually be restarted.
     *
     * The promise is fulfilled on a valid server response (after the kernel restarts)
     * and rejected otherwise.
     *
     * It is assumed that the API call does not mutate the kernel id or name.
     *
     * The promise will be rejected if the request fails or the response is
     * invalid.
     */
    async restart() {
        if (this.status === 'dead') {
            throw new Error('Kernel is dead');
        }
        this._updateStatus('restarting');
        this._clearKernelState();
        this._kernelSession = RESTARTING_KERNEL_SESSION;
        await restapi.restartKernel(this.id, this.serverSettings);
        // Reconnect to the kernel to address cases where kernel ports
        // have changed during the restart.
        await this.reconnect();
        this.hasPendingInput = false;
    }
    /**
     * Reconnect to a kernel.
     *
     * #### Notes
     * This may try multiple times to reconnect to a kernel, and will sever any
     * existing connection.
     */
    reconnect() {
        this._errorIfDisposed();
        const result = new coreutils_2.PromiseDelegate();
        // Set up a listener for the connection status changing, which accepts or
        // rejects after the retries are done.
        const fulfill = (sender, status) => {
            if (status === 'connected') {
                result.resolve();
                this.connectionStatusChanged.disconnect(fulfill, this);
            }
            else if (status === 'disconnected') {
                result.reject(new Error('Kernel connection disconnected'));
                this.connectionStatusChanged.disconnect(fulfill, this);
            }
        };
        this.connectionStatusChanged.connect(fulfill, this);
        // Reset the reconnect limit so we start the connection attempts fresh
        this._reconnectAttempt = 0;
        // Start the reconnection process, which will also clear any existing
        // connection.
        this._reconnect();
        // Return the promise that should resolve on connection or reject if the
        // retries don't work.
        return result.promise;
    }
    /**
     * Shutdown a kernel.
     *
     * #### Notes
     * Uses the [Jupyter Server API](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/jupyter_server/services/api/api.yaml#!/kernels).
     *
     * The promise is fulfilled on a valid response and rejected otherwise.
     *
     * On a valid response, disposes this kernel connection.
     *
     * If the kernel is already `dead`, disposes this kernel connection without
     * a server request.
     */
    async shutdown() {
        if (this.status !== 'dead') {
            await restapi.shutdownKernel(this.id, this.serverSettings);
        }
        this.handleShutdown();
    }
    /**
     * Handles a kernel shutdown.
     *
     * #### Notes
     * This method should be called if we know from outside information that a
     * kernel is dead (for example, we cannot find the kernel model on the
     * server).
     */
    handleShutdown() {
        this._updateStatus('dead');
        this.dispose();
    }
    /**
     * Send a `kernel_info_request` message.
     *
     * #### Notes
     * See [Messaging in Jupyter](https://jupyter-client.readthedocs.io/en/latest/messaging.html#kernel-info).
     *
     * Fulfills with the `kernel_info_response` content when the shell reply is
     * received and validated.
     */
    async requestKernelInfo() {
        const msg = KernelMessage.createMessage({
            msgType: 'kernel_info_request',
            channel: 'shell',
            username: this._username,
            session: this._clientId,
            content: {}
        });
        let reply;
        try {
            reply = (await Private.handleShellMessage(this, msg));
        }
        catch (e) {
            // If we rejected because the future was disposed, ignore and return.
            if (this.isDisposed) {
                return;
            }
            else {
                throw e;
            }
        }
        this._errorIfDisposed();
        if (!reply) {
            return;
        }
        // Kernels sometimes do not include a status field on kernel_info_reply
        // messages, so set a default for now.
        // See https://github.com/jupyterlab/jupyterlab/issues/6760
        if (reply.content.status === undefined) {
            reply.content.status = 'ok';
        }
        if (reply.content.status !== 'ok') {
            this._info.reject('Kernel info reply errored');
            return reply;
        }
        this._info.resolve(reply.content);
        this._kernelSession = reply.header.session;
        return reply;
    }
    /**
     * Send a `complete_request` message.
     *
     * #### Notes
     * See [Messaging in Jupyter](https://jupyter-client.readthedocs.io/en/latest/messaging.html#completion).
     *
     * Fulfills with the `complete_reply` content when the shell reply is
     * received and validated.
     */
    requestComplete(content) {
        const msg = KernelMessage.createMessage({
            msgType: 'complete_request',
            channel: 'shell',
            username: this._username,
            session: this._clientId,
            content
        });
        return Private.handleShellMessage(this, msg);
    }
    /**
     * Send an `inspect_request` message.
     *
     * #### Notes
     * See [Messaging in Jupyter](https://jupyter-client.readthedocs.io/en/latest/messaging.html#introspection).
     *
     * Fulfills with the `inspect_reply` content when the shell reply is
     * received and validated.
     */
    requestInspect(content) {
        const msg = KernelMessage.createMessage({
            msgType: 'inspect_request',
            channel: 'shell',
            username: this._username,
            session: this._clientId,
            content: content
        });
        return Private.handleShellMessage(this, msg);
    }
    /**
     * Send a `history_request` message.
     *
     * #### Notes
     * See [Messaging in Jupyter](https://jupyter-client.readthedocs.io/en/latest/messaging.html#history).
     *
     * Fulfills with the `history_reply` content when the shell reply is
     * received and validated.
     */
    requestHistory(content) {
        const msg = KernelMessage.createMessage({
            msgType: 'history_request',
            channel: 'shell',
            username: this._username,
            session: this._clientId,
            content
        });
        return Private.handleShellMessage(this, msg);
    }
    /**
     * Send an `execute_request` message.
     *
     * #### Notes
     * See [Messaging in Jupyter](https://jupyter-client.readthedocs.io/en/latest/messaging.html#execute).
     *
     * Future `onReply` is called with the `execute_reply` content when the
     * shell reply is received and validated. The future will resolve when
     * this message is received and the `idle` iopub status is received.
     * The future will also be disposed at this point unless `disposeOnDone`
     * is specified and `false`, in which case it is up to the caller to dispose
     * of the future.
     *
     * **See also:** [[IExecuteReply]]
     */
    requestExecute(content, disposeOnDone = true, metadata) {
        const defaults = {
            silent: false,
            store_history: true,
            user_expressions: {},
            allow_stdin: true,
            stop_on_error: false
        };
        const msg = KernelMessage.createMessage({
            msgType: 'execute_request',
            channel: 'shell',
            username: this._username,
            session: this._clientId,
            content: { ...defaults, ...content },
            metadata
        });
        return this.sendShellMessage(msg, true, disposeOnDone);
    }
    /**
     * Send an experimental `debug_request` message.
     *
     * @hidden
     *
     * #### Notes
     * Debug messages are experimental messages that are not in the official
     * kernel message specification. As such, this function is *NOT* considered
     * part of the public API, and may change without notice.
     */
    requestDebug(content, disposeOnDone = true) {
        const msg = KernelMessage.createMessage({
            msgType: 'debug_request',
            channel: 'control',
            username: this._username,
            session: this._clientId,
            content
        });
        return this.sendControlMessage(msg, true, disposeOnDone);
    }
    /**
     * Send an `is_complete_request` message.
     *
     * #### Notes
     * See [Messaging in Jupyter](https://jupyter-client.readthedocs.io/en/latest/messaging.html#code-completeness).
     *
     * Fulfills with the `is_complete_response` content when the shell reply is
     * received and validated.
     */
    requestIsComplete(content) {
        const msg = KernelMessage.createMessage({
            msgType: 'is_complete_request',
            channel: 'shell',
            username: this._username,
            session: this._clientId,
            content
        });
        return Private.handleShellMessage(this, msg);
    }
    /**
     * Send a `comm_info_request` message.
     *
     * #### Notes
     * Fulfills with the `comm_info_reply` content when the shell reply is
     * received and validated.
     */
    requestCommInfo(content) {
        const msg = KernelMessage.createMessage({
            msgType: 'comm_info_request',
            channel: 'shell',
            username: this._username,
            session: this._clientId,
            content
        });
        return Private.handleShellMessage(this, msg);
    }
    /**
     * Send an `input_reply` message.
     *
     * #### Notes
     * See [Messaging in Jupyter](https://jupyter-client.readthedocs.io/en/latest/messaging.html#messages-on-the-stdin-router-dealer-sockets).
     */
    sendInputReply(content, parent_header) {
        const msg = KernelMessage.createMessage({
            msgType: 'input_reply',
            channel: 'stdin',
            username: this._username,
            session: this._clientId,
            content
        });
        msg.parent_header = parent_header;
        this._sendMessage(msg);
        this._anyMessage.emit({ msg, direction: 'send' });
        this.hasPendingInput = false;
    }
    /**
     * Create a new comm.
     *
     * #### Notes
     * If a client-side comm already exists with the given commId, an error is thrown.
     * If the kernel does not handle comms, an error is thrown.
     */
    createComm(targetName, commId = coreutils_2.UUID.uuid4()) {
        if (!this.handleComms) {
            throw new Error('Comms are disabled on this kernel connection');
        }
        if (this._comms.has(commId)) {
            throw new Error('Comm is already created');
        }
        const comm = new comm_1.CommHandler(targetName, commId, this, () => {
            this._unregisterComm(commId);
        });
        this._comms.set(commId, comm);
        return comm;
    }
    /**
     * Check if a comm exists.
     */
    hasComm(commId) {
        return this._comms.has(commId);
    }
    /**
     * Register a comm target handler.
     *
     * @param targetName - The name of the comm target.
     *
     * @param callback - The callback invoked for a comm open message.
     *
     * @returns A disposable used to unregister the comm target.
     *
     * #### Notes
     * Only one comm target can be registered to a target name at a time, an
     * existing callback for the same target name will be overridden.  A registered
     * comm target handler will take precedence over a comm which specifies a
     * `target_module`.
     *
     * If the callback returns a promise, kernel message processing will pause
     * until the returned promise is fulfilled.
     */
    registerCommTarget(targetName, callback) {
        if (!this.handleComms) {
            return;
        }
        this._targetRegistry[targetName] = callback;
    }
    /**
     * Remove a comm target handler.
     *
     * @param targetName - The name of the comm target to remove.
     *
     * @param callback - The callback to remove.
     *
     * #### Notes
     * The comm target is only removed if the callback argument matches.
     */
    removeCommTarget(targetName, callback) {
        if (!this.handleComms) {
            return;
        }
        if (!this.isDisposed && this._targetRegistry[targetName] === callback) {
            delete this._targetRegistry[targetName];
        }
    }
    /**
     * Register an IOPub message hook.
     *
     * @param msg_id - The parent_header message id the hook will intercept.
     *
     * @param hook - The callback invoked for the message.
     *
     * #### Notes
     * The IOPub hook system allows you to preempt the handlers for IOPub
     * messages that are responses to a given message id.
     *
     * The most recently registered hook is run first. A hook can return a
     * boolean or a promise to a boolean, in which case all kernel message
     * processing pauses until the promise is fulfilled. If a hook return value
     * resolves to false, any later hooks will not run and the function will
     * return a promise resolving to false. If a hook throws an error, the error
     * is logged to the console and the next hook is run. If a hook is
     * registered during the hook processing, it will not run until the next
     * message. If a hook is removed during the hook processing, it will be
     * deactivated immediately.
     *
     * See also [[IFuture.registerMessageHook]].
     */
    registerMessageHook(msgId, hook) {
        var _a;
        const future = (_a = this._futures) === null || _a === void 0 ? void 0 : _a.get(msgId);
        if (future) {
            future.registerMessageHook(hook);
        }
    }
    /**
     * Remove an IOPub message hook.
     *
     * @param msg_id - The parent_header message id the hook intercepted.
     *
     * @param hook - The callback invoked for the message.
     *
     */
    removeMessageHook(msgId, hook) {
        var _a;
        const future = (_a = this._futures) === null || _a === void 0 ? void 0 : _a.get(msgId);
        if (future) {
            future.removeMessageHook(hook);
        }
    }
    /**
     * Remove the input guard, if any.
     */
    removeInputGuard() {
        this.hasPendingInput = false;
    }
    /**
     * Handle a message with a display id.
     *
     * @returns Whether the message was handled.
     */
    async _handleDisplayId(displayId, msg) {
        var _a, _b;
        const msgId = msg.parent_header.msg_id;
        let parentIds = this._displayIdToParentIds.get(displayId);
        if (parentIds) {
            // We've seen it before, update existing outputs with same display_id
            // by handling display_data as update_display_data.
            const updateMsg = {
                header: coreutils_2.JSONExt.deepCopy(msg.header),
                parent_header: coreutils_2.JSONExt.deepCopy(msg.parent_header),
                metadata: coreutils_2.JSONExt.deepCopy(msg.metadata),
                content: coreutils_2.JSONExt.deepCopy(msg.content),
                channel: msg.channel,
                buffers: msg.buffers ? msg.buffers.slice() : []
            };
            updateMsg.header.msg_type = 'update_display_data';
            await Promise.all(parentIds.map(async (parentId) => {
                const future = this._futures && this._futures.get(parentId);
                if (future) {
                    await future.handleMsg(updateMsg);
                }
            }));
        }
        // We're done here if it's update_display.
        if (msg.header.msg_type === 'update_display_data') {
            // It's an update, don't proceed to the normal display.
            return true;
        }
        // Regular display_data with id, record it for future updating
        // in _displayIdToParentIds for future lookup.
        parentIds = (_a = this._displayIdToParentIds.get(displayId)) !== null && _a !== void 0 ? _a : [];
        if (parentIds.indexOf(msgId) === -1) {
            parentIds.push(msgId);
        }
        this._displayIdToParentIds.set(displayId, parentIds);
        // Add to our map of display ids for this message.
        const displayIds = (_b = this._msgIdToDisplayIds.get(msgId)) !== null && _b !== void 0 ? _b : [];
        if (displayIds.indexOf(msgId) === -1) {
            displayIds.push(msgId);
        }
        this._msgIdToDisplayIds.set(msgId, displayIds);
        // Let the message propagate to the intended recipient.
        return false;
    }
    /**
     * Forcefully clear the socket state.
     *
     * #### Notes
     * This will clear all socket state without calling any handlers and will
     * not update the connection status. If you call this method, you are
     * responsible for updating the connection status as needed and recreating
     * the socket if you plan to reconnect.
     */
    _clearSocket() {
        if (this._ws !== null) {
            // Clear the websocket event handlers and the socket itself.
            this._ws.onopen = this._noOp;
            this._ws.onclose = this._noOp;
            this._ws.onerror = this._noOp;
            this._ws.onmessage = this._noOp;
            this._ws.close();
            this._ws = null;
        }
    }
    /**
     * Handle status iopub messages from the kernel.
     */
    _updateStatus(status) {
        if (this._status === status || this._status === 'dead') {
            return;
        }
        this._status = status;
        Private.logKernelStatus(this);
        this._statusChanged.emit(status);
        if (status === 'dead') {
            this.dispose();
        }
    }
    /**
     * Send pending messages to the kernel.
     */
    _sendPending() {
        // We check to make sure we are still connected each time. For
        // example, if a websocket buffer overflows, it may close, so we should
        // stop sending messages.
        while (this.connectionStatus === 'connected' &&
            this._kernelSession !== RESTARTING_KERNEL_SESSION &&
            this._pendingMessages.length > 0) {
            this._sendMessage(this._pendingMessages[0], false);
            // We shift the message off the queue after the message is sent so that
            // if there is an exception, the message is still pending.
            this._pendingMessages.shift();
        }
    }
    /**
     * Clear the internal state.
     */
    _clearKernelState() {
        this._kernelSession = '';
        this._pendingMessages = [];
        this._futures.forEach(future => {
            future.dispose();
        });
        this._comms.forEach(comm => {
            comm.dispose();
        });
        this._msgChain = Promise.resolve();
        this._futures = new Map();
        this._comms = new Map();
        this._displayIdToParentIds.clear();
        this._msgIdToDisplayIds.clear();
    }
    /**
     * Check to make sure it is okay to proceed to handle a message.
     *
     * #### Notes
     * Because we handle messages asynchronously, before a message is handled the
     * kernel might be disposed or restarted (and have a different session id).
     * This function throws an error in each of these cases. This is meant to be
     * called at the start of an asynchronous message handler to cancel message
     * processing if the message no longer is valid.
     */
    _assertCurrentMessage(msg) {
        this._errorIfDisposed();
        if (msg.header.session !== this._kernelSession) {
            throw new Error(`Canceling handling of old message: ${msg.header.msg_type}`);
        }
    }
    /**
     * Handle a `comm_open` kernel message.
     */
    async _handleCommOpen(msg) {
        this._assertCurrentMessage(msg);
        const content = msg.content;
        const comm = new comm_1.CommHandler(content.target_name, content.comm_id, this, () => {
            this._unregisterComm(content.comm_id);
        });
        this._comms.set(content.comm_id, comm);
        try {
            const target = await Private.loadObject(content.target_name, content.target_module, this._targetRegistry);
            await target(comm, msg);
        }
        catch (e) {
            // Close the comm asynchronously. We cannot block message processing on
            // kernel messages to wait for another kernel message.
            comm.close();
            console.error('Exception opening new comm');
            throw e;
        }
    }
    /**
     * Handle 'comm_close' kernel message.
     */
    async _handleCommClose(msg) {
        this._assertCurrentMessage(msg);
        const content = msg.content;
        const comm = this._comms.get(content.comm_id);
        if (!comm) {
            console.error('Comm not found for comm id ' + content.comm_id);
            return;
        }
        this._unregisterComm(comm.commId);
        const onClose = comm.onClose;
        if (onClose) {
            // tslint:disable-next-line:await-promise
            await onClose(msg);
        }
        comm.dispose();
    }
    /**
     * Handle a 'comm_msg' kernel message.
     */
    async _handleCommMsg(msg) {
        this._assertCurrentMessage(msg);
        const content = msg.content;
        const comm = this._comms.get(content.comm_id);
        if (!comm) {
            return;
        }
        const onMsg = comm.onMsg;
        if (onMsg) {
            // tslint:disable-next-line:await-promise
            await onMsg(msg);
        }
    }
    /**
     * Unregister a comm instance.
     */
    _unregisterComm(commId) {
        this._comms.delete(commId);
    }
    /**
     * Handle connection status changes.
     */
    _updateConnectionStatus(connectionStatus) {
        if (this._connectionStatus === connectionStatus) {
            return;
        }
        this._connectionStatus = connectionStatus;
        // If we are not 'connecting', reset any reconnection attempts.
        if (connectionStatus !== 'connecting') {
            this._reconnectAttempt = 0;
            clearTimeout(this._reconnectTimeout);
        }
        if (this.status !== 'dead') {
            if (connectionStatus === 'connected') {
                let restarting = this._kernelSession === RESTARTING_KERNEL_SESSION;
                // Send a kernel info request to make sure we send at least one
                // message to get kernel status back. Always request kernel info
                // first, to get kernel status back and ensure iopub is fully
                // established. If we are restarting, this message will skip the queue
                // and be sent immediately.
                let p = this.requestKernelInfo();
                // Send any pending messages after the kernelInfo resolves, or after a
                // timeout as a failsafe.
                let sendPendingCalled = false;
                let sendPendingOnce = () => {
                    if (sendPendingCalled) {
                        return;
                    }
                    sendPendingCalled = true;
                    if (restarting && this._kernelSession === RESTARTING_KERNEL_SESSION) {
                        // We were restarting and a message didn't arrive to set the
                        // session, but we just assume the restart succeeded and send any
                        // pending messages.
                        // FIXME: it would be better to retry the kernel_info_request here
                        this._kernelSession = '';
                    }
                    clearTimeout(timeoutHandle);
                    if (this._pendingMessages.length > 0) {
                        this._sendPending();
                    }
                };
                void p.then(sendPendingOnce);
                // FIXME: if sent while zmq subscriptions are not established,
                // kernelInfo may not resolve, so use a timeout to ensure we don't hang forever.
                // It may be preferable to retry kernelInfo rather than give up after one timeout.
                let timeoutHandle = setTimeout(sendPendingOnce, KERNEL_INFO_TIMEOUT);
            }
            else {
                // If the connection is down, then we do not know what is happening
                // with the kernel, so set the status to unknown.
                this._updateStatus('unknown');
            }
        }
        // Notify others that the connection status changed.
        this._connectionStatusChanged.emit(connectionStatus);
    }
    async _handleMessage(msg) {
        var _a, _b;
        let handled = false;
        // Check to see if we have a display_id we need to reroute.
        if (msg.parent_header &&
            msg.channel === 'iopub' &&
            (KernelMessage.isDisplayDataMsg(msg) ||
                KernelMessage.isUpdateDisplayDataMsg(msg) ||
                KernelMessage.isExecuteResultMsg(msg))) {
            // display_data messages may re-route based on their display_id.
            const transient = ((_a = msg.content.transient) !== null && _a !== void 0 ? _a : {});
            const displayId = transient['display_id'];
            if (displayId) {
                handled = await this._handleDisplayId(displayId, msg);
                // The await above may make this message out of date, so check again.
                this._assertCurrentMessage(msg);
            }
        }
        if (!handled && msg.parent_header) {
            const parentHeader = msg.parent_header;
            const future = (_b = this._futures) === null || _b === void 0 ? void 0 : _b.get(parentHeader.msg_id);
            if (future) {
                await future.handleMsg(msg);
                this._assertCurrentMessage(msg);
            }
            else {
                // If the message was sent by us and was not iopub, it is orphaned.
                const owned = parentHeader.session === this.clientId;
                if (msg.channel !== 'iopub' && owned) {
                    this._unhandledMessage.emit(msg);
                }
            }
        }
        if (msg.channel === 'iopub') {
            switch (msg.header.msg_type) {
                case 'status': {
                    // Updating the status is synchronous, and we call no async user code
                    const executionState = msg.content
                        .execution_state;
                    if (executionState === 'restarting') {
                        // The kernel has been auto-restarted by the server. After
                        // processing for this message is completely done, we want to
                        // handle this restart, so we don't await, but instead schedule
                        // the work as a microtask (i.e., in a promise resolution). We
                        // schedule this here so that it comes before any microtasks that
                        // might be scheduled in the status signal emission below.
                        void Promise.resolve().then(async () => {
                            this._updateStatus('autorestarting');
                            this._clearKernelState();
                            // We must reconnect since the kernel connection information may have
                            // changed, and the server only refreshes its zmq connection when a new
                            // websocket is opened.
                            await this.reconnect();
                        });
                    }
                    this._updateStatus(executionState);
                    break;
                }
                case 'comm_open':
                    if (this.handleComms) {
                        await this._handleCommOpen(msg);
                    }
                    break;
                case 'comm_msg':
                    if (this.handleComms) {
                        await this._handleCommMsg(msg);
                    }
                    break;
                case 'comm_close':
                    if (this.handleComms) {
                        await this._handleCommClose(msg);
                    }
                    break;
                default:
                    break;
            }
            // If the message was a status dead message, we might have disposed ourselves.
            if (!this.isDisposed) {
                this._assertCurrentMessage(msg);
                // the message wouldn't be emitted if we were disposed anyway.
                this._iopubMessage.emit(msg);
            }
        }
    }
    /**
     * Attempt a connection if we have not exhausted connection attempts.
     */
    _reconnect() {
        this._errorIfDisposed();
        // Clear any existing reconnection attempt
        clearTimeout(this._reconnectTimeout);
        // Update the connection status and schedule a possible reconnection.
        if (this._reconnectAttempt < this._reconnectLimit) {
            this._updateConnectionStatus('connecting');
            // The first reconnect attempt should happen immediately, and subsequent
            // attempts should pick a random number in a growing range so that we
            // don't overload the server with synchronized reconnection attempts
            // across multiple kernels.
            const timeout = Private.getRandomIntInclusive(0, 1e3 * (Math.pow(2, this._reconnectAttempt) - 1));
            console.warn(`Connection lost, reconnecting in ${Math.floor(timeout / 1000)} seconds.`);
            // Try reconnection with subprotocols if the server had supported them.
            // Otherwise, try reconnection without subprotocols.
            const useProtocols = this._selectedProtocol !== '' ? true : false;
            this._reconnectTimeout = setTimeout(this._createSocket, timeout, useProtocols);
            this._reconnectAttempt += 1;
        }
        else {
            this._updateConnectionStatus('disconnected');
        }
        // Clear the websocket event handlers and the socket itself.
        this._clearSocket();
    }
    /**
     * Utility function to throw an error if this instance is disposed.
     */
    _errorIfDisposed() {
        if (this.isDisposed) {
            throw new Error('Kernel connection is disposed');
        }
    }
    get hasPendingInput() {
        return this._hasPendingInput;
    }
    set hasPendingInput(value) {
        this._hasPendingInput = value;
        this._pendingInput.emit(value);
    }
}
exports.KernelConnection = KernelConnection;
/**
 * A private namespace for the Kernel.
 */
var Private;
(function (Private) {
    /**
     * Log the current kernel status.
     */
    function logKernelStatus(kernel) {
        switch (kernel.status) {
            case 'idle':
            case 'busy':
            case 'unknown':
                return;
            default:
                console.debug(`Kernel: ${kernel.status} (${kernel.id})`);
                break;
        }
    }
    Private.logKernelStatus = logKernelStatus;
    /**
     * Send a kernel message to the kernel and resolve the reply message.
     */
    async function handleShellMessage(kernel, msg) {
        const future = kernel.sendShellMessage(msg, true);
        return future.done;
    }
    Private.handleShellMessage = handleShellMessage;
    /**
     * Try to load an object from a module or a registry.
     *
     * Try to load an object from a module asynchronously if a module
     * is specified, otherwise tries to load an object from the global
     * registry, if the global registry is provided.
     *
     * #### Notes
     * Loading a module uses requirejs.
     */
    function loadObject(name, moduleName, registry) {
        return new Promise((resolve, reject) => {
            // Try loading the module using require.js
            if (moduleName) {
                if (typeof requirejs === 'undefined') {
                    throw new Error('requirejs not found');
                }
                requirejs([moduleName], (mod) => {
                    if (mod[name] === void 0) {
                        const msg = `Object '${name}' not found in module '${moduleName}'`;
                        reject(new Error(msg));
                    }
                    else {
                        resolve(mod[name]);
                    }
                }, reject);
            }
            else {
                if (registry === null || registry === void 0 ? void 0 : registry[name]) {
                    resolve(registry[name]);
                }
                else {
                    reject(new Error(`Object '${name}' not found in registry`));
                }
            }
        });
    }
    Private.loadObject = loadObject;
    /**
     * Get a random integer between min and max, inclusive of both.
     *
     * #### Notes
     * From
     * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/random#Getting_a_random_integer_between_two_values_inclusive
     *
     * From the MDN page: It might be tempting to use Math.round() to accomplish
     * that, but doing so would cause your random numbers to follow a non-uniform
     * distribution, which may not be acceptable for your needs.
     */
    function getRandomIntInclusive(min, max) {
        min = Math.ceil(min);
        max = Math.floor(max);
        return Math.floor(Math.random() * (max - min + 1)) + min;
    }
    Private.getRandomIntInclusive = getRandomIntInclusive;
})(Private || (Private = {}));
//# sourceMappingURL=default.js.map

/***/ }),

/***/ 2845:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {


// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
    if (mod && mod.__esModule) return mod;
    var result = {};
    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
    __setModuleDefault(result, mod);
    return result;
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.KernelShellFutureHandler = exports.KernelControlFutureHandler = exports.KernelFutureHandler = void 0;
const coreutils_1 = __webpack_require__(2359);
const disposable_1 = __webpack_require__(9877);
const KernelMessage = __importStar(__webpack_require__(9778));
/**
 * Implementation of a kernel future.
 *
 * If a reply is expected, the Future is considered done when both a `reply`
 * message and an `idle` iopub status message have been received.  Otherwise, it
 * is considered done when the `idle` status is received.
 *
 */
class KernelFutureHandler extends disposable_1.DisposableDelegate {
    /**
     * Construct a new KernelFutureHandler.
     */
    constructor(cb, msg, expectReply, disposeOnDone, kernel) {
        super(cb);
        this._status = 0;
        this._stdin = Private.noOp;
        this._iopub = Private.noOp;
        this._reply = Private.noOp;
        this._done = new coreutils_1.PromiseDelegate();
        this._hooks = new Private.HookList();
        this._disposeOnDone = true;
        this._msg = msg;
        if (!expectReply) {
            this._setFlag(Private.KernelFutureFlag.GotReply);
        }
        this._disposeOnDone = disposeOnDone;
        this._kernel = kernel;
    }
    /**
     * Get the original outgoing message.
     */
    get msg() {
        return this._msg;
    }
    /**
     * A promise that resolves when the future is done.
     */
    get done() {
        return this._done.promise;
    }
    /**
     * Get the reply handler.
     */
    get onReply() {
        return this._reply;
    }
    /**
     * Set the reply handler.
     */
    set onReply(cb) {
        this._reply = cb;
    }
    /**
     * Get the iopub handler.
     */
    get onIOPub() {
        return this._iopub;
    }
    /**
     * Set the iopub handler.
     */
    set onIOPub(cb) {
        this._iopub = cb;
    }
    /**
     * Get the stdin handler.
     */
    get onStdin() {
        return this._stdin;
    }
    /**
     * Set the stdin handler.
     */
    set onStdin(cb) {
        this._stdin = cb;
    }
    /**
     * Register hook for IOPub messages.
     *
     * @param hook - The callback invoked for an IOPub message.
     *
     * #### Notes
     * The IOPub hook system allows you to preempt the handlers for IOPub
     * messages handled by the future.
     *
     * The most recently registered hook is run first. A hook can return a
     * boolean or a promise to a boolean, in which case all kernel message
     * processing pauses until the promise is fulfilled. If a hook return value
     * resolves to false, any later hooks will not run and the function will
     * return a promise resolving to false. If a hook throws an error, the error
     * is logged to the console and the next hook is run. If a hook is
     * registered during the hook processing, it will not run until the next
     * message. If a hook is removed during the hook processing, it will be
     * deactivated immediately.
     */
    registerMessageHook(hook) {
        if (this.isDisposed) {
            throw new Error('Kernel future is disposed');
        }
        this._hooks.add(hook);
    }
    /**
     * Remove a hook for IOPub messages.
     *
     * @param hook - The hook to remove.
     *
     * #### Notes
     * If a hook is removed during the hook processing, it will be deactivated immediately.
     */
    removeMessageHook(hook) {
        if (this.isDisposed) {
            return;
        }
        this._hooks.remove(hook);
    }
    /**
     * Send an `input_reply` message.
     */
    sendInputReply(content, parent_header) {
        this._kernel.sendInputReply(content, parent_header);
    }
    /**
     * Dispose and unregister the future.
     */
    dispose() {
        this._stdin = Private.noOp;
        this._iopub = Private.noOp;
        this._reply = Private.noOp;
        this._hooks = null;
        if (!this._testFlag(Private.KernelFutureFlag.IsDone)) {
            // TODO: Uncomment the following logging code, and check for any tests that trigger it.
            // let status = [];
            // if (!this._testFlag(Private.KernelFutureFlag.GotIdle)) {
            //   status.push('idle');
            // }
            // if (!this._testFlag(Private.KernelFutureFlag.GotReply)) {
            //   status.push('reply');
            // }
            // console.warn(
            //   `*************** DISPOSED BEFORE DONE: K${this._kernel.id.slice(
            //     0,
            //     6
            //   )} M${this._msg.header.msg_id.slice(0, 6)} missing ${status.join(' ')}`
            // );
            // Reject the `done` promise, but catch its error here in case no one else
            // is waiting for the promise to resolve. This prevents the error from
            // being displayed in the console, but does not prevent it from being
            // caught by a client who is waiting for it.
            // Note: any `.then` and `.finally` attached to the `done` promise
            // will cause the error to be thrown as uncaught anyways.
            this._done.promise.catch(() => {
                /* no-op */
            });
            this._done.reject(new Error(`Canceled future for ${this.msg.header.msg_type} message before replies were done`));
        }
        super.dispose();
    }
    /**
     * Handle an incoming kernel message.
     */
    async handleMsg(msg) {
        switch (msg.channel) {
            case 'control':
            case 'shell':
                if (msg.channel === this.msg.channel &&
                    msg.parent_header.msg_id === this.msg.header.msg_id) {
                    await this._handleReply(msg);
                }
                break;
            case 'stdin':
                await this._handleStdin(msg);
                break;
            case 'iopub':
                await this._handleIOPub(msg);
                break;
            default:
                break;
        }
    }
    async _handleReply(msg) {
        const reply = this._reply;
        if (reply) {
            // tslint:disable-next-line:await-promise
            await reply(msg);
        }
        this._replyMsg = msg;
        this._setFlag(Private.KernelFutureFlag.GotReply);
        if (this._testFlag(Private.KernelFutureFlag.GotIdle)) {
            this._handleDone();
        }
    }
    async _handleStdin(msg) {
        this._kernel.hasPendingInput = true;
        const stdin = this._stdin;
        if (stdin) {
            // tslint:disable-next-line:await-promise
            await stdin(msg);
        }
    }
    async _handleIOPub(msg) {
        const process = await this._hooks.process(msg);
        const iopub = this._iopub;
        if (process && iopub) {
            // tslint:disable-next-line:await-promise
            await iopub(msg);
        }
        if (KernelMessage.isStatusMsg(msg) &&
            msg.content.execution_state === 'idle') {
            this._setFlag(Private.KernelFutureFlag.GotIdle);
            if (this._testFlag(Private.KernelFutureFlag.GotReply)) {
                this._handleDone();
            }
        }
    }
    _handleDone() {
        if (this._testFlag(Private.KernelFutureFlag.IsDone)) {
            return;
        }
        this._setFlag(Private.KernelFutureFlag.IsDone);
        this._done.resolve(this._replyMsg);
        if (this._disposeOnDone) {
            this.dispose();
        }
    }
    /**
     * Test whether the given future flag is set.
     */
    _testFlag(flag) {
        // tslint:disable-next-line
        return (this._status & flag) !== 0;
    }
    /**
     * Set the given future flag.
     */
    _setFlag(flag) {
        // tslint:disable-next-line
        this._status |= flag;
    }
}
exports.KernelFutureHandler = KernelFutureHandler;
class KernelControlFutureHandler extends KernelFutureHandler {
}
exports.KernelControlFutureHandler = KernelControlFutureHandler;
class KernelShellFutureHandler extends KernelFutureHandler {
}
exports.KernelShellFutureHandler = KernelShellFutureHandler;
var Private;
(function (Private) {
    /**
     * A no-op function.
     */
    Private.noOp = () => {
        /* no-op */
    };
    /**
     * Defer a computation.
     *
     * #### NOTES
     * We can't just use requestAnimationFrame since it is not available in node.
     * This implementation is from Phosphor:
     * https://github.com/phosphorjs/phosphor/blob/e88e4321289bb1198f3098e7bda40736501f2ed8/tests/test-messaging/src/index.spec.ts#L63
     */
    const defer = (() => {
        const ok = typeof requestAnimationFrame === 'function';
        return ok ? requestAnimationFrame : setImmediate;
    })();
    class HookList {
        constructor() {
            this._hooks = [];
        }
        /**
         * Register a hook.
         *
         * @param hook - The callback to register.
         */
        add(hook) {
            this.remove(hook);
            this._hooks.push(hook);
        }
        /**
         * Remove a hook, if it exists in the hook list.
         *
         * @param hook - The callback to remove.
         */
        remove(hook) {
            const index = this._hooks.indexOf(hook);
            if (index >= 0) {
                this._hooks[index] = null;
                this._scheduleCompact();
            }
        }
        /**
         * Process a message through the hooks.
         *
         * @returns a promise resolving to false if any hook resolved as false,
         * otherwise true
         *
         * #### Notes
         * The most recently registered hook is run first. A hook can return a
         * boolean or a promise to a boolean, in which case processing pauses until
         * the promise is fulfilled. If a hook return value resolves to false, any
         * later hooks will not run and the function will return a promise resolving
         * to false. If a hook throws an error, the error is logged to the console
         * and the next hook is run. If a hook is registered during the hook
         * processing, it will not run until the next message. If a hook is removed
         * during the hook processing, it will be deactivated immediately.
         */
        async process(msg) {
            // Wait until we can start a new process run.
            await this._processing;
            // Start the next process run.
            const processing = new coreutils_1.PromiseDelegate();
            this._processing = processing.promise;
            let continueHandling;
            // Call the end hook (most recently-added) first. Starting at the end also
            // guarantees that hooks added during the processing will not be run in
            // this process run.
            for (let i = this._hooks.length - 1; i >= 0; i--) {
                const hook = this._hooks[i];
                // If the hook has been removed, continue to the next one.
                if (hook === null) {
                    continue;
                }
                // Execute the hook and log any errors.
                try {
                    // tslint:disable-next-line:await-promise
                    continueHandling = await hook(msg);
                }
                catch (err) {
                    continueHandling = true;
                    console.error(err);
                }
                // If the hook resolved to false, stop processing and return.
                if (continueHandling === false) {
                    processing.resolve(undefined);
                    return false;
                }
            }
            // All hooks returned true (or errored out), so return true.
            processing.resolve(undefined);
            return true;
        }
        /**
         * Schedule a cleanup of the list, removing any hooks that have been nulled out.
         */
        _scheduleCompact() {
            if (!this._compactScheduled) {
                this._compactScheduled = true;
                // Schedule a compaction in between processing runs. We do the
                // scheduling in an animation frame to rate-limit our compactions. If we
                // need to compact more frequently, we can change this to directly
                // schedule the compaction.
                defer(() => {
                    this._processing = this._processing.then(() => {
                        this._compactScheduled = false;
                        this._compact();
                    });
                });
            }
        }
        /**
         * Compact the list, removing any nulls.
         */
        _compact() {
            let numNulls = 0;
            for (let i = 0, len = this._hooks.length; i < len; i++) {
                const hook = this._hooks[i];
                if (this._hooks[i] === null) {
                    numNulls++;
                }
                else {
                    this._hooks[i - numNulls] = hook;
                }
            }
            this._hooks.length -= numNulls;
        }
    }
    Private.HookList = HookList;
    /**
     * Bit flags for the kernel future state.
     */
    let KernelFutureFlag;
    (function (KernelFutureFlag) {
        KernelFutureFlag[KernelFutureFlag["GotReply"] = 1] = "GotReply";
        KernelFutureFlag[KernelFutureFlag["GotIdle"] = 2] = "GotIdle";
        KernelFutureFlag[KernelFutureFlag["IsDone"] = 4] = "IsDone";
        KernelFutureFlag[KernelFutureFlag["DisposeOnDone"] = 8] = "DisposeOnDone";
    })(KernelFutureFlag = Private.KernelFutureFlag || (Private.KernelFutureFlag = {}));
})(Private || (Private = {}));
//# sourceMappingURL=future.js.map

/***/ }),

/***/ 2044:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {


// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
    if (mod && mod.__esModule) return mod;
    var result = {};
    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
    __setModuleDefault(result, mod);
    return result;
};
var __exportStar = (this && this.__exportStar) || function(m, exports) {
    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.KernelConnection = exports.KernelAPI = exports.KernelMessage = exports.Kernel = void 0;
// Namespace some of our modules for convenience and backwards compatibility.
const Kernel = __importStar(__webpack_require__(1683));
exports.Kernel = Kernel;
const KernelMessage = __importStar(__webpack_require__(9778));
exports.KernelMessage = KernelMessage;
const KernelAPI = __importStar(__webpack_require__(6106));
exports.KernelAPI = KernelAPI;
const default_1 = __webpack_require__(6069);
Object.defineProperty(exports, "KernelConnection", ({ enumerable: true, get: function () { return default_1.KernelConnection; } }));
__exportStar(__webpack_require__(8367), exports);
//# sourceMappingURL=index.js.map

/***/ }),

/***/ 1683:
/***/ ((__unused_webpack_module, exports) => {


// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
Object.defineProperty(exports, "__esModule", ({ value: true }));
//# sourceMappingURL=kernel.js.map

/***/ }),

/***/ 8367:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {


// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.KernelManager = void 0;
const polling_1 = __webpack_require__(6538);
const signaling_1 = __webpack_require__(7339);
const __1 = __webpack_require__(6492);
const basemanager_1 = __webpack_require__(2720);
const restapi_1 = __webpack_require__(6106);
const default_1 = __webpack_require__(6069);
/**
 * An implementation of a kernel manager.
 */
class KernelManager extends basemanager_1.BaseManager {
    /**
     * Construct a new kernel manager.
     *
     * @param options - The default options for kernel.
     */
    constructor(options = {}) {
        var _a;
        super(options);
        this._isReady = false;
        this._kernelConnections = new Set();
        this._models = new Map();
        this._runningChanged = new signaling_1.Signal(this);
        this._connectionFailure = new signaling_1.Signal(this);
        // Start model and specs polling with exponential backoff.
        this._pollModels = new polling_1.Poll({
            auto: false,
            factory: () => this.requestRunning(),
            frequency: {
                interval: 10 * 1000,
                backoff: true,
                max: 300 * 1000
            },
            name: `@jupyterlab/services:KernelManager#models`,
            standby: (_a = options.standby) !== null && _a !== void 0 ? _a : 'when-hidden'
        });
        // Initialize internal data.
        this._ready = (async () => {
            await this._pollModels.start();
            await this._pollModels.tick;
            this._isReady = true;
        })();
    }
    /**
     * Test whether the manager is ready.
     */
    get isReady() {
        return this._isReady;
    }
    /**
     * A promise that fulfills when the manager is ready.
     */
    get ready() {
        return this._ready;
    }
    /**
     * A signal emitted when the running kernels change.
     */
    get runningChanged() {
        return this._runningChanged;
    }
    /**
     * A signal emitted when there is a connection failure.
     */
    get connectionFailure() {
        return this._connectionFailure;
    }
    /**
     * Dispose of the resources used by the manager.
     */
    dispose() {
        if (this.isDisposed) {
            return;
        }
        this._models.clear();
        this._kernelConnections.forEach(x => x.dispose());
        this._pollModels.dispose();
        super.dispose();
    }
    /**
     * Connect to an existing kernel.
     *
     * @returns The new kernel connection.
     *
     * #### Notes
     * This will use the manager's server settings and ignore any server
     * settings passed in the options.
     */
    connectTo(options) {
        var _a;
        const { id } = options.model;
        let handleComms = (_a = options.handleComms) !== null && _a !== void 0 ? _a : true;
        // By default, handle comms only if no other kernel connection is.
        if (options.handleComms === undefined) {
            for (const kc of this._kernelConnections) {
                if (kc.id === id && kc.handleComms) {
                    handleComms = false;
                    break;
                }
            }
        }
        const kernelConnection = new default_1.KernelConnection({
            handleComms,
            ...options,
            serverSettings: this.serverSettings
        });
        this._onStarted(kernelConnection);
        if (!this._models.has(id)) {
            // We trust the user to connect to an existing kernel, but we verify
            // asynchronously.
            void this.refreshRunning().catch(() => {
                /* no-op */
            });
        }
        return kernelConnection;
    }
    /**
     * Create an iterator over the most recent running kernels.
     *
     * @returns A new iterator over the running kernels.
     */
    running() {
        return this._models.values();
    }
    /**
     * The number of running kernels.
     */
    get runningCount() {
        return this._models.size;
    }
    /**
     * Force a refresh of the running kernels.
     *
     * @returns A promise that resolves when the running list has been refreshed.
     *
     * #### Notes
     * This is not typically meant to be called by the user, since the
     * manager maintains its own internal state.
     */
    async refreshRunning() {
        await this._pollModels.refresh();
        await this._pollModels.tick;
    }
    /**
     * Start a new kernel.
     *
     * @param createOptions - The kernel creation options
     *
     * @param connectOptions - The kernel connection options
     *
     * @returns A promise that resolves with the kernel connection.
     *
     * #### Notes
     * The manager `serverSettings` will be always be used.
     */
    async startNew(createOptions = {}, connectOptions = {}) {
        const model = await (0, restapi_1.startNew)(createOptions, this.serverSettings);
        return this.connectTo({
            ...connectOptions,
            model
        });
    }
    /**
     * Shut down a kernel by id.
     *
     * @param id - The id of the target kernel.
     *
     * @returns A promise that resolves when the operation is complete.
     */
    async shutdown(id) {
        await (0, restapi_1.shutdownKernel)(id, this.serverSettings);
        await this.refreshRunning();
    }
    /**
     * Shut down all kernels.
     *
     * @returns A promise that resolves when all of the kernels are shut down.
     */
    async shutdownAll() {
        // Update the list of models to make sure our list is current.
        await this.refreshRunning();
        // Shut down all models.
        await Promise.all([...this._models.keys()].map(id => (0, restapi_1.shutdownKernel)(id, this.serverSettings)));
        // Update the list of models to clear out our state.
        await this.refreshRunning();
    }
    /**
     * Find a kernel by id.
     *
     * @param id - The id of the target kernel.
     *
     * @returns A promise that resolves with the kernel's model.
     */
    async findById(id) {
        if (this._models.has(id)) {
            return this._models.get(id);
        }
        await this.refreshRunning();
        return this._models.get(id);
    }
    /**
     * Execute a request to the server to poll running kernels and update state.
     */
    async requestRunning() {
        var _a, _b;
        let models;
        try {
            models = await (0, restapi_1.listRunning)(this.serverSettings);
        }
        catch (err) {
            // Handle network errors, as well as cases where we are on a
            // JupyterHub and the server is not running. JupyterHub returns a
            // 503 (<2.0) or 424 (>2.0) in that case.
            if (err instanceof __1.ServerConnection.NetworkError ||
                ((_a = err.response) === null || _a === void 0 ? void 0 : _a.status) === 503 ||
                ((_b = err.response) === null || _b === void 0 ? void 0 : _b.status) === 424) {
                this._connectionFailure.emit(err);
            }
            throw err;
        }
        if (this.isDisposed) {
            return;
        }
        if (this._models.size === models.length &&
            models.every(model => {
                const existing = this._models.get(model.id);
                if (!existing) {
                    return false;
                }
                return (existing.connections === model.connections &&
                    existing.execution_state === model.execution_state &&
                    existing.last_activity === model.last_activity &&
                    existing.name === model.name &&
                    existing.reason === model.reason &&
                    existing.traceback === model.traceback);
            })) {
            // Identical models list (presuming models does not contain duplicate
            // ids), so just return
            return;
        }
        this._models = new Map(models.map(x => [x.id, x]));
        // For any kernel connection to a kernel that doesn't exist, notify it of
        // the shutdown.
        this._kernelConnections.forEach(kc => {
            if (!this._models.has(kc.id)) {
                kc.handleShutdown();
            }
        });
        this._runningChanged.emit(models);
    }
    /**
     * Handle a kernel starting.
     */
    _onStarted(kernelConnection) {
        this._kernelConnections.add(kernelConnection);
        kernelConnection.statusChanged.connect(this._onStatusChanged, this);
        kernelConnection.disposed.connect(this._onDisposed, this);
    }
    _onDisposed(kernelConnection) {
        this._kernelConnections.delete(kernelConnection);
        // A dispose emission could mean the server session is deleted, or that
        // the kernel JS object is disposed and the kernel still exists on the
        // server, so we refresh from the server to make sure we reflect the
        // server state.
        void this.refreshRunning().catch(() => {
            /* no-op */
        });
    }
    _onStatusChanged(kernelConnection, status) {
        if (status === 'dead') {
            // We asynchronously update our list of kernels, which asynchronously
            // will dispose them. We do not want to immediately dispose them because
            // there may be other signal handlers that want to be called.
            void this.refreshRunning().catch(() => {
                /* no-op */
            });
        }
    }
}
exports.KernelManager = KernelManager;
/**
 * The namespace for `KernelManager` class statics.
 */
(function (KernelManager) {
    /**
     * A no-op kernel manager to be used when starting kernels.
     */
    class NoopManager extends KernelManager {
        constructor() {
            super(...arguments);
            this._readyPromise = new Promise(() => {
                /* no-op */
            });
        }
        /**
         * Whether the manager is active.
         */
        get isActive() {
            return false;
        }
        /**
         * Used for testing.
         */
        get parentReady() {
            return super.ready;
        }
        /**
         * Start a new kernel - throws an error since it is not supported.
         */
        async startNew(createOptions = {}, connectOptions = {}) {
            return Promise.reject(new Error('Not implemented in no-op Kernel Manager'));
        }
        /**
         * Connect to an existing kernel - throws an error since it is not supported.
         */
        connectTo(options) {
            throw new Error('Not implemented in no-op Kernel Manager');
        }
        /**
         * Shut down a kernel by id - throws an error since it is not supported.
         */
        async shutdown(id) {
            return Promise.reject(new Error('Not implemented in no-op Kernel Manager'));
        }
        /**
         * A promise that fulfills when the manager is ready (never).
         */
        get ready() {
            return this.parentReady.then(() => this._readyPromise);
        }
        /**
         * Execute a request to the server to poll running kernels and update state.
         */
        async requestRunning() {
            return Promise.resolve();
        }
    }
    KernelManager.NoopManager = NoopManager;
})(KernelManager || (exports.KernelManager = KernelManager = {}));
//# sourceMappingURL=manager.js.map

/***/ }),

/***/ 9778:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {


// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.supportedKernelWebSocketProtocols = exports.isInputReplyMsg = exports.isInputRequestMsg = exports.isDebugReplyMsg = exports.isDebugRequestMsg = exports.isExecuteReplyMsg = exports.isInfoRequestMsg = exports.isCommMsgMsg = exports.isCommCloseMsg = exports.isCommOpenMsg = exports.isDebugEventMsg = exports.isClearOutputMsg = exports.isStatusMsg = exports.isErrorMsg = exports.isExecuteResultMsg = exports.isExecuteInputMsg = exports.isUpdateDisplayDataMsg = exports.isDisplayDataMsg = exports.isStreamMsg = exports.createMessage = void 0;
const coreutils_1 = __webpack_require__(2359);
function createMessage(options) {
    var _a, _b, _c, _d, _e;
    return {
        buffers: (_a = options.buffers) !== null && _a !== void 0 ? _a : [],
        channel: options.channel,
        content: options.content,
        header: {
            date: new Date().toISOString(),
            msg_id: (_b = options.msgId) !== null && _b !== void 0 ? _b : coreutils_1.UUID.uuid4(),
            msg_type: options.msgType,
            session: options.session,
            username: (_c = options.username) !== null && _c !== void 0 ? _c : '',
            version: '5.2'
        },
        metadata: (_d = options.metadata) !== null && _d !== void 0 ? _d : {},
        parent_header: (_e = options.parentHeader) !== null && _e !== void 0 ? _e : {}
    };
}
exports.createMessage = createMessage;
/**
 * Test whether a kernel message is a `'stream'` message.
 */
function isStreamMsg(msg) {
    return msg.header.msg_type === 'stream';
}
exports.isStreamMsg = isStreamMsg;
/**
 * Test whether a kernel message is an `'display_data'` message.
 */
function isDisplayDataMsg(msg) {
    return msg.header.msg_type === 'display_data';
}
exports.isDisplayDataMsg = isDisplayDataMsg;
/**
 * Test whether a kernel message is an `'update_display_data'` message.
 */
function isUpdateDisplayDataMsg(msg) {
    return msg.header.msg_type === 'update_display_data';
}
exports.isUpdateDisplayDataMsg = isUpdateDisplayDataMsg;
/**
 * Test whether a kernel message is an `'execute_input'` message.
 */
function isExecuteInputMsg(msg) {
    return msg.header.msg_type === 'execute_input';
}
exports.isExecuteInputMsg = isExecuteInputMsg;
/**
 * Test whether a kernel message is an `'execute_result'` message.
 */
function isExecuteResultMsg(msg) {
    return msg.header.msg_type === 'execute_result';
}
exports.isExecuteResultMsg = isExecuteResultMsg;
/**
 * Test whether a kernel message is an `'error'` message.
 */
function isErrorMsg(msg) {
    return msg.header.msg_type === 'error';
}
exports.isErrorMsg = isErrorMsg;
/**
 * Test whether a kernel message is a `'status'` message.
 */
function isStatusMsg(msg) {
    return msg.header.msg_type === 'status';
}
exports.isStatusMsg = isStatusMsg;
/**
 * Test whether a kernel message is a `'clear_output'` message.
 */
function isClearOutputMsg(msg) {
    return msg.header.msg_type === 'clear_output';
}
exports.isClearOutputMsg = isClearOutputMsg;
/**
 * Test whether a kernel message is an experimental `'debug_event'` message.
 *
 * @hidden
 *
 * #### Notes
 * Debug messages are experimental messages that are not in the official
 * kernel message specification. As such, this is *NOT* considered
 * part of the public API, and may change without notice.
 */
function isDebugEventMsg(msg) {
    return msg.header.msg_type === 'debug_event';
}
exports.isDebugEventMsg = isDebugEventMsg;
/**
 * Test whether a kernel message is a `'comm_open'` message.
 */
function isCommOpenMsg(msg) {
    return msg.header.msg_type === 'comm_open';
}
exports.isCommOpenMsg = isCommOpenMsg;
/**
 * Test whether a kernel message is a `'comm_close'` message.
 */
function isCommCloseMsg(msg) {
    return msg.header.msg_type === 'comm_close';
}
exports.isCommCloseMsg = isCommCloseMsg;
/**
 * Test whether a kernel message is a `'comm_msg'` message.
 */
function isCommMsgMsg(msg) {
    return msg.header.msg_type === 'comm_msg';
}
exports.isCommMsgMsg = isCommMsgMsg;
/**
 * Test whether a kernel message is a `'kernel_info_request'` message.
 */
function isInfoRequestMsg(msg) {
    return msg.header.msg_type === 'kernel_info_request';
}
exports.isInfoRequestMsg = isInfoRequestMsg;
/**
 * Test whether a kernel message is an `'execute_reply'` message.
 */
function isExecuteReplyMsg(msg) {
    return msg.header.msg_type === 'execute_reply';
}
exports.isExecuteReplyMsg = isExecuteReplyMsg;
/**
 * Test whether a kernel message is an experimental `'debug_request'` message.
 *
 * @hidden
 *
 * #### Notes
 * Debug messages are experimental messages that are not in the official
 * kernel message specification. As such, this is *NOT* considered
 * part of the public API, and may change without notice.
 */
function isDebugRequestMsg(msg) {
    return msg.header.msg_type === 'debug_request';
}
exports.isDebugRequestMsg = isDebugRequestMsg;
/**
 * Test whether a kernel message is an experimental `'debug_reply'` message.
 *
 * @hidden
 *
 * #### Notes
 * Debug messages are experimental messages that are not in the official
 * kernel message specification. As such, this is *NOT* considered
 * part of the public API, and may change without notice.
 */
function isDebugReplyMsg(msg) {
    return msg.header.msg_type === 'debug_reply';
}
exports.isDebugReplyMsg = isDebugReplyMsg;
/**
 * Test whether a kernel message is an `'input_request'` message.
 */
function isInputRequestMsg(msg) {
    return msg.header.msg_type === 'input_request';
}
exports.isInputRequestMsg = isInputRequestMsg;
/**
 * Test whether a kernel message is an `'input_reply'` message.
 */
function isInputReplyMsg(msg) {
    return msg.header.msg_type === 'input_reply';
}
exports.isInputReplyMsg = isInputReplyMsg;
// ///////////////////////////////////////////////
// Message (de)serialization
// ///////////////////////////////////////////////
/**
 * The list of supported kernel wire protocols over websocket.
 */
var supportedKernelWebSocketProtocols;
(function (supportedKernelWebSocketProtocols) {
    supportedKernelWebSocketProtocols["v1KernelWebsocketJupyterOrg"] = "v1.kernel.websocket.jupyter.org";
})(supportedKernelWebSocketProtocols || (exports.supportedKernelWebSocketProtocols = supportedKernelWebSocketProtocols = {}));
//# sourceMappingURL=messages.js.map

/***/ }),

/***/ 6106:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {


// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.getKernelModel = exports.shutdownKernel = exports.interruptKernel = exports.restartKernel = exports.startNew = exports.listRunning = exports.KERNEL_SERVICE_URL = void 0;
const serverconnection_1 = __webpack_require__(2685);
const coreutils_1 = __webpack_require__(3228);
const validate_1 = __webpack_require__(6348);
/**
 * The url for the kernel service.
 */
exports.KERNEL_SERVICE_URL = 'api/kernels';
/**
 * Fetch the running kernels.
 *
 * @param settings - The optional server settings.
 *
 * @returns A promise that resolves with the list of running kernels.
 *
 * #### Notes
 * Uses the [Jupyter Server API](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/jupyter_server/services/api/api.yaml#!/kernels) and validates the response model.
 *
 * The promise is fulfilled on a valid response and rejected otherwise.
 */
async function listRunning(settings = serverconnection_1.ServerConnection.makeSettings()) {
    const url = coreutils_1.URLExt.join(settings.baseUrl, exports.KERNEL_SERVICE_URL);
    const response = await serverconnection_1.ServerConnection.makeRequest(url, {}, settings);
    if (response.status !== 200) {
        const err = await serverconnection_1.ServerConnection.ResponseError.create(response);
        throw err;
    }
    const data = await response.json();
    (0, validate_1.validateModels)(data);
    return data;
}
exports.listRunning = listRunning;
/**
 * Start a new kernel.
 *
 * @param options - The options used to create the kernel.
 *
 * @returns A promise that resolves with a kernel connection object.
 *
 * #### Notes
 * Uses the [Jupyter Server API](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/jupyter_server/services/api/api.yaml#!/kernels) and validates the response model.
 *
 * The promise is fulfilled on a valid response and rejected otherwise.
 */
async function startNew(options = {}, settings = serverconnection_1.ServerConnection.makeSettings()) {
    const url = coreutils_1.URLExt.join(settings.baseUrl, exports.KERNEL_SERVICE_URL);
    const init = {
        method: 'POST',
        body: JSON.stringify(options)
    };
    const response = await serverconnection_1.ServerConnection.makeRequest(url, init, settings);
    if (response.status !== 201) {
        const err = await serverconnection_1.ServerConnection.ResponseError.create(response);
        throw err;
    }
    const data = await response.json();
    (0, validate_1.validateModel)(data);
    return data;
}
exports.startNew = startNew;
/**
 * Restart a kernel.
 *
 * #### Notes
 * Uses the [Jupyter Server API](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/jupyter_server/services/api/api.yaml#!/kernels) and validates the response model.
 *
 * The promise is fulfilled on a valid response (and thus after a restart) and rejected otherwise.
 */
async function restartKernel(id, settings = serverconnection_1.ServerConnection.makeSettings()) {
    const url = coreutils_1.URLExt.join(settings.baseUrl, exports.KERNEL_SERVICE_URL, encodeURIComponent(id), 'restart');
    const init = { method: 'POST' };
    const response = await serverconnection_1.ServerConnection.makeRequest(url, init, settings);
    if (response.status !== 200) {
        const err = await serverconnection_1.ServerConnection.ResponseError.create(response);
        throw err;
    }
    const data = await response.json();
    (0, validate_1.validateModel)(data);
}
exports.restartKernel = restartKernel;
/**
 * Interrupt a kernel.
 *
 * #### Notes
 * Uses the [Jupyter Server API](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/jupyter_server/services/api/api.yaml#!/kernels) and validates the response model.
 *
 * The promise is fulfilled on a valid response and rejected otherwise.
 */
async function interruptKernel(id, settings = serverconnection_1.ServerConnection.makeSettings()) {
    const url = coreutils_1.URLExt.join(settings.baseUrl, exports.KERNEL_SERVICE_URL, encodeURIComponent(id), 'interrupt');
    const init = { method: 'POST' };
    const response = await serverconnection_1.ServerConnection.makeRequest(url, init, settings);
    if (response.status !== 204) {
        const err = await serverconnection_1.ServerConnection.ResponseError.create(response);
        throw err;
    }
}
exports.interruptKernel = interruptKernel;
/**
 * Shut down a kernel.
 *
 * @param id - The id of the running kernel.
 *
 * @param settings - The server settings for the request.
 *
 * @returns A promise that resolves when the kernel is shut down.
 *
 *
 * #### Notes
 * Uses the [Jupyter Server API](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/jupyter_server/services/api/api.yaml#!/kernels) and validates the response model.
 *
 * The promise is fulfilled on a valid response and rejected otherwise.
 */
async function shutdownKernel(id, settings = serverconnection_1.ServerConnection.makeSettings()) {
    const url = coreutils_1.URLExt.join(settings.baseUrl, exports.KERNEL_SERVICE_URL, encodeURIComponent(id));
    const init = { method: 'DELETE' };
    const response = await serverconnection_1.ServerConnection.makeRequest(url, init, settings);
    if (response.status === 404) {
        const msg = `The kernel "${id}" does not exist on the server`;
        console.warn(msg);
    }
    else if (response.status !== 204) {
        const err = await serverconnection_1.ServerConnection.ResponseError.create(response);
        throw err;
    }
}
exports.shutdownKernel = shutdownKernel;
/**
 * Get a full kernel model from the server by kernel id string.
 *
 * #### Notes
 * Uses the [Jupyter Server API](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/jupyter_server/services/api/api.yaml#!/kernels) and validates the response model.
 *
 * The promise is fulfilled on a valid response and rejected otherwise.
 */
async function getKernelModel(id, settings = serverconnection_1.ServerConnection.makeSettings()) {
    const url = coreutils_1.URLExt.join(settings.baseUrl, exports.KERNEL_SERVICE_URL, encodeURIComponent(id));
    const response = await serverconnection_1.ServerConnection.makeRequest(url, {}, settings);
    if (response.status === 404) {
        return undefined;
    }
    else if (response.status !== 200) {
        const err = await serverconnection_1.ServerConnection.ResponseError.create(response);
        throw err;
    }
    const data = await response.json();
    (0, validate_1.validateModel)(data);
    return data;
}
exports.getKernelModel = getKernelModel;
//# sourceMappingURL=restapi.js.map

/***/ }),

/***/ 1558:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {


// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
    if (mod && mod.__esModule) return mod;
    var result = {};
    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
    __setModuleDefault(result, mod);
    return result;
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.deserialize = exports.serialize = void 0;
const KernelMessage = __importStar(__webpack_require__(9778));
/**
 * Serialize a kernel message for transport.
 */
function serialize(msg, protocol = '') {
    switch (protocol) {
        case KernelMessage.supportedKernelWebSocketProtocols
            .v1KernelWebsocketJupyterOrg:
            return Private.serializeV1KernelWebsocketJupyterOrg(msg);
        default:
            return Private.serializeDefault(msg);
    }
}
exports.serialize = serialize;
/**
 * Deserialize and return the unpacked message.
 */
function deserialize(data, protocol = '') {
    switch (protocol) {
        case KernelMessage.supportedKernelWebSocketProtocols
            .v1KernelWebsocketJupyterOrg:
            return Private.deserializeV1KernelWebsocketJupyterOrg(data);
        default:
            return Private.deserializeDefault(data);
    }
}
exports.deserialize = deserialize;
var Private;
(function (Private) {
    /**
     * Deserialize and return the unpacked message.
     * Protocol `v1.kernel.websocket.jupyter.org`
     */
    function deserializeV1KernelWebsocketJupyterOrg(binMsg) {
        let msg;
        const data = new DataView(binMsg);
        const offsetNumber = Number(data.getBigUint64(0, true /* littleEndian */));
        let offsets = [];
        for (let i = 0; i < offsetNumber; i++) {
            // WARNING: we cast our 64-bit unsigned int to a number!
            // so offsets cannot index up to 2**64 bytes
            offsets.push(Number(data.getBigUint64(8 * (i + 1), true /* littleEndian */)));
        }
        const decoder = new TextDecoder('utf8');
        const channel = decoder.decode(binMsg.slice(offsets[0], offsets[1]));
        const header = JSON.parse(decoder.decode(binMsg.slice(offsets[1], offsets[2])));
        const parent_header = JSON.parse(decoder.decode(binMsg.slice(offsets[2], offsets[3])));
        const metadata = JSON.parse(decoder.decode(binMsg.slice(offsets[3], offsets[4])));
        const content = JSON.parse(decoder.decode(binMsg.slice(offsets[4], offsets[5])));
        let buffers = [];
        for (let i = 5; i < offsets.length - 1; i++) {
            buffers.push(new DataView(binMsg.slice(offsets[i], offsets[i + 1])));
        }
        msg = {
            channel,
            header,
            parent_header,
            metadata,
            content,
            buffers
        };
        return msg;
    }
    Private.deserializeV1KernelWebsocketJupyterOrg = deserializeV1KernelWebsocketJupyterOrg;
    /**
     * Serialize a kernel message for transport.
     * Protocol `v1.kernel.websocket.jupyter.org`
     */
    function serializeV1KernelWebsocketJupyterOrg(msg) {
        const header = JSON.stringify(msg.header);
        const parentHeader = msg.parent_header == null ? '{}' : JSON.stringify(msg.parent_header);
        const metadata = JSON.stringify(msg.metadata);
        const content = JSON.stringify(msg.content);
        const buffers = msg.buffers !== undefined ? msg.buffers : [];
        const offsetNumber = 1 + 4 + buffers.length + 1;
        let offsets = [];
        offsets.push(8 * (1 + offsetNumber));
        offsets.push(msg.channel.length + offsets[offsets.length - 1]);
        const encoder = new TextEncoder();
        const channelEncoded = encoder.encode(msg.channel);
        const headerEncoded = encoder.encode(header);
        const parentHeaderEncoded = encoder.encode(parentHeader);
        const metadataEncoded = encoder.encode(metadata);
        const contentEncoded = encoder.encode(content);
        const binMsgNoBuff = new Uint8Array(channelEncoded.length +
            headerEncoded.length +
            parentHeaderEncoded.length +
            metadataEncoded.length +
            contentEncoded.length);
        binMsgNoBuff.set(channelEncoded);
        binMsgNoBuff.set(headerEncoded, channelEncoded.length);
        binMsgNoBuff.set(parentHeaderEncoded, channelEncoded.length + headerEncoded.length);
        binMsgNoBuff.set(metadataEncoded, channelEncoded.length + headerEncoded.length + parentHeaderEncoded.length);
        binMsgNoBuff.set(contentEncoded, channelEncoded.length +
            headerEncoded.length +
            parentHeaderEncoded.length +
            metadataEncoded.length);
        for (let length of [
            headerEncoded.length,
            parentHeaderEncoded.length,
            metadataEncoded.length,
            contentEncoded.length
        ]) {
            offsets.push(length + offsets[offsets.length - 1]);
        }
        let buffersByteLength = 0;
        for (let buffer of buffers) {
            let length = buffer.byteLength;
            offsets.push(length + offsets[offsets.length - 1]);
            buffersByteLength += length;
        }
        const binMsg = new Uint8Array(8 * (1 + offsetNumber) + binMsgNoBuff.byteLength + buffersByteLength);
        const word = new ArrayBuffer(8);
        const data = new DataView(word);
        data.setBigUint64(0, BigInt(offsetNumber), true /* littleEndian */);
        binMsg.set(new Uint8Array(word), 0);
        for (let i = 0; i < offsets.length; i++) {
            data.setBigUint64(0, BigInt(offsets[i]), true /* littleEndian */);
            binMsg.set(new Uint8Array(word), 8 * (i + 1));
        }
        binMsg.set(binMsgNoBuff, offsets[0]);
        for (let i = 0; i < buffers.length; i++) {
            const buffer = buffers[i];
            binMsg.set(new Uint8Array(ArrayBuffer.isView(buffer) ? buffer.buffer : buffer), offsets[5 + i]);
        }
        return binMsg.buffer;
    }
    Private.serializeV1KernelWebsocketJupyterOrg = serializeV1KernelWebsocketJupyterOrg;
    /**
     * Deserialize and return the unpacked message.
     * Default protocol
     *
     * #### Notes
     * Handles JSON blob strings and binary messages.
     */
    function deserializeDefault(data) {
        let value;
        if (typeof data === 'string') {
            value = JSON.parse(data);
        }
        else {
            value = deserializeBinary(data);
        }
        return value;
    }
    Private.deserializeDefault = deserializeDefault;
    /**
     * Serialize a kernel message for transport.
     * Default protocol
     *
     * #### Notes
     * If there is binary content, an `ArrayBuffer` is returned,
     * otherwise the message is converted to a JSON string.
     */
    function serializeDefault(msg) {
        var _a;
        let value;
        if ((_a = msg.buffers) === null || _a === void 0 ? void 0 : _a.length) {
            value = serializeBinary(msg);
        }
        else {
            value = JSON.stringify(msg);
        }
        return value;
    }
    Private.serializeDefault = serializeDefault;
    /**
     * Deserialize a binary message to a Kernel Message.
     */
    function deserializeBinary(buf) {
        const data = new DataView(buf);
        // read the header: 1 + nbufs 32b integers
        const nbufs = data.getUint32(0);
        const offsets = [];
        if (nbufs < 2) {
            throw new Error('Invalid incoming Kernel Message');
        }
        for (let i = 1; i <= nbufs; i++) {
            offsets.push(data.getUint32(i * 4));
        }
        const jsonBytes = new Uint8Array(buf.slice(offsets[0], offsets[1]));
        const msg = JSON.parse(new TextDecoder('utf8').decode(jsonBytes));
        // the remaining chunks are stored as DataViews in msg.buffers
        msg.buffers = [];
        for (let i = 1; i < nbufs; i++) {
            const start = offsets[i];
            const stop = offsets[i + 1] || buf.byteLength;
            msg.buffers.push(new DataView(buf.slice(start, stop)));
        }
        return msg;
    }
    /**
     * Implement the binary serialization protocol.
     *
     * Serialize Kernel message to ArrayBuffer.
     */
    function serializeBinary(msg) {
        const offsets = [];
        const buffers = [];
        const encoder = new TextEncoder();
        let origBuffers = [];
        if (msg.buffers !== undefined) {
            origBuffers = msg.buffers;
            delete msg['buffers'];
        }
        const jsonUtf8 = encoder.encode(JSON.stringify(msg));
        buffers.push(jsonUtf8.buffer);
        for (let i = 0; i < origBuffers.length; i++) {
            // msg.buffers elements could be either views or ArrayBuffers
            // buffers elements are ArrayBuffers
            const b = origBuffers[i];
            buffers.push(ArrayBuffer.isView(b) ? b.buffer : b);
        }
        const nbufs = buffers.length;
        offsets.push(4 * (nbufs + 1));
        for (let i = 0; i + 1 < buffers.length; i++) {
            offsets.push(offsets[offsets.length - 1] + buffers[i].byteLength);
        }
        const msgBuf = new Uint8Array(offsets[offsets.length - 1] + buffers[buffers.length - 1].byteLength);
        // use DataView.setUint32 for network byte-order
        const view = new DataView(msgBuf.buffer);
        // write nbufs to first 4 bytes
        view.setUint32(0, nbufs);
        // write offsets to next 4 * nbufs bytes
        for (let i = 0; i < offsets.length; i++) {
            view.setUint32(4 * (i + 1), offsets[i]);
        }
        // write all the buffers at their respective offsets
        for (let i = 0; i < buffers.length; i++) {
            msgBuf.set(new Uint8Array(buffers[i]), offsets[i]);
        }
        return msgBuf.buffer;
    }
})(Private || (Private = {}));
//# sourceMappingURL=serialize.js.map

/***/ }),

/***/ 6348:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {


// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.validateModels = exports.validateModel = exports.validateMessage = void 0;
const validate_1 = __webpack_require__(1852);
/**
 * Required fields for `IKernelHeader`.
 */
const HEADER_FIELDS = ['username', 'version', 'session', 'msg_id', 'msg_type'];
/**
 * Required fields and types for contents of various types of `kernel.IMessage`
 * messages on the iopub channel.
 */
const IOPUB_CONTENT_FIELDS = {
    stream: { name: 'string', text: 'string' },
    display_data: { data: 'object', metadata: 'object' },
    execute_input: { code: 'string', execution_count: 'number' },
    execute_result: {
        execution_count: 'number',
        data: 'object',
        metadata: 'object'
    },
    error: { ename: 'string', evalue: 'string', traceback: 'object' },
    status: {
        execution_state: [
            'string',
            ['starting', 'idle', 'busy', 'restarting', 'dead']
        ]
    },
    clear_output: { wait: 'boolean' },
    comm_open: { comm_id: 'string', target_name: 'string', data: 'object' },
    comm_msg: { comm_id: 'string', data: 'object' },
    comm_close: { comm_id: 'string' },
    shutdown_reply: { restart: 'boolean' } // Emitted by the IPython kernel.
};
/**
 * Validate the header of a kernel message.
 */
function validateHeader(header) {
    for (let i = 0; i < HEADER_FIELDS.length; i++) {
        (0, validate_1.validateProperty)(header, HEADER_FIELDS[i], 'string');
    }
}
/**
 * Validate a kernel message object.
 */
function validateMessage(msg) {
    (0, validate_1.validateProperty)(msg, 'metadata', 'object');
    (0, validate_1.validateProperty)(msg, 'content', 'object');
    (0, validate_1.validateProperty)(msg, 'channel', 'string');
    validateHeader(msg.header);
    if (msg.channel === 'iopub') {
        validateIOPubContent(msg);
    }
}
exports.validateMessage = validateMessage;
/**
 * Validate content an kernel message on the iopub channel.
 */
function validateIOPubContent(msg) {
    if (msg.channel === 'iopub') {
        const fields = IOPUB_CONTENT_FIELDS[msg.header.msg_type];
        // Check for unknown message type.
        if (fields === undefined) {
            return;
        }
        const names = Object.keys(fields);
        const content = msg.content;
        for (let i = 0; i < names.length; i++) {
            let args = fields[names[i]];
            if (!Array.isArray(args)) {
                args = [args];
            }
            (0, validate_1.validateProperty)(content, names[i], ...args);
        }
    }
}
/**
 * Validate a `Kernel.IModel` object.
 */
function validateModel(model) {
    (0, validate_1.validateProperty)(model, 'name', 'string');
    (0, validate_1.validateProperty)(model, 'id', 'string');
}
exports.validateModel = validateModel;
/**
 * Validate an array of `IModel` objects.
 */
function validateModels(models) {
    if (!Array.isArray(models)) {
        throw new Error('Invalid kernel list');
    }
    models.forEach(d => validateModel(d));
}
exports.validateModels = validateModels;
//# sourceMappingURL=validate.js.map

/***/ }),

/***/ 3931:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {


// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
    if (mod && mod.__esModule) return mod;
    var result = {};
    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
    __setModuleDefault(result, mod);
    return result;
};
var __exportStar = (this && this.__exportStar) || function(m, exports) {
    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.KernelSpecAPI = exports.KernelSpec = void 0;
const KernelSpec = __importStar(__webpack_require__(1417));
exports.KernelSpec = KernelSpec;
const KernelSpecAPI = __importStar(__webpack_require__(9901));
exports.KernelSpecAPI = KernelSpecAPI;
__exportStar(__webpack_require__(652), exports);
//# sourceMappingURL=index.js.map

/***/ }),

/***/ 1417:
/***/ ((__unused_webpack_module, exports) => {


// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
Object.defineProperty(exports, "__esModule", ({ value: true }));
//# sourceMappingURL=kernelspec.js.map

/***/ }),

/***/ 652:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {


// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
    if (mod && mod.__esModule) return mod;
    var result = {};
    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
    __setModuleDefault(result, mod);
    return result;
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.KernelSpecManager = void 0;
const coreutils_1 = __webpack_require__(2359);
const polling_1 = __webpack_require__(6538);
const signaling_1 = __webpack_require__(7339);
const restapi = __importStar(__webpack_require__(9901));
const basemanager_1 = __webpack_require__(2720);
/**
 * An implementation of a kernel spec manager.
 */
class KernelSpecManager extends basemanager_1.BaseManager {
    /**
     * Construct a new kernel spec manager.
     *
     * @param options - The default options for kernel.
     */
    constructor(options = {}) {
        var _a;
        super(options);
        this._isReady = false;
        this._connectionFailure = new signaling_1.Signal(this);
        this._specs = null;
        this._specsChanged = new signaling_1.Signal(this);
        // Initialize internal data.
        this._ready = Promise.all([this.requestSpecs()])
            .then(_ => undefined)
            .catch(_ => undefined)
            .then(() => {
            if (this.isDisposed) {
                return;
            }
            this._isReady = true;
        });
        this._pollSpecs = new polling_1.Poll({
            auto: false,
            factory: () => this.requestSpecs(),
            frequency: {
                interval: 61 * 1000,
                backoff: true,
                max: 300 * 1000
            },
            name: `@jupyterlab/services:KernelSpecManager#specs`,
            standby: (_a = options.standby) !== null && _a !== void 0 ? _a : 'when-hidden'
        });
        void this.ready.then(() => {
            void this._pollSpecs.start();
        });
    }
    /**
     * Test whether the manager is ready.
     */
    get isReady() {
        return this._isReady;
    }
    /**
     * A promise that fulfills when the manager is ready.
     */
    get ready() {
        return this._ready;
    }
    /**
     * Get the most recently fetched kernel specs.
     */
    get specs() {
        return this._specs;
    }
    /**
     * A signal emitted when the specs change.
     */
    get specsChanged() {
        return this._specsChanged;
    }
    /**
     * A signal emitted when there is a connection failure.
     */
    get connectionFailure() {
        return this._connectionFailure;
    }
    /**
     * Dispose of the resources used by the manager.
     */
    dispose() {
        this._pollSpecs.dispose();
        super.dispose();
    }
    /**
     * Force a refresh of the specs from the server.
     *
     * @returns A promise that resolves when the specs are fetched.
     *
     * #### Notes
     * This is intended to be called only in response to a user action,
     * since the manager maintains its internal state.
     */
    async refreshSpecs() {
        await this._pollSpecs.refresh();
        await this._pollSpecs.tick;
    }
    /**
     * Execute a request to the server to poll specs and update state.
     */
    async requestSpecs() {
        const specs = await restapi.getSpecs(this.serverSettings);
        if (this.isDisposed) {
            return;
        }
        if (!coreutils_1.JSONExt.deepEqual(specs, this._specs)) {
            this._specs = specs;
            this._specsChanged.emit(specs);
        }
    }
}
exports.KernelSpecManager = KernelSpecManager;
//# sourceMappingURL=manager.js.map

/***/ }),

/***/ 9901:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {


// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.getSpecs = void 0;
const serverconnection_1 = __webpack_require__(2685);
const validate_1 = __webpack_require__(6657);
const coreutils_1 = __webpack_require__(3228);
/**
 * The url for the kernelspec service.
 */
const KERNELSPEC_SERVICE_URL = 'api/kernelspecs';
/**
 * Fetch all of the kernel specs.
 *
 * @param settings - The optional server settings.
 * @param useCache - Whether to use the cache. If false, always request.
 *
 * @returns A promise that resolves with the kernel specs.
 *
 * #### Notes
 * Uses the [Jupyter Server API](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/jupyter_server/services/api/api.yaml#!/kernelspecs).
 */
async function getSpecs(settings = serverconnection_1.ServerConnection.makeSettings()) {
    const url = coreutils_1.URLExt.join(settings.baseUrl, KERNELSPEC_SERVICE_URL);
    const response = await serverconnection_1.ServerConnection.makeRequest(url, {}, settings);
    if (response.status !== 200) {
        const err = await serverconnection_1.ServerConnection.ResponseError.create(response);
        throw err;
    }
    const data = await response.json();
    return (0, validate_1.validateSpecModels)(data);
}
exports.getSpecs = getSpecs;
//# sourceMappingURL=restapi.js.map

/***/ }),

/***/ 6657:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {


// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.validateSpecModels = exports.validateSpecModel = void 0;
const validate_1 = __webpack_require__(1852);
/**
 * Validate a server kernelspec model to a client side model.
 */
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
function validateSpecModel(data) {
    const spec = data.spec;
    if (!spec) {
        throw new Error('Invalid kernel spec');
    }
    (0, validate_1.validateProperty)(data, 'name', 'string');
    (0, validate_1.validateProperty)(data, 'resources', 'object');
    (0, validate_1.validateProperty)(spec, 'language', 'string');
    (0, validate_1.validateProperty)(spec, 'display_name', 'string');
    (0, validate_1.validateProperty)(spec, 'argv', 'array');
    let metadata = null;
    if (spec.hasOwnProperty('metadata')) {
        (0, validate_1.validateProperty)(spec, 'metadata', 'object');
        metadata = spec.metadata;
    }
    let env = null;
    if (spec.hasOwnProperty('env')) {
        (0, validate_1.validateProperty)(spec, 'env', 'object');
        env = spec.env;
    }
    return {
        name: data.name,
        resources: data.resources,
        language: spec.language,
        display_name: spec.display_name,
        argv: spec.argv,
        metadata,
        env
    };
}
exports.validateSpecModel = validateSpecModel;
/**
 * Validate a `Kernel.ISpecModels` object.
 */
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
function validateSpecModels(data) {
    if (!data.hasOwnProperty('kernelspecs')) {
        throw new Error('No kernelspecs found');
    }
    let keys = Object.keys(data.kernelspecs);
    const kernelspecs = Object.create(null);
    let defaultSpec = data.default;
    for (let i = 0; i < keys.length; i++) {
        const ks = data.kernelspecs[keys[i]];
        try {
            kernelspecs[keys[i]] = validateSpecModel(ks);
        }
        catch (err) {
            // Remove the errant kernel spec.
            console.warn(`Removing errant kernel spec: ${keys[i]}`);
        }
    }
    keys = Object.keys(kernelspecs);
    if (!keys.length) {
        throw new Error('No valid kernelspecs found');
    }
    if (!defaultSpec ||
        typeof defaultSpec !== 'string' ||
        !(defaultSpec in kernelspecs)) {
        defaultSpec = keys[0];
        console.warn(`Default kernel not found, using '${keys[0]}'`);
    }
    return {
        default: defaultSpec,
        kernelspecs
    };
}
exports.validateSpecModels = validateSpecModels;
//# sourceMappingURL=validate.js.map

/***/ }),

/***/ 7631:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {


// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.ServiceManager = void 0;
const signaling_1 = __webpack_require__(7339);
const builder_1 = __webpack_require__(1492);
const contents_1 = __webpack_require__(5787);
const event_1 = __webpack_require__(3231);
const kernel_1 = __webpack_require__(2044);
const kernelspec_1 = __webpack_require__(3931);
const nbconvert_1 = __webpack_require__(3896);
const serverconnection_1 = __webpack_require__(2685);
const session_1 = __webpack_require__(3831);
const setting_1 = __webpack_require__(9155);
const terminal_1 = __webpack_require__(6181);
const user_1 = __webpack_require__(2442);
const workspace_1 = __webpack_require__(8806);
/**
 * A Jupyter services manager.
 */
class ServiceManager {
    /**
     * Construct a new services provider.
     */
    constructor(options = {}) {
        var _a, _b;
        this._isDisposed = false;
        this._connectionFailure = new signaling_1.Signal(this);
        this._isReady = false;
        const defaultDrive = options.defaultDrive;
        const serverSettings = (_a = options.serverSettings) !== null && _a !== void 0 ? _a : serverconnection_1.ServerConnection.makeSettings();
        const standby = (_b = options.standby) !== null && _b !== void 0 ? _b : 'when-hidden';
        const normalized = { defaultDrive, serverSettings, standby };
        this.serverSettings = serverSettings;
        this.contents = options.contents || new contents_1.ContentsManager(normalized);
        this.events = options.events || new event_1.EventManager(normalized);
        this.kernels = options.kernels || new kernel_1.KernelManager(normalized);
        this.sessions =
            options.sessions ||
                new session_1.SessionManager({
                    ...normalized,
                    kernelManager: this.kernels
                });
        this.settings = options.settings || new setting_1.SettingManager(normalized);
        this.terminals = options.terminals || new terminal_1.TerminalManager(normalized);
        this.builder = options.builder || new builder_1.BuildManager(normalized);
        this.workspaces = options.workspaces || new workspace_1.WorkspaceManager(normalized);
        this.nbconvert = options.nbconvert || new nbconvert_1.NbConvertManager(normalized);
        this.kernelspecs = options.kernelspecs || new kernelspec_1.KernelSpecManager(normalized);
        this.user = options.user || new user_1.UserManager(normalized);
        // Proxy all connection failures from the individual service managers.
        this.kernelspecs.connectionFailure.connect(this._onConnectionFailure, this);
        this.sessions.connectionFailure.connect(this._onConnectionFailure, this);
        this.terminals.connectionFailure.connect(this._onConnectionFailure, this);
        // Define promises that need to be resolved before service manager is ready.
        const readyList = [this.sessions.ready, this.kernelspecs.ready];
        if (this.terminals.isAvailable()) {
            readyList.push(this.terminals.ready);
        }
        this._readyPromise = Promise.all(readyList).then(() => {
            this._isReady = true;
        });
    }
    /**
     * A signal emitted when there is a connection failure with the kernel.
     */
    get connectionFailure() {
        return this._connectionFailure;
    }
    /**
     * Test whether the service manager is disposed.
     */
    get isDisposed() {
        return this._isDisposed;
    }
    /**
     * Dispose of the resources used by the manager.
     */
    dispose() {
        if (this.isDisposed) {
            return;
        }
        this._isDisposed = true;
        signaling_1.Signal.clearData(this);
        this.contents.dispose();
        this.events.dispose();
        this.sessions.dispose();
        this.terminals.dispose();
    }
    /**
     * Test whether the manager is ready.
     */
    get isReady() {
        return this._isReady;
    }
    /**
     * A promise that fulfills when the manager is ready.
     */
    get ready() {
        return this._readyPromise;
    }
    _onConnectionFailure(sender, err) {
        this._connectionFailure.emit(err);
    }
}
exports.ServiceManager = ServiceManager;
//# sourceMappingURL=manager.js.map

/***/ }),

/***/ 3896:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {


// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.NbConvertManager = void 0;
const coreutils_1 = __webpack_require__(3228);
const serverconnection_1 = __webpack_require__(2685);
const coreutils_2 = __webpack_require__(2359);
/**
 * The url for the lab nbconvert service.
 */
const NBCONVERT_SETTINGS_URL = 'api/nbconvert';
/**
 * The nbconvert API service manager.
 */
class NbConvertManager {
    /**
     * Create a new nbconvert manager.
     */
    constructor(options = {}) {
        var _a;
        this._exportFormats = null;
        this.serverSettings =
            (_a = options.serverSettings) !== null && _a !== void 0 ? _a : serverconnection_1.ServerConnection.makeSettings();
    }
    /**
     * Fetch and cache the export formats from the expensive nbconvert handler.
     */
    async fetchExportFormats() {
        this._requestingFormats = new coreutils_2.PromiseDelegate();
        this._exportFormats = null;
        const base = this.serverSettings.baseUrl;
        const url = coreutils_1.URLExt.join(base, NBCONVERT_SETTINGS_URL);
        const { serverSettings } = this;
        const response = await serverconnection_1.ServerConnection.makeRequest(url, {}, serverSettings);
        if (response.status !== 200) {
            const err = await serverconnection_1.ServerConnection.ResponseError.create(response);
            throw err;
        }
        const data = await response.json();
        const exportList = {};
        const keys = Object.keys(data);
        keys.forEach(function (key) {
            const mimeType = data[key].output_mimetype;
            exportList[key] = { output_mimetype: mimeType };
        });
        this._exportFormats = exportList;
        this._requestingFormats.resolve(exportList);
        return exportList;
    }
    /**
     * Get the list of export formats, preferring pre-cached ones.
     */
    async getExportFormats(force = true) {
        if (this._requestingFormats) {
            return this._requestingFormats.promise;
        }
        if (force || !this._exportFormats) {
            return await this.fetchExportFormats();
        }
        return this._exportFormats;
    }
}
exports.NbConvertManager = NbConvertManager;
//# sourceMappingURL=index.js.map

/***/ }),

/***/ 2685:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {


// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.ServerConnection = void 0;
const coreutils_1 = __webpack_require__(3228);
const serialize_1 = __webpack_require__(1558);
let WEBSOCKET;
if (typeof window === 'undefined') {
    // Mangle the require statements so it does not get picked up in the
    // browser assets.
    WEBSOCKET = __webpack_require__(2344);
}
else {
    WEBSOCKET = WebSocket;
}
/**
 * The namespace for ServerConnection functions.
 *
 * #### Notes
 * This is only intended to manage communication with the Jupyter server.
 *
 * The default values can be used in a JupyterLab or Jupyter Notebook context.
 *
 * We use `token` authentication if available, falling back on an XSRF
 * cookie if one has been provided on the `document`.
 *
 * A content type of `'application/json'` is added when using authentication
 * and there is no body data to allow the server to prevent malicious forms.
 */
var ServerConnection;
(function (ServerConnection) {
    /**
     * Create a settings object given a subset of options.
     *
     * @param options - An optional partial set of options.
     *
     * @returns The full settings object.
     */
    function makeSettings(options) {
        return Private.makeSettings(options);
    }
    ServerConnection.makeSettings = makeSettings;
    /**
     * Make an request to the notebook server.
     *
     * @param url - The url for the request.
     *
     * @param init - The initialization options for the request.
     *
     * @param settings - The server settings to apply to the request.
     *
     * @returns a Promise that resolves with the response.
     *
     * @throws If the url of the request is not a notebook server url.
     *
     * #### Notes
     * The `url` must start with `settings.baseUrl`.  The `init` settings are
     * merged with `settings.init`, with `init` taking precedence.
     * The headers in the two objects are not merged.
     * If there is no body data, we set the content type to `application/json`
     * because it is required by the Notebook server.
     */
    function makeRequest(url, init, settings) {
        return Private.handleRequest(url, init, settings);
    }
    ServerConnection.makeRequest = makeRequest;
    /**
     * A wrapped error for a fetch response.
     */
    class ResponseError extends Error {
        /**
         * Create a ResponseError from a response, handling the traceback and message
         * as appropriate.
         *
         * @param response The response object.
         *
         * @returns A promise that resolves with a `ResponseError` object.
         */
        static async create(response) {
            try {
                const data = await response.json();
                const { message, traceback } = data;
                if (traceback) {
                    console.error(traceback);
                }
                return new ResponseError(response, message !== null && message !== void 0 ? message : ResponseError._defaultMessage(response), traceback !== null && traceback !== void 0 ? traceback : '');
            }
            catch (e) {
                console.debug(e);
                return new ResponseError(response);
            }
        }
        /**
         * Create a new response error.
         */
        constructor(response, message = ResponseError._defaultMessage(response), traceback = '') {
            super(message);
            this.response = response;
            this.traceback = traceback;
        }
        static _defaultMessage(response) {
            return `Invalid response: ${response.status} ${response.statusText}`;
        }
    }
    ServerConnection.ResponseError = ResponseError;
    /**
     * A wrapped error for a network error.
     */
    class NetworkError extends TypeError {
        /**
         * Create a new network error.
         */
        constructor(original) {
            super(original.message);
            this.stack = original.stack;
        }
    }
    ServerConnection.NetworkError = NetworkError;
})(ServerConnection || (exports.ServerConnection = ServerConnection = {}));
/**
 * The namespace for module private data.
 */
var Private;
(function (Private) {
    /**
     * Handle the server connection settings, returning a new value.
     */
    function makeSettings(options = {}) {
        var _a;
        const pageBaseUrl = coreutils_1.PageConfig.getBaseUrl();
        const pageWsUrl = coreutils_1.PageConfig.getWsUrl();
        const baseUrl = coreutils_1.URLExt.normalize(options.baseUrl) || pageBaseUrl;
        let wsUrl = options.wsUrl;
        // Prefer the default wsUrl if we are using the default baseUrl.
        if (!wsUrl && baseUrl === pageBaseUrl) {
            wsUrl = pageWsUrl;
        }
        // Otherwise convert the baseUrl to a wsUrl if possible.
        if (!wsUrl && baseUrl.indexOf('http') === 0) {
            wsUrl = 'ws' + baseUrl.slice(4);
        }
        // Otherwise fall back on the default wsUrl.
        wsUrl = wsUrl !== null && wsUrl !== void 0 ? wsUrl : pageWsUrl;
        const appendTokenConfig = coreutils_1.PageConfig.getOption('appendToken').toLowerCase();
        let appendToken;
        if (appendTokenConfig === '') {
            appendToken =
                typeof window === 'undefined' ||
                    (typeof process !== 'undefined' &&
                        ((_a = process === null || process === void 0 ? void 0 : process.env) === null || _a === void 0 ? void 0 : _a.JEST_WORKER_ID) !== undefined) ||
                    coreutils_1.URLExt.getHostName(pageBaseUrl) !== coreutils_1.URLExt.getHostName(wsUrl);
        }
        else {
            appendToken = appendTokenConfig === 'true';
        }
        return {
            init: { cache: 'no-store', credentials: 'same-origin' },
            fetch,
            Headers,
            Request,
            WebSocket: WEBSOCKET,
            token: coreutils_1.PageConfig.getToken(),
            appUrl: coreutils_1.PageConfig.getOption('appUrl'),
            appendToken,
            serializer: { serialize: serialize_1.serialize, deserialize: serialize_1.deserialize },
            ...options,
            baseUrl,
            wsUrl
        };
    }
    Private.makeSettings = makeSettings;
    /**
     * Handle a request.
     *
     * @param url - The url for the request.
     *
     * @param init - The overrides for the request init.
     *
     * @param settings - The settings object for the request.
     *
     * #### Notes
     * The `url` must start with `settings.baseUrl`.  The `init` settings
     * take precedence over `settings.init`.
     */
    function handleRequest(url, init, settings) {
        var _a;
        // Handle notebook server requests.
        if (url.indexOf(settings.baseUrl) !== 0) {
            throw new Error('Can only be used for notebook server requests');
        }
        // Use explicit cache buster when `no-store` is set since
        // not all browsers use it properly.
        const cache = (_a = init.cache) !== null && _a !== void 0 ? _a : settings.init.cache;
        if (cache === 'no-store') {
            // https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest#Bypassing_the_cache
            url += (/\?/.test(url) ? '&' : '?') + new Date().getTime();
        }
        const request = new settings.Request(url, { ...settings.init, ...init });
        // Handle authentication. Authentication can be overdetermined by
        // settings token and XSRF token.
        let authenticated = false;
        if (settings.token) {
            authenticated = true;
            request.headers.append('Authorization', `token ${settings.token}`);
        }
        if (typeof document !== 'undefined') {
            const xsrfToken = getCookie('_xsrf');
            if (xsrfToken !== undefined) {
                authenticated = true;
                request.headers.append('X-XSRFToken', xsrfToken);
            }
        }
        // Set the content type if there is no given data and we are
        // using an authenticated connection.
        if (!request.headers.has('Content-Type') && authenticated) {
            request.headers.set('Content-Type', 'application/json');
        }
        // Use `call` to avoid a `TypeError` in the browser.
        return settings.fetch.call(null, request).catch((e) => {
            // Convert the TypeError into a more specific error.
            throw new ServerConnection.NetworkError(e);
        });
        // TODO: *this* is probably where we need a system-wide connectionFailure
        // signal we can hook into.
    }
    Private.handleRequest = handleRequest;
    /**
     * Get a cookie from the document.
     */
    function getCookie(name) {
        // From http://www.tornadoweb.org/en/stable/guide/security.html
        let cookie = '';
        try {
            cookie = document.cookie;
        }
        catch (e) {
            // e.g. SecurityError in case of CSP Sandbox
            return;
        }
        const matches = cookie.match('\\b' + name + '=([^;]*)\\b');
        return matches === null || matches === void 0 ? void 0 : matches[1];
    }
})(Private || (Private = {}));
//# sourceMappingURL=serverconnection.js.map

/***/ }),

/***/ 3538:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {


// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.SessionConnection = void 0;
const signaling_1 = __webpack_require__(7339);
const __1 = __webpack_require__(6492);
const restapi_1 = __webpack_require__(9569);
const coreutils_1 = __webpack_require__(2359);
/**
 * Session object for accessing the session REST api. The session
 * should be used to start kernels and then shut them down -- for
 * all other kernel operations, the kernel object should be used.
 */
class SessionConnection {
    /**
     * Construct a new session.
     */
    constructor(options) {
        var _a, _b, _c, _d;
        this._id = '';
        this._path = '';
        this._name = '';
        this._type = '';
        this._kernel = null;
        this._isDisposed = false;
        this._disposed = new signaling_1.Signal(this);
        this._kernelChanged = new signaling_1.Signal(this);
        this._statusChanged = new signaling_1.Signal(this);
        this._connectionStatusChanged = new signaling_1.Signal(this);
        this._pendingInput = new signaling_1.Signal(this);
        this._iopubMessage = new signaling_1.Signal(this);
        this._unhandledMessage = new signaling_1.Signal(this);
        this._anyMessage = new signaling_1.Signal(this);
        this._propertyChanged = new signaling_1.Signal(this);
        this._id = options.model.id;
        this._name = options.model.name;
        this._path = options.model.path;
        this._type = options.model.type;
        this._username = (_a = options.username) !== null && _a !== void 0 ? _a : '';
        this._clientId = (_b = options.clientId) !== null && _b !== void 0 ? _b : coreutils_1.UUID.uuid4();
        this._connectToKernel = options.connectToKernel;
        this._kernelConnectionOptions = (_c = options.kernelConnectionOptions) !== null && _c !== void 0 ? _c : {};
        this.serverSettings =
            (_d = options.serverSettings) !== null && _d !== void 0 ? _d : __1.ServerConnection.makeSettings();
        this.setupKernel(options.model.kernel);
    }
    /**
     * A signal emitted when the session is disposed.
     */
    get disposed() {
        return this._disposed;
    }
    /**
     * A signal emitted when the kernel changes.
     */
    get kernelChanged() {
        return this._kernelChanged;
    }
    /**
     * A signal proxied from the connection about the kernel status.
     */
    get statusChanged() {
        return this._statusChanged;
    }
    /**
     * A signal proxied from the kernel about the connection status.
     */
    get connectionStatusChanged() {
        return this._connectionStatusChanged;
    }
    /**
     * A signal proxied from the kernel pending input.
     */
    get pendingInput() {
        return this._pendingInput;
    }
    /**
     * A signal proxied from the kernel about iopub kernel messages.
     */
    get iopubMessage() {
        return this._iopubMessage;
    }
    /**
     * A signal proxied from the kernel for an unhandled kernel message.
     */
    get unhandledMessage() {
        return this._unhandledMessage;
    }
    /**
     * A signal proxied from the kernel emitted for any kernel message.
     *
     * #### Notes
     * The behavior is undefined if the message is modified during message
     * handling. As such, it should be treated as read-only.
     */
    get anyMessage() {
        return this._anyMessage;
    }
    /**
     * A signal emitted when a session property changes.
     */
    get propertyChanged() {
        return this._propertyChanged;
    }
    /**
     * Get the session id.
     */
    get id() {
        return this._id;
    }
    /**
     * Get the session kernel connection object.
     *
     * #### Notes
     * This is a read-only property, and can be altered by [changeKernel].
     */
    get kernel() {
        return this._kernel;
    }
    /**
     * Get the session path.
     */
    get path() {
        return this._path;
    }
    /**
     * Get the session type.
     */
    get type() {
        return this._type;
    }
    /**
     * Get the session name.
     */
    get name() {
        return this._name;
    }
    /**
     * Get the model associated with the session.
     */
    get model() {
        return {
            id: this.id,
            kernel: this.kernel && { id: this.kernel.id, name: this.kernel.name },
            path: this._path,
            type: this._type,
            name: this._name
        };
    }
    /**
     * Test whether the session has been disposed.
     */
    get isDisposed() {
        return this._isDisposed;
    }
    /**
     * Update the session based on a session model from the server.
     *
     * #### Notes
     * This only updates this session connection instance. Use `setPath`,
     * `setName`, `setType`, and `changeKernel` to change the session values on
     * the server.
     */
    update(model) {
        const oldModel = this.model;
        this._path = model.path;
        this._name = model.name;
        this._type = model.type;
        if ((this._kernel === null && model.kernel !== null) ||
            (this._kernel !== null && model.kernel === null) ||
            (this._kernel !== null &&
                model.kernel !== null &&
                this._kernel.id !== model.kernel.id)) {
            if (this._kernel !== null) {
                this._kernel.dispose();
            }
            const oldValue = this._kernel || null;
            this.setupKernel(model.kernel);
            const newValue = this._kernel || null;
            this._kernelChanged.emit({ name: 'kernel', oldValue, newValue });
        }
        this._handleModelChange(oldModel);
    }
    /**
     * Dispose of the resources held by the session.
     */
    dispose() {
        if (this.isDisposed) {
            return;
        }
        this._isDisposed = true;
        this._disposed.emit();
        if (this._kernel) {
            this._kernel.dispose();
            const oldValue = this._kernel;
            this._kernel = null;
            const newValue = this._kernel;
            this._kernelChanged.emit({ name: 'kernel', oldValue, newValue });
        }
        signaling_1.Signal.clearData(this);
    }
    /**
     * Change the session path.
     *
     * @param path - The new session path.
     *
     * @returns A promise that resolves when the session has renamed.
     *
     * #### Notes
     * This uses the Jupyter REST API, and the response is validated.
     * The promise is fulfilled on a valid response and rejected otherwise.
     */
    async setPath(path) {
        if (this.isDisposed) {
            throw new Error('Session is disposed');
        }
        await this._patch({ path });
    }
    /**
     * Change the session name.
     */
    async setName(name) {
        if (this.isDisposed) {
            throw new Error('Session is disposed');
        }
        await this._patch({ name });
    }
    /**
     * Change the session type.
     */
    async setType(type) {
        if (this.isDisposed) {
            throw new Error('Session is disposed');
        }
        await this._patch({ type });
    }
    /**
     * Change the kernel.
     *
     * @param options - The name or id of the new kernel.
     *
     * #### Notes
     * This shuts down the existing kernel and creates a new kernel,
     * keeping the existing session ID and session path.
     */
    async changeKernel(options) {
        if (this.isDisposed) {
            throw new Error('Session is disposed');
        }
        await this._patch({ kernel: options });
        return this.kernel;
    }
    /**
     * Kill the kernel and shutdown the session.
     *
     * @returns - The promise fulfilled on a valid response from the server.
     *
     * #### Notes
     * Uses the [Jupyter Server API](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/jupyter_server/services/api/api.yaml#!/sessions), and validates the response.
     * Disposes of the session and emits a [sessionDied] signal on success.
     */
    async shutdown() {
        if (this.isDisposed) {
            throw new Error('Session is disposed');
        }
        await (0, restapi_1.shutdownSession)(this.id, this.serverSettings);
        this.dispose();
    }
    /**
     * Create a new kernel connection and connect to its signals.
     *
     * #### Notes
     * This method is not meant to be subclassed.
     */
    setupKernel(model) {
        if (model === null) {
            this._kernel = null;
            return;
        }
        const kc = this._connectToKernel({
            ...this._kernelConnectionOptions,
            model,
            username: this._username,
            clientId: this._clientId,
            serverSettings: this.serverSettings
        });
        this._kernel = kc;
        kc.statusChanged.connect(this.onKernelStatus, this);
        kc.connectionStatusChanged.connect(this.onKernelConnectionStatus, this);
        kc.pendingInput.connect(this.onPendingInput, this);
        kc.unhandledMessage.connect(this.onUnhandledMessage, this);
        kc.iopubMessage.connect(this.onIOPubMessage, this);
        kc.anyMessage.connect(this.onAnyMessage, this);
    }
    /**
     * Handle to changes in the Kernel status.
     */
    onKernelStatus(sender, state) {
        this._statusChanged.emit(state);
    }
    /**
     * Handle to changes in the Kernel status.
     */
    onKernelConnectionStatus(sender, state) {
        this._connectionStatusChanged.emit(state);
    }
    /**
     * Handle a change in the pendingInput.
     */
    onPendingInput(sender, state) {
        this._pendingInput.emit(state);
    }
    /**
     * Handle iopub kernel messages.
     */
    onIOPubMessage(sender, msg) {
        this._iopubMessage.emit(msg);
    }
    /**
     * Handle unhandled kernel messages.
     */
    onUnhandledMessage(sender, msg) {
        this._unhandledMessage.emit(msg);
    }
    /**
     * Handle any kernel messages.
     */
    onAnyMessage(sender, args) {
        this._anyMessage.emit(args);
    }
    /**
     * Send a PATCH to the server, updating the session path or the kernel.
     */
    async _patch(body) {
        const model = await (0, restapi_1.updateSession)({ ...body, id: this._id }, this.serverSettings);
        this.update(model);
        return model;
    }
    /**
     * Handle a change to the model.
     */
    _handleModelChange(oldModel) {
        if (oldModel.name !== this._name) {
            this._propertyChanged.emit('name');
        }
        if (oldModel.type !== this._type) {
            this._propertyChanged.emit('type');
        }
        if (oldModel.path !== this._path) {
            this._propertyChanged.emit('path');
        }
    }
}
exports.SessionConnection = SessionConnection;
//# sourceMappingURL=default.js.map

/***/ }),

/***/ 3831:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {


// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
    if (mod && mod.__esModule) return mod;
    var result = {};
    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
    __setModuleDefault(result, mod);
    return result;
};
var __exportStar = (this && this.__exportStar) || function(m, exports) {
    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.SessionAPI = exports.Session = void 0;
const Session = __importStar(__webpack_require__(247));
exports.Session = Session;
const SessionAPI = __importStar(__webpack_require__(9569));
exports.SessionAPI = SessionAPI;
__exportStar(__webpack_require__(8832), exports);
//# sourceMappingURL=index.js.map

/***/ }),

/***/ 8832:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {


// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.SessionManager = void 0;
const polling_1 = __webpack_require__(6538);
const signaling_1 = __webpack_require__(7339);
const serverconnection_1 = __webpack_require__(2685);
const basemanager_1 = __webpack_require__(2720);
const default_1 = __webpack_require__(3538);
const restapi_1 = __webpack_require__(9569);
/**
 * An implementation of a session manager.
 */
class SessionManager extends basemanager_1.BaseManager {
    /**
     * Construct a new session manager.
     *
     * @param options - The default options for each session.
     */
    constructor(options) {
        var _a;
        super(options);
        this._isReady = false;
        this._sessionConnections = new Set();
        this._models = new Map();
        this._runningChanged = new signaling_1.Signal(this);
        this._connectionFailure = new signaling_1.Signal(this);
        // We define these here so they bind `this` correctly
        this._connectToKernel = (options) => {
            return this._kernelManager.connectTo(options);
        };
        this._kernelManager = options.kernelManager;
        // Start model polling with exponential backoff.
        this._pollModels = new polling_1.Poll({
            auto: false,
            factory: () => this.requestRunning(),
            frequency: {
                interval: 10 * 1000,
                backoff: true,
                max: 300 * 1000
            },
            name: `@jupyterlab/services:SessionManager#models`,
            standby: (_a = options.standby) !== null && _a !== void 0 ? _a : 'when-hidden'
        });
        // Initialize internal data.
        this._ready = (async () => {
            await this._pollModels.start();
            await this._pollModels.tick;
            if (this._kernelManager.isActive) {
                await this._kernelManager.ready;
            }
            this._isReady = true;
        })();
    }
    /**
     * Test whether the manager is ready.
     */
    get isReady() {
        return this._isReady;
    }
    /**
     * A promise that fulfills when the manager is ready.
     */
    get ready() {
        return this._ready;
    }
    /**
     * A signal emitted when the running sessions change.
     */
    get runningChanged() {
        return this._runningChanged;
    }
    /**
     * A signal emitted when there is a connection failure.
     */
    get connectionFailure() {
        return this._connectionFailure;
    }
    /**
     * Dispose of the resources used by the manager.
     */
    dispose() {
        if (this.isDisposed) {
            return;
        }
        this._models.clear();
        this._sessionConnections.forEach(x => x.dispose());
        this._pollModels.dispose();
        super.dispose();
    }
    /*
     * Connect to a running session.  See also [[connectToSession]].
     */
    connectTo(options) {
        const sessionConnection = new default_1.SessionConnection({
            ...options,
            connectToKernel: this._connectToKernel,
            serverSettings: this.serverSettings
        });
        this._onStarted(sessionConnection);
        if (!this._models.has(options.model.id)) {
            // We trust the user to connect to an existing session, but we verify
            // asynchronously.
            void this.refreshRunning().catch(() => {
                /* no-op */
            });
        }
        return sessionConnection;
    }
    /**
     * Create an iterator over the most recent running sessions.
     *
     * @returns A new iterator over the running sessions.
     */
    running() {
        return this._models.values();
    }
    /**
     * Force a refresh of the running sessions.
     *
     * @returns A promise that with the list of running sessions.
     *
     * #### Notes
     * This is not typically meant to be called by the user, since the
     * manager maintains its own internal state.
     */
    async refreshRunning() {
        await this._pollModels.refresh();
        await this._pollModels.tick;
    }
    /**
     * Start a new session.  See also [[startNewSession]].
     *
     * @param createOptions - Options for creating the session
     *
     * @param connectOptions - Options for connecting to the session
     */
    async startNew(createOptions, connectOptions = {}) {
        const model = await (0, restapi_1.startSession)(createOptions, this.serverSettings);
        await this.refreshRunning();
        return this.connectTo({ ...connectOptions, model });
    }
    /**
     * Shut down a session by id.
     */
    async shutdown(id) {
        await (0, restapi_1.shutdownSession)(id, this.serverSettings);
        await this.refreshRunning();
    }
    /**
     * Shut down all sessions.
     *
     * @returns A promise that resolves when all of the kernels are shut down.
     */
    async shutdownAll() {
        // Update the list of models to make sure our list is current.
        await this.refreshRunning();
        // Shut down all models.
        await Promise.all([...this._models.keys()].map(id => (0, restapi_1.shutdownSession)(id, this.serverSettings)));
        // Update the list of models to clear out our state.
        await this.refreshRunning();
    }
    /**
     * Find a session associated with a path and stop it if it is the only session
     * using that kernel.
     *
     * @param path - The path in question.
     *
     * @returns A promise that resolves when the relevant sessions are stopped.
     */
    async stopIfNeeded(path) {
        try {
            const sessions = await (0, restapi_1.listRunning)(this.serverSettings);
            const matches = sessions.filter(value => value.path === path);
            if (matches.length === 1) {
                const id = matches[0].id;
                await this.shutdown(id);
            }
        }
        catch (error) {
            /* Always succeed. */
        }
    }
    /**
     * Find a session by id.
     */
    async findById(id) {
        if (this._models.has(id)) {
            return this._models.get(id);
        }
        await this.refreshRunning();
        return this._models.get(id);
    }
    /**
     * Find a session by path.
     */
    async findByPath(path) {
        for (const m of this._models.values()) {
            if (m.path === path) {
                return m;
            }
        }
        await this.refreshRunning();
        for (const m of this._models.values()) {
            if (m.path === path) {
                return m;
            }
        }
        return undefined;
    }
    /**
     * Execute a request to the server to poll running kernels and update state.
     */
    async requestRunning() {
        var _a, _b;
        let models;
        try {
            models = await (0, restapi_1.listRunning)(this.serverSettings);
        }
        catch (err) {
            // Handle network errors, as well as cases where we are on a
            // JupyterHub and the server is not running. JupyterHub returns a
            // 503 (<2.0) or 424 (>2.0) in that case.
            if (err instanceof serverconnection_1.ServerConnection.NetworkError ||
                ((_a = err.response) === null || _a === void 0 ? void 0 : _a.status) === 503 ||
                ((_b = err.response) === null || _b === void 0 ? void 0 : _b.status) === 424) {
                this._connectionFailure.emit(err);
            }
            throw err;
        }
        if (this.isDisposed) {
            return;
        }
        if (this._models.size === models.length &&
            models.every(model => {
                var _a, _b, _c, _d;
                const existing = this._models.get(model.id);
                if (!existing) {
                    return false;
                }
                return (((_a = existing.kernel) === null || _a === void 0 ? void 0 : _a.id) === ((_b = model.kernel) === null || _b === void 0 ? void 0 : _b.id) &&
                    ((_c = existing.kernel) === null || _c === void 0 ? void 0 : _c.name) === ((_d = model.kernel) === null || _d === void 0 ? void 0 : _d.name) &&
                    existing.name === model.name &&
                    existing.path === model.path &&
                    existing.type === model.type);
            })) {
            // Identical models list (presuming models does not contain duplicate
            // ids), so just return
            return;
        }
        this._models = new Map(models.map(x => [x.id, x]));
        this._sessionConnections.forEach(sc => {
            if (this._models.has(sc.id)) {
                sc.update(this._models.get(sc.id));
            }
            else {
                sc.dispose();
            }
        });
        this._runningChanged.emit(models);
    }
    /**
     * Handle a session starting.
     */
    _onStarted(sessionConnection) {
        this._sessionConnections.add(sessionConnection);
        sessionConnection.disposed.connect(this._onDisposed, this);
        sessionConnection.propertyChanged.connect(this._onChanged, this);
        sessionConnection.kernelChanged.connect(this._onChanged, this);
    }
    _onDisposed(sessionConnection) {
        this._sessionConnections.delete(sessionConnection);
        // A session termination emission could mean the server session is deleted,
        // or that the session JS object is disposed and the session still exists on
        // the server, so we refresh from the server to make sure we reflect the
        // server state.
        void this.refreshRunning().catch(() => {
            /* no-op */
        });
    }
    _onChanged() {
        void this.refreshRunning().catch(() => {
            /* no-op */
        });
    }
}
exports.SessionManager = SessionManager;
/**
 * The namespace for `SessionManager` class statics.
 */
(function (SessionManager) {
    /**
     * A no-op session manager to be used when starting sessions is not supported.
     */
    class NoopManager extends SessionManager {
        constructor() {
            super(...arguments);
            this._readyPromise = new Promise(() => {
                /* no-op */
            });
        }
        /**
         * Whether the manager is active.
         */
        get isActive() {
            return false;
        }
        /**
         * Used for testing.
         */
        get parentReady() {
            return super.ready;
        }
        /**
         * Start a new session - throw an error since it is not supported.
         */
        async startNew(createOptions, connectOptions = {}) {
            return Promise.reject(new Error('Not implemented in no-op Session Manager'));
        }
        /*
         * Connect to a running session - throw an error since it is not supported.
         */
        connectTo(options) {
            throw Error('Not implemented in no-op Session Manager');
        }
        /**
         * A promise that fulfills when the manager is ready (never).
         */
        get ready() {
            return this.parentReady.then(() => this._readyPromise);
        }
        /**
         * Shut down a session by id - throw an error since it is not supported.
         */
        async shutdown(id) {
            return Promise.reject(new Error('Not implemented in no-op Session Manager'));
        }
        /**
         * Execute a request to the server to poll running sessions and update state.
         */
        async requestRunning() {
            return Promise.resolve();
        }
    }
    SessionManager.NoopManager = NoopManager;
})(SessionManager || (exports.SessionManager = SessionManager = {}));
//# sourceMappingURL=manager.js.map

/***/ }),

/***/ 9569:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {


// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.updateSession = exports.startSession = exports.getSessionModel = exports.shutdownSession = exports.getSessionUrl = exports.listRunning = exports.SESSION_SERVICE_URL = void 0;
const serverconnection_1 = __webpack_require__(2685);
const coreutils_1 = __webpack_require__(3228);
const validate_1 = __webpack_require__(4053);
/**
 * The url for the session service.
 */
exports.SESSION_SERVICE_URL = 'api/sessions';
/**
 * List the running sessions.
 */
async function listRunning(settings = serverconnection_1.ServerConnection.makeSettings()) {
    const url = coreutils_1.URLExt.join(settings.baseUrl, exports.SESSION_SERVICE_URL);
    const response = await serverconnection_1.ServerConnection.makeRequest(url, {}, settings);
    if (response.status !== 200) {
        const err = await serverconnection_1.ServerConnection.ResponseError.create(response);
        throw err;
    }
    const data = await response.json();
    if (!Array.isArray(data)) {
        throw new Error('Invalid Session list');
    }
    data.forEach(m => {
        (0, validate_1.updateLegacySessionModel)(m);
        (0, validate_1.validateModel)(m);
    });
    return data;
}
exports.listRunning = listRunning;
/**
 * Get a session url.
 */
function getSessionUrl(baseUrl, id) {
    const servicesBase = coreutils_1.URLExt.join(baseUrl, exports.SESSION_SERVICE_URL);
    const result = coreutils_1.URLExt.join(servicesBase, id);
    if (!result.startsWith(servicesBase)) {
        throw new Error('Can only be used for services requests');
    }
    return result;
}
exports.getSessionUrl = getSessionUrl;
/**
 * Shut down a session by id.
 */
async function shutdownSession(id, settings = serverconnection_1.ServerConnection.makeSettings()) {
    var _a;
    const url = getSessionUrl(settings.baseUrl, id);
    const init = { method: 'DELETE' };
    const response = await serverconnection_1.ServerConnection.makeRequest(url, init, settings);
    if (response.status === 404) {
        const data = await response.json();
        const msg = (_a = data.message) !== null && _a !== void 0 ? _a : `The session "${id}"" does not exist on the server`;
        console.warn(msg);
    }
    else if (response.status === 410) {
        throw new serverconnection_1.ServerConnection.ResponseError(response, 'The kernel was deleted but the session was not');
    }
    else if (response.status !== 204) {
        const err = await serverconnection_1.ServerConnection.ResponseError.create(response);
        throw err;
    }
}
exports.shutdownSession = shutdownSession;
/**
 * Get a full session model from the server by session id string.
 */
async function getSessionModel(id, settings = serverconnection_1.ServerConnection.makeSettings()) {
    const url = getSessionUrl(settings.baseUrl, id);
    const response = await serverconnection_1.ServerConnection.makeRequest(url, {}, settings);
    if (response.status !== 200) {
        const err = await serverconnection_1.ServerConnection.ResponseError.create(response);
        throw err;
    }
    const data = await response.json();
    (0, validate_1.updateLegacySessionModel)(data);
    (0, validate_1.validateModel)(data);
    return data;
}
exports.getSessionModel = getSessionModel;
/**
 * Create a new session, or return an existing session if the session path
 * already exists.
 */
async function startSession(options, settings = serverconnection_1.ServerConnection.makeSettings()) {
    const url = coreutils_1.URLExt.join(settings.baseUrl, exports.SESSION_SERVICE_URL);
    const init = {
        method: 'POST',
        body: JSON.stringify(options)
    };
    const response = await serverconnection_1.ServerConnection.makeRequest(url, init, settings);
    if (response.status !== 201) {
        const err = await serverconnection_1.ServerConnection.ResponseError.create(response);
        throw err;
    }
    const data = await response.json();
    (0, validate_1.updateLegacySessionModel)(data);
    (0, validate_1.validateModel)(data);
    return data;
}
exports.startSession = startSession;
/**
 * Send a PATCH to the server, updating the session path or the kernel.
 */
async function updateSession(model, settings = serverconnection_1.ServerConnection.makeSettings()) {
    const url = getSessionUrl(settings.baseUrl, model.id);
    const init = {
        method: 'PATCH',
        body: JSON.stringify(model)
    };
    const response = await serverconnection_1.ServerConnection.makeRequest(url, init, settings);
    if (response.status !== 200) {
        const err = await serverconnection_1.ServerConnection.ResponseError.create(response);
        throw err;
    }
    const data = await response.json();
    (0, validate_1.updateLegacySessionModel)(data);
    (0, validate_1.validateModel)(data);
    return data;
}
exports.updateSession = updateSession;
//# sourceMappingURL=restapi.js.map

/***/ }),

/***/ 247:
/***/ ((__unused_webpack_module, exports) => {


// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
Object.defineProperty(exports, "__esModule", ({ value: true }));
//# sourceMappingURL=session.js.map

/***/ }),

/***/ 4053:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {


// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.validateModels = exports.updateLegacySessionModel = exports.validateModel = void 0;
const validate_1 = __webpack_require__(6348);
const validate_2 = __webpack_require__(1852);
/**
 * Validate an `Session.IModel` object.
 */
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
function validateModel(data) {
    (0, validate_2.validateProperty)(data, 'id', 'string');
    (0, validate_2.validateProperty)(data, 'type', 'string');
    (0, validate_2.validateProperty)(data, 'name', 'string');
    (0, validate_2.validateProperty)(data, 'path', 'string');
    (0, validate_2.validateProperty)(data, 'kernel', 'object');
    (0, validate_1.validateModel)(data.kernel);
}
exports.validateModel = validateModel;
/**
 * Update model from legacy session data.
 */
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
function updateLegacySessionModel(data) {
    if (data.path === undefined && data.notebook !== undefined) {
        data.path = data.notebook.path;
        data.type = 'notebook';
        data.name = '';
    }
}
exports.updateLegacySessionModel = updateLegacySessionModel;
/**
 * Validate an array of `Session.IModel` objects.
 */
function validateModels(models) {
    if (!Array.isArray(models)) {
        throw new Error('Invalid session list');
    }
    models.forEach(d => validateModel(d));
}
exports.validateModels = validateModels;
//# sourceMappingURL=validate.js.map

/***/ }),

/***/ 9155:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {


// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.SettingManager = void 0;
const coreutils_1 = __webpack_require__(3228);
const statedb_1 = __webpack_require__(3431);
const serverconnection_1 = __webpack_require__(2685);
/**
 * The url for the lab settings service.
 */
const SERVICE_SETTINGS_URL = 'api/settings';
/**
 * The settings API service manager.
 */
class SettingManager extends statedb_1.DataConnector {
    /**
     * Create a new setting manager.
     */
    constructor(options = {}) {
        var _a;
        super();
        this.serverSettings =
            (_a = options.serverSettings) !== null && _a !== void 0 ? _a : serverconnection_1.ServerConnection.makeSettings();
    }
    /**
     * Fetch a plugin's settings.
     *
     * @param id - The plugin's ID.
     *
     * @returns A promise that resolves if successful.
     */
    async fetch(id) {
        if (!id) {
            throw new Error('Plugin `id` parameter is required for settings fetch.');
        }
        const { serverSettings } = this;
        const { baseUrl, appUrl } = serverSettings;
        const { makeRequest, ResponseError } = serverconnection_1.ServerConnection;
        const base = baseUrl + appUrl;
        const url = Private.url(base, id);
        const response = await makeRequest(url, {}, serverSettings);
        if (response.status !== 200) {
            const err = await ResponseError.create(response);
            throw err;
        }
        // Assert what type the server response is returning.
        return response.json();
    }
    /**
     * Fetch the list of all plugin setting bundles.
     *
     * @returns A promise that resolves if successful.
     */
    async list(query) {
        var _a, _b, _c, _d;
        const { serverSettings } = this;
        const { baseUrl, appUrl } = serverSettings;
        const { makeRequest, ResponseError } = serverconnection_1.ServerConnection;
        const base = baseUrl + appUrl;
        const url = Private.url(base, '', query === 'ids');
        const response = await makeRequest(url, {}, serverSettings);
        if (response.status !== 200) {
            throw new ResponseError(response);
        }
        const json = await response.json();
        const ids = (_b = (_a = json === null || json === void 0 ? void 0 : json['settings']) === null || _a === void 0 ? void 0 : _a.map((plugin) => plugin.id)) !== null && _b !== void 0 ? _b : [];
        let values = [];
        if (!query) {
            values =
                (_d = (_c = json === null || json === void 0 ? void 0 : json['settings']) === null || _c === void 0 ? void 0 : _c.map((plugin) => {
                    plugin.data = { composite: {}, user: {} };
                    return plugin;
                })) !== null && _d !== void 0 ? _d : [];
        }
        return { ids, values };
    }
    /**
     * Save a plugin's settings.
     *
     * @param id - The plugin's ID.
     *
     * @param raw - The user setting values as a raw string of JSON with comments.
     *
     * @returns A promise that resolves if successful.
     */
    async save(id, raw) {
        const { serverSettings } = this;
        const { baseUrl, appUrl } = serverSettings;
        const { makeRequest, ResponseError } = serverconnection_1.ServerConnection;
        const base = baseUrl + appUrl;
        const url = Private.url(base, id);
        // NOTE: 'raw' is JSON5 (not valid JSON), so we encode it as a string in a valid JSON body
        const init = { body: JSON.stringify({ raw }), method: 'PUT' };
        const response = await makeRequest(url, init, serverSettings);
        if (response.status !== 204) {
            throw new ResponseError(response);
        }
    }
}
exports.SettingManager = SettingManager;
/**
 * A namespace for private data.
 */
var Private;
(function (Private) {
    /**
     * Get the url for a plugin's settings.
     */
    function url(base, id, idsOnly) {
        const idsOnlyParam = idsOnly
            ? coreutils_1.URLExt.objectToQueryString({ ids_only: true })
            : '';
        const settingsBase = coreutils_1.URLExt.join(base, SERVICE_SETTINGS_URL);
        const result = coreutils_1.URLExt.join(settingsBase, id);
        if (!result.startsWith(settingsBase)) {
            throw new Error('Can only be used for workspaces requests');
        }
        return `${result}${idsOnlyParam}`;
    }
    Private.url = url;
})(Private || (Private = {}));
//# sourceMappingURL=index.js.map

/***/ }),

/***/ 2344:
/***/ ((__unused_webpack_module, exports) => {


/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports["default"] = WebSocket;
//# sourceMappingURL=ws.js.map

/***/ }),

/***/ 8176:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {


// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.TerminalConnection = void 0;
const coreutils_1 = __webpack_require__(3228);
const coreutils_2 = __webpack_require__(2359);
const signaling_1 = __webpack_require__(7339);
const __1 = __webpack_require__(6492);
const restapi_1 = __webpack_require__(9827);
/**
 * An implementation of a terminal interface.
 */
class TerminalConnection {
    /**
     * Construct a new terminal session.
     */
    constructor(options) {
        var _a;
        /**
         * Create the terminal websocket connection and add socket status handlers.
         *
         * #### Notes
         * You are responsible for updating the connection status as appropriate.
         */
        this._createSocket = () => {
            this._errorIfDisposed();
            // Make sure the socket is clear
            this._clearSocket();
            // Update the connection status to reflect opening a new connection.
            this._updateConnectionStatus('connecting');
            const name = this._name;
            const settings = this.serverSettings;
            let url = coreutils_1.URLExt.join(settings.wsUrl, 'terminals', 'websocket', encodeURIComponent(name));
            // If token authentication is in use.
            const token = settings.token;
            if (settings.appendToken && token !== '') {
                url = url + `?token=${encodeURIComponent(token)}`;
            }
            this._ws = new settings.WebSocket(url);
            this._ws.onmessage = this._onWSMessage;
            this._ws.onclose = this._onWSClose;
            this._ws.onerror = this._onWSClose;
        };
        // Websocket messages events are defined as variables to bind `this`
        this._onWSMessage = (event) => {
            if (this._isDisposed) {
                return;
            }
            const data = JSON.parse(event.data);
            // Handle a disconnect message.
            if (data[0] === 'disconnect') {
                this.dispose();
            }
            if (this._connectionStatus === 'connecting') {
                // After reconnection, ignore all messages until a 'setup' message
                // before we are truly connected. Setting the connection status to
                // connected only then means that if we do not get a setup message
                // before our retry timeout, we will delete the websocket and try again.
                if (data[0] === 'setup') {
                    this._updateConnectionStatus('connected');
                }
                return;
            }
            this._messageReceived.emit({
                type: data[0],
                content: data.slice(1)
            });
        };
        this._onWSClose = (event) => {
            console.warn(`Terminal websocket closed: ${event.code}`);
            if (!this.isDisposed) {
                this._reconnect();
            }
        };
        this._connectionStatus = 'connecting';
        this._connectionStatusChanged = new signaling_1.Signal(this);
        this._isDisposed = false;
        this._disposed = new signaling_1.Signal(this);
        this._messageReceived = new signaling_1.Signal(this);
        this._reconnectTimeout = null;
        this._ws = null;
        this._noOp = () => {
            /* no-op */
        };
        this._reconnectLimit = 7;
        this._reconnectAttempt = 0;
        this._pendingMessages = [];
        this._name = options.model.name;
        this.serverSettings =
            (_a = options.serverSettings) !== null && _a !== void 0 ? _a : __1.ServerConnection.makeSettings();
        this._createSocket();
    }
    /**
     * A signal emitted when the session is disposed.
     */
    get disposed() {
        return this._disposed;
    }
    /**
     * A signal emitted when a message is received from the server.
     */
    get messageReceived() {
        return this._messageReceived;
    }
    /**
     * Get the name of the terminal session.
     */
    get name() {
        return this._name;
    }
    /**
     * Get the model for the terminal session.
     */
    get model() {
        return { name: this._name };
    }
    /**
     * Test whether the session is disposed.
     */
    get isDisposed() {
        return this._isDisposed;
    }
    /**
     * Dispose of the resources held by the session.
     */
    dispose() {
        if (this._isDisposed) {
            return;
        }
        this._isDisposed = true;
        this._disposed.emit();
        this._updateConnectionStatus('disconnected');
        this._clearSocket();
        signaling_1.Signal.clearData(this);
    }
    /**
     * Send a message to the terminal session.
     *
     * #### Notes
     * If the connection is down, the message will be queued for sending when
     * the connection comes back up.
     */
    send(message) {
        this._sendMessage(message);
    }
    /**
     * Send a message on the websocket, or possibly queue for later sending.
     *
     * @param queue - whether to queue the message if it cannot be sent
     */
    _sendMessage(message, queue = true) {
        if (this._isDisposed || !message.content) {
            return;
        }
        if (this.connectionStatus === 'connected' && this._ws) {
            const msg = [message.type, ...message.content];
            this._ws.send(JSON.stringify(msg));
        }
        else if (queue) {
            this._pendingMessages.push(message);
        }
        else {
            throw new Error(`Could not send message: ${JSON.stringify(message)}`);
        }
    }
    /**
     * Send pending messages to the kernel.
     */
    _sendPending() {
        // We check to make sure we are still connected each time. For
        // example, if a websocket buffer overflows, it may close, so we should
        // stop sending messages.
        while (this.connectionStatus === 'connected' &&
            this._pendingMessages.length > 0) {
            this._sendMessage(this._pendingMessages[0], false);
            // We shift the message off the queue after the message is sent so that
            // if there is an exception, the message is still pending.
            this._pendingMessages.shift();
        }
    }
    /**
     * Reconnect to a terminal.
     *
     * #### Notes
     * This may try multiple times to reconnect to a terminal, and will sever
     * any existing connection.
     */
    reconnect() {
        this._errorIfDisposed();
        const result = new coreutils_2.PromiseDelegate();
        // Set up a listener for the connection status changing, which accepts or
        // rejects after the retries are done.
        const fulfill = (sender, status) => {
            if (status === 'connected') {
                result.resolve();
                this.connectionStatusChanged.disconnect(fulfill, this);
            }
            else if (status === 'disconnected') {
                result.reject(new Error('Terminal connection disconnected'));
                this.connectionStatusChanged.disconnect(fulfill, this);
            }
        };
        this.connectionStatusChanged.connect(fulfill, this);
        // Reset the reconnect limit so we start the connection attempts fresh
        this._reconnectAttempt = 0;
        // Start the reconnection process, which will also clear any existing
        // connection.
        this._reconnect();
        // Return the promise that should resolve on connection or reject if the
        // retries don't work.
        return result.promise;
    }
    /**
     * Attempt a connection if we have not exhausted connection attempts.
     */
    _reconnect() {
        this._errorIfDisposed();
        // Clear any existing reconnection attempt
        clearTimeout(this._reconnectTimeout);
        // Update the connection status and schedule a possible reconnection.
        if (this._reconnectAttempt < this._reconnectLimit) {
            this._updateConnectionStatus('connecting');
            // The first reconnect attempt should happen immediately, and subsequent
            // attempts should pick a random number in a growing range so that we
            // don't overload the server with synchronized reconnection attempts
            // across multiple kernels.
            const timeout = Private.getRandomIntInclusive(0, 1e3 * (Math.pow(2, this._reconnectAttempt) - 1));
            console.error(`Connection lost, reconnecting in ${Math.floor(timeout / 1000)} seconds.`);
            this._reconnectTimeout = setTimeout(this._createSocket, timeout);
            this._reconnectAttempt += 1;
        }
        else {
            this._updateConnectionStatus('disconnected');
        }
        // Clear the websocket event handlers and the socket itself.
        this._clearSocket();
    }
    /**
     * Forcefully clear the socket state.
     *
     * #### Notes
     * This will clear all socket state without calling any handlers and will
     * not update the connection status. If you call this method, you are
     * responsible for updating the connection status as needed and recreating
     * the socket if you plan to reconnect.
     */
    _clearSocket() {
        if (this._ws !== null) {
            // Clear the websocket event handlers and the socket itself.
            this._ws.onopen = this._noOp;
            this._ws.onclose = this._noOp;
            this._ws.onerror = this._noOp;
            this._ws.onmessage = this._noOp;
            this._ws.close();
            this._ws = null;
        }
    }
    /**
     * Shut down the terminal session.
     */
    async shutdown() {
        await (0, restapi_1.shutdownTerminal)(this.name, this.serverSettings);
        this.dispose();
    }
    /**
     * Clone the current terminal connection.
     */
    clone() {
        return new TerminalConnection(this);
    }
    /**
     * Handle connection status changes.
     */
    _updateConnectionStatus(connectionStatus) {
        if (this._connectionStatus === connectionStatus) {
            return;
        }
        this._connectionStatus = connectionStatus;
        // If we are not 'connecting', stop any reconnection attempts.
        if (connectionStatus !== 'connecting') {
            this._reconnectAttempt = 0;
            clearTimeout(this._reconnectTimeout);
        }
        // Send the pending messages if we just connected.
        if (connectionStatus === 'connected') {
            this._sendPending();
        }
        // Notify others that the connection status changed.
        this._connectionStatusChanged.emit(connectionStatus);
    }
    /**
     * Utility function to throw an error if this instance is disposed.
     */
    _errorIfDisposed() {
        if (this.isDisposed) {
            throw new Error('Terminal connection is disposed');
        }
    }
    /**
     * A signal emitted when the terminal connection status changes.
     */
    get connectionStatusChanged() {
        return this._connectionStatusChanged;
    }
    /**
     * The current connection status of the terminal connection.
     */
    get connectionStatus() {
        return this._connectionStatus;
    }
}
exports.TerminalConnection = TerminalConnection;
var Private;
(function (Private) {
    /**
     * Get the url for a terminal.
     */
    function getTermUrl(baseUrl, name) {
        return coreutils_1.URLExt.join(baseUrl, restapi_1.TERMINAL_SERVICE_URL, encodeURIComponent(name));
    }
    Private.getTermUrl = getTermUrl;
    /**
     * Get a random integer between min and max, inclusive of both.
     *
     * #### Notes
     * From
     * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/random#Getting_a_random_integer_between_two_values_inclusive
     *
     * From the MDN page: It might be tempting to use Math.round() to accomplish
     * that, but doing so would cause your random numbers to follow a non-uniform
     * distribution, which may not be acceptable for your needs.
     */
    function getRandomIntInclusive(min, max) {
        min = Math.ceil(min);
        max = Math.floor(max);
        return Math.floor(Math.random() * (max - min + 1)) + min;
    }
    Private.getRandomIntInclusive = getRandomIntInclusive;
})(Private || (Private = {}));
//# sourceMappingURL=default.js.map

/***/ }),

/***/ 6181:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {


// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
    if (mod && mod.__esModule) return mod;
    var result = {};
    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
    __setModuleDefault(result, mod);
    return result;
};
var __exportStar = (this && this.__exportStar) || function(m, exports) {
    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.TerminalAPI = exports.Terminal = void 0;
const Terminal = __importStar(__webpack_require__(3009));
exports.Terminal = Terminal;
const TerminalAPI = __importStar(__webpack_require__(9827));
exports.TerminalAPI = TerminalAPI;
__exportStar(__webpack_require__(6438), exports);
//# sourceMappingURL=index.js.map

/***/ }),

/***/ 6438:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {


// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.TerminalManager = void 0;
const polling_1 = __webpack_require__(6538);
const signaling_1 = __webpack_require__(7339);
const __1 = __webpack_require__(6492);
const basemanager_1 = __webpack_require__(2720);
const restapi_1 = __webpack_require__(9827);
const default_1 = __webpack_require__(8176);
/**
 * A terminal session manager.
 */
class TerminalManager extends basemanager_1.BaseManager {
    /**
     * Construct a new terminal manager.
     */
    constructor(options = {}) {
        var _a;
        super(options);
        this._isReady = false;
        // As an optimization, we unwrap the models to just store the names.
        this._names = [];
        this._terminalConnections = new Set();
        this._runningChanged = new signaling_1.Signal(this);
        this._connectionFailure = new signaling_1.Signal(this);
        // Check if terminals are available
        if (!this.isAvailable()) {
            this._ready = Promise.reject('Terminals unavailable');
            this._ready.catch(_ => undefined);
            return;
        }
        // Start polling with exponential backoff.
        this._pollModels = new polling_1.Poll({
            auto: false,
            factory: () => this.requestRunning(),
            frequency: {
                interval: 10 * 1000,
                backoff: true,
                max: 300 * 1000
            },
            name: `@jupyterlab/services:TerminalManager#models`,
            standby: (_a = options.standby) !== null && _a !== void 0 ? _a : 'when-hidden'
        });
        // Initialize internal data.
        this._ready = (async () => {
            await this._pollModels.start();
            await this._pollModels.tick;
            this._isReady = true;
        })();
    }
    /**
     * Test whether the manager is ready.
     */
    get isReady() {
        return this._isReady;
    }
    /**
     * A promise that fulfills when the manager is ready.
     */
    get ready() {
        return this._ready;
    }
    /**
     * A signal emitted when the running terminals change.
     */
    get runningChanged() {
        return this._runningChanged;
    }
    /**
     * A signal emitted when there is a connection failure.
     */
    get connectionFailure() {
        return this._connectionFailure;
    }
    /**
     * Dispose of the resources used by the manager.
     */
    dispose() {
        if (this.isDisposed) {
            return;
        }
        this._names.length = 0;
        this._terminalConnections.forEach(x => x.dispose());
        this._pollModels.dispose();
        super.dispose();
    }
    /**
     * Whether the terminal service is available.
     */
    isAvailable() {
        return (0, restapi_1.isAvailable)();
    }
    /*
     * Connect to a running terminal.
     *
     * @param options - The options used to connect to the terminal.
     *
     * @returns The new terminal connection instance.
     *
     * #### Notes
     * The manager `serverSettings` will be used.
     */
    connectTo(options) {
        const terminalConnection = new default_1.TerminalConnection({
            ...options,
            serverSettings: this.serverSettings
        });
        this._onStarted(terminalConnection);
        if (!this._names.includes(options.model.name)) {
            // We trust the user to connect to an existing session, but we verify
            // asynchronously.
            void this.refreshRunning().catch(() => {
                /* no-op */
            });
        }
        return terminalConnection;
    }
    /**
     * Create an iterator over the most recent running terminals.
     *
     * @returns A new iterator over the running terminals.
     */
    running() {
        return this._models[Symbol.iterator]();
    }
    /**
     * Force a refresh of the running terminals.
     *
     * @returns A promise that with the list of running terminals.
     *
     * #### Notes
     * This is intended to be called only in response to a user action,
     * since the manager maintains its internal state.
     */
    async refreshRunning() {
        await this._pollModels.refresh();
        await this._pollModels.tick;
    }
    /**
     * Create a new terminal session.
     *
     * @param options - The options used to create the terminal.
     *
     * @returns A promise that resolves with the terminal connection instance.
     *
     * #### Notes
     * The manager `serverSettings` will be used unless overridden in the
     * options.
     */
    async startNew(options) {
        const model = await (0, restapi_1.startNew)(this.serverSettings, options === null || options === void 0 ? void 0 : options.name, options === null || options === void 0 ? void 0 : options.cwd);
        await this.refreshRunning();
        return this.connectTo({ model });
    }
    /**
     * Shut down a terminal session by name.
     */
    async shutdown(name) {
        await (0, restapi_1.shutdownTerminal)(name, this.serverSettings);
        await this.refreshRunning();
    }
    /**
     * Shut down all terminal sessions.
     *
     * @returns A promise that resolves when all of the sessions are shut down.
     */
    async shutdownAll() {
        // Update the list of models to make sure our list is current.
        await this.refreshRunning();
        // Shut down all models.
        await Promise.all(this._names.map(name => (0, restapi_1.shutdownTerminal)(name, this.serverSettings)));
        // Update the list of models to clear out our state.
        await this.refreshRunning();
    }
    /**
     * Execute a request to the server to poll running terminals and update state.
     */
    async requestRunning() {
        var _a, _b;
        let models;
        try {
            models = await (0, restapi_1.listRunning)(this.serverSettings);
        }
        catch (err) {
            // Handle network errors, as well as cases where we are on a
            // JupyterHub and the server is not running. JupyterHub returns a
            // 503 (<2.0) or 424 (>2.0) in that case.
            if (err instanceof __1.ServerConnection.NetworkError ||
                ((_a = err.response) === null || _a === void 0 ? void 0 : _a.status) === 503 ||
                ((_b = err.response) === null || _b === void 0 ? void 0 : _b.status) === 424) {
                this._connectionFailure.emit(err);
            }
            throw err;
        }
        if (this.isDisposed) {
            return;
        }
        const names = models.map(({ name }) => name).sort();
        if (names === this._names) {
            // Identical models list, so just return
            return;
        }
        this._names = names;
        this._terminalConnections.forEach(tc => {
            if (!names.includes(tc.name)) {
                tc.dispose();
            }
        });
        this._runningChanged.emit(this._models);
    }
    /**
     * Handle a session starting.
     */
    _onStarted(terminalConnection) {
        this._terminalConnections.add(terminalConnection);
        terminalConnection.disposed.connect(this._onDisposed, this);
    }
    /**
     * Handle a session terminating.
     */
    _onDisposed(terminalConnection) {
        this._terminalConnections.delete(terminalConnection);
        // Update the running models to make sure we reflect the server state
        void this.refreshRunning().catch(() => {
            /* no-op */
        });
    }
    get _models() {
        return this._names.map(name => {
            return { name };
        });
    }
}
exports.TerminalManager = TerminalManager;
/**
 * The namespace for TerminalManager statics.
 */
(function (TerminalManager) {
    /**
     * A no-op terminal manager to be used when starting terminals is not supported.
     */
    class NoopManager extends TerminalManager {
        constructor() {
            super(...arguments);
            this._readyPromise = new Promise(() => {
                /* no-op */
            });
        }
        /**
         * Whether the manager is active.
         */
        get isActive() {
            return false;
        }
        /**
         * Used for testing.
         */
        get parentReady() {
            return super.ready;
        }
        /**
         * A promise that fulfills when the manager is ready (never).
         */
        get ready() {
            return this.parentReady.then(() => this._readyPromise);
        }
        /**
         * Create a new terminal session - throw an error since it is not supported.
         *
         */
        async startNew(options) {
            return Promise.reject(new Error('Not implemented in no-op Terminal Manager'));
        }
        /*
         * Connect to a running terminal - throw an error since it is not supported.
         */
        connectTo(options) {
            throw Error('Not implemented in no-op Terminal Manager');
        }
        /**
         * Shut down a session by id - throw an error since it is not supported.
         */
        async shutdown(id) {
            return Promise.reject(new Error('Not implemented in no-op Terminal Manager'));
        }
        /**
         * Execute a request to the server to poll running sessions and update state.
         */
        async requestRunning() {
            return Promise.resolve();
        }
    }
    TerminalManager.NoopManager = NoopManager;
})(TerminalManager || (exports.TerminalManager = TerminalManager = {}));
//# sourceMappingURL=manager.js.map

/***/ }),

/***/ 9827:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {


// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.shutdownTerminal = exports.listRunning = exports.startNew = exports.isAvailable = exports.TERMINAL_SERVICE_URL = void 0;
const coreutils_1 = __webpack_require__(3228);
const serverconnection_1 = __webpack_require__(2685);
/**
 * The url for the terminal service.
 */
exports.TERMINAL_SERVICE_URL = 'api/terminals';
/**
 * Whether the terminal service is available.
 */
function isAvailable() {
    const available = String(coreutils_1.PageConfig.getOption('terminalsAvailable'));
    return available.toLowerCase() === 'true';
}
exports.isAvailable = isAvailable;
/**
 * Start a new terminal session.
 *
 * @param settings - The server settings to use.
 *
 * @param name - The name of the target terminal.
 *
 * @param cwd - The path in which the terminal will start.
 *
 * @returns A promise that resolves with the session model.
 */
async function startNew(settings = serverconnection_1.ServerConnection.makeSettings(), name, cwd) {
    Private.errorIfNotAvailable();
    const url = coreutils_1.URLExt.join(settings.baseUrl, exports.TERMINAL_SERVICE_URL);
    const init = {
        method: 'POST',
        body: JSON.stringify({ name, cwd })
    };
    const response = await serverconnection_1.ServerConnection.makeRequest(url, init, settings);
    if (response.status !== 200) {
        const err = await serverconnection_1.ServerConnection.ResponseError.create(response);
        throw err;
    }
    const data = await response.json();
    // TODO: Validate model
    return data;
}
exports.startNew = startNew;
/**
 * List the running terminal sessions.
 *
 * @param settings - The server settings to use.
 *
 * @returns A promise that resolves with the list of running session models.
 */
async function listRunning(settings = serverconnection_1.ServerConnection.makeSettings()) {
    Private.errorIfNotAvailable();
    const url = coreutils_1.URLExt.join(settings.baseUrl, exports.TERMINAL_SERVICE_URL);
    const response = await serverconnection_1.ServerConnection.makeRequest(url, {}, settings);
    if (response.status !== 200) {
        const err = await serverconnection_1.ServerConnection.ResponseError.create(response);
        throw err;
    }
    const data = await response.json();
    if (!Array.isArray(data)) {
        throw new Error('Invalid terminal list');
    }
    // TODO: validate each model
    return data;
}
exports.listRunning = listRunning;
/**
 * Shut down a terminal session by name.
 *
 * @param name - The name of the target session.
 *
 * @param settings - The server settings to use.
 *
 * @returns A promise that resolves when the session is shut down.
 */
async function shutdownTerminal(name, settings = serverconnection_1.ServerConnection.makeSettings()) {
    var _a;
    Private.errorIfNotAvailable();
    const workspacesBase = coreutils_1.URLExt.join(settings.baseUrl, exports.TERMINAL_SERVICE_URL);
    const url = coreutils_1.URLExt.join(workspacesBase, name);
    if (!url.startsWith(workspacesBase)) {
        throw new Error('Can only be used for terminal requests');
    }
    const init = { method: 'DELETE' };
    const response = await serverconnection_1.ServerConnection.makeRequest(url, init, settings);
    if (response.status === 404) {
        const data = await response.json();
        const msg = (_a = data.message) !== null && _a !== void 0 ? _a : `The terminal session "${name}"" does not exist on the server`;
        console.warn(msg);
    }
    else if (response.status !== 204) {
        const err = await serverconnection_1.ServerConnection.ResponseError.create(response);
        throw err;
    }
}
exports.shutdownTerminal = shutdownTerminal;
var Private;
(function (Private) {
    /**
     * Throw an error if terminals are not available.
     */
    function errorIfNotAvailable() {
        if (!isAvailable()) {
            throw new Error('Terminals Unavailable');
        }
    }
    Private.errorIfNotAvailable = errorIfNotAvailable;
})(Private || (Private = {}));
//# sourceMappingURL=restapi.js.map

/***/ }),

/***/ 3009:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {


// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.isAvailable = void 0;
const restapi_1 = __webpack_require__(9827);
Object.defineProperty(exports, "isAvailable", ({ enumerable: true, get: function () { return restapi_1.isAvailable; } }));
//# sourceMappingURL=terminal.js.map

/***/ }),

/***/ 2442:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {


// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.UserManager = void 0;
const coreutils_1 = __webpack_require__(3228);
const coreutils_2 = __webpack_require__(2359);
const polling_1 = __webpack_require__(6538);
const signaling_1 = __webpack_require__(7339);
const serverconnection_1 = __webpack_require__(2685);
const basemanager_1 = __webpack_require__(2720);
/**
 * The url for the lab workspaces service.
 */
const SERVICE_USER_URL = 'api/me';
/**
 * The service's ID.
 * Used to uniquely identify the poll, and
 * the item in local storage.
 */
const SERVICE_ID = '@jupyterlab/services:UserManager#user';
/**
 * The user API service manager.
 */
class UserManager extends basemanager_1.BaseManager {
    /**
     * Create a new user manager.
     */
    constructor(options = {}) {
        var _a;
        super(options);
        this._isReady = false;
        this._userChanged = new signaling_1.Signal(this);
        this._connectionFailure = new signaling_1.Signal(this);
        // Initialize internal data.
        this._ready = this.requestUser()
            .then(() => {
            if (this.isDisposed) {
                return;
            }
            this._isReady = true;
        })
            .catch(_ => 
        // Return a promise that will never resolve, so user service is never ready
        // This typically occurs when the backend has no user service
        new Promise(() => {
            // no-op
        }));
        this._pollSpecs = new polling_1.Poll({
            auto: false,
            factory: () => this.requestUser(),
            frequency: {
                interval: 61 * 1000,
                backoff: true,
                max: 300 * 1000
            },
            name: SERVICE_ID,
            standby: (_a = options.standby) !== null && _a !== void 0 ? _a : 'when-hidden'
        });
        void this.ready.then(() => {
            void this._pollSpecs.start();
        });
    }
    /**
     * Test whether the manager is ready.
     */
    get isReady() {
        return this._isReady;
    }
    /**
     * A promise that fulfills when the manager is ready.
     */
    get ready() {
        return this._ready;
    }
    /**
     * Get the most recently fetched identity.
     */
    get identity() {
        return this._identity;
    }
    /**
     * Get the most recently fetched permissions.
     */
    get permissions() {
        return this._permissions;
    }
    /**
     * A signal emitted when the user changes.
     */
    get userChanged() {
        return this._userChanged;
    }
    /**
     * A signal emitted when there is a connection failure.
     */
    get connectionFailure() {
        return this._connectionFailure;
    }
    /**
     * Dispose of the resources used by the manager.
     */
    dispose() {
        this._pollSpecs.dispose();
        super.dispose();
    }
    /**
     * Force a refresh of the specs from the server.
     *
     * @returns A promise that resolves when the specs are fetched.
     *
     * #### Notes
     * This is intended to be called only in response to a user action,
     * since the manager maintains its internal state.
     */
    async refreshUser() {
        await this._pollSpecs.refresh();
        await this._pollSpecs.tick;
    }
    /**
     * Execute a request to the server to poll the user and update state.
     */
    async requestUser() {
        if (this.isDisposed) {
            return;
        }
        const { baseUrl } = this.serverSettings;
        const { makeRequest, ResponseError } = serverconnection_1.ServerConnection;
        const url = coreutils_1.URLExt.join(baseUrl, SERVICE_USER_URL);
        const response = await makeRequest(url, {}, this.serverSettings);
        if (response.status !== 200) {
            const err = await ResponseError.create(response);
            throw err;
        }
        const oldUser = {
            identity: this._identity,
            permissions: this._permissions
        };
        const newUser = await response.json();
        const identity = newUser.identity;
        // store the color and initials for the user
        // this info is not provided by the server
        const { localStorage } = window;
        const data = localStorage.getItem(SERVICE_ID);
        if (data && (!identity.initials || !identity.color)) {
            const localUser = JSON.parse(data);
            identity.initials =
                identity.initials ||
                    localUser.initials ||
                    identity.name.substring(0, 1);
            identity.color =
                identity.color || localUser.color || Private.getRandomColor();
        }
        if (!coreutils_2.JSONExt.deepEqual(newUser, oldUser)) {
            this._identity = identity;
            this._permissions = newUser.permissions;
            localStorage.setItem(SERVICE_ID, JSON.stringify(identity));
            this._userChanged.emit(newUser);
        }
    }
}
exports.UserManager = UserManager;
/**
 * A namespace for module-private functionality.
 *
 * Note: We do not want to export this function
 * to move it to css variables in the Theme.
 */
var Private;
(function (Private) {
    /**
     * Predefined colors for users
     */
    const userColors = [
        'var(--jp-collaborator-color1)',
        'var(--jp-collaborator-color2)',
        'var(--jp-collaborator-color3)',
        'var(--jp-collaborator-color4)',
        'var(--jp-collaborator-color5)',
        'var(--jp-collaborator-color6)',
        'var(--jp-collaborator-color7)'
    ];
    /**
     * Get a random color from the list of colors.
     */
    Private.getRandomColor = () => userColors[Math.floor(Math.random() * userColors.length)];
})(Private || (Private = {}));
//# sourceMappingURL=index.js.map

/***/ }),

/***/ 1852:
/***/ ((__unused_webpack_module, exports) => {


// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.validateProperty = void 0;
/**
 * Validate a property as being on an object, and optionally
 * of a given type and among a given set of values.
 */
function validateProperty(
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
object, name, typeName, values = []) {
    if (!object.hasOwnProperty(name)) {
        throw Error(`Missing property '${name}'`);
    }
    const value = object[name];
    if (typeName !== void 0) {
        let valid = true;
        switch (typeName) {
            case 'array':
                valid = Array.isArray(value);
                break;
            case 'object':
                valid = typeof value !== 'undefined';
                break;
            default:
                valid = typeof value === typeName;
        }
        if (!valid) {
            throw new Error(`Property '${name}' is not of type '${typeName}'`);
        }
        if (values.length > 0) {
            let valid = true;
            switch (typeName) {
                case 'string':
                case 'number':
                case 'boolean':
                    valid = values.includes(value);
                    break;
                default:
                    valid = values.findIndex(v => v === value) >= 0;
                    break;
            }
            if (!valid) {
                throw new Error(`Property '${name}' is not one of the valid values ${JSON.stringify(values)}`);
            }
        }
    }
}
exports.validateProperty = validateProperty;
//# sourceMappingURL=validate.js.map

/***/ }),

/***/ 8806:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {


// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.WorkspaceManager = void 0;
const coreutils_1 = __webpack_require__(3228);
const statedb_1 = __webpack_require__(3431);
const serverconnection_1 = __webpack_require__(2685);
/**
 * The url for the lab workspaces service.
 */
const SERVICE_WORKSPACES_URL = 'api/workspaces';
/**
 * The workspaces API service manager.
 */
class WorkspaceManager extends statedb_1.DataConnector {
    /**
     * Create a new workspace manager.
     */
    constructor(options = {}) {
        var _a;
        super();
        this.serverSettings =
            (_a = options.serverSettings) !== null && _a !== void 0 ? _a : serverconnection_1.ServerConnection.makeSettings();
    }
    /**
     * Fetch a workspace.
     *
     * @param id - The workspace's ID.
     *
     * @returns A promise that resolves if successful.
     */
    async fetch(id) {
        const { serverSettings } = this;
        const { baseUrl, appUrl } = serverSettings;
        const { makeRequest, ResponseError } = serverconnection_1.ServerConnection;
        const base = baseUrl + appUrl;
        const url = Private.url(base, id);
        const response = await makeRequest(url, {}, serverSettings);
        if (response.status !== 200) {
            const err = await ResponseError.create(response);
            throw err;
        }
        return response.json();
    }
    /**
     * Fetch the list of workspace IDs that exist on the server.
     *
     * @returns A promise that resolves if successful.
     */
    async list() {
        const { serverSettings } = this;
        const { baseUrl, appUrl } = serverSettings;
        const { makeRequest, ResponseError } = serverconnection_1.ServerConnection;
        const base = baseUrl + appUrl;
        const url = Private.url(base, '');
        const response = await makeRequest(url, {}, serverSettings);
        if (response.status !== 200) {
            const err = await ResponseError.create(response);
            throw err;
        }
        const result = await response.json();
        return result.workspaces;
    }
    /**
     * Remove a workspace from the server.
     *
     * @param id - The workspaces's ID.
     *
     * @returns A promise that resolves if successful.
     */
    async remove(id) {
        const { serverSettings } = this;
        const { baseUrl, appUrl } = serverSettings;
        const { makeRequest, ResponseError } = serverconnection_1.ServerConnection;
        const base = baseUrl + appUrl;
        const url = Private.url(base, id);
        const init = { method: 'DELETE' };
        const response = await makeRequest(url, init, serverSettings);
        if (response.status !== 204) {
            const err = await ResponseError.create(response);
            throw err;
        }
    }
    /**
     * Save a workspace.
     *
     * @param id - The workspace's ID.
     *
     * @param workspace - The workspace being saved.
     *
     * @returns A promise that resolves if successful.
     */
    async save(id, workspace) {
        const { serverSettings } = this;
        const { baseUrl, appUrl } = serverSettings;
        const { makeRequest, ResponseError } = serverconnection_1.ServerConnection;
        const base = baseUrl + appUrl;
        const url = Private.url(base, id);
        const init = { body: JSON.stringify(workspace), method: 'PUT' };
        const response = await makeRequest(url, init, serverSettings);
        if (response.status !== 204) {
            const err = await ResponseError.create(response);
            throw err;
        }
    }
}
exports.WorkspaceManager = WorkspaceManager;
/**
 * A namespace for private data.
 */
var Private;
(function (Private) {
    /**
     * Get the url for a workspace.
     */
    function url(base, id) {
        const workspacesBase = coreutils_1.URLExt.join(base, SERVICE_WORKSPACES_URL);
        const result = coreutils_1.URLExt.join(workspacesBase, id);
        if (!result.startsWith(workspacesBase)) {
            throw new Error('Can only be used for workspaces requests');
        }
        return result;
    }
    Private.url = url;
})(Private || (Private = {}));
//# sourceMappingURL=index.js.map

/***/ }),

/***/ 8380:
/***/ ((__unused_webpack_module, exports) => {


// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.DataConnector = void 0;
/**
 * An abstract class that adheres to the data connector interface.
 *
 * @typeparam T - The basic entity response type a service's connector.
 *
 * @typeparam U - The basic entity request type, which is conventionally the
 * same as the response type but may be different if a service's implementation
 * requires input data to be different from output responses. Defaults to `T`.
 *
 * @typeparam V - The basic token applied to a request, conventionally a string
 * ID or filter, but may be set to a different type when an implementation
 * requires it. Defaults to `string`.
 *
 * @typeparam W - The type of the optional `query` parameter of the `list`
 * method. Defaults to `string`.
 *
 * #### Notes
 * The only abstract method in this class is the `fetch` method, which must be
 * reimplemented by all subclasses. The `remove` and `save` methods have a
 * default implementation that returns a promise that will always reject. This
 * class is a convenience superclass for connectors that only need to `fetch`.
 */
class DataConnector {
    /**
     * Retrieve the list of items available from the data connector.
     *
     * @param query - The optional query filter to apply to the connector request.
     *
     * @returns A promise that always rejects with an error.
     *
     * #### Notes
     * Subclasses should reimplement if they support a back-end that can list.
     */
    async list(query) {
        throw new Error('DataConnector#list method has not been implemented.');
    }
    /**
     * Remove a value using the data connector.
     *
     * @param id - The identifier for the data being removed.
     *
     * @returns A promise that always rejects with an error.
     *
     * #### Notes
     * Subclasses should reimplement if they support a back-end that can remove.
     */
    async remove(id) {
        throw new Error('DataConnector#remove method has not been implemented.');
    }
    /**
     * Save a value using the data connector.
     *
     * @param id - The identifier for the data being saved.
     *
     * @param value - The data being saved.
     *
     * @returns A promise that always rejects with an error.
     *
     * #### Notes
     * Subclasses should reimplement if they support a back-end that can save.
     */
    async save(id, value) {
        throw new Error('DataConnector#save method has not been implemented.');
    }
}
exports.DataConnector = DataConnector;
//# sourceMappingURL=dataconnector.js.map

/***/ }),

/***/ 3431:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {


/* -----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
/**
 * @packageDocumentation
 * @module statedb
 */
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
__exportStar(__webpack_require__(8380), exports);
__exportStar(__webpack_require__(4419), exports);
__exportStar(__webpack_require__(2410), exports);
__exportStar(__webpack_require__(8140), exports);
__exportStar(__webpack_require__(153), exports);
//# sourceMappingURL=index.js.map

/***/ }),

/***/ 4419:
/***/ ((__unused_webpack_module, exports) => {


// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
Object.defineProperty(exports, "__esModule", ({ value: true }));
//# sourceMappingURL=interfaces.js.map

/***/ }),

/***/ 2410:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {


// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.RestorablePool = void 0;
const coreutils_1 = __webpack_require__(2359);
const properties_1 = __webpack_require__(5328);
const signaling_1 = __webpack_require__(7339);
/**
 * An object pool that supports restoration.
 *
 * @typeparam T - The type of object being tracked.
 */
class RestorablePool {
    /**
     * Create a new restorable pool.
     *
     * @param options - The instantiation options for a restorable pool.
     */
    constructor(options) {
        this._added = new signaling_1.Signal(this);
        this._current = null;
        this._currentChanged = new signaling_1.Signal(this);
        this._hasRestored = false;
        this._isDisposed = false;
        this._objects = new Set();
        this._restore = null;
        this._restored = new coreutils_1.PromiseDelegate();
        this._updated = new signaling_1.Signal(this);
        this.namespace = options.namespace;
    }
    /**
     * A signal emitted when an object object is added.
     *
     * #### Notes
     * This signal will only fire when an object is added to the pool.
     * It will not fire if an object injected into the pool.
     */
    get added() {
        return this._added;
    }
    /**
     * The current object.
     *
     * #### Notes
     * The restorable pool does not set `current`. It is intended for client use.
     *
     * If `current` is set to an object that does not exist in the pool, it is a
     * no-op.
     */
    get current() {
        return this._current;
    }
    set current(obj) {
        if (this._current === obj) {
            return;
        }
        if (obj !== null && this._objects.has(obj)) {
            this._current = obj;
            this._currentChanged.emit(this._current);
        }
    }
    /**
     * A signal emitted when the current widget changes.
     */
    get currentChanged() {
        return this._currentChanged;
    }
    /**
     * Test whether the pool is disposed.
     */
    get isDisposed() {
        return this._isDisposed;
    }
    /**
     * A promise resolved when the restorable pool has been restored.
     */
    get restored() {
        return this._restored.promise;
    }
    /**
     * The number of objects held by the pool.
     */
    get size() {
        return this._objects.size;
    }
    /**
     * A signal emitted when an object is updated.
     */
    get updated() {
        return this._updated;
    }
    /**
     * Add a new object to the pool.
     *
     * @param obj - The object object being added.
     *
     * #### Notes
     * The object passed into the pool is added synchronously; its existence in
     * the pool can be checked with the `has()` method. The promise this method
     * returns resolves after the object has been added and saved to an underlying
     * restoration connector, if one is available.
     */
    async add(obj) {
        var _a, _b;
        if (obj.isDisposed) {
            const warning = 'A disposed object cannot be added.';
            console.warn(warning, obj);
            throw new Error(warning);
        }
        if (this._objects.has(obj)) {
            const warning = 'This object already exists in the pool.';
            console.warn(warning, obj);
            throw new Error(warning);
        }
        this._objects.add(obj);
        obj.disposed.connect(this._onInstanceDisposed, this);
        if (Private.injectedProperty.get(obj)) {
            return;
        }
        if (this._restore) {
            const { connector } = this._restore;
            const objName = this._restore.name(obj);
            if (objName) {
                const name = `${this.namespace}:${objName}`;
                const data = (_b = (_a = this._restore).args) === null || _b === void 0 ? void 0 : _b.call(_a, obj);
                Private.nameProperty.set(obj, name);
                await connector.save(name, { data });
            }
        }
        // Emit the added signal.
        this._added.emit(obj);
    }
    /**
     * Dispose of the resources held by the pool.
     *
     * #### Notes
     * Disposing a pool does not affect the underlying data in the data connector,
     * it simply disposes the client-side pool without making any connector calls.
     */
    dispose() {
        if (this.isDisposed) {
            return;
        }
        this._current = null;
        this._isDisposed = true;
        this._objects.clear();
        signaling_1.Signal.clearData(this);
    }
    /**
     * Find the first object in the pool that satisfies a filter function.
     *
     * @param fn The filter function to call on each object.
     */
    find(fn) {
        const values = this._objects.values();
        for (const value of values) {
            if (fn(value)) {
                return value;
            }
        }
        return undefined;
    }
    /**
     * Iterate through each object in the pool.
     *
     * @param fn - The function to call on each object.
     */
    forEach(fn) {
        this._objects.forEach(fn);
    }
    /**
     * Filter the objects in the pool based on a predicate.
     *
     * @param fn - The function by which to filter.
     */
    filter(fn) {
        const filtered = [];
        this.forEach(obj => {
            if (fn(obj)) {
                filtered.push(obj);
            }
        });
        return filtered;
    }
    /**
     * Inject an object into the restorable pool without the pool handling its
     * restoration lifecycle.
     *
     * @param obj - The object to inject into the pool.
     */
    inject(obj) {
        Private.injectedProperty.set(obj, true);
        return this.add(obj);
    }
    /**
     * Check if this pool has the specified object.
     *
     * @param obj - The object whose existence is being checked.
     */
    has(obj) {
        return this._objects.has(obj);
    }
    /**
     * Restore the objects in this pool's namespace.
     *
     * @param options - The configuration options that describe restoration.
     *
     * @returns A promise that resolves when restoration has completed.
     *
     * #### Notes
     * This function should almost never be invoked by client code. Its primary
     * use case is to be invoked by a layout restorer plugin that handles
     * multiple restorable pools and, when ready, asks them each to restore their
     * respective objects.
     */
    async restore(options) {
        if (this._hasRestored) {
            throw new Error('This pool has already been restored.');
        }
        this._hasRestored = true;
        const { command, connector, registry, when } = options;
        const namespace = this.namespace;
        const promises = when
            ? [connector.list(namespace)].concat(when)
            : [connector.list(namespace)];
        this._restore = options;
        const [saved] = await Promise.all(promises);
        const values = await Promise.all(saved.ids.map(async (id, index) => {
            const value = saved.values[index];
            const args = value && value.data;
            if (args === undefined) {
                return connector.remove(id);
            }
            // Execute the command and if it fails, delete the state restore data.
            return registry
                .execute(command, args)
                .catch(() => connector.remove(id));
        }));
        this._restored.resolve();
        return values;
    }
    /**
     * Save the restore data for a given object.
     *
     * @param obj - The object being saved.
     */
    async save(obj) {
        var _a, _b;
        const injected = Private.injectedProperty.get(obj);
        if (!this._restore || !this.has(obj) || injected) {
            return;
        }
        const { connector } = this._restore;
        const objName = this._restore.name(obj);
        const oldName = Private.nameProperty.get(obj);
        const newName = objName ? `${this.namespace}:${objName}` : '';
        if (oldName && oldName !== newName) {
            await connector.remove(oldName);
        }
        // Set the name property irrespective of whether the new name is null.
        Private.nameProperty.set(obj, newName);
        if (newName) {
            const data = (_b = (_a = this._restore).args) === null || _b === void 0 ? void 0 : _b.call(_a, obj);
            await connector.save(newName, { data });
        }
        if (oldName !== newName) {
            this._updated.emit(obj);
        }
    }
    /**
     * Clean up after disposed objects.
     */
    _onInstanceDisposed(obj) {
        this._objects.delete(obj);
        if (obj === this._current) {
            this._current = null;
            this._currentChanged.emit(this._current);
        }
        if (Private.injectedProperty.get(obj)) {
            return;
        }
        if (!this._restore) {
            return;
        }
        const { connector } = this._restore;
        const name = Private.nameProperty.get(obj);
        if (name) {
            void connector.remove(name);
        }
    }
}
exports.RestorablePool = RestorablePool;
/*
 * A namespace for private data.
 */
var Private;
(function (Private) {
    /**
     * An attached property to indicate whether an object has been injected.
     */
    Private.injectedProperty = new properties_1.AttachedProperty({
        name: 'injected',
        create: () => false
    });
    /**
     * An attached property for an object's ID.
     */
    Private.nameProperty = new properties_1.AttachedProperty({
        name: 'name',
        create: () => ''
    });
})(Private || (Private = {}));
//# sourceMappingURL=restorablepool.js.map

/***/ }),

/***/ 8140:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {


// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.StateDB = void 0;
const signaling_1 = __webpack_require__(7339);
/**
 * The default concrete implementation of a state database.
 */
class StateDB {
    /**
     * Create a new state database.
     *
     * @param options - The instantiation options for a state database.
     */
    constructor(options = {}) {
        this._changed = new signaling_1.Signal(this);
        const { connector, transform } = options;
        this._connector = connector || new StateDB.Connector();
        if (!transform) {
            this._ready = Promise.resolve(undefined);
        }
        else {
            this._ready = transform.then(transformation => {
                const { contents, type } = transformation;
                switch (type) {
                    case 'cancel':
                        return;
                    case 'clear':
                        return this._clear();
                    case 'merge':
                        return this._merge(contents || {});
                    case 'overwrite':
                        return this._overwrite(contents || {});
                    default:
                        return;
                }
            });
        }
    }
    /**
     * A signal that emits the change type any time a value changes.
     */
    get changed() {
        return this._changed;
    }
    /**
     * Clear the entire database.
     */
    async clear() {
        await this._ready;
        await this._clear();
    }
    /**
     * Retrieve a saved bundle from the database.
     *
     * @param id - The identifier used to retrieve a data bundle.
     *
     * @returns A promise that bears a data payload if available.
     *
     * #### Notes
     * The `id` values of stored items in the state database are formatted:
     * `'namespace:identifier'`, which is the same convention that command
     * identifiers in JupyterLab use as well. While this is not a technical
     * requirement for `fetch()`, `remove()`, and `save()`, it *is* necessary for
     * using the `list(namespace: string)` method.
     *
     * The promise returned by this method may be rejected if an error occurs in
     * retrieving the data. Non-existence of an `id` will succeed with the `value`
     * `undefined`.
     */
    async fetch(id) {
        await this._ready;
        return this._fetch(id);
    }
    /**
     * Retrieve all the saved bundles for a namespace.
     *
     * @param namespace The namespace prefix to retrieve.
     *
     * @returns A promise that bears a collection of payloads for a namespace.
     *
     * #### Notes
     * Namespaces are entirely conventional entities. The `id` values of stored
     * items in the state database are formatted: `'namespace:identifier'`, which
     * is the same convention that command identifiers in JupyterLab use as well.
     *
     * If there are any errors in retrieving the data, they will be logged to the
     * console in order to optimistically return any extant data without failing.
     * This promise will always succeed.
     */
    async list(namespace) {
        await this._ready;
        return this._list(namespace);
    }
    /**
     * Remove a value from the database.
     *
     * @param id - The identifier for the data being removed.
     *
     * @returns A promise that is rejected if remove fails and succeeds otherwise.
     */
    async remove(id) {
        await this._ready;
        await this._remove(id);
        this._changed.emit({ id, type: 'remove' });
    }
    /**
     * Save a value in the database.
     *
     * @param id - The identifier for the data being saved.
     *
     * @param value - The data being saved.
     *
     * @returns A promise that is rejected if saving fails and succeeds otherwise.
     *
     * #### Notes
     * The `id` values of stored items in the state database are formatted:
     * `'namespace:identifier'`, which is the same convention that command
     * identifiers in JupyterLab use as well. While this is not a technical
     * requirement for `fetch()`, `remove()`, and `save()`, it *is* necessary for
     * using the `list(namespace: string)` method.
     */
    async save(id, value) {
        await this._ready;
        await this._save(id, value);
        this._changed.emit({ id, type: 'save' });
    }
    /**
     * Return a serialized copy of the state database's entire contents.
     *
     * @returns A promise that resolves with the database contents as JSON.
     */
    async toJSON() {
        await this._ready;
        const { ids, values } = await this._list();
        return values.reduce((acc, val, idx) => {
            acc[ids[idx]] = val;
            return acc;
        }, {});
    }
    /**
     * Clear the entire database.
     */
    async _clear() {
        await Promise.all((await this._list()).ids.map(id => this._remove(id)));
    }
    /**
     * Fetch a value from the database.
     */
    async _fetch(id) {
        const value = await this._connector.fetch(id);
        if (value) {
            return JSON.parse(value).v;
        }
    }
    /**
     * Fetch a list from the database.
     */
    async _list(namespace = '') {
        const { ids, values } = await this._connector.list(namespace);
        return {
            ids,
            values: values.map(val => JSON.parse(val).v)
        };
    }
    /**
     * Merge data into the state database.
     */
    async _merge(contents) {
        await Promise.all(Object.keys(contents).map(key => contents[key] && this._save(key, contents[key])));
    }
    /**
     * Overwrite the entire database with new contents.
     */
    async _overwrite(contents) {
        await this._clear();
        await this._merge(contents);
    }
    /**
     * Remove a key in the database.
     */
    async _remove(id) {
        return this._connector.remove(id);
    }
    /**
     * Save a key and its value in the database.
     */
    async _save(id, value) {
        return this._connector.save(id, JSON.stringify({ v: value }));
    }
}
exports.StateDB = StateDB;
/**
 * A namespace for StateDB statics.
 */
(function (StateDB) {
    /**
     * An in-memory string key/value data connector.
     */
    class Connector {
        constructor() {
            this._storage = {};
        }
        /**
         * Retrieve an item from the data connector.
         */
        async fetch(id) {
            return this._storage[id];
        }
        /**
         * Retrieve the list of items available from the data connector.
         *
         * @param namespace - If not empty, only keys whose first token before `:`
         * exactly match `namespace` will be returned, e.g. `foo` in `foo:bar`.
         */
        async list(namespace = '') {
            return Object.keys(this._storage).reduce((acc, val) => {
                if (namespace === '' ? true : namespace === val.split(':')[0]) {
                    acc.ids.push(val);
                    acc.values.push(this._storage[val]);
                }
                return acc;
            }, { ids: [], values: [] });
        }
        /**
         * Remove a value using the data connector.
         */
        async remove(id) {
            delete this._storage[id];
        }
        /**
         * Save a value using the data connector.
         */
        async save(id, value) {
            this._storage[id] = value;
        }
    }
    StateDB.Connector = Connector;
})(StateDB || (exports.StateDB = StateDB = {}));
//# sourceMappingURL=statedb.js.map

/***/ }),

/***/ 153:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {


// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.IStateDB = void 0;
const coreutils_1 = __webpack_require__(2359);
/**
 * The default state database token.
 */
exports.IStateDB = new coreutils_1.Token('@jupyterlab/coreutils:IStateDB', `A service for the JupyterLab state database.
  Use this if you want to store data that will persist across page loads.
  See "state database" for more information.`);
//# sourceMappingURL=tokens.js.map

/***/ }),

/***/ 2144:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   ArrayExt: () => (/* binding */ ArrayExt),
/* harmony export */   StringExt: () => (/* binding */ StringExt),
/* harmony export */   chain: () => (/* binding */ chain),
/* harmony export */   each: () => (/* binding */ each),
/* harmony export */   empty: () => (/* binding */ empty),
/* harmony export */   enumerate: () => (/* binding */ enumerate),
/* harmony export */   every: () => (/* binding */ every),
/* harmony export */   filter: () => (/* binding */ filter),
/* harmony export */   find: () => (/* binding */ find),
/* harmony export */   findIndex: () => (/* binding */ findIndex),
/* harmony export */   map: () => (/* binding */ map),
/* harmony export */   max: () => (/* binding */ max),
/* harmony export */   min: () => (/* binding */ min),
/* harmony export */   minmax: () => (/* binding */ minmax),
/* harmony export */   once: () => (/* binding */ once),
/* harmony export */   range: () => (/* binding */ range),
/* harmony export */   reduce: () => (/* binding */ reduce),
/* harmony export */   repeat: () => (/* binding */ repeat),
/* harmony export */   retro: () => (/* binding */ retro),
/* harmony export */   some: () => (/* binding */ some),
/* harmony export */   stride: () => (/* binding */ stride),
/* harmony export */   take: () => (/* binding */ take),
/* harmony export */   toArray: () => (/* binding */ toArray),
/* harmony export */   toObject: () => (/* binding */ toObject),
/* harmony export */   topologicSort: () => (/* binding */ topologicSort),
/* harmony export */   zip: () => (/* binding */ zip)
/* harmony export */ });
// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
/*-----------------------------------------------------------------------------
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/
/**
 * The namespace for array-specific algorithms.
 */
var ArrayExt;
(function (ArrayExt) {
    /**
     * Find the index of the first occurrence of a value in an array.
     *
     * @param array - The array-like object to search.
     *
     * @param value - The value to locate in the array. Values are
     *   compared using strict `===` equality.
     *
     * @param start - The index of the first element in the range to be
     *   searched, inclusive. The default value is `0`. Negative values
     *   are taken as an offset from the end of the array.
     *
     * @param stop - The index of the last element in the range to be
     *   searched, inclusive. The default value is `-1`. Negative values
     *   are taken as an offset from the end of the array.
     *
     * @returns The index of the first occurrence of the value, or `-1`
     *   if the value is not found.
     *
     * #### Notes
     * If `stop < start` the search will wrap at the end of the array.
     *
     * #### Complexity
     * Linear.
     *
     * #### Undefined Behavior
     * A `start` or `stop` which is non-integral.
     *
     * #### Example
     * ```typescript
     * import { ArrayExt } from '@lumino/algorithm';
     *
     * let data = ['one', 'two', 'three', 'four', 'one'];
     * ArrayExt.firstIndexOf(data, 'red');        // -1
     * ArrayExt.firstIndexOf(data, 'one');        // 0
     * ArrayExt.firstIndexOf(data, 'one', 1);     // 4
     * ArrayExt.firstIndexOf(data, 'two', 2);     // -1
     * ArrayExt.firstIndexOf(data, 'two', 2, 1);  // 1
     * ```
     */
    function firstIndexOf(array, value, start = 0, stop = -1) {
        let n = array.length;
        if (n === 0) {
            return -1;
        }
        if (start < 0) {
            start = Math.max(0, start + n);
        }
        else {
            start = Math.min(start, n - 1);
        }
        if (stop < 0) {
            stop = Math.max(0, stop + n);
        }
        else {
            stop = Math.min(stop, n - 1);
        }
        let span;
        if (stop < start) {
            span = stop + 1 + (n - start);
        }
        else {
            span = stop - start + 1;
        }
        for (let i = 0; i < span; ++i) {
            let j = (start + i) % n;
            if (array[j] === value) {
                return j;
            }
        }
        return -1;
    }
    ArrayExt.firstIndexOf = firstIndexOf;
    /**
     * Find the index of the last occurrence of a value in an array.
     *
     * @param array - The array-like object to search.
     *
     * @param value - The value to locate in the array. Values are
     *   compared using strict `===` equality.
     *
     * @param start - The index of the first element in the range to be
     *   searched, inclusive. The default value is `-1`. Negative values
     *   are taken as an offset from the end of the array.
     *
     * @param stop - The index of the last element in the range to be
     *   searched, inclusive. The default value is `0`. Negative values
     *   are taken as an offset from the end of the array.
     *
     * @returns The index of the last occurrence of the value, or `-1`
     *   if the value is not found.
     *
     * #### Notes
     * If `start < stop` the search will wrap at the front of the array.
     *
     * #### Complexity
     * Linear.
     *
     * #### Undefined Behavior
     * A `start` or `stop` which is non-integral.
     *
     * #### Example
     * ```typescript
     * import { ArrayExt } from '@lumino/algorithm';
     *
     * let data = ['one', 'two', 'three', 'four', 'one'];
     * ArrayExt.lastIndexOf(data, 'red');        // -1
     * ArrayExt.lastIndexOf(data, 'one');        // 4
     * ArrayExt.lastIndexOf(data, 'one', 1);     // 0
     * ArrayExt.lastIndexOf(data, 'two', 0);     // -1
     * ArrayExt.lastIndexOf(data, 'two', 0, 1);  // 1
     * ```
     */
    function lastIndexOf(array, value, start = -1, stop = 0) {
        let n = array.length;
        if (n === 0) {
            return -1;
        }
        if (start < 0) {
            start = Math.max(0, start + n);
        }
        else {
            start = Math.min(start, n - 1);
        }
        if (stop < 0) {
            stop = Math.max(0, stop + n);
        }
        else {
            stop = Math.min(stop, n - 1);
        }
        let span;
        if (start < stop) {
            span = start + 1 + (n - stop);
        }
        else {
            span = start - stop + 1;
        }
        for (let i = 0; i < span; ++i) {
            let j = (start - i + n) % n;
            if (array[j] === value) {
                return j;
            }
        }
        return -1;
    }
    ArrayExt.lastIndexOf = lastIndexOf;
    /**
     * Find the index of the first value which matches a predicate.
     *
     * @param array - The array-like object to search.
     *
     * @param fn - The predicate function to apply to the values.
     *
     * @param start - The index of the first element in the range to be
     *   searched, inclusive. The default value is `0`. Negative values
     *   are taken as an offset from the end of the array.
     *
     * @param stop - The index of the last element in the range to be
     *   searched, inclusive. The default value is `-1`. Negative values
     *   are taken as an offset from the end of the array.
     *
     * @returns The index of the first matching value, or `-1` if no
     *   matching value is found.
     *
     * #### Notes
     * If `stop < start` the search will wrap at the end of the array.
     *
     * #### Complexity
     * Linear.
     *
     * #### Undefined Behavior
     * A `start` or `stop` which is non-integral.
     *
     * Modifying the length of the array while searching.
     *
     * #### Example
     * ```typescript
     * import { ArrayExt } from '@lumino/algorithm';
     *
     * function isEven(value: number): boolean {
     *   return value % 2 === 0;
     * }
     *
     * let data = [1, 2, 3, 4, 3, 2, 1];
     * ArrayExt.findFirstIndex(data, isEven);       // 1
     * ArrayExt.findFirstIndex(data, isEven, 4);    // 5
     * ArrayExt.findFirstIndex(data, isEven, 6);    // -1
     * ArrayExt.findFirstIndex(data, isEven, 6, 5); // 1
     * ```
     */
    function findFirstIndex(array, fn, start = 0, stop = -1) {
        let n = array.length;
        if (n === 0) {
            return -1;
        }
        if (start < 0) {
            start = Math.max(0, start + n);
        }
        else {
            start = Math.min(start, n - 1);
        }
        if (stop < 0) {
            stop = Math.max(0, stop + n);
        }
        else {
            stop = Math.min(stop, n - 1);
        }
        let span;
        if (stop < start) {
            span = stop + 1 + (n - start);
        }
        else {
            span = stop - start + 1;
        }
        for (let i = 0; i < span; ++i) {
            let j = (start + i) % n;
            if (fn(array[j], j)) {
                return j;
            }
        }
        return -1;
    }
    ArrayExt.findFirstIndex = findFirstIndex;
    /**
     * Find the index of the last value which matches a predicate.
     *
     * @param array - The array-like object to search.
     *
     * @param fn - The predicate function to apply to the values.
     *
     * @param start - The index of the first element in the range to be
     *   searched, inclusive. The default value is `-1`. Negative values
     *   are taken as an offset from the end of the array.
     *
     * @param stop - The index of the last element in the range to be
     *   searched, inclusive. The default value is `0`. Negative values
     *   are taken as an offset from the end of the array.
     *
     * @returns The index of the last matching value, or `-1` if no
     *   matching value is found.
     *
     * #### Notes
     * If `start < stop` the search will wrap at the front of the array.
     *
     * #### Complexity
     * Linear.
     *
     * #### Undefined Behavior
     * A `start` or `stop` which is non-integral.
     *
     * Modifying the length of the array while searching.
     *
     * #### Example
     * ```typescript
     * import { ArrayExt } from '@lumino/algorithm';
     *
     * function isEven(value: number): boolean {
     *   return value % 2 === 0;
     * }
     *
     * let data = [1, 2, 3, 4, 3, 2, 1];
     * ArrayExt.findLastIndex(data, isEven);        // 5
     * ArrayExt.findLastIndex(data, isEven, 4);     // 3
     * ArrayExt.findLastIndex(data, isEven, 0);     // -1
     * ArrayExt.findLastIndex(data, isEven, 0, 1);  // 5
     * ```
     */
    function findLastIndex(array, fn, start = -1, stop = 0) {
        let n = array.length;
        if (n === 0) {
            return -1;
        }
        if (start < 0) {
            start = Math.max(0, start + n);
        }
        else {
            start = Math.min(start, n - 1);
        }
        if (stop < 0) {
            stop = Math.max(0, stop + n);
        }
        else {
            stop = Math.min(stop, n - 1);
        }
        let d;
        if (start < stop) {
            d = start + 1 + (n - stop);
        }
        else {
            d = start - stop + 1;
        }
        for (let i = 0; i < d; ++i) {
            let j = (start - i + n) % n;
            if (fn(array[j], j)) {
                return j;
            }
        }
        return -1;
    }
    ArrayExt.findLastIndex = findLastIndex;
    /**
     * Find the first value which matches a predicate.
     *
     * @param array - The array-like object to search.
     *
     * @param fn - The predicate function to apply to the values.
     *
     * @param start - The index of the first element in the range to be
     *   searched, inclusive. The default value is `0`. Negative values
     *   are taken as an offset from the end of the array.
     *
     * @param stop - The index of the last element in the range to be
     *   searched, inclusive. The default value is `-1`. Negative values
     *   are taken as an offset from the end of the array.
     *
     * @returns The first matching value, or `undefined` if no matching
     *   value is found.
     *
     * #### Notes
     * If `stop < start` the search will wrap at the end of the array.
     *
     * #### Complexity
     * Linear.
     *
     * #### Undefined Behavior
     * A `start` or `stop` which is non-integral.
     *
     * Modifying the length of the array while searching.
     *
     * #### Example
     * ```typescript
     * import { ArrayExt } from '@lumino/algorithm';
     *
     * function isEven(value: number): boolean {
     *   return value % 2 === 0;
     * }
     *
     * let data = [1, 2, 3, 4, 3, 2, 1];
     * ArrayExt.findFirstValue(data, isEven);       // 2
     * ArrayExt.findFirstValue(data, isEven, 2);    // 4
     * ArrayExt.findFirstValue(data, isEven, 6);    // undefined
     * ArrayExt.findFirstValue(data, isEven, 6, 5); // 2
     * ```
     */
    function findFirstValue(array, fn, start = 0, stop = -1) {
        let index = findFirstIndex(array, fn, start, stop);
        return index !== -1 ? array[index] : undefined;
    }
    ArrayExt.findFirstValue = findFirstValue;
    /**
     * Find the last value which matches a predicate.
     *
     * @param object - The array-like object to search.
     *
     * @param fn - The predicate function to apply to the values.
     *
     * @param start - The index of the first element in the range to be
     *   searched, inclusive. The default value is `-1`. Negative values
     *   are taken as an offset from the end of the array.
     *
     * @param stop - The index of the last element in the range to be
     *   searched, inclusive. The default value is `0`. Negative values
     *   are taken as an offset from the end of the array.
     *
     * @returns The last matching value, or `undefined` if no matching
     *   value is found.
     *
     * #### Notes
     * If `start < stop` the search will wrap at the front of the array.
     *
     * #### Complexity
     * Linear.
     *
     * #### Undefined Behavior
     * A `start` or `stop` which is non-integral.
     *
     * Modifying the length of the array while searching.
     *
     * #### Example
     * ```typescript
     * import { ArrayExt } from '@lumino/algorithm';
     *
     * function isEven(value: number): boolean {
     *   return value % 2 === 0;
     * }
     *
     * let data = [1, 2, 3, 4, 3, 2, 1];
     * ArrayExt.findLastValue(data, isEven);        // 2
     * ArrayExt.findLastValue(data, isEven, 4);     // 4
     * ArrayExt.findLastValue(data, isEven, 0);     // undefined
     * ArrayExt.findLastValue(data, isEven, 0, 1);  // 2
     * ```
     */
    function findLastValue(array, fn, start = -1, stop = 0) {
        let index = findLastIndex(array, fn, start, stop);
        return index !== -1 ? array[index] : undefined;
    }
    ArrayExt.findLastValue = findLastValue;
    /**
     * Find the index of the first element which compares `>=` to a value.
     *
     * @param array - The sorted array-like object to search.
     *
     * @param value - The value to locate in the array.
     *
     * @param fn - The 3-way comparison function to apply to the values.
     *   It should return `< 0` if an element is less than a value, `0` if
     *   an element is equal to a value, or `> 0` if an element is greater
     *   than a value.
     *
     * @param start - The index of the first element in the range to be
     *   searched, inclusive. The default value is `0`. Negative values
     *   are taken as an offset from the end of the array.
     *
     * @param stop - The index of the last element in the range to be
     *   searched, inclusive. The default value is `-1`. Negative values
     *   are taken as an offset from the end of the array.
     *
     * @returns The index of the first element which compares `>=` to the
     *   value, or `length` if there is no such element. If the computed
     *   index for `stop` is less than `start`, then the computed index
     *   for `start` is returned.
     *
     * #### Notes
     * The array must already be sorted in ascending order according to
     * the comparison function.
     *
     * #### Complexity
     * Logarithmic.
     *
     * #### Undefined Behavior
     * Searching a range which is not sorted in ascending order.
     *
     * A `start` or `stop` which is non-integral.
     *
     * Modifying the length of the array while searching.
     *
     * #### Example
     * ```typescript
     * import { ArrayExt } from '@lumino/algorithm';
     *
     * function numberCmp(a: number, b: number): number {
     *   return a - b;
     * }
     *
     * let data = [0, 3, 4, 7, 7, 9];
     * ArrayExt.lowerBound(data, 0, numberCmp);   // 0
     * ArrayExt.lowerBound(data, 6, numberCmp);   // 3
     * ArrayExt.lowerBound(data, 7, numberCmp);   // 3
     * ArrayExt.lowerBound(data, -1, numberCmp);  // 0
     * ArrayExt.lowerBound(data, 10, numberCmp);  // 6
     * ```
     */
    function lowerBound(array, value, fn, start = 0, stop = -1) {
        let n = array.length;
        if (n === 0) {
            return 0;
        }
        if (start < 0) {
            start = Math.max(0, start + n);
        }
        else {
            start = Math.min(start, n - 1);
        }
        if (stop < 0) {
            stop = Math.max(0, stop + n);
        }
        else {
            stop = Math.min(stop, n - 1);
        }
        let begin = start;
        let span = stop - start + 1;
        while (span > 0) {
            let half = span >> 1;
            let middle = begin + half;
            if (fn(array[middle], value) < 0) {
                begin = middle + 1;
                span -= half + 1;
            }
            else {
                span = half;
            }
        }
        return begin;
    }
    ArrayExt.lowerBound = lowerBound;
    /**
     * Find the index of the first element which compares `>` than a value.
     *
     * @param array - The sorted array-like object to search.
     *
     * @param value - The value to locate in the array.
     *
     * @param fn - The 3-way comparison function to apply to the values.
     *   It should return `< 0` if an element is less than a value, `0` if
     *   an element is equal to a value, or `> 0` if an element is greater
     *   than a value.
     *
     * @param start - The index of the first element in the range to be
     *   searched, inclusive. The default value is `0`. Negative values
     *   are taken as an offset from the end of the array.
     *
     * @param stop - The index of the last element in the range to be
     *   searched, inclusive. The default value is `-1`. Negative values
     *   are taken as an offset from the end of the array.
     *
     * @returns The index of the first element which compares `>` than the
     *   value, or `length` if there is no such element. If the computed
     *   index for `stop` is less than `start`, then the computed index
     *   for `start` is returned.
     *
     * #### Notes
     * The array must already be sorted in ascending order according to
     * the comparison function.
     *
     * #### Complexity
     * Logarithmic.
     *
     * #### Undefined Behavior
     * Searching a range which is not sorted in ascending order.
     *
     * A `start` or `stop` which is non-integral.
     *
     * Modifying the length of the array while searching.
     *
     * #### Example
     * ```typescript
     * import { ArrayExt } from '@lumino/algorithm';
     *
     * function numberCmp(a: number, b: number): number {
     *   return a - b;
     * }
     *
     * let data = [0, 3, 4, 7, 7, 9];
     * ArrayExt.upperBound(data, 0, numberCmp);   // 1
     * ArrayExt.upperBound(data, 6, numberCmp);   // 3
     * ArrayExt.upperBound(data, 7, numberCmp);   // 5
     * ArrayExt.upperBound(data, -1, numberCmp);  // 0
     * ArrayExt.upperBound(data, 10, numberCmp);  // 6
     * ```
     */
    function upperBound(array, value, fn, start = 0, stop = -1) {
        let n = array.length;
        if (n === 0) {
            return 0;
        }
        if (start < 0) {
            start = Math.max(0, start + n);
        }
        else {
            start = Math.min(start, n - 1);
        }
        if (stop < 0) {
            stop = Math.max(0, stop + n);
        }
        else {
            stop = Math.min(stop, n - 1);
        }
        let begin = start;
        let span = stop - start + 1;
        while (span > 0) {
            let half = span >> 1;
            let middle = begin + half;
            if (fn(array[middle], value) > 0) {
                span = half;
            }
            else {
                begin = middle + 1;
                span -= half + 1;
            }
        }
        return begin;
    }
    ArrayExt.upperBound = upperBound;
    /**
     * Test whether two arrays are shallowly equal.
     *
     * @param a - The first array-like object to compare.
     *
     * @param b - The second array-like object to compare.
     *
     * @param fn - The comparison function to apply to the elements. It
     *   should return `true` if the elements are "equal". The default
     *   compares elements using strict `===` equality.
     *
     * @returns Whether the two arrays are shallowly equal.
     *
     * #### Complexity
     * Linear.
     *
     * #### Undefined Behavior
     * Modifying the length of the arrays while comparing.
     *
     * #### Example
     * ```typescript
     * import { ArrayExt } from '@lumino/algorithm';
     *
     * let d1 = [0, 3, 4, 7, 7, 9];
     * let d2 = [0, 3, 4, 7, 7, 9];
     * let d3 = [42];
     * ArrayExt.shallowEqual(d1, d2);  // true
     * ArrayExt.shallowEqual(d2, d3);  // false
     * ```
     */
    function shallowEqual(a, b, fn) {
        // Check for object identity first.
        if (a === b) {
            return true;
        }
        // Bail early if the lengths are different.
        if (a.length !== b.length) {
            return false;
        }
        // Compare each element for equality.
        for (let i = 0, n = a.length; i < n; ++i) {
            if (fn ? !fn(a[i], b[i]) : a[i] !== b[i]) {
                return false;
            }
        }
        // The array are shallowly equal.
        return true;
    }
    ArrayExt.shallowEqual = shallowEqual;
    /**
     * Create a slice of an array subject to an optional step.
     *
     * @param array - The array-like object of interest.
     *
     * @param options - The options for configuring the slice.
     *
     * @returns A new array with the specified values.
     *
     * @throws An exception if the slice `step` is `0`.
     *
     * #### Complexity
     * Linear.
     *
     * #### Undefined Behavior
     * A `start`, `stop`, or `step` which is non-integral.
     *
     * #### Example
     * ```typescript
     * import { ArrayExt } from '@lumino/algorithm';
     *
     * let data = [0, 3, 4, 7, 7, 9];
     * ArrayExt.slice(data);                         // [0, 3, 4, 7, 7, 9]
     * ArrayExt.slice(data, { start: 2 });           // [4, 7, 7, 9]
     * ArrayExt.slice(data, { start: 0, stop: 4 });  // [0, 3, 4, 7]
     * ArrayExt.slice(data, { step: 2 });            // [0, 4, 7]
     * ArrayExt.slice(data, { step: -1 });           // [9, 7, 7, 4, 3, 0]
     * ```
     */
    function slice(array, options = {}) {
        // Extract the options.
        let { start, stop, step } = options;
        // Set up the `step` value.
        if (step === undefined) {
            step = 1;
        }
        // Validate the step size.
        if (step === 0) {
            throw new Error('Slice `step` cannot be zero.');
        }
        // Look up the length of the array.
        let n = array.length;
        // Set up the `start` value.
        if (start === undefined) {
            start = step < 0 ? n - 1 : 0;
        }
        else if (start < 0) {
            start = Math.max(start + n, step < 0 ? -1 : 0);
        }
        else if (start >= n) {
            start = step < 0 ? n - 1 : n;
        }
        // Set up the `stop` value.
        if (stop === undefined) {
            stop = step < 0 ? -1 : n;
        }
        else if (stop < 0) {
            stop = Math.max(stop + n, step < 0 ? -1 : 0);
        }
        else if (stop >= n) {
            stop = step < 0 ? n - 1 : n;
        }
        // Compute the slice length.
        let length;
        if ((step < 0 && stop >= start) || (step > 0 && start >= stop)) {
            length = 0;
        }
        else if (step < 0) {
            length = Math.floor((stop - start + 1) / step + 1);
        }
        else {
            length = Math.floor((stop - start - 1) / step + 1);
        }
        // Compute the sliced result.
        let result = [];
        for (let i = 0; i < length; ++i) {
            result[i] = array[start + i * step];
        }
        // Return the result.
        return result;
    }
    ArrayExt.slice = slice;
    /**
     * Move an element in an array from one index to another.
     *
     * @param array - The mutable array-like object of interest.
     *
     * @param fromIndex - The index of the element to move. Negative
     *   values are taken as an offset from the end of the array.
     *
     * @param toIndex - The target index of the element. Negative
     *   values are taken as an offset from the end of the array.
     *
     * #### Complexity
     * Linear.
     *
     * #### Undefined Behavior
     * A `fromIndex` or `toIndex` which is non-integral.
     *
     * #### Example
     * ```typescript
     * import { ArrayExt } from from '@lumino/algorithm';
     *
     * let data = [0, 1, 2, 3, 4];
     * ArrayExt.move(data, 1, 2);  // [0, 2, 1, 3, 4]
     * ArrayExt.move(data, 4, 2);  // [0, 2, 4, 1, 3]
     * ```
     */
    function move(array, fromIndex, toIndex) {
        let n = array.length;
        if (n <= 1) {
            return;
        }
        if (fromIndex < 0) {
            fromIndex = Math.max(0, fromIndex + n);
        }
        else {
            fromIndex = Math.min(fromIndex, n - 1);
        }
        if (toIndex < 0) {
            toIndex = Math.max(0, toIndex + n);
        }
        else {
            toIndex = Math.min(toIndex, n - 1);
        }
        if (fromIndex === toIndex) {
            return;
        }
        let value = array[fromIndex];
        let d = fromIndex < toIndex ? 1 : -1;
        for (let i = fromIndex; i !== toIndex; i += d) {
            array[i] = array[i + d];
        }
        array[toIndex] = value;
    }
    ArrayExt.move = move;
    /**
     * Reverse an array in-place.
     *
     * @param array - The mutable array-like object of interest.
     *
     * @param start - The index of the first element in the range to be
     *   reversed, inclusive. The default value is `0`. Negative values
     *   are taken as an offset from the end of the array.
     *
     * @param stop - The index of the last element in the range to be
     *   reversed, inclusive. The default value is `-1`. Negative values
     *   are taken as an offset from the end of the array.
     *
     * #### Complexity
     * Linear.
     *
     * #### Undefined Behavior
     * A `start` or  `stop` index which is non-integral.
     *
     * #### Example
     * ```typescript
     * import { ArrayExt } from '@lumino/algorithm';
     *
     * let data = [0, 1, 2, 3, 4];
     * ArrayExt.reverse(data, 1, 3);  // [0, 3, 2, 1, 4]
     * ArrayExt.reverse(data, 3);     // [0, 3, 2, 4, 1]
     * ArrayExt.reverse(data);        // [1, 4, 2, 3, 0]
     * ```
     */
    function reverse(array, start = 0, stop = -1) {
        let n = array.length;
        if (n <= 1) {
            return;
        }
        if (start < 0) {
            start = Math.max(0, start + n);
        }
        else {
            start = Math.min(start, n - 1);
        }
        if (stop < 0) {
            stop = Math.max(0, stop + n);
        }
        else {
            stop = Math.min(stop, n - 1);
        }
        while (start < stop) {
            let a = array[start];
            let b = array[stop];
            array[start++] = b;
            array[stop--] = a;
        }
    }
    ArrayExt.reverse = reverse;
    /**
     * Rotate the elements of an array in-place.
     *
     * @param array - The mutable array-like object of interest.
     *
     * @param delta - The amount of rotation to apply to the elements. A
     *   positive value will rotate the elements to the left. A negative
     *   value will rotate the elements to the right.
     *
     * @param start - The index of the first element in the range to be
     *   rotated, inclusive. The default value is `0`. Negative values
     *   are taken as an offset from the end of the array.
     *
     * @param stop - The index of the last element in the range to be
     *   rotated, inclusive. The default value is `-1`. Negative values
     *   are taken as an offset from the end of the array.
     *
     * #### Complexity
     * Linear.
     *
     * #### Undefined Behavior
     * A `delta`, `start`, or `stop` which is non-integral.
     *
     * #### Example
     * ```typescript
     * import { ArrayExt } from '@lumino/algorithm';
     *
     * let data = [0, 1, 2, 3, 4];
     * ArrayExt.rotate(data, 2);        // [2, 3, 4, 0, 1]
     * ArrayExt.rotate(data, -2);       // [0, 1, 2, 3, 4]
     * ArrayExt.rotate(data, 10);       // [0, 1, 2, 3, 4]
     * ArrayExt.rotate(data, 9);        // [4, 0, 1, 2, 3]
     * ArrayExt.rotate(data, 2, 1, 3);  // [4, 2, 0, 1, 3]
     * ```
     */
    function rotate(array, delta, start = 0, stop = -1) {
        let n = array.length;
        if (n <= 1) {
            return;
        }
        if (start < 0) {
            start = Math.max(0, start + n);
        }
        else {
            start = Math.min(start, n - 1);
        }
        if (stop < 0) {
            stop = Math.max(0, stop + n);
        }
        else {
            stop = Math.min(stop, n - 1);
        }
        if (start >= stop) {
            return;
        }
        let length = stop - start + 1;
        if (delta > 0) {
            delta = delta % length;
        }
        else if (delta < 0) {
            delta = ((delta % length) + length) % length;
        }
        if (delta === 0) {
            return;
        }
        let pivot = start + delta;
        reverse(array, start, pivot - 1);
        reverse(array, pivot, stop);
        reverse(array, start, stop);
    }
    ArrayExt.rotate = rotate;
    /**
     * Fill an array with a static value.
     *
     * @param array - The mutable array-like object to fill.
     *
     * @param value - The static value to use to fill the array.
     *
     * @param start - The index of the first element in the range to be
     *   filled, inclusive. The default value is `0`. Negative values
     *   are taken as an offset from the end of the array.
     *
     * @param stop - The index of the last element in the range to be
     *   filled, inclusive. The default value is `-1`. Negative values
     *   are taken as an offset from the end of the array.
     *
     * #### Notes
     * If `stop < start` the fill will wrap at the end of the array.
     *
     * #### Complexity
     * Linear.
     *
     * #### Undefined Behavior
     * A `start` or `stop` which is non-integral.
     *
     * #### Example
     * ```typescript
     * import { ArrayExt } from '@lumino/algorithm';
     *
     * let data = ['one', 'two', 'three', 'four'];
     * ArrayExt.fill(data, 'r');        // ['r', 'r', 'r', 'r']
     * ArrayExt.fill(data, 'g', 1);     // ['r', 'g', 'g', 'g']
     * ArrayExt.fill(data, 'b', 2, 3);  // ['r', 'g', 'b', 'b']
     * ArrayExt.fill(data, 'z', 3, 1);  // ['z', 'z', 'b', 'z']
     * ```
     */
    function fill(array, value, start = 0, stop = -1) {
        let n = array.length;
        if (n === 0) {
            return;
        }
        if (start < 0) {
            start = Math.max(0, start + n);
        }
        else {
            start = Math.min(start, n - 1);
        }
        if (stop < 0) {
            stop = Math.max(0, stop + n);
        }
        else {
            stop = Math.min(stop, n - 1);
        }
        let span;
        if (stop < start) {
            span = stop + 1 + (n - start);
        }
        else {
            span = stop - start + 1;
        }
        for (let i = 0; i < span; ++i) {
            array[(start + i) % n] = value;
        }
    }
    ArrayExt.fill = fill;
    /**
     * Insert a value into an array at a specific index.
     *
     * @param array - The array of interest.
     *
     * @param index - The index at which to insert the value. Negative
     *   values are taken as an offset from the end of the array.
     *
     * @param value - The value to set at the specified index.
     *
     * #### Complexity
     * Linear.
     *
     * #### Undefined Behavior
     * An `index` which is non-integral.
     *
     * #### Example
     * ```typescript
     * import { ArrayExt } from '@lumino/algorithm';
     *
     * let data = [0, 1, 2];
     * ArrayExt.insert(data, 0, -1);  // [-1, 0, 1, 2]
     * ArrayExt.insert(data, 2, 12);  // [-1, 0, 12, 1, 2]
     * ArrayExt.insert(data, -1, 7);  // [-1, 0, 12, 1, 7, 2]
     * ArrayExt.insert(data, 6, 19);  // [-1, 0, 12, 1, 7, 2, 19]
     * ```
     */
    function insert(array, index, value) {
        let n = array.length;
        if (index < 0) {
            index = Math.max(0, index + n);
        }
        else {
            index = Math.min(index, n);
        }
        for (let i = n; i > index; --i) {
            array[i] = array[i - 1];
        }
        array[index] = value;
    }
    ArrayExt.insert = insert;
    /**
     * Remove and return a value at a specific index in an array.
     *
     * @param array - The array of interest.
     *
     * @param index - The index of the value to remove. Negative values
     *   are taken as an offset from the end of the array.
     *
     * @returns The value at the specified index, or `undefined` if the
     *   index is out of range.
     *
     * #### Complexity
     * Linear.
     *
     * #### Undefined Behavior
     * An `index` which is non-integral.
     *
     * #### Example
     * ```typescript
     * import { ArrayExt } from '@lumino/algorithm';
     *
     * let data = [0, 12, 23, 39, 14, 12, 75];
     * ArrayExt.removeAt(data, 2);   // 23
     * ArrayExt.removeAt(data, -2);  // 12
     * ArrayExt.removeAt(data, 10);  // undefined;
     * ```
     */
    function removeAt(array, index) {
        let n = array.length;
        if (index < 0) {
            index += n;
        }
        if (index < 0 || index >= n) {
            return undefined;
        }
        let value = array[index];
        for (let i = index + 1; i < n; ++i) {
            array[i - 1] = array[i];
        }
        array.length = n - 1;
        return value;
    }
    ArrayExt.removeAt = removeAt;
    /**
     * Remove the first occurrence of a value from an array.
     *
     * @param array - The array of interest.
     *
     * @param value - The value to remove from the array. Values are
     *   compared using strict `===` equality.
     *
     * @param start - The index of the first element in the range to be
     *   searched, inclusive. The default value is `0`. Negative values
     *   are taken as an offset from the end of the array.
     *
     * @param stop - The index of the last element in the range to be
     *   searched, inclusive. The default value is `-1`. Negative values
     *   are taken as an offset from the end of the array.
     *
     * @returns The index of the removed value, or `-1` if the value
     *   is not contained in the array.
     *
     * #### Notes
     * If `stop < start` the search will wrap at the end of the array.
     *
     * #### Complexity
     * Linear.
     *
     * #### Example
     * ```typescript
     * import { ArrayExt } from '@lumino/algorithm';
     *
     * let data = [0, 12, 23, 39, 14, 12, 75];
     * ArrayExt.removeFirstOf(data, 12);        // 1
     * ArrayExt.removeFirstOf(data, 17);        // -1
     * ArrayExt.removeFirstOf(data, 39, 3);     // -1
     * ArrayExt.removeFirstOf(data, 39, 3, 2);  // 2
     * ```
     */
    function removeFirstOf(array, value, start = 0, stop = -1) {
        let index = firstIndexOf(array, value, start, stop);
        if (index !== -1) {
            removeAt(array, index);
        }
        return index;
    }
    ArrayExt.removeFirstOf = removeFirstOf;
    /**
     * Remove the last occurrence of a value from an array.
     *
     * @param array - The array of interest.
     *
     * @param value - The value to remove from the array. Values are
     *   compared using strict `===` equality.
     *
     * @param start - The index of the first element in the range to be
     *   searched, inclusive. The default value is `-1`. Negative values
     *   are taken as an offset from the end of the array.
     *
     * @param stop - The index of the last element in the range to be
     *   searched, inclusive. The default value is `0`. Negative values
     *   are taken as an offset from the end of the array.
     *
     * @returns The index of the removed value, or `-1` if the value
     *   is not contained in the array.
     *
     * #### Notes
     * If `start < stop` the search will wrap at the end of the array.
     *
     * #### Complexity
     * Linear.
     *
     * #### Example
     * ```typescript
     * import { ArrayExt } from '@lumino/algorithm';
     *
     * let data = [0, 12, 23, 39, 14, 12, 75];
     * ArrayExt.removeLastOf(data, 12);        // 5
     * ArrayExt.removeLastOf(data, 17);        // -1
     * ArrayExt.removeLastOf(data, 39, 2);     // -1
     * ArrayExt.removeLastOf(data, 39, 2, 3);  // 3
     * ```
     */
    function removeLastOf(array, value, start = -1, stop = 0) {
        let index = lastIndexOf(array, value, start, stop);
        if (index !== -1) {
            removeAt(array, index);
        }
        return index;
    }
    ArrayExt.removeLastOf = removeLastOf;
    /**
     * Remove all occurrences of a value from an array.
     *
     * @param array - The array of interest.
     *
     * @param value - The value to remove from the array. Values are
     *   compared using strict `===` equality.
     *
     * @param start - The index of the first element in the range to be
     *   searched, inclusive. The default value is `0`. Negative values
     *   are taken as an offset from the end of the array.
     *
     * @param stop - The index of the last element in the range to be
     *   searched, inclusive. The default value is `-1`. Negative values
     *   are taken as an offset from the end of the array.
     *
     * @returns The number of elements removed from the array.
     *
     * #### Notes
     * If `stop < start` the search will conceptually wrap at the end of
     * the array, however the array will be traversed front-to-back.
     *
     * #### Complexity
     * Linear.
     *
     * #### Example
     * ```typescript
     * import { ArrayExt } from '@lumino/algorithm';
     *
     * let data = [14, 12, 23, 39, 14, 12, 19, 14];
     * ArrayExt.removeAllOf(data, 12);        // 2
     * ArrayExt.removeAllOf(data, 17);        // 0
     * ArrayExt.removeAllOf(data, 14, 1, 4);  // 1
     * ```
     */
    function removeAllOf(array, value, start = 0, stop = -1) {
        let n = array.length;
        if (n === 0) {
            return 0;
        }
        if (start < 0) {
            start = Math.max(0, start + n);
        }
        else {
            start = Math.min(start, n - 1);
        }
        if (stop < 0) {
            stop = Math.max(0, stop + n);
        }
        else {
            stop = Math.min(stop, n - 1);
        }
        let count = 0;
        for (let i = 0; i < n; ++i) {
            if (start <= stop && i >= start && i <= stop && array[i] === value) {
                count++;
            }
            else if (stop < start &&
                (i <= stop || i >= start) &&
                array[i] === value) {
                count++;
            }
            else if (count > 0) {
                array[i - count] = array[i];
            }
        }
        if (count > 0) {
            array.length = n - count;
        }
        return count;
    }
    ArrayExt.removeAllOf = removeAllOf;
    /**
     * Remove the first occurrence of a value which matches a predicate.
     *
     * @param array - The array of interest.
     *
     * @param fn - The predicate function to apply to the values.
     *
     * @param start - The index of the first element in the range to be
     *   searched, inclusive. The default value is `0`. Negative values
     *   are taken as an offset from the end of the array.
     *
     * @param stop - The index of the last element in the range to be
     *   searched, inclusive. The default value is `-1`. Negative values
     *   are taken as an offset from the end of the array.
     *
     * @returns The removed `{ index, value }`, which will be `-1` and
     *   `undefined` if the value is not contained in the array.
     *
     * #### Notes
     * If `stop < start` the search will wrap at the end of the array.
     *
     * #### Complexity
     * Linear.
     *
     * #### Example
     * ```typescript
     * import { ArrayExt } from '@lumino/algorithm';
     *
     * function isEven(value: number): boolean {
     *   return value % 2 === 0;
     * }
     *
     * let data = [0, 12, 23, 39, 14, 12, 75];
     * ArrayExt.removeFirstWhere(data, isEven);     // { index: 0, value: 0 }
     * ArrayExt.removeFirstWhere(data, isEven, 2);  // { index: 3, value: 14 }
     * ArrayExt.removeFirstWhere(data, isEven, 4);  // { index: -1, value: undefined }
     * ```
     */
    function removeFirstWhere(array, fn, start = 0, stop = -1) {
        let value;
        let index = findFirstIndex(array, fn, start, stop);
        if (index !== -1) {
            value = removeAt(array, index);
        }
        return { index, value };
    }
    ArrayExt.removeFirstWhere = removeFirstWhere;
    /**
     * Remove the last occurrence of a value which matches a predicate.
     *
     * @param array - The array of interest.
     *
     * @param fn - The predicate function to apply to the values.
     *
     * @param start - The index of the first element in the range to be
     *   searched, inclusive. The default value is `-1`. Negative values
     *   are taken as an offset from the end of the array.
     *
     * @param stop - The index of the last element in the range to be
     *   searched, inclusive. The default value is `0`. Negative values
     *   are taken as an offset from the end of the array.
     *
     * @returns The removed `{ index, value }`, which will be `-1` and
     *   `undefined` if the value is not contained in the array.
     *
     * #### Notes
     * If `start < stop` the search will wrap at the end of the array.
     *
     * #### Complexity
     * Linear.
     *
     * #### Example
     * ```typescript
     * import { ArrayExt } from '@lumino/algorithm';
     *
     * function isEven(value: number): boolean {
     *   return value % 2 === 0;
     * }
     *
     * let data = [0, 12, 23, 39, 14, 12, 75];
     * ArrayExt.removeLastWhere(data, isEven);        // { index: 5, value: 12 }
     * ArrayExt.removeLastWhere(data, isEven, 2);     // { index: 1, value: 12 }
     * ArrayExt.removeLastWhere(data, isEven, 2, 1);  // { index: -1, value: undefined }
     * ```
     */
    function removeLastWhere(array, fn, start = -1, stop = 0) {
        let value;
        let index = findLastIndex(array, fn, start, stop);
        if (index !== -1) {
            value = removeAt(array, index);
        }
        return { index, value };
    }
    ArrayExt.removeLastWhere = removeLastWhere;
    /**
     * Remove all occurrences of values which match a predicate.
     *
     * @param array - The array of interest.
     *
     * @param fn - The predicate function to apply to the values.
     *
     * @param start - The index of the first element in the range to be
     *   searched, inclusive. The default value is `0`. Negative values
     *   are taken as an offset from the end of the array.
     *
     * @param stop - The index of the last element in the range to be
     *   searched, inclusive. The default value is `-1`. Negative values
     *   are taken as an offset from the end of the array.
     *
     * @returns The number of elements removed from the array.
     *
     * #### Notes
     * If `stop < start` the search will conceptually wrap at the end of
     * the array, however the array will be traversed front-to-back.
     *
     * #### Complexity
     * Linear.
     *
     * #### Example
     * ```typescript
     * import { ArrayExt } from '@lumino/algorithm';
     *
     * function isEven(value: number): boolean {
     *   return value % 2 === 0;
     * }
     *
     * function isNegative(value: number): boolean {
     *   return value < 0;
     * }
     *
     * let data = [0, 12, -13, -9, 23, 39, 14, -15, 12, 75];
     * ArrayExt.removeAllWhere(data, isEven);            // 4
     * ArrayExt.removeAllWhere(data, isNegative, 0, 3);  // 2
     * ```
     */
    function removeAllWhere(array, fn, start = 0, stop = -1) {
        let n = array.length;
        if (n === 0) {
            return 0;
        }
        if (start < 0) {
            start = Math.max(0, start + n);
        }
        else {
            start = Math.min(start, n - 1);
        }
        if (stop < 0) {
            stop = Math.max(0, stop + n);
        }
        else {
            stop = Math.min(stop, n - 1);
        }
        let count = 0;
        for (let i = 0; i < n; ++i) {
            if (start <= stop && i >= start && i <= stop && fn(array[i], i)) {
                count++;
            }
            else if (stop < start && (i <= stop || i >= start) && fn(array[i], i)) {
                count++;
            }
            else if (count > 0) {
                array[i - count] = array[i];
            }
        }
        if (count > 0) {
            array.length = n - count;
        }
        return count;
    }
    ArrayExt.removeAllWhere = removeAllWhere;
})(ArrayExt || (ArrayExt = {}));

// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
/*-----------------------------------------------------------------------------
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/
/**
 * Chain together several iterables.
 *
 * @deprecated
 *
 * @param objects - The iterable objects of interest.
 *
 * @returns An iterator which yields the values of the iterables
 *   in the order in which they are supplied.
 *
 * #### Example
 * ```typescript
 * import { chain } from '@lumino/algorithm';
 *
 * let data1 = [1, 2, 3];
 * let data2 = [4, 5, 6];
 *
 * let stream = chain(data1, data2);
 *
 * Array.from(stream);  // [1, 2, 3, 4, 5, 6]
 * ```
 */
function* chain(...objects) {
    for (const object of objects) {
        yield* object;
    }
}

// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
/*-----------------------------------------------------------------------------
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/
/**
 * Create an empty iterator.
 *
 * @returns A new iterator which yields nothing.
 *
 * #### Example
 * ```typescript
 * import { empty } from '@lumino/algorithm';
 *
 * let stream = empty<number>();
 *
 * Array.from(stream);  // []
 * ```
 */
// eslint-disable-next-line require-yield
function* empty() {
    return;
}

// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
/*-----------------------------------------------------------------------------
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/
/**
 * Enumerate an iterable object.
 *
 * @param object - The iterable object of interest.
 *
 * @param start - The starting enum value. The default is `0`.
 *
 * @returns An iterator which yields the enumerated values.
 *
 * #### Example
 * ```typescript
 * import { enumerate } from '@lumino/algorithm';
 *
 * let data = ['foo', 'bar', 'baz'];
 *
 * let stream = enumerate(data, 1);
 *
 * Array.from(stream);  // [[1, 'foo'], [2, 'bar'], [3, 'baz']]
 * ```
 */
function* enumerate(object, start = 0) {
    for (const value of object) {
        yield [start++, value];
    }
}

// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
/*-----------------------------------------------------------------------------
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/
/**
 * Filter an iterable for values which pass a test.
 *
 * @param object - The iterable object of interest.
 *
 * @param fn - The predicate function to invoke for each value.
 *
 * @returns An iterator which yields the values which pass the test.
 *
 * #### Example
 * ```typescript
 * import { filter } from '@lumino/algorithm';
 *
 * let data = [1, 2, 3, 4, 5, 6];
 *
 * let stream = filter(data, value => value % 2 === 0);
 *
 * Array.from(stream);  // [2, 4, 6]
 * ```
 */
function* filter(object, fn) {
    let index = 0;
    for (const value of object) {
        if (fn(value, index++)) {
            yield value;
        }
    }
}

// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
/*-----------------------------------------------------------------------------
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/
/**
 * Find the first value in an iterable which matches a predicate.
 *
 * @param object - The iterable object to search.
 *
 * @param fn - The predicate function to apply to the values.
 *
 * @returns The first matching value, or `undefined` if no matching
 *   value is found.
 *
 * #### Complexity
 * Linear.
 *
 * #### Example
 * ```typescript
 * import { find } from '@lumino/algorithm';
 *
 * interface IAnimal { species: string, name: string };
 *
 * function isCat(value: IAnimal): boolean {
 *   return value.species === 'cat';
 * }
 *
 * let data: IAnimal[] = [
 *   { species: 'dog', name: 'spot' },
 *   { species: 'cat', name: 'fluffy' },
 *   { species: 'alligator', name: 'pocho' }
 * ];
 *
 * find(data, isCat).name;  // 'fluffy'
 * ```
 */
function find(object, fn) {
    let index = 0;
    for (const value of object) {
        if (fn(value, index++)) {
            return value;
        }
    }
    return undefined;
}
/**
 * Find the index of the first value which matches a predicate.
 *
 * @param object - The iterable object to search.
 *
 * @param fn - The predicate function to apply to the values.
 *
 * @returns The index of the first matching value, or `-1` if no
 *   matching value is found.
 *
 * #### Complexity
 * Linear.
 *
 * #### Example
 * ```typescript
 * import { findIndex } from '@lumino/algorithm';
 *
 * interface IAnimal { species: string, name: string };
 *
 * function isCat(value: IAnimal): boolean {
 *   return value.species === 'cat';
 * }
 *
 * let data: IAnimal[] = [
 *   { species: 'dog', name: 'spot' },
 *   { species: 'cat', name: 'fluffy' },
 *   { species: 'alligator', name: 'pocho' }
 * ];
 *
 * findIndex(data, isCat);  // 1
 * ```
 */
function findIndex(object, fn) {
    let index = 0;
    for (const value of object) {
        if (fn(value, index++)) {
            return index - 1;
        }
    }
    return -1;
}
/**
 * Find the minimum value in an iterable.
 *
 * @param object - The iterable object to search.
 *
 * @param fn - The 3-way comparison function to apply to the values.
 *   It should return `< 0` if the first value is less than the second.
 *   `0` if the values are equivalent, or `> 0` if the first value is
 *   greater than the second.
 *
 * @returns The minimum value in the iterable. If multiple values are
 *   equivalent to the minimum, the left-most value is returned. If
 *   the iterable is empty, this returns `undefined`.
 *
 * #### Complexity
 * Linear.
 *
 * #### Example
 * ```typescript
 * import { min } from '@lumino/algorithm';
 *
 * function numberCmp(a: number, b: number): number {
 *   return a - b;
 * }
 *
 * min([7, 4, 0, 3, 9, 4], numberCmp);  // 0
 * ```
 */
function min(object, fn) {
    let result = undefined;
    for (const value of object) {
        if (result === undefined) {
            result = value;
            continue;
        }
        if (fn(value, result) < 0) {
            result = value;
        }
    }
    return result;
}
/**
 * Find the maximum value in an iterable.
 *
 * @param object - The iterable object to search.
 *
 * @param fn - The 3-way comparison function to apply to the values.
 *   It should return `< 0` if the first value is less than the second.
 *   `0` if the values are equivalent, or `> 0` if the first value is
 *   greater than the second.
 *
 * @returns The maximum value in the iterable. If multiple values are
 *   equivalent to the maximum, the left-most value is returned. If
 *   the iterable is empty, this returns `undefined`.
 *
 * #### Complexity
 * Linear.
 *
 * #### Example
 * ```typescript
 * import { max } from '@lumino/algorithm';
 *
 * function numberCmp(a: number, b: number): number {
 *   return a - b;
 * }
 *
 * max([7, 4, 0, 3, 9, 4], numberCmp);  // 9
 * ```
 */
function max(object, fn) {
    let result = undefined;
    for (const value of object) {
        if (result === undefined) {
            result = value;
            continue;
        }
        if (fn(value, result) > 0) {
            result = value;
        }
    }
    return result;
}
/**
 * Find the minimum and maximum values in an iterable.
 *
 * @param object - The iterable object to search.
 *
 * @param fn - The 3-way comparison function to apply to the values.
 *   It should return `< 0` if the first value is less than the second.
 *   `0` if the values are equivalent, or `> 0` if the first value is
 *   greater than the second.
 *
 * @returns A 2-tuple of the `[min, max]` values in the iterable. If
 *   multiple values are equivalent, the left-most values are returned.
 *   If the iterable is empty, this returns `undefined`.
 *
 * #### Complexity
 * Linear.
 *
 * #### Example
 * ```typescript
 * import { minmax } from '@lumino/algorithm';
 *
 * function numberCmp(a: number, b: number): number {
 *   return a - b;
 * }
 *
 * minmax([7, 4, 0, 3, 9, 4], numberCmp);  // [0, 9]
 * ```
 */
function minmax(object, fn) {
    let empty = true;
    let vmin;
    let vmax;
    for (const value of object) {
        if (empty) {
            vmin = value;
            vmax = value;
            empty = false;
        }
        else if (fn(value, vmin) < 0) {
            vmin = value;
        }
        else if (fn(value, vmax) > 0) {
            vmax = value;
        }
    }
    return empty ? undefined : [vmin, vmax];
}

// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
/*-----------------------------------------------------------------------------
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/
/**
 * Create an array from an iterable of values.
 *
 * @deprecated
 *
 * @param object - The iterable object of interest.
 *
 * @returns A new array of values from the given object.
 *
 * #### Example
 * ```typescript
 * import { toArray } from '@lumino/algorithm';
 *
 * let stream = [1, 2, 3, 4, 5, 6][Symbol.iterator]();
 *
 * toArray(stream);  // [1, 2, 3, 4, 5, 6];
 * ```
 */
function toArray(object) {
    return Array.from(object);
}
/**
 * Create an object from an iterable of key/value pairs.
 *
 * @param object - The iterable object of interest.
 *
 * @returns A new object mapping keys to values.
 *
 * #### Example
 * ```typescript
 * import { toObject } from '@lumino/algorithm';
 *
 * let data: [string, number][] = [['one', 1], ['two', 2], ['three', 3]];
 *
 * toObject(data);  // { one: 1, two: 2, three: 3 }
 * ```
 */
function toObject(object) {
    const result = {};
    for (const [key, value] of object) {
        result[key] = value;
    }
    return result;
}
/**
 * Invoke a function for each value in an iterable.
 *
 * @deprecated
 *
 * @param object - The iterable object of interest.
 *
 * @param fn - The callback function to invoke for each value.
 *
 * #### Notes
 * Iteration can be terminated early by returning `false` from the
 * callback function.
 *
 * #### Complexity
 * Linear.
 *
 * #### Example
 * ```typescript
 * import { each } from '@lumino/algorithm';
 *
 * let data = [5, 7, 0, -2, 9];
 *
 * each(data, value => { console.log(value); });
 * ```
 */
function each(object, fn) {
    let index = 0;
    for (const value of object) {
        if (false === fn(value, index++)) {
            return;
        }
    }
}
/**
 * Test whether all values in an iterable satisfy a predicate.
 *
 * @param object - The iterable object of interest.
 *
 * @param fn - The predicate function to invoke for each value.
 *
 * @returns `true` if all values pass the test, `false` otherwise.
 *
 * #### Notes
 * Iteration terminates on the first `false` predicate result.
 *
 * #### Complexity
 * Linear.
 *
 * #### Example
 * ```typescript
 * import { every } from '@lumino/algorithm';
 *
 * let data = [5, 7, 1];
 *
 * every(data, value => value % 2 === 0);  // false
 * every(data, value => value % 2 === 1);  // true
 * ```
 */
function every(object, fn) {
    let index = 0;
    for (const value of object) {
        if (false === fn(value, index++)) {
            return false;
        }
    }
    return true;
}
/**
 * Test whether any value in an iterable satisfies a predicate.
 *
 * @param object - The iterable object of interest.
 *
 * @param fn - The predicate function to invoke for each value.
 *
 * @returns `true` if any value passes the test, `false` otherwise.
 *
 * #### Notes
 * Iteration terminates on the first `true` predicate result.
 *
 * #### Complexity
 * Linear.
 *
 * #### Example
 * ```typescript
 * import { some } from '@lumino/algorithm';
 *
 * let data = [5, 7, 1];
 *
 * some(data, value => value === 7);  // true
 * some(data, value => value === 3);  // false
 * ```
 */
function some(object, fn) {
    let index = 0;
    for (const value of object) {
        if (fn(value, index++)) {
            return true;
        }
    }
    return false;
}

// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
/*-----------------------------------------------------------------------------
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/
/**
 * Transform the values of an iterable with a mapping function.
 *
 * @param object - The iterable object of interest.
 *
 * @param fn - The mapping function to invoke for each value.
 *
 * @returns An iterator which yields the transformed values.
 *
 * #### Example
 * ```typescript
 * import { map } from '@lumino/algorithm';
 *
 * let data = [1, 2, 3];
 *
 * let stream = map(data, value => value * 2);
 *
 * Array.from(stream);  // [2, 4, 6]
 * ```
 */
function* map(object, fn) {
    let index = 0;
    for (const value of object) {
        yield fn(value, index++);
    }
}

// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
/*-----------------------------------------------------------------------------
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/
/**
 * Create an iterator of evenly spaced values.
 *
 * @param start - The starting value for the range, inclusive.
 *
 * @param stop - The stopping value for the range, exclusive.
 *
 * @param step - The distance between each value.
 *
 * @returns An iterator which produces evenly spaced values.
 *
 * #### Notes
 * In the single argument form of `range(stop)`, `start` defaults to
 * `0` and `step` defaults to `1`.
 *
 * In the two argument form of `range(start, stop)`, `step` defaults
 * to `1`.
 *
 * #### Example
 * ```typescript
 * import { range } from '@lumino/algorithm';
 *
 * let stream = range(2, 4);
 *
 * Array.from(stream);  // [2, 3]
 * ```
 */
function* range(start, stop, step) {
    if (stop === undefined) {
        stop = start;
        start = 0;
        step = 1;
    }
    else if (step === undefined) {
        step = 1;
    }
    const length = Private.rangeLength(start, stop, step);
    for (let index = 0; index < length; index++) {
        yield start + step * index;
    }
}
/**
 * The namespace for the module implementation details.
 */
var Private;
(function (Private) {
    /**
     * Compute the effective length of a range.
     *
     * @param start - The starting value for the range, inclusive.
     *
     * @param stop - The stopping value for the range, exclusive.
     *
     * @param step - The distance between each value.
     *
     * @returns The number of steps need to traverse the range.
     */
    function rangeLength(start, stop, step) {
        if (step === 0) {
            return Infinity;
        }
        if (start > stop && step > 0) {
            return 0;
        }
        if (start < stop && step < 0) {
            return 0;
        }
        return Math.ceil((stop - start) / step);
    }
    Private.rangeLength = rangeLength;
})(Private || (Private = {}));

// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
/*-----------------------------------------------------------------------------
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/
function reduce(object, fn, initial) {
    // Setup the iterator and fetch the first value.
    const it = object[Symbol.iterator]();
    let index = 0;
    let first = it.next();
    // An empty iterator and no initial value is an error.
    if (first.done && initial === undefined) {
        throw new TypeError('Reduce of empty iterable with no initial value.');
    }
    // If the iterator is empty, return the initial value.
    if (first.done) {
        return initial;
    }
    // If the iterator has a single item and no initial value, the
    // reducer is not invoked and the first item is the return value.
    let second = it.next();
    if (second.done && initial === undefined) {
        return first.value;
    }
    // If iterator has a single item and an initial value is provided,
    // the reducer is invoked and that result is the return value.
    if (second.done) {
        return fn(initial, first.value, index++);
    }
    // Setup the initial accumlated value.
    let accumulator;
    if (initial === undefined) {
        accumulator = fn(first.value, second.value, index++);
    }
    else {
        accumulator = fn(fn(initial, first.value, index++), second.value, index++);
    }
    // Iterate the rest of the values, updating the accumulator.
    let next;
    while (!(next = it.next()).done) {
        accumulator = fn(accumulator, next.value, index++);
    }
    // Return the final accumulated value.
    return accumulator;
}

// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
/*-----------------------------------------------------------------------------
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/
/**
 * Create an iterator which repeats a value a number of times.
 *
 * @deprecated
 *
 * @param value - The value to repeat.
 *
 * @param count - The number of times to repeat the value.
 *
 * @returns A new iterator which repeats the specified value.
 *
 * #### Example
 * ```typescript
 * import { repeat } from '@lumino/algorithm';
 *
 * let stream = repeat(7, 3);
 *
 * Array.from(stream);  // [7, 7, 7]
 * ```
 */
function* repeat(value, count) {
    while (0 < count--) {
        yield value;
    }
}
/**
 * Create an iterator which yields a value a single time.
 *
 * @deprecated
 *
 * @param value - The value to wrap in an iterator.
 *
 * @returns A new iterator which yields the value a single time.
 *
 * #### Example
 * ```typescript
 * import { once } from '@lumino/algorithm';
 *
 * let stream = once(7);
 *
 * Array.from(stream);  // [7]
 * ```
 */
function* once(value) {
    yield value;
}

// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
/*-----------------------------------------------------------------------------
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/
/**
 * Create an iterator for a retroable object.
 *
 * @param object - The retroable or array-like object of interest.
 *
 * @returns An iterator which traverses the object's values in reverse.
 *
 * #### Example
 * ```typescript
 * import { retro } from '@lumino/algorithm';
 *
 * let data = [1, 2, 3, 4, 5, 6];
 *
 * let stream = retro(data);
 *
 * Array.from(stream);  // [6, 5, 4, 3, 2, 1]
 * ```
 */
function* retro(object) {
    if (typeof object.retro === 'function') {
        yield* object.retro();
    }
    else {
        for (let index = object.length - 1; index > -1; index--) {
            yield object[index];
        }
    }
}

// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
/*-----------------------------------------------------------------------------
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/
/**
 * Topologically sort an iterable of edges.
 *
 * @param edges - The iterable object of edges to sort.
 *   An edge is represented as a 2-tuple of `[fromNode, toNode]`.
 *
 * @returns The topologically sorted array of nodes.
 *
 * #### Notes
 * If a cycle is present in the graph, the cycle will be ignored and
 * the return value will be only approximately sorted.
 *
 * #### Example
 * ```typescript
 * import { topologicSort } from '@lumino/algorithm';
 *
 * let data = [
 *   ['d', 'e'],
 *   ['c', 'd'],
 *   ['a', 'b'],
 *   ['b', 'c']
 * ];
 *
 * topologicSort(data);  // ['a', 'b', 'c', 'd', 'e']
 * ```
 */
function topologicSort(edges) {
    // Setup the shared sorting state.
    let sorted = [];
    let visited = new Set();
    let graph = new Map();
    // Add the edges to the graph.
    for (const edge of edges) {
        addEdge(edge);
    }
    // Visit each node in the graph.
    for (const [k] of graph) {
        visit(k);
    }
    // Return the sorted results.
    return sorted;
    // Add an edge to the graph.
    function addEdge(edge) {
        let [fromNode, toNode] = edge;
        let children = graph.get(toNode);
        if (children) {
            children.push(fromNode);
        }
        else {
            graph.set(toNode, [fromNode]);
        }
    }
    // Recursively visit the node.
    function visit(node) {
        if (visited.has(node)) {
            return;
        }
        visited.add(node);
        let children = graph.get(node);
        if (children) {
            for (const child of children) {
                visit(child);
            }
        }
        sorted.push(node);
    }
}

// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
/*-----------------------------------------------------------------------------
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/
/**
 * Iterate over an iterable using a stepped increment.
 *
 * @param object - The iterable object of interest.
 *
 * @param step - The distance to step on each iteration. A value
 *   of less than `1` will behave the same as a value of `1`.
 *
 * @returns An iterator which traverses the iterable step-wise.
 *
 * #### Example
 * ```typescript
 * import { stride } from '@lumino/algorithm';
 *
 * let data = [1, 2, 3, 4, 5, 6];
 *
 * let stream = stride(data, 2);
 *
 * Array.from(stream);  // [1, 3, 5];
 * ```
 */
function* stride(object, step) {
    let count = 0;
    for (const value of object) {
        if (0 === count++ % step) {
            yield value;
        }
    }
}

// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
/*-----------------------------------------------------------------------------
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/
/**
 * The namespace for string-specific algorithms.
 */
var StringExt;
(function (StringExt) {
    /**
     * Find the indices of characters in a source text.
     *
     * @param source - The source text which should be searched.
     *
     * @param query - The characters to locate in the source text.
     *
     * @param start - The index to start the search.
     *
     * @returns The matched indices, or `null` if there is no match.
     *
     * #### Complexity
     * Linear on `sourceText`.
     *
     * #### Notes
     * In order for there to be a match, all of the characters in `query`
     * **must** appear in `source` in the order given by `query`.
     *
     * Characters are matched using strict `===` equality.
     */
    function findIndices(source, query, start = 0) {
        let indices = new Array(query.length);
        for (let i = 0, j = start, n = query.length; i < n; ++i, ++j) {
            j = source.indexOf(query[i], j);
            if (j === -1) {
                return null;
            }
            indices[i] = j;
        }
        return indices;
    }
    StringExt.findIndices = findIndices;
    /**
     * A string matcher which uses a sum-of-squares algorithm.
     *
     * @param source - The source text which should be searched.
     *
     * @param query - The characters to locate in the source text.
     *
     * @param start - The index to start the search.
     *
     * @returns The match result, or `null` if there is no match.
     *   A lower `score` represents a stronger match.
     *
     * #### Complexity
     * Linear on `sourceText`.
     *
     * #### Notes
     * This scoring algorithm uses a sum-of-squares approach to determine
     * the score. In order for there to be a match, all of the characters
     * in `query` **must** appear in `source` in order. The index of each
     * matching character is squared and added to the score. This means
     * that early and consecutive character matches are preferred, while
     * late matches are heavily penalized.
     */
    function matchSumOfSquares(source, query, start = 0) {
        let indices = findIndices(source, query, start);
        if (!indices) {
            return null;
        }
        let score = 0;
        for (let i = 0, n = indices.length; i < n; ++i) {
            let j = indices[i] - start;
            score += j * j;
        }
        return { score, indices };
    }
    StringExt.matchSumOfSquares = matchSumOfSquares;
    /**
     * A string matcher which uses a sum-of-deltas algorithm.
     *
     * @param source - The source text which should be searched.
     *
     * @param query - The characters to locate in the source text.
     *
     * @param start - The index to start the search.
     *
     * @returns The match result, or `null` if there is no match.
     *   A lower `score` represents a stronger match.
     *
     * #### Complexity
     * Linear on `sourceText`.
     *
     * #### Notes
     * This scoring algorithm uses a sum-of-deltas approach to determine
     * the score. In order for there to be a match, all of the characters
     * in `query` **must** appear in `source` in order. The delta between
     * the indices are summed to create the score. This means that groups
     * of matched characters are preferred, while fragmented matches are
     * penalized.
     */
    function matchSumOfDeltas(source, query, start = 0) {
        let indices = findIndices(source, query, start);
        if (!indices) {
            return null;
        }
        let score = 0;
        let last = start - 1;
        for (let i = 0, n = indices.length; i < n; ++i) {
            let j = indices[i];
            score += j - last - 1;
            last = j;
        }
        return { score, indices };
    }
    StringExt.matchSumOfDeltas = matchSumOfDeltas;
    /**
     * Highlight the matched characters of a source text.
     *
     * @param source - The text which should be highlighted.
     *
     * @param indices - The indices of the matched characters. They must
     *   appear in increasing order and must be in bounds of the source.
     *
     * @param fn - The function to apply to the matched chunks.
     *
     * @returns An array of unmatched and highlighted chunks.
     */
    function highlight(source, indices, fn) {
        // Set up the result array.
        let result = [];
        // Set up the counter variables.
        let k = 0;
        let last = 0;
        let n = indices.length;
        // Iterator over each index.
        while (k < n) {
            // Set up the chunk indices.
            let i = indices[k];
            let j = indices[k];
            // Advance the right chunk index until it's non-contiguous.
            while (++k < n && indices[k] === j + 1) {
                j++;
            }
            // Extract the unmatched text.
            if (last < i) {
                result.push(source.slice(last, i));
            }
            // Extract and highlight the matched text.
            if (i < j + 1) {
                result.push(fn(source.slice(i, j + 1)));
            }
            // Update the last visited index.
            last = j + 1;
        }
        // Extract any remaining unmatched text.
        if (last < source.length) {
            result.push(source.slice(last));
        }
        // Return the highlighted result.
        return result;
    }
    StringExt.highlight = highlight;
    /**
     * A 3-way string comparison function.
     *
     * @param a - The first string of interest.
     *
     * @param b - The second string of interest.
     *
     * @returns `-1` if `a < b`, else `1` if `a > b`, else `0`.
     */
    function cmp(a, b) {
        return a < b ? -1 : a > b ? 1 : 0;
    }
    StringExt.cmp = cmp;
})(StringExt || (StringExt = {}));

// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
/*-----------------------------------------------------------------------------
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/
/**
 * Take a fixed number of items from an iterable.
 *
 * @param object - The iterable object of interest.
 *
 * @param count - The number of items to take from the iterable.
 *
 * @returns An iterator which yields the specified number of items
 *   from the source iterable.
 *
 * #### Notes
 * The returned iterator will exhaust early if the source iterable
 * contains an insufficient number of items.
 *
 * #### Example
 * ```typescript
 * import { take } from '@lumino/algorithm';
 *
 * let stream = take([5, 4, 3, 2, 1, 0, -1], 3);
 *
 * Array.from(stream);  // [5, 4, 3]
 * ```
 */
function* take(object, count) {
    if (count < 1) {
        return;
    }
    const it = object[Symbol.iterator]();
    let item;
    while (0 < count-- && !(item = it.next()).done) {
        yield item.value;
    }
}

// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
/*-----------------------------------------------------------------------------
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/
/**
 * Iterate several iterables in lockstep.
 *
 * @param objects - The iterable objects of interest.
 *
 * @returns An iterator which yields successive tuples of values where
 *   each value is taken in turn from the provided iterables. It will
 *   be as long as the shortest provided iterable.
 *
 * #### Example
 * ```typescript
 * import { zip } from '@lumino/algorithm';
 *
 * let data1 = [1, 2, 3];
 * let data2 = [4, 5, 6];
 *
 * let stream = zip(data1, data2);
 *
 * Array.from(stream);  // [[1, 4], [2, 5], [3, 6]]
 * ```
 */
function* zip(...objects) {
    const iters = objects.map(obj => obj[Symbol.iterator]());
    let tuple = iters.map(it => it.next());
    for (; every(tuple, item => !item.done); tuple = iters.map(it => it.next())) {
        yield tuple.map(item => item.value);
    }
}


//# sourceMappingURL=index.es6.js.map


/***/ }),

/***/ 2359:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {

(function (global, factory) {
     true ? factory(exports, __webpack_require__(2144)) :
    0;
})(this, (function (exports, algorithm) { 'use strict';

    // Copyright (c) Jupyter Development Team.
    // Distributed under the terms of the Modified BSD License.
    /*-----------------------------------------------------------------------------
    | Copyright (c) 2014-2017, PhosphorJS Contributors
    |
    | Distributed under the terms of the BSD 3-Clause License.
    |
    | The full license is in the file LICENSE, distributed with this software.
    |----------------------------------------------------------------------------*/
    /**
     * The namespace for JSON-specific functions.
     */
    exports.JSONExt = void 0;
    (function (JSONExt) {
        /**
         * A shared frozen empty JSONObject
         */
        JSONExt.emptyObject = Object.freeze({});
        /**
         * A shared frozen empty JSONArray
         */
        JSONExt.emptyArray = Object.freeze([]);
        /**
         * Test whether a JSON value is a primitive.
         *
         * @param value - The JSON value of interest.
         *
         * @returns `true` if the value is a primitive,`false` otherwise.
         */
        function isPrimitive(value) {
            return (value === null ||
                typeof value === 'boolean' ||
                typeof value === 'number' ||
                typeof value === 'string');
        }
        JSONExt.isPrimitive = isPrimitive;
        function isArray(value) {
            return Array.isArray(value);
        }
        JSONExt.isArray = isArray;
        function isObject(value) {
            return !isPrimitive(value) && !isArray(value);
        }
        JSONExt.isObject = isObject;
        /**
         * Compare two JSON values for deep equality.
         *
         * @param first - The first JSON value of interest.
         *
         * @param second - The second JSON value of interest.
         *
         * @returns `true` if the values are equivalent, `false` otherwise.
         */
        function deepEqual(first, second) {
            // Check referential and primitive equality first.
            if (first === second) {
                return true;
            }
            // If one is a primitive, the `===` check ruled out the other.
            if (isPrimitive(first) || isPrimitive(second)) {
                return false;
            }
            // Test whether they are arrays.
            let a1 = isArray(first);
            let a2 = isArray(second);
            // Bail if the types are different.
            if (a1 !== a2) {
                return false;
            }
            // If they are both arrays, compare them.
            if (a1 && a2) {
                return deepArrayEqual(first, second);
            }
            // At this point, they must both be objects.
            return deepObjectEqual(first, second);
        }
        JSONExt.deepEqual = deepEqual;
        /**
         * Create a deep copy of a JSON value.
         *
         * @param value - The JSON value to copy.
         *
         * @returns A deep copy of the given JSON value.
         */
        function deepCopy(value) {
            // Do nothing for primitive values.
            if (isPrimitive(value)) {
                return value;
            }
            // Deep copy an array.
            if (isArray(value)) {
                return deepArrayCopy(value);
            }
            // Deep copy an object.
            return deepObjectCopy(value);
        }
        JSONExt.deepCopy = deepCopy;
        /**
         * Compare two JSON arrays for deep equality.
         */
        function deepArrayEqual(first, second) {
            // Check referential equality first.
            if (first === second) {
                return true;
            }
            // Test the arrays for equal length.
            if (first.length !== second.length) {
                return false;
            }
            // Compare the values for equality.
            for (let i = 0, n = first.length; i < n; ++i) {
                if (!deepEqual(first[i], second[i])) {
                    return false;
                }
            }
            // At this point, the arrays are equal.
            return true;
        }
        /**
         * Compare two JSON objects for deep equality.
         */
        function deepObjectEqual(first, second) {
            // Check referential equality first.
            if (first === second) {
                return true;
            }
            // Check for the first object's keys in the second object.
            for (let key in first) {
                if (first[key] !== undefined && !(key in second)) {
                    return false;
                }
            }
            // Check for the second object's keys in the first object.
            for (let key in second) {
                if (second[key] !== undefined && !(key in first)) {
                    return false;
                }
            }
            // Compare the values for equality.
            for (let key in first) {
                // Get the values.
                let firstValue = first[key];
                let secondValue = second[key];
                // If both are undefined, ignore the key.
                if (firstValue === undefined && secondValue === undefined) {
                    continue;
                }
                // If only one value is undefined, the objects are not equal.
                if (firstValue === undefined || secondValue === undefined) {
                    return false;
                }
                // Compare the values.
                if (!deepEqual(firstValue, secondValue)) {
                    return false;
                }
            }
            // At this point, the objects are equal.
            return true;
        }
        /**
         * Create a deep copy of a JSON array.
         */
        function deepArrayCopy(value) {
            let result = new Array(value.length);
            for (let i = 0, n = value.length; i < n; ++i) {
                result[i] = deepCopy(value[i]);
            }
            return result;
        }
        /**
         * Create a deep copy of a JSON object.
         */
        function deepObjectCopy(value) {
            let result = {};
            for (let key in value) {
                // Ignore undefined values.
                let subvalue = value[key];
                if (subvalue === undefined) {
                    continue;
                }
                result[key] = deepCopy(subvalue);
            }
            return result;
        }
    })(exports.JSONExt || (exports.JSONExt = {}));

    // Copyright (c) Jupyter Development Team.
    // Distributed under the terms of the Modified BSD License.
    /*-----------------------------------------------------------------------------
    | Copyright (c) 2014-2017, PhosphorJS Contributors
    |
    | Distributed under the terms of the BSD 3-Clause License.
    |
    | The full license is in the file LICENSE, distributed with this software.
    |----------------------------------------------------------------------------*/
    /**
     * An object which stores MIME data for general application use.
     *
     * #### Notes
     * This class does not attempt to enforce "correctness" of MIME types
     * and their associated data. Since this class is designed to transfer
     * arbitrary data and objects within the same application, it assumes
     * that the user provides correct and accurate data.
     */
    class MimeData {
        constructor() {
            this._types = [];
            this._values = [];
        }
        /**
         * Get an array of the MIME types contained within the dataset.
         *
         * @returns A new array of the MIME types, in order of insertion.
         */
        types() {
            return this._types.slice();
        }
        /**
         * Test whether the dataset has an entry for the given type.
         *
         * @param mime - The MIME type of interest.
         *
         * @returns `true` if the dataset contains a value for the given
         *   MIME type, `false` otherwise.
         */
        hasData(mime) {
            return this._types.indexOf(mime) !== -1;
        }
        /**
         * Get the data value for the given MIME type.
         *
         * @param mime - The MIME type of interest.
         *
         * @returns The value for the given MIME type, or `undefined` if
         *   the dataset does not contain a value for the type.
         */
        getData(mime) {
            let i = this._types.indexOf(mime);
            return i !== -1 ? this._values[i] : undefined;
        }
        /**
         * Set the data value for the given MIME type.
         *
         * @param mime - The MIME type of interest.
         *
         * @param data - The data value for the given MIME type.
         *
         * #### Notes
         * This will overwrite any previous entry for the MIME type.
         */
        setData(mime, data) {
            this.clearData(mime);
            this._types.push(mime);
            this._values.push(data);
        }
        /**
         * Remove the data entry for the given MIME type.
         *
         * @param mime - The MIME type of interest.
         *
         * #### Notes
         * This is a no-op if there is no entry for the given MIME type.
         */
        clearData(mime) {
            let i = this._types.indexOf(mime);
            if (i !== -1) {
                this._types.splice(i, 1);
                this._values.splice(i, 1);
            }
        }
        /**
         * Remove all data entries from the dataset.
         */
        clear() {
            this._types.length = 0;
            this._values.length = 0;
        }
    }

    // Copyright (c) Jupyter Development Team.
    // Distributed under the terms of the Modified BSD License.
    /**
     * Plugin registry.
     */
    class PluginRegistry {
        constructor(options = {}) {
            this._application = null;
            this._validatePlugin = () => true;
            this._plugins = new Map();
            this._services = new Map();
            if (options.validatePlugin) {
                console.info('Plugins may be rejected by the custom validation plugin method.');
                this._validatePlugin = options.validatePlugin;
            }
        }
        /**
         * The application object.
         *
         * It will be provided as first argument to the
         * plugins activation and deactivation functions.
         *
         * It can only be set once.
         *
         * By default, it is `null`.
         */
        get application() {
            return this._application;
        }
        set application(v) {
            if (this._application !== null) {
                throw Error('PluginRegistry.application is already set. It cannot be overridden.');
            }
            this._application = v;
        }
        /**
         * The list of all the deferred plugins.
         */
        get deferredPlugins() {
            return Array.from(this._plugins)
                .filter(([id, plugin]) => plugin.autoStart === 'defer')
                .map(([id, plugin]) => id);
        }
        /**
         * Get a plugin description.
         *
         * @param id - The ID of the plugin of interest.
         *
         * @returns The plugin description.
         */
        getPluginDescription(id) {
            var _a, _b;
            return (_b = (_a = this._plugins.get(id)) === null || _a === void 0 ? void 0 : _a.description) !== null && _b !== void 0 ? _b : '';
        }
        /**
         * Test whether a plugin is registered with the application.
         *
         * @param id - The ID of the plugin of interest.
         *
         * @returns `true` if the plugin is registered, `false` otherwise.
         */
        hasPlugin(id) {
            return this._plugins.has(id);
        }
        /**
         * Test whether a plugin is activated with the application.
         *
         * @param id - The ID of the plugin of interest.
         *
         * @returns `true` if the plugin is activated, `false` otherwise.
         */
        isPluginActivated(id) {
            var _a, _b;
            return (_b = (_a = this._plugins.get(id)) === null || _a === void 0 ? void 0 : _a.activated) !== null && _b !== void 0 ? _b : false;
        }
        /**
         * List the IDs of the plugins registered with the application.
         *
         * @returns A new array of the registered plugin IDs.
         */
        listPlugins() {
            return Array.from(this._plugins.keys());
        }
        /**
         * Register a plugin with the application.
         *
         * @param plugin - The plugin to register.
         *
         * #### Notes
         * An error will be thrown if a plugin with the same ID is already
         * registered, or if the plugin has a circular dependency.
         *
         * If the plugin provides a service which has already been provided
         * by another plugin, the new service will override the old service.
         */
        registerPlugin(plugin) {
            // Throw an error if the plugin ID is already registered.
            if (this._plugins.has(plugin.id)) {
                throw new TypeError(`Plugin '${plugin.id}' is already registered.`);
            }
            if (!this._validatePlugin(plugin)) {
                throw new Error(`Plugin '${plugin.id}' is not valid.`);
            }
            // Create the normalized plugin data.
            const data = Private.createPluginData(plugin);
            // Ensure the plugin does not cause a cyclic dependency.
            Private.ensureNoCycle(data, this._plugins, this._services);
            // Add the service token to the service map.
            if (data.provides) {
                this._services.set(data.provides, data.id);
            }
            // Add the plugin to the plugin map.
            this._plugins.set(data.id, data);
        }
        /**
         * Register multiple plugins with the application.
         *
         * @param plugins - The plugins to register.
         *
         * #### Notes
         * This calls `registerPlugin()` for each of the given plugins.
         */
        registerPlugins(plugins) {
            for (const plugin of plugins) {
                this.registerPlugin(plugin);
            }
        }
        /**
         * Deregister a plugin with the application.
         *
         * @param id - The ID of the plugin of interest.
         *
         * @param force - Whether to deregister the plugin even if it is active.
         */
        deregisterPlugin(id, force) {
            const plugin = this._plugins.get(id);
            if (!plugin) {
                return;
            }
            if (plugin.activated && !force) {
                throw new Error(`Plugin '${id}' is still active.`);
            }
            this._plugins.delete(id);
        }
        /**
         * Activate the plugin with the given ID.
         *
         * @param id - The ID of the plugin of interest.
         *
         * @returns A promise which resolves when the plugin is activated
         *   or rejects with an error if it cannot be activated.
         */
        async activatePlugin(id) {
            // Reject the promise if the plugin is not registered.
            const plugin = this._plugins.get(id);
            if (!plugin) {
                throw new ReferenceError(`Plugin '${id}' is not registered.`);
            }
            // Resolve immediately if the plugin is already activated.
            if (plugin.activated) {
                return;
            }
            // Return the pending resolver promise if it exists.
            if (plugin.promise) {
                return plugin.promise;
            }
            // Resolve the required services for the plugin.
            const required = plugin.requires.map(t => this.resolveRequiredService(t));
            // Resolve the optional services for the plugin.
            const optional = plugin.optional.map(t => this.resolveOptionalService(t));
            // Setup the resolver promise for the plugin.
            plugin.promise = Promise.all([...required, ...optional])
                .then(services => plugin.activate.apply(undefined, [this.application, ...services]))
                .then(service => {
                plugin.service = service;
                plugin.activated = true;
                plugin.promise = null;
            })
                .catch(error => {
                plugin.promise = null;
                throw error;
            });
            // Return the pending resolver promise.
            return plugin.promise;
        }
        /**
         * Activate all the deferred plugins.
         *
         * @returns A promise which will resolve when each plugin is activated
         * or rejects with an error if one cannot be activated.
         */
        async activatePlugins(kind, options = {}) {
            switch (kind) {
                case 'defer': {
                    const promises = this.deferredPlugins
                        .filter(pluginId => this._plugins.get(pluginId).autoStart)
                        .map(pluginId => {
                        return this.activatePlugin(pluginId);
                    });
                    await Promise.all(promises);
                    break;
                }
                case 'startUp': {
                    // Collect the ids of the startup plugins.
                    const startups = Private.collectStartupPlugins(this._plugins, options);
                    // Generate the activation promises.
                    const promises = startups.map(async (id) => {
                        try {
                            return await this.activatePlugin(id);
                        }
                        catch (error) {
                            console.error(`Plugin '${id}' failed to activate.`, error);
                        }
                    });
                    await Promise.all(promises);
                    break;
                }
            }
        }
        /**
         * Deactivate the plugin and its downstream dependents if and only if the
         * plugin and its dependents all support `deactivate`.
         *
         * @param id - The ID of the plugin of interest.
         *
         * @returns A list of IDs of downstream plugins deactivated with this one.
         */
        async deactivatePlugin(id) {
            // Reject the promise if the plugin is not registered.
            const plugin = this._plugins.get(id);
            if (!plugin) {
                throw new ReferenceError(`Plugin '${id}' is not registered.`);
            }
            // Bail early if the plugin is not activated.
            if (!plugin.activated) {
                return [];
            }
            // Check that this plugin can deactivate.
            if (!plugin.deactivate) {
                throw new TypeError(`Plugin '${id}'#deactivate() method missing`);
            }
            // Find the optimal deactivation order for plugins downstream of this one.
            const manifest = Private.findDependents(id, this._plugins, this._services);
            const downstream = manifest.map(id => this._plugins.get(id));
            // Check that all downstream plugins can deactivate.
            for (const plugin of downstream) {
                if (!plugin.deactivate) {
                    throw new TypeError(`Plugin ${plugin.id}#deactivate() method missing (depends on ${id})`);
                }
            }
            // Deactivate all downstream plugins.
            for (const plugin of downstream) {
                const services = [...plugin.requires, ...plugin.optional].map(service => {
                    const id = this._services.get(service);
                    return id ? this._plugins.get(id).service : null;
                });
                // Await deactivation so the next plugins only receive active services.
                await plugin.deactivate(this.application, ...services);
                plugin.service = null;
                plugin.activated = false;
            }
            // Remove plugin ID and return manifest of deactivated plugins.
            manifest.pop();
            return manifest;
        }
        /**
         * Resolve a required service of a given type.
         *
         * @param token - The token for the service type of interest.
         *
         * @returns A promise which resolves to an instance of the requested
         *   service, or rejects with an error if it cannot be resolved.
         *
         * #### Notes
         * Services are singletons. The same instance will be returned each
         * time a given service token is resolved.
         *
         * If the plugin which provides the service has not been activated,
         * resolving the service will automatically activate the plugin.
         *
         * User code will not typically call this method directly. Instead,
         * the required services for the user's plugins will be resolved
         * automatically when the plugin is activated.
         */
        async resolveRequiredService(token) {
            // Reject the promise if there is no provider for the type.
            const id = this._services.get(token);
            if (!id) {
                throw new TypeError(`No provider for: ${token.name}.`);
            }
            // Activate the plugin if necessary.
            const plugin = this._plugins.get(id);
            if (!plugin.activated) {
                await this.activatePlugin(id);
            }
            return plugin.service;
        }
        /**
         * Resolve an optional service of a given type.
         *
         * @param token - The token for the service type of interest.
         *
         * @returns A promise which resolves to an instance of the requested
         *   service, or `null` if it cannot be resolved.
         *
         * #### Notes
         * Services are singletons. The same instance will be returned each
         * time a given service token is resolved.
         *
         * If the plugin which provides the service has not been activated,
         * resolving the service will automatically activate the plugin.
         *
         * User code will not typically call this method directly. Instead,
         * the optional services for the user's plugins will be resolved
         * automatically when the plugin is activated.
         */
        async resolveOptionalService(token) {
            // Resolve with `null` if there is no provider for the type.
            const id = this._services.get(token);
            if (!id) {
                return null;
            }
            // Activate the plugin if necessary.
            const plugin = this._plugins.get(id);
            if (!plugin.activated) {
                try {
                    await this.activatePlugin(id);
                }
                catch (reason) {
                    console.error(reason);
                    return null;
                }
            }
            return plugin.service;
        }
    }
    /**
     * The namespace for the module implementation details.
     */
    var Private;
    (function (Private) {
        class PluginData {
            constructor(plugin) {
                var _a, _b, _c, _d;
                this._activated = false;
                this._promise = null;
                this._service = null;
                this.id = plugin.id;
                this.description = (_a = plugin.description) !== null && _a !== void 0 ? _a : '';
                this.activate = plugin.activate;
                this.deactivate = (_b = plugin.deactivate) !== null && _b !== void 0 ? _b : null;
                this.provides = (_c = plugin.provides) !== null && _c !== void 0 ? _c : null;
                this.autoStart = (_d = plugin.autoStart) !== null && _d !== void 0 ? _d : false;
                this.requires = plugin.requires ? plugin.requires.slice() : [];
                this.optional = plugin.optional ? plugin.optional.slice() : [];
            }
            /**
             * Whether the plugin has been activated.
             */
            get activated() {
                return this._activated;
            }
            set activated(a) {
                this._activated = a;
            }
            /**
             * The resolved service for the plugin, or `null`.
             */
            get service() {
                return this._service;
            }
            set service(s) {
                this._service = s;
            }
            /**
             * The pending resolver promise, or `null`.
             */
            get promise() {
                return this._promise;
            }
            set promise(p) {
                this._promise = p;
            }
        }
        /**
         * Create a normalized plugin data object for the given plugin.
         */
        function createPluginData(plugin) {
            return new PluginData(plugin);
        }
        Private.createPluginData = createPluginData;
        /**
         * Ensure no cycle is present in the plugin resolution graph.
         *
         * If a cycle is detected, an error will be thrown.
         */
        function ensureNoCycle(plugin, plugins, services) {
            const dependencies = [...plugin.requires, ...plugin.optional];
            const visit = (token) => {
                if (token === plugin.provides) {
                    return true;
                }
                const id = services.get(token);
                if (!id) {
                    return false;
                }
                const visited = plugins.get(id);
                const dependencies = [...visited.requires, ...visited.optional];
                if (dependencies.length === 0) {
                    return false;
                }
                trace.push(id);
                if (dependencies.some(visit)) {
                    return true;
                }
                trace.pop();
                return false;
            };
            // Bail early if there cannot be a cycle.
            if (!plugin.provides || dependencies.length === 0) {
                return;
            }
            // Setup a stack to trace service resolution.
            const trace = [plugin.id];
            // Throw an exception if a cycle is present.
            if (dependencies.some(visit)) {
                throw new ReferenceError(`Cycle detected: ${trace.join(' -> ')}.`);
            }
        }
        Private.ensureNoCycle = ensureNoCycle;
        /**
         * Find dependents in deactivation order.
         *
         * @param id - The ID of the plugin of interest.
         *
         * @param plugins - The map containing all plugins.
         *
         * @param services - The map containing all services.
         *
         * @returns A list of dependent plugin IDs in order of deactivation
         *
         * #### Notes
         * The final item of the returned list is always the plugin of interest.
         */
        function findDependents(id, plugins, services) {
            const edges = new Array();
            const add = (id) => {
                const plugin = plugins.get(id);
                // FIXME In the case of missing optional dependencies, we may consider
                // deactivating and reactivating the plugin without the missing service.
                const dependencies = [...plugin.requires, ...plugin.optional];
                edges.push(...dependencies.reduce((acc, dep) => {
                    const service = services.get(dep);
                    if (service) {
                        // An edge is oriented from dependent to provider.
                        acc.push([id, service]);
                    }
                    return acc;
                }, []));
            };
            for (const id of plugins.keys()) {
                add(id);
            }
            // Filter edges
            // - Get all packages that dependent on the package to be deactivated
            const newEdges = edges.filter(edge => edge[1] === id);
            let oldSize = 0;
            while (newEdges.length > oldSize) {
                const previousSize = newEdges.length;
                // Get all packages that dependent on packages that will be deactivated
                const packagesOfInterest = new Set(newEdges.map(edge => edge[0]));
                for (const poi of packagesOfInterest) {
                    edges
                        .filter(edge => edge[1] === poi)
                        .forEach(edge => {
                        // We check it is not already included to deal with circular dependencies
                        if (!newEdges.includes(edge)) {
                            newEdges.push(edge);
                        }
                    });
                }
                oldSize = previousSize;
            }
            const sorted = algorithm.topologicSort(newEdges);
            const index = sorted.findIndex(candidate => candidate === id);
            if (index === -1) {
                return [id];
            }
            return sorted.slice(0, index + 1);
        }
        Private.findDependents = findDependents;
        /**
         * Collect the IDs of the plugins to activate on startup.
         */
        function collectStartupPlugins(plugins, options) {
            // Create a set to hold the plugin IDs.
            const collection = new Set();
            // Collect the auto-start (non deferred) plugins.
            for (const id of plugins.keys()) {
                if (plugins.get(id).autoStart === true) {
                    collection.add(id);
                }
            }
            // Add the startup plugins.
            if (options.startPlugins) {
                for (const id of options.startPlugins) {
                    collection.add(id);
                }
            }
            // Remove the ignored plugins.
            if (options.ignorePlugins) {
                for (const id of options.ignorePlugins) {
                    collection.delete(id);
                }
            }
            // Return the collected startup plugins.
            return Array.from(collection);
        }
        Private.collectStartupPlugins = collectStartupPlugins;
    })(Private || (Private = {}));

    // Copyright (c) Jupyter Development Team.
    // Distributed under the terms of the Modified BSD License.
    /*-----------------------------------------------------------------------------
    | Copyright (c) 2014-2017, PhosphorJS Contributors
    |
    | Distributed under the terms of the BSD 3-Clause License.
    |
    | The full license is in the file LICENSE, distributed with this software.
    |----------------------------------------------------------------------------*/
    /**
     * A class which wraps a promise into a delegate object.
     *
     * #### Notes
     * This class is useful when the logic to resolve or reject a promise
     * cannot be defined at the point where the promise is created.
     */
    class PromiseDelegate {
        /**
         * Construct a new promise delegate.
         */
        constructor() {
            this.promise = new Promise((resolve, reject) => {
                this._resolve = resolve;
                this._reject = reject;
            });
        }
        /**
         * Resolve the wrapped promise with the given value.
         *
         * @param value - The value to use for resolving the promise.
         */
        resolve(value) {
            let resolve = this._resolve;
            resolve(value);
        }
        /**
         * Reject the wrapped promise with the given value.
         *
         * @reason - The reason for rejecting the promise.
         */
        reject(reason) {
            let reject = this._reject;
            reject(reason);
        }
    }

    // Copyright (c) Jupyter Development Team.
    // Distributed under the terms of the Modified BSD License.
    /*-----------------------------------------------------------------------------
    | Copyright (c) 2014-2017, PhosphorJS Contributors
    |
    | Distributed under the terms of the BSD 3-Clause License.
    |
    | The full license is in the file LICENSE, distributed with this software.
    |----------------------------------------------------------------------------*/
    /**
     * A runtime object which captures compile-time type information.
     *
     * #### Notes
     * A token captures the compile-time type of an interface or class in
     * an object which can be used at runtime in a type-safe fashion.
     */
    class Token {
        /**
         * Construct a new token.
         *
         * @param name - A human readable name for the token.
         * @param description - Token purpose description for documentation.
         */
        constructor(name, description) {
            this.name = name;
            this.description = description !== null && description !== void 0 ? description : '';
            this._tokenStructuralPropertyT = null;
        }
    }

    // Copyright (c) Jupyter Development Team.
    // Distributed under the terms of the Modified BSD License.
    /*-----------------------------------------------------------------------------
    | Copyright (c) 2014-2017, PhosphorJS Contributors
    |
    | Distributed under the terms of the BSD 3-Clause License.
    |
    | The full license is in the file LICENSE, distributed with this software.
    |----------------------------------------------------------------------------*/
    // Fallback
    function fallbackRandomValues(buffer) {
        let value = 0;
        for (let i = 0, n = buffer.length; i < n; ++i) {
            if (i % 4 === 0) {
                value = (Math.random() * 0xffffffff) >>> 0;
            }
            buffer[i] = value & 0xff;
            value >>>= 8;
        }
    }

    // Copyright (c) Jupyter Development Team.
    // Distributed under the terms of the Modified BSD License.
    /*-----------------------------------------------------------------------------
    | Copyright (c) 2014-2017, PhosphorJS Contributors
    |
    | Distributed under the terms of the BSD 3-Clause License.
    |
    | The full license is in the file LICENSE, distributed with this software.
    |----------------------------------------------------------------------------*/
    /**
     * The namespace for random number related functionality.
     */
    exports.Random = void 0;
    (function (Random) {
        /**
         * A function which generates random bytes.
         *
         * @param buffer - The `Uint8Array` to fill with random bytes.
         *
         * #### Notes
         * A cryptographically strong random number generator will be used if
         * available. Otherwise, `Math.random` will be used as a fallback for
         * randomness.
         *
         * The following RNGs are supported, listed in order of precedence:
         *   - `window.crypto.getRandomValues`
         *   - `window.msCrypto.getRandomValues`
         *   - `require('crypto').randomFillSync
         *   - `require('crypto').randomBytes
         *   - `Math.random`
         */
        Random.getRandomValues = (() => {
            // Look up the crypto module if available.
            const crypto = (typeof window !== 'undefined' && (window.crypto || window.msCrypto)) ||
                null;
            // Modern browsers and IE 11
            if (crypto && typeof crypto.getRandomValues === 'function') {
                return function getRandomValues(buffer) {
                    return crypto.getRandomValues(buffer);
                };
            }
            // Fallback
            return fallbackRandomValues;
        })();
    })(exports.Random || (exports.Random = {}));

    // Copyright (c) Jupyter Development Team.
    // Distributed under the terms of the Modified BSD License.
    /*-----------------------------------------------------------------------------
    | Copyright (c) 2014-2017, PhosphorJS Contributors
    |
    | Distributed under the terms of the BSD 3-Clause License.
    |
    | The full license is in the file LICENSE, distributed with this software.
    |----------------------------------------------------------------------------*/
    /**
     * A function which creates a function that generates UUID v4 identifiers.
     *
     * @returns A new function that creates a UUID v4 string.
     *
     * #### Notes
     * This implementation complies with RFC 4122.
     *
     * This uses `Random.getRandomValues()` for random bytes, which in
     * turn will use the underlying `crypto` module of the platform if
     * it is available. The fallback for randomness is `Math.random`.
     */
    function uuid4Factory(getRandomValues) {
        // Create a 16 byte array to hold the random values.
        const bytes = new Uint8Array(16);
        // Create a look up table from bytes to hex strings.
        const lut = new Array(256);
        // Pad the single character hex digits with a leading zero.
        for (let i = 0; i < 16; ++i) {
            lut[i] = '0' + i.toString(16);
        }
        // Populate the rest of the hex digits.
        for (let i = 16; i < 256; ++i) {
            lut[i] = i.toString(16);
        }
        // Return a function which generates the UUID.
        return function uuid4() {
            // Get a new batch of random values.
            getRandomValues(bytes);
            // Set the UUID version number to 4.
            bytes[6] = 0x40 | (bytes[6] & 0x0f);
            // Set the clock sequence bit to the RFC spec.
            bytes[8] = 0x80 | (bytes[8] & 0x3f);
            // Assemble the UUID string.
            return (lut[bytes[0]] +
                lut[bytes[1]] +
                lut[bytes[2]] +
                lut[bytes[3]] +
                '-' +
                lut[bytes[4]] +
                lut[bytes[5]] +
                '-' +
                lut[bytes[6]] +
                lut[bytes[7]] +
                '-' +
                lut[bytes[8]] +
                lut[bytes[9]] +
                '-' +
                lut[bytes[10]] +
                lut[bytes[11]] +
                lut[bytes[12]] +
                lut[bytes[13]] +
                lut[bytes[14]] +
                lut[bytes[15]]);
        };
    }

    // Copyright (c) Jupyter Development Team.
    // Distributed under the terms of the Modified BSD License.
    /*-----------------------------------------------------------------------------
    | Copyright (c) 2014-2017, PhosphorJS Contributors
    |
    | Distributed under the terms of the BSD 3-Clause License.
    |
    | The full license is in the file LICENSE, distributed with this software.
    |----------------------------------------------------------------------------*/
    /**
     * The namespace for UUID related functionality.
     */
    exports.UUID = void 0;
    (function (UUID) {
        /**
         * A function which generates UUID v4 identifiers.
         *
         * @returns A new UUID v4 string.
         *
         * #### Notes
         * This implementation complies with RFC 4122.
         *
         * This uses `Random.getRandomValues()` for random bytes, which in
         * turn will use the underlying `crypto` module of the platform if
         * it is available. The fallback for randomness is `Math.random`.
         */
        UUID.uuid4 = uuid4Factory(exports.Random.getRandomValues);
    })(exports.UUID || (exports.UUID = {}));

    exports.MimeData = MimeData;
    exports.PluginRegistry = PluginRegistry;
    exports.PromiseDelegate = PromiseDelegate;
    exports.Token = Token;

}));
//# sourceMappingURL=index.js.map


/***/ }),

/***/ 9877:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   DisposableDelegate: () => (/* binding */ DisposableDelegate),
/* harmony export */   DisposableSet: () => (/* binding */ DisposableSet),
/* harmony export */   ObservableDisposableDelegate: () => (/* binding */ ObservableDisposableDelegate),
/* harmony export */   ObservableDisposableSet: () => (/* binding */ ObservableDisposableSet)
/* harmony export */ });
/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7339);


// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
/*-----------------------------------------------------------------------------
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/
/**
 * @packageDocumentation
 * @module disposable
 */
/**
 * A disposable object which delegates to a callback function.
 */
class DisposableDelegate {
    /**
     * Construct a new disposable delegate.
     *
     * @param fn - The callback function to invoke on dispose.
     */
    constructor(fn) {
        this._fn = fn;
    }
    /**
     * Test whether the delegate has been disposed.
     */
    get isDisposed() {
        return !this._fn;
    }
    /**
     * Dispose of the delegate and invoke the callback function.
     */
    dispose() {
        if (!this._fn) {
            return;
        }
        let fn = this._fn;
        this._fn = null;
        fn();
    }
}
/**
 * An observable disposable object which delegates to a callback function.
 */
class ObservableDisposableDelegate extends DisposableDelegate {
    constructor() {
        super(...arguments);
        this._disposed = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_0__.Signal(this);
    }
    /**
     * A signal emitted when the delegate is disposed.
     */
    get disposed() {
        return this._disposed;
    }
    /**
     * Dispose of the delegate and invoke the callback function.
     */
    dispose() {
        if (this.isDisposed) {
            return;
        }
        super.dispose();
        this._disposed.emit(undefined);
        _lumino_signaling__WEBPACK_IMPORTED_MODULE_0__.Signal.clearData(this);
    }
}
/**
 * An object which manages a collection of disposable items.
 */
class DisposableSet {
    constructor() {
        this._isDisposed = false;
        this._items = new Set();
    }
    /**
     * Test whether the set has been disposed.
     */
    get isDisposed() {
        return this._isDisposed;
    }
    /**
     * Dispose of the set and the items it contains.
     *
     * #### Notes
     * Items are disposed in the order they are added to the set.
     */
    dispose() {
        if (this._isDisposed) {
            return;
        }
        this._isDisposed = true;
        this._items.forEach(item => {
            item.dispose();
        });
        this._items.clear();
    }
    /**
     * Test whether the set contains a specific item.
     *
     * @param item - The item of interest.
     *
     * @returns `true` if the set contains the item, `false` otherwise.
     */
    contains(item) {
        return this._items.has(item);
    }
    /**
     * Add a disposable item to the set.
     *
     * @param item - The item to add to the set.
     *
     * #### Notes
     * If the item is already contained in the set, this is a no-op.
     */
    add(item) {
        this._items.add(item);
    }
    /**
     * Remove a disposable item from the set.
     *
     * @param item - The item to remove from the set.
     *
     * #### Notes
     * If the item is not contained in the set, this is a no-op.
     */
    remove(item) {
        this._items.delete(item);
    }
    /**
     * Remove all items from the set.
     */
    clear() {
        this._items.clear();
    }
}
/**
 * The namespace for the `DisposableSet` class statics.
 */
(function (DisposableSet) {
    /**
     * Create a disposable set from an iterable of items.
     *
     * @param items - The iterable object of interest.
     *
     * @returns A new disposable initialized with the given items.
     */
    function from(items) {
        let set = new DisposableSet();
        for (const item of items) {
            set.add(item);
        }
        return set;
    }
    DisposableSet.from = from;
})(DisposableSet || (DisposableSet = {}));
/**
 * An observable object which manages a collection of disposable items.
 */
class ObservableDisposableSet extends DisposableSet {
    constructor() {
        super(...arguments);
        this._disposed = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_0__.Signal(this);
    }
    /**
     * A signal emitted when the set is disposed.
     */
    get disposed() {
        return this._disposed;
    }
    /**
     * Dispose of the set and the items it contains.
     *
     * #### Notes
     * Items are disposed in the order they are added to the set.
     */
    dispose() {
        if (this.isDisposed) {
            return;
        }
        super.dispose();
        this._disposed.emit(undefined);
        _lumino_signaling__WEBPACK_IMPORTED_MODULE_0__.Signal.clearData(this);
    }
}
/**
 * The namespace for the `ObservableDisposableSet` class statics.
 */
(function (ObservableDisposableSet) {
    /**
     * Create an observable disposable set from an iterable of items.
     *
     * @param items - The iterable object of interest.
     *
     * @returns A new disposable initialized with the given items.
     */
    function from(items) {
        let set = new ObservableDisposableSet();
        for (const item of items) {
            set.add(item);
        }
        return set;
    }
    ObservableDisposableSet.from = from;
})(ObservableDisposableSet || (ObservableDisposableSet = {}));


//# sourceMappingURL=index.es6.js.map


/***/ }),

/***/ 6538:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Debouncer: () => (/* binding */ Debouncer),
/* harmony export */   Poll: () => (/* binding */ Poll),
/* harmony export */   RateLimiter: () => (/* binding */ RateLimiter),
/* harmony export */   Throttler: () => (/* binding */ Throttler)
/* harmony export */ });
/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2359);
/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_lumino_coreutils__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7339);



// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
/**
 * A class that wraps an asynchronous function to poll at a regular interval
 * with exponential increases to the interval length if the poll fails.
 *
 * @typeparam T - The resolved type of the factory's promises.
 * Defaults to `any`.
 *
 * @typeparam U - The rejected type of the factory's promises.
 * Defaults to `any`.
 *
 * @typeparam V - An optional type to extend the phases supported by a poll.
 * Defaults to `standby`, which already exists in the `Phase` type.
 */
class Poll {
    /**
     * Instantiate a new poll with exponential backoff in case of failure.
     *
     * @param options - The poll instantiation options.
     */
    constructor(options) {
        var _a;
        this._disposed = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_1__.Signal(this);
        this._lingered = 0;
        this._tick = new _lumino_coreutils__WEBPACK_IMPORTED_MODULE_0__.PromiseDelegate();
        this._ticked = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_1__.Signal(this);
        this._factory = options.factory;
        this._linger = (_a = options.linger) !== null && _a !== void 0 ? _a : Private.DEFAULT_LINGER;
        this._standby = options.standby || Private.DEFAULT_STANDBY;
        this._state = { ...Private.DEFAULT_STATE, timestamp: new Date().getTime() };
        // Normalize poll frequency `max` to be the greater of
        // default `max`, `options.frequency.max`, or `options.frequency.interval`.
        const frequency = options.frequency || {};
        const max = Math.max(frequency.interval || 0, frequency.max || 0, Private.DEFAULT_FREQUENCY.max);
        this.frequency = { ...Private.DEFAULT_FREQUENCY, ...frequency, ...{ max } };
        this.name = options.name || Private.DEFAULT_NAME;
        if ('auto' in options ? options.auto : true) {
            setTimeout(() => this.start());
        }
    }
    /**
     * A signal emitted when the poll is disposed.
     */
    get disposed() {
        return this._disposed;
    }
    /**
     * The polling frequency parameters.
     */
    get frequency() {
        return this._frequency;
    }
    set frequency(frequency) {
        if (this.isDisposed || _lumino_coreutils__WEBPACK_IMPORTED_MODULE_0__.JSONExt.deepEqual(frequency, this.frequency || {})) {
            return;
        }
        let { backoff, interval, max } = frequency;
        interval = Math.round(interval);
        max = Math.round(max);
        if (typeof backoff === 'number' && backoff < 1) {
            throw new Error('Poll backoff growth factor must be at least 1');
        }
        if ((interval < 0 || interval > max) && interval !== Poll.NEVER) {
            throw new Error('Poll interval must be between 0 and max');
        }
        if (max > Poll.MAX_INTERVAL && max !== Poll.NEVER) {
            throw new Error(`Max interval must be less than ${Poll.MAX_INTERVAL}`);
        }
        this._frequency = { backoff, interval, max };
    }
    /**
     * Whether the poll is disposed.
     */
    get isDisposed() {
        return this.state.phase === 'disposed';
    }
    /**
     * Indicates when the poll switches to standby.
     */
    get standby() {
        return this._standby;
    }
    set standby(standby) {
        if (this.isDisposed || this.standby === standby) {
            return;
        }
        this._standby = standby;
    }
    /**
     * The poll state, which is the content of the current poll tick.
     */
    get state() {
        return this._state;
    }
    /**
     * A promise that resolves when the poll next ticks.
     */
    get tick() {
        return this._tick.promise;
    }
    /**
     * A signal emitted when the poll ticks and fires off a new request.
     */
    get ticked() {
        return this._ticked;
    }
    /**
     * Return an async iterator that yields every tick.
     */
    async *[Symbol.asyncIterator]() {
        while (!this.isDisposed) {
            yield this.state;
            await this.tick.catch(() => undefined);
        }
    }
    /**
     * Dispose the poll.
     */
    dispose() {
        if (this.isDisposed) {
            return;
        }
        this._state = {
            ...Private.DISPOSED_STATE,
            timestamp: new Date().getTime()
        };
        this._tick.promise.catch(_ => undefined);
        this._tick.reject(new Error(`Poll (${this.name}) is disposed.`));
        this._disposed.emit(undefined);
        _lumino_signaling__WEBPACK_IMPORTED_MODULE_1__.Signal.clearData(this);
    }
    /**
     * Refreshes the poll. Schedules `refreshed` tick if necessary.
     *
     * @returns A promise that resolves after tick is scheduled and never rejects.
     *
     * #### Notes
     * The returned promise resolves after the tick is scheduled, but before
     * the polling action is run. To wait until after the poll action executes,
     * await the `poll.tick` promise: `await poll.refresh(); await poll.tick;`
     */
    refresh() {
        return this.schedule({
            cancel: ({ phase }) => phase === 'refreshed',
            interval: Poll.IMMEDIATE,
            phase: 'refreshed'
        });
    }
    /**
     * Schedule the next poll tick.
     *
     * @param next - The next poll state data to schedule. Defaults to standby.
     *
     * @param next.cancel - Cancels state transition if function returns `true`.
     *
     * @returns A promise that resolves when the next poll state is active.
     *
     * #### Notes
     * This method is not meant to be invoked by user code typically. It is public
     * to allow poll instances to be composed into classes that schedule ticks.
     */
    async schedule(next = {}) {
        if (this.isDisposed) {
            return;
        }
        // Check if the phase transition should be canceled.
        if (next.cancel && next.cancel(this.state)) {
            return;
        }
        // Update poll state.
        const pending = this._tick;
        const scheduled = new _lumino_coreutils__WEBPACK_IMPORTED_MODULE_0__.PromiseDelegate();
        const state = {
            interval: this.frequency.interval,
            payload: null,
            phase: 'standby',
            timestamp: new Date().getTime(),
            ...next
        };
        this._state = state;
        this._tick = scheduled;
        // Clear the schedule if possible.
        clearTimeout(this._timeout);
        // Emit ticked signal, resolve pending promise, and await its settlement.
        this._ticked.emit(this.state);
        pending.resolve(this);
        await pending.promise;
        if (state.interval === Poll.NEVER) {
            this._timeout = undefined;
            return;
        }
        // Schedule next execution and cache its timeout handle.
        const execute = () => {
            if (this.isDisposed || this.tick !== scheduled.promise) {
                return;
            }
            this._execute();
        };
        // Cache the handle in case it needs to be unscheduled.
        this._timeout = setTimeout(execute, state.interval);
    }
    /**
     * Starts the poll. Schedules `started` tick if necessary.
     *
     * @returns A promise that resolves after tick is scheduled and never rejects.
     */
    start() {
        return this.schedule({
            cancel: ({ phase }) => phase !== 'constructed' && phase !== 'standby' && phase !== 'stopped',
            interval: Poll.IMMEDIATE,
            phase: 'started'
        });
    }
    /**
     * Stops the poll. Schedules `stopped` tick if necessary.
     *
     * @returns A promise that resolves after tick is scheduled and never rejects.
     */
    stop() {
        return this.schedule({
            cancel: ({ phase }) => phase === 'stopped',
            interval: Poll.NEVER,
            phase: 'stopped'
        });
    }
    /**
     * Whether the poll is hidden.
     *
     * #### Notes
     * This property is only relevant in a browser context.
     */
    get hidden() {
        return Private.hidden;
    }
    /**
     * Execute a new poll factory promise or stand by if necessary.
     */
    _execute() {
        let standby = typeof this.standby === 'function' ? this.standby() : this.standby;
        // Check if execution should proceed, linger, or stand by.
        if (standby === 'never') {
            standby = false;
        }
        else if (standby === 'when-hidden') {
            if (this.hidden) {
                standby = ++this._lingered > this._linger;
            }
            else {
                this._lingered = 0;
                standby = false;
            }
        }
        // If in standby mode schedule next tick without calling the factory.
        if (standby) {
            void this.schedule();
            return;
        }
        const pending = this.tick;
        this._factory(this.state)
            .then((resolved) => {
            if (this.isDisposed || this.tick !== pending) {
                return;
            }
            void this.schedule({
                payload: resolved,
                phase: this.state.phase === 'rejected' ? 'reconnected' : 'resolved'
            });
        })
            .catch((rejected) => {
            if (this.isDisposed || this.tick !== pending) {
                return;
            }
            void this.schedule({
                interval: Private.sleep(this.frequency, this.state),
                payload: rejected,
                phase: 'rejected'
            });
        });
    }
}
/**
 * A namespace for `Poll` types, interfaces, and statics.
 */
(function (Poll) {
    /**
     * An interval value in ms that indicates the poll should tick immediately.
     */
    Poll.IMMEDIATE = 0;
    /**
     * Delays are 32-bit integers in many browsers so intervals need to be capped.
     *
     * #### Notes
     * https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setTimeout#Maximum_delay_value
     */
    Poll.MAX_INTERVAL = 2147483647;
    /**
     * An interval value that indicates the poll should never tick.
     */
    Poll.NEVER = Infinity;
})(Poll || (Poll = {}));
/**
 * A namespace for private module data.
 */
var Private;
(function (Private) {
    /**
     * The default backoff growth rate if `backoff` is `true`.
     */
    Private.DEFAULT_BACKOFF = 3;
    /**
     * The default polling frequency.
     */
    Private.DEFAULT_FREQUENCY = {
        backoff: true,
        interval: 1000,
        max: 30 * 1000
    };
    /**
     * The default number of times to `linger` when a poll is hidden.
     */
    Private.DEFAULT_LINGER = 1;
    /**
     * The default poll name.
     */
    Private.DEFAULT_NAME = 'unknown';
    /**
     * The default poll standby behavior.
     */
    Private.DEFAULT_STANDBY = 'when-hidden';
    /**
     * The first poll tick state's default values superseded in constructor.
     */
    Private.DEFAULT_STATE = {
        interval: Poll.NEVER,
        payload: null,
        phase: 'constructed',
        timestamp: new Date(0).getTime()
    };
    /**
     * The disposed tick state values.
     */
    Private.DISPOSED_STATE = {
        interval: Poll.NEVER,
        payload: null,
        phase: 'disposed',
        timestamp: new Date(0).getTime()
    };
    /**
     * Returns the number of milliseconds to sleep before the next tick.
     *
     * @param frequency - The poll's base frequency.
     * @param last - The poll's last tick.
     */
    function sleep(frequency, last) {
        const { backoff, interval, max } = frequency;
        if (interval === Poll.NEVER) {
            return interval;
        }
        const growth = backoff === true ? Private.DEFAULT_BACKOFF : backoff === false ? 1 : backoff;
        const random = getRandomIntInclusive(interval, last.interval * growth);
        return Math.min(max, random);
    }
    Private.sleep = sleep;
    /**
     * Keep track of whether the document is hidden. This flag is only relevant in
     * a browser context.
     *
     * Listen to `visibilitychange` event to set the `hidden` flag.
     *
     * Listening to `pagehide` is also necessary because Safari support for
     * `visibilitychange` events is partial, cf.
     * https://developer.mozilla.org/docs/Web/API/Document/visibilitychange_event
     */
    Private.hidden = (() => {
        if (typeof document === 'undefined') {
            return false;
        }
        document.addEventListener('visibilitychange', () => {
            Private.hidden = document.visibilityState === 'hidden';
        });
        document.addEventListener('pagehide', () => {
            Private.hidden = document.visibilityState === 'hidden';
        });
        return document.visibilityState === 'hidden';
    })();
    /**
     * Get a random integer between min and max, inclusive of both.
     *
     * #### Notes
     * From
     * https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Math/random#Getting_a_random_integer_between_two_values_inclusive
     *
     * From the MDN page: It might be tempting to use Math.round() to accomplish
     * that, but doing so would cause your random numbers to follow a non-uniform
     * distribution, which may not be acceptable for your needs.
     */
    function getRandomIntInclusive(min, max) {
        min = Math.ceil(min);
        max = Math.floor(max);
        return Math.floor(Math.random() * (max - min + 1)) + min;
    }
})(Private || (Private = {}));

// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
/**
 * A base class to implement rate limiters with different invocation strategies.
 *
 * @typeparam T - The resolved type of the underlying function.
 *
 * @typeparam U - The rejected type of the underlying function.
 *
 * @typeparam V - Arguments for the underlying function.
 */
class RateLimiter {
    /**
     * Instantiate a rate limiter.
     *
     * @param fn - The function to rate limit.
     *
     * @param limit - The rate limit; defaults to 500ms.
     */
    constructor(fn, limit = 500) {
        /**
         * Arguments for the underlying function.
         */
        this.args = undefined;
        /**
         * A promise that resolves on each successful invocation.
         */
        this.payload = null;
        this.limit = limit;
        this.poll = new Poll({
            auto: false,
            factory: async () => {
                const { args } = this;
                this.args = undefined;
                return fn(...args);
            },
            frequency: { backoff: false, interval: Poll.NEVER, max: Poll.NEVER },
            standby: 'never'
        });
        this.payload = new _lumino_coreutils__WEBPACK_IMPORTED_MODULE_0__.PromiseDelegate();
        this.poll.ticked.connect((_, state) => {
            const { payload } = this;
            if (state.phase === 'resolved') {
                this.payload = new _lumino_coreutils__WEBPACK_IMPORTED_MODULE_0__.PromiseDelegate();
                payload.resolve(state.payload);
                return;
            }
            if (state.phase === 'rejected' || state.phase === 'stopped') {
                this.payload = new _lumino_coreutils__WEBPACK_IMPORTED_MODULE_0__.PromiseDelegate();
                payload.promise.catch(_ => undefined);
                payload.reject(state.payload);
                return;
            }
        }, this);
    }
    /**
     * Whether the rate limiter is disposed.
     */
    get isDisposed() {
        return this.payload === null;
    }
    /**
     * Disposes the rate limiter.
     */
    dispose() {
        if (this.isDisposed) {
            return;
        }
        this.args = undefined;
        this.payload = null;
        this.poll.dispose();
    }
    /**
     * Stop the function if it is mid-flight.
     */
    async stop() {
        return this.poll.stop();
    }
}
/**
 * Wraps and debounces a function that can be called multiple times and only
 * executes the underlying function one `interval` after the last invocation.
 *
 * @typeparam T - The resolved type of the underlying function. Defaults to any.
 *
 * @typeparam U - The rejected type of the underlying function. Defaults to any.
 *
 * @typeparam V - Arguments for the underlying function. Defaults to any[].
 */
class Debouncer extends RateLimiter {
    /**
     * Invokes the function and only executes after rate limit has elapsed.
     * Each invocation resets the timer.
     */
    invoke(...args) {
        this.args = args;
        void this.poll.schedule({ interval: this.limit, phase: 'invoked' });
        return this.payload.promise;
    }
}
/**
 * Wraps and throttles a function that can be called multiple times and only
 * executes the underlying function once per `interval`.
 *
 * @typeparam T - The resolved type of the underlying function. Defaults to any.
 *
 * @typeparam U - The rejected type of the underlying function. Defaults to any.
 *
 * @typeparam V - Arguments for the underlying function. Defaults to any[].
 */
class Throttler extends RateLimiter {
    /**
     * Instantiate a throttler.
     *
     * @param fn - The function being throttled.
     *
     * @param options - Throttling configuration or throttling limit in ms.
     *
     * #### Notes
     * The `edge` defaults to `leading`; the `limit` defaults to `500`.
     */
    constructor(fn, options) {
        super(fn, typeof options === 'number' ? options : options && options.limit);
        this._trailing = false;
        if (typeof options !== 'number' && options && options.edge === 'trailing') {
            this._trailing = true;
        }
        this._interval = this._trailing ? this.limit : Poll.IMMEDIATE;
    }
    /**
     * Throttles function invocations if one is currently in flight.
     */
    invoke(...args) {
        const idle = this.poll.state.phase !== 'invoked';
        if (idle || this._trailing) {
            this.args = args;
        }
        if (idle) {
            void this.poll.schedule({ interval: this._interval, phase: 'invoked' });
        }
        return this.payload.promise;
    }
}


//# sourceMappingURL=index.es6.js.map


/***/ }),

/***/ 5328:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   AttachedProperty: () => (/* binding */ AttachedProperty)
/* harmony export */ });
// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
/*-----------------------------------------------------------------------------
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/
/**
 * @packageDocumentation
 * @module properties
 */
/**
 * A class which attaches a value to an external object.
 *
 * #### Notes
 * Attached properties are used to extend the state of an object with
 * semantic data from an unrelated class. They also encapsulate value
 * creation, coercion, and notification.
 *
 * Because attached property values are stored in a hash table, which
 * in turn is stored in a WeakMap keyed on the owner object, there is
 * non-trivial storage overhead involved in their use. The pattern is
 * therefore best used for the storage of rare data.
 */
class AttachedProperty {
    /**
     * Construct a new attached property.
     *
     * @param options - The options for initializing the property.
     */
    constructor(options) {
        this._pid = Private.nextPID();
        this.name = options.name;
        this._create = options.create;
        this._coerce = options.coerce || null;
        this._compare = options.compare || null;
        this._changed = options.changed || null;
    }
    /**
     * Get the current value of the property for a given owner.
     *
     * @param owner - The property owner of interest.
     *
     * @returns The current value of the property.
     *
     * #### Notes
     * If the value has not yet been set, the default value will be
     * computed and assigned as the current value of the property.
     */
    get(owner) {
        let value;
        let map = Private.ensureMap(owner);
        if (this._pid in map) {
            value = map[this._pid];
        }
        else {
            value = map[this._pid] = this._createValue(owner);
        }
        return value;
    }
    /**
     * Set the current value of the property for a given owner.
     *
     * @param owner - The property owner of interest.
     *
     * @param value - The value for the property.
     *
     * #### Notes
     * If the value has not yet been set, the default value will be
     * computed and used as the previous value for the comparison.
     */
    set(owner, value) {
        let oldValue;
        let map = Private.ensureMap(owner);
        if (this._pid in map) {
            oldValue = map[this._pid];
        }
        else {
            oldValue = map[this._pid] = this._createValue(owner);
        }
        let newValue = this._coerceValue(owner, value);
        this._maybeNotify(owner, oldValue, (map[this._pid] = newValue));
    }
    /**
     * Explicitly coerce the current property value for a given owner.
     *
     * @param owner - The property owner of interest.
     *
     * #### Notes
     * If the value has not yet been set, the default value will be
     * computed and used as the previous value for the comparison.
     */
    coerce(owner) {
        let oldValue;
        let map = Private.ensureMap(owner);
        if (this._pid in map) {
            oldValue = map[this._pid];
        }
        else {
            oldValue = map[this._pid] = this._createValue(owner);
        }
        let newValue = this._coerceValue(owner, oldValue);
        this._maybeNotify(owner, oldValue, (map[this._pid] = newValue));
    }
    /**
     * Get or create the default value for the given owner.
     */
    _createValue(owner) {
        let create = this._create;
        return create(owner);
    }
    /**
     * Coerce the value for the given owner.
     */
    _coerceValue(owner, value) {
        let coerce = this._coerce;
        return coerce ? coerce(owner, value) : value;
    }
    /**
     * Compare the old value and new value for equality.
     */
    _compareValue(oldValue, newValue) {
        let compare = this._compare;
        return compare ? compare(oldValue, newValue) : oldValue === newValue;
    }
    /**
     * Run the change notification if the given values are different.
     */
    _maybeNotify(owner, oldValue, newValue) {
        let changed = this._changed;
        if (changed && !this._compareValue(oldValue, newValue)) {
            changed(owner, oldValue, newValue);
        }
    }
}
/**
 * The namespace for the `AttachedProperty` class statics.
 */
(function (AttachedProperty) {
    /**
     * Clear the stored property data for the given owner.
     *
     * @param owner - The property owner of interest.
     *
     * #### Notes
     * This will clear all property values for the owner, but it will
     * **not** run the change notification for any of the properties.
     */
    function clearData(owner) {
        Private.ownerData.delete(owner);
    }
    AttachedProperty.clearData = clearData;
})(AttachedProperty || (AttachedProperty = {}));
/**
 * The namespace for the module implementation details.
 */
var Private;
(function (Private) {
    /**
     * A weak mapping of property owner to property map.
     */
    Private.ownerData = new WeakMap();
    /**
     * A function which computes successive unique property ids.
     */
    Private.nextPID = (() => {
        let id = 0;
        return () => {
            let rand = Math.random();
            let stem = `${rand}`.slice(2);
            return `pid-${stem}-${id++}`;
        };
    })();
    /**
     * Lookup the data map for the property owner.
     *
     * This will create the map if one does not already exist.
     */
    function ensureMap(owner) {
        let map = Private.ownerData.get(owner);
        if (map) {
            return map;
        }
        map = Object.create(null);
        Private.ownerData.set(owner, map);
        return map;
    }
    Private.ensureMap = ensureMap;
})(Private || (Private = {}));


//# sourceMappingURL=index.es6.js.map


/***/ }),

/***/ 7339:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Signal: () => (/* binding */ Signal),
/* harmony export */   Stream: () => (/* binding */ Stream)
/* harmony export */ });
/* harmony import */ var _lumino_algorithm__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2144);
/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2359);
/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_lumino_coreutils__WEBPACK_IMPORTED_MODULE_1__);



// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
/*-----------------------------------------------------------------------------
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/
/**
 * @packageDocumentation
 * @module signaling
 */
/**
 * A concrete implementation of `ISignal`.
 *
 * #### Example
 * ```typescript
 * import { ISignal, Signal } from '@lumino/signaling';
 *
 * class SomeClass {
 *
 *   constructor(name: string) {
 *     this.name = name;
 *   }
 *
 *   readonly name: string;
 *
 *   get valueChanged: ISignal<this, number> {
 *     return this._valueChanged;
 *   }
 *
 *   get value(): number {
 *     return this._value;
 *   }
 *
 *   set value(value: number) {
 *     if (value === this._value) {
 *       return;
 *     }
 *     this._value = value;
 *     this._valueChanged.emit(value);
 *   }
 *
 *   private _value = 0;
 *   private _valueChanged = new Signal<this, number>(this);
 * }
 *
 * function logger(sender: SomeClass, value: number): void {
 *   console.log(sender.name, value);
 * }
 *
 * let m1 = new SomeClass('foo');
 * let m2 = new SomeClass('bar');
 *
 * m1.valueChanged.connect(logger);
 * m2.valueChanged.connect(logger);
 *
 * m1.value = 42;  // logs: foo 42
 * m2.value = 17;  // logs: bar 17
 * ```
 */
class Signal {
    /**
     * Construct a new signal.
     *
     * @param sender - The sender which owns the signal.
     */
    constructor(sender) {
        this.sender = sender;
    }
    /**
     * Connect a slot to the signal.
     *
     * @param slot - The slot to invoke when the signal is emitted.
     *
     * @param thisArg - The `this` context for the slot. If provided,
     *   this must be a non-primitive object.
     *
     * @returns `true` if the connection succeeds, `false` otherwise.
     */
    connect(slot, thisArg) {
        return Private.connect(this, slot, thisArg);
    }
    /**
     * Disconnect a slot from the signal.
     *
     * @param slot - The slot to disconnect from the signal.
     *
     * @param thisArg - The `this` context for the slot. If provided,
     *   this must be a non-primitive object.
     *
     * @returns `true` if the connection is removed, `false` otherwise.
     */
    disconnect(slot, thisArg) {
        return Private.disconnect(this, slot, thisArg);
    }
    /**
     * Emit the signal and invoke the connected slots.
     *
     * @param args - The args to pass to the connected slots.
     *
     * #### Notes
     * Slots are invoked synchronously in connection order.
     *
     * Exceptions thrown by connected slots will be caught and logged.
     */
    emit(args) {
        Private.emit(this, args);
    }
}
/**
 * The namespace for the `Signal` class statics.
 */
(function (Signal) {
    /**
     * Remove all connections between a sender and receiver.
     *
     * @param sender - The sender object of interest.
     *
     * @param receiver - The receiver object of interest.
     *
     * #### Notes
     * If a `thisArg` is provided when connecting a signal, that object
     * is considered the receiver. Otherwise, the `slot` is considered
     * the receiver.
     */
    function disconnectBetween(sender, receiver) {
        Private.disconnectBetween(sender, receiver);
    }
    Signal.disconnectBetween = disconnectBetween;
    /**
     * Remove all connections where the given object is the sender.
     *
     * @param sender - The sender object of interest.
     */
    function disconnectSender(sender) {
        Private.disconnectSender(sender);
    }
    Signal.disconnectSender = disconnectSender;
    /**
     * Remove all connections where the given object is the receiver.
     *
     * @param receiver - The receiver object of interest.
     *
     * #### Notes
     * If a `thisArg` is provided when connecting a signal, that object
     * is considered the receiver. Otherwise, the `slot` is considered
     * the receiver.
     */
    function disconnectReceiver(receiver) {
        Private.disconnectReceiver(receiver);
    }
    Signal.disconnectReceiver = disconnectReceiver;
    /**
     * Remove all connections where an object is the sender or receiver.
     *
     * @param object - The object of interest.
     *
     * #### Notes
     * If a `thisArg` is provided when connecting a signal, that object
     * is considered the receiver. Otherwise, the `slot` is considered
     * the receiver.
     */
    function disconnectAll(object) {
        Private.disconnectAll(object);
    }
    Signal.disconnectAll = disconnectAll;
    /**
     * Clear all signal data associated with the given object.
     *
     * @param object - The object for which the data should be cleared.
     *
     * #### Notes
     * This removes all signal connections and any other signal data
     * associated with the object.
     */
    function clearData(object) {
        Private.disconnectAll(object);
    }
    Signal.clearData = clearData;
    /**
     * Get the signal exception handler.
     *
     * @returns The current exception handler.
     *
     * #### Notes
     * The default exception handler is `console.error`.
     */
    function getExceptionHandler() {
        return Private.exceptionHandler;
    }
    Signal.getExceptionHandler = getExceptionHandler;
    /**
     * Set the signal exception handler.
     *
     * @param handler - The function to use as the exception handler.
     *
     * @returns The old exception handler.
     *
     * #### Notes
     * The exception handler is invoked when a slot throws an exception.
     */
    function setExceptionHandler(handler) {
        let old = Private.exceptionHandler;
        Private.exceptionHandler = handler;
        return old;
    }
    Signal.setExceptionHandler = setExceptionHandler;
})(Signal || (Signal = {}));
/**
 * A concrete implementation of `IStream`.
 *
 * #### Example
 * ```typescript
 * import { IStream, Stream } from '@lumino/signaling';
 *
 * class SomeClass {
 *
 *   constructor(name: string) {
 *     this.name = name;
 *   }
 *
 *   readonly name: string;
 *
 *   get pings(): IStream<this, string> {
 *     return this._pings;
 *   }
 *
 *   ping(value: string) {
 *     this._pings.emit(value);
 *   }
 *
 *   private _pings = new Stream<this, string>(this);
 * }
 *
 * let m1 = new SomeClass('foo');
 *
 * m1.pings.connect((_, value: string) => {
 *   console.log('connect', value);
 * });
 *
 * void (async () => {
 *   for await (const ping of m1.pings) {
 *     console.log('iterator', ping);
 *   }
 * })();
 *
 * m1.ping('alpha');  // logs: connect alpha
 *                    // logs: iterator alpha
 * m1.ping('beta');   // logs: connect beta
 *                    // logs: iterator beta
 * ```
 */
class Stream extends Signal {
    constructor() {
        super(...arguments);
        this._pending = new _lumino_coreutils__WEBPACK_IMPORTED_MODULE_1__.PromiseDelegate();
    }
    /**
     * Return an async iterator that yields every emission.
     */
    async *[Symbol.asyncIterator]() {
        let pending = this._pending;
        while (true) {
            try {
                const { args, next } = await pending.promise;
                pending = next;
                yield args;
            }
            catch (_) {
                return; // Any promise rejection stops the iterator.
            }
        }
    }
    /**
     * Emit the signal, invoke the connected slots, and yield the emission.
     *
     * @param args - The args to pass to the connected slots.
     */
    emit(args) {
        const pending = this._pending;
        const next = (this._pending = new _lumino_coreutils__WEBPACK_IMPORTED_MODULE_1__.PromiseDelegate());
        pending.resolve({ args, next });
        super.emit(args);
    }
    /**
     * Stop the stream's async iteration.
     */
    stop() {
        this._pending.promise.catch(() => undefined);
        this._pending.reject('stop');
        this._pending = new _lumino_coreutils__WEBPACK_IMPORTED_MODULE_1__.PromiseDelegate();
    }
}
/**
 * The namespace for the module implementation details.
 */
var Private;
(function (Private) {
    /**
     * The signal exception handler function.
     */
    Private.exceptionHandler = (err) => {
        console.error(err);
    };
    /**
     * Connect a slot to a signal.
     *
     * @param signal - The signal of interest.
     *
     * @param slot - The slot to invoke when the signal is emitted.
     *
     * @param thisArg - The `this` context for the slot. If provided,
     *   this must be a non-primitive object.
     *
     * @returns `true` if the connection succeeds, `false` otherwise.
     */
    function connect(signal, slot, thisArg) {
        // Coerce a `null` `thisArg` to `undefined`.
        thisArg = thisArg || undefined;
        // Ensure the sender's array of receivers is created.
        let receivers = receiversForSender.get(signal.sender);
        if (!receivers) {
            receivers = [];
            receiversForSender.set(signal.sender, receivers);
        }
        // Bail if a matching connection already exists.
        if (findConnection(receivers, signal, slot, thisArg)) {
            return false;
        }
        // Choose the best object for the receiver.
        let receiver = thisArg || slot;
        // Ensure the receiver's array of senders is created.
        let senders = sendersForReceiver.get(receiver);
        if (!senders) {
            senders = [];
            sendersForReceiver.set(receiver, senders);
        }
        // Create a new connection and add it to the end of each array.
        let connection = { signal, slot, thisArg };
        receivers.push(connection);
        senders.push(connection);
        // Indicate a successful connection.
        return true;
    }
    Private.connect = connect;
    /**
     * Disconnect a slot from a signal.
     *
     * @param signal - The signal of interest.
     *
     * @param slot - The slot to disconnect from the signal.
     *
     * @param thisArg - The `this` context for the slot. If provided,
     *   this must be a non-primitive object.
     *
     * @returns `true` if the connection is removed, `false` otherwise.
     */
    function disconnect(signal, slot, thisArg) {
        // Coerce a `null` `thisArg` to `undefined`.
        thisArg = thisArg || undefined;
        // Lookup the list of receivers, and bail if none exist.
        let receivers = receiversForSender.get(signal.sender);
        if (!receivers || receivers.length === 0) {
            return false;
        }
        // Bail if no matching connection exits.
        let connection = findConnection(receivers, signal, slot, thisArg);
        if (!connection) {
            return false;
        }
        // Choose the best object for the receiver.
        let receiver = thisArg || slot;
        // Lookup the array of senders, which is now known to exist.
        let senders = sendersForReceiver.get(receiver);
        // Clear the connection and schedule cleanup of the arrays.
        connection.signal = null;
        scheduleCleanup(receivers);
        scheduleCleanup(senders);
        // Indicate a successful disconnection.
        return true;
    }
    Private.disconnect = disconnect;
    /**
     * Remove all connections between a sender and receiver.
     *
     * @param sender - The sender object of interest.
     *
     * @param receiver - The receiver object of interest.
     */
    function disconnectBetween(sender, receiver) {
        // If there are no receivers, there is nothing to do.
        let receivers = receiversForSender.get(sender);
        if (!receivers || receivers.length === 0) {
            return;
        }
        // If there are no senders, there is nothing to do.
        let senders = sendersForReceiver.get(receiver);
        if (!senders || senders.length === 0) {
            return;
        }
        // Clear each connection between the sender and receiver.
        for (const connection of senders) {
            // Skip connections which have already been cleared.
            if (!connection.signal) {
                continue;
            }
            // Clear the connection if it matches the sender.
            if (connection.signal.sender === sender) {
                connection.signal = null;
            }
        }
        // Schedule a cleanup of the senders and receivers.
        scheduleCleanup(receivers);
        scheduleCleanup(senders);
    }
    Private.disconnectBetween = disconnectBetween;
    /**
     * Remove all connections where the given object is the sender.
     *
     * @param sender - The sender object of interest.
     */
    function disconnectSender(sender) {
        // If there are no receivers, there is nothing to do.
        let receivers = receiversForSender.get(sender);
        if (!receivers || receivers.length === 0) {
            return;
        }
        // Clear each receiver connection.
        for (const connection of receivers) {
            // Skip connections which have already been cleared.
            if (!connection.signal) {
                continue;
            }
            // Choose the best object for the receiver.
            let receiver = connection.thisArg || connection.slot;
            // Clear the connection.
            connection.signal = null;
            // Cleanup the array of senders, which is now known to exist.
            scheduleCleanup(sendersForReceiver.get(receiver));
        }
        // Schedule a cleanup of the receivers.
        scheduleCleanup(receivers);
    }
    Private.disconnectSender = disconnectSender;
    /**
     * Remove all connections where the given object is the receiver.
     *
     * @param receiver - The receiver object of interest.
     */
    function disconnectReceiver(receiver) {
        // If there are no senders, there is nothing to do.
        let senders = sendersForReceiver.get(receiver);
        if (!senders || senders.length === 0) {
            return;
        }
        // Clear each sender connection.
        for (const connection of senders) {
            // Skip connections which have already been cleared.
            if (!connection.signal) {
                continue;
            }
            // Lookup the sender for the connection.
            let sender = connection.signal.sender;
            // Clear the connection.
            connection.signal = null;
            // Cleanup the array of receivers, which is now known to exist.
            scheduleCleanup(receiversForSender.get(sender));
        }
        // Schedule a cleanup of the list of senders.
        scheduleCleanup(senders);
    }
    Private.disconnectReceiver = disconnectReceiver;
    /**
     * Remove all connections where an object is the sender or receiver.
     *
     * @param object - The object of interest.
     */
    function disconnectAll(object) {
        // Remove all connections where the given object is the sender.
        disconnectSender(object);
        // Remove all connections where the given object is the receiver.
        disconnectReceiver(object);
    }
    Private.disconnectAll = disconnectAll;
    /**
     * Emit a signal and invoke its connected slots.
     *
     * @param signal - The signal of interest.
     *
     * @param args - The args to pass to the connected slots.
     *
     * #### Notes
     * Slots are invoked synchronously in connection order.
     *
     * Exceptions thrown by connected slots will be caught and logged.
     */
    function emit(signal, args) {
        // If there are no receivers, there is nothing to do.
        let receivers = receiversForSender.get(signal.sender);
        if (!receivers || receivers.length === 0) {
            return;
        }
        // Invoke the slots for connections with a matching signal.
        // Any connections added during emission are not invoked.
        for (let i = 0, n = receivers.length; i < n; ++i) {
            let connection = receivers[i];
            if (connection.signal === signal) {
                invokeSlot(connection, args);
            }
        }
    }
    Private.emit = emit;
    /**
     * A weak mapping of sender to array of receiver connections.
     */
    const receiversForSender = new WeakMap();
    /**
     * A weak mapping of receiver to array of sender connections.
     */
    const sendersForReceiver = new WeakMap();
    /**
     * A set of connection arrays which are pending cleanup.
     */
    const dirtySet = new Set();
    /**
     * A function to schedule an event loop callback.
     */
    const schedule = (() => {
        let ok = typeof requestAnimationFrame === 'function';
        return ok ? requestAnimationFrame : setImmediate;
    })();
    /**
     * Find a connection which matches the given parameters.
     */
    function findConnection(connections, signal, slot, thisArg) {
        return (0,_lumino_algorithm__WEBPACK_IMPORTED_MODULE_0__.find)(connections, connection => connection.signal === signal &&
            connection.slot === slot &&
            connection.thisArg === thisArg);
    }
    /**
     * Invoke a slot with the given parameters.
     *
     * The connection is assumed to be valid.
     *
     * Exceptions in the slot will be caught and logged.
     */
    function invokeSlot(connection, args) {
        let { signal, slot, thisArg } = connection;
        try {
            slot.call(thisArg, signal.sender, args);
        }
        catch (err) {
            Private.exceptionHandler(err);
        }
    }
    /**
     * Schedule a cleanup of a connection array.
     *
     * This will add the array to the dirty set and schedule a deferred
     * cleanup of the array contents. On cleanup, any connection with a
     * `null` signal will be removed from the array.
     */
    function scheduleCleanup(array) {
        if (dirtySet.size === 0) {
            schedule(cleanupDirtySet);
        }
        dirtySet.add(array);
    }
    /**
     * Cleanup the connection lists in the dirty set.
     *
     * This function should only be invoked asynchronously, when the
     * stack frame is guaranteed to not be on the path of user code.
     */
    function cleanupDirtySet() {
        dirtySet.forEach(cleanupConnections);
        dirtySet.clear();
    }
    /**
     * Cleanup the dirty connections in a connections array.
     *
     * This will remove any connection with a `null` signal.
     *
     * This function should only be invoked asynchronously, when the
     * stack frame is guaranteed to not be on the path of user code.
     */
    function cleanupConnections(connections) {
        _lumino_algorithm__WEBPACK_IMPORTED_MODULE_0__.ArrayExt.removeAllWhere(connections, isDeadConnection);
    }
    /**
     * Test whether a connection is dead.
     *
     * A dead connection has a `null` signal.
     */
    function isDeadConnection(connection) {
        return connection.signal === null;
    }
})(Private || (Private = {}));


//# sourceMappingURL=index.es6.js.map


/***/ }),

/***/ 9556:
/***/ (() => {

ace.define("ace/snippets",["require","exports","module","ace/lib/oop","ace/lib/event_emitter","ace/lib/lang","ace/range","ace/anchor","ace/keyboard/hash_handler","ace/tokenizer","ace/lib/dom","ace/editor"], function(acequire, exports, module) {
"use strict";
var oop = acequire("./lib/oop");
var EventEmitter = acequire("./lib/event_emitter").EventEmitter;
var lang = acequire("./lib/lang");
var Range = acequire("./range").Range;
var Anchor = acequire("./anchor").Anchor;
var HashHandler = acequire("./keyboard/hash_handler").HashHandler;
var Tokenizer = acequire("./tokenizer").Tokenizer;
var comparePoints = Range.comparePoints;

var SnippetManager = function() {
    this.snippetMap = {};
    this.snippetNameMap = {};
};

(function() {
    oop.implement(this, EventEmitter);
    
    this.getTokenizer = function() {
        function TabstopToken(str, _, stack) {
            str = str.substr(1);
            if (/^\d+$/.test(str) && !stack.inFormatString)
                return [{tabstopId: parseInt(str, 10)}];
            return [{text: str}];
        }
        function escape(ch) {
            return "(?:[^\\\\" + ch + "]|\\\\.)";
        }
        SnippetManager.$tokenizer = new Tokenizer({
            start: [
                {regex: /:/, onMatch: function(val, state, stack) {
                    if (stack.length && stack[0].expectIf) {
                        stack[0].expectIf = false;
                        stack[0].elseBranch = stack[0];
                        return [stack[0]];
                    }
                    return ":";
                }},
                {regex: /\\./, onMatch: function(val, state, stack) {
                    var ch = val[1];
                    if (ch == "}" && stack.length) {
                        val = ch;
                    }else if ("`$\\".indexOf(ch) != -1) {
                        val = ch;
                    } else if (stack.inFormatString) {
                        if (ch == "n")
                            val = "\n";
                        else if (ch == "t")
                            val = "\n";
                        else if ("ulULE".indexOf(ch) != -1) {
                            val = {changeCase: ch, local: ch > "a"};
                        }
                    }

                    return [val];
                }},
                {regex: /}/, onMatch: function(val, state, stack) {
                    return [stack.length ? stack.shift() : val];
                }},
                {regex: /\$(?:\d+|\w+)/, onMatch: TabstopToken},
                {regex: /\$\{[\dA-Z_a-z]+/, onMatch: function(str, state, stack) {
                    var t = TabstopToken(str.substr(1), state, stack);
                    stack.unshift(t[0]);
                    return t;
                }, next: "snippetVar"},
                {regex: /\n/, token: "newline", merge: false}
            ],
            snippetVar: [
                {regex: "\\|" + escape("\\|") + "*\\|", onMatch: function(val, state, stack) {
                    stack[0].choices = val.slice(1, -1).split(",");
                }, next: "start"},
                {regex: "/(" + escape("/") + "+)/(?:(" + escape("/") + "*)/)(\\w*):?",
                 onMatch: function(val, state, stack) {
                    var ts = stack[0];
                    ts.fmtString = val;

                    val = this.splitRegex.exec(val);
                    ts.guard = val[1];
                    ts.fmt = val[2];
                    ts.flag = val[3];
                    return "";
                }, next: "start"},
                {regex: "`" + escape("`") + "*`", onMatch: function(val, state, stack) {
                    stack[0].code = val.splice(1, -1);
                    return "";
                }, next: "start"},
                {regex: "\\?", onMatch: function(val, state, stack) {
                    if (stack[0])
                        stack[0].expectIf = true;
                }, next: "start"},
                {regex: "([^:}\\\\]|\\\\.)*:?", token: "", next: "start"}
            ],
            formatString: [
                {regex: "/(" + escape("/") + "+)/", token: "regex"},
                {regex: "", onMatch: function(val, state, stack) {
                    stack.inFormatString = true;
                }, next: "start"}
            ]
        });
        SnippetManager.prototype.getTokenizer = function() {
            return SnippetManager.$tokenizer;
        };
        return SnippetManager.$tokenizer;
    };

    this.tokenizeTmSnippet = function(str, startState) {
        return this.getTokenizer().getLineTokens(str, startState).tokens.map(function(x) {
            return x.value || x;
        });
    };

    this.$getDefaultValue = function(editor, name) {
        if (/^[A-Z]\d+$/.test(name)) {
            var i = name.substr(1);
            return (this.variables[name[0] + "__"] || {})[i];
        }
        if (/^\d+$/.test(name)) {
            return (this.variables.__ || {})[name];
        }
        name = name.replace(/^TM_/, "");

        if (!editor)
            return;
        var s = editor.session;
        switch(name) {
            case "CURRENT_WORD":
                var r = s.getWordRange();
            case "SELECTION":
            case "SELECTED_TEXT":
                return s.getTextRange(r);
            case "CURRENT_LINE":
                return s.getLine(editor.getCursorPosition().row);
            case "PREV_LINE": // not possible in textmate
                return s.getLine(editor.getCursorPosition().row - 1);
            case "LINE_INDEX":
                return editor.getCursorPosition().column;
            case "LINE_NUMBER":
                return editor.getCursorPosition().row + 1;
            case "SOFT_TABS":
                return s.getUseSoftTabs() ? "YES" : "NO";
            case "TAB_SIZE":
                return s.getTabSize();
            case "FILENAME":
            case "FILEPATH":
                return "";
            case "FULLNAME":
                return "Ace";
        }
    };
    this.variables = {};
    this.getVariableValue = function(editor, varName) {
        if (this.variables.hasOwnProperty(varName))
            return this.variables[varName](editor, varName) || "";
        return this.$getDefaultValue(editor, varName) || "";
    };
    this.tmStrFormat = function(str, ch, editor) {
        var flag = ch.flag || "";
        var re = ch.guard;
        re = new RegExp(re, flag.replace(/[^gi]/, ""));
        var fmtTokens = this.tokenizeTmSnippet(ch.fmt, "formatString");
        var _self = this;
        var formatted = str.replace(re, function() {
            _self.variables.__ = arguments;
            var fmtParts = _self.resolveVariables(fmtTokens, editor);
            var gChangeCase = "E";
            for (var i  = 0; i < fmtParts.length; i++) {
                var ch = fmtParts[i];
                if (typeof ch == "object") {
                    fmtParts[i] = "";
                    if (ch.changeCase && ch.local) {
                        var next = fmtParts[i + 1];
                        if (next && typeof next == "string") {
                            if (ch.changeCase == "u")
                                fmtParts[i] = next[0].toUpperCase();
                            else
                                fmtParts[i] = next[0].toLowerCase();
                            fmtParts[i + 1] = next.substr(1);
                        }
                    } else if (ch.changeCase) {
                        gChangeCase = ch.changeCase;
                    }
                } else if (gChangeCase == "U") {
                    fmtParts[i] = ch.toUpperCase();
                } else if (gChangeCase == "L") {
                    fmtParts[i] = ch.toLowerCase();
                }
            }
            return fmtParts.join("");
        });
        this.variables.__ = null;
        return formatted;
    };

    this.resolveVariables = function(snippet, editor) {
        var result = [];
        for (var i = 0; i < snippet.length; i++) {
            var ch = snippet[i];
            if (typeof ch == "string") {
                result.push(ch);
            } else if (typeof ch != "object") {
                continue;
            } else if (ch.skip) {
                gotoNext(ch);
            } else if (ch.processed < i) {
                continue;
            } else if (ch.text) {
                var value = this.getVariableValue(editor, ch.text);
                if (value && ch.fmtString)
                    value = this.tmStrFormat(value, ch);
                ch.processed = i;
                if (ch.expectIf == null) {
                    if (value) {
                        result.push(value);
                        gotoNext(ch);
                    }
                } else {
                    if (value) {
                        ch.skip = ch.elseBranch;
                    } else
                        gotoNext(ch);
                }
            } else if (ch.tabstopId != null) {
                result.push(ch);
            } else if (ch.changeCase != null) {
                result.push(ch);
            }
        }
        function gotoNext(ch) {
            var i1 = snippet.indexOf(ch, i + 1);
            if (i1 != -1)
                i = i1;
        }
        return result;
    };

    this.insertSnippetForSelection = function(editor, snippetText) {
        var cursor = editor.getCursorPosition();
        var line = editor.session.getLine(cursor.row);
        var tabString = editor.session.getTabString();
        var indentString = line.match(/^\s*/)[0];
        
        if (cursor.column < indentString.length)
            indentString = indentString.slice(0, cursor.column);

        snippetText = snippetText.replace(/\r/g, "");
        var tokens = this.tokenizeTmSnippet(snippetText);
        tokens = this.resolveVariables(tokens, editor);
        tokens = tokens.map(function(x) {
            if (x == "\n")
                return x + indentString;
            if (typeof x == "string")
                return x.replace(/\t/g, tabString);
            return x;
        });
        var tabstops = [];
        tokens.forEach(function(p, i) {
            if (typeof p != "object")
                return;
            var id = p.tabstopId;
            var ts = tabstops[id];
            if (!ts) {
                ts = tabstops[id] = [];
                ts.index = id;
                ts.value = "";
            }
            if (ts.indexOf(p) !== -1)
                return;
            ts.push(p);
            var i1 = tokens.indexOf(p, i + 1);
            if (i1 === -1)
                return;

            var value = tokens.slice(i + 1, i1);
            var isNested = value.some(function(t) {return typeof t === "object";});
            if (isNested && !ts.value) {
                ts.value = value;
            } else if (value.length && (!ts.value || typeof ts.value !== "string")) {
                ts.value = value.join("");
            }
        });
        tabstops.forEach(function(ts) {ts.length = 0;});
        var expanding = {};
        function copyValue(val) {
            var copy = [];
            for (var i = 0; i < val.length; i++) {
                var p = val[i];
                if (typeof p == "object") {
                    if (expanding[p.tabstopId])
                        continue;
                    var j = val.lastIndexOf(p, i - 1);
                    p = copy[j] || {tabstopId: p.tabstopId};
                }
                copy[i] = p;
            }
            return copy;
        }
        for (var i = 0; i < tokens.length; i++) {
            var p = tokens[i];
            if (typeof p != "object")
                continue;
            var id = p.tabstopId;
            var i1 = tokens.indexOf(p, i + 1);
            if (expanding[id]) {
                if (expanding[id] === p)
                    expanding[id] = null;
                continue;
            }
            
            var ts = tabstops[id];
            var arg = typeof ts.value == "string" ? [ts.value] : copyValue(ts.value);
            arg.unshift(i + 1, Math.max(0, i1 - i));
            arg.push(p);
            expanding[id] = p;
            tokens.splice.apply(tokens, arg);

            if (ts.indexOf(p) === -1)
                ts.push(p);
        }
        var row = 0, column = 0;
        var text = "";
        tokens.forEach(function(t) {
            if (typeof t === "string") {
                var lines = t.split("\n");
                if (lines.length > 1){
                    column = lines[lines.length - 1].length;
                    row += lines.length - 1;
                } else
                    column += t.length;
                text += t;
            } else {
                if (!t.start)
                    t.start = {row: row, column: column};
                else
                    t.end = {row: row, column: column};
            }
        });
        var range = editor.getSelectionRange();
        var end = editor.session.replace(range, text);

        var tabstopManager = new TabstopManager(editor);
        var selectionId = editor.inVirtualSelectionMode && editor.selection.index;
        tabstopManager.addTabstops(tabstops, range.start, end, selectionId);
    };
    
    this.insertSnippet = function(editor, snippetText) {
        var self = this;
        if (editor.inVirtualSelectionMode)
            return self.insertSnippetForSelection(editor, snippetText);
        
        editor.forEachSelection(function() {
            self.insertSnippetForSelection(editor, snippetText);
        }, null, {keepOrder: true});
        
        if (editor.tabstopManager)
            editor.tabstopManager.tabNext();
    };

    this.$getScope = function(editor) {
        var scope = editor.session.$mode.$id || "";
        scope = scope.split("/").pop();
        if (scope === "html" || scope === "php") {
            if (scope === "php" && !editor.session.$mode.inlinePhp) 
                scope = "html";
            var c = editor.getCursorPosition();
            var state = editor.session.getState(c.row);
            if (typeof state === "object") {
                state = state[0];
            }
            if (state.substring) {
                if (state.substring(0, 3) == "js-")
                    scope = "javascript";
                else if (state.substring(0, 4) == "css-")
                    scope = "css";
                else if (state.substring(0, 4) == "php-")
                    scope = "php";
            }
        }
        
        return scope;
    };

    this.getActiveScopes = function(editor) {
        var scope = this.$getScope(editor);
        var scopes = [scope];
        var snippetMap = this.snippetMap;
        if (snippetMap[scope] && snippetMap[scope].includeScopes) {
            scopes.push.apply(scopes, snippetMap[scope].includeScopes);
        }
        scopes.push("_");
        return scopes;
    };

    this.expandWithTab = function(editor, options) {
        var self = this;
        var result = editor.forEachSelection(function() {
            return self.expandSnippetForSelection(editor, options);
        }, null, {keepOrder: true});
        if (result && editor.tabstopManager)
            editor.tabstopManager.tabNext();
        return result;
    };
    
    this.expandSnippetForSelection = function(editor, options) {
        var cursor = editor.getCursorPosition();
        var line = editor.session.getLine(cursor.row);
        var before = line.substring(0, cursor.column);
        var after = line.substr(cursor.column);

        var snippetMap = this.snippetMap;
        var snippet;
        this.getActiveScopes(editor).some(function(scope) {
            var snippets = snippetMap[scope];
            if (snippets)
                snippet = this.findMatchingSnippet(snippets, before, after);
            return !!snippet;
        }, this);
        if (!snippet)
            return false;
        if (options && options.dryRun)
            return true;
        editor.session.doc.removeInLine(cursor.row,
            cursor.column - snippet.replaceBefore.length,
            cursor.column + snippet.replaceAfter.length
        );

        this.variables.M__ = snippet.matchBefore;
        this.variables.T__ = snippet.matchAfter;
        this.insertSnippetForSelection(editor, snippet.content);

        this.variables.M__ = this.variables.T__ = null;
        return true;
    };

    this.findMatchingSnippet = function(snippetList, before, after) {
        for (var i = snippetList.length; i--;) {
            var s = snippetList[i];
            if (s.startRe && !s.startRe.test(before))
                continue;
            if (s.endRe && !s.endRe.test(after))
                continue;
            if (!s.startRe && !s.endRe)
                continue;

            s.matchBefore = s.startRe ? s.startRe.exec(before) : [""];
            s.matchAfter = s.endRe ? s.endRe.exec(after) : [""];
            s.replaceBefore = s.triggerRe ? s.triggerRe.exec(before)[0] : "";
            s.replaceAfter = s.endTriggerRe ? s.endTriggerRe.exec(after)[0] : "";
            return s;
        }
    };

    this.snippetMap = {};
    this.snippetNameMap = {};
    this.register = function(snippets, scope) {
        var snippetMap = this.snippetMap;
        var snippetNameMap = this.snippetNameMap;
        var self = this;
        
        if (!snippets) 
            snippets = [];
        
        function wrapRegexp(src) {
            if (src && !/^\^?\(.*\)\$?$|^\\b$/.test(src))
                src = "(?:" + src + ")";

            return src || "";
        }
        function guardedRegexp(re, guard, opening) {
            re = wrapRegexp(re);
            guard = wrapRegexp(guard);
            if (opening) {
                re = guard + re;
                if (re && re[re.length - 1] != "$")
                    re = re + "$";
            } else {
                re = re + guard;
                if (re && re[0] != "^")
                    re = "^" + re;
            }
            return new RegExp(re);
        }

        function addSnippet(s) {
            if (!s.scope)
                s.scope = scope || "_";
            scope = s.scope;
            if (!snippetMap[scope]) {
                snippetMap[scope] = [];
                snippetNameMap[scope] = {};
            }

            var map = snippetNameMap[scope];
            if (s.name) {
                var old = map[s.name];
                if (old)
                    self.unregister(old);
                map[s.name] = s;
            }
            snippetMap[scope].push(s);

            if (s.tabTrigger && !s.trigger) {
                if (!s.guard && /^\w/.test(s.tabTrigger))
                    s.guard = "\\b";
                s.trigger = lang.escapeRegExp(s.tabTrigger);
            }
            
            if (!s.trigger && !s.guard && !s.endTrigger && !s.endGuard)
                return;
            
            s.startRe = guardedRegexp(s.trigger, s.guard, true);
            s.triggerRe = new RegExp(s.trigger, "", true);

            s.endRe = guardedRegexp(s.endTrigger, s.endGuard, true);
            s.endTriggerRe = new RegExp(s.endTrigger, "", true);
        }

        if (snippets && snippets.content)
            addSnippet(snippets);
        else if (Array.isArray(snippets))
            snippets.forEach(addSnippet);
        
        this._signal("registerSnippets", {scope: scope});
    };
    this.unregister = function(snippets, scope) {
        var snippetMap = this.snippetMap;
        var snippetNameMap = this.snippetNameMap;

        function removeSnippet(s) {
            var nameMap = snippetNameMap[s.scope||scope];
            if (nameMap && nameMap[s.name]) {
                delete nameMap[s.name];
                var map = snippetMap[s.scope||scope];
                var i = map && map.indexOf(s);
                if (i >= 0)
                    map.splice(i, 1);
            }
        }
        if (snippets.content)
            removeSnippet(snippets);
        else if (Array.isArray(snippets))
            snippets.forEach(removeSnippet);
    };
    this.parseSnippetFile = function(str) {
        str = str.replace(/\r/g, "");
        var list = [], snippet = {};
        var re = /^#.*|^({[\s\S]*})\s*$|^(\S+) (.*)$|^((?:\n*\t.*)+)/gm;
        var m;
        while (m = re.exec(str)) {
            if (m[1]) {
                try {
                    snippet = JSON.parse(m[1]);
                    list.push(snippet);
                } catch (e) {}
            } if (m[4]) {
                snippet.content = m[4].replace(/^\t/gm, "");
                list.push(snippet);
                snippet = {};
            } else {
                var key = m[2], val = m[3];
                if (key == "regex") {
                    var guardRe = /\/((?:[^\/\\]|\\.)*)|$/g;
                    snippet.guard = guardRe.exec(val)[1];
                    snippet.trigger = guardRe.exec(val)[1];
                    snippet.endTrigger = guardRe.exec(val)[1];
                    snippet.endGuard = guardRe.exec(val)[1];
                } else if (key == "snippet") {
                    snippet.tabTrigger = val.match(/^\S*/)[0];
                    if (!snippet.name)
                        snippet.name = val;
                } else {
                    snippet[key] = val;
                }
            }
        }
        return list;
    };
    this.getSnippetByName = function(name, editor) {
        var snippetMap = this.snippetNameMap;
        var snippet;
        this.getActiveScopes(editor).some(function(scope) {
            var snippets = snippetMap[scope];
            if (snippets)
                snippet = snippets[name];
            return !!snippet;
        }, this);
        return snippet;
    };

}).call(SnippetManager.prototype);


var TabstopManager = function(editor) {
    if (editor.tabstopManager)
        return editor.tabstopManager;
    editor.tabstopManager = this;
    this.$onChange = this.onChange.bind(this);
    this.$onChangeSelection = lang.delayedCall(this.onChangeSelection.bind(this)).schedule;
    this.$onChangeSession = this.onChangeSession.bind(this);
    this.$onAfterExec = this.onAfterExec.bind(this);
    this.attach(editor);
};
(function() {
    this.attach = function(editor) {
        this.index = 0;
        this.ranges = [];
        this.tabstops = [];
        this.$openTabstops = null;
        this.selectedTabstop = null;

        this.editor = editor;
        this.editor.on("change", this.$onChange);
        this.editor.on("changeSelection", this.$onChangeSelection);
        this.editor.on("changeSession", this.$onChangeSession);
        this.editor.commands.on("afterExec", this.$onAfterExec);
        this.editor.keyBinding.addKeyboardHandler(this.keyboardHandler);
    };
    this.detach = function() {
        this.tabstops.forEach(this.removeTabstopMarkers, this);
        this.ranges = null;
        this.tabstops = null;
        this.selectedTabstop = null;
        this.editor.removeListener("change", this.$onChange);
        this.editor.removeListener("changeSelection", this.$onChangeSelection);
        this.editor.removeListener("changeSession", this.$onChangeSession);
        this.editor.commands.removeListener("afterExec", this.$onAfterExec);
        this.editor.keyBinding.removeKeyboardHandler(this.keyboardHandler);
        this.editor.tabstopManager = null;
        this.editor = null;
    };

    this.onChange = function(delta) {
        var changeRange = delta;
        var isRemove = delta.action[0] == "r";
        var start = delta.start;
        var end = delta.end;
        var startRow = start.row;
        var endRow = end.row;
        var lineDif = endRow - startRow;
        var colDiff = end.column - start.column;

        if (isRemove) {
            lineDif = -lineDif;
            colDiff = -colDiff;
        }
        if (!this.$inChange && isRemove) {
            var ts = this.selectedTabstop;
            var changedOutside = ts && !ts.some(function(r) {
                return comparePoints(r.start, start) <= 0 && comparePoints(r.end, end) >= 0;
            });
            if (changedOutside)
                return this.detach();
        }
        var ranges = this.ranges;
        for (var i = 0; i < ranges.length; i++) {
            var r = ranges[i];
            if (r.end.row < start.row)
                continue;

            if (isRemove && comparePoints(start, r.start) < 0 && comparePoints(end, r.end) > 0) {
                this.removeRange(r);
                i--;
                continue;
            }

            if (r.start.row == startRow && r.start.column > start.column)
                r.start.column += colDiff;
            if (r.end.row == startRow && r.end.column >= start.column)
                r.end.column += colDiff;
            if (r.start.row >= startRow)
                r.start.row += lineDif;
            if (r.end.row >= startRow)
                r.end.row += lineDif;

            if (comparePoints(r.start, r.end) > 0)
                this.removeRange(r);
        }
        if (!ranges.length)
            this.detach();
    };
    this.updateLinkedFields = function() {
        var ts = this.selectedTabstop;
        if (!ts || !ts.hasLinkedRanges)
            return;
        this.$inChange = true;
        var session = this.editor.session;
        var text = session.getTextRange(ts.firstNonLinked);
        for (var i = ts.length; i--;) {
            var range = ts[i];
            if (!range.linked)
                continue;
            var fmt = exports.snippetManager.tmStrFormat(text, range.original);
            session.replace(range, fmt);
        }
        this.$inChange = false;
    };
    this.onAfterExec = function(e) {
        if (e.command && !e.command.readOnly)
            this.updateLinkedFields();
    };
    this.onChangeSelection = function() {
        if (!this.editor)
            return;
        var lead = this.editor.selection.lead;
        var anchor = this.editor.selection.anchor;
        var isEmpty = this.editor.selection.isEmpty();
        for (var i = this.ranges.length; i--;) {
            if (this.ranges[i].linked)
                continue;
            var containsLead = this.ranges[i].contains(lead.row, lead.column);
            var containsAnchor = isEmpty || this.ranges[i].contains(anchor.row, anchor.column);
            if (containsLead && containsAnchor)
                return;
        }
        this.detach();
    };
    this.onChangeSession = function() {
        this.detach();
    };
    this.tabNext = function(dir) {
        var max = this.tabstops.length;
        var index = this.index + (dir || 1);
        index = Math.min(Math.max(index, 1), max);
        if (index == max)
            index = 0;
        this.selectTabstop(index);
        if (index === 0)
            this.detach();
    };
    this.selectTabstop = function(index) {
        this.$openTabstops = null;
        var ts = this.tabstops[this.index];
        if (ts)
            this.addTabstopMarkers(ts);
        this.index = index;
        ts = this.tabstops[this.index];
        if (!ts || !ts.length)
            return;
        
        this.selectedTabstop = ts;
        if (!this.editor.inVirtualSelectionMode) {        
            var sel = this.editor.multiSelect;
            sel.toSingleRange(ts.firstNonLinked.clone());
            for (var i = ts.length; i--;) {
                if (ts.hasLinkedRanges && ts[i].linked)
                    continue;
                sel.addRange(ts[i].clone(), true);
            }
            if (sel.ranges[0])
                sel.addRange(sel.ranges[0].clone());
        } else {
            this.editor.selection.setRange(ts.firstNonLinked);
        }
        
        this.editor.keyBinding.addKeyboardHandler(this.keyboardHandler);
    };
    this.addTabstops = function(tabstops, start, end) {
        if (!this.$openTabstops)
            this.$openTabstops = [];
        if (!tabstops[0]) {
            var p = Range.fromPoints(end, end);
            moveRelative(p.start, start);
            moveRelative(p.end, start);
            tabstops[0] = [p];
            tabstops[0].index = 0;
        }

        var i = this.index;
        var arg = [i + 1, 0];
        var ranges = this.ranges;
        tabstops.forEach(function(ts, index) {
            var dest = this.$openTabstops[index] || ts;
                
            for (var i = ts.length; i--;) {
                var p = ts[i];
                var range = Range.fromPoints(p.start, p.end || p.start);
                movePoint(range.start, start);
                movePoint(range.end, start);
                range.original = p;
                range.tabstop = dest;
                ranges.push(range);
                if (dest != ts)
                    dest.unshift(range);
                else
                    dest[i] = range;
                if (p.fmtString) {
                    range.linked = true;
                    dest.hasLinkedRanges = true;
                } else if (!dest.firstNonLinked)
                    dest.firstNonLinked = range;
            }
            if (!dest.firstNonLinked)
                dest.hasLinkedRanges = false;
            if (dest === ts) {
                arg.push(dest);
                this.$openTabstops[index] = dest;
            }
            this.addTabstopMarkers(dest);
        }, this);
        
        if (arg.length > 2) {
            if (this.tabstops.length)
                arg.push(arg.splice(2, 1)[0]);
            this.tabstops.splice.apply(this.tabstops, arg);
        }
    };

    this.addTabstopMarkers = function(ts) {
        var session = this.editor.session;
        ts.forEach(function(range) {
            if  (!range.markerId)
                range.markerId = session.addMarker(range, "ace_snippet-marker", "text");
        });
    };
    this.removeTabstopMarkers = function(ts) {
        var session = this.editor.session;
        ts.forEach(function(range) {
            session.removeMarker(range.markerId);
            range.markerId = null;
        });
    };
    this.removeRange = function(range) {
        var i = range.tabstop.indexOf(range);
        range.tabstop.splice(i, 1);
        i = this.ranges.indexOf(range);
        this.ranges.splice(i, 1);
        this.editor.session.removeMarker(range.markerId);
        if (!range.tabstop.length) {
            i = this.tabstops.indexOf(range.tabstop);
            if (i != -1)
                this.tabstops.splice(i, 1);
            if (!this.tabstops.length)
                this.detach();
        }
    };

    this.keyboardHandler = new HashHandler();
    this.keyboardHandler.bindKeys({
        "Tab": function(ed) {
            if (exports.snippetManager && exports.snippetManager.expandWithTab(ed)) {
                return;
            }

            ed.tabstopManager.tabNext(1);
        },
        "Shift-Tab": function(ed) {
            ed.tabstopManager.tabNext(-1);
        },
        "Esc": function(ed) {
            ed.tabstopManager.detach();
        },
        "Return": function(ed) {
            return false;
        }
    });
}).call(TabstopManager.prototype);



var changeTracker = {};
changeTracker.onChange = Anchor.prototype.onChange;
changeTracker.setPosition = function(row, column) {
    this.pos.row = row;
    this.pos.column = column;
};
changeTracker.update = function(pos, delta, $insertRight) {
    this.$insertRight = $insertRight;
    this.pos = pos; 
    this.onChange(delta);
};

var movePoint = function(point, diff) {
    if (point.row == 0)
        point.column += diff.column;
    point.row += diff.row;
};

var moveRelative = function(point, start) {
    if (point.row == start.row)
        point.column -= start.column;
    point.row -= start.row;
};


acequire("./lib/dom").importCssString("\
.ace_snippet-marker {\
    -moz-box-sizing: border-box;\
    box-sizing: border-box;\
    background: rgba(194, 193, 208, 0.09);\
    border: 1px dotted rgba(211, 208, 235, 0.62);\
    position: absolute;\
}");

exports.snippetManager = new SnippetManager();


var Editor = acequire("./editor").Editor;
(function() {
    this.insertSnippet = function(content, options) {
        return exports.snippetManager.insertSnippet(this, content, options);
    };
    this.expandSnippet = function(options) {
        return exports.snippetManager.expandWithTab(this, options);
    };
}).call(Editor.prototype);

});

ace.define("ace/ext/emmet",["require","exports","module","ace/keyboard/hash_handler","ace/editor","ace/snippets","ace/range","resources","resources","tabStops","resources","utils","actions","ace/config","ace/config"], function(acequire, exports, module) {
"use strict";
var HashHandler = acequire("ace/keyboard/hash_handler").HashHandler;
var Editor = acequire("ace/editor").Editor;
var snippetManager = acequire("ace/snippets").snippetManager;
var Range = acequire("ace/range").Range;
var emmet, emmetPath;
function AceEmmetEditor() {}

AceEmmetEditor.prototype = {
    setupContext: function(editor) {
        this.ace = editor;
        this.indentation = editor.session.getTabString();
        if (!emmet)
            emmet = window.emmet;
        var resources = emmet.resources || emmet.require("resources");
        resources.setVariable("indentation", this.indentation);
        this.$syntax = null;
        this.$syntax = this.getSyntax();
    },
    getSelectionRange: function() {
        var range = this.ace.getSelectionRange();
        var doc = this.ace.session.doc;
        return {
            start: doc.positionToIndex(range.start),
            end: doc.positionToIndex(range.end)
        };
    },
    createSelection: function(start, end) {
        var doc = this.ace.session.doc;
        this.ace.selection.setRange({
            start: doc.indexToPosition(start),
            end: doc.indexToPosition(end)
        });
    },
    getCurrentLineRange: function() {
        var ace = this.ace;
        var row = ace.getCursorPosition().row;
        var lineLength = ace.session.getLine(row).length;
        var index = ace.session.doc.positionToIndex({row: row, column: 0});
        return {
            start: index,
            end: index + lineLength
        };
    },
    getCaretPos: function(){
        var pos = this.ace.getCursorPosition();
        return this.ace.session.doc.positionToIndex(pos);
    },
    setCaretPos: function(index){
        var pos = this.ace.session.doc.indexToPosition(index);
        this.ace.selection.moveToPosition(pos);
    },
    getCurrentLine: function() {
        var row = this.ace.getCursorPosition().row;
        return this.ace.session.getLine(row);
    },
    replaceContent: function(value, start, end, noIndent) {
        if (end == null)
            end = start == null ? this.getContent().length : start;
        if (start == null)
            start = 0;        
        
        var editor = this.ace;
        var doc = editor.session.doc;
        var range = Range.fromPoints(doc.indexToPosition(start), doc.indexToPosition(end));
        editor.session.remove(range);
        
        range.end = range.start;
        
        value = this.$updateTabstops(value);
        snippetManager.insertSnippet(editor, value);
    },
    getContent: function(){
        return this.ace.getValue();
    },
    getSyntax: function() {
        if (this.$syntax)
            return this.$syntax;
        var syntax = this.ace.session.$modeId.split("/").pop();
        if (syntax == "html" || syntax == "php") {
            var cursor = this.ace.getCursorPosition();
            var state = this.ace.session.getState(cursor.row);
            if (typeof state != "string")
                state = state[0];
            if (state) {
                state = state.split("-");
                if (state.length > 1)
                    syntax = state[0];
                else if (syntax == "php")
                    syntax = "html";
            }
        }
        return syntax;
    },
    getProfileName: function() {
        var resources = emmet.resources || emmet.require("resources");
        switch (this.getSyntax()) {
          case "css": return "css";
          case "xml":
          case "xsl":
            return "xml";
          case "html":
            var profile = resources.getVariable("profile");
            if (!profile)
                profile = this.ace.session.getLines(0,2).join("").search(/<!DOCTYPE[^>]+XHTML/i) != -1 ? "xhtml": "html";
            return profile;
          default:
            var mode = this.ace.session.$mode;
            return mode.emmetConfig && mode.emmetConfig.profile || "xhtml";
        }
    },
    prompt: function(title) {
        return prompt(title);
    },
    getSelection: function() {
        return this.ace.session.getTextRange();
    },
    getFilePath: function() {
        return "";
    },
    $updateTabstops: function(value) {
        var base = 1000;
        var zeroBase = 0;
        var lastZero = null;
        var ts = emmet.tabStops || emmet.require('tabStops');
        var resources = emmet.resources || emmet.require("resources");
        var settings = resources.getVocabulary("user");
        var tabstopOptions = {
            tabstop: function(data) {
                var group = parseInt(data.group, 10);
                var isZero = group === 0;
                if (isZero)
                    group = ++zeroBase;
                else
                    group += base;

                var placeholder = data.placeholder;
                if (placeholder) {
                    placeholder = ts.processText(placeholder, tabstopOptions);
                }

                var result = '${' + group + (placeholder ? ':' + placeholder : '') + '}';

                if (isZero) {
                    lastZero = [data.start, result];
                }

                return result;
            },
            escape: function(ch) {
                if (ch == '$') return '\\$';
                if (ch == '\\') return '\\\\';
                return ch;
            }
        };

        value = ts.processText(value, tabstopOptions);

        if (settings.variables['insert_final_tabstop'] && !/\$\{0\}$/.test(value)) {
            value += '${0}';
        } else if (lastZero) {
            var common = emmet.utils ? emmet.utils.common : emmet.require('utils');
            value = common.replaceSubstring(value, '${0}', lastZero[0], lastZero[1]);
        }
        
        return value;
    }
};


var keymap = {
    expand_abbreviation: {"mac": "ctrl+alt+e", "win": "alt+e"},
    match_pair_outward: {"mac": "ctrl+d", "win": "ctrl+,"},
    match_pair_inward: {"mac": "ctrl+j", "win": "ctrl+shift+0"},
    matching_pair: {"mac": "ctrl+alt+j", "win": "alt+j"},
    next_edit_point: "alt+right",
    prev_edit_point: "alt+left",
    toggle_comment: {"mac": "command+/", "win": "ctrl+/"},
    split_join_tag: {"mac": "shift+command+'", "win": "shift+ctrl+`"},
    remove_tag: {"mac": "command+'", "win": "shift+ctrl+;"},
    evaluate_math_expression: {"mac": "shift+command+y", "win": "shift+ctrl+y"},
    increment_number_by_1: "ctrl+up",
    decrement_number_by_1: "ctrl+down",
    increment_number_by_01: "alt+up",
    decrement_number_by_01: "alt+down",
    increment_number_by_10: {"mac": "alt+command+up", "win": "shift+alt+up"},
    decrement_number_by_10: {"mac": "alt+command+down", "win": "shift+alt+down"},
    select_next_item: {"mac": "shift+command+.", "win": "shift+ctrl+."},
    select_previous_item: {"mac": "shift+command+,", "win": "shift+ctrl+,"},
    reflect_css_value: {"mac": "shift+command+r", "win": "shift+ctrl+r"},

    encode_decode_data_url: {"mac": "shift+ctrl+d", "win": "ctrl+'"},
    expand_abbreviation_with_tab: "Tab",
    wrap_with_abbreviation: {"mac": "shift+ctrl+a", "win": "shift+ctrl+a"}
};

var editorProxy = new AceEmmetEditor();
exports.commands = new HashHandler();
exports.runEmmetCommand = function runEmmetCommand(editor) {
    try {
        editorProxy.setupContext(editor);
        var actions = emmet.actions || emmet.require("actions");
    
        if (this.action == "expand_abbreviation_with_tab") {
            if (!editor.selection.isEmpty())
                return false;
            var pos = editor.selection.lead;
            var token = editor.session.getTokenAt(pos.row, pos.column);
            if (token && /\btag\b/.test(token.type))
                return false;
        }
        
        if (this.action == "wrap_with_abbreviation") {
            return setTimeout(function() {
                actions.run("wrap_with_abbreviation", editorProxy);
            }, 0);
        }
        
        var result = actions.run(this.action, editorProxy);
    } catch(e) {
        if (!emmet) {
            load(runEmmetCommand.bind(this, editor));
            return true;
        }
        editor._signal("changeStatus", typeof e == "string" ? e : e.message);
        console.log(e);
        result = false;
    }
    return result;
};

for (var command in keymap) {
    exports.commands.addCommand({
        name: "emmet:" + command,
        action: command,
        bindKey: keymap[command],
        exec: exports.runEmmetCommand,
        multiSelectAction: "forEach"
    });
}

exports.updateCommands = function(editor, enabled) {
    if (enabled) {
        editor.keyBinding.addKeyboardHandler(exports.commands);
    } else {
        editor.keyBinding.removeKeyboardHandler(exports.commands);
    }
};

exports.isSupportedMode = function(mode) {
    if (!mode) return false;
    if (mode.emmetConfig) return true;
    var id = mode.$id || mode;
    return /css|less|scss|sass|stylus|html|php|twig|ejs|handlebars/.test(id);
};

exports.isAvailable = function(editor, command) {
    if (/(evaluate_math_expression|expand_abbreviation)$/.test(command))
        return true;
    var mode = editor.session.$mode;
    var isSupported = exports.isSupportedMode(mode);
    if (isSupported && mode.$modes) {
        try {
            editorProxy.setupContext(editor);
            if (/js|php/.test(editorProxy.getSyntax()))
                isSupported = false;
        } catch(e) {}
    }
    return isSupported;
};

var onChangeMode = function(e, target) {
    var editor = target;
    if (!editor)
        return;
    var enabled = exports.isSupportedMode(editor.session.$mode);
    if (e.enableEmmet === false)
        enabled = false;
    if (enabled)
        load();
    exports.updateCommands(editor, enabled);
};

var load = function(cb) {
    if (typeof emmetPath == "string") {
        acequire("ace/config").loadModule(emmetPath, function() {
            emmetPath = null;
            cb && cb();
        });
    }
};

exports.AceEmmetEditor = AceEmmetEditor;
acequire("ace/config").defineOptions(Editor.prototype, "editor", {
    enableEmmet: {
        set: function(val) {
            this[val ? "on" : "removeListener"]("changeMode", onChangeMode);
            onChangeMode({enableEmmet: !!val}, this);
        },
        value: true
    }
});

exports.setCore = function(e) {
    if (typeof e == "string")
       emmetPath = e;
    else
       emmet = e;
};
});
                (function() {
                    ace.acequire(["ace/ext/emmet"], function() {});
                })();
            

/***/ }),

/***/ 2652:
/***/ (() => {

ace.define("ace/snippets",["require","exports","module","ace/lib/oop","ace/lib/event_emitter","ace/lib/lang","ace/range","ace/anchor","ace/keyboard/hash_handler","ace/tokenizer","ace/lib/dom","ace/editor"], function(acequire, exports, module) {
"use strict";
var oop = acequire("./lib/oop");
var EventEmitter = acequire("./lib/event_emitter").EventEmitter;
var lang = acequire("./lib/lang");
var Range = acequire("./range").Range;
var Anchor = acequire("./anchor").Anchor;
var HashHandler = acequire("./keyboard/hash_handler").HashHandler;
var Tokenizer = acequire("./tokenizer").Tokenizer;
var comparePoints = Range.comparePoints;

var SnippetManager = function() {
    this.snippetMap = {};
    this.snippetNameMap = {};
};

(function() {
    oop.implement(this, EventEmitter);
    
    this.getTokenizer = function() {
        function TabstopToken(str, _, stack) {
            str = str.substr(1);
            if (/^\d+$/.test(str) && !stack.inFormatString)
                return [{tabstopId: parseInt(str, 10)}];
            return [{text: str}];
        }
        function escape(ch) {
            return "(?:[^\\\\" + ch + "]|\\\\.)";
        }
        SnippetManager.$tokenizer = new Tokenizer({
            start: [
                {regex: /:/, onMatch: function(val, state, stack) {
                    if (stack.length && stack[0].expectIf) {
                        stack[0].expectIf = false;
                        stack[0].elseBranch = stack[0];
                        return [stack[0]];
                    }
                    return ":";
                }},
                {regex: /\\./, onMatch: function(val, state, stack) {
                    var ch = val[1];
                    if (ch == "}" && stack.length) {
                        val = ch;
                    }else if ("`$\\".indexOf(ch) != -1) {
                        val = ch;
                    } else if (stack.inFormatString) {
                        if (ch == "n")
                            val = "\n";
                        else if (ch == "t")
                            val = "\n";
                        else if ("ulULE".indexOf(ch) != -1) {
                            val = {changeCase: ch, local: ch > "a"};
                        }
                    }

                    return [val];
                }},
                {regex: /}/, onMatch: function(val, state, stack) {
                    return [stack.length ? stack.shift() : val];
                }},
                {regex: /\$(?:\d+|\w+)/, onMatch: TabstopToken},
                {regex: /\$\{[\dA-Z_a-z]+/, onMatch: function(str, state, stack) {
                    var t = TabstopToken(str.substr(1), state, stack);
                    stack.unshift(t[0]);
                    return t;
                }, next: "snippetVar"},
                {regex: /\n/, token: "newline", merge: false}
            ],
            snippetVar: [
                {regex: "\\|" + escape("\\|") + "*\\|", onMatch: function(val, state, stack) {
                    stack[0].choices = val.slice(1, -1).split(",");
                }, next: "start"},
                {regex: "/(" + escape("/") + "+)/(?:(" + escape("/") + "*)/)(\\w*):?",
                 onMatch: function(val, state, stack) {
                    var ts = stack[0];
                    ts.fmtString = val;

                    val = this.splitRegex.exec(val);
                    ts.guard = val[1];
                    ts.fmt = val[2];
                    ts.flag = val[3];
                    return "";
                }, next: "start"},
                {regex: "`" + escape("`") + "*`", onMatch: function(val, state, stack) {
                    stack[0].code = val.splice(1, -1);
                    return "";
                }, next: "start"},
                {regex: "\\?", onMatch: function(val, state, stack) {
                    if (stack[0])
                        stack[0].expectIf = true;
                }, next: "start"},
                {regex: "([^:}\\\\]|\\\\.)*:?", token: "", next: "start"}
            ],
            formatString: [
                {regex: "/(" + escape("/") + "+)/", token: "regex"},
                {regex: "", onMatch: function(val, state, stack) {
                    stack.inFormatString = true;
                }, next: "start"}
            ]
        });
        SnippetManager.prototype.getTokenizer = function() {
            return SnippetManager.$tokenizer;
        };
        return SnippetManager.$tokenizer;
    };

    this.tokenizeTmSnippet = function(str, startState) {
        return this.getTokenizer().getLineTokens(str, startState).tokens.map(function(x) {
            return x.value || x;
        });
    };

    this.$getDefaultValue = function(editor, name) {
        if (/^[A-Z]\d+$/.test(name)) {
            var i = name.substr(1);
            return (this.variables[name[0] + "__"] || {})[i];
        }
        if (/^\d+$/.test(name)) {
            return (this.variables.__ || {})[name];
        }
        name = name.replace(/^TM_/, "");

        if (!editor)
            return;
        var s = editor.session;
        switch(name) {
            case "CURRENT_WORD":
                var r = s.getWordRange();
            case "SELECTION":
            case "SELECTED_TEXT":
                return s.getTextRange(r);
            case "CURRENT_LINE":
                return s.getLine(editor.getCursorPosition().row);
            case "PREV_LINE": // not possible in textmate
                return s.getLine(editor.getCursorPosition().row - 1);
            case "LINE_INDEX":
                return editor.getCursorPosition().column;
            case "LINE_NUMBER":
                return editor.getCursorPosition().row + 1;
            case "SOFT_TABS":
                return s.getUseSoftTabs() ? "YES" : "NO";
            case "TAB_SIZE":
                return s.getTabSize();
            case "FILENAME":
            case "FILEPATH":
                return "";
            case "FULLNAME":
                return "Ace";
        }
    };
    this.variables = {};
    this.getVariableValue = function(editor, varName) {
        if (this.variables.hasOwnProperty(varName))
            return this.variables[varName](editor, varName) || "";
        return this.$getDefaultValue(editor, varName) || "";
    };
    this.tmStrFormat = function(str, ch, editor) {
        var flag = ch.flag || "";
        var re = ch.guard;
        re = new RegExp(re, flag.replace(/[^gi]/, ""));
        var fmtTokens = this.tokenizeTmSnippet(ch.fmt, "formatString");
        var _self = this;
        var formatted = str.replace(re, function() {
            _self.variables.__ = arguments;
            var fmtParts = _self.resolveVariables(fmtTokens, editor);
            var gChangeCase = "E";
            for (var i  = 0; i < fmtParts.length; i++) {
                var ch = fmtParts[i];
                if (typeof ch == "object") {
                    fmtParts[i] = "";
                    if (ch.changeCase && ch.local) {
                        var next = fmtParts[i + 1];
                        if (next && typeof next == "string") {
                            if (ch.changeCase == "u")
                                fmtParts[i] = next[0].toUpperCase();
                            else
                                fmtParts[i] = next[0].toLowerCase();
                            fmtParts[i + 1] = next.substr(1);
                        }
                    } else if (ch.changeCase) {
                        gChangeCase = ch.changeCase;
                    }
                } else if (gChangeCase == "U") {
                    fmtParts[i] = ch.toUpperCase();
                } else if (gChangeCase == "L") {
                    fmtParts[i] = ch.toLowerCase();
                }
            }
            return fmtParts.join("");
        });
        this.variables.__ = null;
        return formatted;
    };

    this.resolveVariables = function(snippet, editor) {
        var result = [];
        for (var i = 0; i < snippet.length; i++) {
            var ch = snippet[i];
            if (typeof ch == "string") {
                result.push(ch);
            } else if (typeof ch != "object") {
                continue;
            } else if (ch.skip) {
                gotoNext(ch);
            } else if (ch.processed < i) {
                continue;
            } else if (ch.text) {
                var value = this.getVariableValue(editor, ch.text);
                if (value && ch.fmtString)
                    value = this.tmStrFormat(value, ch);
                ch.processed = i;
                if (ch.expectIf == null) {
                    if (value) {
                        result.push(value);
                        gotoNext(ch);
                    }
                } else {
                    if (value) {
                        ch.skip = ch.elseBranch;
                    } else
                        gotoNext(ch);
                }
            } else if (ch.tabstopId != null) {
                result.push(ch);
            } else if (ch.changeCase != null) {
                result.push(ch);
            }
        }
        function gotoNext(ch) {
            var i1 = snippet.indexOf(ch, i + 1);
            if (i1 != -1)
                i = i1;
        }
        return result;
    };

    this.insertSnippetForSelection = function(editor, snippetText) {
        var cursor = editor.getCursorPosition();
        var line = editor.session.getLine(cursor.row);
        var tabString = editor.session.getTabString();
        var indentString = line.match(/^\s*/)[0];
        
        if (cursor.column < indentString.length)
            indentString = indentString.slice(0, cursor.column);

        snippetText = snippetText.replace(/\r/g, "");
        var tokens = this.tokenizeTmSnippet(snippetText);
        tokens = this.resolveVariables(tokens, editor);
        tokens = tokens.map(function(x) {
            if (x == "\n")
                return x + indentString;
            if (typeof x == "string")
                return x.replace(/\t/g, tabString);
            return x;
        });
        var tabstops = [];
        tokens.forEach(function(p, i) {
            if (typeof p != "object")
                return;
            var id = p.tabstopId;
            var ts = tabstops[id];
            if (!ts) {
                ts = tabstops[id] = [];
                ts.index = id;
                ts.value = "";
            }
            if (ts.indexOf(p) !== -1)
                return;
            ts.push(p);
            var i1 = tokens.indexOf(p, i + 1);
            if (i1 === -1)
                return;

            var value = tokens.slice(i + 1, i1);
            var isNested = value.some(function(t) {return typeof t === "object";});
            if (isNested && !ts.value) {
                ts.value = value;
            } else if (value.length && (!ts.value || typeof ts.value !== "string")) {
                ts.value = value.join("");
            }
        });
        tabstops.forEach(function(ts) {ts.length = 0;});
        var expanding = {};
        function copyValue(val) {
            var copy = [];
            for (var i = 0; i < val.length; i++) {
                var p = val[i];
                if (typeof p == "object") {
                    if (expanding[p.tabstopId])
                        continue;
                    var j = val.lastIndexOf(p, i - 1);
                    p = copy[j] || {tabstopId: p.tabstopId};
                }
                copy[i] = p;
            }
            return copy;
        }
        for (var i = 0; i < tokens.length; i++) {
            var p = tokens[i];
            if (typeof p != "object")
                continue;
            var id = p.tabstopId;
            var i1 = tokens.indexOf(p, i + 1);
            if (expanding[id]) {
                if (expanding[id] === p)
                    expanding[id] = null;
                continue;
            }
            
            var ts = tabstops[id];
            var arg = typeof ts.value == "string" ? [ts.value] : copyValue(ts.value);
            arg.unshift(i + 1, Math.max(0, i1 - i));
            arg.push(p);
            expanding[id] = p;
            tokens.splice.apply(tokens, arg);

            if (ts.indexOf(p) === -1)
                ts.push(p);
        }
        var row = 0, column = 0;
        var text = "";
        tokens.forEach(function(t) {
            if (typeof t === "string") {
                var lines = t.split("\n");
                if (lines.length > 1){
                    column = lines[lines.length - 1].length;
                    row += lines.length - 1;
                } else
                    column += t.length;
                text += t;
            } else {
                if (!t.start)
                    t.start = {row: row, column: column};
                else
                    t.end = {row: row, column: column};
            }
        });
        var range = editor.getSelectionRange();
        var end = editor.session.replace(range, text);

        var tabstopManager = new TabstopManager(editor);
        var selectionId = editor.inVirtualSelectionMode && editor.selection.index;
        tabstopManager.addTabstops(tabstops, range.start, end, selectionId);
    };
    
    this.insertSnippet = function(editor, snippetText) {
        var self = this;
        if (editor.inVirtualSelectionMode)
            return self.insertSnippetForSelection(editor, snippetText);
        
        editor.forEachSelection(function() {
            self.insertSnippetForSelection(editor, snippetText);
        }, null, {keepOrder: true});
        
        if (editor.tabstopManager)
            editor.tabstopManager.tabNext();
    };

    this.$getScope = function(editor) {
        var scope = editor.session.$mode.$id || "";
        scope = scope.split("/").pop();
        if (scope === "html" || scope === "php") {
            if (scope === "php" && !editor.session.$mode.inlinePhp) 
                scope = "html";
            var c = editor.getCursorPosition();
            var state = editor.session.getState(c.row);
            if (typeof state === "object") {
                state = state[0];
            }
            if (state.substring) {
                if (state.substring(0, 3) == "js-")
                    scope = "javascript";
                else if (state.substring(0, 4) == "css-")
                    scope = "css";
                else if (state.substring(0, 4) == "php-")
                    scope = "php";
            }
        }
        
        return scope;
    };

    this.getActiveScopes = function(editor) {
        var scope = this.$getScope(editor);
        var scopes = [scope];
        var snippetMap = this.snippetMap;
        if (snippetMap[scope] && snippetMap[scope].includeScopes) {
            scopes.push.apply(scopes, snippetMap[scope].includeScopes);
        }
        scopes.push("_");
        return scopes;
    };

    this.expandWithTab = function(editor, options) {
        var self = this;
        var result = editor.forEachSelection(function() {
            return self.expandSnippetForSelection(editor, options);
        }, null, {keepOrder: true});
        if (result && editor.tabstopManager)
            editor.tabstopManager.tabNext();
        return result;
    };
    
    this.expandSnippetForSelection = function(editor, options) {
        var cursor = editor.getCursorPosition();
        var line = editor.session.getLine(cursor.row);
        var before = line.substring(0, cursor.column);
        var after = line.substr(cursor.column);

        var snippetMap = this.snippetMap;
        var snippet;
        this.getActiveScopes(editor).some(function(scope) {
            var snippets = snippetMap[scope];
            if (snippets)
                snippet = this.findMatchingSnippet(snippets, before, after);
            return !!snippet;
        }, this);
        if (!snippet)
            return false;
        if (options && options.dryRun)
            return true;
        editor.session.doc.removeInLine(cursor.row,
            cursor.column - snippet.replaceBefore.length,
            cursor.column + snippet.replaceAfter.length
        );

        this.variables.M__ = snippet.matchBefore;
        this.variables.T__ = snippet.matchAfter;
        this.insertSnippetForSelection(editor, snippet.content);

        this.variables.M__ = this.variables.T__ = null;
        return true;
    };

    this.findMatchingSnippet = function(snippetList, before, after) {
        for (var i = snippetList.length; i--;) {
            var s = snippetList[i];
            if (s.startRe && !s.startRe.test(before))
                continue;
            if (s.endRe && !s.endRe.test(after))
                continue;
            if (!s.startRe && !s.endRe)
                continue;

            s.matchBefore = s.startRe ? s.startRe.exec(before) : [""];
            s.matchAfter = s.endRe ? s.endRe.exec(after) : [""];
            s.replaceBefore = s.triggerRe ? s.triggerRe.exec(before)[0] : "";
            s.replaceAfter = s.endTriggerRe ? s.endTriggerRe.exec(after)[0] : "";
            return s;
        }
    };

    this.snippetMap = {};
    this.snippetNameMap = {};
    this.register = function(snippets, scope) {
        var snippetMap = this.snippetMap;
        var snippetNameMap = this.snippetNameMap;
        var self = this;
        
        if (!snippets) 
            snippets = [];
        
        function wrapRegexp(src) {
            if (src && !/^\^?\(.*\)\$?$|^\\b$/.test(src))
                src = "(?:" + src + ")";

            return src || "";
        }
        function guardedRegexp(re, guard, opening) {
            re = wrapRegexp(re);
            guard = wrapRegexp(guard);
            if (opening) {
                re = guard + re;
                if (re && re[re.length - 1] != "$")
                    re = re + "$";
            } else {
                re = re + guard;
                if (re && re[0] != "^")
                    re = "^" + re;
            }
            return new RegExp(re);
        }

        function addSnippet(s) {
            if (!s.scope)
                s.scope = scope || "_";
            scope = s.scope;
            if (!snippetMap[scope]) {
                snippetMap[scope] = [];
                snippetNameMap[scope] = {};
            }

            var map = snippetNameMap[scope];
            if (s.name) {
                var old = map[s.name];
                if (old)
                    self.unregister(old);
                map[s.name] = s;
            }
            snippetMap[scope].push(s);

            if (s.tabTrigger && !s.trigger) {
                if (!s.guard && /^\w/.test(s.tabTrigger))
                    s.guard = "\\b";
                s.trigger = lang.escapeRegExp(s.tabTrigger);
            }
            
            if (!s.trigger && !s.guard && !s.endTrigger && !s.endGuard)
                return;
            
            s.startRe = guardedRegexp(s.trigger, s.guard, true);
            s.triggerRe = new RegExp(s.trigger, "", true);

            s.endRe = guardedRegexp(s.endTrigger, s.endGuard, true);
            s.endTriggerRe = new RegExp(s.endTrigger, "", true);
        }

        if (snippets && snippets.content)
            addSnippet(snippets);
        else if (Array.isArray(snippets))
            snippets.forEach(addSnippet);
        
        this._signal("registerSnippets", {scope: scope});
    };
    this.unregister = function(snippets, scope) {
        var snippetMap = this.snippetMap;
        var snippetNameMap = this.snippetNameMap;

        function removeSnippet(s) {
            var nameMap = snippetNameMap[s.scope||scope];
            if (nameMap && nameMap[s.name]) {
                delete nameMap[s.name];
                var map = snippetMap[s.scope||scope];
                var i = map && map.indexOf(s);
                if (i >= 0)
                    map.splice(i, 1);
            }
        }
        if (snippets.content)
            removeSnippet(snippets);
        else if (Array.isArray(snippets))
            snippets.forEach(removeSnippet);
    };
    this.parseSnippetFile = function(str) {
        str = str.replace(/\r/g, "");
        var list = [], snippet = {};
        var re = /^#.*|^({[\s\S]*})\s*$|^(\S+) (.*)$|^((?:\n*\t.*)+)/gm;
        var m;
        while (m = re.exec(str)) {
            if (m[1]) {
                try {
                    snippet = JSON.parse(m[1]);
                    list.push(snippet);
                } catch (e) {}
            } if (m[4]) {
                snippet.content = m[4].replace(/^\t/gm, "");
                list.push(snippet);
                snippet = {};
            } else {
                var key = m[2], val = m[3];
                if (key == "regex") {
                    var guardRe = /\/((?:[^\/\\]|\\.)*)|$/g;
                    snippet.guard = guardRe.exec(val)[1];
                    snippet.trigger = guardRe.exec(val)[1];
                    snippet.endTrigger = guardRe.exec(val)[1];
                    snippet.endGuard = guardRe.exec(val)[1];
                } else if (key == "snippet") {
                    snippet.tabTrigger = val.match(/^\S*/)[0];
                    if (!snippet.name)
                        snippet.name = val;
                } else {
                    snippet[key] = val;
                }
            }
        }
        return list;
    };
    this.getSnippetByName = function(name, editor) {
        var snippetMap = this.snippetNameMap;
        var snippet;
        this.getActiveScopes(editor).some(function(scope) {
            var snippets = snippetMap[scope];
            if (snippets)
                snippet = snippets[name];
            return !!snippet;
        }, this);
        return snippet;
    };

}).call(SnippetManager.prototype);


var TabstopManager = function(editor) {
    if (editor.tabstopManager)
        return editor.tabstopManager;
    editor.tabstopManager = this;
    this.$onChange = this.onChange.bind(this);
    this.$onChangeSelection = lang.delayedCall(this.onChangeSelection.bind(this)).schedule;
    this.$onChangeSession = this.onChangeSession.bind(this);
    this.$onAfterExec = this.onAfterExec.bind(this);
    this.attach(editor);
};
(function() {
    this.attach = function(editor) {
        this.index = 0;
        this.ranges = [];
        this.tabstops = [];
        this.$openTabstops = null;
        this.selectedTabstop = null;

        this.editor = editor;
        this.editor.on("change", this.$onChange);
        this.editor.on("changeSelection", this.$onChangeSelection);
        this.editor.on("changeSession", this.$onChangeSession);
        this.editor.commands.on("afterExec", this.$onAfterExec);
        this.editor.keyBinding.addKeyboardHandler(this.keyboardHandler);
    };
    this.detach = function() {
        this.tabstops.forEach(this.removeTabstopMarkers, this);
        this.ranges = null;
        this.tabstops = null;
        this.selectedTabstop = null;
        this.editor.removeListener("change", this.$onChange);
        this.editor.removeListener("changeSelection", this.$onChangeSelection);
        this.editor.removeListener("changeSession", this.$onChangeSession);
        this.editor.commands.removeListener("afterExec", this.$onAfterExec);
        this.editor.keyBinding.removeKeyboardHandler(this.keyboardHandler);
        this.editor.tabstopManager = null;
        this.editor = null;
    };

    this.onChange = function(delta) {
        var changeRange = delta;
        var isRemove = delta.action[0] == "r";
        var start = delta.start;
        var end = delta.end;
        var startRow = start.row;
        var endRow = end.row;
        var lineDif = endRow - startRow;
        var colDiff = end.column - start.column;

        if (isRemove) {
            lineDif = -lineDif;
            colDiff = -colDiff;
        }
        if (!this.$inChange && isRemove) {
            var ts = this.selectedTabstop;
            var changedOutside = ts && !ts.some(function(r) {
                return comparePoints(r.start, start) <= 0 && comparePoints(r.end, end) >= 0;
            });
            if (changedOutside)
                return this.detach();
        }
        var ranges = this.ranges;
        for (var i = 0; i < ranges.length; i++) {
            var r = ranges[i];
            if (r.end.row < start.row)
                continue;

            if (isRemove && comparePoints(start, r.start) < 0 && comparePoints(end, r.end) > 0) {
                this.removeRange(r);
                i--;
                continue;
            }

            if (r.start.row == startRow && r.start.column > start.column)
                r.start.column += colDiff;
            if (r.end.row == startRow && r.end.column >= start.column)
                r.end.column += colDiff;
            if (r.start.row >= startRow)
                r.start.row += lineDif;
            if (r.end.row >= startRow)
                r.end.row += lineDif;

            if (comparePoints(r.start, r.end) > 0)
                this.removeRange(r);
        }
        if (!ranges.length)
            this.detach();
    };
    this.updateLinkedFields = function() {
        var ts = this.selectedTabstop;
        if (!ts || !ts.hasLinkedRanges)
            return;
        this.$inChange = true;
        var session = this.editor.session;
        var text = session.getTextRange(ts.firstNonLinked);
        for (var i = ts.length; i--;) {
            var range = ts[i];
            if (!range.linked)
                continue;
            var fmt = exports.snippetManager.tmStrFormat(text, range.original);
            session.replace(range, fmt);
        }
        this.$inChange = false;
    };
    this.onAfterExec = function(e) {
        if (e.command && !e.command.readOnly)
            this.updateLinkedFields();
    };
    this.onChangeSelection = function() {
        if (!this.editor)
            return;
        var lead = this.editor.selection.lead;
        var anchor = this.editor.selection.anchor;
        var isEmpty = this.editor.selection.isEmpty();
        for (var i = this.ranges.length; i--;) {
            if (this.ranges[i].linked)
                continue;
            var containsLead = this.ranges[i].contains(lead.row, lead.column);
            var containsAnchor = isEmpty || this.ranges[i].contains(anchor.row, anchor.column);
            if (containsLead && containsAnchor)
                return;
        }
        this.detach();
    };
    this.onChangeSession = function() {
        this.detach();
    };
    this.tabNext = function(dir) {
        var max = this.tabstops.length;
        var index = this.index + (dir || 1);
        index = Math.min(Math.max(index, 1), max);
        if (index == max)
            index = 0;
        this.selectTabstop(index);
        if (index === 0)
            this.detach();
    };
    this.selectTabstop = function(index) {
        this.$openTabstops = null;
        var ts = this.tabstops[this.index];
        if (ts)
            this.addTabstopMarkers(ts);
        this.index = index;
        ts = this.tabstops[this.index];
        if (!ts || !ts.length)
            return;
        
        this.selectedTabstop = ts;
        if (!this.editor.inVirtualSelectionMode) {        
            var sel = this.editor.multiSelect;
            sel.toSingleRange(ts.firstNonLinked.clone());
            for (var i = ts.length; i--;) {
                if (ts.hasLinkedRanges && ts[i].linked)
                    continue;
                sel.addRange(ts[i].clone(), true);
            }
            if (sel.ranges[0])
                sel.addRange(sel.ranges[0].clone());
        } else {
            this.editor.selection.setRange(ts.firstNonLinked);
        }
        
        this.editor.keyBinding.addKeyboardHandler(this.keyboardHandler);
    };
    this.addTabstops = function(tabstops, start, end) {
        if (!this.$openTabstops)
            this.$openTabstops = [];
        if (!tabstops[0]) {
            var p = Range.fromPoints(end, end);
            moveRelative(p.start, start);
            moveRelative(p.end, start);
            tabstops[0] = [p];
            tabstops[0].index = 0;
        }

        var i = this.index;
        var arg = [i + 1, 0];
        var ranges = this.ranges;
        tabstops.forEach(function(ts, index) {
            var dest = this.$openTabstops[index] || ts;
                
            for (var i = ts.length; i--;) {
                var p = ts[i];
                var range = Range.fromPoints(p.start, p.end || p.start);
                movePoint(range.start, start);
                movePoint(range.end, start);
                range.original = p;
                range.tabstop = dest;
                ranges.push(range);
                if (dest != ts)
                    dest.unshift(range);
                else
                    dest[i] = range;
                if (p.fmtString) {
                    range.linked = true;
                    dest.hasLinkedRanges = true;
                } else if (!dest.firstNonLinked)
                    dest.firstNonLinked = range;
            }
            if (!dest.firstNonLinked)
                dest.hasLinkedRanges = false;
            if (dest === ts) {
                arg.push(dest);
                this.$openTabstops[index] = dest;
            }
            this.addTabstopMarkers(dest);
        }, this);
        
        if (arg.length > 2) {
            if (this.tabstops.length)
                arg.push(arg.splice(2, 1)[0]);
            this.tabstops.splice.apply(this.tabstops, arg);
        }
    };

    this.addTabstopMarkers = function(ts) {
        var session = this.editor.session;
        ts.forEach(function(range) {
            if  (!range.markerId)
                range.markerId = session.addMarker(range, "ace_snippet-marker", "text");
        });
    };
    this.removeTabstopMarkers = function(ts) {
        var session = this.editor.session;
        ts.forEach(function(range) {
            session.removeMarker(range.markerId);
            range.markerId = null;
        });
    };
    this.removeRange = function(range) {
        var i = range.tabstop.indexOf(range);
        range.tabstop.splice(i, 1);
        i = this.ranges.indexOf(range);
        this.ranges.splice(i, 1);
        this.editor.session.removeMarker(range.markerId);
        if (!range.tabstop.length) {
            i = this.tabstops.indexOf(range.tabstop);
            if (i != -1)
                this.tabstops.splice(i, 1);
            if (!this.tabstops.length)
                this.detach();
        }
    };

    this.keyboardHandler = new HashHandler();
    this.keyboardHandler.bindKeys({
        "Tab": function(ed) {
            if (exports.snippetManager && exports.snippetManager.expandWithTab(ed)) {
                return;
            }

            ed.tabstopManager.tabNext(1);
        },
        "Shift-Tab": function(ed) {
            ed.tabstopManager.tabNext(-1);
        },
        "Esc": function(ed) {
            ed.tabstopManager.detach();
        },
        "Return": function(ed) {
            return false;
        }
    });
}).call(TabstopManager.prototype);



var changeTracker = {};
changeTracker.onChange = Anchor.prototype.onChange;
changeTracker.setPosition = function(row, column) {
    this.pos.row = row;
    this.pos.column = column;
};
changeTracker.update = function(pos, delta, $insertRight) {
    this.$insertRight = $insertRight;
    this.pos = pos; 
    this.onChange(delta);
};

var movePoint = function(point, diff) {
    if (point.row == 0)
        point.column += diff.column;
    point.row += diff.row;
};

var moveRelative = function(point, start) {
    if (point.row == start.row)
        point.column -= start.column;
    point.row -= start.row;
};


acequire("./lib/dom").importCssString("\
.ace_snippet-marker {\
    -moz-box-sizing: border-box;\
    box-sizing: border-box;\
    background: rgba(194, 193, 208, 0.09);\
    border: 1px dotted rgba(211, 208, 235, 0.62);\
    position: absolute;\
}");

exports.snippetManager = new SnippetManager();


var Editor = acequire("./editor").Editor;
(function() {
    this.insertSnippet = function(content, options) {
        return exports.snippetManager.insertSnippet(this, content, options);
    };
    this.expandSnippet = function(options) {
        return exports.snippetManager.expandWithTab(this, options);
    };
}).call(Editor.prototype);

});

ace.define("ace/autocomplete/popup",["require","exports","module","ace/virtual_renderer","ace/editor","ace/range","ace/lib/event","ace/lib/lang","ace/lib/dom"], function(acequire, exports, module) {
"use strict";

var Renderer = acequire("../virtual_renderer").VirtualRenderer;
var Editor = acequire("../editor").Editor;
var Range = acequire("../range").Range;
var event = acequire("../lib/event");
var lang = acequire("../lib/lang");
var dom = acequire("../lib/dom");

var $singleLineEditor = function(el) {
    var renderer = new Renderer(el);

    renderer.$maxLines = 4;

    var editor = new Editor(renderer);

    editor.setHighlightActiveLine(false);
    editor.setShowPrintMargin(false);
    editor.renderer.setShowGutter(false);
    editor.renderer.setHighlightGutterLine(false);

    editor.$mouseHandler.$focusWaitTimout = 0;
    editor.$highlightTagPending = true;

    return editor;
};

var AcePopup = function(parentNode) {
    var el = dom.createElement("div");
    var popup = new $singleLineEditor(el);

    if (parentNode)
        parentNode.appendChild(el);
    el.style.display = "none";
    popup.renderer.content.style.cursor = "default";
    popup.renderer.setStyle("ace_autocomplete");

    popup.setOption("displayIndentGuides", false);
    popup.setOption("dragDelay", 150);

    var noop = function(){};

    popup.focus = noop;
    popup.$isFocused = true;

    popup.renderer.$cursorLayer.restartTimer = noop;
    popup.renderer.$cursorLayer.element.style.opacity = 0;

    popup.renderer.$maxLines = 8;
    popup.renderer.$keepTextAreaAtCursor = false;

    popup.setHighlightActiveLine(false);
    popup.session.highlight("");
    popup.session.$searchHighlight.clazz = "ace_highlight-marker";

    popup.on("mousedown", function(e) {
        var pos = e.getDocumentPosition();
        popup.selection.moveToPosition(pos);
        selectionMarker.start.row = selectionMarker.end.row = pos.row;
        e.stop();
    });

    var lastMouseEvent;
    var hoverMarker = new Range(-1,0,-1,Infinity);
    var selectionMarker = new Range(-1,0,-1,Infinity);
    selectionMarker.id = popup.session.addMarker(selectionMarker, "ace_active-line", "fullLine");
    popup.setSelectOnHover = function(val) {
        if (!val) {
            hoverMarker.id = popup.session.addMarker(hoverMarker, "ace_line-hover", "fullLine");
        } else if (hoverMarker.id) {
            popup.session.removeMarker(hoverMarker.id);
            hoverMarker.id = null;
        }
    };
    popup.setSelectOnHover(false);
    popup.on("mousemove", function(e) {
        if (!lastMouseEvent) {
            lastMouseEvent = e;
            return;
        }
        if (lastMouseEvent.x == e.x && lastMouseEvent.y == e.y) {
            return;
        }
        lastMouseEvent = e;
        lastMouseEvent.scrollTop = popup.renderer.scrollTop;
        var row = lastMouseEvent.getDocumentPosition().row;
        if (hoverMarker.start.row != row) {
            if (!hoverMarker.id)
                popup.setRow(row);
            setHoverMarker(row);
        }
    });
    popup.renderer.on("beforeRender", function() {
        if (lastMouseEvent && hoverMarker.start.row != -1) {
            lastMouseEvent.$pos = null;
            var row = lastMouseEvent.getDocumentPosition().row;
            if (!hoverMarker.id)
                popup.setRow(row);
            setHoverMarker(row, true);
        }
    });
    popup.renderer.on("afterRender", function() {
        var row = popup.getRow();
        var t = popup.renderer.$textLayer;
        var selected = t.element.childNodes[row - t.config.firstRow];
        if (selected == t.selectedNode)
            return;
        if (t.selectedNode)
            dom.removeCssClass(t.selectedNode, "ace_selected");
        t.selectedNode = selected;
        if (selected)
            dom.addCssClass(selected, "ace_selected");
    });
    var hideHoverMarker = function() { setHoverMarker(-1); };
    var setHoverMarker = function(row, suppressRedraw) {
        if (row !== hoverMarker.start.row) {
            hoverMarker.start.row = hoverMarker.end.row = row;
            if (!suppressRedraw)
                popup.session._emit("changeBackMarker");
            popup._emit("changeHoverMarker");
        }
    };
    popup.getHoveredRow = function() {
        return hoverMarker.start.row;
    };

    event.addListener(popup.container, "mouseout", hideHoverMarker);
    popup.on("hide", hideHoverMarker);
    popup.on("changeSelection", hideHoverMarker);

    popup.session.doc.getLength = function() {
        return popup.data.length;
    };
    popup.session.doc.getLine = function(i) {
        var data = popup.data[i];
        if (typeof data == "string")
            return data;
        return (data && data.value) || "";
    };

    var bgTokenizer = popup.session.bgTokenizer;
    bgTokenizer.$tokenizeRow = function(row) {
        var data = popup.data[row];
        var tokens = [];
        if (!data)
            return tokens;
        if (typeof data == "string")
            data = {value: data};
        if (!data.caption)
            data.caption = data.value || data.name;

        var last = -1;
        var flag, c;
        for (var i = 0; i < data.caption.length; i++) {
            c = data.caption[i];
            flag = data.matchMask & (1 << i) ? 1 : 0;
            if (last !== flag) {
                tokens.push({type: data.className || "" + ( flag ? "completion-highlight" : ""), value: c});
                last = flag;
            } else {
                tokens[tokens.length - 1].value += c;
            }
        }

        if (data.meta) {
            var maxW = popup.renderer.$size.scrollerWidth / popup.renderer.layerConfig.characterWidth;
            var metaData = data.meta;
            if (metaData.length + data.caption.length > maxW - 2) {
                metaData = metaData.substr(0, maxW - data.caption.length - 3) + "\u2026";
            }
            tokens.push({type: "rightAlignedText", value: metaData});
        }
        return tokens;
    };
    bgTokenizer.$updateOnChange = noop;
    bgTokenizer.start = noop;

    popup.session.$computeWidth = function() {
        return this.screenWidth = 0;
    };

    popup.$blockScrolling = Infinity;
    popup.isOpen = false;
    popup.isTopdown = false;
    popup.autoSelect = true;

    popup.data = [];
    popup.setData = function(list) {
        popup.setValue(lang.stringRepeat("\n", list.length), -1);
        popup.data = list || [];
        popup.setRow(0);
    };
    popup.getData = function(row) {
        return popup.data[row];
    };

    popup.getRow = function() {
        return selectionMarker.start.row;
    };
    popup.setRow = function(line) {
        line = Math.max(this.autoSelect ? 0 : -1, Math.min(this.data.length, line));
        if (selectionMarker.start.row != line) {
            popup.selection.clearSelection();
            selectionMarker.start.row = selectionMarker.end.row = line || 0;
            popup.session._emit("changeBackMarker");
            popup.moveCursorTo(line || 0, 0);
            if (popup.isOpen)
                popup._signal("select");
        }
    };

    popup.on("changeSelection", function() {
        if (popup.isOpen)
            popup.setRow(popup.selection.lead.row);
        popup.renderer.scrollCursorIntoView();
    });

    popup.hide = function() {
        this.container.style.display = "none";
        this._signal("hide");
        popup.isOpen = false;
    };
    popup.show = function(pos, lineHeight, topdownOnly) {
        var el = this.container;
        var screenHeight = window.innerHeight;
        var screenWidth = window.innerWidth;
        var renderer = this.renderer;
        var maxH = renderer.$maxLines * lineHeight * 1.4;
        var top = pos.top + this.$borderSize;
        var allowTopdown = top > screenHeight / 2 && !topdownOnly;
        if (allowTopdown && top + lineHeight + maxH > screenHeight) {
            renderer.$maxPixelHeight = top - 2 * this.$borderSize;
            el.style.top = "";
            el.style.bottom = screenHeight - top + "px";
            popup.isTopdown = false;
        } else {
            top += lineHeight;
            renderer.$maxPixelHeight = screenHeight - top - 0.2 * lineHeight;
            el.style.top = top + "px";
            el.style.bottom = "";
            popup.isTopdown = true;
        }

        el.style.display = "";
        this.renderer.$textLayer.checkForSizeChanges();

        var left = pos.left;
        if (left + el.offsetWidth > screenWidth)
            left = screenWidth - el.offsetWidth;

        el.style.left = left + "px";

        this._signal("show");
        lastMouseEvent = null;
        popup.isOpen = true;
    };

    popup.getTextLeftOffset = function() {
        return this.$borderSize + this.renderer.$padding + this.$imageSize;
    };

    popup.$imageSize = 0;
    popup.$borderSize = 1;

    return popup;
};

dom.importCssString("\
.ace_editor.ace_autocomplete .ace_marker-layer .ace_active-line {\
    background-color: #CAD6FA;\
    z-index: 1;\
}\
.ace_editor.ace_autocomplete .ace_line-hover {\
    border: 1px solid #abbffe;\
    margin-top: -1px;\
    background: rgba(233,233,253,0.4);\
}\
.ace_editor.ace_autocomplete .ace_line-hover {\
    position: absolute;\
    z-index: 2;\
}\
.ace_editor.ace_autocomplete .ace_scroller {\
   background: none;\
   border: none;\
   box-shadow: none;\
}\
.ace_rightAlignedText {\
    color: gray;\
    display: inline-block;\
    position: absolute;\
    right: 4px;\
    text-align: right;\
    z-index: -1;\
}\
.ace_editor.ace_autocomplete .ace_completion-highlight{\
    color: #000;\
    text-shadow: 0 0 0.01em;\
}\
.ace_editor.ace_autocomplete {\
    width: 280px;\
    z-index: 200000;\
    background: #fbfbfb;\
    color: #444;\
    border: 1px lightgray solid;\
    position: fixed;\
    box-shadow: 2px 3px 5px rgba(0,0,0,.2);\
    line-height: 1.4;\
}");

exports.AcePopup = AcePopup;

});

ace.define("ace/autocomplete/util",["require","exports","module"], function(acequire, exports, module) {
"use strict";

exports.parForEach = function(array, fn, callback) {
    var completed = 0;
    var arLength = array.length;
    if (arLength === 0)
        callback();
    for (var i = 0; i < arLength; i++) {
        fn(array[i], function(result, err) {
            completed++;
            if (completed === arLength)
                callback(result, err);
        });
    }
};

var ID_REGEX = /[a-zA-Z_0-9\$\-\u00A2-\uFFFF]/;

exports.retrievePrecedingIdentifier = function(text, pos, regex) {
    regex = regex || ID_REGEX;
    var buf = [];
    for (var i = pos-1; i >= 0; i--) {
        if (regex.test(text[i]))
            buf.push(text[i]);
        else
            break;
    }
    return buf.reverse().join("");
};

exports.retrieveFollowingIdentifier = function(text, pos, regex) {
    regex = regex || ID_REGEX;
    var buf = [];
    for (var i = pos; i < text.length; i++) {
        if (regex.test(text[i]))
            buf.push(text[i]);
        else
            break;
    }
    return buf;
};

exports.getCompletionPrefix = function (editor) {
    var pos = editor.getCursorPosition();
    var line = editor.session.getLine(pos.row);
    var prefix;
    editor.completers.forEach(function(completer) {
        if (completer.identifierRegexps) {
            completer.identifierRegexps.forEach(function(identifierRegex) {
                if (!prefix && identifierRegex)
                    prefix = this.retrievePrecedingIdentifier(line, pos.column, identifierRegex);
            }.bind(this));
        }
    }.bind(this));
    return prefix || this.retrievePrecedingIdentifier(line, pos.column);
};

});

ace.define("ace/autocomplete",["require","exports","module","ace/keyboard/hash_handler","ace/autocomplete/popup","ace/autocomplete/util","ace/lib/event","ace/lib/lang","ace/lib/dom","ace/snippets"], function(acequire, exports, module) {
"use strict";

var HashHandler = acequire("./keyboard/hash_handler").HashHandler;
var AcePopup = acequire("./autocomplete/popup").AcePopup;
var util = acequire("./autocomplete/util");
var event = acequire("./lib/event");
var lang = acequire("./lib/lang");
var dom = acequire("./lib/dom");
var snippetManager = acequire("./snippets").snippetManager;

var Autocomplete = function() {
    this.autoInsert = false;
    this.autoSelect = true;
    this.exactMatch = false;
    this.gatherCompletionsId = 0;
    this.keyboardHandler = new HashHandler();
    this.keyboardHandler.bindKeys(this.commands);

    this.blurListener = this.blurListener.bind(this);
    this.changeListener = this.changeListener.bind(this);
    this.mousedownListener = this.mousedownListener.bind(this);
    this.mousewheelListener = this.mousewheelListener.bind(this);

    this.changeTimer = lang.delayedCall(function() {
        this.updateCompletions(true);
    }.bind(this));

    this.tooltipTimer = lang.delayedCall(this.updateDocTooltip.bind(this), 50);
};

(function() {

    this.$init = function() {
        this.popup = new AcePopup(document.body || document.documentElement);
        this.popup.on("click", function(e) {
            this.insertMatch();
            e.stop();
        }.bind(this));
        this.popup.focus = this.editor.focus.bind(this.editor);
        this.popup.on("show", this.tooltipTimer.bind(null, null));
        this.popup.on("select", this.tooltipTimer.bind(null, null));
        this.popup.on("changeHoverMarker", this.tooltipTimer.bind(null, null));
        return this.popup;
    };

    this.getPopup = function() {
        return this.popup || this.$init();
    };

    this.openPopup = function(editor, prefix, keepPopupPosition) {
        if (!this.popup)
            this.$init();

	this.popup.autoSelect = this.autoSelect;

        this.popup.setData(this.completions.filtered);

        editor.keyBinding.addKeyboardHandler(this.keyboardHandler);
        
        var renderer = editor.renderer;
        this.popup.setRow(this.autoSelect ? 0 : -1);
        if (!keepPopupPosition) {
            this.popup.setTheme(editor.getTheme());
            this.popup.setFontSize(editor.getFontSize());

            var lineHeight = renderer.layerConfig.lineHeight;

            var pos = renderer.$cursorLayer.getPixelPosition(this.base, true);
            pos.left -= this.popup.getTextLeftOffset();

            var rect = editor.container.getBoundingClientRect();
            pos.top += rect.top - renderer.layerConfig.offset;
            pos.left += rect.left - editor.renderer.scrollLeft;
            pos.left += renderer.gutterWidth;

            this.popup.show(pos, lineHeight);
        } else if (keepPopupPosition && !prefix) {
            this.detach();
        }
    };

    this.detach = function() {
        this.editor.keyBinding.removeKeyboardHandler(this.keyboardHandler);
        this.editor.off("changeSelection", this.changeListener);
        this.editor.off("blur", this.blurListener);
        this.editor.off("mousedown", this.mousedownListener);
        this.editor.off("mousewheel", this.mousewheelListener);
        this.changeTimer.cancel();
        this.hideDocTooltip();

        this.gatherCompletionsId += 1;
        if (this.popup && this.popup.isOpen)
            this.popup.hide();

        if (this.base)
            this.base.detach();
        this.activated = false;
        this.completions = this.base = null;
    };

    this.changeListener = function(e) {
        var cursor = this.editor.selection.lead;
        if (cursor.row != this.base.row || cursor.column < this.base.column) {
            this.detach();
        }
        if (this.activated)
            this.changeTimer.schedule();
        else
            this.detach();
    };

    this.blurListener = function(e) {
        var el = document.activeElement;
        var text = this.editor.textInput.getElement();
        var fromTooltip = e.relatedTarget && this.tooltipNode && this.tooltipNode.contains(e.relatedTarget);
        var container = this.popup && this.popup.container;
        if (el != text && el.parentNode != container && !fromTooltip
            && el != this.tooltipNode && e.relatedTarget != text
        ) {
            this.detach();
        }
    };

    this.mousedownListener = function(e) {
        this.detach();
    };

    this.mousewheelListener = function(e) {
        this.detach();
    };

    this.goTo = function(where) {
        var row = this.popup.getRow();
        var max = this.popup.session.getLength() - 1;

        switch(where) {
            case "up": row = row <= 0 ? max : row - 1; break;
            case "down": row = row >= max ? -1 : row + 1; break;
            case "start": row = 0; break;
            case "end": row = max; break;
        }

        this.popup.setRow(row);
    };

    this.insertMatch = function(data, options) {
        if (!data)
            data = this.popup.getData(this.popup.getRow());
        if (!data)
            return false;

        if (data.completer && data.completer.insertMatch) {
            data.completer.insertMatch(this.editor, data);
        } else {
            if (this.completions.filterText) {
                var ranges = this.editor.selection.getAllRanges();
                for (var i = 0, range; range = ranges[i]; i++) {
                    range.start.column -= this.completions.filterText.length;
                    this.editor.session.remove(range);
                }
            }
            if (data.snippet)
                snippetManager.insertSnippet(this.editor, data.snippet);
            else
                this.editor.execCommand("insertstring", data.value || data);
        }
        this.detach();
    };


    this.commands = {
        "Up": function(editor) { editor.completer.goTo("up"); },
        "Down": function(editor) { editor.completer.goTo("down"); },
        "Ctrl-Up|Ctrl-Home": function(editor) { editor.completer.goTo("start"); },
        "Ctrl-Down|Ctrl-End": function(editor) { editor.completer.goTo("end"); },

        "Esc": function(editor) { editor.completer.detach(); },
        "Return": function(editor) { return editor.completer.insertMatch(); },
        "Shift-Return": function(editor) { editor.completer.insertMatch(null, {deleteSuffix: true}); },
        "Tab": function(editor) {
            var result = editor.completer.insertMatch();
            if (!result && !editor.tabstopManager)
                editor.completer.goTo("down");
            else
                return result;
        },

        "PageUp": function(editor) { editor.completer.popup.gotoPageUp(); },
        "PageDown": function(editor) { editor.completer.popup.gotoPageDown(); }
    };

    this.gatherCompletions = function(editor, callback) {
        var session = editor.getSession();
        var pos = editor.getCursorPosition();

        var prefix = util.getCompletionPrefix(editor);

        this.base = session.doc.createAnchor(pos.row, pos.column - prefix.length);
        this.base.$insertRight = true;

        var matches = [];
        var total = editor.completers.length;
        editor.completers.forEach(function(completer, i) {
            completer.getCompletions(editor, session, pos, prefix, function(err, results) {
                if (!err && results)
                    matches = matches.concat(results);
                callback(null, {
                    prefix: util.getCompletionPrefix(editor),
                    matches: matches,
                    finished: (--total === 0)
                });
            });
        });
        return true;
    };

    this.showPopup = function(editor) {
        if (this.editor)
            this.detach();

        this.activated = true;

        this.editor = editor;
        if (editor.completer != this) {
            if (editor.completer)
                editor.completer.detach();
            editor.completer = this;
        }

        editor.on("changeSelection", this.changeListener);
        editor.on("blur", this.blurListener);
        editor.on("mousedown", this.mousedownListener);
        editor.on("mousewheel", this.mousewheelListener);

        this.updateCompletions();
    };

    this.updateCompletions = function(keepPopupPosition) {
        if (keepPopupPosition && this.base && this.completions) {
            var pos = this.editor.getCursorPosition();
            var prefix = this.editor.session.getTextRange({start: this.base, end: pos});
            if (prefix == this.completions.filterText)
                return;
            this.completions.setFilter(prefix);
            if (!this.completions.filtered.length)
                return this.detach();
            if (this.completions.filtered.length == 1
            && this.completions.filtered[0].value == prefix
            && !this.completions.filtered[0].snippet)
                return this.detach();
            this.openPopup(this.editor, prefix, keepPopupPosition);
            return;
        }
        var _id = this.gatherCompletionsId;
        this.gatherCompletions(this.editor, function(err, results) {
            var detachIfFinished = function() {
                if (!results.finished) return;
                return this.detach();
            }.bind(this);

            var prefix = results.prefix;
            var matches = results && results.matches;

            if (!matches || !matches.length)
                return detachIfFinished();
            if (prefix.indexOf(results.prefix) !== 0 || _id != this.gatherCompletionsId)
                return;

            this.completions = new FilteredList(matches);

            if (this.exactMatch)
                this.completions.exactMatch = true;

            this.completions.setFilter(prefix);
            var filtered = this.completions.filtered;
            if (!filtered.length)
                return detachIfFinished();
            if (filtered.length == 1 && filtered[0].value == prefix && !filtered[0].snippet)
                return detachIfFinished();
            if (this.autoInsert && filtered.length == 1 && results.finished)
                return this.insertMatch(filtered[0]);

            this.openPopup(this.editor, prefix, keepPopupPosition);
        }.bind(this));
    };

    this.cancelContextMenu = function() {
        this.editor.$mouseHandler.cancelContextMenu();
    };

    this.updateDocTooltip = function() {
        var popup = this.popup;
        var all = popup.data;
        var selected = all && (all[popup.getHoveredRow()] || all[popup.getRow()]);
        var doc = null;
        if (!selected || !this.editor || !this.popup.isOpen)
            return this.hideDocTooltip();
        this.editor.completers.some(function(completer) {
            if (completer.getDocTooltip)
                doc = completer.getDocTooltip(selected);
            return doc;
        });
        if (!doc)
            doc = selected;

        if (typeof doc == "string")
            doc = {docText: doc};
        if (!doc || !(doc.docHTML || doc.docText))
            return this.hideDocTooltip();
        this.showDocTooltip(doc);
    };

    this.showDocTooltip = function(item) {
        if (!this.tooltipNode) {
            this.tooltipNode = dom.createElement("div");
            this.tooltipNode.className = "ace_tooltip ace_doc-tooltip";
            this.tooltipNode.style.margin = 0;
            this.tooltipNode.style.pointerEvents = "auto";
            this.tooltipNode.tabIndex = -1;
            this.tooltipNode.onblur = this.blurListener.bind(this);
            this.tooltipNode.onclick = this.onTooltipClick.bind(this);
        }

        var tooltipNode = this.tooltipNode;
        if (item.docHTML) {
            tooltipNode.innerHTML = item.docHTML;
        } else if (item.docText) {
            tooltipNode.textContent = item.docText;
        }

        if (!tooltipNode.parentNode)
            document.body.appendChild(tooltipNode);
        var popup = this.popup;
        var rect = popup.container.getBoundingClientRect();
        tooltipNode.style.top = popup.container.style.top;
        tooltipNode.style.bottom = popup.container.style.bottom;

        if (window.innerWidth - rect.right < 320) {
            tooltipNode.style.right = window.innerWidth - rect.left + "px";
            tooltipNode.style.left = "";
        } else {
            tooltipNode.style.left = (rect.right + 1) + "px";
            tooltipNode.style.right = "";
        }
        tooltipNode.style.display = "block";
    };

    this.hideDocTooltip = function() {
        this.tooltipTimer.cancel();
        if (!this.tooltipNode) return;
        var el = this.tooltipNode;
        if (!this.editor.isFocused() && document.activeElement == el)
            this.editor.focus();
        this.tooltipNode = null;
        if (el.parentNode)
            el.parentNode.removeChild(el);
    };

    this.onTooltipClick = function(e) {
        var a = e.target;
        while (a && a != this.tooltipNode) {
            if (a.nodeName == "A" && a.href) {
                a.rel = "noreferrer";
                a.target = "_blank";
                break;
            }
            a = a.parentNode;
        }
    };

}).call(Autocomplete.prototype);

Autocomplete.startCommand = {
    name: "startAutocomplete",
    exec: function(editor) {
        if (!editor.completer)
            editor.completer = new Autocomplete();
        editor.completer.autoInsert = false;
        editor.completer.autoSelect = true;
        editor.completer.showPopup(editor);
        editor.completer.cancelContextMenu();
    },
    bindKey: "Ctrl-Space|Ctrl-Shift-Space|Alt-Space"
};

var FilteredList = function(array, filterText) {
    this.all = array;
    this.filtered = array;
    this.filterText = filterText || "";
    this.exactMatch = false;
};
(function(){
    this.setFilter = function(str) {
        if (str.length > this.filterText && str.lastIndexOf(this.filterText, 0) === 0)
            var matches = this.filtered;
        else
            var matches = this.all;

        this.filterText = str;
        matches = this.filterCompletions(matches, this.filterText);
        matches = matches.sort(function(a, b) {
            return b.exactMatch - a.exactMatch || b.score - a.score;
        });
        var prev = null;
        matches = matches.filter(function(item){
            var caption = item.snippet || item.caption || item.value;
            if (caption === prev) return false;
            prev = caption;
            return true;
        });

        this.filtered = matches;
    };
    this.filterCompletions = function(items, needle) {
        var results = [];
        var upper = needle.toUpperCase();
        var lower = needle.toLowerCase();
        loop: for (var i = 0, item; item = items[i]; i++) {
            var caption = item.value || item.caption || item.snippet;
            if (!caption) continue;
            var lastIndex = -1;
            var matchMask = 0;
            var penalty = 0;
            var index, distance;

            if (this.exactMatch) {
                if (needle !== caption.substr(0, needle.length))
                    continue loop;
            }else{
                for (var j = 0; j < needle.length; j++) {
                    var i1 = caption.indexOf(lower[j], lastIndex + 1);
                    var i2 = caption.indexOf(upper[j], lastIndex + 1);
                    index = (i1 >= 0) ? ((i2 < 0 || i1 < i2) ? i1 : i2) : i2;
                    if (index < 0)
                        continue loop;
                    distance = index - lastIndex - 1;
                    if (distance > 0) {
                        if (lastIndex === -1)
                            penalty += 10;
                        penalty += distance;
                    }
                    matchMask = matchMask | (1 << index);
                    lastIndex = index;
                }
            }
            item.matchMask = matchMask;
            item.exactMatch = penalty ? 0 : 1;
            item.score = (item.score || 0) - penalty;
            results.push(item);
        }
        return results;
    };
}).call(FilteredList.prototype);

exports.Autocomplete = Autocomplete;
exports.FilteredList = FilteredList;

});

ace.define("ace/autocomplete/text_completer",["require","exports","module","ace/range"], function(acequire, exports, module) {
    var Range = acequire("../range").Range;
    
    var splitRegex = /[^a-zA-Z_0-9\$\-\u00C0-\u1FFF\u2C00-\uD7FF\w]+/;

    function getWordIndex(doc, pos) {
        var textBefore = doc.getTextRange(Range.fromPoints({row: 0, column:0}, pos));
        return textBefore.split(splitRegex).length - 1;
    }
    function wordDistance(doc, pos) {
        var prefixPos = getWordIndex(doc, pos);
        var words = doc.getValue().split(splitRegex);
        var wordScores = Object.create(null);
        
        var currentWord = words[prefixPos];

        words.forEach(function(word, idx) {
            if (!word || word === currentWord) return;

            var distance = Math.abs(prefixPos - idx);
            var score = words.length - distance;
            if (wordScores[word]) {
                wordScores[word] = Math.max(score, wordScores[word]);
            } else {
                wordScores[word] = score;
            }
        });
        return wordScores;
    }

    exports.getCompletions = function(editor, session, pos, prefix, callback) {
        var wordScore = wordDistance(session, pos, prefix);
        var wordList = Object.keys(wordScore);
        callback(null, wordList.map(function(word) {
            return {
                caption: word,
                value: word,
                score: wordScore[word],
                meta: "local"
            };
        }));
    };
});

ace.define("ace/ext/language_tools",["require","exports","module","ace/snippets","ace/autocomplete","ace/config","ace/lib/lang","ace/autocomplete/util","ace/autocomplete/text_completer","ace/editor","ace/config"], function(acequire, exports, module) {
"use strict";

var snippetManager = acequire("../snippets").snippetManager;
var Autocomplete = acequire("../autocomplete").Autocomplete;
var config = acequire("../config");
var lang = acequire("../lib/lang");
var util = acequire("../autocomplete/util");

var textCompleter = acequire("../autocomplete/text_completer");
var keyWordCompleter = {
    getCompletions: function(editor, session, pos, prefix, callback) {
        if (session.$mode.completer) {
            return session.$mode.completer.getCompletions(editor, session, pos, prefix, callback);
        }
        var state = editor.session.getState(pos.row);
        var completions = session.$mode.getCompletions(state, session, pos, prefix);
        callback(null, completions);
    }
};

var snippetCompleter = {
    getCompletions: function(editor, session, pos, prefix, callback) {
        var snippetMap = snippetManager.snippetMap;
        var completions = [];
        snippetManager.getActiveScopes(editor).forEach(function(scope) {
            var snippets = snippetMap[scope] || [];
            for (var i = snippets.length; i--;) {
                var s = snippets[i];
                var caption = s.name || s.tabTrigger;
                if (!caption)
                    continue;
                completions.push({
                    caption: caption,
                    snippet: s.content,
                    meta: s.tabTrigger && !s.name ? s.tabTrigger + "\u21E5 " : "snippet",
                    type: "snippet"
                });
            }
        }, this);
        callback(null, completions);
    },
    getDocTooltip: function(item) {
        if (item.type == "snippet" && !item.docHTML) {
            item.docHTML = [
                "<b>", lang.escapeHTML(item.caption), "</b>", "<hr></hr>",
                lang.escapeHTML(item.snippet)
            ].join("");
        }
    }
};

var completers = [snippetCompleter, textCompleter, keyWordCompleter];
exports.setCompleters = function(val) {
    completers.length = 0;
    if (val) completers.push.apply(completers, val);
};
exports.addCompleter = function(completer) {
    completers.push(completer);
};
exports.textCompleter = textCompleter;
exports.keyWordCompleter = keyWordCompleter;
exports.snippetCompleter = snippetCompleter;

var expandSnippet = {
    name: "expandSnippet",
    exec: function(editor) {
        return snippetManager.expandWithTab(editor);
    },
    bindKey: "Tab"
};

var onChangeMode = function(e, editor) {
    loadSnippetsForMode(editor.session.$mode);
};

var loadSnippetsForMode = function(mode) {
    var id = mode.$id;
    if (!snippetManager.files)
        snippetManager.files = {};
    loadSnippetFile(id);
    if (mode.modes)
        mode.modes.forEach(loadSnippetsForMode);
};

var loadSnippetFile = function(id) {
    if (!id || snippetManager.files[id])
        return;
    var snippetFilePath = id.replace("mode", "snippets");
    snippetManager.files[id] = {};
    config.loadModule(snippetFilePath, function(m) {
        if (m) {
            snippetManager.files[id] = m;
            if (!m.snippets && m.snippetText)
                m.snippets = snippetManager.parseSnippetFile(m.snippetText);
            snippetManager.register(m.snippets || [], m.scope);
            if (m.includeScopes) {
                snippetManager.snippetMap[m.scope].includeScopes = m.includeScopes;
                m.includeScopes.forEach(function(x) {
                    loadSnippetFile("ace/mode/" + x);
                });
            }
        }
    });
};

var doLiveAutocomplete = function(e) {
    var editor = e.editor;
    var hasCompleter = editor.completer && editor.completer.activated;
    if (e.command.name === "backspace") {
        if (hasCompleter && !util.getCompletionPrefix(editor))
            editor.completer.detach();
    }
    else if (e.command.name === "insertstring") {
        var prefix = util.getCompletionPrefix(editor);
        if (prefix && !hasCompleter) {
            if (!editor.completer) {
                editor.completer = new Autocomplete();
            }
            editor.completer.autoInsert = false;
            editor.completer.showPopup(editor);
        }
    }
};

var Editor = acequire("../editor").Editor;
acequire("../config").defineOptions(Editor.prototype, "editor", {
    enableBasicAutocompletion: {
        set: function(val) {
            if (val) {
                if (!this.completers)
                    this.completers = Array.isArray(val)? val: completers;
                this.commands.addCommand(Autocomplete.startCommand);
            } else {
                this.commands.removeCommand(Autocomplete.startCommand);
            }
        },
        value: false
    },
    enableLiveAutocompletion: {
        set: function(val) {
            if (val) {
                if (!this.completers)
                    this.completers = Array.isArray(val)? val: completers;
                this.commands.on('afterExec', doLiveAutocomplete);
            } else {
                this.commands.removeListener('afterExec', doLiveAutocomplete);
            }
        },
        value: false
    },
    enableSnippets: {
        set: function(val) {
            if (val) {
                this.commands.addCommand(expandSnippet);
                this.on("changeMode", onChangeMode);
                onChangeMode(null, this);
            } else {
                this.commands.removeCommand(expandSnippet);
                this.off("changeMode", onChangeMode);
            }
        },
        value: false
    }
});
});
                (function() {
                    ace.acequire(["ace/ext/language_tools"], function() {});
                })();
            

/***/ }),

/***/ 8820:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

/* ***** BEGIN LICENSE BLOCK *****
 * Distributed under the BSD license:
 *
 * Copyright (c) 2010, Ajax.org B.V.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *     * Redistributions of source code must retain the above copyright
 *       notice, this list of conditions and the following disclaimer.
 *     * Redistributions in binary form must reproduce the above copyright
 *       notice, this list of conditions and the following disclaimer in the
 *       documentation and/or other materials provided with the distribution.
 *     * Neither the name of Ajax.org B.V. nor the
 *       names of its contributors may be used to endorse or promote products
 *       derived from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 * DISCLAIMED. IN NO EVENT SHALL AJAX.ORG B.V. BE LIABLE FOR ANY
 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 *
 * ***** END LICENSE BLOCK ***** */

/**
 * Define a module along with a payload
 * @param module a name for the payload
 * @param payload a function to call with (acequire, exports, module) params
 */

(function() {

var ACE_NAMESPACE = "ace";

var global = (function() { return this; })();
if (!global && typeof window != "undefined") global = window; // strict mode


if (!ACE_NAMESPACE && typeof acequirejs !== "undefined")
    return;


var define = function(module, deps, payload) {
    if (typeof module !== "string") {
        if (define.original)
            define.original.apply(this, arguments);
        else {
            console.error("dropping module because define wasn\'t a string.");
            console.trace();
        }
        return;
    }
    if (arguments.length == 2)
        payload = deps;
    if (!define.modules[module]) {
        define.payloads[module] = payload;
        define.modules[module] = null;
    }
};

define.modules = {};
define.payloads = {};

/**
 * Get at functionality define()ed using the function above
 */
var _acequire = function(parentId, module, callback) {
    if (typeof module === "string") {
        var payload = lookup(parentId, module);
        if (payload != undefined) {
            callback && callback();
            return payload;
        }
    } else if (Object.prototype.toString.call(module) === "[object Array]") {
        var params = [];
        for (var i = 0, l = module.length; i < l; ++i) {
            var dep = lookup(parentId, module[i]);
            if (dep == undefined && acequire.original)
                return;
            params.push(dep);
        }
        return callback && callback.apply(null, params) || true;
    }
};

var acequire = function(module, callback) {
    var packagedModule = _acequire("", module, callback);
    if (packagedModule == undefined && acequire.original)
        return acequire.original.apply(this, arguments);
    return packagedModule;
};

var normalizeModule = function(parentId, moduleName) {
    // normalize plugin acequires
    if (moduleName.indexOf("!") !== -1) {
        var chunks = moduleName.split("!");
        return normalizeModule(parentId, chunks[0]) + "!" + normalizeModule(parentId, chunks[1]);
    }
    // normalize relative acequires
    if (moduleName.charAt(0) == ".") {
        var base = parentId.split("/").slice(0, -1).join("/");
        moduleName = base + "/" + moduleName;

        while(moduleName.indexOf(".") !== -1 && previous != moduleName) {
            var previous = moduleName;
            moduleName = moduleName.replace(/\/\.\//, "/").replace(/[^\/]+\/\.\.\//, "");
        }
    }
    return moduleName;
};

/**
 * Internal function to lookup moduleNames and resolve them by calling the
 * definition function if needed.
 */
var lookup = function(parentId, moduleName) {
    moduleName = normalizeModule(parentId, moduleName);

    var module = define.modules[moduleName];
    if (!module) {
        module = define.payloads[moduleName];
        if (typeof module === 'function') {
            var exports = {};
            var mod = {
                id: moduleName,
                uri: '',
                exports: exports,
                packaged: true
            };

            var req = function(module, callback) {
                return _acequire(moduleName, module, callback);
            };

            var returnValue = module(req, exports, mod);
            exports = returnValue || mod.exports;
            define.modules[moduleName] = exports;
            delete define.payloads[moduleName];
        }
        module = define.modules[moduleName] = exports || module;
    }
    return module;
};

function exportAce(ns) {
    var root = global;
    if (ns) {
        if (!global[ns])
            global[ns] = {};
        root = global[ns];
    }

    if (!root.define || !root.define.packaged) {
        define.original = root.define;
        root.define = define;
        root.define.packaged = true;
    }

    if (!root.acequire || !root.acequire.packaged) {
        acequire.original = root.acequire;
        root.acequire = acequire;
        root.acequire.packaged = true;
    }
}

exportAce(ACE_NAMESPACE);

})();

ace.define("ace/lib/regexp",["require","exports","module"], function(acequire, exports, module) {
"use strict";

    var real = {
            exec: RegExp.prototype.exec,
            test: RegExp.prototype.test,
            match: String.prototype.match,
            replace: String.prototype.replace,
            split: String.prototype.split
        },
        compliantExecNpcg = real.exec.call(/()??/, "")[1] === undefined, // check `exec` handling of nonparticipating capturing groups
        compliantLastIndexIncrement = function () {
            var x = /^/g;
            real.test.call(x, "");
            return !x.lastIndex;
        }();

    if (compliantLastIndexIncrement && compliantExecNpcg)
        return;
    RegExp.prototype.exec = function (str) {
        var match = real.exec.apply(this, arguments),
            name, r2;
        if ( typeof(str) == 'string' && match) {
            if (!compliantExecNpcg && match.length > 1 && indexOf(match, "") > -1) {
                r2 = RegExp(this.source, real.replace.call(getNativeFlags(this), "g", ""));
                real.replace.call(str.slice(match.index), r2, function () {
                    for (var i = 1; i < arguments.length - 2; i++) {
                        if (arguments[i] === undefined)
                            match[i] = undefined;
                    }
                });
            }
            if (this._xregexp && this._xregexp.captureNames) {
                for (var i = 1; i < match.length; i++) {
                    name = this._xregexp.captureNames[i - 1];
                    if (name)
                       match[name] = match[i];
                }
            }
            if (!compliantLastIndexIncrement && this.global && !match[0].length && (this.lastIndex > match.index))
                this.lastIndex--;
        }
        return match;
    };
    if (!compliantLastIndexIncrement) {
        RegExp.prototype.test = function (str) {
            var match = real.exec.call(this, str);
            if (match && this.global && !match[0].length && (this.lastIndex > match.index))
                this.lastIndex--;
            return !!match;
        };
    }

    function getNativeFlags (regex) {
        return (regex.global     ? "g" : "") +
               (regex.ignoreCase ? "i" : "") +
               (regex.multiline  ? "m" : "") +
               (regex.extended   ? "x" : "") + // Proposed for ES4; included in AS3
               (regex.sticky     ? "y" : "");
    }

    function indexOf (array, item, from) {
        if (Array.prototype.indexOf) // Use the native array method if available
            return array.indexOf(item, from);
        for (var i = from || 0; i < array.length; i++) {
            if (array[i] === item)
                return i;
        }
        return -1;
    }

});

ace.define("ace/lib/es5-shim",["require","exports","module"], function(acequire, exports, module) {

function Empty() {}

if (!Function.prototype.bind) {
    Function.prototype.bind = function bind(that) { // .length is 1
        var target = this;
        if (typeof target != "function") {
            throw new TypeError("Function.prototype.bind called on incompatible " + target);
        }
        var args = slice.call(arguments, 1); // for normal call
        var bound = function () {

            if (this instanceof bound) {

                var result = target.apply(
                    this,
                    args.concat(slice.call(arguments))
                );
                if (Object(result) === result) {
                    return result;
                }
                return this;

            } else {
                return target.apply(
                    that,
                    args.concat(slice.call(arguments))
                );

            }

        };
        if(target.prototype) {
            Empty.prototype = target.prototype;
            bound.prototype = new Empty();
            Empty.prototype = null;
        }
        return bound;
    };
}
var call = Function.prototype.call;
var prototypeOfArray = Array.prototype;
var prototypeOfObject = Object.prototype;
var slice = prototypeOfArray.slice;
var _toString = call.bind(prototypeOfObject.toString);
var owns = call.bind(prototypeOfObject.hasOwnProperty);
var defineGetter;
var defineSetter;
var lookupGetter;
var lookupSetter;
var supportsAccessors;
if ((supportsAccessors = owns(prototypeOfObject, "__defineGetter__"))) {
    defineGetter = call.bind(prototypeOfObject.__defineGetter__);
    defineSetter = call.bind(prototypeOfObject.__defineSetter__);
    lookupGetter = call.bind(prototypeOfObject.__lookupGetter__);
    lookupSetter = call.bind(prototypeOfObject.__lookupSetter__);
}
if ([1,2].splice(0).length != 2) {
    if(function() { // test IE < 9 to splice bug - see issue #138
        function makeArray(l) {
            var a = new Array(l+2);
            a[0] = a[1] = 0;
            return a;
        }
        var array = [], lengthBefore;
        
        array.splice.apply(array, makeArray(20));
        array.splice.apply(array, makeArray(26));

        lengthBefore = array.length; //46
        array.splice(5, 0, "XXX"); // add one element

        lengthBefore + 1 == array.length

        if (lengthBefore + 1 == array.length) {
            return true;// has right splice implementation without bugs
        }
    }()) {//IE 6/7
        var array_splice = Array.prototype.splice;
        Array.prototype.splice = function(start, deleteCount) {
            if (!arguments.length) {
                return [];
            } else {
                return array_splice.apply(this, [
                    start === void 0 ? 0 : start,
                    deleteCount === void 0 ? (this.length - start) : deleteCount
                ].concat(slice.call(arguments, 2)))
            }
        };
    } else {//IE8
        Array.prototype.splice = function(pos, removeCount){
            var length = this.length;
            if (pos > 0) {
                if (pos > length)
                    pos = length;
            } else if (pos == void 0) {
                pos = 0;
            } else if (pos < 0) {
                pos = Math.max(length + pos, 0);
            }

            if (!(pos+removeCount < length))
                removeCount = length - pos;

            var removed = this.slice(pos, pos+removeCount);
            var insert = slice.call(arguments, 2);
            var add = insert.length;            
            if (pos === length) {
                if (add) {
                    this.push.apply(this, insert);
                }
            } else {
                var remove = Math.min(removeCount, length - pos);
                var tailOldPos = pos + remove;
                var tailNewPos = tailOldPos + add - remove;
                var tailCount = length - tailOldPos;
                var lengthAfterRemove = length - remove;

                if (tailNewPos < tailOldPos) { // case A
                    for (var i = 0; i < tailCount; ++i) {
                        this[tailNewPos+i] = this[tailOldPos+i];
                    }
                } else if (tailNewPos > tailOldPos) { // case B
                    for (i = tailCount; i--; ) {
                        this[tailNewPos+i] = this[tailOldPos+i];
                    }
                } // else, add == remove (nothing to do)

                if (add && pos === lengthAfterRemove) {
                    this.length = lengthAfterRemove; // truncate array
                    this.push.apply(this, insert);
                } else {
                    this.length = lengthAfterRemove + add; // reserves space
                    for (i = 0; i < add; ++i) {
                        this[pos+i] = insert[i];
                    }
                }
            }
            return removed;
        };
    }
}
if (!Array.isArray) {
    Array.isArray = function isArray(obj) {
        return _toString(obj) == "[object Array]";
    };
}
var boxedString = Object("a"),
    splitString = boxedString[0] != "a" || !(0 in boxedString);

if (!Array.prototype.forEach) {
    Array.prototype.forEach = function forEach(fun /*, thisp*/) {
        var object = toObject(this),
            self = splitString && _toString(this) == "[object String]" ?
                this.split("") :
                object,
            thisp = arguments[1],
            i = -1,
            length = self.length >>> 0;
        if (_toString(fun) != "[object Function]") {
            throw new TypeError(); // TODO message
        }

        while (++i < length) {
            if (i in self) {
                fun.call(thisp, self[i], i, object);
            }
        }
    };
}
if (!Array.prototype.map) {
    Array.prototype.map = function map(fun /*, thisp*/) {
        var object = toObject(this),
            self = splitString && _toString(this) == "[object String]" ?
                this.split("") :
                object,
            length = self.length >>> 0,
            result = Array(length),
            thisp = arguments[1];
        if (_toString(fun) != "[object Function]") {
            throw new TypeError(fun + " is not a function");
        }

        for (var i = 0; i < length; i++) {
            if (i in self)
                result[i] = fun.call(thisp, self[i], i, object);
        }
        return result;
    };
}
if (!Array.prototype.filter) {
    Array.prototype.filter = function filter(fun /*, thisp */) {
        var object = toObject(this),
            self = splitString && _toString(this) == "[object String]" ?
                this.split("") :
                    object,
            length = self.length >>> 0,
            result = [],
            value,
            thisp = arguments[1];
        if (_toString(fun) != "[object Function]") {
            throw new TypeError(fun + " is not a function");
        }

        for (var i = 0; i < length; i++) {
            if (i in self) {
                value = self[i];
                if (fun.call(thisp, value, i, object)) {
                    result.push(value);
                }
            }
        }
        return result;
    };
}
if (!Array.prototype.every) {
    Array.prototype.every = function every(fun /*, thisp */) {
        var object = toObject(this),
            self = splitString && _toString(this) == "[object String]" ?
                this.split("") :
                object,
            length = self.length >>> 0,
            thisp = arguments[1];
        if (_toString(fun) != "[object Function]") {
            throw new TypeError(fun + " is not a function");
        }

        for (var i = 0; i < length; i++) {
            if (i in self && !fun.call(thisp, self[i], i, object)) {
                return false;
            }
        }
        return true;
    };
}
if (!Array.prototype.some) {
    Array.prototype.some = function some(fun /*, thisp */) {
        var object = toObject(this),
            self = splitString && _toString(this) == "[object String]" ?
                this.split("") :
                object,
            length = self.length >>> 0,
            thisp = arguments[1];
        if (_toString(fun) != "[object Function]") {
            throw new TypeError(fun + " is not a function");
        }

        for (var i = 0; i < length; i++) {
            if (i in self && fun.call(thisp, self[i], i, object)) {
                return true;
            }
        }
        return false;
    };
}
if (!Array.prototype.reduce) {
    Array.prototype.reduce = function reduce(fun /*, initial*/) {
        var object = toObject(this),
            self = splitString && _toString(this) == "[object String]" ?
                this.split("") :
                object,
            length = self.length >>> 0;
        if (_toString(fun) != "[object Function]") {
            throw new TypeError(fun + " is not a function");
        }
        if (!length && arguments.length == 1) {
            throw new TypeError("reduce of empty array with no initial value");
        }

        var i = 0;
        var result;
        if (arguments.length >= 2) {
            result = arguments[1];
        } else {
            do {
                if (i in self) {
                    result = self[i++];
                    break;
                }
                if (++i >= length) {
                    throw new TypeError("reduce of empty array with no initial value");
                }
            } while (true);
        }

        for (; i < length; i++) {
            if (i in self) {
                result = fun.call(void 0, result, self[i], i, object);
            }
        }

        return result;
    };
}
if (!Array.prototype.reduceRight) {
    Array.prototype.reduceRight = function reduceRight(fun /*, initial*/) {
        var object = toObject(this),
            self = splitString && _toString(this) == "[object String]" ?
                this.split("") :
                object,
            length = self.length >>> 0;
        if (_toString(fun) != "[object Function]") {
            throw new TypeError(fun + " is not a function");
        }
        if (!length && arguments.length == 1) {
            throw new TypeError("reduceRight of empty array with no initial value");
        }

        var result, i = length - 1;
        if (arguments.length >= 2) {
            result = arguments[1];
        } else {
            do {
                if (i in self) {
                    result = self[i--];
                    break;
                }
                if (--i < 0) {
                    throw new TypeError("reduceRight of empty array with no initial value");
                }
            } while (true);
        }

        do {
            if (i in this) {
                result = fun.call(void 0, result, self[i], i, object);
            }
        } while (i--);

        return result;
    };
}
if (!Array.prototype.indexOf || ([0, 1].indexOf(1, 2) != -1)) {
    Array.prototype.indexOf = function indexOf(sought /*, fromIndex */ ) {
        var self = splitString && _toString(this) == "[object String]" ?
                this.split("") :
                toObject(this),
            length = self.length >>> 0;

        if (!length) {
            return -1;
        }

        var i = 0;
        if (arguments.length > 1) {
            i = toInteger(arguments[1]);
        }
        i = i >= 0 ? i : Math.max(0, length + i);
        for (; i < length; i++) {
            if (i in self && self[i] === sought) {
                return i;
            }
        }
        return -1;
    };
}
if (!Array.prototype.lastIndexOf || ([0, 1].lastIndexOf(0, -3) != -1)) {
    Array.prototype.lastIndexOf = function lastIndexOf(sought /*, fromIndex */) {
        var self = splitString && _toString(this) == "[object String]" ?
                this.split("") :
                toObject(this),
            length = self.length >>> 0;

        if (!length) {
            return -1;
        }
        var i = length - 1;
        if (arguments.length > 1) {
            i = Math.min(i, toInteger(arguments[1]));
        }
        i = i >= 0 ? i : length - Math.abs(i);
        for (; i >= 0; i--) {
            if (i in self && sought === self[i]) {
                return i;
            }
        }
        return -1;
    };
}
if (!Object.getPrototypeOf) {
    Object.getPrototypeOf = function getPrototypeOf(object) {
        return object.__proto__ || (
            object.constructor ?
            object.constructor.prototype :
            prototypeOfObject
        );
    };
}
if (!Object.getOwnPropertyDescriptor) {
    var ERR_NON_OBJECT = "Object.getOwnPropertyDescriptor called on a " +
                         "non-object: ";
    Object.getOwnPropertyDescriptor = function getOwnPropertyDescriptor(object, property) {
        if ((typeof object != "object" && typeof object != "function") || object === null)
            throw new TypeError(ERR_NON_OBJECT + object);
        if (!owns(object, property))
            return;

        var descriptor, getter, setter;
        descriptor =  { enumerable: true, configurable: true };
        if (supportsAccessors) {
            var prototype = object.__proto__;
            object.__proto__ = prototypeOfObject;

            var getter = lookupGetter(object, property);
            var setter = lookupSetter(object, property);
            object.__proto__ = prototype;

            if (getter || setter) {
                if (getter) descriptor.get = getter;
                if (setter) descriptor.set = setter;
                return descriptor;
            }
        }
        descriptor.value = object[property];
        return descriptor;
    };
}
if (!Object.getOwnPropertyNames) {
    Object.getOwnPropertyNames = function getOwnPropertyNames(object) {
        return Object.keys(object);
    };
}
if (!Object.create) {
    var createEmpty;
    if (Object.prototype.__proto__ === null) {
        createEmpty = function () {
            return { "__proto__": null };
        };
    } else {
        createEmpty = function () {
            var empty = {};
            for (var i in empty)
                empty[i] = null;
            empty.constructor =
            empty.hasOwnProperty =
            empty.propertyIsEnumerable =
            empty.isPrototypeOf =
            empty.toLocaleString =
            empty.toString =
            empty.valueOf =
            empty.__proto__ = null;
            return empty;
        }
    }

    Object.create = function create(prototype, properties) {
        var object;
        if (prototype === null) {
            object = createEmpty();
        } else {
            if (typeof prototype != "object")
                throw new TypeError("typeof prototype["+(typeof prototype)+"] != 'object'");
            var Type = function () {};
            Type.prototype = prototype;
            object = new Type();
            object.__proto__ = prototype;
        }
        if (properties !== void 0)
            Object.defineProperties(object, properties);
        return object;
    };
}

function doesDefinePropertyWork(object) {
    try {
        Object.defineProperty(object, "sentinel", {});
        return "sentinel" in object;
    } catch (exception) {
    }
}
if (Object.defineProperty) {
    var definePropertyWorksOnObject = doesDefinePropertyWork({});
    var definePropertyWorksOnDom = typeof document == "undefined" ||
        doesDefinePropertyWork(document.createElement("div"));
    if (!definePropertyWorksOnObject || !definePropertyWorksOnDom) {
        var definePropertyFallback = Object.defineProperty;
    }
}

if (!Object.defineProperty || definePropertyFallback) {
    var ERR_NON_OBJECT_DESCRIPTOR = "Property description must be an object: ";
    var ERR_NON_OBJECT_TARGET = "Object.defineProperty called on non-object: "
    var ERR_ACCESSORS_NOT_SUPPORTED = "getters & setters can not be defined " +
                                      "on this javascript engine";

    Object.defineProperty = function defineProperty(object, property, descriptor) {
        if ((typeof object != "object" && typeof object != "function") || object === null)
            throw new TypeError(ERR_NON_OBJECT_TARGET + object);
        if ((typeof descriptor != "object" && typeof descriptor != "function") || descriptor === null)
            throw new TypeError(ERR_NON_OBJECT_DESCRIPTOR + descriptor);
        if (definePropertyFallback) {
            try {
                return definePropertyFallback.call(Object, object, property, descriptor);
            } catch (exception) {
            }
        }
        if (owns(descriptor, "value")) {

            if (supportsAccessors && (lookupGetter(object, property) ||
                                      lookupSetter(object, property)))
            {
                var prototype = object.__proto__;
                object.__proto__ = prototypeOfObject;
                delete object[property];
                object[property] = descriptor.value;
                object.__proto__ = prototype;
            } else {
                object[property] = descriptor.value;
            }
        } else {
            if (!supportsAccessors)
                throw new TypeError(ERR_ACCESSORS_NOT_SUPPORTED);
            if (owns(descriptor, "get"))
                defineGetter(object, property, descriptor.get);
            if (owns(descriptor, "set"))
                defineSetter(object, property, descriptor.set);
        }

        return object;
    };
}
if (!Object.defineProperties) {
    Object.defineProperties = function defineProperties(object, properties) {
        for (var property in properties) {
            if (owns(properties, property))
                Object.defineProperty(object, property, properties[property]);
        }
        return object;
    };
}
if (!Object.seal) {
    Object.seal = function seal(object) {
        return object;
    };
}
if (!Object.freeze) {
    Object.freeze = function freeze(object) {
        return object;
    };
}
try {
    Object.freeze(function () {});
} catch (exception) {
    Object.freeze = (function freeze(freezeObject) {
        return function freeze(object) {
            if (typeof object == "function") {
                return object;
            } else {
                return freezeObject(object);
            }
        };
    })(Object.freeze);
}
if (!Object.preventExtensions) {
    Object.preventExtensions = function preventExtensions(object) {
        return object;
    };
}
if (!Object.isSealed) {
    Object.isSealed = function isSealed(object) {
        return false;
    };
}
if (!Object.isFrozen) {
    Object.isFrozen = function isFrozen(object) {
        return false;
    };
}
if (!Object.isExtensible) {
    Object.isExtensible = function isExtensible(object) {
        if (Object(object) === object) {
            throw new TypeError(); // TODO message
        }
        var name = '';
        while (owns(object, name)) {
            name += '?';
        }
        object[name] = true;
        var returnValue = owns(object, name);
        delete object[name];
        return returnValue;
    };
}
if (!Object.keys) {
    var hasDontEnumBug = true,
        dontEnums = [
            "toString",
            "toLocaleString",
            "valueOf",
            "hasOwnProperty",
            "isPrototypeOf",
            "propertyIsEnumerable",
            "constructor"
        ],
        dontEnumsLength = dontEnums.length;

    for (var key in {"toString": null}) {
        hasDontEnumBug = false;
    }

    Object.keys = function keys(object) {

        if (
            (typeof object != "object" && typeof object != "function") ||
            object === null
        ) {
            throw new TypeError("Object.keys called on a non-object");
        }

        var keys = [];
        for (var name in object) {
            if (owns(object, name)) {
                keys.push(name);
            }
        }

        if (hasDontEnumBug) {
            for (var i = 0, ii = dontEnumsLength; i < ii; i++) {
                var dontEnum = dontEnums[i];
                if (owns(object, dontEnum)) {
                    keys.push(dontEnum);
                }
            }
        }
        return keys;
    };

}
if (!Date.now) {
    Date.now = function now() {
        return new Date().getTime();
    };
}
var ws = "\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003" +
    "\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028" +
    "\u2029\uFEFF";
if (!String.prototype.trim || ws.trim()) {
    ws = "[" + ws + "]";
    var trimBeginRegexp = new RegExp("^" + ws + ws + "*"),
        trimEndRegexp = new RegExp(ws + ws + "*$");
    String.prototype.trim = function trim() {
        return String(this).replace(trimBeginRegexp, "").replace(trimEndRegexp, "");
    };
}

function toInteger(n) {
    n = +n;
    if (n !== n) { // isNaN
        n = 0;
    } else if (n !== 0 && n !== (1/0) && n !== -(1/0)) {
        n = (n > 0 || -1) * Math.floor(Math.abs(n));
    }
    return n;
}

function isPrimitive(input) {
    var type = typeof input;
    return (
        input === null ||
        type === "undefined" ||
        type === "boolean" ||
        type === "number" ||
        type === "string"
    );
}

function toPrimitive(input) {
    var val, valueOf, toString;
    if (isPrimitive(input)) {
        return input;
    }
    valueOf = input.valueOf;
    if (typeof valueOf === "function") {
        val = valueOf.call(input);
        if (isPrimitive(val)) {
            return val;
        }
    }
    toString = input.toString;
    if (typeof toString === "function") {
        val = toString.call(input);
        if (isPrimitive(val)) {
            return val;
        }
    }
    throw new TypeError();
}
var toObject = function (o) {
    if (o == null) { // this matches both null and undefined
        throw new TypeError("can't convert "+o+" to object");
    }
    return Object(o);
};

});

ace.define("ace/lib/fixoldbrowsers",["require","exports","module","ace/lib/regexp","ace/lib/es5-shim"], function(acequire, exports, module) {
"use strict";

acequire("./regexp");
acequire("./es5-shim");

});

ace.define("ace/lib/dom",["require","exports","module"], function(acequire, exports, module) {
"use strict";

var XHTML_NS = "http://www.w3.org/1999/xhtml";

exports.getDocumentHead = function(doc) {
    if (!doc)
        doc = document;
    return doc.head || doc.getElementsByTagName("head")[0] || doc.documentElement;
};

exports.createElement = function(tag, ns) {
    return document.createElementNS ?
           document.createElementNS(ns || XHTML_NS, tag) :
           document.createElement(tag);
};

exports.hasCssClass = function(el, name) {
    var classes = (el.className + "").split(/\s+/g);
    return classes.indexOf(name) !== -1;
};
exports.addCssClass = function(el, name) {
    if (!exports.hasCssClass(el, name)) {
        el.className += " " + name;
    }
};
exports.removeCssClass = function(el, name) {
    var classes = el.className.split(/\s+/g);
    while (true) {
        var index = classes.indexOf(name);
        if (index == -1) {
            break;
        }
        classes.splice(index, 1);
    }
    el.className = classes.join(" ");
};

exports.toggleCssClass = function(el, name) {
    var classes = el.className.split(/\s+/g), add = true;
    while (true) {
        var index = classes.indexOf(name);
        if (index == -1) {
            break;
        }
        add = false;
        classes.splice(index, 1);
    }
    if (add)
        classes.push(name);

    el.className = classes.join(" ");
    return add;
};
exports.setCssClass = function(node, className, include) {
    if (include) {
        exports.addCssClass(node, className);
    } else {
        exports.removeCssClass(node, className);
    }
};

exports.hasCssString = function(id, doc) {
    var index = 0, sheets;
    doc = doc || document;

    if (doc.createStyleSheet && (sheets = doc.styleSheets)) {
        while (index < sheets.length)
            if (sheets[index++].owningElement.id === id) return true;
    } else if ((sheets = doc.getElementsByTagName("style"))) {
        while (index < sheets.length)
            if (sheets[index++].id === id) return true;
    }

    return false;
};

exports.importCssString = function importCssString(cssText, id, doc) {
    doc = doc || document;
    if (id && exports.hasCssString(id, doc))
        return null;
    
    var style;
    
    if (id)
        cssText += "\n/*# sourceURL=ace/css/" + id + " */";
    
    if (doc.createStyleSheet) {
        style = doc.createStyleSheet();
        style.cssText = cssText;
        if (id)
            style.owningElement.id = id;
    } else {
        style = exports.createElement("style");
        style.appendChild(doc.createTextNode(cssText));
        if (id)
            style.id = id;

        exports.getDocumentHead(doc).appendChild(style);
    }
};

exports.importCssStylsheet = function(uri, doc) {
    if (doc.createStyleSheet) {
        doc.createStyleSheet(uri);
    } else {
        var link = exports.createElement('link');
        link.rel = 'stylesheet';
        link.href = uri;

        exports.getDocumentHead(doc).appendChild(link);
    }
};

exports.getInnerWidth = function(element) {
    return (
        parseInt(exports.computedStyle(element, "paddingLeft"), 10) +
        parseInt(exports.computedStyle(element, "paddingRight"), 10) + 
        element.clientWidth
    );
};

exports.getInnerHeight = function(element) {
    return (
        parseInt(exports.computedStyle(element, "paddingTop"), 10) +
        parseInt(exports.computedStyle(element, "paddingBottom"), 10) +
        element.clientHeight
    );
};

exports.scrollbarWidth = function(document) {
    var inner = exports.createElement("ace_inner");
    inner.style.width = "100%";
    inner.style.minWidth = "0px";
    inner.style.height = "200px";
    inner.style.display = "block";

    var outer = exports.createElement("ace_outer");
    var style = outer.style;

    style.position = "absolute";
    style.left = "-10000px";
    style.overflow = "hidden";
    style.width = "200px";
    style.minWidth = "0px";
    style.height = "150px";
    style.display = "block";

    outer.appendChild(inner);

    var body = document.documentElement;
    body.appendChild(outer);

    var noScrollbar = inner.offsetWidth;

    style.overflow = "scroll";
    var withScrollbar = inner.offsetWidth;

    if (noScrollbar == withScrollbar) {
        withScrollbar = outer.clientWidth;
    }

    body.removeChild(outer);

    return noScrollbar-withScrollbar;
};

if (typeof document == "undefined") {
    exports.importCssString = function() {};
    return;
}

if (window.pageYOffset !== undefined) {
    exports.getPageScrollTop = function() {
        return window.pageYOffset;
    };

    exports.getPageScrollLeft = function() {
        return window.pageXOffset;
    };
}
else {
    exports.getPageScrollTop = function() {
        return document.body.scrollTop;
    };

    exports.getPageScrollLeft = function() {
        return document.body.scrollLeft;
    };
}

if (window.getComputedStyle)
    exports.computedStyle = function(element, style) {
        if (style)
            return (window.getComputedStyle(element, "") || {})[style] || "";
        return window.getComputedStyle(element, "") || {};
    };
else
    exports.computedStyle = function(element, style) {
        if (style)
            return element.currentStyle[style];
        return element.currentStyle;
    };
exports.setInnerHtml = function(el, innerHtml) {
    var element = el.cloneNode(false);//document.createElement("div");
    element.innerHTML = innerHtml;
    el.parentNode.replaceChild(element, el);
    return element;
};

if ("textContent" in document.documentElement) {
    exports.setInnerText = function(el, innerText) {
        el.textContent = innerText;
    };

    exports.getInnerText = function(el) {
        return el.textContent;
    };
}
else {
    exports.setInnerText = function(el, innerText) {
        el.innerText = innerText;
    };

    exports.getInnerText = function(el) {
        return el.innerText;
    };
}

exports.getParentWindow = function(document) {
    return document.defaultView || document.parentWindow;
};

});

ace.define("ace/lib/oop",["require","exports","module"], function(acequire, exports, module) {
"use strict";

exports.inherits = function(ctor, superCtor) {
    ctor.super_ = superCtor;
    ctor.prototype = Object.create(superCtor.prototype, {
        constructor: {
            value: ctor,
            enumerable: false,
            writable: true,
            configurable: true
        }
    });
};

exports.mixin = function(obj, mixin) {
    for (var key in mixin) {
        obj[key] = mixin[key];
    }
    return obj;
};

exports.implement = function(proto, mixin) {
    exports.mixin(proto, mixin);
};

});

ace.define("ace/lib/keys",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/oop"], function(acequire, exports, module) {
"use strict";

acequire("./fixoldbrowsers");

var oop = acequire("./oop");
var Keys = (function() {
    var ret = {
        MODIFIER_KEYS: {
            16: 'Shift', 17: 'Ctrl', 18: 'Alt', 224: 'Meta'
        },

        KEY_MODS: {
            "ctrl": 1, "alt": 2, "option" : 2, "shift": 4,
            "super": 8, "meta": 8, "command": 8, "cmd": 8
        },

        FUNCTION_KEYS : {
            8  : "Backspace",
            9  : "Tab",
            13 : "Return",
            19 : "Pause",
            27 : "Esc",
            32 : "Space",
            33 : "PageUp",
            34 : "PageDown",
            35 : "End",
            36 : "Home",
            37 : "Left",
            38 : "Up",
            39 : "Right",
            40 : "Down",
            44 : "Print",
            45 : "Insert",
            46 : "Delete",
            96 : "Numpad0",
            97 : "Numpad1",
            98 : "Numpad2",
            99 : "Numpad3",
            100: "Numpad4",
            101: "Numpad5",
            102: "Numpad6",
            103: "Numpad7",
            104: "Numpad8",
            105: "Numpad9",
            '-13': "NumpadEnter",
            112: "F1",
            113: "F2",
            114: "F3",
            115: "F4",
            116: "F5",
            117: "F6",
            118: "F7",
            119: "F8",
            120: "F9",
            121: "F10",
            122: "F11",
            123: "F12",
            144: "Numlock",
            145: "Scrolllock"
        },

        PRINTABLE_KEYS: {
           32: ' ',  48: '0',  49: '1',  50: '2',  51: '3',  52: '4', 53:  '5',
           54: '6',  55: '7',  56: '8',  57: '9',  59: ';',  61: '=', 65:  'a',
           66: 'b',  67: 'c',  68: 'd',  69: 'e',  70: 'f',  71: 'g', 72:  'h',
           73: 'i',  74: 'j',  75: 'k',  76: 'l',  77: 'm',  78: 'n', 79:  'o',
           80: 'p',  81: 'q',  82: 'r',  83: 's',  84: 't',  85: 'u', 86:  'v',
           87: 'w',  88: 'x',  89: 'y',  90: 'z', 107: '+', 109: '-', 110: '.',
          186: ';', 187: '=', 188: ',', 189: '-', 190: '.', 191: '/', 192: '`',
          219: '[', 220: '\\',221: ']', 222: "'", 111: '/', 106: '*'
        }
    };
    var name, i;
    for (i in ret.FUNCTION_KEYS) {
        name = ret.FUNCTION_KEYS[i].toLowerCase();
        ret[name] = parseInt(i, 10);
    }
    for (i in ret.PRINTABLE_KEYS) {
        name = ret.PRINTABLE_KEYS[i].toLowerCase();
        ret[name] = parseInt(i, 10);
    }
    oop.mixin(ret, ret.MODIFIER_KEYS);
    oop.mixin(ret, ret.PRINTABLE_KEYS);
    oop.mixin(ret, ret.FUNCTION_KEYS);
    ret.enter = ret["return"];
    ret.escape = ret.esc;
    ret.del = ret["delete"];
    ret[173] = '-';
    
    (function() {
        var mods = ["cmd", "ctrl", "alt", "shift"];
        for (var i = Math.pow(2, mods.length); i--;) {            
            ret.KEY_MODS[i] = mods.filter(function(x) {
                return i & ret.KEY_MODS[x];
            }).join("-") + "-";
        }
    })();

    ret.KEY_MODS[0] = "";
    ret.KEY_MODS[-1] = "input-";

    return ret;
})();
oop.mixin(exports, Keys);

exports.keyCodeToString = function(keyCode) {
    var keyString = Keys[keyCode];
    if (typeof keyString != "string")
        keyString = String.fromCharCode(keyCode);
    return keyString.toLowerCase();
};

});

ace.define("ace/lib/useragent",["require","exports","module"], function(acequire, exports, module) {
"use strict";
exports.OS = {
    LINUX: "LINUX",
    MAC: "MAC",
    WINDOWS: "WINDOWS"
};
exports.getOS = function() {
    if (exports.isMac) {
        return exports.OS.MAC;
    } else if (exports.isLinux) {
        return exports.OS.LINUX;
    } else {
        return exports.OS.WINDOWS;
    }
};
if (typeof navigator != "object")
    return;

var os = (navigator.platform.match(/mac|win|linux/i) || ["other"])[0].toLowerCase();
var ua = navigator.userAgent;
exports.isWin = (os == "win");
exports.isMac = (os == "mac");
exports.isLinux = (os == "linux");
exports.isIE = 
    (navigator.appName == "Microsoft Internet Explorer" || navigator.appName.indexOf("MSAppHost") >= 0)
    ? parseFloat((ua.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1])
    : parseFloat((ua.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]); // for ie
    
exports.isOldIE = exports.isIE && exports.isIE < 9;
exports.isGecko = exports.isMozilla = (window.Controllers || window.controllers) && window.navigator.product === "Gecko";
exports.isOldGecko = exports.isGecko && parseInt((ua.match(/rv:(\d+)/)||[])[1], 10) < 4;
exports.isOpera = window.opera && Object.prototype.toString.call(window.opera) == "[object Opera]";
exports.isWebKit = parseFloat(ua.split("WebKit/")[1]) || undefined;

exports.isChrome = parseFloat(ua.split(" Chrome/")[1]) || undefined;

exports.isAIR = ua.indexOf("AdobeAIR") >= 0;

exports.isIPad = ua.indexOf("iPad") >= 0;

exports.isChromeOS = ua.indexOf(" CrOS ") >= 0;

exports.isIOS = /iPad|iPhone|iPod/.test(ua) && !window.MSStream;

if (exports.isIOS) exports.isMac = true;

});

ace.define("ace/lib/event",["require","exports","module","ace/lib/keys","ace/lib/useragent"], function(acequire, exports, module) {
"use strict";

var keys = acequire("./keys");
var useragent = acequire("./useragent");

var pressedKeys = null;
var ts = 0;

exports.addListener = function(elem, type, callback) {
    if (elem.addEventListener) {
        return elem.addEventListener(type, callback, false);
    }
    if (elem.attachEvent) {
        var wrapper = function() {
            callback.call(elem, window.event);
        };
        callback._wrapper = wrapper;
        elem.attachEvent("on" + type, wrapper);
    }
};

exports.removeListener = function(elem, type, callback) {
    if (elem.removeEventListener) {
        return elem.removeEventListener(type, callback, false);
    }
    if (elem.detachEvent) {
        elem.detachEvent("on" + type, callback._wrapper || callback);
    }
};
exports.stopEvent = function(e) {
    exports.stopPropagation(e);
    exports.preventDefault(e);
    return false;
};

exports.stopPropagation = function(e) {
    if (e.stopPropagation)
        e.stopPropagation();
    else
        e.cancelBubble = true;
};

exports.preventDefault = function(e) {
    if (e.preventDefault)
        e.preventDefault();
    else
        e.returnValue = false;
};
exports.getButton = function(e) {
    if (e.type == "dblclick")
        return 0;
    if (e.type == "contextmenu" || (useragent.isMac && (e.ctrlKey && !e.altKey && !e.shiftKey)))
        return 2;
    if (e.preventDefault) {
        return e.button;
    }
    else {
        return {1:0, 2:2, 4:1}[e.button];
    }
};

exports.capture = function(el, eventHandler, releaseCaptureHandler) {
    function onMouseUp(e) {
        eventHandler && eventHandler(e);
        releaseCaptureHandler && releaseCaptureHandler(e);

        exports.removeListener(document, "mousemove", eventHandler, true);
        exports.removeListener(document, "mouseup", onMouseUp, true);
        exports.removeListener(document, "dragstart", onMouseUp, true);
    }

    exports.addListener(document, "mousemove", eventHandler, true);
    exports.addListener(document, "mouseup", onMouseUp, true);
    exports.addListener(document, "dragstart", onMouseUp, true);
    
    return onMouseUp;
};

exports.addTouchMoveListener = function (el, callback) {
    var startx, starty;
    exports.addListener(el, "touchstart", function (e) {
        var touches = e.touches;
        var touchObj = touches[0];
        startx = touchObj.clientX;
        starty = touchObj.clientY;
    });
    exports.addListener(el, "touchmove", function (e) {
        var touches = e.touches;
        if (touches.length > 1) return;

        var touchObj = touches[0];

        e.wheelX = startx - touchObj.clientX;
        e.wheelY = starty - touchObj.clientY;

        startx = touchObj.clientX;
        starty = touchObj.clientY;

        callback(e);
    });
};

exports.addMouseWheelListener = function(el, callback) {
    if ("onmousewheel" in el) {
        exports.addListener(el, "mousewheel", function(e) {
            var factor = 8;
            if (e.wheelDeltaX !== undefined) {
                e.wheelX = -e.wheelDeltaX / factor;
                e.wheelY = -e.wheelDeltaY / factor;
            } else {
                e.wheelX = 0;
                e.wheelY = -e.wheelDelta / factor;
            }
            callback(e);
        });
    } else if ("onwheel" in el) {
        exports.addListener(el, "wheel",  function(e) {
            var factor = 0.35;
            switch (e.deltaMode) {
                case e.DOM_DELTA_PIXEL:
                    e.wheelX = e.deltaX * factor || 0;
                    e.wheelY = e.deltaY * factor || 0;
                    break;
                case e.DOM_DELTA_LINE:
                case e.DOM_DELTA_PAGE:
                    e.wheelX = (e.deltaX || 0) * 5;
                    e.wheelY = (e.deltaY || 0) * 5;
                    break;
            }
            
            callback(e);
        });
    } else {
        exports.addListener(el, "DOMMouseScroll", function(e) {
            if (e.axis && e.axis == e.HORIZONTAL_AXIS) {
                e.wheelX = (e.detail || 0) * 5;
                e.wheelY = 0;
            } else {
                e.wheelX = 0;
                e.wheelY = (e.detail || 0) * 5;
            }
            callback(e);
        });
    }
};

exports.addMultiMouseDownListener = function(elements, timeouts, eventHandler, callbackName) {
    var clicks = 0;
    var startX, startY, timer; 
    var eventNames = {
        2: "dblclick",
        3: "tripleclick",
        4: "quadclick"
    };

    function onMousedown(e) {
        if (exports.getButton(e) !== 0) {
            clicks = 0;
        } else if (e.detail > 1) {
            clicks++;
            if (clicks > 4)
                clicks = 1;
        } else {
            clicks = 1;
        }
        if (useragent.isIE) {
            var isNewClick = Math.abs(e.clientX - startX) > 5 || Math.abs(e.clientY - startY) > 5;
            if (!timer || isNewClick)
                clicks = 1;
            if (timer)
                clearTimeout(timer);
            timer = setTimeout(function() {timer = null;}, timeouts[clicks - 1] || 600);

            if (clicks == 1) {
                startX = e.clientX;
                startY = e.clientY;
            }
        }
        
        e._clicks = clicks;

        eventHandler[callbackName]("mousedown", e);

        if (clicks > 4)
            clicks = 0;
        else if (clicks > 1)
            return eventHandler[callbackName](eventNames[clicks], e);
    }
    function onDblclick(e) {
        clicks = 2;
        if (timer)
            clearTimeout(timer);
        timer = setTimeout(function() {timer = null;}, timeouts[clicks - 1] || 600);
        eventHandler[callbackName]("mousedown", e);
        eventHandler[callbackName](eventNames[clicks], e);
    }
    if (!Array.isArray(elements))
        elements = [elements];
    elements.forEach(function(el) {
        exports.addListener(el, "mousedown", onMousedown);
        if (useragent.isOldIE)
            exports.addListener(el, "dblclick", onDblclick);
    });
};

var getModifierHash = useragent.isMac && useragent.isOpera && !("KeyboardEvent" in window)
    ? function(e) {
        return 0 | (e.metaKey ? 1 : 0) | (e.altKey ? 2 : 0) | (e.shiftKey ? 4 : 0) | (e.ctrlKey ? 8 : 0);
    }
    : function(e) {
        return 0 | (e.ctrlKey ? 1 : 0) | (e.altKey ? 2 : 0) | (e.shiftKey ? 4 : 0) | (e.metaKey ? 8 : 0);
    };

exports.getModifierString = function(e) {
    return keys.KEY_MODS[getModifierHash(e)];
};

function normalizeCommandKeys(callback, e, keyCode) {
    var hashId = getModifierHash(e);

    if (!useragent.isMac && pressedKeys) {
        if (e.getModifierState && (e.getModifierState("OS") || e.getModifierState("Win")))
            hashId |= 8;
        if (pressedKeys.altGr) {
            if ((3 & hashId) != 3)
                pressedKeys.altGr = 0;
            else
                return;
        }
        if (keyCode === 18 || keyCode === 17) {
            var location = "location" in e ? e.location : e.keyLocation;
            if (keyCode === 17 && location === 1) {
                if (pressedKeys[keyCode] == 1)
                    ts = e.timeStamp;
            } else if (keyCode === 18 && hashId === 3 && location === 2) {
                var dt = e.timeStamp - ts;
                if (dt < 50)
                    pressedKeys.altGr = true;
            }
        }
    }
    
    if (keyCode in keys.MODIFIER_KEYS) {
        keyCode = -1;
    }
    if (hashId & 8 && (keyCode >= 91 && keyCode <= 93)) {
        keyCode = -1;
    }
    
    if (!hashId && keyCode === 13) {
        var location = "location" in e ? e.location : e.keyLocation;
        if (location === 3) {
            callback(e, hashId, -keyCode);
            if (e.defaultPrevented)
                return;
        }
    }
    
    if (useragent.isChromeOS && hashId & 8) {
        callback(e, hashId, keyCode);
        if (e.defaultPrevented)
            return;
        else
            hashId &= ~8;
    }
    if (!hashId && !(keyCode in keys.FUNCTION_KEYS) && !(keyCode in keys.PRINTABLE_KEYS)) {
        return false;
    }
    
    return callback(e, hashId, keyCode);
}


exports.addCommandKeyListener = function(el, callback) {
    var addListener = exports.addListener;
    if (useragent.isOldGecko || (useragent.isOpera && !("KeyboardEvent" in window))) {
        var lastKeyDownKeyCode = null;
        addListener(el, "keydown", function(e) {
            lastKeyDownKeyCode = e.keyCode;
        });
        addListener(el, "keypress", function(e) {
            return normalizeCommandKeys(callback, e, lastKeyDownKeyCode);
        });
    } else {
        var lastDefaultPrevented = null;

        addListener(el, "keydown", function(e) {
            pressedKeys[e.keyCode] = (pressedKeys[e.keyCode] || 0) + 1;
            var result = normalizeCommandKeys(callback, e, e.keyCode);
            lastDefaultPrevented = e.defaultPrevented;
            return result;
        });

        addListener(el, "keypress", function(e) {
            if (lastDefaultPrevented && (e.ctrlKey || e.altKey || e.shiftKey || e.metaKey)) {
                exports.stopEvent(e);
                lastDefaultPrevented = null;
            }
        });

        addListener(el, "keyup", function(e) {
            pressedKeys[e.keyCode] = null;
        });

        if (!pressedKeys) {
            resetPressedKeys();
            addListener(window, "focus", resetPressedKeys);
        }
    }
};
function resetPressedKeys() {
    pressedKeys = Object.create(null);
}

if (typeof window == "object" && window.postMessage && !useragent.isOldIE) {
    var postMessageId = 1;
    exports.nextTick = function(callback, win) {
        win = win || window;
        var messageName = "zero-timeout-message-" + postMessageId;
        exports.addListener(win, "message", function listener(e) {
            if (e.data == messageName) {
                exports.stopPropagation(e);
                exports.removeListener(win, "message", listener);
                callback();
            }
        });
        win.postMessage(messageName, "*");
    };
}


exports.nextFrame = typeof window == "object" && (window.requestAnimationFrame
    || window.mozRequestAnimationFrame
    || window.webkitRequestAnimationFrame
    || window.msRequestAnimationFrame
    || window.oRequestAnimationFrame);

if (exports.nextFrame)
    exports.nextFrame = exports.nextFrame.bind(window);
else
    exports.nextFrame = function(callback) {
        setTimeout(callback, 17);
    };
});

ace.define("ace/lib/lang",["require","exports","module"], function(acequire, exports, module) {
"use strict";

exports.last = function(a) {
    return a[a.length - 1];
};

exports.stringReverse = function(string) {
    return string.split("").reverse().join("");
};

exports.stringRepeat = function (string, count) {
    var result = '';
    while (count > 0) {
        if (count & 1)
            result += string;

        if (count >>= 1)
            string += string;
    }
    return result;
};

var trimBeginRegexp = /^\s\s*/;
var trimEndRegexp = /\s\s*$/;

exports.stringTrimLeft = function (string) {
    return string.replace(trimBeginRegexp, '');
};

exports.stringTrimRight = function (string) {
    return string.replace(trimEndRegexp, '');
};

exports.copyObject = function(obj) {
    var copy = {};
    for (var key in obj) {
        copy[key] = obj[key];
    }
    return copy;
};

exports.copyArray = function(array){
    var copy = [];
    for (var i=0, l=array.length; i<l; i++) {
        if (array[i] && typeof array[i] == "object")
            copy[i] = this.copyObject(array[i]);
        else 
            copy[i] = array[i];
    }
    return copy;
};

exports.deepCopy = function deepCopy(obj) {
    if (typeof obj !== "object" || !obj)
        return obj;
    var copy;
    if (Array.isArray(obj)) {
        copy = [];
        for (var key = 0; key < obj.length; key++) {
            copy[key] = deepCopy(obj[key]);
        }
        return copy;
    }
    if (Object.prototype.toString.call(obj) !== "[object Object]")
        return obj;
    
    copy = {};
    for (var key in obj)
        copy[key] = deepCopy(obj[key]);
    return copy;
};

exports.arrayToMap = function(arr) {
    var map = {};
    for (var i=0; i<arr.length; i++) {
        map[arr[i]] = 1;
    }
    return map;

};

exports.createMap = function(props) {
    var map = Object.create(null);
    for (var i in props) {
        map[i] = props[i];
    }
    return map;
};
exports.arrayRemove = function(array, value) {
  for (var i = 0; i <= array.length; i++) {
    if (value === array[i]) {
      array.splice(i, 1);
    }
  }
};

exports.escapeRegExp = function(str) {
    return str.replace(/([.*+?^${}()|[\]\/\\])/g, '\\$1');
};

exports.escapeHTML = function(str) {
    return str.replace(/&/g, "&#38;").replace(/"/g, "&#34;").replace(/'/g, "&#39;").replace(/</g, "&#60;");
};

exports.getMatchOffsets = function(string, regExp) {
    var matches = [];

    string.replace(regExp, function(str) {
        matches.push({
            offset: arguments[arguments.length-2],
            length: str.length
        });
    });

    return matches;
};
exports.deferredCall = function(fcn) {
    var timer = null;
    var callback = function() {
        timer = null;
        fcn();
    };

    var deferred = function(timeout) {
        deferred.cancel();
        timer = setTimeout(callback, timeout || 0);
        return deferred;
    };

    deferred.schedule = deferred;

    deferred.call = function() {
        this.cancel();
        fcn();
        return deferred;
    };

    deferred.cancel = function() {
        clearTimeout(timer);
        timer = null;
        return deferred;
    };
    
    deferred.isPending = function() {
        return timer;
    };

    return deferred;
};


exports.delayedCall = function(fcn, defaultTimeout) {
    var timer = null;
    var callback = function() {
        timer = null;
        fcn();
    };

    var _self = function(timeout) {
        if (timer == null)
            timer = setTimeout(callback, timeout || defaultTimeout);
    };

    _self.delay = function(timeout) {
        timer && clearTimeout(timer);
        timer = setTimeout(callback, timeout || defaultTimeout);
    };
    _self.schedule = _self;

    _self.call = function() {
        this.cancel();
        fcn();
    };

    _self.cancel = function() {
        timer && clearTimeout(timer);
        timer = null;
    };

    _self.isPending = function() {
        return timer;
    };

    return _self;
};
});

ace.define("ace/keyboard/textinput_ios",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/lib/dom","ace/lib/lang","ace/lib/keys"], function(acequire, exports, module) {
"use strict";

var event = acequire("../lib/event");
var useragent = acequire("../lib/useragent");
var dom = acequire("../lib/dom");
var lang = acequire("../lib/lang");
var KEYS = acequire("../lib/keys");
var MODS = KEYS.KEY_MODS;
var BROKEN_SETDATA = useragent.isChrome < 18;
var USE_IE_MIME_TYPE =  useragent.isIE;

var TextInput = function(parentNode, host) {
    var self = this;
    var text = dom.createElement("textarea");
    text.className = useragent.isIOS ? "ace_text-input ace_text-input-ios" : "ace_text-input";

    if (useragent.isTouchPad)
        text.setAttribute("x-palm-disable-auto-cap", true);

    text.setAttribute("wrap", "off");
    text.setAttribute("autocorrect", "off");
    text.setAttribute("autocapitalize", "off");
    text.setAttribute("spellcheck", false);

    text.style.opacity = "0";
    parentNode.insertBefore(text, parentNode.firstChild);

    var PLACEHOLDER = "\n aaaa a\n";

    var copied = false;
    var cut = false;
    var pasted = false;
    var inComposition = false;
    var tempStyle = '';
    var isSelectionEmpty = true;
    try { var isFocused = document.activeElement === text; } catch(e) {}

    event.addListener(text, "blur", function(e) {
        host.onBlur(e);
        isFocused = false;
    });
    event.addListener(text, "focus", function(e) {
        isFocused = true;
        host.onFocus(e);
        resetSelection();
    });
    this.focus = function() {
        if (tempStyle) return text.focus();
        text.style.position = "fixed";
        text.focus();
    };
    this.blur = function() {
        text.blur();
    };
    this.isFocused = function() {
        return isFocused;
    };
    var syncSelection = lang.delayedCall(function() {
        isFocused && resetSelection(isSelectionEmpty);
    });
    var syncValue = lang.delayedCall(function() {
         if (!inComposition) {
            text.value = PLACEHOLDER;
            isFocused && resetSelection();
         }
    });

    function resetSelection(isEmpty) {
        if (inComposition)
            return;
        inComposition = true;

        if (inputHandler) {
            selectionStart = 0;
            selectionEnd = isEmpty ? 0 : text.value.length - 1;
        } else {
            var selectionStart = 4;
            var selectionEnd = 5;
        }
        try {
            text.setSelectionRange(selectionStart, selectionEnd);
        } catch(e) {}

        inComposition = false;
    }

    function resetValue() {
        if (inComposition)
            return;
        text.value = PLACEHOLDER;
        if (useragent.isWebKit)
            syncValue.schedule();
    }

    useragent.isWebKit || host.addEventListener('changeSelection', function() {
        if (host.selection.isEmpty() != isSelectionEmpty) {
            isSelectionEmpty = !isSelectionEmpty;
            syncSelection.schedule();
        }
    });

    resetValue();
    if (isFocused)
        host.onFocus();


    var isAllSelected = function(text) {
        return text.selectionStart === 0 && text.selectionEnd === text.value.length;
    };

    var onSelect = function(e) {
        if (isAllSelected(text)) {
            host.selectAll();
            resetSelection();
        } else if (inputHandler) {
            resetSelection(host.selection.isEmpty());
        }
    };

    var inputHandler = null;
    this.setInputHandler = function(cb) {inputHandler = cb;};
    this.getInputHandler = function() {return inputHandler;};
    var afterContextMenu = false;

    var sendText = function(data) {
        if (text.selectionStart === 4 && text.selectionEnd === 5) {
          return;
        }
        if (inputHandler) {
            data = inputHandler(data);
            inputHandler = null;
        }
        if (pasted) {
            resetSelection();
            if (data)
                host.onPaste(data);
            pasted = false;
        } else if (data == PLACEHOLDER.substr(0) && text.selectionStart === 4) {
            if (afterContextMenu)
                host.execCommand("del", {source: "ace"});
            else // some versions of android do not fire keydown when pressing backspace
                host.execCommand("backspace", {source: "ace"});
        } else if (!copied) {
            if (data.substring(0, 9) == PLACEHOLDER && data.length > PLACEHOLDER.length)
                data = data.substr(9);
            else if (data.substr(0, 4) == PLACEHOLDER.substr(0, 4))
                data = data.substr(4, data.length - PLACEHOLDER.length + 1);
            else if (data.charAt(data.length - 1) == PLACEHOLDER.charAt(0))
                data = data.slice(0, -1);
            if (data == PLACEHOLDER.charAt(0)) {
            } else if (data.charAt(data.length - 1) == PLACEHOLDER.charAt(0))
                data = data.slice(0, -1);

            if (data)
                host.onTextInput(data);
        }
        if (copied) {
          copied = false;
        }
        if (afterContextMenu)
            afterContextMenu = false;
    };
    var onInput = function(e) {
        if (inComposition)
            return;
        var data = text.value;
        sendText(data);
        resetValue();
    };

    var handleClipboardData = function(e, data, forceIEMime) {
        var clipboardData = e.clipboardData || window.clipboardData;
        if (!clipboardData || BROKEN_SETDATA)
            return;
        var mime = USE_IE_MIME_TYPE || forceIEMime ? "Text" : "text/plain";
        try {
            if (data) {
                return clipboardData.setData(mime, data) !== false;
            } else {
                return clipboardData.getData(mime);
            }
        } catch(e) {
            if (!forceIEMime)
                return handleClipboardData(e, data, true);
        }
    };

    var doCopy = function(e, isCut) {
        var data = host.getCopyText();
        if (!data)
            return event.preventDefault(e);

        if (handleClipboardData(e, data)) {
            if (useragent.isIOS) {
                cut = isCut;
                text.value = "\n aa" + data + "a a\n";
                text.setSelectionRange(4, 4 + data.length);
                copied = {
                    value: data
                };
            }
            isCut ? host.onCut() : host.onCopy();
            if (!useragent.isIOS) event.preventDefault(e);
        } else {
            copied = true;
            text.value = data;
            text.select();
            setTimeout(function(){
                copied = false;
                resetValue();
                resetSelection();
                isCut ? host.onCut() : host.onCopy();
            });
        }
    };

    var onCut = function(e) {
        doCopy(e, true);
    };

    var onCopy = function(e) {
        doCopy(e, false);
    };

    var onPaste = function(e) {
        var data = handleClipboardData(e);
        if (typeof data == "string") {
            if (data)
                host.onPaste(data, e);
            if (useragent.isIE)
                setTimeout(resetSelection);
            event.preventDefault(e);
        }
        else {
            text.value = "";
            pasted = true;
        }
    };

    event.addCommandKeyListener(text, host.onCommandKey.bind(host));

    event.addListener(text, "select", onSelect);

    event.addListener(text, "input", onInput);

    event.addListener(text, "cut", onCut);
    event.addListener(text, "copy", onCopy);
    event.addListener(text, "paste", onPaste);
    var onCompositionStart = function(e) {
        if (inComposition || !host.onCompositionStart || host.$readOnly)
            return;
        inComposition = {};
        inComposition.canUndo = host.session.$undoManager;
        host.onCompositionStart();
        setTimeout(onCompositionUpdate, 0);
        host.on("mousedown", onCompositionEnd);
        if (inComposition.canUndo && !host.selection.isEmpty()) {
            host.insert("");
            host.session.markUndoGroup();
            host.selection.clearSelection();
        }
        host.session.markUndoGroup();
    };

    var onCompositionUpdate = function() {
        if (!inComposition || !host.onCompositionUpdate || host.$readOnly)
            return;
        var val = text.value.replace(/\x01/g, "");
        if (inComposition.lastValue === val) return;

        host.onCompositionUpdate(val);
        if (inComposition.lastValue)
            host.undo();
        if (inComposition.canUndo)
            inComposition.lastValue = val;
        if (inComposition.lastValue) {
            var r = host.selection.getRange();
            host.insert(inComposition.lastValue);
            host.session.markUndoGroup();
            inComposition.range = host.selection.getRange();
            host.selection.setRange(r);
            host.selection.clearSelection();
        }
    };

    var onCompositionEnd = function(e) {
        if (!host.onCompositionEnd || host.$readOnly) return;
        var c = inComposition;
        inComposition = false;
        var timer = setTimeout(function() {
            timer = null;
            var str = text.value.replace(/\x01/g, "");
            if (inComposition)
                return;
            else if (str == c.lastValue)
                resetValue();
            else if (!c.lastValue && str) {
                resetValue();
                sendText(str);
            }
        });
        inputHandler = function compositionInputHandler(str) {
            if (timer)
                clearTimeout(timer);
            str = str.replace(/\x01/g, "");
            if (str == c.lastValue)
                return "";
            if (c.lastValue && timer)
                host.undo();
            return str;
        };
        host.onCompositionEnd();
        host.removeListener("mousedown", onCompositionEnd);
        if (e.type == "compositionend" && c.range) {
            host.selection.setRange(c.range);
        }
        var needsOnInput =
            (!!useragent.isChrome && useragent.isChrome >= 53) ||
            (!!useragent.isWebKit && useragent.isWebKit >= 603);

        if (needsOnInput) {
          onInput();
        }
    };



    var syncComposition = lang.delayedCall(onCompositionUpdate, 50);

    event.addListener(text, "compositionstart", onCompositionStart);
    if (useragent.isGecko) {
        event.addListener(text, "text", function(){syncComposition.schedule();});
    } else {
        event.addListener(text, "keyup", function(){syncComposition.schedule();});
        event.addListener(text, "keydown", function(){syncComposition.schedule();});
    }
    event.addListener(text, "compositionend", onCompositionEnd);

    this.getElement = function() {
        return text;
    };

    this.setReadOnly = function(readOnly) {
       text.readOnly = readOnly;
    };

    this.onContextMenu = function(e) {
        afterContextMenu = true;
        resetSelection(host.selection.isEmpty());
        host._emit("nativecontextmenu", {target: host, domEvent: e});
        this.moveToMouse(e, true);
    };

    this.moveToMouse = function(e, bringToFront) {
        if (!tempStyle)
            tempStyle = text.style.cssText;
        text.style.cssText = (bringToFront ? "z-index:100000;" : "")
            + "height:" + text.style.height + ";"
            + (useragent.isIE ? "opacity:0.1;" : "");

        var rect = host.container.getBoundingClientRect();
        var style = dom.computedStyle(host.container);
        var top = rect.top + (parseInt(style.borderTopWidth) || 0);
        var left = rect.left + (parseInt(rect.borderLeftWidth) || 0);
        var maxTop = rect.bottom - top - text.clientHeight -2;
        var move = function(e) {
            text.style.left = e.clientX - left - 2 + "px";
            text.style.top = Math.min(e.clientY - top - 2, maxTop) + "px";
        };
        move(e);

        if (e.type != "mousedown")
            return;

        if (host.renderer.$keepTextAreaAtCursor)
            host.renderer.$keepTextAreaAtCursor = null;

        clearTimeout(closeTimeout);
        if (useragent.isWin)
            event.capture(host.container, move, onContextMenuClose);
    };

    this.onContextMenuClose = onContextMenuClose;
    var closeTimeout;
    function onContextMenuClose() {
        clearTimeout(closeTimeout);
        closeTimeout = setTimeout(function () {
            if (tempStyle) {
                text.style.cssText = tempStyle;
                tempStyle = '';
            }
            if (host.renderer.$keepTextAreaAtCursor == null) {
                host.renderer.$keepTextAreaAtCursor = true;
                host.renderer.$moveTextAreaToCursor();
            }
        }, 0);
    }

    var onContextMenu = function(e) {
        host.textInput.onContextMenu(e);
        onContextMenuClose();
    };
    event.addListener(text, "mouseup", onContextMenu);
    event.addListener(text, "mousedown", function(e) {
        e.preventDefault();
        onContextMenuClose();
    });
    event.addListener(host.renderer.scroller, "contextmenu", onContextMenu);
    event.addListener(text, "contextmenu", onContextMenu);

    if (useragent.isIOS) {
        var typingResetTimeout = null;
        var typing = false;

        parentNode.addEventListener("keydown", function (e) {
            if (typingResetTimeout) clearTimeout(typingResetTimeout);
            typing = true;
        });

        parentNode.addEventListener("keyup", function (e) {
            typingResetTimeout = setTimeout(function () {
                typing = false;
            }, 100);
        });
        var detectArrowKeys = function(e) {
            if (document.activeElement !== text) return;
            if (typing) return;

            if (cut) {
                return setTimeout(function () {
                    cut = false;
                }, 100);
            }
            var selectionStart = text.selectionStart;
            var selectionEnd = text.selectionEnd;
            text.setSelectionRange(4, 5);
            if (selectionStart == selectionEnd) {
                switch (selectionStart) {
                    case 0: host.onCommandKey(null, 0, KEYS.up); break;
                    case 1: host.onCommandKey(null, 0, KEYS.home); break;
                    case 2: host.onCommandKey(null, MODS.option, KEYS.left); break;
                    case 4: host.onCommandKey(null, 0, KEYS.left); break;
                    case 5: host.onCommandKey(null, 0, KEYS.right); break;
                    case 7: host.onCommandKey(null, MODS.option, KEYS.right); break;
                    case 8: host.onCommandKey(null, 0, KEYS.end); break;
                    case 9: host.onCommandKey(null, 0, KEYS.down); break;
                }
            } else {
                switch (selectionEnd) {
                    case 6: host.onCommandKey(null, MODS.shift, KEYS.right); break;
                    case 7: host.onCommandKey(null, MODS.shift | MODS.option, KEYS.right); break;
                    case 8: host.onCommandKey(null, MODS.shift, KEYS.end); break;
                    case 9: host.onCommandKey(null, MODS.shift, KEYS.down); break;
                }
                switch (selectionStart) {
                    case 0: host.onCommandKey(null, MODS.shift, KEYS.up); break;
                    case 1: host.onCommandKey(null, MODS.shift, KEYS.home); break;
                    case 2: host.onCommandKey(null, MODS.shift | MODS.option, KEYS.left); break;
                    case 3: host.onCommandKey(null, MODS.shift, KEYS.left); break;
                }
            }
        };
        document.addEventListener("selectionchange", detectArrowKeys);
        host.on("destroy", function() {
            document.removeEventListener("selectionchange", detectArrowKeys);
        });
    }
};

exports.TextInput = TextInput;
});

ace.define("ace/keyboard/textinput",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/lib/dom","ace/lib/lang","ace/keyboard/textinput_ios"], function(acequire, exports, module) {
"use strict";

var event = acequire("../lib/event");
var useragent = acequire("../lib/useragent");
var dom = acequire("../lib/dom");
var lang = acequire("../lib/lang");
var BROKEN_SETDATA = useragent.isChrome < 18;
var USE_IE_MIME_TYPE =  useragent.isIE;

var TextInputIOS = acequire("./textinput_ios").TextInput;
var TextInput = function(parentNode, host) {
    if (useragent.isIOS)
        return TextInputIOS.call(this, parentNode, host);

    var text = dom.createElement("textarea");
    text.className = "ace_text-input";

    text.setAttribute("wrap", "off");
    text.setAttribute("autocorrect", "off");
    text.setAttribute("autocapitalize", "off");
    text.setAttribute("spellcheck", false);

    text.style.opacity = "0";
    parentNode.insertBefore(text, parentNode.firstChild);

    var PLACEHOLDER = "\u2028\u2028";

    var copied = false;
    var pasted = false;
    var inComposition = false;
    var tempStyle = '';
    var isSelectionEmpty = true;
    try { var isFocused = document.activeElement === text; } catch(e) {}
    
    event.addListener(text, "blur", function(e) {
        host.onBlur(e);
        isFocused = false;
    });
    event.addListener(text, "focus", function(e) {
        isFocused = true;
        host.onFocus(e);
        resetSelection();
    });
    this.focus = function() {
        if (tempStyle) return text.focus();
        var top = text.style.top;
        text.style.position = "fixed";
        text.style.top = "0px";
        text.focus();
        setTimeout(function() {
            text.style.position = "";
            if (text.style.top == "0px")
                text.style.top = top;
        }, 0);
    };
    this.blur = function() {
        text.blur();
    };
    this.isFocused = function() {
        return isFocused;
    };
    var syncSelection = lang.delayedCall(function() {
        isFocused && resetSelection(isSelectionEmpty);
    });
    var syncValue = lang.delayedCall(function() {
         if (!inComposition) {
            text.value = PLACEHOLDER;
            isFocused && resetSelection();
         }
    });

    function resetSelection(isEmpty) {
        if (inComposition)
            return;
        inComposition = true;
        
        if (inputHandler) {
            var selectionStart = 0;
            var selectionEnd = isEmpty ? 0 : text.value.length - 1;
        } else {
            var selectionStart = isEmpty ? 2 : 1;
            var selectionEnd = 2;
        }
        try {
            text.setSelectionRange(selectionStart, selectionEnd);
        } catch(e){}
        
        inComposition = false;
    }

    function resetValue() {
        if (inComposition)
            return;
        text.value = PLACEHOLDER;
        if (useragent.isWebKit)
            syncValue.schedule();
    }

    useragent.isWebKit || host.addEventListener('changeSelection', function() {
        if (host.selection.isEmpty() != isSelectionEmpty) {
            isSelectionEmpty = !isSelectionEmpty;
            syncSelection.schedule();
        }
    });

    resetValue();
    if (isFocused)
        host.onFocus();


    var isAllSelected = function(text) {
        return text.selectionStart === 0 && text.selectionEnd === text.value.length;
    };

    var onSelect = function(e) {
        if (copied) {
            copied = false;
        } else if (isAllSelected(text)) {
            host.selectAll();
            resetSelection();
        } else if (inputHandler) {
            resetSelection(host.selection.isEmpty());
        }
    };

    var inputHandler = null;
    this.setInputHandler = function(cb) {inputHandler = cb;};
    this.getInputHandler = function() {return inputHandler;};
    var afterContextMenu = false;
    
    var sendText = function(data) {
        if (inputHandler) {
            data = inputHandler(data);
            inputHandler = null;
        }
        if (pasted) {
            resetSelection();
            if (data)
                host.onPaste(data);
            pasted = false;
        } else if (data == PLACEHOLDER.charAt(0)) {
            if (afterContextMenu)
                host.execCommand("del", {source: "ace"});
            else // some versions of android do not fire keydown when pressing backspace
                host.execCommand("backspace", {source: "ace"});
        } else {
            if (data.substring(0, 2) == PLACEHOLDER)
                data = data.substr(2);
            else if (data.charAt(0) == PLACEHOLDER.charAt(0))
                data = data.substr(1);
            else if (data.charAt(data.length - 1) == PLACEHOLDER.charAt(0))
                data = data.slice(0, -1);
            if (data.charAt(data.length - 1) == PLACEHOLDER.charAt(0))
                data = data.slice(0, -1);
            
            if (data)
                host.onTextInput(data);
        }
        if (afterContextMenu)
            afterContextMenu = false;
    };
    var onInput = function(e) {
        if (inComposition)
            return;
        var data = text.value;
        sendText(data);
        resetValue();
    };
    
    var handleClipboardData = function(e, data, forceIEMime) {
        var clipboardData = e.clipboardData || window.clipboardData;
        if (!clipboardData || BROKEN_SETDATA)
            return;
        var mime = USE_IE_MIME_TYPE || forceIEMime ? "Text" : "text/plain";
        try {
            if (data) {
                return clipboardData.setData(mime, data) !== false;
            } else {
                return clipboardData.getData(mime);
            }
        } catch(e) {
            if (!forceIEMime)
                return handleClipboardData(e, data, true);
        }
    };

    var doCopy = function(e, isCut) {
        var data = host.getCopyText();
        if (!data)
            return event.preventDefault(e);

        if (handleClipboardData(e, data)) {
            isCut ? host.onCut() : host.onCopy();
            event.preventDefault(e);
        } else {
            copied = true;
            text.value = data;
            text.select();
            setTimeout(function(){
                copied = false;
                resetValue();
                resetSelection();
                isCut ? host.onCut() : host.onCopy();
            });
        }
    };
    
    var onCut = function(e) {
        doCopy(e, true);
    };
    
    var onCopy = function(e) {
        doCopy(e, false);
    };
    
    var onPaste = function(e) {
        var data = handleClipboardData(e);
        if (typeof data == "string") {
            if (data)
                host.onPaste(data, e);
            if (useragent.isIE)
                setTimeout(resetSelection);
            event.preventDefault(e);
        }
        else {
            text.value = "";
            pasted = true;
        }
    };

    event.addCommandKeyListener(text, host.onCommandKey.bind(host));

    event.addListener(text, "select", onSelect);

    event.addListener(text, "input", onInput);

    event.addListener(text, "cut", onCut);
    event.addListener(text, "copy", onCopy);
    event.addListener(text, "paste", onPaste);
    if (!('oncut' in text) || !('oncopy' in text) || !('onpaste' in text)) {
        event.addListener(parentNode, "keydown", function(e) {
            if ((useragent.isMac && !e.metaKey) || !e.ctrlKey)
                return;

            switch (e.keyCode) {
                case 67:
                    onCopy(e);
                    break;
                case 86:
                    onPaste(e);
                    break;
                case 88:
                    onCut(e);
                    break;
            }
        });
    }
    var onCompositionStart = function(e) {
        if (inComposition || !host.onCompositionStart || host.$readOnly) 
            return;
        inComposition = {};
        inComposition.canUndo = host.session.$undoManager;
        host.onCompositionStart();
        setTimeout(onCompositionUpdate, 0);
        host.on("mousedown", onCompositionEnd);
        if (inComposition.canUndo && !host.selection.isEmpty()) {
            host.insert("");
            host.session.markUndoGroup();
            host.selection.clearSelection();
        }
        host.session.markUndoGroup();
    };

    var onCompositionUpdate = function() {
        if (!inComposition || !host.onCompositionUpdate || host.$readOnly)
            return;
        var val = text.value.replace(/\u2028/g, "");
        if (inComposition.lastValue === val) return;
        
        host.onCompositionUpdate(val);
        if (inComposition.lastValue)
            host.undo();
        if (inComposition.canUndo)
            inComposition.lastValue = val;
        if (inComposition.lastValue) {
            var r = host.selection.getRange();
            host.insert(inComposition.lastValue);
            host.session.markUndoGroup();
            inComposition.range = host.selection.getRange();
            host.selection.setRange(r);
            host.selection.clearSelection();
        }
    };

    var onCompositionEnd = function(e) {
        if (!host.onCompositionEnd || host.$readOnly) return;
        var c = inComposition;
        inComposition = false;
        var timer = setTimeout(function() {
            timer = null;
            var str = text.value.replace(/\u2028/g, "");
            if (inComposition)
                return;
            else if (str == c.lastValue)
                resetValue();
            else if (!c.lastValue && str) {
                resetValue();
                sendText(str);
            }
        });
        inputHandler = function compositionInputHandler(str) {
            if (timer)
                clearTimeout(timer);
            str = str.replace(/\u2028/g, "");
            if (str == c.lastValue)
                return "";
            if (c.lastValue && timer)
                host.undo();
            return str;
        };
        host.onCompositionEnd();
        host.removeListener("mousedown", onCompositionEnd);
        if (e.type == "compositionend" && c.range) {
            host.selection.setRange(c.range);
        }
        var needsOnInput =
            (!!useragent.isChrome && useragent.isChrome >= 53) ||
            (!!useragent.isWebKit && useragent.isWebKit >= 603);

        if (needsOnInput) {
          onInput();
        }
    };
    
    

    var syncComposition = lang.delayedCall(onCompositionUpdate, 50);

    event.addListener(text, "compositionstart", onCompositionStart);
    if (useragent.isGecko) {
        event.addListener(text, "text", function(){syncComposition.schedule();});
    } else {
        event.addListener(text, "keyup", function(){syncComposition.schedule();});
        event.addListener(text, "keydown", function(){syncComposition.schedule();});
    }
    event.addListener(text, "compositionend", onCompositionEnd);

    this.getElement = function() {
        return text;
    };

    this.setReadOnly = function(readOnly) {
       text.readOnly = readOnly;
    };

    this.onContextMenu = function(e) {
        afterContextMenu = true;
        resetSelection(host.selection.isEmpty());
        host._emit("nativecontextmenu", {target: host, domEvent: e});
        this.moveToMouse(e, true);
    };
    
    this.moveToMouse = function(e, bringToFront) {
        if (!tempStyle)
            tempStyle = text.style.cssText;
        text.style.cssText = (bringToFront ? "z-index:100000;" : "")
            + "height:" + text.style.height + ";"
            + (useragent.isIE ? "opacity:0.1;" : "");

        var rect = host.container.getBoundingClientRect();
        var style = dom.computedStyle(host.container);
        var top = rect.top + (parseInt(style.borderTopWidth) || 0);
        var left = rect.left + (parseInt(rect.borderLeftWidth) || 0);
        var maxTop = rect.bottom - top - text.clientHeight -2;
        var move = function(e) {
            text.style.left = e.clientX - left - 2 + "px";
            text.style.top = Math.min(e.clientY - top - 2, maxTop) + "px";
        }; 
        move(e);

        if (e.type != "mousedown")
            return;

        if (host.renderer.$keepTextAreaAtCursor)
            host.renderer.$keepTextAreaAtCursor = null;

        clearTimeout(closeTimeout);
        if (useragent.isWin)
            event.capture(host.container, move, onContextMenuClose);
    };

    this.onContextMenuClose = onContextMenuClose;
    var closeTimeout;
    function onContextMenuClose() {
        clearTimeout(closeTimeout);
        closeTimeout = setTimeout(function () {
            if (tempStyle) {
                text.style.cssText = tempStyle;
                tempStyle = '';
            }
            if (host.renderer.$keepTextAreaAtCursor == null) {
                host.renderer.$keepTextAreaAtCursor = true;
                host.renderer.$moveTextAreaToCursor();
            }
        }, 0);
    }

    var onContextMenu = function(e) {
        host.textInput.onContextMenu(e);
        onContextMenuClose();
    };
    event.addListener(text, "mouseup", onContextMenu);
    event.addListener(text, "mousedown", function(e) {
        e.preventDefault();
        onContextMenuClose();
    });
    event.addListener(host.renderer.scroller, "contextmenu", onContextMenu);
    event.addListener(text, "contextmenu", onContextMenu);
};

exports.TextInput = TextInput;
});

ace.define("ace/mouse/default_handlers",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"], function(acequire, exports, module) {
"use strict";

var dom = acequire("../lib/dom");
var event = acequire("../lib/event");
var useragent = acequire("../lib/useragent");

var DRAG_OFFSET = 0; // pixels
var SCROLL_COOLDOWN_T = 250; // milliseconds

function DefaultHandlers(mouseHandler) {
    mouseHandler.$clickSelection = null;

    var editor = mouseHandler.editor;
    editor.setDefaultHandler("mousedown", this.onMouseDown.bind(mouseHandler));
    editor.setDefaultHandler("dblclick", this.onDoubleClick.bind(mouseHandler));
    editor.setDefaultHandler("tripleclick", this.onTripleClick.bind(mouseHandler));
    editor.setDefaultHandler("quadclick", this.onQuadClick.bind(mouseHandler));
    editor.setDefaultHandler("mousewheel", this.onMouseWheel.bind(mouseHandler));
    editor.setDefaultHandler("touchmove", this.onTouchMove.bind(mouseHandler));

    var exports = ["select", "startSelect", "selectEnd", "selectAllEnd", "selectByWordsEnd",
        "selectByLinesEnd", "dragWait", "dragWaitEnd", "focusWait"];

    exports.forEach(function(x) {
        mouseHandler[x] = this[x];
    }, this);

    mouseHandler.selectByLines = this.extendSelectionBy.bind(mouseHandler, "getLineRange");
    mouseHandler.selectByWords = this.extendSelectionBy.bind(mouseHandler, "getWordRange");
}

(function() {

    this.onMouseDown = function(ev) {
        var inSelection = ev.inSelection();
        var pos = ev.getDocumentPosition();
        this.mousedownEvent = ev;
        var editor = this.editor;

        var button = ev.getButton();
        if (button !== 0) {
            var selectionRange = editor.getSelectionRange();
            var selectionEmpty = selectionRange.isEmpty();
            editor.$blockScrolling++;
            if (selectionEmpty || button == 1)
                editor.selection.moveToPosition(pos);
            editor.$blockScrolling--;
            if (button == 2) {
                editor.textInput.onContextMenu(ev.domEvent);
                if (!useragent.isMozilla)
                    ev.preventDefault();
            }
            return;
        }

        this.mousedownEvent.time = Date.now();
        if (inSelection && !editor.isFocused()) {
            editor.focus();
            if (this.$focusTimout && !this.$clickSelection && !editor.inMultiSelectMode) {
                this.setState("focusWait");
                this.captureMouse(ev);
                return;
            }
        }

        this.captureMouse(ev);
        this.startSelect(pos, ev.domEvent._clicks > 1);
        return ev.preventDefault();
    };

    this.startSelect = function(pos, waitForClickSelection) {
        pos = pos || this.editor.renderer.screenToTextCoordinates(this.x, this.y);
        var editor = this.editor;
        editor.$blockScrolling++;
        if (this.mousedownEvent.getShiftKey())
            editor.selection.selectToPosition(pos);
        else if (!waitForClickSelection)
            editor.selection.moveToPosition(pos);
        if (!waitForClickSelection)
            this.select();
        if (editor.renderer.scroller.setCapture) {
            editor.renderer.scroller.setCapture();
        }
        editor.setStyle("ace_selecting");
        this.setState("select");
        editor.$blockScrolling--;
    };

    this.select = function() {
        var anchor, editor = this.editor;
        var cursor = editor.renderer.screenToTextCoordinates(this.x, this.y);
        editor.$blockScrolling++;
        if (this.$clickSelection) {
            var cmp = this.$clickSelection.comparePoint(cursor);

            if (cmp == -1) {
                anchor = this.$clickSelection.end;
            } else if (cmp == 1) {
                anchor = this.$clickSelection.start;
            } else {
                var orientedRange = calcRangeOrientation(this.$clickSelection, cursor);
                cursor = orientedRange.cursor;
                anchor = orientedRange.anchor;
            }
            editor.selection.setSelectionAnchor(anchor.row, anchor.column);
        }
        editor.selection.selectToPosition(cursor);
        editor.$blockScrolling--;
        editor.renderer.scrollCursorIntoView();
    };

    this.extendSelectionBy = function(unitName) {
        var anchor, editor = this.editor;
        var cursor = editor.renderer.screenToTextCoordinates(this.x, this.y);
        var range = editor.selection[unitName](cursor.row, cursor.column);
        editor.$blockScrolling++;
        if (this.$clickSelection) {
            var cmpStart = this.$clickSelection.comparePoint(range.start);
            var cmpEnd = this.$clickSelection.comparePoint(range.end);

            if (cmpStart == -1 && cmpEnd <= 0) {
                anchor = this.$clickSelection.end;
                if (range.end.row != cursor.row || range.end.column != cursor.column)
                    cursor = range.start;
            } else if (cmpEnd == 1 && cmpStart >= 0) {
                anchor = this.$clickSelection.start;
                if (range.start.row != cursor.row || range.start.column != cursor.column)
                    cursor = range.end;
            } else if (cmpStart == -1 && cmpEnd == 1) {
                cursor = range.end;
                anchor = range.start;
            } else {
                var orientedRange = calcRangeOrientation(this.$clickSelection, cursor);
                cursor = orientedRange.cursor;
                anchor = orientedRange.anchor;
            }
            editor.selection.setSelectionAnchor(anchor.row, anchor.column);
        }
        editor.selection.selectToPosition(cursor);
        editor.$blockScrolling--;
        editor.renderer.scrollCursorIntoView();
    };

    this.selectEnd =
    this.selectAllEnd =
    this.selectByWordsEnd =
    this.selectByLinesEnd = function() {
        this.$clickSelection = null;
        this.editor.unsetStyle("ace_selecting");
        if (this.editor.renderer.scroller.releaseCapture) {
            this.editor.renderer.scroller.releaseCapture();
        }
    };

    this.focusWait = function() {
        var distance = calcDistance(this.mousedownEvent.x, this.mousedownEvent.y, this.x, this.y);
        var time = Date.now();

        if (distance > DRAG_OFFSET || time - this.mousedownEvent.time > this.$focusTimout)
            this.startSelect(this.mousedownEvent.getDocumentPosition());
    };

    this.onDoubleClick = function(ev) {
        var pos = ev.getDocumentPosition();
        var editor = this.editor;
        var session = editor.session;

        var range = session.getBracketRange(pos);
        if (range) {
            if (range.isEmpty()) {
                range.start.column--;
                range.end.column++;
            }
            this.setState("select");
        } else {
            range = editor.selection.getWordRange(pos.row, pos.column);
            this.setState("selectByWords");
        }
        this.$clickSelection = range;
        this.select();
    };

    this.onTripleClick = function(ev) {
        var pos = ev.getDocumentPosition();
        var editor = this.editor;

        this.setState("selectByLines");
        var range = editor.getSelectionRange();
        if (range.isMultiLine() && range.contains(pos.row, pos.column)) {
            this.$clickSelection = editor.selection.getLineRange(range.start.row);
            this.$clickSelection.end = editor.selection.getLineRange(range.end.row).end;
        } else {
            this.$clickSelection = editor.selection.getLineRange(pos.row);
        }
        this.select();
    };

    this.onQuadClick = function(ev) {
        var editor = this.editor;

        editor.selectAll();
        this.$clickSelection = editor.getSelectionRange();
        this.setState("selectAll");
    };

    this.onMouseWheel = function(ev) {
        if (ev.getAccelKey())
            return;
        if (ev.getShiftKey() && ev.wheelY && !ev.wheelX) {
            ev.wheelX = ev.wheelY;
            ev.wheelY = 0;
        }
        
        var editor = this.editor;

        if (!this.$lastScroll)
            this.$lastScroll = { t: 0, vx: 0, vy: 0, allowed: 0 };

        var prevScroll = this.$lastScroll;
        var t = ev.domEvent.timeStamp;
        var dt = t - prevScroll.t;
        var vx = ev.wheelX / dt;
        var vy = ev.wheelY / dt;
        if (dt < SCROLL_COOLDOWN_T) {
            vx = (vx + prevScroll.vx) / 2;
            vy = (vy + prevScroll.vy) / 2;
        }

        var direction = Math.abs(vx / vy);

        var canScroll = false;
        if (direction >= 1 && editor.renderer.isScrollableBy(ev.wheelX * ev.speed, 0))
            canScroll = true;
        if (direction <= 1 && editor.renderer.isScrollableBy(0, ev.wheelY * ev.speed))
            canScroll = true;

        if (canScroll) {
            prevScroll.allowed = t;
        } else if (t - prevScroll.allowed < SCROLL_COOLDOWN_T) {
            var isSlower = Math.abs(vx) <= 1.1 * Math.abs(prevScroll.vx)
                && Math.abs(vy) <= 1.1 * Math.abs(prevScroll.vy);
            if (isSlower) {
                canScroll = true;
                prevScroll.allowed = t;
            }
            else {
                prevScroll.allowed = 0;
            }
        }

        prevScroll.t = t;
        prevScroll.vx = vx;
        prevScroll.vy = vy;

        if (canScroll) {
            editor.renderer.scrollBy(ev.wheelX * ev.speed, ev.wheelY * ev.speed);
            return ev.stop();
        }
    };

    this.onTouchMove = function(ev) {
        this.editor._emit("mousewheel", ev);
    };

}).call(DefaultHandlers.prototype);

exports.DefaultHandlers = DefaultHandlers;

function calcDistance(ax, ay, bx, by) {
    return Math.sqrt(Math.pow(bx - ax, 2) + Math.pow(by - ay, 2));
}

function calcRangeOrientation(range, cursor) {
    if (range.start.row == range.end.row)
        var cmp = 2 * cursor.column - range.start.column - range.end.column;
    else if (range.start.row == range.end.row - 1 && !range.start.column && !range.end.column)
        var cmp = cursor.column - 4;
    else
        var cmp = 2 * cursor.row - range.start.row - range.end.row;

    if (cmp < 0)
        return {cursor: range.start, anchor: range.end};
    else
        return {cursor: range.end, anchor: range.start};
}

});

ace.define("ace/tooltip",["require","exports","module","ace/lib/oop","ace/lib/dom"], function(acequire, exports, module) {
"use strict";

var oop = acequire("./lib/oop");
var dom = acequire("./lib/dom");
function Tooltip (parentNode) {
    this.isOpen = false;
    this.$element = null;
    this.$parentNode = parentNode;
}

(function() {
    this.$init = function() {
        this.$element = dom.createElement("div");
        this.$element.className = "ace_tooltip";
        this.$element.style.display = "none";
        this.$parentNode.appendChild(this.$element);
        return this.$element;
    };
    this.getElement = function() {
        return this.$element || this.$init();
    };
    this.setText = function(text) {
        dom.setInnerText(this.getElement(), text);
    };
    this.setHtml = function(html) {
        this.getElement().innerHTML = html;
    };
    this.setPosition = function(x, y) {
        this.getElement().style.left = x + "px";
        this.getElement().style.top = y + "px";
    };
    this.setClassName = function(className) {
        dom.addCssClass(this.getElement(), className);
    };
    this.show = function(text, x, y) {
        if (text != null)
            this.setText(text);
        if (x != null && y != null)
            this.setPosition(x, y);
        if (!this.isOpen) {
            this.getElement().style.display = "block";
            this.isOpen = true;
        }
    };

    this.hide = function() {
        if (this.isOpen) {
            this.getElement().style.display = "none";
            this.isOpen = false;
        }
    };
    this.getHeight = function() {
        return this.getElement().offsetHeight;
    };
    this.getWidth = function() {
        return this.getElement().offsetWidth;
    };

    this.destroy = function() {
        this.isOpen = false;
        if (this.$element && this.$element.parentNode) {
            this.$element.parentNode.removeChild(this.$element);
        }
    };

}).call(Tooltip.prototype);

exports.Tooltip = Tooltip;
});

ace.define("ace/mouse/default_gutter_handler",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event","ace/tooltip"], function(acequire, exports, module) {
"use strict";
var dom = acequire("../lib/dom");
var oop = acequire("../lib/oop");
var event = acequire("../lib/event");
var Tooltip = acequire("../tooltip").Tooltip;

function GutterHandler(mouseHandler) {
    var editor = mouseHandler.editor;
    var gutter = editor.renderer.$gutterLayer;
    var tooltip = new GutterTooltip(editor.container);

    mouseHandler.editor.setDefaultHandler("guttermousedown", function(e) {
        if (!editor.isFocused() || e.getButton() != 0)
            return;
        var gutterRegion = gutter.getRegion(e);

        if (gutterRegion == "foldWidgets")
            return;

        var row = e.getDocumentPosition().row;
        var selection = editor.session.selection;

        if (e.getShiftKey())
            selection.selectTo(row, 0);
        else {
            if (e.domEvent.detail == 2) {
                editor.selectAll();
                return e.preventDefault();
            }
            mouseHandler.$clickSelection = editor.selection.getLineRange(row);
        }
        mouseHandler.setState("selectByLines");
        mouseHandler.captureMouse(e);
        return e.preventDefault();
    });


    var tooltipTimeout, mouseEvent, tooltipAnnotation;

    function showTooltip() {
        var row = mouseEvent.getDocumentPosition().row;
        var annotation = gutter.$annotations[row];
        if (!annotation)
            return hideTooltip();

        var maxRow = editor.session.getLength();
        if (row == maxRow) {
            var screenRow = editor.renderer.pixelToScreenCoordinates(0, mouseEvent.y).row;
            var pos = mouseEvent.$pos;
            if (screenRow > editor.session.documentToScreenRow(pos.row, pos.column))
                return hideTooltip();
        }

        if (tooltipAnnotation == annotation)
            return;
        tooltipAnnotation = annotation.text.join("<br/>");

        tooltip.setHtml(tooltipAnnotation);
        tooltip.show();
        editor._signal("showGutterTooltip", tooltip);
        editor.on("mousewheel", hideTooltip);

        if (mouseHandler.$tooltipFollowsMouse) {
            moveTooltip(mouseEvent);
        } else {
            var gutterElement = mouseEvent.domEvent.target;
            var rect = gutterElement.getBoundingClientRect();
            var style = tooltip.getElement().style;
            style.left = rect.right + "px";
            style.top = rect.bottom + "px";
        }
    }

    function hideTooltip() {
        if (tooltipTimeout)
            tooltipTimeout = clearTimeout(tooltipTimeout);
        if (tooltipAnnotation) {
            tooltip.hide();
            tooltipAnnotation = null;
            editor._signal("hideGutterTooltip", tooltip);
            editor.removeEventListener("mousewheel", hideTooltip);
        }
    }

    function moveTooltip(e) {
        tooltip.setPosition(e.x, e.y);
    }

    mouseHandler.editor.setDefaultHandler("guttermousemove", function(e) {
        var target = e.domEvent.target || e.domEvent.srcElement;
        if (dom.hasCssClass(target, "ace_fold-widget"))
            return hideTooltip();

        if (tooltipAnnotation && mouseHandler.$tooltipFollowsMouse)
            moveTooltip(e);

        mouseEvent = e;
        if (tooltipTimeout)
            return;
        tooltipTimeout = setTimeout(function() {
            tooltipTimeout = null;
            if (mouseEvent && !mouseHandler.isMousePressed)
                showTooltip();
            else
                hideTooltip();
        }, 50);
    });

    event.addListener(editor.renderer.$gutter, "mouseout", function(e) {
        mouseEvent = null;
        if (!tooltipAnnotation || tooltipTimeout)
            return;

        tooltipTimeout = setTimeout(function() {
            tooltipTimeout = null;
            hideTooltip();
        }, 50);
    });
    
    editor.on("changeSession", hideTooltip);
}

function GutterTooltip(parentNode) {
    Tooltip.call(this, parentNode);
}

oop.inherits(GutterTooltip, Tooltip);

(function(){
    this.setPosition = function(x, y) {
        var windowWidth = window.innerWidth || document.documentElement.clientWidth;
        var windowHeight = window.innerHeight || document.documentElement.clientHeight;
        var width = this.getWidth();
        var height = this.getHeight();
        x += 15;
        y += 15;
        if (x + width > windowWidth) {
            x -= (x + width) - windowWidth;
        }
        if (y + height > windowHeight) {
            y -= 20 + height;
        }
        Tooltip.prototype.setPosition.call(this, x, y);
    };

}).call(GutterTooltip.prototype);



exports.GutterHandler = GutterHandler;

});

ace.define("ace/mouse/mouse_event",["require","exports","module","ace/lib/event","ace/lib/useragent"], function(acequire, exports, module) {
"use strict";

var event = acequire("../lib/event");
var useragent = acequire("../lib/useragent");
var MouseEvent = exports.MouseEvent = function(domEvent, editor) {
    this.domEvent = domEvent;
    this.editor = editor;
    
    this.x = this.clientX = domEvent.clientX;
    this.y = this.clientY = domEvent.clientY;

    this.$pos = null;
    this.$inSelection = null;
    
    this.propagationStopped = false;
    this.defaultPrevented = false;
};

(function() {  
    
    this.stopPropagation = function() {
        event.stopPropagation(this.domEvent);
        this.propagationStopped = true;
    };
    
    this.preventDefault = function() {
        event.preventDefault(this.domEvent);
        this.defaultPrevented = true;
    };
    
    this.stop = function() {
        this.stopPropagation();
        this.preventDefault();
    };
    this.getDocumentPosition = function() {
        if (this.$pos)
            return this.$pos;
        
        this.$pos = this.editor.renderer.screenToTextCoordinates(this.clientX, this.clientY);
        return this.$pos;
    };
    this.inSelection = function() {
        if (this.$inSelection !== null)
            return this.$inSelection;
            
        var editor = this.editor;
        

        var selectionRange = editor.getSelectionRange();
        if (selectionRange.isEmpty())
            this.$inSelection = false;
        else {
            var pos = this.getDocumentPosition();
            this.$inSelection = selectionRange.contains(pos.row, pos.column);
        }

        return this.$inSelection;
    };
    this.getButton = function() {
        return event.getButton(this.domEvent);
    };
    this.getShiftKey = function() {
        return this.domEvent.shiftKey;
    };
    
    this.getAccelKey = useragent.isMac
        ? function() { return this.domEvent.metaKey; }
        : function() { return this.domEvent.ctrlKey; };
    
}).call(MouseEvent.prototype);

});

ace.define("ace/mouse/dragdrop_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"], function(acequire, exports, module) {
"use strict";

var dom = acequire("../lib/dom");
var event = acequire("../lib/event");
var useragent = acequire("../lib/useragent");

var AUTOSCROLL_DELAY = 200;
var SCROLL_CURSOR_DELAY = 200;
var SCROLL_CURSOR_HYSTERESIS = 5;

function DragdropHandler(mouseHandler) {

    var editor = mouseHandler.editor;

    var blankImage = dom.createElement("img");
    blankImage.src = "data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==";
    if (useragent.isOpera)
        blankImage.style.cssText = "width:1px;height:1px;position:fixed;top:0;left:0;z-index:2147483647;opacity:0;";

    var exports = ["dragWait", "dragWaitEnd", "startDrag", "dragReadyEnd", "onMouseDrag"];

     exports.forEach(function(x) {
         mouseHandler[x] = this[x];
    }, this);
    editor.addEventListener("mousedown", this.onMouseDown.bind(mouseHandler));


    var mouseTarget = editor.container;
    var dragSelectionMarker, x, y;
    var timerId, range;
    var dragCursor, counter = 0;
    var dragOperation;
    var isInternal;
    var autoScrollStartTime;
    var cursorMovedTime;
    var cursorPointOnCaretMoved;

    this.onDragStart = function(e) {
        if (this.cancelDrag || !mouseTarget.draggable) {
            var self = this;
            setTimeout(function(){
                self.startSelect();
                self.captureMouse(e);
            }, 0);
            return e.preventDefault();
        }
        range = editor.getSelectionRange();

        var dataTransfer = e.dataTransfer;
        dataTransfer.effectAllowed = editor.getReadOnly() ? "copy" : "copyMove";
        if (useragent.isOpera) {
            editor.container.appendChild(blankImage);
            blankImage.scrollTop = 0;
        }
        dataTransfer.setDragImage && dataTransfer.setDragImage(blankImage, 0, 0);
        if (useragent.isOpera) {
            editor.container.removeChild(blankImage);
        }
        dataTransfer.clearData();
        dataTransfer.setData("Text", editor.session.getTextRange());

        isInternal = true;
        this.setState("drag");
    };

    this.onDragEnd = function(e) {
        mouseTarget.draggable = false;
        isInternal = false;
        this.setState(null);
        if (!editor.getReadOnly()) {
            var dropEffect = e.dataTransfer.dropEffect;
            if (!dragOperation && dropEffect == "move")
                editor.session.remove(editor.getSelectionRange());
            editor.renderer.$cursorLayer.setBlinking(true);
        }
        this.editor.unsetStyle("ace_dragging");
        this.editor.renderer.setCursorStyle("");
    };

    this.onDragEnter = function(e) {
        if (editor.getReadOnly() || !canAccept(e.dataTransfer))
            return;
        x = e.clientX;
        y = e.clientY;
        if (!dragSelectionMarker)
            addDragMarker();
        counter++;
        e.dataTransfer.dropEffect = dragOperation = getDropEffect(e);
        return event.preventDefault(e);
    };

    this.onDragOver = function(e) {
        if (editor.getReadOnly() || !canAccept(e.dataTransfer))
            return;
        x = e.clientX;
        y = e.clientY;
        if (!dragSelectionMarker) {
            addDragMarker();
            counter++;
        }
        if (onMouseMoveTimer !== null)
            onMouseMoveTimer = null;

        e.dataTransfer.dropEffect = dragOperation = getDropEffect(e);
        return event.preventDefault(e);
    };

    this.onDragLeave = function(e) {
        counter--;
        if (counter <= 0 && dragSelectionMarker) {
            clearDragMarker();
            dragOperation = null;
            return event.preventDefault(e);
        }
    };

    this.onDrop = function(e) {
        if (!dragCursor)
            return;
        var dataTransfer = e.dataTransfer;
        if (isInternal) {
            switch (dragOperation) {
                case "move":
                    if (range.contains(dragCursor.row, dragCursor.column)) {
                        range = {
                            start: dragCursor,
                            end: dragCursor
                        };
                    } else {
                        range = editor.moveText(range, dragCursor);
                    }
                    break;
                case "copy":
                    range = editor.moveText(range, dragCursor, true);
                    break;
            }
        } else {
            var dropData = dataTransfer.getData('Text');
            range = {
                start: dragCursor,
                end: editor.session.insert(dragCursor, dropData)
            };
            editor.focus();
            dragOperation = null;
        }
        clearDragMarker();
        return event.preventDefault(e);
    };

    event.addListener(mouseTarget, "dragstart", this.onDragStart.bind(mouseHandler));
    event.addListener(mouseTarget, "dragend", this.onDragEnd.bind(mouseHandler));
    event.addListener(mouseTarget, "dragenter", this.onDragEnter.bind(mouseHandler));
    event.addListener(mouseTarget, "dragover", this.onDragOver.bind(mouseHandler));
    event.addListener(mouseTarget, "dragleave", this.onDragLeave.bind(mouseHandler));
    event.addListener(mouseTarget, "drop", this.onDrop.bind(mouseHandler));

    function scrollCursorIntoView(cursor, prevCursor) {
        var now = Date.now();
        var vMovement = !prevCursor || cursor.row != prevCursor.row;
        var hMovement = !prevCursor || cursor.column != prevCursor.column;
        if (!cursorMovedTime || vMovement || hMovement) {
            editor.$blockScrolling += 1;
            editor.moveCursorToPosition(cursor);
            editor.$blockScrolling -= 1;
            cursorMovedTime = now;
            cursorPointOnCaretMoved = {x: x, y: y};
        } else {
            var distance = calcDistance(cursorPointOnCaretMoved.x, cursorPointOnCaretMoved.y, x, y);
            if (distance > SCROLL_CURSOR_HYSTERESIS) {
                cursorMovedTime = null;
            } else if (now - cursorMovedTime >= SCROLL_CURSOR_DELAY) {
                editor.renderer.scrollCursorIntoView();
                cursorMovedTime = null;
            }
        }
    }

    function autoScroll(cursor, prevCursor) {
        var now = Date.now();
        var lineHeight = editor.renderer.layerConfig.lineHeight;
        var characterWidth = editor.renderer.layerConfig.characterWidth;
        var editorRect = editor.renderer.scroller.getBoundingClientRect();
        var offsets = {
           x: {
               left: x - editorRect.left,
               right: editorRect.right - x
           },
           y: {
               top: y - editorRect.top,
               bottom: editorRect.bottom - y
           }
        };
        var nearestXOffset = Math.min(offsets.x.left, offsets.x.right);
        var nearestYOffset = Math.min(offsets.y.top, offsets.y.bottom);
        var scrollCursor = {row: cursor.row, column: cursor.column};
        if (nearestXOffset / characterWidth <= 2) {
            scrollCursor.column += (offsets.x.left < offsets.x.right ? -3 : +2);
        }
        if (nearestYOffset / lineHeight <= 1) {
            scrollCursor.row += (offsets.y.top < offsets.y.bottom ? -1 : +1);
        }
        var vScroll = cursor.row != scrollCursor.row;
        var hScroll = cursor.column != scrollCursor.column;
        var vMovement = !prevCursor || cursor.row != prevCursor.row;
        if (vScroll || (hScroll && !vMovement)) {
            if (!autoScrollStartTime)
                autoScrollStartTime = now;
            else if (now - autoScrollStartTime >= AUTOSCROLL_DELAY)
                editor.renderer.scrollCursorIntoView(scrollCursor);
        } else {
            autoScrollStartTime = null;
        }
    }

    function onDragInterval() {
        var prevCursor = dragCursor;
        dragCursor = editor.renderer.screenToTextCoordinates(x, y);
        scrollCursorIntoView(dragCursor, prevCursor);
        autoScroll(dragCursor, prevCursor);
    }

    function addDragMarker() {
        range = editor.selection.toOrientedRange();
        dragSelectionMarker = editor.session.addMarker(range, "ace_selection", editor.getSelectionStyle());
        editor.clearSelection();
        if (editor.isFocused())
            editor.renderer.$cursorLayer.setBlinking(false);
        clearInterval(timerId);
        onDragInterval();
        timerId = setInterval(onDragInterval, 20);
        counter = 0;
        event.addListener(document, "mousemove", onMouseMove);
    }

    function clearDragMarker() {
        clearInterval(timerId);
        editor.session.removeMarker(dragSelectionMarker);
        dragSelectionMarker = null;
        editor.$blockScrolling += 1;
        editor.selection.fromOrientedRange(range);
        editor.$blockScrolling -= 1;
        if (editor.isFocused() && !isInternal)
            editor.renderer.$cursorLayer.setBlinking(!editor.getReadOnly());
        range = null;
        dragCursor = null;
        counter = 0;
        autoScrollStartTime = null;
        cursorMovedTime = null;
        event.removeListener(document, "mousemove", onMouseMove);
    }
    var onMouseMoveTimer = null;
    function onMouseMove() {
        if (onMouseMoveTimer == null) {
            onMouseMoveTimer = setTimeout(function() {
                if (onMouseMoveTimer != null && dragSelectionMarker)
                    clearDragMarker();
            }, 20);
        }
    }

    function canAccept(dataTransfer) {
        var types = dataTransfer.types;
        return !types || Array.prototype.some.call(types, function(type) {
            return type == 'text/plain' || type == 'Text';
        });
    }

    function getDropEffect(e) {
        var copyAllowed = ['copy', 'copymove', 'all', 'uninitialized'];
        var moveAllowed = ['move', 'copymove', 'linkmove', 'all', 'uninitialized'];

        var copyModifierState = useragent.isMac ? e.altKey : e.ctrlKey;
        var effectAllowed = "uninitialized";
        try {
            effectAllowed = e.dataTransfer.effectAllowed.toLowerCase();
        } catch (e) {}
        var dropEffect = "none";

        if (copyModifierState && copyAllowed.indexOf(effectAllowed) >= 0)
            dropEffect = "copy";
        else if (moveAllowed.indexOf(effectAllowed) >= 0)
            dropEffect = "move";
        else if (copyAllowed.indexOf(effectAllowed) >= 0)
            dropEffect = "copy";

        return dropEffect;
    }
}

(function() {

    this.dragWait = function() {
        var interval = Date.now() - this.mousedownEvent.time;
        if (interval > this.editor.getDragDelay())
            this.startDrag();
    };

    this.dragWaitEnd = function() {
        var target = this.editor.container;
        target.draggable = false;
        this.startSelect(this.mousedownEvent.getDocumentPosition());
        this.selectEnd();
    };

    this.dragReadyEnd = function(e) {
        this.editor.renderer.$cursorLayer.setBlinking(!this.editor.getReadOnly());
        this.editor.unsetStyle("ace_dragging");
        this.editor.renderer.setCursorStyle("");
        this.dragWaitEnd();
    };

    this.startDrag = function(){
        this.cancelDrag = false;
        var editor = this.editor;
        var target = editor.container;
        target.draggable = true;
        editor.renderer.$cursorLayer.setBlinking(false);
        editor.setStyle("ace_dragging");
        var cursorStyle = useragent.isWin ? "default" : "move";
        editor.renderer.setCursorStyle(cursorStyle);
        this.setState("dragReady");
    };

    this.onMouseDrag = function(e) {
        var target = this.editor.container;
        if (useragent.isIE && this.state == "dragReady") {
            var distance = calcDistance(this.mousedownEvent.x, this.mousedownEvent.y, this.x, this.y);
            if (distance > 3)
                target.dragDrop();
        }
        if (this.state === "dragWait") {
            var distance = calcDistance(this.mousedownEvent.x, this.mousedownEvent.y, this.x, this.y);
            if (distance > 0) {
                target.draggable = false;
                this.startSelect(this.mousedownEvent.getDocumentPosition());
            }
        }
    };

    this.onMouseDown = function(e) {
        if (!this.$dragEnabled)
            return;
        this.mousedownEvent = e;
        var editor = this.editor;

        var inSelection = e.inSelection();
        var button = e.getButton();
        var clickCount = e.domEvent.detail || 1;
        if (clickCount === 1 && button === 0 && inSelection) {
            if (e.editor.inMultiSelectMode && (e.getAccelKey() || e.getShiftKey()))
                return;
            this.mousedownEvent.time = Date.now();
            var eventTarget = e.domEvent.target || e.domEvent.srcElement;
            if ("unselectable" in eventTarget)
                eventTarget.unselectable = "on";
            if (editor.getDragDelay()) {
                if (useragent.isWebKit) {
                    this.cancelDrag = true;
                    var mouseTarget = editor.container;
                    mouseTarget.draggable = true;
                }
                this.setState("dragWait");
            } else {
                this.startDrag();
            }
            this.captureMouse(e, this.onMouseDrag.bind(this));
            e.defaultPrevented = true;
        }
    };

}).call(DragdropHandler.prototype);


function calcDistance(ax, ay, bx, by) {
    return Math.sqrt(Math.pow(bx - ax, 2) + Math.pow(by - ay, 2));
}

exports.DragdropHandler = DragdropHandler;

});

ace.define("ace/lib/net",["require","exports","module","ace/lib/dom"], function(acequire, exports, module) {
"use strict";
var dom = acequire("./dom");

exports.get = function (url, callback) {
    var xhr = new XMLHttpRequest();
    xhr.open('GET', url, true);
    xhr.onreadystatechange = function () {
        if (xhr.readyState === 4) {
            callback(xhr.responseText);
        }
    };
    xhr.send(null);
};

exports.loadScript = function(path, callback) {
    var head = dom.getDocumentHead();
    var s = document.createElement('script');

    s.src = path;
    head.appendChild(s);

    s.onload = s.onreadystatechange = function(_, isAbort) {
        if (isAbort || !s.readyState || s.readyState == "loaded" || s.readyState == "complete") {
            s = s.onload = s.onreadystatechange = null;
            if (!isAbort)
                callback();
        }
    };
};
exports.qualifyURL = function(url) {
    var a = document.createElement('a');
    a.href = url;
    return a.href;
};

});

ace.define("ace/lib/event_emitter",["require","exports","module"], function(acequire, exports, module) {
"use strict";

var EventEmitter = {};
var stopPropagation = function() { this.propagationStopped = true; };
var preventDefault = function() { this.defaultPrevented = true; };

EventEmitter._emit =
EventEmitter._dispatchEvent = function(eventName, e) {
    this._eventRegistry || (this._eventRegistry = {});
    this._defaultHandlers || (this._defaultHandlers = {});

    var listeners = this._eventRegistry[eventName] || [];
    var defaultHandler = this._defaultHandlers[eventName];
    if (!listeners.length && !defaultHandler)
        return;

    if (typeof e != "object" || !e)
        e = {};

    if (!e.type)
        e.type = eventName;
    if (!e.stopPropagation)
        e.stopPropagation = stopPropagation;
    if (!e.preventDefault)
        e.preventDefault = preventDefault;

    listeners = listeners.slice();
    for (var i=0; i<listeners.length; i++) {
        listeners[i](e, this);
        if (e.propagationStopped)
            break;
    }
    
    if (defaultHandler && !e.defaultPrevented)
        return defaultHandler(e, this);
};


EventEmitter._signal = function(eventName, e) {
    var listeners = (this._eventRegistry || {})[eventName];
    if (!listeners)
        return;
    listeners = listeners.slice();
    for (var i=0; i<listeners.length; i++)
        listeners[i](e, this);
};

EventEmitter.once = function(eventName, callback) {
    var _self = this;
    callback && this.addEventListener(eventName, function newCallback() {
        _self.removeEventListener(eventName, newCallback);
        callback.apply(null, arguments);
    });
};


EventEmitter.setDefaultHandler = function(eventName, callback) {
    var handlers = this._defaultHandlers;
    if (!handlers)
        handlers = this._defaultHandlers = {_disabled_: {}};
    
    if (handlers[eventName]) {
        var old = handlers[eventName];
        var disabled = handlers._disabled_[eventName];
        if (!disabled)
            handlers._disabled_[eventName] = disabled = [];
        disabled.push(old);
        var i = disabled.indexOf(callback);
        if (i != -1) 
            disabled.splice(i, 1);
    }
    handlers[eventName] = callback;
};
EventEmitter.removeDefaultHandler = function(eventName, callback) {
    var handlers = this._defaultHandlers;
    if (!handlers)
        return;
    var disabled = handlers._disabled_[eventName];
    
    if (handlers[eventName] == callback) {
        var old = handlers[eventName];
        if (disabled)
            this.setDefaultHandler(eventName, disabled.pop());
    } else if (disabled) {
        var i = disabled.indexOf(callback);
        if (i != -1)
            disabled.splice(i, 1);
    }
};

EventEmitter.on =
EventEmitter.addEventListener = function(eventName, callback, capturing) {
    this._eventRegistry = this._eventRegistry || {};

    var listeners = this._eventRegistry[eventName];
    if (!listeners)
        listeners = this._eventRegistry[eventName] = [];

    if (listeners.indexOf(callback) == -1)
        listeners[capturing ? "unshift" : "push"](callback);
    return callback;
};

EventEmitter.off =
EventEmitter.removeListener =
EventEmitter.removeEventListener = function(eventName, callback) {
    this._eventRegistry = this._eventRegistry || {};

    var listeners = this._eventRegistry[eventName];
    if (!listeners)
        return;

    var index = listeners.indexOf(callback);
    if (index !== -1)
        listeners.splice(index, 1);
};

EventEmitter.removeAllListeners = function(eventName) {
    if (this._eventRegistry) this._eventRegistry[eventName] = [];
};

exports.EventEmitter = EventEmitter;

});

ace.define("ace/lib/app_config",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"], function(acequire, exports, module) {
"no use strict";

var oop = acequire("./oop");
var EventEmitter = acequire("./event_emitter").EventEmitter;

var optionsProvider = {
    setOptions: function(optList) {
        Object.keys(optList).forEach(function(key) {
            this.setOption(key, optList[key]);
        }, this);
    },
    getOptions: function(optionNames) {
        var result = {};
        if (!optionNames) {
            optionNames = Object.keys(this.$options);
        } else if (!Array.isArray(optionNames)) {
            result = optionNames;
            optionNames = Object.keys(result);
        }
        optionNames.forEach(function(key) {
            result[key] = this.getOption(key);
        }, this);
        return result;
    },
    setOption: function(name, value) {
        if (this["$" + name] === value)
            return;
        var opt = this.$options[name];
        if (!opt) {
            return warn('misspelled option "' + name + '"');
        }
        if (opt.forwardTo)
            return this[opt.forwardTo] && this[opt.forwardTo].setOption(name, value);

        if (!opt.handlesSet)
            this["$" + name] = value;
        if (opt && opt.set)
            opt.set.call(this, value);
    },
    getOption: function(name) {
        var opt = this.$options[name];
        if (!opt) {
            return warn('misspelled option "' + name + '"');
        }
        if (opt.forwardTo)
            return this[opt.forwardTo] && this[opt.forwardTo].getOption(name);
        return opt && opt.get ? opt.get.call(this) : this["$" + name];
    }
};

function warn(message) {
    if (typeof console != "undefined" && console.warn)
        console.warn.apply(console, arguments);
}

function reportError(msg, data) {
    var e = new Error(msg);
    e.data = data;
    if (typeof console == "object" && console.error)
        console.error(e);
    setTimeout(function() { throw e; });
}

var AppConfig = function() {
    this.$defaultOptions = {};
};

(function() {
    oop.implement(this, EventEmitter);
    this.defineOptions = function(obj, path, options) {
        if (!obj.$options)
            this.$defaultOptions[path] = obj.$options = {};

        Object.keys(options).forEach(function(key) {
            var opt = options[key];
            if (typeof opt == "string")
                opt = {forwardTo: opt};

            opt.name || (opt.name = key);
            obj.$options[opt.name] = opt;
            if ("initialValue" in opt)
                obj["$" + opt.name] = opt.initialValue;
        });
        oop.implement(obj, optionsProvider);

        return this;
    };

    this.resetOptions = function(obj) {
        Object.keys(obj.$options).forEach(function(key) {
            var opt = obj.$options[key];
            if ("value" in opt)
                obj.setOption(key, opt.value);
        });
    };

    this.setDefaultValue = function(path, name, value) {
        var opts = this.$defaultOptions[path] || (this.$defaultOptions[path] = {});
        if (opts[name]) {
            if (opts.forwardTo)
                this.setDefaultValue(opts.forwardTo, name, value);
            else
                opts[name].value = value;
        }
    };

    this.setDefaultValues = function(path, optionHash) {
        Object.keys(optionHash).forEach(function(key) {
            this.setDefaultValue(path, key, optionHash[key]);
        }, this);
    };
    
    this.warn = warn;
    this.reportError = reportError;
    
}).call(AppConfig.prototype);

exports.AppConfig = AppConfig;

});

ace.define("ace/config",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/lib/net","ace/lib/app_config"], function(acequire, exports, module) {
"no use strict";

var lang = acequire("./lib/lang");
var oop = acequire("./lib/oop");
var net = acequire("./lib/net");
var AppConfig = acequire("./lib/app_config").AppConfig;

module.exports = exports = new AppConfig();

var global = (function() {
    return this || typeof window != "undefined" && window;
})();

var options = {
    packaged: false,
    workerPath: null,
    modePath: null,
    themePath: null,
    basePath: "",
    suffix: ".js",
    $moduleUrls: {}
};

exports.get = function(key) {
    if (!options.hasOwnProperty(key))
        throw new Error("Unknown config key: " + key);

    return options[key];
};

exports.set = function(key, value) {
    if (!options.hasOwnProperty(key))
        throw new Error("Unknown config key: " + key);

    options[key] = value;
};

exports.all = function() {
    return lang.copyObject(options);
};
exports.moduleUrl = function(name, component) {
    if (options.$moduleUrls[name])
        return options.$moduleUrls[name];

    var parts = name.split("/");
    component = component || parts[parts.length - 2] || "";
    var sep = component == "snippets" ? "/" : "-";
    var base = parts[parts.length - 1];
    if (component == "worker" && sep == "-") {
        var re = new RegExp("^" + component + "[\\-_]|[\\-_]" + component + "$", "g");
        base = base.replace(re, "");
    }

    if ((!base || base == component) && parts.length > 1)
        base = parts[parts.length - 2];
    var path = options[component + "Path"];
    if (path == null) {
        path = options.basePath;
    } else if (sep == "/") {
        component = sep = "";
    }
    if (path && path.slice(-1) != "/")
        path += "/";
    return path + component + sep + base + this.get("suffix");
};

exports.setModuleUrl = function(name, subst) {
    return options.$moduleUrls[name] = subst;
};

exports.$loading = {};
exports.loadModule = function(moduleName, onLoad) {
    var module, moduleType;
    if (Array.isArray(moduleName)) {
        moduleType = moduleName[0];
        moduleName = moduleName[1];
    }

    try {
        module = acequire(moduleName);
    } catch (e) {}
    if (module && !exports.$loading[moduleName])
        return onLoad && onLoad(module);

    if (!exports.$loading[moduleName])
        exports.$loading[moduleName] = [];

    exports.$loading[moduleName].push(onLoad);

    if (exports.$loading[moduleName].length > 1)
        return;

    var afterLoad = function() {
        acequire([moduleName], function(module) {
            exports._emit("load.module", {name: moduleName, module: module});
            var listeners = exports.$loading[moduleName];
            exports.$loading[moduleName] = null;
            listeners.forEach(function(onLoad) {
                onLoad && onLoad(module);
            });
        });
    };

    if (!exports.get("packaged"))
        return afterLoad();
    net.loadScript(exports.moduleUrl(moduleName, moduleType), afterLoad);
};
init(true);function init(packaged) {

    if (!global || !global.document)
        return;
    
    options.packaged = packaged || acequire.packaged || module.packaged || (global.define && __webpack_require__.amdD.packaged);

    var scriptOptions = {};
    var scriptUrl = "";
    var currentScript = (document.currentScript || document._currentScript ); // native or polyfill
    var currentDocument = currentScript && currentScript.ownerDocument || document;
    
    var scripts = currentDocument.getElementsByTagName("script");
    for (var i=0; i<scripts.length; i++) {
        var script = scripts[i];

        var src = script.src || script.getAttribute("src");
        if (!src)
            continue;

        var attributes = script.attributes;
        for (var j=0, l=attributes.length; j < l; j++) {
            var attr = attributes[j];
            if (attr.name.indexOf("data-ace-") === 0) {
                scriptOptions[deHyphenate(attr.name.replace(/^data-ace-/, ""))] = attr.value;
            }
        }

        var m = src.match(/^(.*)\/ace(\-\w+)?\.js(\?|$)/);
        if (m)
            scriptUrl = m[1];
    }

    if (scriptUrl) {
        scriptOptions.base = scriptOptions.base || scriptUrl;
        scriptOptions.packaged = true;
    }

    scriptOptions.basePath = scriptOptions.base;
    scriptOptions.workerPath = scriptOptions.workerPath || scriptOptions.base;
    scriptOptions.modePath = scriptOptions.modePath || scriptOptions.base;
    scriptOptions.themePath = scriptOptions.themePath || scriptOptions.base;
    delete scriptOptions.base;

    for (var key in scriptOptions)
        if (typeof scriptOptions[key] !== "undefined")
            exports.set(key, scriptOptions[key]);
}

exports.init = init;

function deHyphenate(str) {
    return str.replace(/-(.)/g, function(m, m1) { return m1.toUpperCase(); });
}

});

ace.define("ace/mouse/mouse_handler",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/mouse/default_handlers","ace/mouse/default_gutter_handler","ace/mouse/mouse_event","ace/mouse/dragdrop_handler","ace/config"], function(acequire, exports, module) {
"use strict";

var event = acequire("../lib/event");
var useragent = acequire("../lib/useragent");
var DefaultHandlers = acequire("./default_handlers").DefaultHandlers;
var DefaultGutterHandler = acequire("./default_gutter_handler").GutterHandler;
var MouseEvent = acequire("./mouse_event").MouseEvent;
var DragdropHandler = acequire("./dragdrop_handler").DragdropHandler;
var config = acequire("../config");

var MouseHandler = function(editor) {
    var _self = this;
    this.editor = editor;

    new DefaultHandlers(this);
    new DefaultGutterHandler(this);
    new DragdropHandler(this);

    var focusEditor = function(e) {
        var windowBlurred = !document.hasFocus || !document.hasFocus()
            || !editor.isFocused() && document.activeElement == (editor.textInput && editor.textInput.getElement());
        if (windowBlurred)
            window.focus();
        editor.focus();
    };

    var mouseTarget = editor.renderer.getMouseEventTarget();
    event.addListener(mouseTarget, "click", this.onMouseEvent.bind(this, "click"));
    event.addListener(mouseTarget, "mousemove", this.onMouseMove.bind(this, "mousemove"));
    event.addMultiMouseDownListener([
        mouseTarget,
        editor.renderer.scrollBarV && editor.renderer.scrollBarV.inner,
        editor.renderer.scrollBarH && editor.renderer.scrollBarH.inner,
        editor.textInput && editor.textInput.getElement()
    ].filter(Boolean), [400, 300, 250], this, "onMouseEvent");
    event.addMouseWheelListener(editor.container, this.onMouseWheel.bind(this, "mousewheel"));
    event.addTouchMoveListener(editor.container, this.onTouchMove.bind(this, "touchmove"));

    var gutterEl = editor.renderer.$gutter;
    event.addListener(gutterEl, "mousedown", this.onMouseEvent.bind(this, "guttermousedown"));
    event.addListener(gutterEl, "click", this.onMouseEvent.bind(this, "gutterclick"));
    event.addListener(gutterEl, "dblclick", this.onMouseEvent.bind(this, "gutterdblclick"));
    event.addListener(gutterEl, "mousemove", this.onMouseEvent.bind(this, "guttermousemove"));

    event.addListener(mouseTarget, "mousedown", focusEditor);
    event.addListener(gutterEl, "mousedown", focusEditor);
    if (useragent.isIE && editor.renderer.scrollBarV) {
        event.addListener(editor.renderer.scrollBarV.element, "mousedown", focusEditor);
        event.addListener(editor.renderer.scrollBarH.element, "mousedown", focusEditor);
    }

    editor.on("mousemove", function(e){
        if (_self.state || _self.$dragDelay || !_self.$dragEnabled)
            return;

        var character = editor.renderer.screenToTextCoordinates(e.x, e.y);
        var range = editor.session.selection.getRange();
        var renderer = editor.renderer;

        if (!range.isEmpty() && range.insideStart(character.row, character.column)) {
            renderer.setCursorStyle("default");
        } else {
            renderer.setCursorStyle("");
        }
    });
};

(function() {
    this.onMouseEvent = function(name, e) {
        this.editor._emit(name, new MouseEvent(e, this.editor));
    };

    this.onMouseMove = function(name, e) {
        var listeners = this.editor._eventRegistry && this.editor._eventRegistry.mousemove;
        if (!listeners || !listeners.length)
            return;

        this.editor._emit(name, new MouseEvent(e, this.editor));
    };

    this.onMouseWheel = function(name, e) {
        var mouseEvent = new MouseEvent(e, this.editor);
        mouseEvent.speed = this.$scrollSpeed * 2;
        mouseEvent.wheelX = e.wheelX;
        mouseEvent.wheelY = e.wheelY;

        this.editor._emit(name, mouseEvent);
    };
    
    this.onTouchMove = function (name, e) {
        var mouseEvent = new MouseEvent(e, this.editor);
        mouseEvent.speed = 1;//this.$scrollSpeed * 2;
        mouseEvent.wheelX = e.wheelX;
        mouseEvent.wheelY = e.wheelY;
        this.editor._emit(name, mouseEvent);
    };

    this.setState = function(state) {
        this.state = state;
    };

    this.captureMouse = function(ev, mouseMoveHandler) {
        this.x = ev.x;
        this.y = ev.y;

        this.isMousePressed = true;
        var renderer = this.editor.renderer;
        if (renderer.$keepTextAreaAtCursor)
            renderer.$keepTextAreaAtCursor = null;

        var self = this;
        var onMouseMove = function(e) {
            if (!e) return;
            if (useragent.isWebKit && !e.which && self.releaseMouse)
                return self.releaseMouse();

            self.x = e.clientX;
            self.y = e.clientY;
            mouseMoveHandler && mouseMoveHandler(e);
            self.mouseEvent = new MouseEvent(e, self.editor);
            self.$mouseMoved = true;
        };

        var onCaptureEnd = function(e) {
            clearInterval(timerId);
            onCaptureInterval();
            self[self.state + "End"] && self[self.state + "End"](e);
            self.state = "";
            if (renderer.$keepTextAreaAtCursor == null) {
                renderer.$keepTextAreaAtCursor = true;
                renderer.$moveTextAreaToCursor();
            }
            self.isMousePressed = false;
            self.$onCaptureMouseMove = self.releaseMouse = null;
            e && self.onMouseEvent("mouseup", e);
        };

        var onCaptureInterval = function() {
            self[self.state] && self[self.state]();
            self.$mouseMoved = false;
        };

        if (useragent.isOldIE && ev.domEvent.type == "dblclick") {
            return setTimeout(function() {onCaptureEnd(ev);});
        }

        self.$onCaptureMouseMove = onMouseMove;
        self.releaseMouse = event.capture(this.editor.container, onMouseMove, onCaptureEnd);
        var timerId = setInterval(onCaptureInterval, 20);
    };
    this.releaseMouse = null;
    this.cancelContextMenu = function() {
        var stop = function(e) {
            if (e && e.domEvent && e.domEvent.type != "contextmenu")
                return;
            this.editor.off("nativecontextmenu", stop);
            if (e && e.domEvent)
                event.stopEvent(e.domEvent);
        }.bind(this);
        setTimeout(stop, 10);
        this.editor.on("nativecontextmenu", stop);
    };
}).call(MouseHandler.prototype);

config.defineOptions(MouseHandler.prototype, "mouseHandler", {
    scrollSpeed: {initialValue: 2},
    dragDelay: {initialValue: (useragent.isMac ? 150 : 0)},
    dragEnabled: {initialValue: true},
    focusTimout: {initialValue: 0},
    tooltipFollowsMouse: {initialValue: true}
});


exports.MouseHandler = MouseHandler;
});

ace.define("ace/mouse/fold_handler",["require","exports","module"], function(acequire, exports, module) {
"use strict";

function FoldHandler(editor) {

    editor.on("click", function(e) {
        var position = e.getDocumentPosition();
        var session = editor.session;
        var fold = session.getFoldAt(position.row, position.column, 1);
        if (fold) {
            if (e.getAccelKey())
                session.removeFold(fold);
            else
                session.expandFold(fold);

            e.stop();
        }
    });

    editor.on("gutterclick", function(e) {
        var gutterRegion = editor.renderer.$gutterLayer.getRegion(e);

        if (gutterRegion == "foldWidgets") {
            var row = e.getDocumentPosition().row;
            var session = editor.session;
            if (session.foldWidgets && session.foldWidgets[row])
                editor.session.onFoldWidgetClick(row, e);
            if (!editor.isFocused())
                editor.focus();
            e.stop();
        }
    });

    editor.on("gutterdblclick", function(e) {
        var gutterRegion = editor.renderer.$gutterLayer.getRegion(e);

        if (gutterRegion == "foldWidgets") {
            var row = e.getDocumentPosition().row;
            var session = editor.session;
            var data = session.getParentFoldRangeData(row, true);
            var range = data.range || data.firstRange;

            if (range) {
                row = range.start.row;
                var fold = session.getFoldAt(row, session.getLine(row).length, 1);

                if (fold) {
                    session.removeFold(fold);
                } else {
                    session.addFold("...", range);
                    editor.renderer.scrollCursorIntoView({row: range.start.row, column: 0});
                }
            }
            e.stop();
        }
    });
}

exports.FoldHandler = FoldHandler;

});

ace.define("ace/keyboard/keybinding",["require","exports","module","ace/lib/keys","ace/lib/event"], function(acequire, exports, module) {
"use strict";

var keyUtil  = acequire("../lib/keys");
var event = acequire("../lib/event");

var KeyBinding = function(editor) {
    this.$editor = editor;
    this.$data = {editor: editor};
    this.$handlers = [];
    this.setDefaultHandler(editor.commands);
};

(function() {
    this.setDefaultHandler = function(kb) {
        this.removeKeyboardHandler(this.$defaultHandler);
        this.$defaultHandler = kb;
        this.addKeyboardHandler(kb, 0);
    };

    this.setKeyboardHandler = function(kb) {
        var h = this.$handlers;
        if (h[h.length - 1] == kb)
            return;

        while (h[h.length - 1] && h[h.length - 1] != this.$defaultHandler)
            this.removeKeyboardHandler(h[h.length - 1]);

        this.addKeyboardHandler(kb, 1);
    };

    this.addKeyboardHandler = function(kb, pos) {
        if (!kb)
            return;
        if (typeof kb == "function" && !kb.handleKeyboard)
            kb.handleKeyboard = kb;
        var i = this.$handlers.indexOf(kb);
        if (i != -1)
            this.$handlers.splice(i, 1);

        if (pos == undefined)
            this.$handlers.push(kb);
        else
            this.$handlers.splice(pos, 0, kb);

        if (i == -1 && kb.attach)
            kb.attach(this.$editor);
    };

    this.removeKeyboardHandler = function(kb) {
        var i = this.$handlers.indexOf(kb);
        if (i == -1)
            return false;
        this.$handlers.splice(i, 1);
        kb.detach && kb.detach(this.$editor);
        return true;
    };

    this.getKeyboardHandler = function() {
        return this.$handlers[this.$handlers.length - 1];
    };
    
    this.getStatusText = function() {
        var data = this.$data;
        var editor = data.editor;
        return this.$handlers.map(function(h) {
            return h.getStatusText && h.getStatusText(editor, data) || "";
        }).filter(Boolean).join(" ");
    };

    this.$callKeyboardHandlers = function(hashId, keyString, keyCode, e) {
        var toExecute;
        var success = false;
        var commands = this.$editor.commands;

        for (var i = this.$handlers.length; i--;) {
            toExecute = this.$handlers[i].handleKeyboard(
                this.$data, hashId, keyString, keyCode, e
            );
            if (!toExecute || !toExecute.command)
                continue;
            if (toExecute.command == "null") {
                success = true;
            } else {
                success = commands.exec(toExecute.command, this.$editor, toExecute.args, e);
            }
            if (success && e && hashId != -1 && 
                toExecute.passEvent != true && toExecute.command.passEvent != true
            ) {
                event.stopEvent(e);
            }
            if (success)
                break;
        }
        
        if (!success && hashId == -1) {
            toExecute = {command: "insertstring"};
            success = commands.exec("insertstring", this.$editor, keyString);
        }
        
        if (success && this.$editor._signal)
            this.$editor._signal("keyboardActivity", toExecute);
        
        return success;
    };

    this.onCommandKey = function(e, hashId, keyCode) {
        var keyString = keyUtil.keyCodeToString(keyCode);
        this.$callKeyboardHandlers(hashId, keyString, keyCode, e);
    };

    this.onTextInput = function(text) {
        this.$callKeyboardHandlers(-1, text);
    };

}).call(KeyBinding.prototype);

exports.KeyBinding = KeyBinding;
});

ace.define("ace/lib/bidiutil",["require","exports","module"], function(acequire, exports, module) {
"use strict";

var ArabicAlefBetIntervalsBegine = ['\u0621', '\u0641'];
var ArabicAlefBetIntervalsEnd = ['\u063A', '\u064a'];
var dir = 0, hiLevel = 0;
var lastArabic = false, hasUBAT_AL = false,  hasUBAT_B = false,  hasUBAT_S = false, hasBlockSep = false, hasSegSep = false;

var impTab_LTR = [	[	0,		3,		0,		1,		0,		0,		0	],	[	0,		3,		0,		1,		2,		2,		0	],	[	0,		3,		0,		0x11,		2,		0,		1	],	[	0,		3,		5,		5,		4,		1,		0	],	[	0,		3,		0x15,		0x15,		4,		0,		1	],	[	0,		3,		5,		5,		4,		2,		0	]
];

var impTab_RTL = [	[	2,		0,		1,		1,		0,		1,		0	],	[	2,		0,		1,		1,		0,		2,		0	],	[	2,		0,		2,		1,		3,		2,		0	],	[	2,		0,		2,		0x21,		3,		1,		1	]
];

var LTR = 0, RTL = 1;

var L = 0;
var R = 1;
var EN = 2;
var AN = 3;
var ON = 4;
var B = 5;
var S = 6;
var AL = 7;
var WS = 8;
var CS = 9;
var ES = 10;
var ET = 11;
var NSM = 12;
var LRE = 13;
var RLE = 14;
var PDF = 15;
var LRO = 16;
var RLO = 17;
var BN = 18;

var UnicodeTBL00 = [
BN,BN,BN,BN,BN,BN,BN,BN,BN,S,B,S,WS,B,BN,BN,
BN,BN,BN,BN,BN,BN,BN,BN,BN,BN,BN,BN,B,B,B,S,
WS,ON,ON,ET,ET,ET,ON,ON,ON,ON,ON,ES,CS,ES,CS,CS,
EN,EN,EN,EN,EN,EN,EN,EN,EN,EN,CS,ON,ON,ON,ON,ON,
ON,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,
L,L,L,L,L,L,L,L,L,L,L,ON,ON,ON,ON,ON,
ON,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,
L,L,L,L,L,L,L,L,L,L,L,ON,ON,ON,ON,BN,
BN,BN,BN,BN,BN,B,BN,BN,BN,BN,BN,BN,BN,BN,BN,BN,
BN,BN,BN,BN,BN,BN,BN,BN,BN,BN,BN,BN,BN,BN,BN,BN,
CS,ON,ET,ET,ET,ET,ON,ON,ON,ON,L,ON,ON,BN,ON,ON,
ET,ET,EN,EN,ON,L,ON,ON,ON,EN,L,ON,ON,ON,ON,ON
];

var UnicodeTBL20 = [
WS,WS,WS,WS,WS,WS,WS,WS,WS,WS,WS,BN,BN,BN,L,R	,
ON,ON,ON,ON,ON,ON,ON,ON,ON,ON,ON,ON,ON,ON,ON,ON,
ON,ON,ON,ON,ON,ON,ON,ON,WS,B,LRE,RLE,PDF,LRO,RLO,CS,
ET,ET,ET,ET,ET,ON,ON,ON,ON,ON,ON,ON,ON,ON,ON,ON,
ON,ON,ON,ON,CS,ON,ON,ON,ON,ON,ON,ON,ON,ON,ON,ON,
ON,ON,ON,ON,ON,ON,ON,ON,ON,ON,ON,ON,ON,ON,ON,WS
];

function _computeLevels(chars, levels, len, charTypes) {
	var impTab = dir ? impTab_RTL : impTab_LTR
		, prevState = null, newClass = null, newLevel = null, newState = 0
		, action = null, cond = null, condPos = -1, i = null, ix = null, classes = [];

	if (!charTypes) {
		for (i = 0, charTypes = []; i < len; i++) {
			charTypes[i] = _getCharacterType(chars[i]);
		}
	}
	hiLevel = dir;
	lastArabic = false;
	hasUBAT_AL = false;
	hasUBAT_B = false;
	hasUBAT_S = false;
	for (ix = 0; ix < len; ix++){
		prevState = newState;
		classes[ix] = newClass = _getCharClass(chars, charTypes, classes, ix);
		newState = impTab[prevState][newClass];
		action = newState & 0xF0;
		newState &= 0x0F;
		levels[ix] = newLevel = impTab[newState][5];
		if (action > 0){
			if (action == 0x10){
				for(i = condPos; i < ix; i++){
					levels[i] = 1;
				}
				condPos = -1;
			} else {
				condPos = -1;
			}
		}
		cond = impTab[newState][6];
		if (cond){
			if(condPos == -1){
				condPos = ix;
			}
		}else{
			if (condPos > -1){
				for(i = condPos; i < ix; i++){
					levels[i] = newLevel;
				}
				condPos = -1;
			}
		}
		if (charTypes[ix] == B){
			levels[ix] = 0;
		}
		hiLevel |= newLevel;
	}
	if (hasUBAT_S){
		for(i = 0; i < len; i++){
			if(charTypes[i] == S){
				levels[i] = dir;
				for(var j = i - 1; j >= 0; j--){
					if(charTypes[j] == WS){
						levels[j] = dir;
					}else{
						break;
					}
				}
			}
		}
	}
}

function _invertLevel(lev, levels, _array) {
	if (hiLevel < lev){
		return;
	}
	if (lev == 1 && dir == RTL && !hasUBAT_B){
		_array.reverse();
		return;
	}
	var len = _array.length, start = 0, end, lo, hi, tmp;
	while(start < len){
		if (levels[start] >= lev){
			end = start + 1;
		while(end < len && levels[end] >= lev){
			end++;
		}
		for(lo = start, hi = end - 1 ; lo < hi; lo++, hi--){
			tmp = _array[lo];
			_array[lo] = _array[hi];
			_array[hi] = tmp;
		}
		start = end;
	}
	start++;
	}
}

function _getCharClass(chars, types, classes, ix) {
	var cType = types[ix], wType, nType, len, i;
	switch(cType){
		case L:
		case R:
			lastArabic = false;
		case ON:
		case AN:
			return cType;
		case EN:
			return lastArabic ? AN : EN;
		case AL:
			lastArabic = true;
			hasUBAT_AL = true;
			return R;
		case WS:
			return ON;
		case CS:
			if (ix < 1 || (ix + 1) >= types.length ||
				((wType = classes[ix - 1]) != EN && wType != AN) ||
				((nType = types[ix + 1]) != EN && nType != AN)){
				return ON;
			}
			if (lastArabic){nType = AN;}
			return nType == wType ? nType : ON;
		case ES:
			wType = ix > 0 ? classes[ix - 1] : B;
			if (wType == EN && (ix + 1) < types.length && types[ix + 1] == EN){
				return EN;
			}
			return ON;
		case ET:
			if (ix > 0 && classes[ix - 1] == EN){
				return EN;
			}
			if (lastArabic){
				return ON;
			}
			i = ix + 1;
			len = types.length;
			while (i < len && types[i] == ET){
				i++;
			}
			if (i < len && types[i] == EN){
				return EN;
			}
			return ON;
		case NSM:
			len = types.length;
			i = ix + 1;
			while (i < len && types[i] == NSM){
				i++;
			}
			if (i < len){
				var c = chars[ix], rtlCandidate = (c >= 0x0591 && c <= 0x08FF) || c == 0xFB1E;

				wType = types[i];
				if (rtlCandidate && (wType == R || wType == AL)){
					return R;
				}
			}

			if (ix < 1 || (wType = types[ix - 1]) == B){
				return ON;
			}
			return classes[ix - 1];
		case B:
			lastArabic = false;
			hasUBAT_B = true;
			return dir;
		case S:
			hasUBAT_S = true;
			return ON;
		case LRE:
		case RLE:
		case LRO:
		case RLO:
		case PDF:
			lastArabic = false;
		case BN:
			return ON;
	}
}

function _getCharacterType( ch ) {
	var uc = ch.charCodeAt(0), hi = uc >> 8;

	if (hi == 0) {
		return ((uc > 0x00BF) ? L : UnicodeTBL00[uc]);
	} else if (hi == 5) {
		return (/[\u0591-\u05f4]/.test(ch) ? R : L);
	} else if (hi == 6) {
		if (/[\u0610-\u061a\u064b-\u065f\u06d6-\u06e4\u06e7-\u06ed]/.test(ch))
			return NSM;
		else if (/[\u0660-\u0669\u066b-\u066c]/.test(ch))
			return AN;
		else if (uc == 0x066A)
			return ET;
		else if (/[\u06f0-\u06f9]/.test(ch))
			return EN;
		else
			return AL;
	} else if (hi == 0x20 && uc <= 0x205F) {
		return UnicodeTBL20[uc & 0xFF];
	} else if (hi == 0xFE) {
		return (uc >= 0xFE70 ? AL : ON);
	}
	return ON;
}

function _isArabicDiacritics( ch ) {
	return (ch >= '\u064b' && ch <= '\u0655');
}
exports.L = L;
exports.R = R;
exports.EN = EN;
exports.ON_R = 3;
exports.AN = 4;
exports.R_H = 5;
exports.B = 6;

exports.DOT = "\xB7";
exports.doBidiReorder = function(text, textCharTypes, isRtl) {
	if (text.length < 2)
		return {};

	var chars = text.split(""), logicalFromVisual = new Array(chars.length),
		bidiLevels = new Array(chars.length), levels = [];

	dir = isRtl ? RTL : LTR;

	_computeLevels(chars, levels, chars.length, textCharTypes);

	for (var i = 0; i < logicalFromVisual.length; logicalFromVisual[i] = i, i++);

	_invertLevel(2, levels, logicalFromVisual);
	_invertLevel(1, levels, logicalFromVisual);

	for (var i = 0; i < logicalFromVisual.length - 1; i++) { //fix levels to reflect character width
		if (textCharTypes[i] === AN) {
			levels[i] = exports.AN;
		} else if (levels[i] === R && ((textCharTypes[i] > AL && textCharTypes[i] < LRE)
			|| textCharTypes[i] === ON || textCharTypes[i] === BN)) {
			levels[i] = exports.ON_R;
		} else if ((i > 0 && chars[i - 1] === '\u0644') && /\u0622|\u0623|\u0625|\u0627/.test(chars[i])) {
			levels[i - 1] = levels[i] = exports.R_H;
			i++;
		}
	}
	if (chars[chars.length - 1] === exports.DOT)
		levels[chars.length - 1] = exports.B;

	for (var i = 0; i < logicalFromVisual.length; i++) {
		bidiLevels[i] = levels[logicalFromVisual[i]];
	}

	return {'logicalFromVisual': logicalFromVisual, 'bidiLevels': bidiLevels};
};
exports.hasBidiCharacters = function(text, textCharTypes){
	var ret = false;
	for (var i = 0; i < text.length; i++){
		textCharTypes[i] = _getCharacterType(text.charAt(i));
		if (!ret && (textCharTypes[i] == R || textCharTypes[i] == AL))
			ret = true;
	}
	return ret;
};
exports.getVisualFromLogicalIdx = function(logIdx, rowMap) {
	for (var i = 0; i < rowMap.logicalFromVisual.length; i++) {
		if (rowMap.logicalFromVisual[i] == logIdx)
			return i;
	}
	return 0;
};

});

ace.define("ace/bidihandler",["require","exports","module","ace/lib/bidiutil","ace/lib/lang","ace/lib/useragent"], function(acequire, exports, module) {
"use strict";

var bidiUtil = acequire("./lib/bidiutil");
var lang = acequire("./lib/lang");
var useragent = acequire("./lib/useragent");
var bidiRE = /[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/;
var BidiHandler = function(session) {
    this.session = session;
    this.bidiMap = {};
    this.currentRow = null;
    this.bidiUtil = bidiUtil;
    this.charWidths = [];
    this.EOL = "\xAC";
    this.showInvisibles = true;
    this.isRtlDir = false;
    this.line = "";
    this.wrapIndent = 0;
    this.isLastRow = false;
    this.EOF = "\xB6";
    this.seenBidi = false;
};

(function() {
    this.isBidiRow = function(screenRow, docRow, splitIndex) {
        if (!this.seenBidi)
            return false;
        if (screenRow !== this.currentRow) {
            this.currentRow = screenRow;
            this.updateRowLine(docRow, splitIndex);
            this.updateBidiMap();
        }
        return this.bidiMap.bidiLevels;
    };

    this.onChange = function(delta) {
        if (!this.seenBidi) {
            if (delta.action == "insert" && bidiRE.test(delta.lines.join("\n"))) {
                this.seenBidi = true;
                this.currentRow = null;
            }
        }
        else {
            this.currentRow = null;
        }
    };

    this.getDocumentRow = function() {
        var docRow = 0;
        var rowCache = this.session.$screenRowCache;
        if (rowCache.length) {
            var index = this.session.$getRowCacheIndex(rowCache, this.currentRow);
            if (index >= 0)
                docRow = this.session.$docRowCache[index];
        }

        return docRow;
    };

    this.getSplitIndex = function() {
        var splitIndex = 0;
        var rowCache = this.session.$screenRowCache;
        if (rowCache.length) {
            var currentIndex, prevIndex = this.session.$getRowCacheIndex(rowCache, this.currentRow);
            while (this.currentRow - splitIndex > 0) {
                currentIndex = this.session.$getRowCacheIndex(rowCache, this.currentRow - splitIndex - 1);
                if (currentIndex !== prevIndex)
                    break;

                prevIndex = currentIndex;
                splitIndex++;
            }
        }

        return splitIndex;
    };

    this.updateRowLine = function(docRow, splitIndex) {
        if (docRow === undefined)
            docRow = this.getDocumentRow();

        this.wrapIndent = 0;
        this.isLastRow = (docRow === this.session.getLength() - 1);
        this.line = this.session.getLine(docRow);
        if (this.session.$useWrapMode) {
            var splits = this.session.$wrapData[docRow];
            if (splits) {
                if (splitIndex === undefined)
                    splitIndex = this.getSplitIndex();

                if(splitIndex > 0 && splits.length) {
                    this.wrapIndent = splits.indent;
                    this.line = (splitIndex < splits.length) ?
                        this.line.substring(splits[splitIndex - 1], splits[splits.length - 1]) :
                            this.line.substring(splits[splits.length - 1]);
                } else {
                    this.line = this.line.substring(0, splits[splitIndex]);
                }
            }
        }
        var session = this.session, shift = 0, size;
        this.line = this.line.replace(/\t|[\u1100-\u2029, \u202F-\uFFE6]/g, function(ch, i){
            if (ch === '\t' || session.isFullWidth(ch.charCodeAt(0))) {
                size = (ch === '\t') ? session.getScreenTabSize(i + shift) : 2;
                shift += size - 1;
                return lang.stringRepeat(bidiUtil.DOT, size);
            }
            return ch;
        });
    };

    this.updateBidiMap = function() {
        var textCharTypes = [], endOfLine = this.isLastRow ? this.EOF : this.EOL;
        var line = this.line + (this.showInvisibles ? endOfLine : bidiUtil.DOT);
        if (bidiUtil.hasBidiCharacters(line, textCharTypes)) {
            this.bidiMap = bidiUtil.doBidiReorder(line, textCharTypes, this.isRtlDir);
        } else {
            this.bidiMap = {};
        }
    };
    this.markAsDirty = function() {
        this.currentRow = null;
    };
    this.updateCharacterWidths = function(fontMetrics) {
        if (!this.seenBidi)
            return;
        if (this.characterWidth === fontMetrics.$characterSize.width)
            return;

        var characterWidth = this.characterWidth = fontMetrics.$characterSize.width;
        var bidiCharWidth = fontMetrics.$measureCharWidth("\u05d4");

        this.charWidths[bidiUtil.L] = this.charWidths[bidiUtil.EN] = this.charWidths[bidiUtil.ON_R] = characterWidth;
        this.charWidths[bidiUtil.R] = this.charWidths[bidiUtil.AN] = bidiCharWidth;
        this.charWidths[bidiUtil.R_H] = useragent.isChrome ? bidiCharWidth : bidiCharWidth * 0.45;
        this.charWidths[bidiUtil.B] = 0;

        this.currentRow = null;
    };

    this.getShowInvisibles = function() {
        return this.showInvisibles;
    };

    this.setShowInvisibles = function(showInvisibles) {
        this.showInvisibles = showInvisibles;
        this.currentRow = null;
    };

    this.setEolChar = function(eolChar) {
        this.EOL = eolChar;
    };

    this.setTextDir = function(isRtlDir) {
        this.isRtlDir = isRtlDir;
    };
    this.getPosLeft = function(col) {
        col -= this.wrapIndent;
        var visualIdx = bidiUtil.getVisualFromLogicalIdx(col > 0 ? col - 1 : 0, this.bidiMap),
            levels = this.bidiMap.bidiLevels, left = 0;

        if (col === 0 && levels[visualIdx] % 2 !== 0)
            visualIdx++;

        for (var i = 0; i < visualIdx; i++) {
            left += this.charWidths[levels[i]];
        }

        if (col !== 0 && levels[visualIdx] % 2 === 0)
            left += this.charWidths[levels[visualIdx]];

        if (this.wrapIndent)
            left += this.wrapIndent * this.charWidths[bidiUtil.L];

        return left;
    };
    this.getSelections = function(startCol, endCol) {
        var map = this.bidiMap, levels = map.bidiLevels, level, offset = this.wrapIndent * this.charWidths[bidiUtil.L], selections = [],
            selColMin = Math.min(startCol, endCol) - this.wrapIndent, selColMax = Math.max(startCol, endCol) - this.wrapIndent,
                isSelected = false, isSelectedPrev = false, selectionStart = 0;

        for (var logIdx, visIdx = 0; visIdx < levels.length; visIdx++) {
            logIdx = map.logicalFromVisual[visIdx];
            level = levels[visIdx];
            isSelected = (logIdx >= selColMin) && (logIdx < selColMax);
            if (isSelected && !isSelectedPrev) {
                selectionStart = offset;
            } else if (!isSelected && isSelectedPrev) {
                selections.push({left: selectionStart, width: offset - selectionStart});
            }
            offset += this.charWidths[level];
            isSelectedPrev = isSelected;
        }

        if (isSelected && (visIdx === levels.length)) {
            selections.push({left: selectionStart, width: offset - selectionStart});
        }

        return selections;
    };
    this.offsetToCol = function(posX) {
        var logicalIdx = 0, posX = Math.max(posX, 0),
            offset = 0, visualIdx = 0, levels = this.bidiMap.bidiLevels,
                charWidth = this.charWidths[levels[visualIdx]];

        if (this.wrapIndent) {
            posX -= this.wrapIndent * this.charWidths[bidiUtil.L];
        }

        while(posX > offset + charWidth/2) {
            offset += charWidth;
            if(visualIdx === levels.length - 1) {
                charWidth = 0;
                break;
            }
            charWidth = this.charWidths[levels[++visualIdx]];
        }

        if (visualIdx > 0 && (levels[visualIdx - 1] % 2 !== 0) && (levels[visualIdx] % 2 === 0)){
            if(posX < offset)
                visualIdx--;
            logicalIdx = this.bidiMap.logicalFromVisual[visualIdx];

        } else if (visualIdx > 0 && (levels[visualIdx - 1] % 2 === 0) && (levels[visualIdx] % 2 !== 0)){
            logicalIdx = 1 + ((posX > offset) ? this.bidiMap.logicalFromVisual[visualIdx]
                    : this.bidiMap.logicalFromVisual[visualIdx - 1]);

        } else if ((this.isRtlDir && visualIdx === levels.length - 1 && charWidth === 0 && (levels[visualIdx - 1] % 2 === 0))
                || (!this.isRtlDir && visualIdx === 0 && (levels[visualIdx] % 2 !== 0))){
            logicalIdx = 1 + this.bidiMap.logicalFromVisual[visualIdx];
        } else {
            if (visualIdx > 0 && (levels[visualIdx - 1] % 2 !== 0) && charWidth !== 0)
                visualIdx--;
            logicalIdx = this.bidiMap.logicalFromVisual[visualIdx];
        }

        return (logicalIdx + this.wrapIndent);
    };

}).call(BidiHandler.prototype);

exports.BidiHandler = BidiHandler;
});

ace.define("ace/range",["require","exports","module"], function(acequire, exports, module) {
"use strict";
var comparePoints = function(p1, p2) {
    return p1.row - p2.row || p1.column - p2.column;
};
var Range = function(startRow, startColumn, endRow, endColumn) {
    this.start = {
        row: startRow,
        column: startColumn
    };

    this.end = {
        row: endRow,
        column: endColumn
    };
};

(function() {
    this.isEqual = function(range) {
        return this.start.row === range.start.row &&
            this.end.row === range.end.row &&
            this.start.column === range.start.column &&
            this.end.column === range.end.column;
    };
    this.toString = function() {
        return ("Range: [" + this.start.row + "/" + this.start.column +
            "] -> [" + this.end.row + "/" + this.end.column + "]");
    };

    this.contains = function(row, column) {
        return this.compare(row, column) == 0;
    };
    this.compareRange = function(range) {
        var cmp,
            end = range.end,
            start = range.start;

        cmp = this.compare(end.row, end.column);
        if (cmp == 1) {
            cmp = this.compare(start.row, start.column);
            if (cmp == 1) {
                return 2;
            } else if (cmp == 0) {
                return 1;
            } else {
                return 0;
            }
        } else if (cmp == -1) {
            return -2;
        } else {
            cmp = this.compare(start.row, start.column);
            if (cmp == -1) {
                return -1;
            } else if (cmp == 1) {
                return 42;
            } else {
                return 0;
            }
        }
    };
    this.comparePoint = function(p) {
        return this.compare(p.row, p.column);
    };
    this.containsRange = function(range) {
        return this.comparePoint(range.start) == 0 && this.comparePoint(range.end) == 0;
    };
    this.intersects = function(range) {
        var cmp = this.compareRange(range);
        return (cmp == -1 || cmp == 0 || cmp == 1);
    };
    this.isEnd = function(row, column) {
        return this.end.row == row && this.end.column == column;
    };
    this.isStart = function(row, column) {
        return this.start.row == row && this.start.column == column;
    };
    this.setStart = function(row, column) {
        if (typeof row == "object") {
            this.start.column = row.column;
            this.start.row = row.row;
        } else {
            this.start.row = row;
            this.start.column = column;
        }
    };
    this.setEnd = function(row, column) {
        if (typeof row == "object") {
            this.end.column = row.column;
            this.end.row = row.row;
        } else {
            this.end.row = row;
            this.end.column = column;
        }
    };
    this.inside = function(row, column) {
        if (this.compare(row, column) == 0) {
            if (this.isEnd(row, column) || this.isStart(row, column)) {
                return false;
            } else {
                return true;
            }
        }
        return false;
    };
    this.insideStart = function(row, column) {
        if (this.compare(row, column) == 0) {
            if (this.isEnd(row, column)) {
                return false;
            } else {
                return true;
            }
        }
        return false;
    };
    this.insideEnd = function(row, column) {
        if (this.compare(row, column) == 0) {
            if (this.isStart(row, column)) {
                return false;
            } else {
                return true;
            }
        }
        return false;
    };
    this.compare = function(row, column) {
        if (!this.isMultiLine()) {
            if (row === this.start.row) {
                return column < this.start.column ? -1 : (column > this.end.column ? 1 : 0);
            }
        }

        if (row < this.start.row)
            return -1;

        if (row > this.end.row)
            return 1;

        if (this.start.row === row)
            return column >= this.start.column ? 0 : -1;

        if (this.end.row === row)
            return column <= this.end.column ? 0 : 1;

        return 0;
    };
    this.compareStart = function(row, column) {
        if (this.start.row == row && this.start.column == column) {
            return -1;
        } else {
            return this.compare(row, column);
        }
    };
    this.compareEnd = function(row, column) {
        if (this.end.row == row && this.end.column == column) {
            return 1;
        } else {
            return this.compare(row, column);
        }
    };
    this.compareInside = function(row, column) {
        if (this.end.row == row && this.end.column == column) {
            return 1;
        } else if (this.start.row == row && this.start.column == column) {
            return -1;
        } else {
            return this.compare(row, column);
        }
    };
    this.clipRows = function(firstRow, lastRow) {
        if (this.end.row > lastRow)
            var end = {row: lastRow + 1, column: 0};
        else if (this.end.row < firstRow)
            var end = {row: firstRow, column: 0};

        if (this.start.row > lastRow)
            var start = {row: lastRow + 1, column: 0};
        else if (this.start.row < firstRow)
            var start = {row: firstRow, column: 0};

        return Range.fromPoints(start || this.start, end || this.end);
    };
    this.extend = function(row, column) {
        var cmp = this.compare(row, column);

        if (cmp == 0)
            return this;
        else if (cmp == -1)
            var start = {row: row, column: column};
        else
            var end = {row: row, column: column};

        return Range.fromPoints(start || this.start, end || this.end);
    };

    this.isEmpty = function() {
        return (this.start.row === this.end.row && this.start.column === this.end.column);
    };
    this.isMultiLine = function() {
        return (this.start.row !== this.end.row);
    };
    this.clone = function() {
        return Range.fromPoints(this.start, this.end);
    };
    this.collapseRows = function() {
        if (this.end.column == 0)
            return new Range(this.start.row, 0, Math.max(this.start.row, this.end.row-1), 0);
        else
            return new Range(this.start.row, 0, this.end.row, 0);
    };
    this.toScreenRange = function(session) {
        var screenPosStart = session.documentToScreenPosition(this.start);
        var screenPosEnd = session.documentToScreenPosition(this.end);

        return new Range(
            screenPosStart.row, screenPosStart.column,
            screenPosEnd.row, screenPosEnd.column
        );
    };
    this.moveBy = function(row, column) {
        this.start.row += row;
        this.start.column += column;
        this.end.row += row;
        this.end.column += column;
    };

}).call(Range.prototype);
Range.fromPoints = function(start, end) {
    return new Range(start.row, start.column, end.row, end.column);
};
Range.comparePoints = comparePoints;

Range.comparePoints = function(p1, p2) {
    return p1.row - p2.row || p1.column - p2.column;
};


exports.Range = Range;
});

ace.define("ace/selection",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/range"], function(acequire, exports, module) {
"use strict";

var oop = acequire("./lib/oop");
var lang = acequire("./lib/lang");
var EventEmitter = acequire("./lib/event_emitter").EventEmitter;
var Range = acequire("./range").Range;
var Selection = function(session) {
    this.session = session;
    this.doc = session.getDocument();

    this.clearSelection();
    this.lead = this.selectionLead = this.doc.createAnchor(0, 0);
    this.anchor = this.selectionAnchor = this.doc.createAnchor(0, 0);

    var self = this;
    this.lead.on("change", function(e) {
        self._emit("changeCursor");
        if (!self.$isEmpty)
            self._emit("changeSelection");
        if (!self.$keepDesiredColumnOnChange && e.old.column != e.value.column)
            self.$desiredColumn = null;
    });

    this.selectionAnchor.on("change", function() {
        if (!self.$isEmpty)
            self._emit("changeSelection");
    });
};

(function() {

    oop.implement(this, EventEmitter);
    this.isEmpty = function() {
        return (this.$isEmpty || (
            this.anchor.row == this.lead.row &&
            this.anchor.column == this.lead.column
        ));
    };
    this.isMultiLine = function() {
        if (this.isEmpty()) {
            return false;
        }

        return this.getRange().isMultiLine();
    };
    this.getCursor = function() {
        return this.lead.getPosition();
    };
    this.setSelectionAnchor = function(row, column) {
        this.anchor.setPosition(row, column);

        if (this.$isEmpty) {
            this.$isEmpty = false;
            this._emit("changeSelection");
        }
    };
    this.getSelectionAnchor = function() {
        if (this.$isEmpty)
            return this.getSelectionLead();
        else
            return this.anchor.getPosition();
    };
    this.getSelectionLead = function() {
        return this.lead.getPosition();
    };
    this.shiftSelection = function(columns) {
        if (this.$isEmpty) {
            this.moveCursorTo(this.lead.row, this.lead.column + columns);
            return;
        }

        var anchor = this.getSelectionAnchor();
        var lead = this.getSelectionLead();

        var isBackwards = this.isBackwards();

        if (!isBackwards || anchor.column !== 0)
            this.setSelectionAnchor(anchor.row, anchor.column + columns);

        if (isBackwards || lead.column !== 0) {
            this.$moveSelection(function() {
                this.moveCursorTo(lead.row, lead.column + columns);
            });
        }
    };
    this.isBackwards = function() {
        var anchor = this.anchor;
        var lead = this.lead;
        return (anchor.row > lead.row || (anchor.row == lead.row && anchor.column > lead.column));
    };
    this.getRange = function() {
        var anchor = this.anchor;
        var lead = this.lead;

        if (this.isEmpty())
            return Range.fromPoints(lead, lead);

        if (this.isBackwards()) {
            return Range.fromPoints(lead, anchor);
        }
        else {
            return Range.fromPoints(anchor, lead);
        }
    };
    this.clearSelection = function() {
        if (!this.$isEmpty) {
            this.$isEmpty = true;
            this._emit("changeSelection");
        }
    };
    this.selectAll = function() {
        var lastRow = this.doc.getLength() - 1;
        this.setSelectionAnchor(0, 0);
        this.moveCursorTo(lastRow, this.doc.getLine(lastRow).length);
    };
    this.setRange =
    this.setSelectionRange = function(range, reverse) {
        if (reverse) {
            this.setSelectionAnchor(range.end.row, range.end.column);
            this.selectTo(range.start.row, range.start.column);
        } else {
            this.setSelectionAnchor(range.start.row, range.start.column);
            this.selectTo(range.end.row, range.end.column);
        }
        if (this.getRange().isEmpty())
            this.$isEmpty = true;
        this.$desiredColumn = null;
    };

    this.$moveSelection = function(mover) {
        var lead = this.lead;
        if (this.$isEmpty)
            this.setSelectionAnchor(lead.row, lead.column);

        mover.call(this);
    };
    this.selectTo = function(row, column) {
        this.$moveSelection(function() {
            this.moveCursorTo(row, column);
        });
    };
    this.selectToPosition = function(pos) {
        this.$moveSelection(function() {
            this.moveCursorToPosition(pos);
        });
    };
    this.moveTo = function(row, column) {
        this.clearSelection();
        this.moveCursorTo(row, column);
    };
    this.moveToPosition = function(pos) {
        this.clearSelection();
        this.moveCursorToPosition(pos);
    };
    this.selectUp = function() {
        this.$moveSelection(this.moveCursorUp);
    };
    this.selectDown = function() {
        this.$moveSelection(this.moveCursorDown);
    };
    this.selectRight = function() {
        this.$moveSelection(this.moveCursorRight);
    };
    this.selectLeft = function() {
        this.$moveSelection(this.moveCursorLeft);
    };
    this.selectLineStart = function() {
        this.$moveSelection(this.moveCursorLineStart);
    };
    this.selectLineEnd = function() {
        this.$moveSelection(this.moveCursorLineEnd);
    };
    this.selectFileEnd = function() {
        this.$moveSelection(this.moveCursorFileEnd);
    };
    this.selectFileStart = function() {
        this.$moveSelection(this.moveCursorFileStart);
    };
    this.selectWordRight = function() {
        this.$moveSelection(this.moveCursorWordRight);
    };
    this.selectWordLeft = function() {
        this.$moveSelection(this.moveCursorWordLeft);
    };
    this.getWordRange = function(row, column) {
        if (typeof column == "undefined") {
            var cursor = row || this.lead;
            row = cursor.row;
            column = cursor.column;
        }
        return this.session.getWordRange(row, column);
    };
    this.selectWord = function() {
        this.setSelectionRange(this.getWordRange());
    };
    this.selectAWord = function() {
        var cursor = this.getCursor();
        var range = this.session.getAWordRange(cursor.row, cursor.column);
        this.setSelectionRange(range);
    };

    this.getLineRange = function(row, excludeLastChar) {
        var rowStart = typeof row == "number" ? row : this.lead.row;
        var rowEnd;

        var foldLine = this.session.getFoldLine(rowStart);
        if (foldLine) {
            rowStart = foldLine.start.row;
            rowEnd = foldLine.end.row;
        } else {
            rowEnd = rowStart;
        }
        if (excludeLastChar === true)
            return new Range(rowStart, 0, rowEnd, this.session.getLine(rowEnd).length);
        else
            return new Range(rowStart, 0, rowEnd + 1, 0);
    };
    this.selectLine = function() {
        this.setSelectionRange(this.getLineRange());
    };
    this.moveCursorUp = function() {
        this.moveCursorBy(-1, 0);
    };
    this.moveCursorDown = function() {
        this.moveCursorBy(1, 0);
    };
    this.wouldMoveIntoSoftTab = function(cursor, tabSize, direction) {
        var start = cursor.column;
        var end = cursor.column + tabSize;

        if (direction < 0) {
            start = cursor.column - tabSize;
            end = cursor.column;
        }
        return this.session.isTabStop(cursor) && this.doc.getLine(cursor.row).slice(start, end).split(" ").length-1 == tabSize;
    };
    this.moveCursorLeft = function() {
        var cursor = this.lead.getPosition(),
            fold;

        if (fold = this.session.getFoldAt(cursor.row, cursor.column, -1)) {
            this.moveCursorTo(fold.start.row, fold.start.column);
        } else if (cursor.column === 0) {
            if (cursor.row > 0) {
                this.moveCursorTo(cursor.row - 1, this.doc.getLine(cursor.row - 1).length);
            }
        }
        else {
            var tabSize = this.session.getTabSize();
            if (this.wouldMoveIntoSoftTab(cursor, tabSize, -1) && !this.session.getNavigateWithinSoftTabs()) {
                this.moveCursorBy(0, -tabSize);
            } else {
                this.moveCursorBy(0, -1);
            }
        }
    };
    this.moveCursorRight = function() {
        var cursor = this.lead.getPosition(),
            fold;
        if (fold = this.session.getFoldAt(cursor.row, cursor.column, 1)) {
            this.moveCursorTo(fold.end.row, fold.end.column);
        }
        else if (this.lead.column == this.doc.getLine(this.lead.row).length) {
            if (this.lead.row < this.doc.getLength() - 1) {
                this.moveCursorTo(this.lead.row + 1, 0);
            }
        }
        else {
            var tabSize = this.session.getTabSize();
            var cursor = this.lead;
            if (this.wouldMoveIntoSoftTab(cursor, tabSize, 1) && !this.session.getNavigateWithinSoftTabs()) {
                this.moveCursorBy(0, tabSize);
            } else {
                this.moveCursorBy(0, 1);
            }
        }
    };
    this.moveCursorLineStart = function() {
        var row = this.lead.row;
        var column = this.lead.column;
        var screenRow = this.session.documentToScreenRow(row, column);
        var firstColumnPosition = this.session.screenToDocumentPosition(screenRow, 0);
        var beforeCursor = this.session.getDisplayLine(
            row, null, firstColumnPosition.row,
            firstColumnPosition.column
        );

        var leadingSpace = beforeCursor.match(/^\s*/);
        if (leadingSpace[0].length != column && !this.session.$useEmacsStyleLineStart)
            firstColumnPosition.column += leadingSpace[0].length;
        this.moveCursorToPosition(firstColumnPosition);
    };
    this.moveCursorLineEnd = function() {
        var lead = this.lead;
        var lineEnd = this.session.getDocumentLastRowColumnPosition(lead.row, lead.column);
        if (this.lead.column == lineEnd.column) {
            var line = this.session.getLine(lineEnd.row);
            if (lineEnd.column == line.length) {
                var textEnd = line.search(/\s+$/);
                if (textEnd > 0)
                    lineEnd.column = textEnd;
            }
        }

        this.moveCursorTo(lineEnd.row, lineEnd.column);
    };
    this.moveCursorFileEnd = function() {
        var row = this.doc.getLength() - 1;
        var column = this.doc.getLine(row).length;
        this.moveCursorTo(row, column);
    };
    this.moveCursorFileStart = function() {
        this.moveCursorTo(0, 0);
    };
    this.moveCursorLongWordRight = function() {
        var row = this.lead.row;
        var column = this.lead.column;
        var line = this.doc.getLine(row);
        var rightOfCursor = line.substring(column);

        var match;
        this.session.nonTokenRe.lastIndex = 0;
        this.session.tokenRe.lastIndex = 0;
        var fold = this.session.getFoldAt(row, column, 1);
        if (fold) {
            this.moveCursorTo(fold.end.row, fold.end.column);
            return;
        }
        if (match = this.session.nonTokenRe.exec(rightOfCursor)) {
            column += this.session.nonTokenRe.lastIndex;
            this.session.nonTokenRe.lastIndex = 0;
            rightOfCursor = line.substring(column);
        }
        if (column >= line.length) {
            this.moveCursorTo(row, line.length);
            this.moveCursorRight();
            if (row < this.doc.getLength() - 1)
                this.moveCursorWordRight();
            return;
        }
        if (match = this.session.tokenRe.exec(rightOfCursor)) {
            column += this.session.tokenRe.lastIndex;
            this.session.tokenRe.lastIndex = 0;
        }

        this.moveCursorTo(row, column);
    };
    this.moveCursorLongWordLeft = function() {
        var row = this.lead.row;
        var column = this.lead.column;
        var fold;
        if (fold = this.session.getFoldAt(row, column, -1)) {
            this.moveCursorTo(fold.start.row, fold.start.column);
            return;
        }

        var str = this.session.getFoldStringAt(row, column, -1);
        if (str == null) {
            str = this.doc.getLine(row).substring(0, column);
        }

        var leftOfCursor = lang.stringReverse(str);
        var match;
        this.session.nonTokenRe.lastIndex = 0;
        this.session.tokenRe.lastIndex = 0;
        if (match = this.session.nonTokenRe.exec(leftOfCursor)) {
            column -= this.session.nonTokenRe.lastIndex;
            leftOfCursor = leftOfCursor.slice(this.session.nonTokenRe.lastIndex);
            this.session.nonTokenRe.lastIndex = 0;
        }
        if (column <= 0) {
            this.moveCursorTo(row, 0);
            this.moveCursorLeft();
            if (row > 0)
                this.moveCursorWordLeft();
            return;
        }
        if (match = this.session.tokenRe.exec(leftOfCursor)) {
            column -= this.session.tokenRe.lastIndex;
            this.session.tokenRe.lastIndex = 0;
        }

        this.moveCursorTo(row, column);
    };

    this.$shortWordEndIndex = function(rightOfCursor) {
        var match, index = 0, ch;
        var whitespaceRe = /\s/;
        var tokenRe = this.session.tokenRe;

        tokenRe.lastIndex = 0;
        if (match = this.session.tokenRe.exec(rightOfCursor)) {
            index = this.session.tokenRe.lastIndex;
        } else {
            while ((ch = rightOfCursor[index]) && whitespaceRe.test(ch))
                index ++;

            if (index < 1) {
                tokenRe.lastIndex = 0;
                 while ((ch = rightOfCursor[index]) && !tokenRe.test(ch)) {
                    tokenRe.lastIndex = 0;
                    index ++;
                    if (whitespaceRe.test(ch)) {
                        if (index > 2) {
                            index--;
                            break;
                        } else {
                            while ((ch = rightOfCursor[index]) && whitespaceRe.test(ch))
                                index ++;
                            if (index > 2)
                                break;
                        }
                    }
                }
            }
        }
        tokenRe.lastIndex = 0;

        return index;
    };

    this.moveCursorShortWordRight = function() {
        var row = this.lead.row;
        var column = this.lead.column;
        var line = this.doc.getLine(row);
        var rightOfCursor = line.substring(column);

        var fold = this.session.getFoldAt(row, column, 1);
        if (fold)
            return this.moveCursorTo(fold.end.row, fold.end.column);

        if (column == line.length) {
            var l = this.doc.getLength();
            do {
                row++;
                rightOfCursor = this.doc.getLine(row);
            } while (row < l && /^\s*$/.test(rightOfCursor));

            if (!/^\s+/.test(rightOfCursor))
                rightOfCursor = "";
            column = 0;
        }

        var index = this.$shortWordEndIndex(rightOfCursor);

        this.moveCursorTo(row, column + index);
    };

    this.moveCursorShortWordLeft = function() {
        var row = this.lead.row;
        var column = this.lead.column;

        var fold;
        if (fold = this.session.getFoldAt(row, column, -1))
            return this.moveCursorTo(fold.start.row, fold.start.column);

        var line = this.session.getLine(row).substring(0, column);
        if (column === 0) {
            do {
                row--;
                line = this.doc.getLine(row);
            } while (row > 0 && /^\s*$/.test(line));

            column = line.length;
            if (!/\s+$/.test(line))
                line = "";
        }

        var leftOfCursor = lang.stringReverse(line);
        var index = this.$shortWordEndIndex(leftOfCursor);

        return this.moveCursorTo(row, column - index);
    };

    this.moveCursorWordRight = function() {
        if (this.session.$selectLongWords)
            this.moveCursorLongWordRight();
        else
            this.moveCursorShortWordRight();
    };

    this.moveCursorWordLeft = function() {
        if (this.session.$selectLongWords)
            this.moveCursorLongWordLeft();
        else
            this.moveCursorShortWordLeft();
    };
    this.moveCursorBy = function(rows, chars) {
        var screenPos = this.session.documentToScreenPosition(
            this.lead.row,
            this.lead.column
        );

        var offsetX;

        if (chars === 0) {
            if (rows !== 0) {
                if (this.session.$bidiHandler.isBidiRow(screenPos.row, this.lead.row)) {
                    offsetX = this.session.$bidiHandler.getPosLeft(screenPos.column);
                    screenPos.column = Math.round(offsetX / this.session.$bidiHandler.charWidths[0]);
                } else {
                    offsetX = screenPos.column * this.session.$bidiHandler.charWidths[0];
                }
            }

            if (this.$desiredColumn)
                screenPos.column = this.$desiredColumn;
            else
                this.$desiredColumn = screenPos.column;
        }

        var docPos = this.session.screenToDocumentPosition(screenPos.row + rows, screenPos.column, offsetX);
        
        if (rows !== 0 && chars === 0 && docPos.row === this.lead.row && docPos.column === this.lead.column) {
            if (this.session.lineWidgets && this.session.lineWidgets[docPos.row]) {
                if (docPos.row > 0 || rows > 0)
                    docPos.row++;
            }
        }
        this.moveCursorTo(docPos.row, docPos.column + chars, chars === 0);
    };
    this.moveCursorToPosition = function(position) {
        this.moveCursorTo(position.row, position.column);
    };
    this.moveCursorTo = function(row, column, keepDesiredColumn) {
        var fold = this.session.getFoldAt(row, column, 1);
        if (fold) {
            row = fold.start.row;
            column = fold.start.column;
        }

        this.$keepDesiredColumnOnChange = true;
        var line = this.session.getLine(row);
        if (/[\uDC00-\uDFFF]/.test(line.charAt(column)) && line.charAt(column - 1)) {
            if (this.lead.row == row && this.lead.column == column + 1)
                column = column - 1;
            else
                column = column + 1;
        }
        this.lead.setPosition(row, column);
        this.$keepDesiredColumnOnChange = false;

        if (!keepDesiredColumn)
            this.$desiredColumn = null;
    };
    this.moveCursorToScreen = function(row, column, keepDesiredColumn) {
        var pos = this.session.screenToDocumentPosition(row, column);
        this.moveCursorTo(pos.row, pos.column, keepDesiredColumn);
    };
    this.detach = function() {
        this.lead.detach();
        this.anchor.detach();
        this.session = this.doc = null;
    };

    this.fromOrientedRange = function(range) {
        this.setSelectionRange(range, range.cursor == range.start);
        this.$desiredColumn = range.desiredColumn || this.$desiredColumn;
    };

    this.toOrientedRange = function(range) {
        var r = this.getRange();
        if (range) {
            range.start.column = r.start.column;
            range.start.row = r.start.row;
            range.end.column = r.end.column;
            range.end.row = r.end.row;
        } else {
            range = r;
        }

        range.cursor = this.isBackwards() ? range.start : range.end;
        range.desiredColumn = this.$desiredColumn;
        return range;
    };
    this.getRangeOfMovements = function(func) {
        var start = this.getCursor();
        try {
            func(this);
            var end = this.getCursor();
            return Range.fromPoints(start,end);
        } catch(e) {
            return Range.fromPoints(start,start);
        } finally {
            this.moveCursorToPosition(start);
        }
    };

    this.toJSON = function() {
        if (this.rangeCount) {
            var data = this.ranges.map(function(r) {
                var r1 = r.clone();
                r1.isBackwards = r.cursor == r.start;
                return r1;
            });
        } else {
            var data = this.getRange();
            data.isBackwards = this.isBackwards();
        }
        return data;
    };

    this.fromJSON = function(data) {
        if (data.start == undefined) {
            if (this.rangeList) {
                this.toSingleRange(data[0]);
                for (var i = data.length; i--; ) {
                    var r = Range.fromPoints(data[i].start, data[i].end);
                    if (data[i].isBackwards)
                        r.cursor = r.start;
                    this.addRange(r, true);
                }
                return;
            } else
                data = data[0];
        }
        if (this.rangeList)
            this.toSingleRange(data);
        this.setSelectionRange(data, data.isBackwards);
    };

    this.isEqual = function(data) {
        if ((data.length || this.rangeCount) && data.length != this.rangeCount)
            return false;
        if (!data.length || !this.ranges)
            return this.getRange().isEqual(data);

        for (var i = this.ranges.length; i--; ) {
            if (!this.ranges[i].isEqual(data[i]))
                return false;
        }
        return true;
    };

}).call(Selection.prototype);

exports.Selection = Selection;
});

ace.define("ace/tokenizer",["require","exports","module","ace/config"], function(acequire, exports, module) {
"use strict";

var config = acequire("./config");
var MAX_TOKEN_COUNT = 2000;
var Tokenizer = function(rules) {
    this.states = rules;

    this.regExps = {};
    this.matchMappings = {};
    for (var key in this.states) {
        var state = this.states[key];
        var ruleRegExps = [];
        var matchTotal = 0;
        var mapping = this.matchMappings[key] = {defaultToken: "text"};
        var flag = "g";

        var splitterRurles = [];
        for (var i = 0; i < state.length; i++) {
            var rule = state[i];
            if (rule.defaultToken)
                mapping.defaultToken = rule.defaultToken;
            if (rule.caseInsensitive)
                flag = "gi";
            if (rule.regex == null)
                continue;

            if (rule.regex instanceof RegExp)
                rule.regex = rule.regex.toString().slice(1, -1);
            var adjustedregex = rule.regex;
            var matchcount = new RegExp("(?:(" + adjustedregex + ")|(.))").exec("a").length - 2;
            if (Array.isArray(rule.token)) {
                if (rule.token.length == 1 || matchcount == 1) {
                    rule.token = rule.token[0];
                } else if (matchcount - 1 != rule.token.length) {
                    this.reportError("number of classes and regexp groups doesn't match", { 
                        rule: rule,
                        groupCount: matchcount - 1
                    });
                    rule.token = rule.token[0];
                } else {
                    rule.tokenArray = rule.token;
                    rule.token = null;
                    rule.onMatch = this.$arrayTokens;
                }
            } else if (typeof rule.token == "function" && !rule.onMatch) {
                if (matchcount > 1)
                    rule.onMatch = this.$applyToken;
                else
                    rule.onMatch = rule.token;
            }

            if (matchcount > 1) {
                if (/\\\d/.test(rule.regex)) {
                    adjustedregex = rule.regex.replace(/\\([0-9]+)/g, function(match, digit) {
                        return "\\" + (parseInt(digit, 10) + matchTotal + 1);
                    });
                } else {
                    matchcount = 1;
                    adjustedregex = this.removeCapturingGroups(rule.regex);
                }
                if (!rule.splitRegex && typeof rule.token != "string")
                    splitterRurles.push(rule); // flag will be known only at the very end
            }

            mapping[matchTotal] = i;
            matchTotal += matchcount;

            ruleRegExps.push(adjustedregex);
            if (!rule.onMatch)
                rule.onMatch = null;
        }
        
        if (!ruleRegExps.length) {
            mapping[0] = 0;
            ruleRegExps.push("$");
        }
        
        splitterRurles.forEach(function(rule) {
            rule.splitRegex = this.createSplitterRegexp(rule.regex, flag);
        }, this);

        this.regExps[key] = new RegExp("(" + ruleRegExps.join(")|(") + ")|($)", flag);
    }
};

(function() {
    this.$setMaxTokenCount = function(m) {
        MAX_TOKEN_COUNT = m | 0;
    };
    
    this.$applyToken = function(str) {
        var values = this.splitRegex.exec(str).slice(1);
        var types = this.token.apply(this, values);
        if (typeof types === "string")
            return [{type: types, value: str}];

        var tokens = [];
        for (var i = 0, l = types.length; i < l; i++) {
            if (values[i])
                tokens[tokens.length] = {
                    type: types[i],
                    value: values[i]
                };
        }
        return tokens;
    };

    this.$arrayTokens = function(str) {
        if (!str)
            return [];
        var values = this.splitRegex.exec(str);
        if (!values)
            return "text";
        var tokens = [];
        var types = this.tokenArray;
        for (var i = 0, l = types.length; i < l; i++) {
            if (values[i + 1])
                tokens[tokens.length] = {
                    type: types[i],
                    value: values[i + 1]
                };
        }
        return tokens;
    };

    this.removeCapturingGroups = function(src) {
        var r = src.replace(
            /\[(?:\\.|[^\]])*?\]|\\.|\(\?[:=!]|(\()/g,
            function(x, y) {return y ? "(?:" : x;}
        );
        return r;
    };

    this.createSplitterRegexp = function(src, flag) {
        if (src.indexOf("(?=") != -1) {
            var stack = 0;
            var inChClass = false;
            var lastCapture = {};
            src.replace(/(\\.)|(\((?:\?[=!])?)|(\))|([\[\]])/g, function(
                m, esc, parenOpen, parenClose, square, index
            ) {
                if (inChClass) {
                    inChClass = square != "]";
                } else if (square) {
                    inChClass = true;
                } else if (parenClose) {
                    if (stack == lastCapture.stack) {
                        lastCapture.end = index+1;
                        lastCapture.stack = -1;
                    }
                    stack--;
                } else if (parenOpen) {
                    stack++;
                    if (parenOpen.length != 1) {
                        lastCapture.stack = stack;
                        lastCapture.start = index;
                    }
                }
                return m;
            });

            if (lastCapture.end != null && /^\)*$/.test(src.substr(lastCapture.end)))
                src = src.substring(0, lastCapture.start) + src.substr(lastCapture.end);
        }
        if (src.charAt(0) != "^") src = "^" + src;
        if (src.charAt(src.length - 1) != "$") src += "$";
        
        return new RegExp(src, (flag||"").replace("g", ""));
    };
    this.getLineTokens = function(line, startState) {
        if (startState && typeof startState != "string") {
            var stack = startState.slice(0);
            startState = stack[0];
            if (startState === "#tmp") {
                stack.shift();
                startState = stack.shift();
            }
        } else
            var stack = [];

        var currentState = startState || "start";
        var state = this.states[currentState];
        if (!state) {
            currentState = "start";
            state = this.states[currentState];
        }
        var mapping = this.matchMappings[currentState];
        var re = this.regExps[currentState];
        re.lastIndex = 0;

        var match, tokens = [];
        var lastIndex = 0;
        var matchAttempts = 0;

        var token = {type: null, value: ""};

        while (match = re.exec(line)) {
            var type = mapping.defaultToken;
            var rule = null;
            var value = match[0];
            var index = re.lastIndex;

            if (index - value.length > lastIndex) {
                var skipped = line.substring(lastIndex, index - value.length);
                if (token.type == type) {
                    token.value += skipped;
                } else {
                    if (token.type)
                        tokens.push(token);
                    token = {type: type, value: skipped};
                }
            }

            for (var i = 0; i < match.length-2; i++) {
                if (match[i + 1] === undefined)
                    continue;

                rule = state[mapping[i]];

                if (rule.onMatch)
                    type = rule.onMatch(value, currentState, stack, line);
                else
                    type = rule.token;

                if (rule.next) {
                    if (typeof rule.next == "string") {
                        currentState = rule.next;
                    } else {
                        currentState = rule.next(currentState, stack);
                    }
                    
                    state = this.states[currentState];
                    if (!state) {
                        this.reportError("state doesn't exist", currentState);
                        currentState = "start";
                        state = this.states[currentState];
                    }
                    mapping = this.matchMappings[currentState];
                    lastIndex = index;
                    re = this.regExps[currentState];
                    re.lastIndex = index;
                }
                if (rule.consumeLineEnd)
                    lastIndex = index;
                break;
            }

            if (value) {
                if (typeof type === "string") {
                    if ((!rule || rule.merge !== false) && token.type === type) {
                        token.value += value;
                    } else {
                        if (token.type)
                            tokens.push(token);
                        token = {type: type, value: value};
                    }
                } else if (type) {
                    if (token.type)
                        tokens.push(token);
                    token = {type: null, value: ""};
                    for (var i = 0; i < type.length; i++)
                        tokens.push(type[i]);
                }
            }

            if (lastIndex == line.length)
                break;

            lastIndex = index;

            if (matchAttempts++ > MAX_TOKEN_COUNT) {
                if (matchAttempts > 2 * line.length) {
                    this.reportError("infinite loop with in ace tokenizer", {
                        startState: startState,
                        line: line
                    });
                }
                while (lastIndex < line.length) {
                    if (token.type)
                        tokens.push(token);
                    token = {
                        value: line.substring(lastIndex, lastIndex += 2000),
                        type: "overflow"
                    };
                }
                currentState = "start";
                stack = [];
                break;
            }
        }

        if (token.type)
            tokens.push(token);
        
        if (stack.length > 1) {
            if (stack[0] !== currentState)
                stack.unshift("#tmp", currentState);
        }
        return {
            tokens : tokens,
            state : stack.length ? stack : currentState
        };
    };
    
    this.reportError = config.reportError;
    
}).call(Tokenizer.prototype);

exports.Tokenizer = Tokenizer;
});

ace.define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/lang"], function(acequire, exports, module) {
"use strict";

var lang = acequire("../lib/lang");

var TextHighlightRules = function() {

    this.$rules = {
        "start" : [{
            token : "empty_line",
            regex : '^$'
        }, {
            defaultToken : "text"
        }]
    };
};

(function() {

    this.addRules = function(rules, prefix) {
        if (!prefix) {
            for (var key in rules)
                this.$rules[key] = rules[key];
            return;
        }
        for (var key in rules) {
            var state = rules[key];
            for (var i = 0; i < state.length; i++) {
                var rule = state[i];
                if (rule.next || rule.onMatch) {
                    if (typeof rule.next == "string") {
                        if (rule.next.indexOf(prefix) !== 0)
                            rule.next = prefix + rule.next;
                    }
                    if (rule.nextState && rule.nextState.indexOf(prefix) !== 0)
                        rule.nextState = prefix + rule.nextState;
                }
            }
            this.$rules[prefix + key] = state;
        }
    };

    this.getRules = function() {
        return this.$rules;
    };

    this.embedRules = function (HighlightRules, prefix, escapeRules, states, append) {
        var embedRules = typeof HighlightRules == "function"
            ? new HighlightRules().getRules()
            : HighlightRules;
        if (states) {
            for (var i = 0; i < states.length; i++)
                states[i] = prefix + states[i];
        } else {
            states = [];
            for (var key in embedRules)
                states.push(prefix + key);
        }

        this.addRules(embedRules, prefix);

        if (escapeRules) {
            var addRules = Array.prototype[append ? "push" : "unshift"];
            for (var i = 0; i < states.length; i++)
                addRules.apply(this.$rules[states[i]], lang.deepCopy(escapeRules));
        }

        if (!this.$embeds)
            this.$embeds = [];
        this.$embeds.push(prefix);
    };

    this.getEmbeds = function() {
        return this.$embeds;
    };

    var pushState = function(currentState, stack) {
        if (currentState != "start" || stack.length)
            stack.unshift(this.nextState, currentState);
        return this.nextState;
    };
    var popState = function(currentState, stack) {
        stack.shift();
        return stack.shift() || "start";
    };

    this.normalizeRules = function() {
        var id = 0;
        var rules = this.$rules;
        function processState(key) {
            var state = rules[key];
            state.processed = true;
            for (var i = 0; i < state.length; i++) {
                var rule = state[i];
                var toInsert = null;
                if (Array.isArray(rule)) {
                    toInsert = rule;
                    rule = {};
                }
                if (!rule.regex && rule.start) {
                    rule.regex = rule.start;
                    if (!rule.next)
                        rule.next = [];
                    rule.next.push({
                        defaultToken: rule.token
                    }, {
                        token: rule.token + ".end",
                        regex: rule.end || rule.start,
                        next: "pop"
                    });
                    rule.token = rule.token + ".start";
                    rule.push = true;
                }
                var next = rule.next || rule.push;
                if (next && Array.isArray(next)) {
                    var stateName = rule.stateName;
                    if (!stateName)  {
                        stateName = rule.token;
                        if (typeof stateName != "string")
                            stateName = stateName[0] || "";
                        if (rules[stateName])
                            stateName += id++;
                    }
                    rules[stateName] = next;
                    rule.next = stateName;
                    processState(stateName);
                } else if (next == "pop") {
                    rule.next = popState;
                }

                if (rule.push) {
                    rule.nextState = rule.next || rule.push;
                    rule.next = pushState;
                    delete rule.push;
                }

                if (rule.rules) {
                    for (var r in rule.rules) {
                        if (rules[r]) {
                            if (rules[r].push)
                                rules[r].push.apply(rules[r], rule.rules[r]);
                        } else {
                            rules[r] = rule.rules[r];
                        }
                    }
                }
                var includeName = typeof rule == "string" ? rule : rule.include;
                if (includeName) {
                    if (Array.isArray(includeName))
                        toInsert = includeName.map(function(x) { return rules[x]; });
                    else
                        toInsert = rules[includeName];
                }

                if (toInsert) {
                    var args = [i, 1].concat(toInsert);
                    if (rule.noEscape)
                        args = args.filter(function(x) {return !x.next;});
                    state.splice.apply(state, args);
                    i--;
                }
                
                if (rule.keywordMap) {
                    rule.token = this.createKeywordMapper(
                        rule.keywordMap, rule.defaultToken || "text", rule.caseInsensitive
                    );
                    delete rule.defaultToken;
                }
            }
        }
        Object.keys(rules).forEach(processState, this);
    };

    this.createKeywordMapper = function(map, defaultToken, ignoreCase, splitChar) {
        var keywords = Object.create(null);
        Object.keys(map).forEach(function(className) {
            var a = map[className];
            if (ignoreCase)
                a = a.toLowerCase();
            var list = a.split(splitChar || "|");
            for (var i = list.length; i--; )
                keywords[list[i]] = className;
        });
        if (Object.getPrototypeOf(keywords)) {
            keywords.__proto__ = null;
        }
        this.$keywordList = Object.keys(keywords);
        map = null;
        return ignoreCase
            ? function(value) {return keywords[value.toLowerCase()] || defaultToken; }
            : function(value) {return keywords[value] || defaultToken; };
    };

    this.getKeywords = function() {
        return this.$keywords;
    };

}).call(TextHighlightRules.prototype);

exports.TextHighlightRules = TextHighlightRules;
});

ace.define("ace/mode/behaviour",["require","exports","module"], function(acequire, exports, module) {
"use strict";

var Behaviour = function() {
   this.$behaviours = {};
};

(function () {

    this.add = function (name, action, callback) {
        switch (undefined) {
          case this.$behaviours:
              this.$behaviours = {};
          case this.$behaviours[name]:
              this.$behaviours[name] = {};
        }
        this.$behaviours[name][action] = callback;
    };
    
    this.addBehaviours = function (behaviours) {
        for (var key in behaviours) {
            for (var action in behaviours[key]) {
                this.add(key, action, behaviours[key][action]);
            }
        }
    };
    
    this.remove = function (name) {
        if (this.$behaviours && this.$behaviours[name]) {
            delete this.$behaviours[name];
        }
    };
    
    this.inherit = function (mode, filter) {
        if (typeof mode === "function") {
            var behaviours = new mode().getBehaviours(filter);
        } else {
            var behaviours = mode.getBehaviours(filter);
        }
        this.addBehaviours(behaviours);
    };
    
    this.getBehaviours = function (filter) {
        if (!filter) {
            return this.$behaviours;
        } else {
            var ret = {};
            for (var i = 0; i < filter.length; i++) {
                if (this.$behaviours[filter[i]]) {
                    ret[filter[i]] = this.$behaviours[filter[i]];
                }
            }
            return ret;
        }
    };

}).call(Behaviour.prototype);

exports.Behaviour = Behaviour;
});

ace.define("ace/token_iterator",["require","exports","module","ace/range"], function(acequire, exports, module) {
"use strict";

var Range = acequire("./range").Range;
var TokenIterator = function(session, initialRow, initialColumn) {
    this.$session = session;
    this.$row = initialRow;
    this.$rowTokens = session.getTokens(initialRow);

    var token = session.getTokenAt(initialRow, initialColumn);
    this.$tokenIndex = token ? token.index : -1;
};

(function() { 
    this.stepBackward = function() {
        this.$tokenIndex -= 1;
        
        while (this.$tokenIndex < 0) {
            this.$row -= 1;
            if (this.$row < 0) {
                this.$row = 0;
                return null;
            }
                
            this.$rowTokens = this.$session.getTokens(this.$row);
            this.$tokenIndex = this.$rowTokens.length - 1;
        }
            
        return this.$rowTokens[this.$tokenIndex];
    };   
    this.stepForward = function() {
        this.$tokenIndex += 1;
        var rowCount;
        while (this.$tokenIndex >= this.$rowTokens.length) {
            this.$row += 1;
            if (!rowCount)
                rowCount = this.$session.getLength();
            if (this.$row >= rowCount) {
                this.$row = rowCount - 1;
                return null;
            }

            this.$rowTokens = this.$session.getTokens(this.$row);
            this.$tokenIndex = 0;
        }
            
        return this.$rowTokens[this.$tokenIndex];
    };      
    this.getCurrentToken = function () {
        return this.$rowTokens[this.$tokenIndex];
    };      
    this.getCurrentTokenRow = function () {
        return this.$row;
    };     
    this.getCurrentTokenColumn = function() {
        var rowTokens = this.$rowTokens;
        var tokenIndex = this.$tokenIndex;
        var column = rowTokens[tokenIndex].start;
        if (column !== undefined)
            return column;
            
        column = 0;
        while (tokenIndex > 0) {
            tokenIndex -= 1;
            column += rowTokens[tokenIndex].value.length;
        }
        
        return column;  
    };
    this.getCurrentTokenPosition = function() {
        return {row: this.$row, column: this.getCurrentTokenColumn()};
    };
    this.getCurrentTokenRange = function() {
        var token = this.$rowTokens[this.$tokenIndex];
        var column = this.getCurrentTokenColumn();
        return new Range(this.$row, column, this.$row, column + token.value.length);
    };

}).call(TokenIterator.prototype);

exports.TokenIterator = TokenIterator;
});

ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"], function(acequire, exports, module) {
"use strict";

var oop = acequire("../../lib/oop");
var Behaviour = acequire("../behaviour").Behaviour;
var TokenIterator = acequire("../../token_iterator").TokenIterator;
var lang = acequire("../../lib/lang");

var SAFE_INSERT_IN_TOKENS =
    ["text", "paren.rparen", "punctuation.operator"];
var SAFE_INSERT_BEFORE_TOKENS =
    ["text", "paren.rparen", "punctuation.operator", "comment"];

var context;
var contextCache = {};
var defaultQuotes = {'"' : '"', "'" : "'"};

var initContext = function(editor) {
    var id = -1;
    if (editor.multiSelect) {
        id = editor.selection.index;
        if (contextCache.rangeCount != editor.multiSelect.rangeCount)
            contextCache = {rangeCount: editor.multiSelect.rangeCount};
    }
    if (contextCache[id])
        return context = contextCache[id];
    context = contextCache[id] = {
        autoInsertedBrackets: 0,
        autoInsertedRow: -1,
        autoInsertedLineEnd: "",
        maybeInsertedBrackets: 0,
        maybeInsertedRow: -1,
        maybeInsertedLineStart: "",
        maybeInsertedLineEnd: ""
    };
};

var getWrapped = function(selection, selected, opening, closing) {
    var rowDiff = selection.end.row - selection.start.row;
    return {
        text: opening + selected + closing,
        selection: [
                0,
                selection.start.column + 1,
                rowDiff,
                selection.end.column + (rowDiff ? 0 : 1)
            ]
    };
};

var CstyleBehaviour = function(options) {
    this.add("braces", "insertion", function(state, action, editor, session, text) {
        var cursor = editor.getCursorPosition();
        var line = session.doc.getLine(cursor.row);
        if (text == '{') {
            initContext(editor);
            var selection = editor.getSelectionRange();
            var selected = session.doc.getTextRange(selection);
            if (selected !== "" && selected !== "{" && editor.getWrapBehavioursEnabled()) {
                return getWrapped(selection, selected, '{', '}');
            } else if (CstyleBehaviour.isSaneInsertion(editor, session)) {
                if (/[\]\}\)]/.test(line[cursor.column]) || editor.inMultiSelectMode || options && options.braces) {
                    CstyleBehaviour.recordAutoInsert(editor, session, "}");
                    return {
                        text: '{}',
                        selection: [1, 1]
                    };
                } else {
                    CstyleBehaviour.recordMaybeInsert(editor, session, "{");
                    return {
                        text: '{',
                        selection: [1, 1]
                    };
                }
            }
        } else if (text == '}') {
            initContext(editor);
            var rightChar = line.substring(cursor.column, cursor.column + 1);
            if (rightChar == '}') {
                var matching = session.$findOpeningBracket('}', {column: cursor.column + 1, row: cursor.row});
                if (matching !== null && CstyleBehaviour.isAutoInsertedClosing(cursor, line, text)) {
                    CstyleBehaviour.popAutoInsertedClosing();
                    return {
                        text: '',
                        selection: [1, 1]
                    };
                }
            }
        } else if (text == "\n" || text == "\r\n") {
            initContext(editor);
            var closing = "";
            if (CstyleBehaviour.isMaybeInsertedClosing(cursor, line)) {
                closing = lang.stringRepeat("}", context.maybeInsertedBrackets);
                CstyleBehaviour.clearMaybeInsertedClosing();
            }
            var rightChar = line.substring(cursor.column, cursor.column + 1);
            if (rightChar === '}') {
                var openBracePos = session.findMatchingBracket({row: cursor.row, column: cursor.column+1}, '}');
                if (!openBracePos)
                     return null;
                var next_indent = this.$getIndent(session.getLine(openBracePos.row));
            } else if (closing) {
                var next_indent = this.$getIndent(line);
            } else {
                CstyleBehaviour.clearMaybeInsertedClosing();
                return;
            }
            var indent = next_indent + session.getTabString();

            return {
                text: '\n' + indent + '\n' + next_indent + closing,
                selection: [1, indent.length, 1, indent.length]
            };
        } else {
            CstyleBehaviour.clearMaybeInsertedClosing();
        }
    });

    this.add("braces", "deletion", function(state, action, editor, session, range) {
        var selected = session.doc.getTextRange(range);
        if (!range.isMultiLine() && selected == '{') {
            initContext(editor);
            var line = session.doc.getLine(range.start.row);
            var rightChar = line.substring(range.end.column, range.end.column + 1);
            if (rightChar == '}') {
                range.end.column++;
                return range;
            } else {
                context.maybeInsertedBrackets--;
            }
        }
    });

    this.add("parens", "insertion", function(state, action, editor, session, text) {
        if (text == '(') {
            initContext(editor);
            var selection = editor.getSelectionRange();
            var selected = session.doc.getTextRange(selection);
            if (selected !== "" && editor.getWrapBehavioursEnabled()) {
                return getWrapped(selection, selected, '(', ')');
            } else if (CstyleBehaviour.isSaneInsertion(editor, session)) {
                CstyleBehaviour.recordAutoInsert(editor, session, ")");
                return {
                    text: '()',
                    selection: [1, 1]
                };
            }
        } else if (text == ')') {
            initContext(editor);
            var cursor = editor.getCursorPosition();
            var line = session.doc.getLine(cursor.row);
            var rightChar = line.substring(cursor.column, cursor.column + 1);
            if (rightChar == ')') {
                var matching = session.$findOpeningBracket(')', {column: cursor.column + 1, row: cursor.row});
                if (matching !== null && CstyleBehaviour.isAutoInsertedClosing(cursor, line, text)) {
                    CstyleBehaviour.popAutoInsertedClosing();
                    return {
                        text: '',
                        selection: [1, 1]
                    };
                }
            }
        }
    });

    this.add("parens", "deletion", function(state, action, editor, session, range) {
        var selected = session.doc.getTextRange(range);
        if (!range.isMultiLine() && selected == '(') {
            initContext(editor);
            var line = session.doc.getLine(range.start.row);
            var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
            if (rightChar == ')') {
                range.end.column++;
                return range;
            }
        }
    });

    this.add("brackets", "insertion", function(state, action, editor, session, text) {
        if (text == '[') {
            initContext(editor);
            var selection = editor.getSelectionRange();
            var selected = session.doc.getTextRange(selection);
            if (selected !== "" && editor.getWrapBehavioursEnabled()) {
                return getWrapped(selection, selected, '[', ']');
            } else if (CstyleBehaviour.isSaneInsertion(editor, session)) {
                CstyleBehaviour.recordAutoInsert(editor, session, "]");
                return {
                    text: '[]',
                    selection: [1, 1]
                };
            }
        } else if (text == ']') {
            initContext(editor);
            var cursor = editor.getCursorPosition();
            var line = session.doc.getLine(cursor.row);
            var rightChar = line.substring(cursor.column, cursor.column + 1);
            if (rightChar == ']') {
                var matching = session.$findOpeningBracket(']', {column: cursor.column + 1, row: cursor.row});
                if (matching !== null && CstyleBehaviour.isAutoInsertedClosing(cursor, line, text)) {
                    CstyleBehaviour.popAutoInsertedClosing();
                    return {
                        text: '',
                        selection: [1, 1]
                    };
                }
            }
        }
    });

    this.add("brackets", "deletion", function(state, action, editor, session, range) {
        var selected = session.doc.getTextRange(range);
        if (!range.isMultiLine() && selected == '[') {
            initContext(editor);
            var line = session.doc.getLine(range.start.row);
            var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
            if (rightChar == ']') {
                range.end.column++;
                return range;
            }
        }
    });

    this.add("string_dquotes", "insertion", function(state, action, editor, session, text) {
        var quotes = session.$mode.$quotes || defaultQuotes;
        if (text.length == 1 && quotes[text]) {
            if (this.lineCommentStart && this.lineCommentStart.indexOf(text) != -1)
                return;
            initContext(editor);
            var quote = text;
            var selection = editor.getSelectionRange();
            var selected = session.doc.getTextRange(selection);
            if (selected !== "" && (selected.length != 1 || !quotes[selected]) && editor.getWrapBehavioursEnabled()) {
                return getWrapped(selection, selected, quote, quote);
            } else if (!selected) {
                var cursor = editor.getCursorPosition();
                var line = session.doc.getLine(cursor.row);
                var leftChar = line.substring(cursor.column-1, cursor.column);
                var rightChar = line.substring(cursor.column, cursor.column + 1);

                var token = session.getTokenAt(cursor.row, cursor.column);
                var rightToken = session.getTokenAt(cursor.row, cursor.column + 1);
                if (leftChar == "\\" && token && /escape/.test(token.type))
                    return null;

                var stringBefore = token && /string|escape/.test(token.type);
                var stringAfter = !rightToken || /string|escape/.test(rightToken.type);

                var pair;
                if (rightChar == quote) {
                    pair = stringBefore !== stringAfter;
                    if (pair && /string\.end/.test(rightToken.type))
                        pair = false;
                } else {
                    if (stringBefore && !stringAfter)
                        return null; // wrap string with different quote
                    if (stringBefore && stringAfter)
                        return null; // do not pair quotes inside strings
                    var wordRe = session.$mode.tokenRe;
                    wordRe.lastIndex = 0;
                    var isWordBefore = wordRe.test(leftChar);
                    wordRe.lastIndex = 0;
                    var isWordAfter = wordRe.test(leftChar);
                    if (isWordBefore || isWordAfter)
                        return null; // before or after alphanumeric
                    if (rightChar && !/[\s;,.})\]\\]/.test(rightChar))
                        return null; // there is rightChar and it isn't closing
                    pair = true;
                }
                return {
                    text: pair ? quote + quote : "",
                    selection: [1,1]
                };
            }
        }
    });

    this.add("string_dquotes", "deletion", function(state, action, editor, session, range) {
        var selected = session.doc.getTextRange(range);
        if (!range.isMultiLine() && (selected == '"' || selected == "'")) {
            initContext(editor);
            var line = session.doc.getLine(range.start.row);
            var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
            if (rightChar == selected) {
                range.end.column++;
                return range;
            }
        }
    });

};


CstyleBehaviour.isSaneInsertion = function(editor, session) {
    var cursor = editor.getCursorPosition();
    var iterator = new TokenIterator(session, cursor.row, cursor.column);
    if (!this.$matchTokenType(iterator.getCurrentToken() || "text", SAFE_INSERT_IN_TOKENS)) {
        var iterator2 = new TokenIterator(session, cursor.row, cursor.column + 1);
        if (!this.$matchTokenType(iterator2.getCurrentToken() || "text", SAFE_INSERT_IN_TOKENS))
            return false;
    }
    iterator.stepForward();
    return iterator.getCurrentTokenRow() !== cursor.row ||
        this.$matchTokenType(iterator.getCurrentToken() || "text", SAFE_INSERT_BEFORE_TOKENS);
};

CstyleBehaviour.$matchTokenType = function(token, types) {
    return types.indexOf(token.type || token) > -1;
};

CstyleBehaviour.recordAutoInsert = function(editor, session, bracket) {
    var cursor = editor.getCursorPosition();
    var line = session.doc.getLine(cursor.row);
    if (!this.isAutoInsertedClosing(cursor, line, context.autoInsertedLineEnd[0]))
        context.autoInsertedBrackets = 0;
    context.autoInsertedRow = cursor.row;
    context.autoInsertedLineEnd = bracket + line.substr(cursor.column);
    context.autoInsertedBrackets++;
};

CstyleBehaviour.recordMaybeInsert = function(editor, session, bracket) {
    var cursor = editor.getCursorPosition();
    var line = session.doc.getLine(cursor.row);
    if (!this.isMaybeInsertedClosing(cursor, line))
        context.maybeInsertedBrackets = 0;
    context.maybeInsertedRow = cursor.row;
    context.maybeInsertedLineStart = line.substr(0, cursor.column) + bracket;
    context.maybeInsertedLineEnd = line.substr(cursor.column);
    context.maybeInsertedBrackets++;
};

CstyleBehaviour.isAutoInsertedClosing = function(cursor, line, bracket) {
    return context.autoInsertedBrackets > 0 &&
        cursor.row === context.autoInsertedRow &&
        bracket === context.autoInsertedLineEnd[0] &&
        line.substr(cursor.column) === context.autoInsertedLineEnd;
};

CstyleBehaviour.isMaybeInsertedClosing = function(cursor, line) {
    return context.maybeInsertedBrackets > 0 &&
        cursor.row === context.maybeInsertedRow &&
        line.substr(cursor.column) === context.maybeInsertedLineEnd &&
        line.substr(0, cursor.column) == context.maybeInsertedLineStart;
};

CstyleBehaviour.popAutoInsertedClosing = function() {
    context.autoInsertedLineEnd = context.autoInsertedLineEnd.substr(1);
    context.autoInsertedBrackets--;
};

CstyleBehaviour.clearMaybeInsertedClosing = function() {
    if (context) {
        context.maybeInsertedBrackets = 0;
        context.maybeInsertedRow = -1;
    }
};



oop.inherits(CstyleBehaviour, Behaviour);

exports.CstyleBehaviour = CstyleBehaviour;
});

ace.define("ace/unicode",["require","exports","module"], function(acequire, exports, module) {
"use strict";
exports.packages = {};

addUnicodePackage({
    L:  "0041-005A0061-007A00AA00B500BA00C0-00D600D8-00F600F8-02C102C6-02D102E0-02E402EC02EE0370-037403760377037A-037D03860388-038A038C038E-03A103A3-03F503F7-0481048A-05250531-055605590561-058705D0-05EA05F0-05F20621-064A066E066F0671-06D306D506E506E606EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA07F407F507FA0800-0815081A082408280904-0939093D09500958-0961097109720979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10D05-0D0C0D0E-0D100D12-0D280D2A-0D390D3D0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E460E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EC60EDC0EDD0F000F40-0F470F49-0F6C0F88-0F8B1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10A0-10C510D0-10FA10FC1100-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317D717DC1820-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541AA71B05-1B331B45-1B4B1B83-1BA01BAE1BAF1C00-1C231C4D-1C4F1C5A-1C7D1CE9-1CEC1CEE-1CF11D00-1DBF1E00-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FBC1FBE1FC2-1FC41FC6-1FCC1FD0-1FD31FD6-1FDB1FE0-1FEC1FF2-1FF41FF6-1FFC2071207F2090-209421022107210A-211321152119-211D212421262128212A-212D212F-2139213C-213F2145-2149214E218321842C00-2C2E2C30-2C5E2C60-2CE42CEB-2CEE2D00-2D252D30-2D652D6F2D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE2E2F300530063031-3035303B303C3041-3096309D-309F30A1-30FA30FC-30FF3105-312D3131-318E31A0-31B731F0-31FF3400-4DB54E00-9FCBA000-A48CA4D0-A4FDA500-A60CA610-A61FA62AA62BA640-A65FA662-A66EA67F-A697A6A0-A6E5A717-A71FA722-A788A78BA78CA7FB-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2A9CFAA00-AA28AA40-AA42AA44-AA4BAA60-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADB-AADDABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA2DFA30-FA6DFA70-FAD9FB00-FB06FB13-FB17FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF21-FF3AFF41-FF5AFF66-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC",
    Ll: "0061-007A00AA00B500BA00DF-00F600F8-00FF01010103010501070109010B010D010F01110113011501170119011B011D011F01210123012501270129012B012D012F01310133013501370138013A013C013E014001420144014601480149014B014D014F01510153015501570159015B015D015F01610163016501670169016B016D016F0171017301750177017A017C017E-0180018301850188018C018D019201950199-019B019E01A101A301A501A801AA01AB01AD01B001B401B601B901BA01BD-01BF01C601C901CC01CE01D001D201D401D601D801DA01DC01DD01DF01E101E301E501E701E901EB01ED01EF01F001F301F501F901FB01FD01FF02010203020502070209020B020D020F02110213021502170219021B021D021F02210223022502270229022B022D022F02310233-0239023C023F0240024202470249024B024D024F-02930295-02AF037103730377037B-037D039003AC-03CE03D003D103D5-03D703D903DB03DD03DF03E103E303E503E703E903EB03ED03EF-03F303F503F803FB03FC0430-045F04610463046504670469046B046D046F04710473047504770479047B047D047F0481048B048D048F04910493049504970499049B049D049F04A104A304A504A704A904AB04AD04AF04B104B304B504B704B904BB04BD04BF04C204C404C604C804CA04CC04CE04CF04D104D304D504D704D904DB04DD04DF04E104E304E504E704E904EB04ED04EF04F104F304F504F704F904FB04FD04FF05010503050505070509050B050D050F05110513051505170519051B051D051F0521052305250561-05871D00-1D2B1D62-1D771D79-1D9A1E011E031E051E071E091E0B1E0D1E0F1E111E131E151E171E191E1B1E1D1E1F1E211E231E251E271E291E2B1E2D1E2F1E311E331E351E371E391E3B1E3D1E3F1E411E431E451E471E491E4B1E4D1E4F1E511E531E551E571E591E5B1E5D1E5F1E611E631E651E671E691E6B1E6D1E6F1E711E731E751E771E791E7B1E7D1E7F1E811E831E851E871E891E8B1E8D1E8F1E911E931E95-1E9D1E9F1EA11EA31EA51EA71EA91EAB1EAD1EAF1EB11EB31EB51EB71EB91EBB1EBD1EBF1EC11EC31EC51EC71EC91ECB1ECD1ECF1ED11ED31ED51ED71ED91EDB1EDD1EDF1EE11EE31EE51EE71EE91EEB1EED1EEF1EF11EF31EF51EF71EF91EFB1EFD1EFF-1F071F10-1F151F20-1F271F30-1F371F40-1F451F50-1F571F60-1F671F70-1F7D1F80-1F871F90-1F971FA0-1FA71FB0-1FB41FB61FB71FBE1FC2-1FC41FC61FC71FD0-1FD31FD61FD71FE0-1FE71FF2-1FF41FF61FF7210A210E210F2113212F21342139213C213D2146-2149214E21842C30-2C5E2C612C652C662C682C6A2C6C2C712C732C742C76-2C7C2C812C832C852C872C892C8B2C8D2C8F2C912C932C952C972C992C9B2C9D2C9F2CA12CA32CA52CA72CA92CAB2CAD2CAF2CB12CB32CB52CB72CB92CBB2CBD2CBF2CC12CC32CC52CC72CC92CCB2CCD2CCF2CD12CD32CD52CD72CD92CDB2CDD2CDF2CE12CE32CE42CEC2CEE2D00-2D25A641A643A645A647A649A64BA64DA64FA651A653A655A657A659A65BA65DA65FA663A665A667A669A66BA66DA681A683A685A687A689A68BA68DA68FA691A693A695A697A723A725A727A729A72BA72DA72F-A731A733A735A737A739A73BA73DA73FA741A743A745A747A749A74BA74DA74FA751A753A755A757A759A75BA75DA75FA761A763A765A767A769A76BA76DA76FA771-A778A77AA77CA77FA781A783A785A787A78CFB00-FB06FB13-FB17FF41-FF5A",
    Lu: "0041-005A00C0-00D600D8-00DE01000102010401060108010A010C010E01100112011401160118011A011C011E01200122012401260128012A012C012E01300132013401360139013B013D013F0141014301450147014A014C014E01500152015401560158015A015C015E01600162016401660168016A016C016E017001720174017601780179017B017D018101820184018601870189-018B018E-0191019301940196-0198019C019D019F01A001A201A401A601A701A901AC01AE01AF01B1-01B301B501B701B801BC01C401C701CA01CD01CF01D101D301D501D701D901DB01DE01E001E201E401E601E801EA01EC01EE01F101F401F6-01F801FA01FC01FE02000202020402060208020A020C020E02100212021402160218021A021C021E02200222022402260228022A022C022E02300232023A023B023D023E02410243-02460248024A024C024E03700372037603860388-038A038C038E038F0391-03A103A3-03AB03CF03D2-03D403D803DA03DC03DE03E003E203E403E603E803EA03EC03EE03F403F703F903FA03FD-042F04600462046404660468046A046C046E04700472047404760478047A047C047E0480048A048C048E04900492049404960498049A049C049E04A004A204A404A604A804AA04AC04AE04B004B204B404B604B804BA04BC04BE04C004C104C304C504C704C904CB04CD04D004D204D404D604D804DA04DC04DE04E004E204E404E604E804EA04EC04EE04F004F204F404F604F804FA04FC04FE05000502050405060508050A050C050E05100512051405160518051A051C051E0520052205240531-055610A0-10C51E001E021E041E061E081E0A1E0C1E0E1E101E121E141E161E181E1A1E1C1E1E1E201E221E241E261E281E2A1E2C1E2E1E301E321E341E361E381E3A1E3C1E3E1E401E421E441E461E481E4A1E4C1E4E1E501E521E541E561E581E5A1E5C1E5E1E601E621E641E661E681E6A1E6C1E6E1E701E721E741E761E781E7A1E7C1E7E1E801E821E841E861E881E8A1E8C1E8E1E901E921E941E9E1EA01EA21EA41EA61EA81EAA1EAC1EAE1EB01EB21EB41EB61EB81EBA1EBC1EBE1EC01EC21EC41EC61EC81ECA1ECC1ECE1ED01ED21ED41ED61ED81EDA1EDC1EDE1EE01EE21EE41EE61EE81EEA1EEC1EEE1EF01EF21EF41EF61EF81EFA1EFC1EFE1F08-1F0F1F18-1F1D1F28-1F2F1F38-1F3F1F48-1F4D1F591F5B1F5D1F5F1F68-1F6F1FB8-1FBB1FC8-1FCB1FD8-1FDB1FE8-1FEC1FF8-1FFB21022107210B-210D2110-211221152119-211D212421262128212A-212D2130-2133213E213F214521832C00-2C2E2C602C62-2C642C672C692C6B2C6D-2C702C722C752C7E-2C802C822C842C862C882C8A2C8C2C8E2C902C922C942C962C982C9A2C9C2C9E2CA02CA22CA42CA62CA82CAA2CAC2CAE2CB02CB22CB42CB62CB82CBA2CBC2CBE2CC02CC22CC42CC62CC82CCA2CCC2CCE2CD02CD22CD42CD62CD82CDA2CDC2CDE2CE02CE22CEB2CEDA640A642A644A646A648A64AA64CA64EA650A652A654A656A658A65AA65CA65EA662A664A666A668A66AA66CA680A682A684A686A688A68AA68CA68EA690A692A694A696A722A724A726A728A72AA72CA72EA732A734A736A738A73AA73CA73EA740A742A744A746A748A74AA74CA74EA750A752A754A756A758A75AA75CA75EA760A762A764A766A768A76AA76CA76EA779A77BA77DA77EA780A782A784A786A78BFF21-FF3A",
    Lt: "01C501C801CB01F21F88-1F8F1F98-1F9F1FA8-1FAF1FBC1FCC1FFC",
    Lm: "02B0-02C102C6-02D102E0-02E402EC02EE0374037A0559064006E506E607F407F507FA081A0824082809710E460EC610FC17D718431AA71C78-1C7D1D2C-1D611D781D9B-1DBF2071207F2090-20942C7D2D6F2E2F30053031-3035303B309D309E30FC-30FEA015A4F8-A4FDA60CA67FA717-A71FA770A788A9CFAA70AADDFF70FF9EFF9F",
    Lo: "01BB01C0-01C3029405D0-05EA05F0-05F20621-063F0641-064A066E066F0671-06D306D506EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA0800-08150904-0939093D09500958-096109720979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10D05-0D0C0D0E-0D100D12-0D280D2A-0D390D3D0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E450E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EDC0EDD0F000F40-0F470F49-0F6C0F88-0F8B1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10D0-10FA1100-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317DC1820-18421844-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541B05-1B331B45-1B4B1B83-1BA01BAE1BAF1C00-1C231C4D-1C4F1C5A-1C771CE9-1CEC1CEE-1CF12135-21382D30-2D652D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE3006303C3041-3096309F30A1-30FA30FF3105-312D3131-318E31A0-31B731F0-31FF3400-4DB54E00-9FCBA000-A014A016-A48CA4D0-A4F7A500-A60BA610-A61FA62AA62BA66EA6A0-A6E5A7FB-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2AA00-AA28AA40-AA42AA44-AA4BAA60-AA6FAA71-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADBAADCABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA2DFA30-FA6DFA70-FAD9FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF66-FF6FFF71-FF9DFFA0-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC",
    M:  "0300-036F0483-04890591-05BD05BF05C105C205C405C505C70610-061A064B-065E067006D6-06DC06DE-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0900-0903093C093E-094E0951-0955096209630981-098309BC09BE-09C409C709C809CB-09CD09D709E209E30A01-0A030A3C0A3E-0A420A470A480A4B-0A4D0A510A700A710A750A81-0A830ABC0ABE-0AC50AC7-0AC90ACB-0ACD0AE20AE30B01-0B030B3C0B3E-0B440B470B480B4B-0B4D0B560B570B620B630B820BBE-0BC20BC6-0BC80BCA-0BCD0BD70C01-0C030C3E-0C440C46-0C480C4A-0C4D0C550C560C620C630C820C830CBC0CBE-0CC40CC6-0CC80CCA-0CCD0CD50CD60CE20CE30D020D030D3E-0D440D46-0D480D4A-0D4D0D570D620D630D820D830DCA0DCF-0DD40DD60DD8-0DDF0DF20DF30E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F3E0F3F0F71-0F840F860F870F90-0F970F99-0FBC0FC6102B-103E1056-1059105E-10601062-10641067-106D1071-10741082-108D108F109A-109D135F1712-17141732-1734175217531772177317B6-17D317DD180B-180D18A91920-192B1930-193B19B0-19C019C819C91A17-1A1B1A55-1A5E1A60-1A7C1A7F1B00-1B041B34-1B441B6B-1B731B80-1B821BA1-1BAA1C24-1C371CD0-1CD21CD4-1CE81CED1CF21DC0-1DE61DFD-1DFF20D0-20F02CEF-2CF12DE0-2DFF302A-302F3099309AA66F-A672A67CA67DA6F0A6F1A802A806A80BA823-A827A880A881A8B4-A8C4A8E0-A8F1A926-A92DA947-A953A980-A983A9B3-A9C0AA29-AA36AA43AA4CAA4DAA7BAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1ABE3-ABEAABECABEDFB1EFE00-FE0FFE20-FE26",
    Mn: "0300-036F0483-04870591-05BD05BF05C105C205C405C505C70610-061A064B-065E067006D6-06DC06DF-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0900-0902093C0941-0948094D0951-095509620963098109BC09C1-09C409CD09E209E30A010A020A3C0A410A420A470A480A4B-0A4D0A510A700A710A750A810A820ABC0AC1-0AC50AC70AC80ACD0AE20AE30B010B3C0B3F0B41-0B440B4D0B560B620B630B820BC00BCD0C3E-0C400C46-0C480C4A-0C4D0C550C560C620C630CBC0CBF0CC60CCC0CCD0CE20CE30D41-0D440D4D0D620D630DCA0DD2-0DD40DD60E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F71-0F7E0F80-0F840F860F870F90-0F970F99-0FBC0FC6102D-10301032-10371039103A103D103E10581059105E-10601071-1074108210851086108D109D135F1712-17141732-1734175217531772177317B7-17BD17C617C9-17D317DD180B-180D18A91920-19221927192819321939-193B1A171A181A561A58-1A5E1A601A621A65-1A6C1A73-1A7C1A7F1B00-1B031B341B36-1B3A1B3C1B421B6B-1B731B801B811BA2-1BA51BA81BA91C2C-1C331C361C371CD0-1CD21CD4-1CE01CE2-1CE81CED1DC0-1DE61DFD-1DFF20D0-20DC20E120E5-20F02CEF-2CF12DE0-2DFF302A-302F3099309AA66FA67CA67DA6F0A6F1A802A806A80BA825A826A8C4A8E0-A8F1A926-A92DA947-A951A980-A982A9B3A9B6-A9B9A9BCAA29-AA2EAA31AA32AA35AA36AA43AA4CAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1ABE5ABE8ABEDFB1EFE00-FE0FFE20-FE26",
    Mc: "0903093E-09400949-094C094E0982098309BE-09C009C709C809CB09CC09D70A030A3E-0A400A830ABE-0AC00AC90ACB0ACC0B020B030B3E0B400B470B480B4B0B4C0B570BBE0BBF0BC10BC20BC6-0BC80BCA-0BCC0BD70C01-0C030C41-0C440C820C830CBE0CC0-0CC40CC70CC80CCA0CCB0CD50CD60D020D030D3E-0D400D46-0D480D4A-0D4C0D570D820D830DCF-0DD10DD8-0DDF0DF20DF30F3E0F3F0F7F102B102C10311038103B103C105610571062-10641067-106D108310841087-108C108F109A-109C17B617BE-17C517C717C81923-19261929-192B193019311933-193819B0-19C019C819C91A19-1A1B1A551A571A611A631A641A6D-1A721B041B351B3B1B3D-1B411B431B441B821BA11BA61BA71BAA1C24-1C2B1C341C351CE11CF2A823A824A827A880A881A8B4-A8C3A952A953A983A9B4A9B5A9BAA9BBA9BD-A9C0AA2FAA30AA33AA34AA4DAA7BABE3ABE4ABE6ABE7ABE9ABEAABEC",
    Me: "0488048906DE20DD-20E020E2-20E4A670-A672",
    N:  "0030-003900B200B300B900BC-00BE0660-066906F0-06F907C0-07C90966-096F09E6-09EF09F4-09F90A66-0A6F0AE6-0AEF0B66-0B6F0BE6-0BF20C66-0C6F0C78-0C7E0CE6-0CEF0D66-0D750E50-0E590ED0-0ED90F20-0F331040-10491090-10991369-137C16EE-16F017E0-17E917F0-17F91810-18191946-194F19D0-19DA1A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C5920702074-20792080-20892150-21822185-21892460-249B24EA-24FF2776-27932CFD30073021-30293038-303A3192-31953220-32293251-325F3280-328932B1-32BFA620-A629A6E6-A6EFA830-A835A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19",
    Nd: "0030-00390660-066906F0-06F907C0-07C90966-096F09E6-09EF0A66-0A6F0AE6-0AEF0B66-0B6F0BE6-0BEF0C66-0C6F0CE6-0CEF0D66-0D6F0E50-0E590ED0-0ED90F20-0F291040-10491090-109917E0-17E91810-18191946-194F19D0-19DA1A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C59A620-A629A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19",
    Nl: "16EE-16F02160-21822185-218830073021-30293038-303AA6E6-A6EF",
    No: "00B200B300B900BC-00BE09F4-09F90BF0-0BF20C78-0C7E0D70-0D750F2A-0F331369-137C17F0-17F920702074-20792080-20892150-215F21892460-249B24EA-24FF2776-27932CFD3192-31953220-32293251-325F3280-328932B1-32BFA830-A835",
    P:  "0021-00230025-002A002C-002F003A003B003F0040005B-005D005F007B007D00A100AB00B700BB00BF037E0387055A-055F0589058A05BE05C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E0964096509700DF40E4F0E5A0E5B0F04-0F120F3A-0F3D0F850FD0-0FD4104A-104F10FB1361-13681400166D166E169B169C16EB-16ED1735173617D4-17D617D8-17DA1800-180A1944194519DE19DF1A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601C3B-1C3F1C7E1C7F1CD32010-20272030-20432045-20512053-205E207D207E208D208E2329232A2768-277527C527C627E6-27EF2983-299829D8-29DB29FC29FD2CF9-2CFC2CFE2CFF2E00-2E2E2E302E313001-30033008-30113014-301F3030303D30A030FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFABEBFD3EFD3FFE10-FE19FE30-FE52FE54-FE61FE63FE68FE6AFE6BFF01-FF03FF05-FF0AFF0C-FF0FFF1AFF1BFF1FFF20FF3B-FF3DFF3FFF5BFF5DFF5F-FF65",
    Pd: "002D058A05BE140018062010-20152E172E1A301C303030A0FE31FE32FE58FE63FF0D",
    Ps: "0028005B007B0F3A0F3C169B201A201E2045207D208D23292768276A276C276E27702772277427C527E627E827EA27EC27EE2983298529872989298B298D298F299129932995299729D829DA29FC2E222E242E262E283008300A300C300E3010301430163018301A301DFD3EFE17FE35FE37FE39FE3BFE3DFE3FFE41FE43FE47FE59FE5BFE5DFF08FF3BFF5BFF5FFF62",
    Pe: "0029005D007D0F3B0F3D169C2046207E208E232A2769276B276D276F27712773277527C627E727E927EB27ED27EF298429862988298A298C298E2990299229942996299829D929DB29FD2E232E252E272E293009300B300D300F3011301530173019301B301E301FFD3FFE18FE36FE38FE3AFE3CFE3EFE40FE42FE44FE48FE5AFE5CFE5EFF09FF3DFF5DFF60FF63",
    Pi: "00AB2018201B201C201F20392E022E042E092E0C2E1C2E20",
    Pf: "00BB2019201D203A2E032E052E0A2E0D2E1D2E21",
    Pc: "005F203F20402054FE33FE34FE4D-FE4FFF3F",
    Po: "0021-00230025-0027002A002C002E002F003A003B003F0040005C00A100B700BF037E0387055A-055F058905C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E0964096509700DF40E4F0E5A0E5B0F04-0F120F850FD0-0FD4104A-104F10FB1361-1368166D166E16EB-16ED1735173617D4-17D617D8-17DA1800-18051807-180A1944194519DE19DF1A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601C3B-1C3F1C7E1C7F1CD3201620172020-20272030-2038203B-203E2041-20432047-205120532055-205E2CF9-2CFC2CFE2CFF2E002E012E06-2E082E0B2E0E-2E162E182E192E1B2E1E2E1F2E2A-2E2E2E302E313001-3003303D30FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFABEBFE10-FE16FE19FE30FE45FE46FE49-FE4CFE50-FE52FE54-FE57FE5F-FE61FE68FE6AFE6BFF01-FF03FF05-FF07FF0AFF0CFF0EFF0FFF1AFF1BFF1FFF20FF3CFF61FF64FF65",
    S:  "0024002B003C-003E005E0060007C007E00A2-00A900AC00AE-00B100B400B600B800D700F702C2-02C502D2-02DF02E5-02EB02ED02EF-02FF03750384038503F604820606-0608060B060E060F06E906FD06FE07F609F209F309FA09FB0AF10B700BF3-0BFA0C7F0CF10CF20D790E3F0F01-0F030F13-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F13601390-139917DB194019E0-19FF1B61-1B6A1B74-1B7C1FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE20442052207A-207C208A-208C20A0-20B8210021012103-21062108210921142116-2118211E-2123212521272129212E213A213B2140-2144214A-214D214F2190-2328232B-23E82400-24262440-244A249C-24E92500-26CD26CF-26E126E326E8-26FF2701-27042706-2709270C-27272729-274B274D274F-27522756-275E2761-276727942798-27AF27B1-27BE27C0-27C427C7-27CA27CC27D0-27E527F0-29822999-29D729DC-29FB29FE-2B4C2B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F309B309C319031913196-319F31C0-31E33200-321E322A-32503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A700-A716A720A721A789A78AA828-A82BA836-A839AA77-AA79FB29FDFCFDFDFE62FE64-FE66FE69FF04FF0BFF1C-FF1EFF3EFF40FF5CFF5EFFE0-FFE6FFE8-FFEEFFFCFFFD",
    Sm: "002B003C-003E007C007E00AC00B100D700F703F60606-060820442052207A-207C208A-208C2140-2144214B2190-2194219A219B21A021A321A621AE21CE21CF21D221D421F4-22FF2308-230B23202321237C239B-23B323DC-23E125B725C125F8-25FF266F27C0-27C427C7-27CA27CC27D0-27E527F0-27FF2900-29822999-29D729DC-29FB29FE-2AFF2B30-2B442B47-2B4CFB29FE62FE64-FE66FF0BFF1C-FF1EFF5CFF5EFFE2FFE9-FFEC",
    Sc: "002400A2-00A5060B09F209F309FB0AF10BF90E3F17DB20A0-20B8A838FDFCFE69FF04FFE0FFE1FFE5FFE6",
    Sk: "005E006000A800AF00B400B802C2-02C502D2-02DF02E5-02EB02ED02EF-02FF0375038403851FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE309B309CA700-A716A720A721A789A78AFF3EFF40FFE3",
    So: "00A600A700A900AE00B000B60482060E060F06E906FD06FE07F609FA0B700BF3-0BF80BFA0C7F0CF10CF20D790F01-0F030F13-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F13601390-1399194019E0-19FF1B61-1B6A1B74-1B7C210021012103-21062108210921142116-2118211E-2123212521272129212E213A213B214A214C214D214F2195-2199219C-219F21A121A221A421A521A7-21AD21AF-21CD21D021D121D321D5-21F32300-2307230C-231F2322-2328232B-237B237D-239A23B4-23DB23E2-23E82400-24262440-244A249C-24E92500-25B625B8-25C025C2-25F72600-266E2670-26CD26CF-26E126E326E8-26FF2701-27042706-2709270C-27272729-274B274D274F-27522756-275E2761-276727942798-27AF27B1-27BE2800-28FF2B00-2B2F2B452B462B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F319031913196-319F31C0-31E33200-321E322A-32503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A828-A82BA836A837A839AA77-AA79FDFDFFE4FFE8FFEDFFEEFFFCFFFD",
    Z:  "002000A01680180E2000-200A20282029202F205F3000",
    Zs: "002000A01680180E2000-200A202F205F3000",
    Zl: "2028",
    Zp: "2029",
    C:  "0000-001F007F-009F00AD03780379037F-0383038B038D03A20526-05300557055805600588058B-059005C8-05CF05EB-05EF05F5-0605061C061D0620065F06DD070E070F074B074C07B2-07BF07FB-07FF082E082F083F-08FF093A093B094F095609570973-097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF00AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B72-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D290D3A-0D3C0D450D490D4E-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EDE-0EFF0F480F6D-0F700F8C-0F8F0F980FBD0FCD0FD9-0FFF10C6-10CF10FD-10FF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B-135E137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17B417B517DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BAB-1BAD1BBA-1BFF1C38-1C3A1C4A-1C4C1C80-1CCF1CF3-1CFF1DE7-1DFC1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF200B-200F202A-202E2060-206F20722073208F2095-209F20B9-20CF20F1-20FF218A-218F23E9-23FF2427-243F244B-245F26CE26E226E4-26E727002705270A270B2728274C274E2753-2755275F27602795-279727B027BF27CB27CD-27CF2B4D-2B4F2B5A-2BFF2C2F2C5F2CF2-2CF82D26-2D2F2D66-2D6E2D70-2D7F2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E32-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31B8-31BF31E4-31EF321F32FF4DB6-4DBF9FCC-9FFFA48D-A48FA4C7-A4CFA62C-A63FA660A661A674-A67BA698-A69FA6F8-A6FFA78D-A7FAA82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAE0-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-F8FFFA2EFA2FFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBB2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFD-FF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFFBFFFEFFFF",
    Cc: "0000-001F007F-009F",
    Cf: "00AD0600-060306DD070F17B417B5200B-200F202A-202E2060-2064206A-206FFEFFFFF9-FFFB",
    Co: "E000-F8FF",
    Cs: "D800-DFFF",
    Cn: "03780379037F-0383038B038D03A20526-05300557055805600588058B-059005C8-05CF05EB-05EF05F5-05FF06040605061C061D0620065F070E074B074C07B2-07BF07FB-07FF082E082F083F-08FF093A093B094F095609570973-097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF00AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B72-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D290D3A-0D3C0D450D490D4E-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EDE-0EFF0F480F6D-0F700F8C-0F8F0F980FBD0FCD0FD9-0FFF10C6-10CF10FD-10FF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B-135E137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BAB-1BAD1BBA-1BFF1C38-1C3A1C4A-1C4C1C80-1CCF1CF3-1CFF1DE7-1DFC1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF2065-206920722073208F2095-209F20B9-20CF20F1-20FF218A-218F23E9-23FF2427-243F244B-245F26CE26E226E4-26E727002705270A270B2728274C274E2753-2755275F27602795-279727B027BF27CB27CD-27CF2B4D-2B4F2B5A-2BFF2C2F2C5F2CF2-2CF82D26-2D2F2D66-2D6E2D70-2D7F2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E32-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31B8-31BF31E4-31EF321F32FF4DB6-4DBF9FCC-9FFFA48D-A48FA4C7-A4CFA62C-A63FA660A661A674-A67BA698-A69FA6F8-A6FFA78D-A7FAA82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAE0-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-D7FFFA2EFA2FFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBB2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFDFEFEFF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFF8FFFEFFFF"
});

function addUnicodePackage (pack) {
    var codePoint = /\w{4}/g;
    for (var name in pack)
        exports.packages[name] = pack[name].replace(codePoint, "\\u$&");
}

});

ace.define("ace/mode/text",["require","exports","module","ace/tokenizer","ace/mode/text_highlight_rules","ace/mode/behaviour/cstyle","ace/unicode","ace/lib/lang","ace/token_iterator","ace/range"], function(acequire, exports, module) {
"use strict";

var Tokenizer = acequire("../tokenizer").Tokenizer;
var TextHighlightRules = acequire("./text_highlight_rules").TextHighlightRules;
var CstyleBehaviour = acequire("./behaviour/cstyle").CstyleBehaviour;
var unicode = acequire("../unicode");
var lang = acequire("../lib/lang");
var TokenIterator = acequire("../token_iterator").TokenIterator;
var Range = acequire("../range").Range;

var Mode = function() {
    this.HighlightRules = TextHighlightRules;
};

(function() {
    this.$defaultBehaviour = new CstyleBehaviour();

    this.tokenRe = new RegExp("^["
        + unicode.packages.L
        + unicode.packages.Mn + unicode.packages.Mc
        + unicode.packages.Nd
        + unicode.packages.Pc + "\\$_]+", "g"
    );

    this.nonTokenRe = new RegExp("^(?:[^"
        + unicode.packages.L
        + unicode.packages.Mn + unicode.packages.Mc
        + unicode.packages.Nd
        + unicode.packages.Pc + "\\$_]|\\s])+", "g"
    );

    this.getTokenizer = function() {
        if (!this.$tokenizer) {
            this.$highlightRules = this.$highlightRules || new this.HighlightRules(this.$highlightRuleConfig);
            this.$tokenizer = new Tokenizer(this.$highlightRules.getRules());
        }
        return this.$tokenizer;
    };

    this.lineCommentStart = "";
    this.blockComment = "";

    this.toggleCommentLines = function(state, session, startRow, endRow) {
        var doc = session.doc;

        var ignoreBlankLines = true;
        var shouldRemove = true;
        var minIndent = Infinity;
        var tabSize = session.getTabSize();
        var insertAtTabStop = false;

        if (!this.lineCommentStart) {
            if (!this.blockComment)
                return false;
            var lineCommentStart = this.blockComment.start;
            var lineCommentEnd = this.blockComment.end;
            var regexpStart = new RegExp("^(\\s*)(?:" + lang.escapeRegExp(lineCommentStart) + ")");
            var regexpEnd = new RegExp("(?:" + lang.escapeRegExp(lineCommentEnd) + ")\\s*$");

            var comment = function(line, i) {
                if (testRemove(line, i))
                    return;
                if (!ignoreBlankLines || /\S/.test(line)) {
                    doc.insertInLine({row: i, column: line.length}, lineCommentEnd);
                    doc.insertInLine({row: i, column: minIndent}, lineCommentStart);
                }
            };

            var uncomment = function(line, i) {
                var m;
                if (m = line.match(regexpEnd))
                    doc.removeInLine(i, line.length - m[0].length, line.length);
                if (m = line.match(regexpStart))
                    doc.removeInLine(i, m[1].length, m[0].length);
            };

            var testRemove = function(line, row) {
                if (regexpStart.test(line))
                    return true;
                var tokens = session.getTokens(row);
                for (var i = 0; i < tokens.length; i++) {
                    if (tokens[i].type === "comment")
                        return true;
                }
            };
        } else {
            if (Array.isArray(this.lineCommentStart)) {
                var regexpStart = this.lineCommentStart.map(lang.escapeRegExp).join("|");
                var lineCommentStart = this.lineCommentStart[0];
            } else {
                var regexpStart = lang.escapeRegExp(this.lineCommentStart);
                var lineCommentStart = this.lineCommentStart;
            }
            regexpStart = new RegExp("^(\\s*)(?:" + regexpStart + ") ?");
            
            insertAtTabStop = session.getUseSoftTabs();

            var uncomment = function(line, i) {
                var m = line.match(regexpStart);
                if (!m) return;
                var start = m[1].length, end = m[0].length;
                if (!shouldInsertSpace(line, start, end) && m[0][end - 1] == " ")
                    end--;
                doc.removeInLine(i, start, end);
            };
            var commentWithSpace = lineCommentStart + " ";
            var comment = function(line, i) {
                if (!ignoreBlankLines || /\S/.test(line)) {
                    if (shouldInsertSpace(line, minIndent, minIndent))
                        doc.insertInLine({row: i, column: minIndent}, commentWithSpace);
                    else
                        doc.insertInLine({row: i, column: minIndent}, lineCommentStart);
                }
            };
            var testRemove = function(line, i) {
                return regexpStart.test(line);
            };
            
            var shouldInsertSpace = function(line, before, after) {
                var spaces = 0;
                while (before-- && line.charAt(before) == " ")
                    spaces++;
                if (spaces % tabSize != 0)
                    return false;
                var spaces = 0;
                while (line.charAt(after++) == " ")
                    spaces++;
                if (tabSize > 2)
                    return spaces % tabSize != tabSize - 1;
                else
                    return spaces % tabSize == 0;
                return true;
            };
        }

        function iter(fun) {
            for (var i = startRow; i <= endRow; i++)
                fun(doc.getLine(i), i);
        }


        var minEmptyLength = Infinity;
        iter(function(line, i) {
            var indent = line.search(/\S/);
            if (indent !== -1) {
                if (indent < minIndent)
                    minIndent = indent;
                if (shouldRemove && !testRemove(line, i))
                    shouldRemove = false;
            } else if (minEmptyLength > line.length) {
                minEmptyLength = line.length;
            }
        });

        if (minIndent == Infinity) {
            minIndent = minEmptyLength;
            ignoreBlankLines = false;
            shouldRemove = false;
        }

        if (insertAtTabStop && minIndent % tabSize != 0)
            minIndent = Math.floor(minIndent / tabSize) * tabSize;

        iter(shouldRemove ? uncomment : comment);
    };

    this.toggleBlockComment = function(state, session, range, cursor) {
        var comment = this.blockComment;
        if (!comment)
            return;
        if (!comment.start && comment[0])
            comment = comment[0];

        var iterator = new TokenIterator(session, cursor.row, cursor.column);
        var token = iterator.getCurrentToken();

        var sel = session.selection;
        var initialRange = session.selection.toOrientedRange();
        var startRow, colDiff;

        if (token && /comment/.test(token.type)) {
            var startRange, endRange;
            while (token && /comment/.test(token.type)) {
                var i = token.value.indexOf(comment.start);
                if (i != -1) {
                    var row = iterator.getCurrentTokenRow();
                    var column = iterator.getCurrentTokenColumn() + i;
                    startRange = new Range(row, column, row, column + comment.start.length);
                    break;
                }
                token = iterator.stepBackward();
            }

            var iterator = new TokenIterator(session, cursor.row, cursor.column);
            var token = iterator.getCurrentToken();
            while (token && /comment/.test(token.type)) {
                var i = token.value.indexOf(comment.end);
                if (i != -1) {
                    var row = iterator.getCurrentTokenRow();
                    var column = iterator.getCurrentTokenColumn() + i;
                    endRange = new Range(row, column, row, column + comment.end.length);
                    break;
                }
                token = iterator.stepForward();
            }
            if (endRange)
                session.remove(endRange);
            if (startRange) {
                session.remove(startRange);
                startRow = startRange.start.row;
                colDiff = -comment.start.length;
            }
        } else {
            colDiff = comment.start.length;
            startRow = range.start.row;
            session.insert(range.end, comment.end);
            session.insert(range.start, comment.start);
        }
        if (initialRange.start.row == startRow)
            initialRange.start.column += colDiff;
        if (initialRange.end.row == startRow)
            initialRange.end.column += colDiff;
        session.selection.fromOrientedRange(initialRange);
    };

    this.getNextLineIndent = function(state, line, tab) {
        return this.$getIndent(line);
    };

    this.checkOutdent = function(state, line, input) {
        return false;
    };

    this.autoOutdent = function(state, doc, row) {
    };

    this.$getIndent = function(line) {
        return line.match(/^\s*/)[0];
    };

    this.createWorker = function(session) {
        return null;
    };

    this.createModeDelegates = function (mapping) {
        this.$embeds = [];
        this.$modes = {};
        for (var i in mapping) {
            if (mapping[i]) {
                this.$embeds.push(i);
                this.$modes[i] = new mapping[i]();
            }
        }

        var delegations = ["toggleBlockComment", "toggleCommentLines", "getNextLineIndent", 
            "checkOutdent", "autoOutdent", "transformAction", "getCompletions"];

        for (var i = 0; i < delegations.length; i++) {
            (function(scope) {
              var functionName = delegations[i];
              var defaultHandler = scope[functionName];
              scope[delegations[i]] = function() {
                  return this.$delegator(functionName, arguments, defaultHandler);
              };
            }(this));
        }
    };

    this.$delegator = function(method, args, defaultHandler) {
        var state = args[0];
        if (typeof state != "string")
            state = state[0];
        for (var i = 0; i < this.$embeds.length; i++) {
            if (!this.$modes[this.$embeds[i]]) continue;

            var split = state.split(this.$embeds[i]);
            if (!split[0] && split[1]) {
                args[0] = split[1];
                var mode = this.$modes[this.$embeds[i]];
                return mode[method].apply(mode, args);
            }
        }
        var ret = defaultHandler.apply(this, args);
        return defaultHandler ? ret : undefined;
    };

    this.transformAction = function(state, action, editor, session, param) {
        if (this.$behaviour) {
            var behaviours = this.$behaviour.getBehaviours();
            for (var key in behaviours) {
                if (behaviours[key][action]) {
                    var ret = behaviours[key][action].apply(this, arguments);
                    if (ret) {
                        return ret;
                    }
                }
            }
        }
    };
    
    this.getKeywords = function(append) {
        if (!this.completionKeywords) {
            var rules = this.$tokenizer.rules;
            var completionKeywords = [];
            for (var rule in rules) {
                var ruleItr = rules[rule];
                for (var r = 0, l = ruleItr.length; r < l; r++) {
                    if (typeof ruleItr[r].token === "string") {
                        if (/keyword|support|storage/.test(ruleItr[r].token))
                            completionKeywords.push(ruleItr[r].regex);
                    }
                    else if (typeof ruleItr[r].token === "object") {
                        for (var a = 0, aLength = ruleItr[r].token.length; a < aLength; a++) {    
                            if (/keyword|support|storage/.test(ruleItr[r].token[a])) {
                                var rule = ruleItr[r].regex.match(/\(.+?\)/g)[a];
                                completionKeywords.push(rule.substr(1, rule.length - 2));
                            }
                        }
                    }
                }
            }
            this.completionKeywords = completionKeywords;
        }
        if (!append)
            return this.$keywordList;
        return completionKeywords.concat(this.$keywordList || []);
    };
    
    this.$createKeywordList = function() {
        if (!this.$highlightRules)
            this.getTokenizer();
        return this.$keywordList = this.$highlightRules.$keywordList || [];
    };

    this.getCompletions = function(state, session, pos, prefix) {
        var keywords = this.$keywordList || this.$createKeywordList();
        return keywords.map(function(word) {
            return {
                name: word,
                value: word,
                score: 0,
                meta: "keyword"
            };
        });
    };

    this.$id = "ace/mode/text";
}).call(Mode.prototype);

exports.Mode = Mode;
});

ace.define("ace/apply_delta",["require","exports","module"], function(acequire, exports, module) {
"use strict";

function throwDeltaError(delta, errorText){
    console.log("Invalid Delta:", delta);
    throw "Invalid Delta: " + errorText;
}

function positionInDocument(docLines, position) {
    return position.row    >= 0 && position.row    <  docLines.length &&
           position.column >= 0 && position.column <= docLines[position.row].length;
}

function validateDelta(docLines, delta) {
    if (delta.action != "insert" && delta.action != "remove")
        throwDeltaError(delta, "delta.action must be 'insert' or 'remove'");
    if (!(delta.lines instanceof Array))
        throwDeltaError(delta, "delta.lines must be an Array");
    if (!delta.start || !delta.end)
       throwDeltaError(delta, "delta.start/end must be an present");
    var start = delta.start;
    if (!positionInDocument(docLines, delta.start))
        throwDeltaError(delta, "delta.start must be contained in document");
    var end = delta.end;
    if (delta.action == "remove" && !positionInDocument(docLines, end))
        throwDeltaError(delta, "delta.end must contained in document for 'remove' actions");
    var numRangeRows = end.row - start.row;
    var numRangeLastLineChars = (end.column - (numRangeRows == 0 ? start.column : 0));
    if (numRangeRows != delta.lines.length - 1 || delta.lines[numRangeRows].length != numRangeLastLineChars)
        throwDeltaError(delta, "delta.range must match delta lines");
}

exports.applyDelta = function(docLines, delta, doNotValidate) {
    
    var row = delta.start.row;
    var startColumn = delta.start.column;
    var line = docLines[row] || "";
    switch (delta.action) {
        case "insert":
            var lines = delta.lines;
            if (lines.length === 1) {
                docLines[row] = line.substring(0, startColumn) + delta.lines[0] + line.substring(startColumn);
            } else {
                var args = [row, 1].concat(delta.lines);
                docLines.splice.apply(docLines, args);
                docLines[row] = line.substring(0, startColumn) + docLines[row];
                docLines[row + delta.lines.length - 1] += line.substring(startColumn);
            }
            break;
        case "remove":
            var endColumn = delta.end.column;
            var endRow = delta.end.row;
            if (row === endRow) {
                docLines[row] = line.substring(0, startColumn) + line.substring(endColumn);
            } else {
                docLines.splice(
                    row, endRow - row + 1,
                    line.substring(0, startColumn) + docLines[endRow].substring(endColumn)
                );
            }
            break;
    }
};
});

ace.define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"], function(acequire, exports, module) {
"use strict";

var oop = acequire("./lib/oop");
var EventEmitter = acequire("./lib/event_emitter").EventEmitter;

var Anchor = exports.Anchor = function(doc, row, column) {
    this.$onChange = this.onChange.bind(this);
    this.attach(doc);
    
    if (typeof column == "undefined")
        this.setPosition(row.row, row.column);
    else
        this.setPosition(row, column);
};

(function() {

    oop.implement(this, EventEmitter);
    this.getPosition = function() {
        return this.$clipPositionToDocument(this.row, this.column);
    };
    this.getDocument = function() {
        return this.document;
    };
    this.$insertRight = false;
    this.onChange = function(delta) {
        if (delta.start.row == delta.end.row && delta.start.row != this.row)
            return;

        if (delta.start.row > this.row)
            return;
            
        var point = $getTransformedPoint(delta, {row: this.row, column: this.column}, this.$insertRight);
        this.setPosition(point.row, point.column, true);
    };
    
    function $pointsInOrder(point1, point2, equalPointsInOrder) {
        var bColIsAfter = equalPointsInOrder ? point1.column <= point2.column : point1.column < point2.column;
        return (point1.row < point2.row) || (point1.row == point2.row && bColIsAfter);
    }
            
    function $getTransformedPoint(delta, point, moveIfEqual) {
        var deltaIsInsert = delta.action == "insert";
        var deltaRowShift = (deltaIsInsert ? 1 : -1) * (delta.end.row    - delta.start.row);
        var deltaColShift = (deltaIsInsert ? 1 : -1) * (delta.end.column - delta.start.column);
        var deltaStart = delta.start;
        var deltaEnd = deltaIsInsert ? deltaStart : delta.end; // Collapse insert range.
        if ($pointsInOrder(point, deltaStart, moveIfEqual)) {
            return {
                row: point.row,
                column: point.column
            };
        }
        if ($pointsInOrder(deltaEnd, point, !moveIfEqual)) {
            return {
                row: point.row + deltaRowShift,
                column: point.column + (point.row == deltaEnd.row ? deltaColShift : 0)
            };
        }
        
        return {
            row: deltaStart.row,
            column: deltaStart.column
        };
    }
    this.setPosition = function(row, column, noClip) {
        var pos;
        if (noClip) {
            pos = {
                row: row,
                column: column
            };
        } else {
            pos = this.$clipPositionToDocument(row, column);
        }

        if (this.row == pos.row && this.column == pos.column)
            return;

        var old = {
            row: this.row,
            column: this.column
        };

        this.row = pos.row;
        this.column = pos.column;
        this._signal("change", {
            old: old,
            value: pos
        });
    };
    this.detach = function() {
        this.document.removeEventListener("change", this.$onChange);
    };
    this.attach = function(doc) {
        this.document = doc || this.document;
        this.document.on("change", this.$onChange);
    };
    this.$clipPositionToDocument = function(row, column) {
        var pos = {};

        if (row >= this.document.getLength()) {
            pos.row = Math.max(0, this.document.getLength() - 1);
            pos.column = this.document.getLine(pos.row).length;
        }
        else if (row < 0) {
            pos.row = 0;
            pos.column = 0;
        }
        else {
            pos.row = row;
            pos.column = Math.min(this.document.getLine(pos.row).length, Math.max(0, column));
        }

        if (column < 0)
            pos.column = 0;

        return pos;
    };

}).call(Anchor.prototype);

});

ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"], function(acequire, exports, module) {
"use strict";

var oop = acequire("./lib/oop");
var applyDelta = acequire("./apply_delta").applyDelta;
var EventEmitter = acequire("./lib/event_emitter").EventEmitter;
var Range = acequire("./range").Range;
var Anchor = acequire("./anchor").Anchor;

var Document = function(textOrLines) {
    this.$lines = [""];
    if (textOrLines.length === 0) {
        this.$lines = [""];
    } else if (Array.isArray(textOrLines)) {
        this.insertMergedLines({row: 0, column: 0}, textOrLines);
    } else {
        this.insert({row: 0, column:0}, textOrLines);
    }
};

(function() {

    oop.implement(this, EventEmitter);
    this.setValue = function(text) {
        var len = this.getLength() - 1;
        this.remove(new Range(0, 0, len, this.getLine(len).length));
        this.insert({row: 0, column: 0}, text);
    };
    this.getValue = function() {
        return this.getAllLines().join(this.getNewLineCharacter());
    };
    this.createAnchor = function(row, column) {
        return new Anchor(this, row, column);
    };
    if ("aaa".split(/a/).length === 0) {
        this.$split = function(text) {
            return text.replace(/\r\n|\r/g, "\n").split("\n");
        };
    } else {
        this.$split = function(text) {
            return text.split(/\r\n|\r|\n/);
        };
    }


    this.$detectNewLine = function(text) {
        var match = text.match(/^.*?(\r\n|\r|\n)/m);
        this.$autoNewLine = match ? match[1] : "\n";
        this._signal("changeNewLineMode");
    };
    this.getNewLineCharacter = function() {
        switch (this.$newLineMode) {
          case "windows":
            return "\r\n";
          case "unix":
            return "\n";
          default:
            return this.$autoNewLine || "\n";
        }
    };

    this.$autoNewLine = "";
    this.$newLineMode = "auto";
    this.setNewLineMode = function(newLineMode) {
        if (this.$newLineMode === newLineMode)
            return;

        this.$newLineMode = newLineMode;
        this._signal("changeNewLineMode");
    };
    this.getNewLineMode = function() {
        return this.$newLineMode;
    };
    this.isNewLine = function(text) {
        return (text == "\r\n" || text == "\r" || text == "\n");
    };
    this.getLine = function(row) {
        return this.$lines[row] || "";
    };
    this.getLines = function(firstRow, lastRow) {
        return this.$lines.slice(firstRow, lastRow + 1);
    };
    this.getAllLines = function() {
        return this.getLines(0, this.getLength());
    };
    this.getLength = function() {
        return this.$lines.length;
    };
    this.getTextRange = function(range) {
        return this.getLinesForRange(range).join(this.getNewLineCharacter());
    };
    this.getLinesForRange = function(range) {
        var lines;
        if (range.start.row === range.end.row) {
            lines = [this.getLine(range.start.row).substring(range.start.column, range.end.column)];
        } else {
            lines = this.getLines(range.start.row, range.end.row);
            lines[0] = (lines[0] || "").substring(range.start.column);
            var l = lines.length - 1;
            if (range.end.row - range.start.row == l)
                lines[l] = lines[l].substring(0, range.end.column);
        }
        return lines;
    };
    this.insertLines = function(row, lines) {
        console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead.");
        return this.insertFullLines(row, lines);
    };
    this.removeLines = function(firstRow, lastRow) {
        console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead.");
        return this.removeFullLines(firstRow, lastRow);
    };
    this.insertNewLine = function(position) {
        console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead.");
        return this.insertMergedLines(position, ["", ""]);
    };
    this.insert = function(position, text) {
        if (this.getLength() <= 1)
            this.$detectNewLine(text);
        
        return this.insertMergedLines(position, this.$split(text));
    };
    this.insertInLine = function(position, text) {
        var start = this.clippedPos(position.row, position.column);
        var end = this.pos(position.row, position.column + text.length);
        
        this.applyDelta({
            start: start,
            end: end,
            action: "insert",
            lines: [text]
        }, true);
        
        return this.clonePos(end);
    };
    
    this.clippedPos = function(row, column) {
        var length = this.getLength();
        if (row === undefined) {
            row = length;
        } else if (row < 0) {
            row = 0;
        } else if (row >= length) {
            row = length - 1;
            column = undefined;
        }
        var line = this.getLine(row);
        if (column == undefined)
            column = line.length;
        column = Math.min(Math.max(column, 0), line.length);
        return {row: row, column: column};
    };
    
    this.clonePos = function(pos) {
        return {row: pos.row, column: pos.column};
    };
    
    this.pos = function(row, column) {
        return {row: row, column: column};
    };
    
    this.$clipPosition = function(position) {
        var length = this.getLength();
        if (position.row >= length) {
            position.row = Math.max(0, length - 1);
            position.column = this.getLine(length - 1).length;
        } else {
            position.row = Math.max(0, position.row);
            position.column = Math.min(Math.max(position.column, 0), this.getLine(position.row).length);
        }
        return position;
    };
    this.insertFullLines = function(row, lines) {
        row = Math.min(Math.max(row, 0), this.getLength());
        var column = 0;
        if (row < this.getLength()) {
            lines = lines.concat([""]);
            column = 0;
        } else {
            lines = [""].concat(lines);
            row--;
            column = this.$lines[row].length;
        }
        this.insertMergedLines({row: row, column: column}, lines);
    };    
    this.insertMergedLines = function(position, lines) {
        var start = this.clippedPos(position.row, position.column);
        var end = {
            row: start.row + lines.length - 1,
            column: (lines.length == 1 ? start.column : 0) + lines[lines.length - 1].length
        };
        
        this.applyDelta({
            start: start,
            end: end,
            action: "insert",
            lines: lines
        });
        
        return this.clonePos(end);
    };
    this.remove = function(range) {
        var start = this.clippedPos(range.start.row, range.start.column);
        var end = this.clippedPos(range.end.row, range.end.column);
        this.applyDelta({
            start: start,
            end: end,
            action: "remove",
            lines: this.getLinesForRange({start: start, end: end})
        });
        return this.clonePos(start);
    };
    this.removeInLine = function(row, startColumn, endColumn) {
        var start = this.clippedPos(row, startColumn);
        var end = this.clippedPos(row, endColumn);
        
        this.applyDelta({
            start: start,
            end: end,
            action: "remove",
            lines: this.getLinesForRange({start: start, end: end})
        }, true);
        
        return this.clonePos(start);
    };
    this.removeFullLines = function(firstRow, lastRow) {
        firstRow = Math.min(Math.max(0, firstRow), this.getLength() - 1);
        lastRow  = Math.min(Math.max(0, lastRow ), this.getLength() - 1);
        var deleteFirstNewLine = lastRow == this.getLength() - 1 && firstRow > 0;
        var deleteLastNewLine  = lastRow  < this.getLength() - 1;
        var startRow = ( deleteFirstNewLine ? firstRow - 1                  : firstRow                    );
        var startCol = ( deleteFirstNewLine ? this.getLine(startRow).length : 0                           );
        var endRow   = ( deleteLastNewLine  ? lastRow + 1                   : lastRow                     );
        var endCol   = ( deleteLastNewLine  ? 0                             : this.getLine(endRow).length ); 
        var range = new Range(startRow, startCol, endRow, endCol);
        var deletedLines = this.$lines.slice(firstRow, lastRow + 1);
        
        this.applyDelta({
            start: range.start,
            end: range.end,
            action: "remove",
            lines: this.getLinesForRange(range)
        });
        return deletedLines;
    };
    this.removeNewLine = function(row) {
        if (row < this.getLength() - 1 && row >= 0) {
            this.applyDelta({
                start: this.pos(row, this.getLine(row).length),
                end: this.pos(row + 1, 0),
                action: "remove",
                lines: ["", ""]
            });
        }
    };
    this.replace = function(range, text) {
        if (!(range instanceof Range))
            range = Range.fromPoints(range.start, range.end);
        if (text.length === 0 && range.isEmpty())
            return range.start;
        if (text == this.getTextRange(range))
            return range.end;

        this.remove(range);
        var end;
        if (text) {
            end = this.insert(range.start, text);
        }
        else {
            end = range.start;
        }
        
        return end;
    };
    this.applyDeltas = function(deltas) {
        for (var i=0; i<deltas.length; i++) {
            this.applyDelta(deltas[i]);
        }
    };
    this.revertDeltas = function(deltas) {
        for (var i=deltas.length-1; i>=0; i--) {
            this.revertDelta(deltas[i]);
        }
    };
    this.applyDelta = function(delta, doNotValidate) {
        var isInsert = delta.action == "insert";
        if (isInsert ? delta.lines.length <= 1 && !delta.lines[0]
            : !Range.comparePoints(delta.start, delta.end)) {
            return;
        }
        
        if (isInsert && delta.lines.length > 20000)
            this.$splitAndapplyLargeDelta(delta, 20000);
        applyDelta(this.$lines, delta, doNotValidate);
        this._signal("change", delta);
    };
    
    this.$splitAndapplyLargeDelta = function(delta, MAX) {
        var lines = delta.lines;
        var l = lines.length;
        var row = delta.start.row; 
        var column = delta.start.column;
        var from = 0, to = 0;
        do {
            from = to;
            to += MAX - 1;
            var chunk = lines.slice(from, to);
            if (to > l) {
                delta.lines = chunk;
                delta.start.row = row + from;
                delta.start.column = column;
                break;
            }
            chunk.push("");
            this.applyDelta({
                start: this.pos(row + from, column),
                end: this.pos(row + to, column = 0),
                action: delta.action,
                lines: chunk
            }, true);
        } while(true);
    };
    this.revertDelta = function(delta) {
        this.applyDelta({
            start: this.clonePos(delta.start),
            end: this.clonePos(delta.end),
            action: (delta.action == "insert" ? "remove" : "insert"),
            lines: delta.lines.slice()
        });
    };
    this.indexToPosition = function(index, startRow) {
        var lines = this.$lines || this.getAllLines();
        var newlineLength = this.getNewLineCharacter().length;
        for (var i = startRow || 0, l = lines.length; i < l; i++) {
            index -= lines[i].length + newlineLength;
            if (index < 0)
                return {row: i, column: index + lines[i].length + newlineLength};
        }
        return {row: l-1, column: lines[l-1].length};
    };
    this.positionToIndex = function(pos, startRow) {
        var lines = this.$lines || this.getAllLines();
        var newlineLength = this.getNewLineCharacter().length;
        var index = 0;
        var row = Math.min(pos.row, lines.length);
        for (var i = startRow || 0; i < row; ++i)
            index += lines[i].length + newlineLength;

        return index + pos.column;
    };

}).call(Document.prototype);

exports.Document = Document;
});

ace.define("ace/background_tokenizer",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"], function(acequire, exports, module) {
"use strict";

var oop = acequire("./lib/oop");
var EventEmitter = acequire("./lib/event_emitter").EventEmitter;

var BackgroundTokenizer = function(tokenizer, editor) {
    this.running = false;
    this.lines = [];
    this.states = [];
    this.currentLine = 0;
    this.tokenizer = tokenizer;

    var self = this;

    this.$worker = function() {
        if (!self.running) { return; }

        var workerStart = new Date();
        var currentLine = self.currentLine;
        var endLine = -1;
        var doc = self.doc;

        var startLine = currentLine;
        while (self.lines[currentLine])
            currentLine++;
        
        var len = doc.getLength();
        var processedLines = 0;
        self.running = false;
        while (currentLine < len) {
            self.$tokenizeRow(currentLine);
            endLine = currentLine;
            do {
                currentLine++;
            } while (self.lines[currentLine]);
            processedLines ++;
            if ((processedLines % 5 === 0) && (new Date() - workerStart) > 20) {                
                self.running = setTimeout(self.$worker, 20);
                break;
            }
        }
        self.currentLine = currentLine;
        
        if (endLine == -1)
            endLine = currentLine;

        if (startLine <= endLine)
            self.fireUpdateEvent(startLine, endLine);
    };
};

(function(){

    oop.implement(this, EventEmitter);
    this.setTokenizer = function(tokenizer) {
        this.tokenizer = tokenizer;
        this.lines = [];
        this.states = [];

        this.start(0);
    };
    this.setDocument = function(doc) {
        this.doc = doc;
        this.lines = [];
        this.states = [];

        this.stop();
    };
    this.fireUpdateEvent = function(firstRow, lastRow) {
        var data = {
            first: firstRow,
            last: lastRow
        };
        this._signal("update", {data: data});
    };
    this.start = function(startRow) {
        this.currentLine = Math.min(startRow || 0, this.currentLine, this.doc.getLength());
        this.lines.splice(this.currentLine, this.lines.length);
        this.states.splice(this.currentLine, this.states.length);

        this.stop();
        this.running = setTimeout(this.$worker, 700);
    };
    
    this.scheduleStart = function() {
        if (!this.running)
            this.running = setTimeout(this.$worker, 700);
    };

    this.$updateOnChange = function(delta) {
        var startRow = delta.start.row;
        var len = delta.end.row - startRow;

        if (len === 0) {
            this.lines[startRow] = null;
        } else if (delta.action == "remove") {
            this.lines.splice(startRow, len + 1, null);
            this.states.splice(startRow, len + 1, null);
        } else {
            var args = Array(len + 1);
            args.unshift(startRow, 1);
            this.lines.splice.apply(this.lines, args);
            this.states.splice.apply(this.states, args);
        }

        this.currentLine = Math.min(startRow, this.currentLine, this.doc.getLength());

        this.stop();
    };
    this.stop = function() {
        if (this.running)
            clearTimeout(this.running);
        this.running = false;
    };
    this.getTokens = function(row) {
        return this.lines[row] || this.$tokenizeRow(row);
    };
    this.getState = function(row) {
        if (this.currentLine == row)
            this.$tokenizeRow(row);
        return this.states[row] || "start";
    };

    this.$tokenizeRow = function(row) {
        var line = this.doc.getLine(row);
        var state = this.states[row - 1];

        var data = this.tokenizer.getLineTokens(line, state, row);

        if (this.states[row] + "" !== data.state + "") {
            this.states[row] = data.state;
            this.lines[row + 1] = null;
            if (this.currentLine > row + 1)
                this.currentLine = row + 1;
        } else if (this.currentLine == row) {
            this.currentLine = row + 1;
        }

        return this.lines[row] = data.tokens;
    };

}).call(BackgroundTokenizer.prototype);

exports.BackgroundTokenizer = BackgroundTokenizer;
});

ace.define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"], function(acequire, exports, module) {
"use strict";

var lang = acequire("./lib/lang");
var oop = acequire("./lib/oop");
var Range = acequire("./range").Range;

var SearchHighlight = function(regExp, clazz, type) {
    this.setRegexp(regExp);
    this.clazz = clazz;
    this.type = type || "text";
};

(function() {
    this.MAX_RANGES = 500;
    
    this.setRegexp = function(regExp) {
        if (this.regExp+"" == regExp+"")
            return;
        this.regExp = regExp;
        this.cache = [];
    };

    this.update = function(html, markerLayer, session, config) {
        if (!this.regExp)
            return;
        var start = config.firstRow, end = config.lastRow;

        for (var i = start; i <= end; i++) {
            var ranges = this.cache[i];
            if (ranges == null) {
                ranges = lang.getMatchOffsets(session.getLine(i), this.regExp);
                if (ranges.length > this.MAX_RANGES)
                    ranges = ranges.slice(0, this.MAX_RANGES);
                ranges = ranges.map(function(match) {
                    return new Range(i, match.offset, i, match.offset + match.length);
                });
                this.cache[i] = ranges.length ? ranges : "";
            }

            for (var j = ranges.length; j --; ) {
                markerLayer.drawSingleLineMarker(
                    html, ranges[j].toScreenRange(session), this.clazz, config);
            }
        }
    };

}).call(SearchHighlight.prototype);

exports.SearchHighlight = SearchHighlight;
});

ace.define("ace/edit_session/fold_line",["require","exports","module","ace/range"], function(acequire, exports, module) {
"use strict";

var Range = acequire("../range").Range;
function FoldLine(foldData, folds) {
    this.foldData = foldData;
    if (Array.isArray(folds)) {
        this.folds = folds;
    } else {
        folds = this.folds = [ folds ];
    }

    var last = folds[folds.length - 1];
    this.range = new Range(folds[0].start.row, folds[0].start.column,
                           last.end.row, last.end.column);
    this.start = this.range.start;
    this.end   = this.range.end;

    this.folds.forEach(function(fold) {
        fold.setFoldLine(this);
    }, this);
}

(function() {
    this.shiftRow = function(shift) {
        this.start.row += shift;
        this.end.row += shift;
        this.folds.forEach(function(fold) {
            fold.start.row += shift;
            fold.end.row += shift;
        });
    };

    this.addFold = function(fold) {
        if (fold.sameRow) {
            if (fold.start.row < this.startRow || fold.endRow > this.endRow) {
                throw new Error("Can't add a fold to this FoldLine as it has no connection");
            }
            this.folds.push(fold);
            this.folds.sort(function(a, b) {
                return -a.range.compareEnd(b.start.row, b.start.column);
            });
            if (this.range.compareEnd(fold.start.row, fold.start.column) > 0) {
                this.end.row = fold.end.row;
                this.end.column =  fold.end.column;
            } else if (this.range.compareStart(fold.end.row, fold.end.column) < 0) {
                this.start.row = fold.start.row;
                this.start.column = fold.start.column;
            }
        } else if (fold.start.row == this.end.row) {
            this.folds.push(fold);
            this.end.row = fold.end.row;
            this.end.column = fold.end.column;
        } else if (fold.end.row == this.start.row) {
            this.folds.unshift(fold);
            this.start.row = fold.start.row;
            this.start.column = fold.start.column;
        } else {
            throw new Error("Trying to add fold to FoldRow that doesn't have a matching row");
        }
        fold.foldLine = this;
    };

    this.containsRow = function(row) {
        return row >= this.start.row && row <= this.end.row;
    };

    this.walk = function(callback, endRow, endColumn) {
        var lastEnd = 0,
            folds = this.folds,
            fold,
            cmp, stop, isNewRow = true;

        if (endRow == null) {
            endRow = this.end.row;
            endColumn = this.end.column;
        }

        for (var i = 0; i < folds.length; i++) {
            fold = folds[i];

            cmp = fold.range.compareStart(endRow, endColumn);
            if (cmp == -1) {
                callback(null, endRow, endColumn, lastEnd, isNewRow);
                return;
            }

            stop = callback(null, fold.start.row, fold.start.column, lastEnd, isNewRow);
            stop = !stop && callback(fold.placeholder, fold.start.row, fold.start.column, lastEnd);
            if (stop || cmp === 0) {
                return;
            }
            isNewRow = !fold.sameRow;
            lastEnd = fold.end.column;
        }
        callback(null, endRow, endColumn, lastEnd, isNewRow);
    };

    this.getNextFoldTo = function(row, column) {
        var fold, cmp;
        for (var i = 0; i < this.folds.length; i++) {
            fold = this.folds[i];
            cmp = fold.range.compareEnd(row, column);
            if (cmp == -1) {
                return {
                    fold: fold,
                    kind: "after"
                };
            } else if (cmp === 0) {
                return {
                    fold: fold,
                    kind: "inside"
                };
            }
        }
        return null;
    };

    this.addRemoveChars = function(row, column, len) {
        var ret = this.getNextFoldTo(row, column),
            fold, folds;
        if (ret) {
            fold = ret.fold;
            if (ret.kind == "inside"
                && fold.start.column != column
                && fold.start.row != row)
            {
                window.console && window.console.log(row, column, fold);
            } else if (fold.start.row == row) {
                folds = this.folds;
                var i = folds.indexOf(fold);
                if (i === 0) {
                    this.start.column += len;
                }
                for (i; i < folds.length; i++) {
                    fold = folds[i];
                    fold.start.column += len;
                    if (!fold.sameRow) {
                        return;
                    }
                    fold.end.column += len;
                }
                this.end.column += len;
            }
        }
    };

    this.split = function(row, column) {
        var pos = this.getNextFoldTo(row, column);
        
        if (!pos || pos.kind == "inside")
            return null;
            
        var fold = pos.fold;
        var folds = this.folds;
        var foldData = this.foldData;
        
        var i = folds.indexOf(fold);
        var foldBefore = folds[i - 1];
        this.end.row = foldBefore.end.row;
        this.end.column = foldBefore.end.column;
        folds = folds.splice(i, folds.length - i);

        var newFoldLine = new FoldLine(foldData, folds);
        foldData.splice(foldData.indexOf(this) + 1, 0, newFoldLine);
        return newFoldLine;
    };

    this.merge = function(foldLineNext) {
        var folds = foldLineNext.folds;
        for (var i = 0; i < folds.length; i++) {
            this.addFold(folds[i]);
        }
        var foldData = this.foldData;
        foldData.splice(foldData.indexOf(foldLineNext), 1);
    };

    this.toString = function() {
        var ret = [this.range.toString() + ": [" ];

        this.folds.forEach(function(fold) {
            ret.push("  " + fold.toString());
        });
        ret.push("]");
        return ret.join("\n");
    };

    this.idxToPosition = function(idx) {
        var lastFoldEndColumn = 0;

        for (var i = 0; i < this.folds.length; i++) {
            var fold = this.folds[i];

            idx -= fold.start.column - lastFoldEndColumn;
            if (idx < 0) {
                return {
                    row: fold.start.row,
                    column: fold.start.column + idx
                };
            }

            idx -= fold.placeholder.length;
            if (idx < 0) {
                return fold.start;
            }

            lastFoldEndColumn = fold.end.column;
        }

        return {
            row: this.end.row,
            column: this.end.column + idx
        };
    };
}).call(FoldLine.prototype);

exports.FoldLine = FoldLine;
});

ace.define("ace/range_list",["require","exports","module","ace/range"], function(acequire, exports, module) {
"use strict";
var Range = acequire("./range").Range;
var comparePoints = Range.comparePoints;

var RangeList = function() {
    this.ranges = [];
};

(function() {
    this.comparePoints = comparePoints;

    this.pointIndex = function(pos, excludeEdges, startIndex) {
        var list = this.ranges;

        for (var i = startIndex || 0; i < list.length; i++) {
            var range = list[i];
            var cmpEnd = comparePoints(pos, range.end);
            if (cmpEnd > 0)
                continue;
            var cmpStart = comparePoints(pos, range.start);
            if (cmpEnd === 0)
                return excludeEdges && cmpStart !== 0 ? -i-2 : i;
            if (cmpStart > 0 || (cmpStart === 0 && !excludeEdges))
                return i;

            return -i-1;
        }
        return -i - 1;
    };

    this.add = function(range) {
        var excludeEdges = !range.isEmpty();
        var startIndex = this.pointIndex(range.start, excludeEdges);
        if (startIndex < 0)
            startIndex = -startIndex - 1;

        var endIndex = this.pointIndex(range.end, excludeEdges, startIndex);

        if (endIndex < 0)
            endIndex = -endIndex - 1;
        else
            endIndex++;
        return this.ranges.splice(startIndex, endIndex - startIndex, range);
    };

    this.addList = function(list) {
        var removed = [];
        for (var i = list.length; i--; ) {
            removed.push.apply(removed, this.add(list[i]));
        }
        return removed;
    };

    this.substractPoint = function(pos) {
        var i = this.pointIndex(pos);

        if (i >= 0)
            return this.ranges.splice(i, 1);
    };
    this.merge = function() {
        var removed = [];
        var list = this.ranges;
        
        list = list.sort(function(a, b) {
            return comparePoints(a.start, b.start);
        });
        
        var next = list[0], range;
        for (var i = 1; i < list.length; i++) {
            range = next;
            next = list[i];
            var cmp = comparePoints(range.end, next.start);
            if (cmp < 0)
                continue;

            if (cmp == 0 && !range.isEmpty() && !next.isEmpty())
                continue;

            if (comparePoints(range.end, next.end) < 0) {
                range.end.row = next.end.row;
                range.end.column = next.end.column;
            }

            list.splice(i, 1);
            removed.push(next);
            next = range;
            i--;
        }
        
        this.ranges = list;

        return removed;
    };

    this.contains = function(row, column) {
        return this.pointIndex({row: row, column: column}) >= 0;
    };

    this.containsPoint = function(pos) {
        return this.pointIndex(pos) >= 0;
    };

    this.rangeAtPoint = function(pos) {
        var i = this.pointIndex(pos);
        if (i >= 0)
            return this.ranges[i];
    };


    this.clipRows = function(startRow, endRow) {
        var list = this.ranges;
        if (list[0].start.row > endRow || list[list.length - 1].start.row < startRow)
            return [];

        var startIndex = this.pointIndex({row: startRow, column: 0});
        if (startIndex < 0)
            startIndex = -startIndex - 1;
        var endIndex = this.pointIndex({row: endRow, column: 0}, startIndex);
        if (endIndex < 0)
            endIndex = -endIndex - 1;

        var clipped = [];
        for (var i = startIndex; i < endIndex; i++) {
            clipped.push(list[i]);
        }
        return clipped;
    };

    this.removeAll = function() {
        return this.ranges.splice(0, this.ranges.length);
    };

    this.attach = function(session) {
        if (this.session)
            this.detach();

        this.session = session;
        this.onChange = this.$onChange.bind(this);

        this.session.on('change', this.onChange);
    };

    this.detach = function() {
        if (!this.session)
            return;
        this.session.removeListener('change', this.onChange);
        this.session = null;
    };

    this.$onChange = function(delta) {
        if (delta.action == "insert"){
            var start = delta.start;
            var end = delta.end;
        } else {
            var end = delta.start;
            var start = delta.end;
        }
        var startRow = start.row;
        var endRow = end.row;
        var lineDif = endRow - startRow;

        var colDiff = -start.column + end.column;
        var ranges = this.ranges;

        for (var i = 0, n = ranges.length; i < n; i++) {
            var r = ranges[i];
            if (r.end.row < startRow)
                continue;
            if (r.start.row > startRow)
                break;

            if (r.start.row == startRow && r.start.column >= start.column ) {
                if (r.start.column == start.column && this.$insertRight) {
                } else {
                    r.start.column += colDiff;
                    r.start.row += lineDif;
                }
            }
            if (r.end.row == startRow && r.end.column >= start.column) {
                if (r.end.column == start.column && this.$insertRight) {
                    continue;
                }
                if (r.end.column == start.column && colDiff > 0 && i < n - 1) {                
                    if (r.end.column > r.start.column && r.end.column == ranges[i+1].start.column)
                        r.end.column -= colDiff;
                }
                r.end.column += colDiff;
                r.end.row += lineDif;
            }
        }

        if (lineDif != 0 && i < n) {
            for (; i < n; i++) {
                var r = ranges[i];
                r.start.row += lineDif;
                r.end.row += lineDif;
            }
        }
    };

}).call(RangeList.prototype);

exports.RangeList = RangeList;
});

ace.define("ace/edit_session/fold",["require","exports","module","ace/range","ace/range_list","ace/lib/oop"], function(acequire, exports, module) {
"use strict";

var Range = acequire("../range").Range;
var RangeList = acequire("../range_list").RangeList;
var oop = acequire("../lib/oop");
var Fold = exports.Fold = function(range, placeholder) {
    this.foldLine = null;
    this.placeholder = placeholder;
    this.range = range;
    this.start = range.start;
    this.end = range.end;

    this.sameRow = range.start.row == range.end.row;
    this.subFolds = this.ranges = [];
};

oop.inherits(Fold, RangeList);

(function() {

    this.toString = function() {
        return '"' + this.placeholder + '" ' + this.range.toString();
    };

    this.setFoldLine = function(foldLine) {
        this.foldLine = foldLine;
        this.subFolds.forEach(function(fold) {
            fold.setFoldLine(foldLine);
        });
    };

    this.clone = function() {
        var range = this.range.clone();
        var fold = new Fold(range, this.placeholder);
        this.subFolds.forEach(function(subFold) {
            fold.subFolds.push(subFold.clone());
        });
        fold.collapseChildren = this.collapseChildren;
        return fold;
    };

    this.addSubFold = function(fold) {
        if (this.range.isEqual(fold))
            return;

        if (!this.range.containsRange(fold))
            throw new Error("A fold can't intersect already existing fold" + fold.range + this.range);
        consumeRange(fold, this.start);

        var row = fold.start.row, column = fold.start.column;
        for (var i = 0, cmp = -1; i < this.subFolds.length; i++) {
            cmp = this.subFolds[i].range.compare(row, column);
            if (cmp != 1)
                break;
        }
        var afterStart = this.subFolds[i];

        if (cmp == 0)
            return afterStart.addSubFold(fold);
        var row = fold.range.end.row, column = fold.range.end.column;
        for (var j = i, cmp = -1; j < this.subFolds.length; j++) {
            cmp = this.subFolds[j].range.compare(row, column);
            if (cmp != 1)
                break;
        }
        var afterEnd = this.subFolds[j];

        if (cmp == 0)
            throw new Error("A fold can't intersect already existing fold" + fold.range + this.range);

        var consumedFolds = this.subFolds.splice(i, j - i, fold);
        fold.setFoldLine(this.foldLine);

        return fold;
    };
    
    this.restoreRange = function(range) {
        return restoreRange(range, this.start);
    };

}).call(Fold.prototype);

function consumePoint(point, anchor) {
    point.row -= anchor.row;
    if (point.row == 0)
        point.column -= anchor.column;
}
function consumeRange(range, anchor) {
    consumePoint(range.start, anchor);
    consumePoint(range.end, anchor);
}
function restorePoint(point, anchor) {
    if (point.row == 0)
        point.column += anchor.column;
    point.row += anchor.row;
}
function restoreRange(range, anchor) {
    restorePoint(range.start, anchor);
    restorePoint(range.end, anchor);
}

});

ace.define("ace/edit_session/folding",["require","exports","module","ace/range","ace/edit_session/fold_line","ace/edit_session/fold","ace/token_iterator"], function(acequire, exports, module) {
"use strict";

var Range = acequire("../range").Range;
var FoldLine = acequire("./fold_line").FoldLine;
var Fold = acequire("./fold").Fold;
var TokenIterator = acequire("../token_iterator").TokenIterator;

function Folding() {
    this.getFoldAt = function(row, column, side) {
        var foldLine = this.getFoldLine(row);
        if (!foldLine)
            return null;

        var folds = foldLine.folds;
        for (var i = 0; i < folds.length; i++) {
            var fold = folds[i];
            if (fold.range.contains(row, column)) {
                if (side == 1 && fold.range.isEnd(row, column)) {
                    continue;
                } else if (side == -1 && fold.range.isStart(row, column)) {
                    continue;
                }
                return fold;
            }
        }
    };
    this.getFoldsInRange = function(range) {
        var start = range.start;
        var end = range.end;
        var foldLines = this.$foldData;
        var foundFolds = [];

        start.column += 1;
        end.column -= 1;

        for (var i = 0; i < foldLines.length; i++) {
            var cmp = foldLines[i].range.compareRange(range);
            if (cmp == 2) {
                continue;
            }
            else if (cmp == -2) {
                break;
            }

            var folds = foldLines[i].folds;
            for (var j = 0; j < folds.length; j++) {
                var fold = folds[j];
                cmp = fold.range.compareRange(range);
                if (cmp == -2) {
                    break;
                } else if (cmp == 2) {
                    continue;
                } else
                if (cmp == 42) {
                    break;
                }
                foundFolds.push(fold);
            }
        }
        start.column -= 1;
        end.column += 1;

        return foundFolds;
    };

    this.getFoldsInRangeList = function(ranges) {
        if (Array.isArray(ranges)) {
            var folds = [];
            ranges.forEach(function(range) {
                folds = folds.concat(this.getFoldsInRange(range));
            }, this);
        } else {
            var folds = this.getFoldsInRange(ranges);
        }
        return folds;
    };
    this.getAllFolds = function() {
        var folds = [];
        var foldLines = this.$foldData;
        
        for (var i = 0; i < foldLines.length; i++)
            for (var j = 0; j < foldLines[i].folds.length; j++)
                folds.push(foldLines[i].folds[j]);

        return folds;
    };
    this.getFoldStringAt = function(row, column, trim, foldLine) {
        foldLine = foldLine || this.getFoldLine(row);
        if (!foldLine)
            return null;

        var lastFold = {
            end: { column: 0 }
        };
        var str, fold;
        for (var i = 0; i < foldLine.folds.length; i++) {
            fold = foldLine.folds[i];
            var cmp = fold.range.compareEnd(row, column);
            if (cmp == -1) {
                str = this
                    .getLine(fold.start.row)
                    .substring(lastFold.end.column, fold.start.column);
                break;
            }
            else if (cmp === 0) {
                return null;
            }
            lastFold = fold;
        }
        if (!str)
            str = this.getLine(fold.start.row).substring(lastFold.end.column);

        if (trim == -1)
            return str.substring(0, column - lastFold.end.column);
        else if (trim == 1)
            return str.substring(column - lastFold.end.column);
        else
            return str;
    };

    this.getFoldLine = function(docRow, startFoldLine) {
        var foldData = this.$foldData;
        var i = 0;
        if (startFoldLine)
            i = foldData.indexOf(startFoldLine);
        if (i == -1)
            i = 0;
        for (i; i < foldData.length; i++) {
            var foldLine = foldData[i];
            if (foldLine.start.row <= docRow && foldLine.end.row >= docRow) {
                return foldLine;
            } else if (foldLine.end.row > docRow) {
                return null;
            }
        }
        return null;
    };
    this.getNextFoldLine = function(docRow, startFoldLine) {
        var foldData = this.$foldData;
        var i = 0;
        if (startFoldLine)
            i = foldData.indexOf(startFoldLine);
        if (i == -1)
            i = 0;
        for (i; i < foldData.length; i++) {
            var foldLine = foldData[i];
            if (foldLine.end.row >= docRow) {
                return foldLine;
            }
        }
        return null;
    };

    this.getFoldedRowCount = function(first, last) {
        var foldData = this.$foldData, rowCount = last-first+1;
        for (var i = 0; i < foldData.length; i++) {
            var foldLine = foldData[i],
                end = foldLine.end.row,
                start = foldLine.start.row;
            if (end >= last) {
                if (start < last) {
                    if (start >= first)
                        rowCount -= last-start;
                    else
                        rowCount = 0; // in one fold
                }
                break;
            } else if (end >= first){
                if (start >= first) // fold inside range
                    rowCount -=  end-start;
                else
                    rowCount -=  end-first+1;
            }
        }
        return rowCount;
    };

    this.$addFoldLine = function(foldLine) {
        this.$foldData.push(foldLine);
        this.$foldData.sort(function(a, b) {
            return a.start.row - b.start.row;
        });
        return foldLine;
    };
    this.addFold = function(placeholder, range) {
        var foldData = this.$foldData;
        var added = false;
        var fold;
        
        if (placeholder instanceof Fold)
            fold = placeholder;
        else {
            fold = new Fold(range, placeholder);
            fold.collapseChildren = range.collapseChildren;
        }
        this.$clipRangeToDocument(fold.range);

        var startRow = fold.start.row;
        var startColumn = fold.start.column;
        var endRow = fold.end.row;
        var endColumn = fold.end.column;
        if (!(startRow < endRow || 
            startRow == endRow && startColumn <= endColumn - 2))
            throw new Error("The range has to be at least 2 characters width");

        var startFold = this.getFoldAt(startRow, startColumn, 1);
        var endFold = this.getFoldAt(endRow, endColumn, -1);
        if (startFold && endFold == startFold)
            return startFold.addSubFold(fold);

        if (startFold && !startFold.range.isStart(startRow, startColumn))
            this.removeFold(startFold);
        
        if (endFold && !endFold.range.isEnd(endRow, endColumn))
            this.removeFold(endFold);
        var folds = this.getFoldsInRange(fold.range);
        if (folds.length > 0) {
            this.removeFolds(folds);
            folds.forEach(function(subFold) {
                fold.addSubFold(subFold);
            });
        }

        for (var i = 0; i < foldData.length; i++) {
            var foldLine = foldData[i];
            if (endRow == foldLine.start.row) {
                foldLine.addFold(fold);
                added = true;
                break;
            } else if (startRow == foldLine.end.row) {
                foldLine.addFold(fold);
                added = true;
                if (!fold.sameRow) {
                    var foldLineNext = foldData[i + 1];
                    if (foldLineNext && foldLineNext.start.row == endRow) {
                        foldLine.merge(foldLineNext);
                        break;
                    }
                }
                break;
            } else if (endRow <= foldLine.start.row) {
                break;
            }
        }

        if (!added)
            foldLine = this.$addFoldLine(new FoldLine(this.$foldData, fold));

        if (this.$useWrapMode)
            this.$updateWrapData(foldLine.start.row, foldLine.start.row);
        else
            this.$updateRowLengthCache(foldLine.start.row, foldLine.start.row);
        this.$modified = true;
        this._signal("changeFold", { data: fold, action: "add" });

        return fold;
    };

    this.addFolds = function(folds) {
        folds.forEach(function(fold) {
            this.addFold(fold);
        }, this);
    };

    this.removeFold = function(fold) {
        var foldLine = fold.foldLine;
        var startRow = foldLine.start.row;
        var endRow = foldLine.end.row;

        var foldLines = this.$foldData;
        var folds = foldLine.folds;
        if (folds.length == 1) {
            foldLines.splice(foldLines.indexOf(foldLine), 1);
        } else
        if (foldLine.range.isEnd(fold.end.row, fold.end.column)) {
            folds.pop();
            foldLine.end.row = folds[folds.length - 1].end.row;
            foldLine.end.column = folds[folds.length - 1].end.column;
        } else
        if (foldLine.range.isStart(fold.start.row, fold.start.column)) {
            folds.shift();
            foldLine.start.row = folds[0].start.row;
            foldLine.start.column = folds[0].start.column;
        } else
        if (fold.sameRow) {
            folds.splice(folds.indexOf(fold), 1);
        } else
        {
            var newFoldLine = foldLine.split(fold.start.row, fold.start.column);
            folds = newFoldLine.folds;
            folds.shift();
            newFoldLine.start.row = folds[0].start.row;
            newFoldLine.start.column = folds[0].start.column;
        }

        if (!this.$updating) {
            if (this.$useWrapMode)
                this.$updateWrapData(startRow, endRow);
            else
                this.$updateRowLengthCache(startRow, endRow);
        }
        this.$modified = true;
        this._signal("changeFold", { data: fold, action: "remove" });
    };

    this.removeFolds = function(folds) {
        var cloneFolds = [];
        for (var i = 0; i < folds.length; i++) {
            cloneFolds.push(folds[i]);
        }

        cloneFolds.forEach(function(fold) {
            this.removeFold(fold);
        }, this);
        this.$modified = true;
    };

    this.expandFold = function(fold) {
        this.removeFold(fold);
        fold.subFolds.forEach(function(subFold) {
            fold.restoreRange(subFold);
            this.addFold(subFold);
        }, this);
        if (fold.collapseChildren > 0) {
            this.foldAll(fold.start.row+1, fold.end.row, fold.collapseChildren-1);
        }
        fold.subFolds = [];
    };

    this.expandFolds = function(folds) {
        folds.forEach(function(fold) {
            this.expandFold(fold);
        }, this);
    };

    this.unfold = function(location, expandInner) {
        var range, folds;
        if (location == null) {
            range = new Range(0, 0, this.getLength(), 0);
            expandInner = true;
        } else if (typeof location == "number")
            range = new Range(location, 0, location, this.getLine(location).length);
        else if ("row" in location)
            range = Range.fromPoints(location, location);
        else
            range = location;
        
        folds = this.getFoldsInRangeList(range);
        if (expandInner) {
            this.removeFolds(folds);
        } else {
            var subFolds = folds;
            while (subFolds.length) {
                this.expandFolds(subFolds);
                subFolds = this.getFoldsInRangeList(range);
            }
        }
        if (folds.length)
            return folds;
    };
    this.isRowFolded = function(docRow, startFoldRow) {
        return !!this.getFoldLine(docRow, startFoldRow);
    };

    this.getRowFoldEnd = function(docRow, startFoldRow) {
        var foldLine = this.getFoldLine(docRow, startFoldRow);
        return foldLine ? foldLine.end.row : docRow;
    };

    this.getRowFoldStart = function(docRow, startFoldRow) {
        var foldLine = this.getFoldLine(docRow, startFoldRow);
        return foldLine ? foldLine.start.row : docRow;
    };

    this.getFoldDisplayLine = function(foldLine, endRow, endColumn, startRow, startColumn) {
        if (startRow == null)
            startRow = foldLine.start.row;
        if (startColumn == null)
            startColumn = 0;
        if (endRow == null)
            endRow = foldLine.end.row;
        if (endColumn == null)
            endColumn = this.getLine(endRow).length;
        var doc = this.doc;
        var textLine = "";

        foldLine.walk(function(placeholder, row, column, lastColumn) {
            if (row < startRow)
                return;
            if (row == startRow) {
                if (column < startColumn)
                    return;
                lastColumn = Math.max(startColumn, lastColumn);
            }

            if (placeholder != null) {
                textLine += placeholder;
            } else {
                textLine += doc.getLine(row).substring(lastColumn, column);
            }
        }, endRow, endColumn);
        return textLine;
    };

    this.getDisplayLine = function(row, endColumn, startRow, startColumn) {
        var foldLine = this.getFoldLine(row);

        if (!foldLine) {
            var line;
            line = this.doc.getLine(row);
            return line.substring(startColumn || 0, endColumn || line.length);
        } else {
            return this.getFoldDisplayLine(
                foldLine, row, endColumn, startRow, startColumn);
        }
    };

    this.$cloneFoldData = function() {
        var fd = [];
        fd = this.$foldData.map(function(foldLine) {
            var folds = foldLine.folds.map(function(fold) {
                return fold.clone();
            });
            return new FoldLine(fd, folds);
        });

        return fd;
    };

    this.toggleFold = function(tryToUnfold) {
        var selection = this.selection;
        var range = selection.getRange();
        var fold;
        var bracketPos;

        if (range.isEmpty()) {
            var cursor = range.start;
            fold = this.getFoldAt(cursor.row, cursor.column);

            if (fold) {
                this.expandFold(fold);
                return;
            } else if (bracketPos = this.findMatchingBracket(cursor)) {
                if (range.comparePoint(bracketPos) == 1) {
                    range.end = bracketPos;
                } else {
                    range.start = bracketPos;
                    range.start.column++;
                    range.end.column--;
                }
            } else if (bracketPos = this.findMatchingBracket({row: cursor.row, column: cursor.column + 1})) {
                if (range.comparePoint(bracketPos) == 1)
                    range.end = bracketPos;
                else
                    range.start = bracketPos;

                range.start.column++;
            } else {
                range = this.getCommentFoldRange(cursor.row, cursor.column) || range;
            }
        } else {
            var folds = this.getFoldsInRange(range);
            if (tryToUnfold && folds.length) {
                this.expandFolds(folds);
                return;
            } else if (folds.length == 1 ) {
                fold = folds[0];
            }
        }

        if (!fold)
            fold = this.getFoldAt(range.start.row, range.start.column);

        if (fold && fold.range.toString() == range.toString()) {
            this.expandFold(fold);
            return;
        }

        var placeholder = "...";
        if (!range.isMultiLine()) {
            placeholder = this.getTextRange(range);
            if (placeholder.length < 4)
                return;
            placeholder = placeholder.trim().substring(0, 2) + "..";
        }

        this.addFold(placeholder, range);
    };

    this.getCommentFoldRange = function(row, column, dir) {
        var iterator = new TokenIterator(this, row, column);
        var token = iterator.getCurrentToken();
        var type = token.type;
        if (token && /^comment|string/.test(type)) {
            type = type.match(/comment|string/)[0];
            if (type == "comment")
                type += "|doc-start";
            var re = new RegExp(type);
            var range = new Range();
            if (dir != 1) {
                do {
                    token = iterator.stepBackward();
                } while (token && re.test(token.type));
                iterator.stepForward();
            }
            
            range.start.row = iterator.getCurrentTokenRow();
            range.start.column = iterator.getCurrentTokenColumn() + 2;

            iterator = new TokenIterator(this, row, column);
            
            if (dir != -1) {
                var lastRow = -1;
                do {
                    token = iterator.stepForward();
                    if (lastRow == -1) {
                        var state = this.getState(iterator.$row);
                        if (!re.test(state))
                            lastRow = iterator.$row;
                    } else if (iterator.$row > lastRow) {
                        break;
                    }
                } while (token && re.test(token.type));
                token = iterator.stepBackward();
            } else
                token = iterator.getCurrentToken();

            range.end.row = iterator.getCurrentTokenRow();
            range.end.column = iterator.getCurrentTokenColumn() + token.value.length - 2;
            return range;
        }
    };

    this.foldAll = function(startRow, endRow, depth) {
        if (depth == undefined)
            depth = 100000; // JSON.stringify doesn't hanle Infinity
        var foldWidgets = this.foldWidgets;
        if (!foldWidgets)
            return; // mode doesn't support folding
        endRow = endRow || this.getLength();
        startRow = startRow || 0;
        for (var row = startRow; row < endRow; row++) {
            if (foldWidgets[row] == null)
                foldWidgets[row] = this.getFoldWidget(row);
            if (foldWidgets[row] != "start")
                continue;

            var range = this.getFoldWidgetRange(row);
            if (range && range.isMultiLine()
                && range.end.row <= endRow
                && range.start.row >= startRow
            ) {
                row = range.end.row;
                try {
                    var fold = this.addFold("...", range);
                    if (fold)
                        fold.collapseChildren = depth;
                } catch(e) {}
            }
        }
    };
    this.$foldStyles = {
        "manual": 1,
        "markbegin": 1,
        "markbeginend": 1
    };
    this.$foldStyle = "markbegin";
    this.setFoldStyle = function(style) {
        if (!this.$foldStyles[style])
            throw new Error("invalid fold style: " + style + "[" + Object.keys(this.$foldStyles).join(", ") + "]");
        
        if (this.$foldStyle == style)
            return;

        this.$foldStyle = style;
        
        if (style == "manual")
            this.unfold();
        var mode = this.$foldMode;
        this.$setFolding(null);
        this.$setFolding(mode);
    };

    this.$setFolding = function(foldMode) {
        if (this.$foldMode == foldMode)
            return;
            
        this.$foldMode = foldMode;
        
        this.off('change', this.$updateFoldWidgets);
        this.off('tokenizerUpdate', this.$tokenizerUpdateFoldWidgets);
        this._signal("changeAnnotation");
        
        if (!foldMode || this.$foldStyle == "manual") {
            this.foldWidgets = null;
            return;
        }
        
        this.foldWidgets = [];
        this.getFoldWidget = foldMode.getFoldWidget.bind(foldMode, this, this.$foldStyle);
        this.getFoldWidgetRange = foldMode.getFoldWidgetRange.bind(foldMode, this, this.$foldStyle);
        
        this.$updateFoldWidgets = this.updateFoldWidgets.bind(this);
        this.$tokenizerUpdateFoldWidgets = this.tokenizerUpdateFoldWidgets.bind(this);
        this.on('change', this.$updateFoldWidgets);
        this.on('tokenizerUpdate', this.$tokenizerUpdateFoldWidgets);
    };

    this.getParentFoldRangeData = function (row, ignoreCurrent) {
        var fw = this.foldWidgets;
        if (!fw || (ignoreCurrent && fw[row]))
            return {};

        var i = row - 1, firstRange;
        while (i >= 0) {
            var c = fw[i];
            if (c == null)
                c = fw[i] = this.getFoldWidget(i);

            if (c == "start") {
                var range = this.getFoldWidgetRange(i);
                if (!firstRange)
                    firstRange = range;
                if (range && range.end.row >= row)
                    break;
            }
            i--;
        }

        return {
            range: i !== -1 && range,
            firstRange: firstRange
        };
    };

    this.onFoldWidgetClick = function(row, e) {
        e = e.domEvent;
        var options = {
            children: e.shiftKey,
            all: e.ctrlKey || e.metaKey,
            siblings: e.altKey
        };
        
        var range = this.$toggleFoldWidget(row, options);
        if (!range) {
            var el = (e.target || e.srcElement);
            if (el && /ace_fold-widget/.test(el.className))
                el.className += " ace_invalid";
        }
    };
    
    this.$toggleFoldWidget = function(row, options) {
        if (!this.getFoldWidget)
            return;
        var type = this.getFoldWidget(row);
        var line = this.getLine(row);

        var dir = type === "end" ? -1 : 1;
        var fold = this.getFoldAt(row, dir === -1 ? 0 : line.length, dir);

        if (fold) {
            if (options.children || options.all)
                this.removeFold(fold);
            else
                this.expandFold(fold);
            return fold;
        }

        var range = this.getFoldWidgetRange(row, true);
        if (range && !range.isMultiLine()) {
            fold = this.getFoldAt(range.start.row, range.start.column, 1);
            if (fold && range.isEqual(fold.range)) {
                this.removeFold(fold);
                return fold;
            }
        }
        
        if (options.siblings) {
            var data = this.getParentFoldRangeData(row);
            if (data.range) {
                var startRow = data.range.start.row + 1;
                var endRow = data.range.end.row;
            }
            this.foldAll(startRow, endRow, options.all ? 10000 : 0);
        } else if (options.children) {
            endRow = range ? range.end.row : this.getLength();
            this.foldAll(row + 1, endRow, options.all ? 10000 : 0);
        } else if (range) {
            if (options.all) 
                range.collapseChildren = 10000;
            this.addFold("...", range);
        }
        
        return range;
    };
    
    
    
    this.toggleFoldWidget = function(toggleParent) {
        var row = this.selection.getCursor().row;
        row = this.getRowFoldStart(row);
        var range = this.$toggleFoldWidget(row, {});
        
        if (range)
            return;
        var data = this.getParentFoldRangeData(row, true);
        range = data.range || data.firstRange;
        
        if (range) {
            row = range.start.row;
            var fold = this.getFoldAt(row, this.getLine(row).length, 1);

            if (fold) {
                this.removeFold(fold);
            } else {
                this.addFold("...", range);
            }
        }
    };

    this.updateFoldWidgets = function(delta) {
        var firstRow = delta.start.row;
        var len = delta.end.row - firstRow;

        if (len === 0) {
            this.foldWidgets[firstRow] = null;
        } else if (delta.action == 'remove') {
            this.foldWidgets.splice(firstRow, len + 1, null);
        } else {
            var args = Array(len + 1);
            args.unshift(firstRow, 1);
            this.foldWidgets.splice.apply(this.foldWidgets, args);
        }
    };
    this.tokenizerUpdateFoldWidgets = function(e) {
        var rows = e.data;
        if (rows.first != rows.last) {
            if (this.foldWidgets.length > rows.first)
                this.foldWidgets.splice(rows.first, this.foldWidgets.length);
        }
    };
}

exports.Folding = Folding;

});

ace.define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator","ace/range"], function(acequire, exports, module) {
"use strict";

var TokenIterator = acequire("../token_iterator").TokenIterator;
var Range = acequire("../range").Range;


function BracketMatch() {

    this.findMatchingBracket = function(position, chr) {
        if (position.column == 0) return null;

        var charBeforeCursor = chr || this.getLine(position.row).charAt(position.column-1);
        if (charBeforeCursor == "") return null;

        var match = charBeforeCursor.match(/([\(\[\{])|([\)\]\}])/);
        if (!match)
            return null;

        if (match[1])
            return this.$findClosingBracket(match[1], position);
        else
            return this.$findOpeningBracket(match[2], position);
    };
    
    this.getBracketRange = function(pos) {
        var line = this.getLine(pos.row);
        var before = true, range;

        var chr = line.charAt(pos.column-1);
        var match = chr && chr.match(/([\(\[\{])|([\)\]\}])/);
        if (!match) {
            chr = line.charAt(pos.column);
            pos = {row: pos.row, column: pos.column + 1};
            match = chr && chr.match(/([\(\[\{])|([\)\]\}])/);
            before = false;
        }
        if (!match)
            return null;

        if (match[1]) {
            var bracketPos = this.$findClosingBracket(match[1], pos);
            if (!bracketPos)
                return null;
            range = Range.fromPoints(pos, bracketPos);
            if (!before) {
                range.end.column++;
                range.start.column--;
            }
            range.cursor = range.end;
        } else {
            var bracketPos = this.$findOpeningBracket(match[2], pos);
            if (!bracketPos)
                return null;
            range = Range.fromPoints(bracketPos, pos);
            if (!before) {
                range.start.column++;
                range.end.column--;
            }
            range.cursor = range.start;
        }
        
        return range;
    };

    this.$brackets = {
        ")": "(",
        "(": ")",
        "]": "[",
        "[": "]",
        "{": "}",
        "}": "{"
    };

    this.$findOpeningBracket = function(bracket, position, typeRe) {
        var openBracket = this.$brackets[bracket];
        var depth = 1;

        var iterator = new TokenIterator(this, position.row, position.column);
        var token = iterator.getCurrentToken();
        if (!token)
            token = iterator.stepForward();
        if (!token)
            return;
        
         if (!typeRe){
            typeRe = new RegExp(
                "(\\.?" +
                token.type.replace(".", "\\.").replace("rparen", ".paren")
                    .replace(/\b(?:end)\b/, "(?:start|begin|end)")
                + ")+"
            );
        }
        var valueIndex = position.column - iterator.getCurrentTokenColumn() - 2;
        var value = token.value;
        
        while (true) {
        
            while (valueIndex >= 0) {
                var chr = value.charAt(valueIndex);
                if (chr == openBracket) {
                    depth -= 1;
                    if (depth == 0) {
                        return {row: iterator.getCurrentTokenRow(),
                            column: valueIndex + iterator.getCurrentTokenColumn()};
                    }
                }
                else if (chr == bracket) {
                    depth += 1;
                }
                valueIndex -= 1;
            }
            do {
                token = iterator.stepBackward();
            } while (token && !typeRe.test(token.type));

            if (token == null)
                break;
                
            value = token.value;
            valueIndex = value.length - 1;
        }
        
        return null;
    };

    this.$findClosingBracket = function(bracket, position, typeRe) {
        var closingBracket = this.$brackets[bracket];
        var depth = 1;

        var iterator = new TokenIterator(this, position.row, position.column);
        var token = iterator.getCurrentToken();
        if (!token)
            token = iterator.stepForward();
        if (!token)
            return;

        if (!typeRe){
            typeRe = new RegExp(
                "(\\.?" +
                token.type.replace(".", "\\.").replace("lparen", ".paren")
                    .replace(/\b(?:start|begin)\b/, "(?:start|begin|end)")
                + ")+"
            );
        }
        var valueIndex = position.column - iterator.getCurrentTokenColumn();

        while (true) {

            var value = token.value;
            var valueLength = value.length;
            while (valueIndex < valueLength) {
                var chr = value.charAt(valueIndex);
                if (chr == closingBracket) {
                    depth -= 1;
                    if (depth == 0) {
                        return {row: iterator.getCurrentTokenRow(),
                            column: valueIndex + iterator.getCurrentTokenColumn()};
                    }
                }
                else if (chr == bracket) {
                    depth += 1;
                }
                valueIndex += 1;
            }
            do {
                token = iterator.stepForward();
            } while (token && !typeRe.test(token.type));

            if (token == null)
                break;

            valueIndex = 0;
        }
        
        return null;
    };
}
exports.BracketMatch = BracketMatch;

});

ace.define("ace/edit_session",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/bidihandler","ace/config","ace/lib/event_emitter","ace/selection","ace/mode/text","ace/range","ace/document","ace/background_tokenizer","ace/search_highlight","ace/edit_session/folding","ace/edit_session/bracket_match"], function(acequire, exports, module) {
"use strict";

var oop = acequire("./lib/oop");
var lang = acequire("./lib/lang");
var BidiHandler = acequire("./bidihandler").BidiHandler;
var config = acequire("./config");
var EventEmitter = acequire("./lib/event_emitter").EventEmitter;
var Selection = acequire("./selection").Selection;
var TextMode = acequire("./mode/text").Mode;
var Range = acequire("./range").Range;
var Document = acequire("./document").Document;
var BackgroundTokenizer = acequire("./background_tokenizer").BackgroundTokenizer;
var SearchHighlight = acequire("./search_highlight").SearchHighlight;

var EditSession = function(text, mode) {
    this.$breakpoints = [];
    this.$decorations = [];
    this.$frontMarkers = {};
    this.$backMarkers = {};
    this.$markerId = 1;
    this.$undoSelect = true;

    this.$foldData = [];
    this.id = "session" + (++EditSession.$uid);
    this.$foldData.toString = function() {
        return this.join("\n");
    };
    this.on("changeFold", this.onChangeFold.bind(this));
    this.$onChange = this.onChange.bind(this);

    if (typeof text != "object" || !text.getLine)
        text = new Document(text);

    this.$bidiHandler = new BidiHandler(this);
    this.setDocument(text);
    this.selection = new Selection(this);

    config.resetOptions(this);
    this.setMode(mode);
    config._signal("session", this);
};


EditSession.$uid = 0;

(function() {

    oop.implement(this, EventEmitter);
    this.setDocument = function(doc) {
        if (this.doc)
            this.doc.removeListener("change", this.$onChange);

        this.doc = doc;
        doc.on("change", this.$onChange);

        if (this.bgTokenizer)
            this.bgTokenizer.setDocument(this.getDocument());

        this.resetCaches();
    };
    this.getDocument = function() {
        return this.doc;
    };
    this.$resetRowCache = function(docRow) {
        if (!docRow) {
            this.$docRowCache = [];
            this.$screenRowCache = [];
            return;
        }
        var l = this.$docRowCache.length;
        var i = this.$getRowCacheIndex(this.$docRowCache, docRow) + 1;
        if (l > i) {
            this.$docRowCache.splice(i, l);
            this.$screenRowCache.splice(i, l);
        }
    };

    this.$getRowCacheIndex = function(cacheArray, val) {
        var low = 0;
        var hi = cacheArray.length - 1;

        while (low <= hi) {
            var mid = (low + hi) >> 1;
            var c = cacheArray[mid];

            if (val > c)
                low = mid + 1;
            else if (val < c)
                hi = mid - 1;
            else
                return mid;
        }

        return low -1;
    };

    this.resetCaches = function() {
        this.$modified = true;
        this.$wrapData = [];
        this.$rowLengthCache = [];
        this.$resetRowCache(0);
        if (this.bgTokenizer)
            this.bgTokenizer.start(0);
    };

    this.onChangeFold = function(e) {
        var fold = e.data;
        this.$resetRowCache(fold.start.row);
    };

    this.onChange = function(delta) {
        this.$modified = true;
        this.$bidiHandler.onChange(delta);
        this.$resetRowCache(delta.start.row);

        var removedFolds = this.$updateInternalDataOnChange(delta);
        if (!this.$fromUndo && this.$undoManager && !delta.ignore) {
            this.$deltasDoc.push(delta);
            if (removedFolds && removedFolds.length != 0) {
                this.$deltasFold.push({
                    action: "removeFolds",
                    folds:  removedFolds
                });
            }

            this.$informUndoManager.schedule();
        }

        this.bgTokenizer && this.bgTokenizer.$updateOnChange(delta);
        this._signal("change", delta);
    };
    this.setValue = function(text) {
        this.doc.setValue(text);
        this.selection.moveTo(0, 0);

        this.$resetRowCache(0);
        this.$deltas = [];
        this.$deltasDoc = [];
        this.$deltasFold = [];
        this.setUndoManager(this.$undoManager);
        this.getUndoManager().reset();
    };
    this.getValue =
    this.toString = function() {
        return this.doc.getValue();
    };
    this.getSelection = function() {
        return this.selection;
    };
    this.getState = function(row) {
        return this.bgTokenizer.getState(row);
    };
    this.getTokens = function(row) {
        return this.bgTokenizer.getTokens(row);
    };
    this.getTokenAt = function(row, column) {
        var tokens = this.bgTokenizer.getTokens(row);
        var token, c = 0;
        if (column == null) {
            var i = tokens.length - 1;
            c = this.getLine(row).length;
        } else {
            for (var i = 0; i < tokens.length; i++) {
                c += tokens[i].value.length;
                if (c >= column)
                    break;
            }
        }
        token = tokens[i];
        if (!token)
            return null;
        token.index = i;
        token.start = c - token.value.length;
        return token;
    };
    this.setUndoManager = function(undoManager) {
        this.$undoManager = undoManager;
        this.$deltas = [];
        this.$deltasDoc = [];
        this.$deltasFold = [];

        if (this.$informUndoManager)
            this.$informUndoManager.cancel();

        if (undoManager) {
            var self = this;

            this.$syncInformUndoManager = function() {
                self.$informUndoManager.cancel();

                if (self.$deltasFold.length) {
                    self.$deltas.push({
                        group: "fold",
                        deltas: self.$deltasFold
                    });
                    self.$deltasFold = [];
                }

                if (self.$deltasDoc.length) {
                    self.$deltas.push({
                        group: "doc",
                        deltas: self.$deltasDoc
                    });
                    self.$deltasDoc = [];
                }

                if (self.$deltas.length > 0) {
                    undoManager.execute({
                        action: "aceupdate",
                        args: [self.$deltas, self],
                        merge: self.mergeUndoDeltas
                    });
                }
                self.mergeUndoDeltas = false;
                self.$deltas = [];
            };
            this.$informUndoManager = lang.delayedCall(this.$syncInformUndoManager);
        }
    };
    this.markUndoGroup = function() {
        if (this.$syncInformUndoManager)
            this.$syncInformUndoManager();
    };
    
    this.$defaultUndoManager = {
        undo: function() {},
        redo: function() {},
        reset: function() {}
    };
    this.getUndoManager = function() {
        return this.$undoManager || this.$defaultUndoManager;
    };
    this.getTabString = function() {
        if (this.getUseSoftTabs()) {
            return lang.stringRepeat(" ", this.getTabSize());
        } else {
            return "\t";
        }
    };
    this.setUseSoftTabs = function(val) {
        this.setOption("useSoftTabs", val);
    };
    this.getUseSoftTabs = function() {
        return this.$useSoftTabs && !this.$mode.$indentWithTabs;
    };
    this.setTabSize = function(tabSize) {
        this.setOption("tabSize", tabSize);
    };
    this.getTabSize = function() {
        return this.$tabSize;
    };
    this.isTabStop = function(position) {
        return this.$useSoftTabs && (position.column % this.$tabSize === 0);
    };
    this.setNavigateWithinSoftTabs = function (navigateWithinSoftTabs) {
        this.setOption("navigateWithinSoftTabs", navigateWithinSoftTabs);
    };
    this.getNavigateWithinSoftTabs = function() {
        return this.$navigateWithinSoftTabs;
    };

    this.$overwrite = false;
    this.setOverwrite = function(overwrite) {
        this.setOption("overwrite", overwrite);
    };
    this.getOverwrite = function() {
        return this.$overwrite;
    };
    this.toggleOverwrite = function() {
        this.setOverwrite(!this.$overwrite);
    };
    this.addGutterDecoration = function(row, className) {
        if (!this.$decorations[row])
            this.$decorations[row] = "";
        this.$decorations[row] += " " + className;
        this._signal("changeBreakpoint", {});
    };
    this.removeGutterDecoration = function(row, className) {
        this.$decorations[row] = (this.$decorations[row] || "").replace(" " + className, "");
        this._signal("changeBreakpoint", {});
    };
    this.getBreakpoints = function() {
        return this.$breakpoints;
    };
    this.setBreakpoints = function(rows) {
        this.$breakpoints = [];
        for (var i=0; i<rows.length; i++) {
            this.$breakpoints[rows[i]] = "ace_breakpoint";
        }
        this._signal("changeBreakpoint", {});
    };
    this.clearBreakpoints = function() {
        this.$breakpoints = [];
        this._signal("changeBreakpoint", {});
    };
    this.setBreakpoint = function(row, className) {
        if (className === undefined)
            className = "ace_breakpoint";
        if (className)
            this.$breakpoints[row] = className;
        else
            delete this.$breakpoints[row];
        this._signal("changeBreakpoint", {});
    };
    this.clearBreakpoint = function(row) {
        delete this.$breakpoints[row];
        this._signal("changeBreakpoint", {});
    };
    this.addMarker = function(range, clazz, type, inFront) {
        var id = this.$markerId++;

        var marker = {
            range : range,
            type : type || "line",
            renderer: typeof type == "function" ? type : null,
            clazz : clazz,
            inFront: !!inFront,
            id: id
        };

        if (inFront) {
            this.$frontMarkers[id] = marker;
            this._signal("changeFrontMarker");
        } else {
            this.$backMarkers[id] = marker;
            this._signal("changeBackMarker");
        }

        return id;
    };
    this.addDynamicMarker = function(marker, inFront) {
        if (!marker.update)
            return;
        var id = this.$markerId++;
        marker.id = id;
        marker.inFront = !!inFront;

        if (inFront) {
            this.$frontMarkers[id] = marker;
            this._signal("changeFrontMarker");
        } else {
            this.$backMarkers[id] = marker;
            this._signal("changeBackMarker");
        }

        return marker;
    };
    this.removeMarker = function(markerId) {
        var marker = this.$frontMarkers[markerId] || this.$backMarkers[markerId];
        if (!marker)
            return;

        var markers = marker.inFront ? this.$frontMarkers : this.$backMarkers;
        if (marker) {
            delete (markers[markerId]);
            this._signal(marker.inFront ? "changeFrontMarker" : "changeBackMarker");
        }
    };
    this.getMarkers = function(inFront) {
        return inFront ? this.$frontMarkers : this.$backMarkers;
    };

    this.highlight = function(re) {
        if (!this.$searchHighlight) {
            var highlight = new SearchHighlight(null, "ace_selected-word", "text");
            this.$searchHighlight = this.addDynamicMarker(highlight);
        }
        this.$searchHighlight.setRegexp(re);
    };
    this.highlightLines = function(startRow, endRow, clazz, inFront) {
        if (typeof endRow != "number") {
            clazz = endRow;
            endRow = startRow;
        }
        if (!clazz)
            clazz = "ace_step";

        var range = new Range(startRow, 0, endRow, Infinity);
        range.id = this.addMarker(range, clazz, "fullLine", inFront);
        return range;
    };
    this.setAnnotations = function(annotations) {
        this.$annotations = annotations;
        this._signal("changeAnnotation", {});
    };
    this.getAnnotations = function() {
        return this.$annotations || [];
    };
    this.clearAnnotations = function() {
        this.setAnnotations([]);
    };
    this.$detectNewLine = function(text) {
        var match = text.match(/^.*?(\r?\n)/m);
        if (match) {
            this.$autoNewLine = match[1];
        } else {
            this.$autoNewLine = "\n";
        }
    };
    this.getWordRange = function(row, column) {
        var line = this.getLine(row);

        var inToken = false;
        if (column > 0)
            inToken = !!line.charAt(column - 1).match(this.tokenRe);

        if (!inToken)
            inToken = !!line.charAt(column).match(this.tokenRe);

        if (inToken)
            var re = this.tokenRe;
        else if (/^\s+$/.test(line.slice(column-1, column+1)))
            var re = /\s/;
        else
            var re = this.nonTokenRe;

        var start = column;
        if (start > 0) {
            do {
                start--;
            }
            while (start >= 0 && line.charAt(start).match(re));
            start++;
        }

        var end = column;
        while (end < line.length && line.charAt(end).match(re)) {
            end++;
        }

        return new Range(row, start, row, end);
    };
    this.getAWordRange = function(row, column) {
        var wordRange = this.getWordRange(row, column);
        var line = this.getLine(wordRange.end.row);

        while (line.charAt(wordRange.end.column).match(/[ \t]/)) {
            wordRange.end.column += 1;
        }
        return wordRange;
    };
    this.setNewLineMode = function(newLineMode) {
        this.doc.setNewLineMode(newLineMode);
    };
    this.getNewLineMode = function() {
        return this.doc.getNewLineMode();
    };
    this.setUseWorker = function(useWorker) { this.setOption("useWorker", useWorker); };
    this.getUseWorker = function() { return this.$useWorker; };
    this.onReloadTokenizer = function(e) {
        var rows = e.data;
        this.bgTokenizer.start(rows.first);
        this._signal("tokenizerUpdate", e);
    };

    this.$modes = {};
    this.$mode = null;
    this.$modeId = null;
    this.setMode = function(mode, cb) {
        if (mode && typeof mode === "object") {
            if (mode.getTokenizer)
                return this.$onChangeMode(mode);
            var options = mode;
            var path = options.path;
        } else {
            path = mode || "ace/mode/text";
        }
        if (!this.$modes["ace/mode/text"])
            this.$modes["ace/mode/text"] = new TextMode();

        if (this.$modes[path] && !options) {
            this.$onChangeMode(this.$modes[path]);
            cb && cb();
            return;
        }
        this.$modeId = path;
        config.loadModule(["mode", path], function(m) {
            if (this.$modeId !== path)
                return cb && cb();
            if (this.$modes[path] && !options) {
                this.$onChangeMode(this.$modes[path]);
            } else if (m && m.Mode) {
                m = new m.Mode(options);
                if (!options) {
                    this.$modes[path] = m;
                    m.$id = path;
                }
                this.$onChangeMode(m);
            }
            cb && cb();
        }.bind(this));
        if (!this.$mode)
            this.$onChangeMode(this.$modes["ace/mode/text"], true);
    };

    this.$onChangeMode = function(mode, $isPlaceholder) {
        if (!$isPlaceholder)
            this.$modeId = mode.$id;
        if (this.$mode === mode) 
            return;

        this.$mode = mode;

        this.$stopWorker();

        if (this.$useWorker)
            this.$startWorker();

        var tokenizer = mode.getTokenizer();

        if(tokenizer.addEventListener !== undefined) {
            var onReloadTokenizer = this.onReloadTokenizer.bind(this);
            tokenizer.addEventListener("update", onReloadTokenizer);
        }

        if (!this.bgTokenizer) {
            this.bgTokenizer = new BackgroundTokenizer(tokenizer);
            var _self = this;
            this.bgTokenizer.addEventListener("update", function(e) {
                _self._signal("tokenizerUpdate", e);
            });
        } else {
            this.bgTokenizer.setTokenizer(tokenizer);
        }

        this.bgTokenizer.setDocument(this.getDocument());

        this.tokenRe = mode.tokenRe;
        this.nonTokenRe = mode.nonTokenRe;

        
        if (!$isPlaceholder) {
            if (mode.attachToSession)
                mode.attachToSession(this);
            this.$options.wrapMethod.set.call(this, this.$wrapMethod);
            this.$setFolding(mode.foldingRules);
            this.bgTokenizer.start(0);
            this._emit("changeMode");
        }
    };

    this.$stopWorker = function() {
        if (this.$worker) {
            this.$worker.terminate();
            this.$worker = null;
        }
    };

    this.$startWorker = function() {
        try {
            this.$worker = this.$mode.createWorker(this);
        } catch (e) {
            config.warn("Could not load worker", e);
            this.$worker = null;
        }
    };
    this.getMode = function() {
        return this.$mode;
    };

    this.$scrollTop = 0;
    this.setScrollTop = function(scrollTop) {
        if (this.$scrollTop === scrollTop || isNaN(scrollTop))
            return;

        this.$scrollTop = scrollTop;
        this._signal("changeScrollTop", scrollTop);
    };
    this.getScrollTop = function() {
        return this.$scrollTop;
    };

    this.$scrollLeft = 0;
    this.setScrollLeft = function(scrollLeft) {
        if (this.$scrollLeft === scrollLeft || isNaN(scrollLeft))
            return;

        this.$scrollLeft = scrollLeft;
        this._signal("changeScrollLeft", scrollLeft);
    };
    this.getScrollLeft = function() {
        return this.$scrollLeft;
    };
    this.getScreenWidth = function() {
        this.$computeWidth();
        if (this.lineWidgets) 
            return Math.max(this.getLineWidgetMaxWidth(), this.screenWidth);
        return this.screenWidth;
    };
    
    this.getLineWidgetMaxWidth = function() {
        if (this.lineWidgetsWidth != null) return this.lineWidgetsWidth;
        var width = 0;
        this.lineWidgets.forEach(function(w) {
            if (w && w.screenWidth > width)
                width = w.screenWidth;
        });
        return this.lineWidgetWidth = width;
    };

    this.$computeWidth = function(force) {
        if (this.$modified || force) {
            this.$modified = false;

            if (this.$useWrapMode)
                return this.screenWidth = this.$wrapLimit;

            var lines = this.doc.getAllLines();
            var cache = this.$rowLengthCache;
            var longestScreenLine = 0;
            var foldIndex = 0;
            var foldLine = this.$foldData[foldIndex];
            var foldStart = foldLine ? foldLine.start.row : Infinity;
            var len = lines.length;

            for (var i = 0; i < len; i++) {
                if (i > foldStart) {
                    i = foldLine.end.row + 1;
                    if (i >= len)
                        break;
                    foldLine = this.$foldData[foldIndex++];
                    foldStart = foldLine ? foldLine.start.row : Infinity;
                }

                if (cache[i] == null)
                    cache[i] = this.$getStringScreenWidth(lines[i])[0];

                if (cache[i] > longestScreenLine)
                    longestScreenLine = cache[i];
            }
            this.screenWidth = longestScreenLine;
        }
    };
    this.getLine = function(row) {
        return this.doc.getLine(row);
    };
    this.getLines = function(firstRow, lastRow) {
        return this.doc.getLines(firstRow, lastRow);
    };
    this.getLength = function() {
        return this.doc.getLength();
    };
    this.getTextRange = function(range) {
        return this.doc.getTextRange(range || this.selection.getRange());
    };
    this.insert = function(position, text) {
        return this.doc.insert(position, text);
    };
    this.remove = function(range) {
        return this.doc.remove(range);
    };
    this.removeFullLines = function(firstRow, lastRow){
        return this.doc.removeFullLines(firstRow, lastRow);
    };
    this.undoChanges = function(deltas, dontSelect) {
        if (!deltas.length)
            return;

        this.$fromUndo = true;
        var lastUndoRange = null;
        for (var i = deltas.length - 1; i != -1; i--) {
            var delta = deltas[i];
            if (delta.group == "doc") {
                this.doc.revertDeltas(delta.deltas);
                lastUndoRange =
                    this.$getUndoSelection(delta.deltas, true, lastUndoRange);
            } else {
                delta.deltas.forEach(function(foldDelta) {
                    this.addFolds(foldDelta.folds);
                }, this);
            }
        }
        this.$fromUndo = false;
        lastUndoRange &&
            this.$undoSelect &&
            !dontSelect &&
            this.selection.setSelectionRange(lastUndoRange);
        return lastUndoRange;
    };
    this.redoChanges = function(deltas, dontSelect) {
        if (!deltas.length)
            return;

        this.$fromUndo = true;
        var lastUndoRange = null;
        for (var i = 0; i < deltas.length; i++) {
            var delta = deltas[i];
            if (delta.group == "doc") {
                this.doc.applyDeltas(delta.deltas);
                lastUndoRange =
                    this.$getUndoSelection(delta.deltas, false, lastUndoRange);
            }
        }
        this.$fromUndo = false;
        lastUndoRange &&
            this.$undoSelect &&
            !dontSelect &&
            this.selection.setSelectionRange(lastUndoRange);
        return lastUndoRange;
    };
    this.setUndoSelect = function(enable) {
        this.$undoSelect = enable;
    };

    this.$getUndoSelection = function(deltas, isUndo, lastUndoRange) {
        function isInsert(delta) {
            return isUndo ? delta.action !== "insert" : delta.action === "insert";
        }

        var delta = deltas[0];
        var range, point;
        var lastDeltaIsInsert = false;
        if (isInsert(delta)) {
            range = Range.fromPoints(delta.start, delta.end);
            lastDeltaIsInsert = true;
        } else {
            range = Range.fromPoints(delta.start, delta.start);
            lastDeltaIsInsert = false;
        }

        for (var i = 1; i < deltas.length; i++) {
            delta = deltas[i];
            if (isInsert(delta)) {
                point = delta.start;
                if (range.compare(point.row, point.column) == -1) {
                    range.setStart(point);
                }
                point = delta.end;
                if (range.compare(point.row, point.column) == 1) {
                    range.setEnd(point);
                }
                lastDeltaIsInsert = true;
            } else {
                point = delta.start;
                if (range.compare(point.row, point.column) == -1) {
                    range = Range.fromPoints(delta.start, delta.start);
                }
                lastDeltaIsInsert = false;
            }
        }
        if (lastUndoRange != null) {
            if (Range.comparePoints(lastUndoRange.start, range.start) === 0) {
                lastUndoRange.start.column += range.end.column - range.start.column;
                lastUndoRange.end.column += range.end.column - range.start.column;
            }

            var cmp = lastUndoRange.compareRange(range);
            if (cmp == 1) {
                range.setStart(lastUndoRange.start);
            } else if (cmp == -1) {
                range.setEnd(lastUndoRange.end);
            }
        }

        return range;
    };
    this.replace = function(range, text) {
        return this.doc.replace(range, text);
    };
    this.moveText = function(fromRange, toPosition, copy) {
        var text = this.getTextRange(fromRange);
        var folds = this.getFoldsInRange(fromRange);

        var toRange = Range.fromPoints(toPosition, toPosition);
        if (!copy) {
            this.remove(fromRange);
            var rowDiff = fromRange.start.row - fromRange.end.row;
            var collDiff = rowDiff ? -fromRange.end.column : fromRange.start.column - fromRange.end.column;
            if (collDiff) {
                if (toRange.start.row == fromRange.end.row && toRange.start.column > fromRange.end.column)
                    toRange.start.column += collDiff;
                if (toRange.end.row == fromRange.end.row && toRange.end.column > fromRange.end.column)
                    toRange.end.column += collDiff;
            }
            if (rowDiff && toRange.start.row >= fromRange.end.row) {
                toRange.start.row += rowDiff;
                toRange.end.row += rowDiff;
            }
        }

        toRange.end = this.insert(toRange.start, text);
        if (folds.length) {
            var oldStart = fromRange.start;
            var newStart = toRange.start;
            var rowDiff = newStart.row - oldStart.row;
            var collDiff = newStart.column - oldStart.column;
            this.addFolds(folds.map(function(x) {
                x = x.clone();
                if (x.start.row == oldStart.row)
                    x.start.column += collDiff;
                if (x.end.row == oldStart.row)
                    x.end.column += collDiff;
                x.start.row += rowDiff;
                x.end.row += rowDiff;
                return x;
            }));
        }

        return toRange;
    };
    this.indentRows = function(startRow, endRow, indentString) {
        indentString = indentString.replace(/\t/g, this.getTabString());
        for (var row=startRow; row<=endRow; row++)
            this.doc.insertInLine({row: row, column: 0}, indentString);
    };
    this.outdentRows = function (range) {
        var rowRange = range.collapseRows();
        var deleteRange = new Range(0, 0, 0, 0);
        var size = this.getTabSize();

        for (var i = rowRange.start.row; i <= rowRange.end.row; ++i) {
            var line = this.getLine(i);

            deleteRange.start.row = i;
            deleteRange.end.row = i;
            for (var j = 0; j < size; ++j)
                if (line.charAt(j) != ' ')
                    break;
            if (j < size && line.charAt(j) == '\t') {
                deleteRange.start.column = j;
                deleteRange.end.column = j + 1;
            } else {
                deleteRange.start.column = 0;
                deleteRange.end.column = j;
            }
            this.remove(deleteRange);
        }
    };

    this.$moveLines = function(firstRow, lastRow, dir) {
        firstRow = this.getRowFoldStart(firstRow);
        lastRow = this.getRowFoldEnd(lastRow);
        if (dir < 0) {
            var row = this.getRowFoldStart(firstRow + dir);
            if (row < 0) return 0;
            var diff = row-firstRow;
        } else if (dir > 0) {
            var row = this.getRowFoldEnd(lastRow + dir);
            if (row > this.doc.getLength()-1) return 0;
            var diff = row-lastRow;
        } else {
            firstRow = this.$clipRowToDocument(firstRow);
            lastRow = this.$clipRowToDocument(lastRow);
            var diff = lastRow - firstRow + 1;
        }

        var range = new Range(firstRow, 0, lastRow, Number.MAX_VALUE);
        var folds = this.getFoldsInRange(range).map(function(x){
            x = x.clone();
            x.start.row += diff;
            x.end.row += diff;
            return x;
        });
        
        var lines = dir == 0
            ? this.doc.getLines(firstRow, lastRow)
            : this.doc.removeFullLines(firstRow, lastRow);
        this.doc.insertFullLines(firstRow+diff, lines);
        folds.length && this.addFolds(folds);
        return diff;
    };
    this.moveLinesUp = function(firstRow, lastRow) {
        return this.$moveLines(firstRow, lastRow, -1);
    };
    this.moveLinesDown = function(firstRow, lastRow) {
        return this.$moveLines(firstRow, lastRow, 1);
    };
    this.duplicateLines = function(firstRow, lastRow) {
        return this.$moveLines(firstRow, lastRow, 0);
    };


    this.$clipRowToDocument = function(row) {
        return Math.max(0, Math.min(row, this.doc.getLength()-1));
    };

    this.$clipColumnToRow = function(row, column) {
        if (column < 0)
            return 0;
        return Math.min(this.doc.getLine(row).length, column);
    };


    this.$clipPositionToDocument = function(row, column) {
        column = Math.max(0, column);

        if (row < 0) {
            row = 0;
            column = 0;
        } else {
            var len = this.doc.getLength();
            if (row >= len) {
                row = len - 1;
                column = this.doc.getLine(len-1).length;
            } else {
                column = Math.min(this.doc.getLine(row).length, column);
            }
        }

        return {
            row: row,
            column: column
        };
    };

    this.$clipRangeToDocument = function(range) {
        if (range.start.row < 0) {
            range.start.row = 0;
            range.start.column = 0;
        } else {
            range.start.column = this.$clipColumnToRow(
                range.start.row,
                range.start.column
            );
        }

        var len = this.doc.getLength() - 1;
        if (range.end.row > len) {
            range.end.row = len;
            range.end.column = this.doc.getLine(len).length;
        } else {
            range.end.column = this.$clipColumnToRow(
                range.end.row,
                range.end.column
            );
        }
        return range;
    };
    this.$wrapLimit = 80;
    this.$useWrapMode = false;
    this.$wrapLimitRange = {
        min : null,
        max : null
    };
    this.setUseWrapMode = function(useWrapMode) {
        if (useWrapMode != this.$useWrapMode) {
            this.$useWrapMode = useWrapMode;
            this.$modified = true;
            this.$resetRowCache(0);
            if (useWrapMode) {
                var len = this.getLength();
                this.$wrapData = Array(len);
                this.$updateWrapData(0, len - 1);
            }

            this._signal("changeWrapMode");
        }
    };
    this.getUseWrapMode = function() {
        return this.$useWrapMode;
    };
    this.setWrapLimitRange = function(min, max) {
        if (this.$wrapLimitRange.min !== min || this.$wrapLimitRange.max !== max) {
            this.$wrapLimitRange = { min: min, max: max };
            this.$modified = true;
            this.$bidiHandler.markAsDirty();
            if (this.$useWrapMode)
                this._signal("changeWrapMode");
        }
    };
    this.adjustWrapLimit = function(desiredLimit, $printMargin) {
        var limits = this.$wrapLimitRange;
        if (limits.max < 0)
            limits = {min: $printMargin, max: $printMargin};
        var wrapLimit = this.$constrainWrapLimit(desiredLimit, limits.min, limits.max);
        if (wrapLimit != this.$wrapLimit && wrapLimit > 1) {
            this.$wrapLimit = wrapLimit;
            this.$modified = true;
            if (this.$useWrapMode) {
                this.$updateWrapData(0, this.getLength() - 1);
                this.$resetRowCache(0);
                this._signal("changeWrapLimit");
            }
            return true;
        }
        return false;
    };

    this.$constrainWrapLimit = function(wrapLimit, min, max) {
        if (min)
            wrapLimit = Math.max(min, wrapLimit);

        if (max)
            wrapLimit = Math.min(max, wrapLimit);

        return wrapLimit;
    };
    this.getWrapLimit = function() {
        return this.$wrapLimit;
    };
    this.setWrapLimit = function (limit) {
        this.setWrapLimitRange(limit, limit);
    };
    this.getWrapLimitRange = function() {
        return {
            min : this.$wrapLimitRange.min,
            max : this.$wrapLimitRange.max
        };
    };

    this.$updateInternalDataOnChange = function(delta) {
        var useWrapMode = this.$useWrapMode;
        var action = delta.action;
        var start = delta.start;
        var end = delta.end;
        var firstRow = start.row;
        var lastRow = end.row;
        var len = lastRow - firstRow;
        var removedFolds = null;
        
        this.$updating = true;
        if (len != 0) {
            if (action === "remove") {
                this[useWrapMode ? "$wrapData" : "$rowLengthCache"].splice(firstRow, len);

                var foldLines = this.$foldData;
                removedFolds = this.getFoldsInRange(delta);
                this.removeFolds(removedFolds);

                var foldLine = this.getFoldLine(end.row);
                var idx = 0;
                if (foldLine) {
                    foldLine.addRemoveChars(end.row, end.column, start.column - end.column);
                    foldLine.shiftRow(-len);

                    var foldLineBefore = this.getFoldLine(firstRow);
                    if (foldLineBefore && foldLineBefore !== foldLine) {
                        foldLineBefore.merge(foldLine);
                        foldLine = foldLineBefore;
                    }
                    idx = foldLines.indexOf(foldLine) + 1;
                }

                for (idx; idx < foldLines.length; idx++) {
                    var foldLine = foldLines[idx];
                    if (foldLine.start.row >= end.row) {
                        foldLine.shiftRow(-len);
                    }
                }

                lastRow = firstRow;
            } else {
                var args = Array(len);
                args.unshift(firstRow, 0);
                var arr = useWrapMode ? this.$wrapData : this.$rowLengthCache;
                arr.splice.apply(arr, args);
                var foldLines = this.$foldData;
                var foldLine = this.getFoldLine(firstRow);
                var idx = 0;
                if (foldLine) {
                    var cmp = foldLine.range.compareInside(start.row, start.column);
                    if (cmp == 0) {
                        foldLine = foldLine.split(start.row, start.column);
                        if (foldLine) {
                            foldLine.shiftRow(len);
                            foldLine.addRemoveChars(lastRow, 0, end.column - start.column);
                        }
                    } else
                    if (cmp == -1) {
                        foldLine.addRemoveChars(firstRow, 0, end.column - start.column);
                        foldLine.shiftRow(len);
                    }
                    idx = foldLines.indexOf(foldLine) + 1;
                }

                for (idx; idx < foldLines.length; idx++) {
                    var foldLine = foldLines[idx];
                    if (foldLine.start.row >= firstRow) {
                        foldLine.shiftRow(len);
                    }
                }
            }
        } else {
            len = Math.abs(delta.start.column - delta.end.column);
            if (action === "remove") {
                removedFolds = this.getFoldsInRange(delta);
                this.removeFolds(removedFolds);

                len = -len;
            }
            var foldLine = this.getFoldLine(firstRow);
            if (foldLine) {
                foldLine.addRemoveChars(firstRow, start.column, len);
            }
        }

        if (useWrapMode && this.$wrapData.length != this.doc.getLength()) {
            console.error("doc.getLength() and $wrapData.length have to be the same!");
        }
        this.$updating = false;

        if (useWrapMode)
            this.$updateWrapData(firstRow, lastRow);
        else
            this.$updateRowLengthCache(firstRow, lastRow);

        return removedFolds;
    };

    this.$updateRowLengthCache = function(firstRow, lastRow, b) {
        this.$rowLengthCache[firstRow] = null;
        this.$rowLengthCache[lastRow] = null;
    };

    this.$updateWrapData = function(firstRow, lastRow) {
        var lines = this.doc.getAllLines();
        var tabSize = this.getTabSize();
        var wrapData = this.$wrapData;
        var wrapLimit = this.$wrapLimit;
        var tokens;
        var foldLine;

        var row = firstRow;
        lastRow = Math.min(lastRow, lines.length - 1);
        while (row <= lastRow) {
            foldLine = this.getFoldLine(row, foldLine);
            if (!foldLine) {
                tokens = this.$getDisplayTokens(lines[row]);
                wrapData[row] = this.$computeWrapSplits(tokens, wrapLimit, tabSize);
                row ++;
            } else {
                tokens = [];
                foldLine.walk(function(placeholder, row, column, lastColumn) {
                        var walkTokens;
                        if (placeholder != null) {
                            walkTokens = this.$getDisplayTokens(
                                            placeholder, tokens.length);
                            walkTokens[0] = PLACEHOLDER_START;
                            for (var i = 1; i < walkTokens.length; i++) {
                                walkTokens[i] = PLACEHOLDER_BODY;
                            }
                        } else {
                            walkTokens = this.$getDisplayTokens(
                                lines[row].substring(lastColumn, column),
                                tokens.length);
                        }
                        tokens = tokens.concat(walkTokens);
                    }.bind(this),
                    foldLine.end.row,
                    lines[foldLine.end.row].length + 1
                );

                wrapData[foldLine.start.row] = this.$computeWrapSplits(tokens, wrapLimit, tabSize);
                row = foldLine.end.row + 1;
            }
        }
    };
    var CHAR = 1,
        CHAR_EXT = 2,
        PLACEHOLDER_START = 3,
        PLACEHOLDER_BODY =  4,
        PUNCTUATION = 9,
        SPACE = 10,
        TAB = 11,
        TAB_SPACE = 12;


    this.$computeWrapSplits = function(tokens, wrapLimit, tabSize) {
        if (tokens.length == 0) {
            return [];
        }

        var splits = [];
        var displayLength = tokens.length;
        var lastSplit = 0, lastDocSplit = 0;

        var isCode = this.$wrapAsCode;

        var indentedSoftWrap = this.$indentedSoftWrap;
        var maxIndent = wrapLimit <= Math.max(2 * tabSize, 8)
            || indentedSoftWrap === false ? 0 : Math.floor(wrapLimit / 2);

        function getWrapIndent() {
            var indentation = 0;
            if (maxIndent === 0)
                return indentation;
            if (indentedSoftWrap) {
                for (var i = 0; i < tokens.length; i++) {
                    var token = tokens[i];
                    if (token == SPACE)
                        indentation += 1;
                    else if (token == TAB)
                        indentation += tabSize;
                    else if (token == TAB_SPACE)
                        continue;
                    else
                        break;
                }
            }
            if (isCode && indentedSoftWrap !== false)
                indentation += tabSize;
            return Math.min(indentation, maxIndent);
        }
        function addSplit(screenPos) {
            var displayed = tokens.slice(lastSplit, screenPos);
            var len = displayed.length;
            displayed.join("")
                .replace(/12/g, function() {
                    len -= 1;
                })
                .replace(/2/g, function() {
                    len -= 1;
                });

            if (!splits.length) {
                indent = getWrapIndent();
                splits.indent = indent;
            }
            lastDocSplit += len;
            splits.push(lastDocSplit);
            lastSplit = screenPos;
        }
        var indent = 0;
        while (displayLength - lastSplit > wrapLimit - indent) {
            var split = lastSplit + wrapLimit - indent;
            if (tokens[split - 1] >= SPACE && tokens[split] >= SPACE) {
                addSplit(split);
                continue;
            }
            if (tokens[split] == PLACEHOLDER_START || tokens[split] == PLACEHOLDER_BODY) {
                for (split; split != lastSplit - 1; split--) {
                    if (tokens[split] == PLACEHOLDER_START) {
                        break;
                    }
                }
                if (split > lastSplit) {
                    addSplit(split);
                    continue;
                }
                split = lastSplit + wrapLimit;
                for (split; split < tokens.length; split++) {
                    if (tokens[split] != PLACEHOLDER_BODY) {
                        break;
                    }
                }
                if (split == tokens.length) {
                    break;  // Breaks the while-loop.
                }
                addSplit(split);
                continue;
            }
            var minSplit = Math.max(split - (wrapLimit -(wrapLimit>>2)), lastSplit - 1);
            while (split > minSplit && tokens[split] < PLACEHOLDER_START) {
                split --;
            }
            if (isCode) {
                while (split > minSplit && tokens[split] < PLACEHOLDER_START) {
                    split --;
                }
                while (split > minSplit && tokens[split] == PUNCTUATION) {
                    split --;
                }
            } else {
                while (split > minSplit && tokens[split] < SPACE) {
                    split --;
                }
            }
            if (split > minSplit) {
                addSplit(++split);
                continue;
            }
            split = lastSplit + wrapLimit;
            if (tokens[split] == CHAR_EXT)
                split--;
            addSplit(split - indent);
        }
        return splits;
    };
    this.$getDisplayTokens = function(str, offset) {
        var arr = [];
        var tabSize;
        offset = offset || 0;

        for (var i = 0; i < str.length; i++) {
            var c = str.charCodeAt(i);
            if (c == 9) {
                tabSize = this.getScreenTabSize(arr.length + offset);
                arr.push(TAB);
                for (var n = 1; n < tabSize; n++) {
                    arr.push(TAB_SPACE);
                }
            }
            else if (c == 32) {
                arr.push(SPACE);
            } else if((c > 39 && c < 48) || (c > 57 && c < 64)) {
                arr.push(PUNCTUATION);
            }
            else if (c >= 0x1100 && isFullWidth(c)) {
                arr.push(CHAR, CHAR_EXT);
            } else {
                arr.push(CHAR);
            }
        }
        return arr;
    };
    this.$getStringScreenWidth = function(str, maxScreenColumn, screenColumn) {
        if (maxScreenColumn == 0)
            return [0, 0];
        if (maxScreenColumn == null)
            maxScreenColumn = Infinity;
        screenColumn = screenColumn || 0;

        var c, column;
        for (column = 0; column < str.length; column++) {
            c = str.charCodeAt(column);
            if (c == 9) {
                screenColumn += this.getScreenTabSize(screenColumn);
            }
            else if (c >= 0x1100 && isFullWidth(c)) {
                screenColumn += 2;
            } else {
                screenColumn += 1;
            }
            if (screenColumn > maxScreenColumn) {
                break;
            }
        }

        return [screenColumn, column];
    };

    this.lineWidgets = null;
    this.getRowLength = function(row) {
        if (this.lineWidgets)
            var h = this.lineWidgets[row] && this.lineWidgets[row].rowCount || 0;
        else 
            h = 0;
        if (!this.$useWrapMode || !this.$wrapData[row]) {
            return 1 + h;
        } else {
            return this.$wrapData[row].length + 1 + h;
        }
    };
    this.getRowLineCount = function(row) {
        if (!this.$useWrapMode || !this.$wrapData[row]) {
            return 1;
        } else {
            return this.$wrapData[row].length + 1;
        }
    };

    this.getRowWrapIndent = function(screenRow) {
        if (this.$useWrapMode) {
            var pos = this.screenToDocumentPosition(screenRow, Number.MAX_VALUE);
            var splits = this.$wrapData[pos.row];
            return splits.length && splits[0] < pos.column ? splits.indent : 0;
        } else {
            return 0;
        }
    };
    this.getScreenLastRowColumn = function(screenRow) {
        var pos = this.screenToDocumentPosition(screenRow, Number.MAX_VALUE);
        return this.documentToScreenColumn(pos.row, pos.column);
    };
    this.getDocumentLastRowColumn = function(docRow, docColumn) {
        var screenRow = this.documentToScreenRow(docRow, docColumn);
        return this.getScreenLastRowColumn(screenRow);
    };
    this.getDocumentLastRowColumnPosition = function(docRow, docColumn) {
        var screenRow = this.documentToScreenRow(docRow, docColumn);
        return this.screenToDocumentPosition(screenRow, Number.MAX_VALUE / 10);
    };
    this.getRowSplitData = function(row) {
        if (!this.$useWrapMode) {
            return undefined;
        } else {
            return this.$wrapData[row];
        }
    };
    this.getScreenTabSize = function(screenColumn) {
        return this.$tabSize - screenColumn % this.$tabSize;
    };


    this.screenToDocumentRow = function(screenRow, screenColumn) {
        return this.screenToDocumentPosition(screenRow, screenColumn).row;
    };


    this.screenToDocumentColumn = function(screenRow, screenColumn) {
        return this.screenToDocumentPosition(screenRow, screenColumn).column;
    };
    this.screenToDocumentPosition = function(screenRow, screenColumn, offsetX) {
        if (screenRow < 0)
            return {row: 0, column: 0};

        var line;
        var docRow = 0;
        var docColumn = 0;
        var column;
        var row = 0;
        var rowLength = 0;

        var rowCache = this.$screenRowCache;
        var i = this.$getRowCacheIndex(rowCache, screenRow);
        var l = rowCache.length;
        if (l && i >= 0) {
            var row = rowCache[i];
            var docRow = this.$docRowCache[i];
            var doCache = screenRow > rowCache[l - 1];
        } else {
            var doCache = !l;
        }

        var maxRow = this.getLength() - 1;
        var foldLine = this.getNextFoldLine(docRow);
        var foldStart = foldLine ? foldLine.start.row : Infinity;

        while (row <= screenRow) {
            rowLength = this.getRowLength(docRow);
            if (row + rowLength > screenRow || docRow >= maxRow) {
                break;
            } else {
                row += rowLength;
                docRow++;
                if (docRow > foldStart) {
                    docRow = foldLine.end.row+1;
                    foldLine = this.getNextFoldLine(docRow, foldLine);
                    foldStart = foldLine ? foldLine.start.row : Infinity;
                }
            }

            if (doCache) {
                this.$docRowCache.push(docRow);
                this.$screenRowCache.push(row);
            }
        }

        if (foldLine && foldLine.start.row <= docRow) {
            line = this.getFoldDisplayLine(foldLine);
            docRow = foldLine.start.row;
        } else if (row + rowLength <= screenRow || docRow > maxRow) {
            return {
                row: maxRow,
                column: this.getLine(maxRow).length
            };
        } else {
            line = this.getLine(docRow);
            foldLine = null;
        }
        var wrapIndent = 0, splitIndex = Math.floor(screenRow - row);
        if (this.$useWrapMode) {
            var splits = this.$wrapData[docRow];
            if (splits) {
                column = splits[splitIndex];
                if(splitIndex > 0 && splits.length) {
                    wrapIndent = splits.indent;
                    docColumn = splits[splitIndex - 1] || splits[splits.length - 1];
                    line = line.substring(docColumn);
                }
            }
        }

        if (offsetX !== undefined && this.$bidiHandler.isBidiRow(row + splitIndex, docRow, splitIndex))
            screenColumn = this.$bidiHandler.offsetToCol(offsetX);

        docColumn += this.$getStringScreenWidth(line, screenColumn - wrapIndent)[1];
        if (this.$useWrapMode && docColumn >= column)
            docColumn = column - 1;

        if (foldLine)
            return foldLine.idxToPosition(docColumn);

        return {row: docRow, column: docColumn};
    };
    this.documentToScreenPosition = function(docRow, docColumn) {
        if (typeof docColumn === "undefined")
            var pos = this.$clipPositionToDocument(docRow.row, docRow.column);
        else
            pos = this.$clipPositionToDocument(docRow, docColumn);

        docRow = pos.row;
        docColumn = pos.column;

        var screenRow = 0;
        var foldStartRow = null;
        var fold = null;
        fold = this.getFoldAt(docRow, docColumn, 1);
        if (fold) {
            docRow = fold.start.row;
            docColumn = fold.start.column;
        }

        var rowEnd, row = 0;


        var rowCache = this.$docRowCache;
        var i = this.$getRowCacheIndex(rowCache, docRow);
        var l = rowCache.length;
        if (l && i >= 0) {
            var row = rowCache[i];
            var screenRow = this.$screenRowCache[i];
            var doCache = docRow > rowCache[l - 1];
        } else {
            var doCache = !l;
        }

        var foldLine = this.getNextFoldLine(row);
        var foldStart = foldLine ?foldLine.start.row :Infinity;

        while (row < docRow) {
            if (row >= foldStart) {
                rowEnd = foldLine.end.row + 1;
                if (rowEnd > docRow)
                    break;
                foldLine = this.getNextFoldLine(rowEnd, foldLine);
                foldStart = foldLine ?foldLine.start.row :Infinity;
            }
            else {
                rowEnd = row + 1;
            }

            screenRow += this.getRowLength(row);
            row = rowEnd;

            if (doCache) {
                this.$docRowCache.push(row);
                this.$screenRowCache.push(screenRow);
            }
        }
        var textLine = "";
        if (foldLine && row >= foldStart) {
            textLine = this.getFoldDisplayLine(foldLine, docRow, docColumn);
            foldStartRow = foldLine.start.row;
        } else {
            textLine = this.getLine(docRow).substring(0, docColumn);
            foldStartRow = docRow;
        }
        var wrapIndent = 0;
        if (this.$useWrapMode) {
            var wrapRow = this.$wrapData[foldStartRow];
            if (wrapRow) {
                var screenRowOffset = 0;
                while (textLine.length >= wrapRow[screenRowOffset]) {
                    screenRow ++;
                    screenRowOffset++;
                }
                textLine = textLine.substring(
                    wrapRow[screenRowOffset - 1] || 0, textLine.length
                );
                wrapIndent = screenRowOffset > 0 ? wrapRow.indent : 0;
            }
        }

        return {
            row: screenRow,
            column: wrapIndent + this.$getStringScreenWidth(textLine)[0]
        };
    };
    this.documentToScreenColumn = function(row, docColumn) {
        return this.documentToScreenPosition(row, docColumn).column;
    };
    this.documentToScreenRow = function(docRow, docColumn) {
        return this.documentToScreenPosition(docRow, docColumn).row;
    };
    this.getScreenLength = function() {
        var screenRows = 0;
        var fold = null;
        if (!this.$useWrapMode) {
            screenRows = this.getLength();
            var foldData = this.$foldData;
            for (var i = 0; i < foldData.length; i++) {
                fold = foldData[i];
                screenRows -= fold.end.row - fold.start.row;
            }
        } else {
            var lastRow = this.$wrapData.length;
            var row = 0, i = 0;
            var fold = this.$foldData[i++];
            var foldStart = fold ? fold.start.row :Infinity;

            while (row < lastRow) {
                var splits = this.$wrapData[row];
                screenRows += splits ? splits.length + 1 : 1;
                row ++;
                if (row > foldStart) {
                    row = fold.end.row+1;
                    fold = this.$foldData[i++];
                    foldStart = fold ?fold.start.row :Infinity;
                }
            }
        }
        if (this.lineWidgets)
            screenRows += this.$getWidgetScreenLength();

        return screenRows;
    };
    this.$setFontMetrics = function(fm) {
        if (!this.$enableVarChar) return;
        this.$getStringScreenWidth = function(str, maxScreenColumn, screenColumn) {
            if (maxScreenColumn === 0)
                return [0, 0];
            if (!maxScreenColumn)
                maxScreenColumn = Infinity;
            screenColumn = screenColumn || 0;
            
            var c, column;
            for (column = 0; column < str.length; column++) {
                c = str.charAt(column);
                if (c === "\t") {
                    screenColumn += this.getScreenTabSize(screenColumn);
                } else {
                    screenColumn += fm.getCharacterWidth(c);
                }
                if (screenColumn > maxScreenColumn) {
                    break;
                }
            }
            
            return [screenColumn, column];
        };
    };
    
    this.destroy = function() {
        if (this.bgTokenizer) {
            this.bgTokenizer.setDocument(null);
            this.bgTokenizer = null;
        }
        this.$stopWorker();
    };

    this.isFullWidth = isFullWidth;
    function isFullWidth(c) {
        if (c < 0x1100)
            return false;
        return c >= 0x1100 && c <= 0x115F ||
               c >= 0x11A3 && c <= 0x11A7 ||
               c >= 0x11FA && c <= 0x11FF ||
               c >= 0x2329 && c <= 0x232A ||
               c >= 0x2E80 && c <= 0x2E99 ||
               c >= 0x2E9B && c <= 0x2EF3 ||
               c >= 0x2F00 && c <= 0x2FD5 ||
               c >= 0x2FF0 && c <= 0x2FFB ||
               c >= 0x3000 && c <= 0x303E ||
               c >= 0x3041 && c <= 0x3096 ||
               c >= 0x3099 && c <= 0x30FF ||
               c >= 0x3105 && c <= 0x312D ||
               c >= 0x3131 && c <= 0x318E ||
               c >= 0x3190 && c <= 0x31BA ||
               c >= 0x31C0 && c <= 0x31E3 ||
               c >= 0x31F0 && c <= 0x321E ||
               c >= 0x3220 && c <= 0x3247 ||
               c >= 0x3250 && c <= 0x32FE ||
               c >= 0x3300 && c <= 0x4DBF ||
               c >= 0x4E00 && c <= 0xA48C ||
               c >= 0xA490 && c <= 0xA4C6 ||
               c >= 0xA960 && c <= 0xA97C ||
               c >= 0xAC00 && c <= 0xD7A3 ||
               c >= 0xD7B0 && c <= 0xD7C6 ||
               c >= 0xD7CB && c <= 0xD7FB ||
               c >= 0xF900 && c <= 0xFAFF ||
               c >= 0xFE10 && c <= 0xFE19 ||
               c >= 0xFE30 && c <= 0xFE52 ||
               c >= 0xFE54 && c <= 0xFE66 ||
               c >= 0xFE68 && c <= 0xFE6B ||
               c >= 0xFF01 && c <= 0xFF60 ||
               c >= 0xFFE0 && c <= 0xFFE6;
    }

}).call(EditSession.prototype);

acequire("./edit_session/folding").Folding.call(EditSession.prototype);
acequire("./edit_session/bracket_match").BracketMatch.call(EditSession.prototype);


config.defineOptions(EditSession.prototype, "session", {
    wrap: {
        set: function(value) {
            if (!value || value == "off")
                value = false;
            else if (value == "free")
                value = true;
            else if (value == "printMargin")
                value = -1;
            else if (typeof value == "string")
                value = parseInt(value, 10) || false;

            if (this.$wrap == value)
                return;
            this.$wrap = value;
            if (!value) {
                this.setUseWrapMode(false);
            } else {
                var col = typeof value == "number" ? value : null;
                this.setWrapLimitRange(col, col);
                this.setUseWrapMode(true);
            }
        },
        get: function() {
            if (this.getUseWrapMode()) {
                if (this.$wrap == -1)
                    return "printMargin";
                if (!this.getWrapLimitRange().min)
                    return "free";
                return this.$wrap;
            }
            return "off";
        },
        handlesSet: true
    },    
    wrapMethod: {
        set: function(val) {
            val = val == "auto"
                ? this.$mode.type != "text"
                : val != "text";
            if (val != this.$wrapAsCode) {
                this.$wrapAsCode = val;
                if (this.$useWrapMode) {
                    this.$modified = true;
                    this.$resetRowCache(0);
                    this.$updateWrapData(0, this.getLength() - 1);
                }
            }
        },
        initialValue: "auto"
    },
    indentedSoftWrap: { initialValue: true },
    firstLineNumber: {
        set: function() {this._signal("changeBreakpoint");},
        initialValue: 1
    },
    useWorker: {
        set: function(useWorker) {
            this.$useWorker = useWorker;

            this.$stopWorker();
            if (useWorker)
                this.$startWorker();
        },
        initialValue: true
    },
    useSoftTabs: {initialValue: true},
    tabSize: {
        set: function(tabSize) {
            if (isNaN(tabSize) || this.$tabSize === tabSize) return;

            this.$modified = true;
            this.$rowLengthCache = [];
            this.$tabSize = tabSize;
            this._signal("changeTabSize");
        },
        initialValue: 4,
        handlesSet: true
    },
    navigateWithinSoftTabs: {initialValue: false},
    overwrite: {
        set: function(val) {this._signal("changeOverwrite");},
        initialValue: false
    },
    newLineMode: {
        set: function(val) {this.doc.setNewLineMode(val);},
        get: function() {return this.doc.getNewLineMode();},
        handlesSet: true
    },
    mode: {
        set: function(val) { this.setMode(val); },
        get: function() { return this.$modeId; }
    }
});

exports.EditSession = EditSession;
});

ace.define("ace/search",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"], function(acequire, exports, module) {
"use strict";

var lang = acequire("./lib/lang");
var oop = acequire("./lib/oop");
var Range = acequire("./range").Range;

var Search = function() {
    this.$options = {};
};

(function() {
    this.set = function(options) {
        oop.mixin(this.$options, options);
        return this;
    };
    this.getOptions = function() {
        return lang.copyObject(this.$options);
    };
    this.setOptions = function(options) {
        this.$options = options;
    };
    this.find = function(session) {
        var options = this.$options;
        var iterator = this.$matchIterator(session, options);
        if (!iterator)
            return false;

        var firstRange = null;
        iterator.forEach(function(sr, sc, er, ec) {
            firstRange = new Range(sr, sc, er, ec);
            if (sc == ec && options.start && options.start.start
                && options.skipCurrent != false && firstRange.isEqual(options.start)
            ) {
                firstRange = null;
                return false;
            }

            return true;
        });

        return firstRange;
    };
    this.findAll = function(session) {
        var options = this.$options;
        if (!options.needle)
            return [];
        this.$assembleRegExp(options);

        var range = options.range;
        var lines = range
            ? session.getLines(range.start.row, range.end.row)
            : session.doc.getAllLines();

        var ranges = [];
        var re = options.re;
        if (options.$isMultiLine) {
            var len = re.length;
            var maxRow = lines.length - len;
            var prevRange;
            outer: for (var row = re.offset || 0; row <= maxRow; row++) {
                for (var j = 0; j < len; j++)
                    if (lines[row + j].search(re[j]) == -1)
                        continue outer;
                
                var startLine = lines[row];
                var line = lines[row + len - 1];
                var startIndex = startLine.length - startLine.match(re[0])[0].length;
                var endIndex = line.match(re[len - 1])[0].length;
                
                if (prevRange && prevRange.end.row === row &&
                    prevRange.end.column > startIndex
                ) {
                    continue;
                }
                ranges.push(prevRange = new Range(
                    row, startIndex, row + len - 1, endIndex
                ));
                if (len > 2)
                    row = row + len - 2;
            }
        } else {
            for (var i = 0; i < lines.length; i++) {
                var matches = lang.getMatchOffsets(lines[i], re);
                for (var j = 0; j < matches.length; j++) {
                    var match = matches[j];
                    ranges.push(new Range(i, match.offset, i, match.offset + match.length));
                }
            }
        }

        if (range) {
            var startColumn = range.start.column;
            var endColumn = range.start.column;
            var i = 0, j = ranges.length - 1;
            while (i < j && ranges[i].start.column < startColumn && ranges[i].start.row == range.start.row)
                i++;

            while (i < j && ranges[j].end.column > endColumn && ranges[j].end.row == range.end.row)
                j--;
            
            ranges = ranges.slice(i, j + 1);
            for (i = 0, j = ranges.length; i < j; i++) {
                ranges[i].start.row += range.start.row;
                ranges[i].end.row += range.start.row;
            }
        }

        return ranges;
    };
    this.replace = function(input, replacement) {
        var options = this.$options;

        var re = this.$assembleRegExp(options);
        if (options.$isMultiLine)
            return replacement;

        if (!re)
            return;

        var match = re.exec(input);
        if (!match || match[0].length != input.length)
            return null;
        
        replacement = input.replace(re, replacement);
        if (options.preserveCase) {
            replacement = replacement.split("");
            for (var i = Math.min(input.length, input.length); i--; ) {
                var ch = input[i];
                if (ch && ch.toLowerCase() != ch)
                    replacement[i] = replacement[i].toUpperCase();
                else
                    replacement[i] = replacement[i].toLowerCase();
            }
            replacement = replacement.join("");
        }
        
        return replacement;
    };

    this.$assembleRegExp = function(options, $disableFakeMultiline) {
        if (options.needle instanceof RegExp)
            return options.re = options.needle;

        var needle = options.needle;

        if (!options.needle)
            return options.re = false;

        if (!options.regExp)
            needle = lang.escapeRegExp(needle);

        if (options.wholeWord)
            needle = addWordBoundary(needle, options);

        var modifier = options.caseSensitive ? "gm" : "gmi";

        options.$isMultiLine = !$disableFakeMultiline && /[\n\r]/.test(needle);
        if (options.$isMultiLine)
            return options.re = this.$assembleMultilineRegExp(needle, modifier);

        try {
            var re = new RegExp(needle, modifier);
        } catch(e) {
            re = false;
        }
        return options.re = re;
    };

    this.$assembleMultilineRegExp = function(needle, modifier) {
        var parts = needle.replace(/\r\n|\r|\n/g, "$\n^").split("\n");
        var re = [];
        for (var i = 0; i < parts.length; i++) try {
            re.push(new RegExp(parts[i], modifier));
        } catch(e) {
            return false;
        }
        return re;
    };

    this.$matchIterator = function(session, options) {
        var re = this.$assembleRegExp(options);
        if (!re)
            return false;
        var backwards = options.backwards == true;
        var skipCurrent = options.skipCurrent != false;

        var range = options.range;
        var start = options.start;
        if (!start)
            start = range ? range[backwards ? "end" : "start"] : session.selection.getRange();
         
        if (start.start)
            start = start[skipCurrent != backwards ? "end" : "start"];

        var firstRow = range ? range.start.row : 0;
        var lastRow = range ? range.end.row : session.getLength() - 1;

        if (backwards) {
            var forEach = function(callback) {
                var row = start.row;
                if (forEachInLine(row, start.column, callback))
                    return;
                for (row--; row >= firstRow; row--)
                    if (forEachInLine(row, Number.MAX_VALUE, callback))
                        return;
                if (options.wrap == false)
                    return;
                for (row = lastRow, firstRow = start.row; row >= firstRow; row--)
                    if (forEachInLine(row, Number.MAX_VALUE, callback))
                        return;
            };
        }
        else {
            var forEach = function(callback) {
                var row = start.row;
                if (forEachInLine(row, start.column, callback))
                    return;
                for (row = row + 1; row <= lastRow; row++)
                    if (forEachInLine(row, 0, callback))
                        return;
                if (options.wrap == false)
                    return;
                for (row = firstRow, lastRow = start.row; row <= lastRow; row++)
                    if (forEachInLine(row, 0, callback))
                        return;
            };
        }
        
        if (options.$isMultiLine) {
            var len = re.length;
            var forEachInLine = function(row, offset, callback) {
                var startRow = backwards ? row - len + 1 : row;
                if (startRow < 0) return;
                var line = session.getLine(startRow);
                var startIndex = line.search(re[0]);
                if (!backwards && startIndex < offset || startIndex === -1) return;
                for (var i = 1; i < len; i++) {
                    line = session.getLine(startRow + i);
                    if (line.search(re[i]) == -1)
                        return;
                }
                var endIndex = line.match(re[len - 1])[0].length;
                if (backwards && endIndex > offset) return;
                if (callback(startRow, startIndex, startRow + len - 1, endIndex))
                    return true;
            };
        }
        else if (backwards) {
            var forEachInLine = function(row, endIndex, callback) {
                var line = session.getLine(row);
                var matches = [];
                var m, last = 0;
                re.lastIndex = 0;
                while((m = re.exec(line))) {
                    var length = m[0].length;
                    last = m.index;
                    if (!length) {
                        if (last >= line.length) break;
                        re.lastIndex = last += 1;
                    }
                    if (m.index + length > endIndex)
                        break;
                    matches.push(m.index, length);
                }
                for (var i = matches.length - 1; i >= 0; i -= 2) {
                    var column = matches[i - 1];
                    var length = matches[i];
                    if (callback(row, column, row, column + length))
                        return true;
                }
            };
        }
        else {
            var forEachInLine = function(row, startIndex, callback) {
                var line = session.getLine(row);
                var m;
                var last = startIndex;
                re.lastIndex = startIndex;
                while((m = re.exec(line))) {
                    var length = m[0].length;
                    last = m.index;
                    if (callback(row, last, row,last + length))
                        return true;
                    if (!length) {
                        re.lastIndex = last += 1;
                        if (last >= line.length) return false;
                    }
                }
            };
        }
        return {forEach: forEach};
    };

}).call(Search.prototype);

function addWordBoundary(needle, options) {
    function wordBoundary(c) {
        if (/\w/.test(c) || options.regExp) return "\\b";
        return "";
    }
    return wordBoundary(needle[0]) + needle
        + wordBoundary(needle[needle.length - 1]);
}

exports.Search = Search;
});

ace.define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys","ace/lib/useragent"], function(acequire, exports, module) {
"use strict";

var keyUtil = acequire("../lib/keys");
var useragent = acequire("../lib/useragent");
var KEY_MODS = keyUtil.KEY_MODS;

function HashHandler(config, platform) {
    this.platform = platform || (useragent.isMac ? "mac" : "win");
    this.commands = {};
    this.commandKeyBinding = {};
    this.addCommands(config);
    this.$singleCommand = true;
}

function MultiHashHandler(config, platform) {
    HashHandler.call(this, config, platform);
    this.$singleCommand = false;
}

MultiHashHandler.prototype = HashHandler.prototype;

(function() {
    

    this.addCommand = function(command) {
        if (this.commands[command.name])
            this.removeCommand(command);

        this.commands[command.name] = command;

        if (command.bindKey)
            this._buildKeyHash(command);
    };

    this.removeCommand = function(command, keepCommand) {
        var name = command && (typeof command === 'string' ? command : command.name);
        command = this.commands[name];
        if (!keepCommand)
            delete this.commands[name];
        var ckb = this.commandKeyBinding;
        for (var keyId in ckb) {
            var cmdGroup = ckb[keyId];
            if (cmdGroup == command) {
                delete ckb[keyId];
            } else if (Array.isArray(cmdGroup)) {
                var i = cmdGroup.indexOf(command);
                if (i != -1) {
                    cmdGroup.splice(i, 1);
                    if (cmdGroup.length == 1)
                        ckb[keyId] = cmdGroup[0];
                }
            }
        }
    };

    this.bindKey = function(key, command, position) {
        if (typeof key == "object" && key) {
            if (position == undefined)
                position = key.position;
            key = key[this.platform];
        }
        if (!key)
            return;
        if (typeof command == "function")
            return this.addCommand({exec: command, bindKey: key, name: command.name || key});
        
        key.split("|").forEach(function(keyPart) {
            var chain = "";
            if (keyPart.indexOf(" ") != -1) {
                var parts = keyPart.split(/\s+/);
                keyPart = parts.pop();
                parts.forEach(function(keyPart) {
                    var binding = this.parseKeys(keyPart);
                    var id = KEY_MODS[binding.hashId] + binding.key;
                    chain += (chain ? " " : "") + id;
                    this._addCommandToBinding(chain, "chainKeys");
                }, this);
                chain += " ";
            }
            var binding = this.parseKeys(keyPart);
            var id = KEY_MODS[binding.hashId] + binding.key;
            this._addCommandToBinding(chain + id, command, position);
        }, this);
    };
    
    function getPosition(command) {
        return typeof command == "object" && command.bindKey
            && command.bindKey.position
            || (command.isDefault ? -100 : 0);
    }
    this._addCommandToBinding = function(keyId, command, position) {
        var ckb = this.commandKeyBinding, i;
        if (!command) {
            delete ckb[keyId];
        } else if (!ckb[keyId] || this.$singleCommand) {
            ckb[keyId] = command;
        } else {
            if (!Array.isArray(ckb[keyId])) {
                ckb[keyId] = [ckb[keyId]];
            } else if ((i = ckb[keyId].indexOf(command)) != -1) {
                ckb[keyId].splice(i, 1);
            }

            if (typeof position != "number") {
                position = getPosition(command);
            }

            var commands = ckb[keyId];
            for (i = 0; i < commands.length; i++) {
                var other = commands[i];
                var otherPos = getPosition(other);
                if (otherPos > position)
                    break;
            }
            commands.splice(i, 0, command);
        }
    };

    this.addCommands = function(commands) {
        commands && Object.keys(commands).forEach(function(name) {
            var command = commands[name];
            if (!command)
                return;
            
            if (typeof command === "string")
                return this.bindKey(command, name);

            if (typeof command === "function")
                command = { exec: command };

            if (typeof command !== "object")
                return;

            if (!command.name)
                command.name = name;

            this.addCommand(command);
        }, this);
    };

    this.removeCommands = function(commands) {
        Object.keys(commands).forEach(function(name) {
            this.removeCommand(commands[name]);
        }, this);
    };

    this.bindKeys = function(keyList) {
        Object.keys(keyList).forEach(function(key) {
            this.bindKey(key, keyList[key]);
        }, this);
    };

    this._buildKeyHash = function(command) {
        this.bindKey(command.bindKey, command);
    };
    this.parseKeys = function(keys) {
        var parts = keys.toLowerCase().split(/[\-\+]([\-\+])?/).filter(function(x){return x;});
        var key = parts.pop();

        var keyCode = keyUtil[key];
        if (keyUtil.FUNCTION_KEYS[keyCode])
            key = keyUtil.FUNCTION_KEYS[keyCode].toLowerCase();
        else if (!parts.length)
            return {key: key, hashId: -1};
        else if (parts.length == 1 && parts[0] == "shift")
            return {key: key.toUpperCase(), hashId: -1};

        var hashId = 0;
        for (var i = parts.length; i--;) {
            var modifier = keyUtil.KEY_MODS[parts[i]];
            if (modifier == null) {
                if (typeof console != "undefined")
                    console.error("invalid modifier " + parts[i] + " in " + keys);
                return false;
            }
            hashId |= modifier;
        }
        return {key: key, hashId: hashId};
    };

    this.findKeyCommand = function findKeyCommand(hashId, keyString) {
        var key = KEY_MODS[hashId] + keyString;
        return this.commandKeyBinding[key];
    };

    this.handleKeyboard = function(data, hashId, keyString, keyCode) {
        if (keyCode < 0) return;
        var key = KEY_MODS[hashId] + keyString;
        var command = this.commandKeyBinding[key];
        if (data.$keyChain) {
            data.$keyChain += " " + key;
            command = this.commandKeyBinding[data.$keyChain] || command;
        }
        
        if (command) {
            if (command == "chainKeys" || command[command.length - 1] == "chainKeys") {
                data.$keyChain = data.$keyChain || key;
                return {command: "null"};
            }
        }
        
        if (data.$keyChain) {
            if ((!hashId || hashId == 4) && keyString.length == 1)
                data.$keyChain = data.$keyChain.slice(0, -key.length - 1); // wait for input
            else if (hashId == -1 || keyCode > 0)
                data.$keyChain = ""; // reset keyChain
        }
        return {command: command};
    };
    
    this.getStatusText = function(editor, data) {
        return data.$keyChain || "";
    };

}).call(HashHandler.prototype);

exports.HashHandler = HashHandler;
exports.MultiHashHandler = MultiHashHandler;
});

ace.define("ace/commands/command_manager",["require","exports","module","ace/lib/oop","ace/keyboard/hash_handler","ace/lib/event_emitter"], function(acequire, exports, module) {
"use strict";

var oop = acequire("../lib/oop");
var MultiHashHandler = acequire("../keyboard/hash_handler").MultiHashHandler;
var EventEmitter = acequire("../lib/event_emitter").EventEmitter;

var CommandManager = function(platform, commands) {
    MultiHashHandler.call(this, commands, platform);
    this.byName = this.commands;
    this.setDefaultHandler("exec", function(e) {
        return e.command.exec(e.editor, e.args || {});
    });
};

oop.inherits(CommandManager, MultiHashHandler);

(function() {

    oop.implement(this, EventEmitter);

    this.exec = function(command, editor, args) {
        if (Array.isArray(command)) {
            for (var i = command.length; i--; ) {
                if (this.exec(command[i], editor, args)) return true;
            }
            return false;
        }

        if (typeof command === "string")
            command = this.commands[command];

        if (!command)
            return false;

        if (editor && editor.$readOnly && !command.readOnly)
            return false;

        if (command.isAvailable && !command.isAvailable(editor))
            return false;

        var e = {editor: editor, command: command, args: args};
        e.returnValue = this._emit("exec", e);
        this._signal("afterExec", e);

        return e.returnValue === false ? false : true;
    };

    this.toggleRecording = function(editor) {
        if (this.$inReplay)
            return;

        editor && editor._emit("changeStatus");
        if (this.recording) {
            this.macro.pop();
            this.removeEventListener("exec", this.$addCommandToMacro);

            if (!this.macro.length)
                this.macro = this.oldMacro;

            return this.recording = false;
        }
        if (!this.$addCommandToMacro) {
            this.$addCommandToMacro = function(e) {
                this.macro.push([e.command, e.args]);
            }.bind(this);
        }

        this.oldMacro = this.macro;
        this.macro = [];
        this.on("exec", this.$addCommandToMacro);
        return this.recording = true;
    };

    this.replay = function(editor) {
        if (this.$inReplay || !this.macro)
            return;

        if (this.recording)
            return this.toggleRecording(editor);

        try {
            this.$inReplay = true;
            this.macro.forEach(function(x) {
                if (typeof x == "string")
                    this.exec(x, editor);
                else
                    this.exec(x[0], editor, x[1]);
            }, this);
        } finally {
            this.$inReplay = false;
        }
    };

    this.trimMacro = function(m) {
        return m.map(function(x){
            if (typeof x[0] != "string")
                x[0] = x[0].name;
            if (!x[1])
                x = x[0];
            return x;
        });
    };

}).call(CommandManager.prototype);

exports.CommandManager = CommandManager;

});

ace.define("ace/commands/default_commands",["require","exports","module","ace/lib/lang","ace/config","ace/range"], function(acequire, exports, module) {
"use strict";

var lang = acequire("../lib/lang");
var config = acequire("../config");
var Range = acequire("../range").Range;

function bindKey(win, mac) {
    return {win: win, mac: mac};
}
exports.commands = [{
    name: "showSettingsMenu",
    bindKey: bindKey("Ctrl-,", "Command-,"),
    exec: function(editor) {
        config.loadModule("ace/ext/settings_menu", function(module) {
            module.init(editor);
            editor.showSettingsMenu();
        });
    },
    readOnly: true
}, {
    name: "goToNextError",
    bindKey: bindKey("Alt-E", "F4"),
    exec: function(editor) {
        config.loadModule("ace/ext/error_marker", function(module) {
            module.showErrorMarker(editor, 1);
        });
    },
    scrollIntoView: "animate",
    readOnly: true
}, {
    name: "goToPreviousError",
    bindKey: bindKey("Alt-Shift-E", "Shift-F4"),
    exec: function(editor) {
        config.loadModule("ace/ext/error_marker", function(module) {
            module.showErrorMarker(editor, -1);
        });
    },
    scrollIntoView: "animate",
    readOnly: true
}, {
    name: "selectall",
    bindKey: bindKey("Ctrl-A", "Command-A"),
    exec: function(editor) { editor.selectAll(); },
    readOnly: true
}, {
    name: "centerselection",
    bindKey: bindKey(null, "Ctrl-L"),
    exec: function(editor) { editor.centerSelection(); },
    readOnly: true
}, {
    name: "gotoline",
    bindKey: bindKey("Ctrl-L", "Command-L"),
    exec: function(editor) {
        var line = parseInt(prompt("Enter line number:"), 10);
        if (!isNaN(line)) {
            editor.gotoLine(line);
        }
    },
    readOnly: true
}, {
    name: "fold",
    bindKey: bindKey("Alt-L|Ctrl-F1", "Command-Alt-L|Command-F1"),
    exec: function(editor) { editor.session.toggleFold(false); },
    multiSelectAction: "forEach",
    scrollIntoView: "center",
    readOnly: true
}, {
    name: "unfold",
    bindKey: bindKey("Alt-Shift-L|Ctrl-Shift-F1", "Command-Alt-Shift-L|Command-Shift-F1"),
    exec: function(editor) { editor.session.toggleFold(true); },
    multiSelectAction: "forEach",
    scrollIntoView: "center",
    readOnly: true
}, {
    name: "toggleFoldWidget",
    bindKey: bindKey("F2", "F2"),
    exec: function(editor) { editor.session.toggleFoldWidget(); },
    multiSelectAction: "forEach",
    scrollIntoView: "center",
    readOnly: true
}, {
    name: "toggleParentFoldWidget",
    bindKey: bindKey("Alt-F2", "Alt-F2"),
    exec: function(editor) { editor.session.toggleFoldWidget(true); },
    multiSelectAction: "forEach",
    scrollIntoView: "center",
    readOnly: true
}, {
    name: "foldall",
    bindKey: bindKey(null, "Ctrl-Command-Option-0"),
    exec: function(editor) { editor.session.foldAll(); },
    scrollIntoView: "center",
    readOnly: true
}, {
    name: "foldOther",
    bindKey: bindKey("Alt-0", "Command-Option-0"),
    exec: function(editor) { 
        editor.session.foldAll();
        editor.session.unfold(editor.selection.getAllRanges());
    },
    scrollIntoView: "center",
    readOnly: true
}, {
    name: "unfoldall",
    bindKey: bindKey("Alt-Shift-0", "Command-Option-Shift-0"),
    exec: function(editor) { editor.session.unfold(); },
    scrollIntoView: "center",
    readOnly: true
}, {
    name: "findnext",
    bindKey: bindKey("Ctrl-K", "Command-G"),
    exec: function(editor) { editor.findNext(); },
    multiSelectAction: "forEach",
    scrollIntoView: "center",
    readOnly: true
}, {
    name: "findprevious",
    bindKey: bindKey("Ctrl-Shift-K", "Command-Shift-G"),
    exec: function(editor) { editor.findPrevious(); },
    multiSelectAction: "forEach",
    scrollIntoView: "center",
    readOnly: true
}, {
    name: "selectOrFindNext",
    bindKey: bindKey("Alt-K", "Ctrl-G"),
    exec: function(editor) {
        if (editor.selection.isEmpty())
            editor.selection.selectWord();
        else
            editor.findNext(); 
    },
    readOnly: true
}, {
    name: "selectOrFindPrevious",
    bindKey: bindKey("Alt-Shift-K", "Ctrl-Shift-G"),
    exec: function(editor) { 
        if (editor.selection.isEmpty())
            editor.selection.selectWord();
        else
            editor.findPrevious();
    },
    readOnly: true
}, {
    name: "find",
    bindKey: bindKey("Ctrl-F", "Command-F"),
    exec: function(editor) {
        config.loadModule("ace/ext/searchbox", function(e) {e.Search(editor);});
    },
    readOnly: true
}, {
    name: "overwrite",
    bindKey: "Insert",
    exec: function(editor) { editor.toggleOverwrite(); },
    readOnly: true
}, {
    name: "selecttostart",
    bindKey: bindKey("Ctrl-Shift-Home", "Command-Shift-Home|Command-Shift-Up"),
    exec: function(editor) { editor.getSelection().selectFileStart(); },
    multiSelectAction: "forEach",
    readOnly: true,
    scrollIntoView: "animate",
    aceCommandGroup: "fileJump"
}, {
    name: "gotostart",
    bindKey: bindKey("Ctrl-Home", "Command-Home|Command-Up"),
    exec: function(editor) { editor.navigateFileStart(); },
    multiSelectAction: "forEach",
    readOnly: true,
    scrollIntoView: "animate",
    aceCommandGroup: "fileJump"
}, {
    name: "selectup",
    bindKey: bindKey("Shift-Up", "Shift-Up|Ctrl-Shift-P"),
    exec: function(editor) { editor.getSelection().selectUp(); },
    multiSelectAction: "forEach",
    scrollIntoView: "cursor",
    readOnly: true
}, {
    name: "golineup",
    bindKey: bindKey("Up", "Up|Ctrl-P"),
    exec: function(editor, args) { editor.navigateUp(args.times); },
    multiSelectAction: "forEach",
    scrollIntoView: "cursor",
    readOnly: true
}, {
    name: "selecttoend",
    bindKey: bindKey("Ctrl-Shift-End", "Command-Shift-End|Command-Shift-Down"),
    exec: function(editor) { editor.getSelection().selectFileEnd(); },
    multiSelectAction: "forEach",
    readOnly: true,
    scrollIntoView: "animate",
    aceCommandGroup: "fileJump"
}, {
    name: "gotoend",
    bindKey: bindKey("Ctrl-End", "Command-End|Command-Down"),
    exec: function(editor) { editor.navigateFileEnd(); },
    multiSelectAction: "forEach",
    readOnly: true,
    scrollIntoView: "animate",
    aceCommandGroup: "fileJump"
}, {
    name: "selectdown",
    bindKey: bindKey("Shift-Down", "Shift-Down|Ctrl-Shift-N"),
    exec: function(editor) { editor.getSelection().selectDown(); },
    multiSelectAction: "forEach",
    scrollIntoView: "cursor",
    readOnly: true
}, {
    name: "golinedown",
    bindKey: bindKey("Down", "Down|Ctrl-N"),
    exec: function(editor, args) { editor.navigateDown(args.times); },
    multiSelectAction: "forEach",
    scrollIntoView: "cursor",
    readOnly: true
}, {
    name: "selectwordleft",
    bindKey: bindKey("Ctrl-Shift-Left", "Option-Shift-Left"),
    exec: function(editor) { editor.getSelection().selectWordLeft(); },
    multiSelectAction: "forEach",
    scrollIntoView: "cursor",
    readOnly: true
}, {
    name: "gotowordleft",
    bindKey: bindKey("Ctrl-Left", "Option-Left"),
    exec: function(editor) { editor.navigateWordLeft(); },
    multiSelectAction: "forEach",
    scrollIntoView: "cursor",
    readOnly: true
}, {
    name: "selecttolinestart",
    bindKey: bindKey("Alt-Shift-Left", "Command-Shift-Left|Ctrl-Shift-A"),
    exec: function(editor) { editor.getSelection().selectLineStart(); },
    multiSelectAction: "forEach",
    scrollIntoView: "cursor",
    readOnly: true
}, {
    name: "gotolinestart",
    bindKey: bindKey("Alt-Left|Home", "Command-Left|Home|Ctrl-A"),
    exec: function(editor) { editor.navigateLineStart(); },
    multiSelectAction: "forEach",
    scrollIntoView: "cursor",
    readOnly: true
}, {
    name: "selectleft",
    bindKey: bindKey("Shift-Left", "Shift-Left|Ctrl-Shift-B"),
    exec: function(editor) { editor.getSelection().selectLeft(); },
    multiSelectAction: "forEach",
    scrollIntoView: "cursor",
    readOnly: true
}, {
    name: "gotoleft",
    bindKey: bindKey("Left", "Left|Ctrl-B"),
    exec: function(editor, args) { editor.navigateLeft(args.times); },
    multiSelectAction: "forEach",
    scrollIntoView: "cursor",
    readOnly: true
}, {
    name: "selectwordright",
    bindKey: bindKey("Ctrl-Shift-Right", "Option-Shift-Right"),
    exec: function(editor) { editor.getSelection().selectWordRight(); },
    multiSelectAction: "forEach",
    scrollIntoView: "cursor",
    readOnly: true
}, {
    name: "gotowordright",
    bindKey: bindKey("Ctrl-Right", "Option-Right"),
    exec: function(editor) { editor.navigateWordRight(); },
    multiSelectAction: "forEach",
    scrollIntoView: "cursor",
    readOnly: true
}, {
    name: "selecttolineend",
    bindKey: bindKey("Alt-Shift-Right", "Command-Shift-Right|Shift-End|Ctrl-Shift-E"),
    exec: function(editor) { editor.getSelection().selectLineEnd(); },
    multiSelectAction: "forEach",
    scrollIntoView: "cursor",
    readOnly: true
}, {
    name: "gotolineend",
    bindKey: bindKey("Alt-Right|End", "Command-Right|End|Ctrl-E"),
    exec: function(editor) { editor.navigateLineEnd(); },
    multiSelectAction: "forEach",
    scrollIntoView: "cursor",
    readOnly: true
}, {
    name: "selectright",
    bindKey: bindKey("Shift-Right", "Shift-Right"),
    exec: function(editor) { editor.getSelection().selectRight(); },
    multiSelectAction: "forEach",
    scrollIntoView: "cursor",
    readOnly: true
}, {
    name: "gotoright",
    bindKey: bindKey("Right", "Right|Ctrl-F"),
    exec: function(editor, args) { editor.navigateRight(args.times); },
    multiSelectAction: "forEach",
    scrollIntoView: "cursor",
    readOnly: true
}, {
    name: "selectpagedown",
    bindKey: "Shift-PageDown",
    exec: function(editor) { editor.selectPageDown(); },
    readOnly: true
}, {
    name: "pagedown",
    bindKey: bindKey(null, "Option-PageDown"),
    exec: function(editor) { editor.scrollPageDown(); },
    readOnly: true
}, {
    name: "gotopagedown",
    bindKey: bindKey("PageDown", "PageDown|Ctrl-V"),
    exec: function(editor) { editor.gotoPageDown(); },
    readOnly: true
}, {
    name: "selectpageup",
    bindKey: "Shift-PageUp",
    exec: function(editor) { editor.selectPageUp(); },
    readOnly: true
}, {
    name: "pageup",
    bindKey: bindKey(null, "Option-PageUp"),
    exec: function(editor) { editor.scrollPageUp(); },
    readOnly: true
}, {
    name: "gotopageup",
    bindKey: "PageUp",
    exec: function(editor) { editor.gotoPageUp(); },
    readOnly: true
}, {
    name: "scrollup",
    bindKey: bindKey("Ctrl-Up", null),
    exec: function(e) { e.renderer.scrollBy(0, -2 * e.renderer.layerConfig.lineHeight); },
    readOnly: true
}, {
    name: "scrolldown",
    bindKey: bindKey("Ctrl-Down", null),
    exec: function(e) { e.renderer.scrollBy(0, 2 * e.renderer.layerConfig.lineHeight); },
    readOnly: true
}, {
    name: "selectlinestart",
    bindKey: "Shift-Home",
    exec: function(editor) { editor.getSelection().selectLineStart(); },
    multiSelectAction: "forEach",
    scrollIntoView: "cursor",
    readOnly: true
}, {
    name: "selectlineend",
    bindKey: "Shift-End",
    exec: function(editor) { editor.getSelection().selectLineEnd(); },
    multiSelectAction: "forEach",
    scrollIntoView: "cursor",
    readOnly: true
}, {
    name: "togglerecording",
    bindKey: bindKey("Ctrl-Alt-E", "Command-Option-E"),
    exec: function(editor) { editor.commands.toggleRecording(editor); },
    readOnly: true
}, {
    name: "replaymacro",
    bindKey: bindKey("Ctrl-Shift-E", "Command-Shift-E"),
    exec: function(editor) { editor.commands.replay(editor); },
    readOnly: true
}, {
    name: "jumptomatching",
    bindKey: bindKey("Ctrl-P", "Ctrl-P"),
    exec: function(editor) { editor.jumpToMatching(); },
    multiSelectAction: "forEach",
    scrollIntoView: "animate",
    readOnly: true
}, {
    name: "selecttomatching",
    bindKey: bindKey("Ctrl-Shift-P", "Ctrl-Shift-P"),
    exec: function(editor) { editor.jumpToMatching(true); },
    multiSelectAction: "forEach",
    scrollIntoView: "animate",
    readOnly: true
}, {
    name: "expandToMatching",
    bindKey: bindKey("Ctrl-Shift-M", "Ctrl-Shift-M"),
    exec: function(editor) { editor.jumpToMatching(true, true); },
    multiSelectAction: "forEach",
    scrollIntoView: "animate",
    readOnly: true
}, {
    name: "passKeysToBrowser",
    bindKey: bindKey(null, null),
    exec: function() {},
    passEvent: true,
    readOnly: true
}, {
    name: "copy",
    exec: function(editor) {
    },
    readOnly: true
},
{
    name: "cut",
    exec: function(editor) {
        var range = editor.getSelectionRange();
        editor._emit("cut", range);

        if (!editor.selection.isEmpty()) {
            editor.session.remove(range);
            editor.clearSelection();
        }
    },
    scrollIntoView: "cursor",
    multiSelectAction: "forEach"
}, {
    name: "paste",
    exec: function(editor, args) {
        editor.$handlePaste(args);
    },
    scrollIntoView: "cursor"
}, {
    name: "removeline",
    bindKey: bindKey("Ctrl-D", "Command-D"),
    exec: function(editor) { editor.removeLines(); },
    scrollIntoView: "cursor",
    multiSelectAction: "forEachLine"
}, {
    name: "duplicateSelection",
    bindKey: bindKey("Ctrl-Shift-D", "Command-Shift-D"),
    exec: function(editor) { editor.duplicateSelection(); },
    scrollIntoView: "cursor",
    multiSelectAction: "forEach"
}, {
    name: "sortlines",
    bindKey: bindKey("Ctrl-Alt-S", "Command-Alt-S"),
    exec: function(editor) { editor.sortLines(); },
    scrollIntoView: "selection",
    multiSelectAction: "forEachLine"
}, {
    name: "togglecomment",
    bindKey: bindKey("Ctrl-/", "Command-/"),
    exec: function(editor) { editor.toggleCommentLines(); },
    multiSelectAction: "forEachLine",
    scrollIntoView: "selectionPart"
}, {
    name: "toggleBlockComment",
    bindKey: bindKey("Ctrl-Shift-/", "Command-Shift-/"),
    exec: function(editor) { editor.toggleBlockComment(); },
    multiSelectAction: "forEach",
    scrollIntoView: "selectionPart"
}, {
    name: "modifyNumberUp",
    bindKey: bindKey("Ctrl-Shift-Up", "Alt-Shift-Up"),
    exec: function(editor) { editor.modifyNumber(1); },
    scrollIntoView: "cursor",
    multiSelectAction: "forEach"
}, {
    name: "modifyNumberDown",
    bindKey: bindKey("Ctrl-Shift-Down", "Alt-Shift-Down"),
    exec: function(editor) { editor.modifyNumber(-1); },
    scrollIntoView: "cursor",
    multiSelectAction: "forEach"
}, {
    name: "replace",
    bindKey: bindKey("Ctrl-H", "Command-Option-F"),
    exec: function(editor) {
        config.loadModule("ace/ext/searchbox", function(e) {e.Search(editor, true);});
    }
}, {
    name: "undo",
    bindKey: bindKey("Ctrl-Z", "Command-Z"),
    exec: function(editor) { editor.undo(); }
}, {
    name: "redo",
    bindKey: bindKey("Ctrl-Shift-Z|Ctrl-Y", "Command-Shift-Z|Command-Y"),
    exec: function(editor) { editor.redo(); }
}, {
    name: "copylinesup",
    bindKey: bindKey("Alt-Shift-Up", "Command-Option-Up"),
    exec: function(editor) { editor.copyLinesUp(); },
    scrollIntoView: "cursor"
}, {
    name: "movelinesup",
    bindKey: bindKey("Alt-Up", "Option-Up"),
    exec: function(editor) { editor.moveLinesUp(); },
    scrollIntoView: "cursor"
}, {
    name: "copylinesdown",
    bindKey: bindKey("Alt-Shift-Down", "Command-Option-Down"),
    exec: function(editor) { editor.copyLinesDown(); },
    scrollIntoView: "cursor"
}, {
    name: "movelinesdown",
    bindKey: bindKey("Alt-Down", "Option-Down"),
    exec: function(editor) { editor.moveLinesDown(); },
    scrollIntoView: "cursor"
}, {
    name: "del",
    bindKey: bindKey("Delete", "Delete|Ctrl-D|Shift-Delete"),
    exec: function(editor) { editor.remove("right"); },
    multiSelectAction: "forEach",
    scrollIntoView: "cursor"
}, {
    name: "backspace",
    bindKey: bindKey(
        "Shift-Backspace|Backspace",
        "Ctrl-Backspace|Shift-Backspace|Backspace|Ctrl-H"
    ),
    exec: function(editor) { editor.remove("left"); },
    multiSelectAction: "forEach",
    scrollIntoView: "cursor"
}, {
    name: "cut_or_delete",
    bindKey: bindKey("Shift-Delete", null),
    exec: function(editor) { 
        if (editor.selection.isEmpty()) {
            editor.remove("left");
        } else {
            return false;
        }
    },
    multiSelectAction: "forEach",
    scrollIntoView: "cursor"
}, {
    name: "removetolinestart",
    bindKey: bindKey("Alt-Backspace", "Command-Backspace"),
    exec: function(editor) { editor.removeToLineStart(); },
    multiSelectAction: "forEach",
    scrollIntoView: "cursor"
}, {
    name: "removetolineend",
    bindKey: bindKey("Alt-Delete", "Ctrl-K|Command-Delete"),
    exec: function(editor) { editor.removeToLineEnd(); },
    multiSelectAction: "forEach",
    scrollIntoView: "cursor"
}, {
    name: "removetolinestarthard",
    bindKey: bindKey("Ctrl-Shift-Backspace", null),
    exec: function(editor) {
        var range = editor.selection.getRange();
        range.start.column = 0;
        editor.session.remove(range);
    },
    multiSelectAction: "forEach",
    scrollIntoView: "cursor"
}, {
    name: "removetolineendhard",
    bindKey: bindKey("Ctrl-Shift-Delete", null),
    exec: function(editor) {
        var range = editor.selection.getRange();
        range.end.column = Number.MAX_VALUE;
        editor.session.remove(range);
    },
    multiSelectAction: "forEach",
    scrollIntoView: "cursor"
}, {
    name: "removewordleft",
    bindKey: bindKey("Ctrl-Backspace", "Alt-Backspace|Ctrl-Alt-Backspace"),
    exec: function(editor) { editor.removeWordLeft(); },
    multiSelectAction: "forEach",
    scrollIntoView: "cursor"
}, {
    name: "removewordright",
    bindKey: bindKey("Ctrl-Delete", "Alt-Delete"),
    exec: function(editor) { editor.removeWordRight(); },
    multiSelectAction: "forEach",
    scrollIntoView: "cursor"
}, {
    name: "outdent",
    bindKey: bindKey("Shift-Tab", "Shift-Tab"),
    exec: function(editor) { editor.blockOutdent(); },
    multiSelectAction: "forEach",
    scrollIntoView: "selectionPart"
}, {
    name: "indent",
    bindKey: bindKey("Tab", "Tab"),
    exec: function(editor) { editor.indent(); },
    multiSelectAction: "forEach",
    scrollIntoView: "selectionPart"
}, {
    name: "blockoutdent",
    bindKey: bindKey("Ctrl-[", "Ctrl-["),
    exec: function(editor) { editor.blockOutdent(); },
    multiSelectAction: "forEachLine",
    scrollIntoView: "selectionPart"
}, {
    name: "blockindent",
    bindKey: bindKey("Ctrl-]", "Ctrl-]"),
    exec: function(editor) { editor.blockIndent(); },
    multiSelectAction: "forEachLine",
    scrollIntoView: "selectionPart"
}, {
    name: "insertstring",
    exec: function(editor, str) { editor.insert(str); },
    multiSelectAction: "forEach",
    scrollIntoView: "cursor"
}, {
    name: "inserttext",
    exec: function(editor, args) {
        editor.insert(lang.stringRepeat(args.text  || "", args.times || 1));
    },
    multiSelectAction: "forEach",
    scrollIntoView: "cursor"
}, {
    name: "splitline",
    bindKey: bindKey(null, "Ctrl-O"),
    exec: function(editor) { editor.splitLine(); },
    multiSelectAction: "forEach",
    scrollIntoView: "cursor"
}, {
    name: "transposeletters",
    bindKey: bindKey("Alt-Shift-X", "Ctrl-T"),
    exec: function(editor) { editor.transposeLetters(); },
    multiSelectAction: function(editor) {editor.transposeSelections(1); },
    scrollIntoView: "cursor"
}, {
    name: "touppercase",
    bindKey: bindKey("Ctrl-U", "Ctrl-U"),
    exec: function(editor) { editor.toUpperCase(); },
    multiSelectAction: "forEach",
    scrollIntoView: "cursor"
}, {
    name: "tolowercase",
    bindKey: bindKey("Ctrl-Shift-U", "Ctrl-Shift-U"),
    exec: function(editor) { editor.toLowerCase(); },
    multiSelectAction: "forEach",
    scrollIntoView: "cursor"
}, {
    name: "expandtoline",
    bindKey: bindKey("Ctrl-Shift-L", "Command-Shift-L"),
    exec: function(editor) {
        var range = editor.selection.getRange();

        range.start.column = range.end.column = 0;
        range.end.row++;
        editor.selection.setRange(range, false);
    },
    multiSelectAction: "forEach",
    scrollIntoView: "cursor",
    readOnly: true
}, {
    name: "joinlines",
    bindKey: bindKey(null, null),
    exec: function(editor) {
        var isBackwards = editor.selection.isBackwards();
        var selectionStart = isBackwards ? editor.selection.getSelectionLead() : editor.selection.getSelectionAnchor();
        var selectionEnd = isBackwards ? editor.selection.getSelectionAnchor() : editor.selection.getSelectionLead();
        var firstLineEndCol = editor.session.doc.getLine(selectionStart.row).length;
        var selectedText = editor.session.doc.getTextRange(editor.selection.getRange());
        var selectedCount = selectedText.replace(/\n\s*/, " ").length;
        var insertLine = editor.session.doc.getLine(selectionStart.row);

        for (var i = selectionStart.row + 1; i <= selectionEnd.row + 1; i++) {
            var curLine = lang.stringTrimLeft(lang.stringTrimRight(editor.session.doc.getLine(i)));
            if (curLine.length !== 0) {
                curLine = " " + curLine;
            }
            insertLine += curLine;
        }

        if (selectionEnd.row + 1 < (editor.session.doc.getLength() - 1)) {
            insertLine += editor.session.doc.getNewLineCharacter();
        }

        editor.clearSelection();
        editor.session.doc.replace(new Range(selectionStart.row, 0, selectionEnd.row + 2, 0), insertLine);

        if (selectedCount > 0) {
            editor.selection.moveCursorTo(selectionStart.row, selectionStart.column);
            editor.selection.selectTo(selectionStart.row, selectionStart.column + selectedCount);
        } else {
            firstLineEndCol = editor.session.doc.getLine(selectionStart.row).length > firstLineEndCol ? (firstLineEndCol + 1) : firstLineEndCol;
            editor.selection.moveCursorTo(selectionStart.row, firstLineEndCol);
        }
    },
    multiSelectAction: "forEach",
    readOnly: true
}, {
    name: "invertSelection",
    bindKey: bindKey(null, null),
    exec: function(editor) {
        var endRow = editor.session.doc.getLength() - 1;
        var endCol = editor.session.doc.getLine(endRow).length;
        var ranges = editor.selection.rangeList.ranges;
        var newRanges = [];
        if (ranges.length < 1) {
            ranges = [editor.selection.getRange()];
        }

        for (var i = 0; i < ranges.length; i++) {
            if (i == (ranges.length - 1)) {
                if (!(ranges[i].end.row === endRow && ranges[i].end.column === endCol)) {
                    newRanges.push(new Range(ranges[i].end.row, ranges[i].end.column, endRow, endCol));
                }
            }

            if (i === 0) {
                if (!(ranges[i].start.row === 0 && ranges[i].start.column === 0)) {
                    newRanges.push(new Range(0, 0, ranges[i].start.row, ranges[i].start.column));
                }
            } else {
                newRanges.push(new Range(ranges[i-1].end.row, ranges[i-1].end.column, ranges[i].start.row, ranges[i].start.column));
            }
        }

        editor.exitMultiSelectMode();
        editor.clearSelection();

        for(var i = 0; i < newRanges.length; i++) {
            editor.selection.addRange(newRanges[i], false);
        }
    },
    readOnly: true,
    scrollIntoView: "none"
}];

});

ace.define("ace/editor",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/keyboard/textinput","ace/mouse/mouse_handler","ace/mouse/fold_handler","ace/keyboard/keybinding","ace/edit_session","ace/search","ace/range","ace/lib/event_emitter","ace/commands/command_manager","ace/commands/default_commands","ace/config","ace/token_iterator"], function(acequire, exports, module) {
"use strict";

acequire("./lib/fixoldbrowsers");

var oop = acequire("./lib/oop");
var dom = acequire("./lib/dom");
var lang = acequire("./lib/lang");
var useragent = acequire("./lib/useragent");
var TextInput = acequire("./keyboard/textinput").TextInput;
var MouseHandler = acequire("./mouse/mouse_handler").MouseHandler;
var FoldHandler = acequire("./mouse/fold_handler").FoldHandler;
var KeyBinding = acequire("./keyboard/keybinding").KeyBinding;
var EditSession = acequire("./edit_session").EditSession;
var Search = acequire("./search").Search;
var Range = acequire("./range").Range;
var EventEmitter = acequire("./lib/event_emitter").EventEmitter;
var CommandManager = acequire("./commands/command_manager").CommandManager;
var defaultCommands = acequire("./commands/default_commands").commands;
var config = acequire("./config");
var TokenIterator = acequire("./token_iterator").TokenIterator;
var Editor = function(renderer, session) {
    var container = renderer.getContainerElement();
    this.container = container;
    this.renderer = renderer;
    this.id = "editor" + (++Editor.$uid);

    this.commands = new CommandManager(useragent.isMac ? "mac" : "win", defaultCommands);
    if (typeof document == "object") {
        this.textInput  = new TextInput(renderer.getTextAreaContainer(), this);
        this.renderer.textarea = this.textInput.getElement();
        this.$mouseHandler = new MouseHandler(this);
        new FoldHandler(this);
    }

    this.keyBinding = new KeyBinding(this);

    this.$blockScrolling = 0;
    this.$search = new Search().set({
        wrap: true
    });

    this.$historyTracker = this.$historyTracker.bind(this);
    this.commands.on("exec", this.$historyTracker);

    this.$initOperationListeners();
    
    this._$emitInputEvent = lang.delayedCall(function() {
        this._signal("input", {});
        if (this.session && this.session.bgTokenizer)
            this.session.bgTokenizer.scheduleStart();
    }.bind(this));
    
    this.on("change", function(_, _self) {
        _self._$emitInputEvent.schedule(31);
    });

    this.setSession(session || new EditSession(""));
    config.resetOptions(this);
    config._signal("editor", this);
};

Editor.$uid = 0;

(function(){

    oop.implement(this, EventEmitter);

    this.$initOperationListeners = function() {
        function last(a) {return a[a.length - 1];}

        this.selections = [];
        this.commands.on("exec", this.startOperation.bind(this), true);
        this.commands.on("afterExec", this.endOperation.bind(this), true);

        this.$opResetTimer = lang.delayedCall(this.endOperation.bind(this));

        this.on("change", function() {
            this.curOp || this.startOperation();
            this.curOp.docChanged = true;
        }.bind(this), true);

        this.on("changeSelection", function() {
            this.curOp || this.startOperation();
            this.curOp.selectionChanged = true;
        }.bind(this), true);
    };

    this.curOp = null;
    this.prevOp = {};
    this.startOperation = function(commadEvent) {
        if (this.curOp) {
            if (!commadEvent || this.curOp.command)
                return;
            this.prevOp = this.curOp;
        }
        if (!commadEvent) {
            this.previousCommand = null;
            commadEvent = {};
        }

        this.$opResetTimer.schedule();
        this.curOp = {
            command: commadEvent.command || {},
            args: commadEvent.args,
            scrollTop: this.renderer.scrollTop
        };
        if (this.curOp.command.name && this.curOp.command.scrollIntoView !== undefined)
            this.$blockScrolling++;
    };

    this.endOperation = function(e) {
        if (this.curOp) {
            if (e && e.returnValue === false)
                return this.curOp = null;
            this._signal("beforeEndOperation");
            var command = this.curOp.command;
            if (command.name && this.$blockScrolling > 0)
                this.$blockScrolling--;
            var scrollIntoView = command && command.scrollIntoView;
            if (scrollIntoView) {
                switch (scrollIntoView) {
                    case "center-animate":
                        scrollIntoView = "animate";
                    case "center":
                        this.renderer.scrollCursorIntoView(null, 0.5);
                        break;
                    case "animate":
                    case "cursor":
                        this.renderer.scrollCursorIntoView();
                        break;
                    case "selectionPart":
                        var range = this.selection.getRange();
                        var config = this.renderer.layerConfig;
                        if (range.start.row >= config.lastRow || range.end.row <= config.firstRow) {
                            this.renderer.scrollSelectionIntoView(this.selection.anchor, this.selection.lead);
                        }
                        break;
                    default:
                        break;
                }
                if (scrollIntoView == "animate")
                    this.renderer.animateScrolling(this.curOp.scrollTop);
            }
            
            this.prevOp = this.curOp;
            this.curOp = null;
        }
    };
    this.$mergeableCommands = ["backspace", "del", "insertstring"];
    this.$historyTracker = function(e) {
        if (!this.$mergeUndoDeltas)
            return;

        var prev = this.prevOp;
        var mergeableCommands = this.$mergeableCommands;
        var shouldMerge = prev.command && (e.command.name == prev.command.name);
        if (e.command.name == "insertstring") {
            var text = e.args;
            if (this.mergeNextCommand === undefined)
                this.mergeNextCommand = true;

            shouldMerge = shouldMerge
                && this.mergeNextCommand // previous command allows to coalesce with
                && (!/\s/.test(text) || /\s/.test(prev.args)); // previous insertion was of same type

            this.mergeNextCommand = true;
        } else {
            shouldMerge = shouldMerge
                && mergeableCommands.indexOf(e.command.name) !== -1; // the command is mergeable
        }

        if (
            this.$mergeUndoDeltas != "always"
            && Date.now() - this.sequenceStartTime > 2000
        ) {
            shouldMerge = false; // the sequence is too long
        }

        if (shouldMerge)
            this.session.mergeUndoDeltas = true;
        else if (mergeableCommands.indexOf(e.command.name) !== -1)
            this.sequenceStartTime = Date.now();
    };
    this.setKeyboardHandler = function(keyboardHandler, cb) {
        if (keyboardHandler && typeof keyboardHandler === "string") {
            this.$keybindingId = keyboardHandler;
            var _self = this;
            config.loadModule(["keybinding", keyboardHandler], function(module) {
                if (_self.$keybindingId == keyboardHandler)
                    _self.keyBinding.setKeyboardHandler(module && module.handler);
                cb && cb();
            });
        } else {
            this.$keybindingId = null;
            this.keyBinding.setKeyboardHandler(keyboardHandler);
            cb && cb();
        }
    };
    this.getKeyboardHandler = function() {
        return this.keyBinding.getKeyboardHandler();
    };
    this.setSession = function(session) {
        if (this.session == session)
            return;
        if (this.curOp) this.endOperation();
        this.curOp = {};

        var oldSession = this.session;
        if (oldSession) {
            this.session.off("change", this.$onDocumentChange);
            this.session.off("changeMode", this.$onChangeMode);
            this.session.off("tokenizerUpdate", this.$onTokenizerUpdate);
            this.session.off("changeTabSize", this.$onChangeTabSize);
            this.session.off("changeWrapLimit", this.$onChangeWrapLimit);
            this.session.off("changeWrapMode", this.$onChangeWrapMode);
            this.session.off("changeFold", this.$onChangeFold);
            this.session.off("changeFrontMarker", this.$onChangeFrontMarker);
            this.session.off("changeBackMarker", this.$onChangeBackMarker);
            this.session.off("changeBreakpoint", this.$onChangeBreakpoint);
            this.session.off("changeAnnotation", this.$onChangeAnnotation);
            this.session.off("changeOverwrite", this.$onCursorChange);
            this.session.off("changeScrollTop", this.$onScrollTopChange);
            this.session.off("changeScrollLeft", this.$onScrollLeftChange);

            var selection = this.session.getSelection();
            selection.off("changeCursor", this.$onCursorChange);
            selection.off("changeSelection", this.$onSelectionChange);
        }

        this.session = session;
        if (session) {
            this.$onDocumentChange = this.onDocumentChange.bind(this);
            session.on("change", this.$onDocumentChange);
            this.renderer.setSession(session);
    
            this.$onChangeMode = this.onChangeMode.bind(this);
            session.on("changeMode", this.$onChangeMode);
    
            this.$onTokenizerUpdate = this.onTokenizerUpdate.bind(this);
            session.on("tokenizerUpdate", this.$onTokenizerUpdate);
    
            this.$onChangeTabSize = this.renderer.onChangeTabSize.bind(this.renderer);
            session.on("changeTabSize", this.$onChangeTabSize);
    
            this.$onChangeWrapLimit = this.onChangeWrapLimit.bind(this);
            session.on("changeWrapLimit", this.$onChangeWrapLimit);
    
            this.$onChangeWrapMode = this.onChangeWrapMode.bind(this);
            session.on("changeWrapMode", this.$onChangeWrapMode);
    
            this.$onChangeFold = this.onChangeFold.bind(this);
            session.on("changeFold", this.$onChangeFold);
    
            this.$onChangeFrontMarker = this.onChangeFrontMarker.bind(this);
            this.session.on("changeFrontMarker", this.$onChangeFrontMarker);
    
            this.$onChangeBackMarker = this.onChangeBackMarker.bind(this);
            this.session.on("changeBackMarker", this.$onChangeBackMarker);
    
            this.$onChangeBreakpoint = this.onChangeBreakpoint.bind(this);
            this.session.on("changeBreakpoint", this.$onChangeBreakpoint);
    
            this.$onChangeAnnotation = this.onChangeAnnotation.bind(this);
            this.session.on("changeAnnotation", this.$onChangeAnnotation);
    
            this.$onCursorChange = this.onCursorChange.bind(this);
            this.session.on("changeOverwrite", this.$onCursorChange);
    
            this.$onScrollTopChange = this.onScrollTopChange.bind(this);
            this.session.on("changeScrollTop", this.$onScrollTopChange);
    
            this.$onScrollLeftChange = this.onScrollLeftChange.bind(this);
            this.session.on("changeScrollLeft", this.$onScrollLeftChange);
    
            this.selection = session.getSelection();
            this.selection.on("changeCursor", this.$onCursorChange);
    
            this.$onSelectionChange = this.onSelectionChange.bind(this);
            this.selection.on("changeSelection", this.$onSelectionChange);
    
            this.onChangeMode();
    
            this.$blockScrolling += 1;
            this.onCursorChange();
            this.$blockScrolling -= 1;
    
            this.onScrollTopChange();
            this.onScrollLeftChange();
            this.onSelectionChange();
            this.onChangeFrontMarker();
            this.onChangeBackMarker();
            this.onChangeBreakpoint();
            this.onChangeAnnotation();
            this.session.getUseWrapMode() && this.renderer.adjustWrapLimit();
            this.renderer.updateFull();
        } else {
            this.selection = null;
            this.renderer.setSession(session);
        }

        this._signal("changeSession", {
            session: session,
            oldSession: oldSession
        });
        
        this.curOp = null;
        
        oldSession && oldSession._signal("changeEditor", {oldEditor: this});
        session && session._signal("changeEditor", {editor: this});

        if (session && session.bgTokenizer)
            session.bgTokenizer.scheduleStart();
    };
    this.getSession = function() {
        return this.session;
    };
    this.setValue = function(val, cursorPos) {
        this.session.doc.setValue(val);

        if (!cursorPos)
            this.selectAll();
        else if (cursorPos == 1)
            this.navigateFileEnd();
        else if (cursorPos == -1)
            this.navigateFileStart();

        return val;
    };
    this.getValue = function() {
        return this.session.getValue();
    };
    this.getSelection = function() {
        return this.selection;
    };
    this.resize = function(force) {
        this.renderer.onResize(force);
    };
    this.setTheme = function(theme, cb) {
        this.renderer.setTheme(theme, cb);
    };
    this.getTheme = function() {
        return this.renderer.getTheme();
    };
    this.setStyle = function(style) {
        this.renderer.setStyle(style);
    };
    this.unsetStyle = function(style) {
        this.renderer.unsetStyle(style);
    };
    this.getFontSize = function () {
        return this.getOption("fontSize") ||
           dom.computedStyle(this.container, "fontSize");
    };
    this.setFontSize = function(size) {
        this.setOption("fontSize", size);
    };

    this.$highlightBrackets = function() {
        if (this.session.$bracketHighlight) {
            this.session.removeMarker(this.session.$bracketHighlight);
            this.session.$bracketHighlight = null;
        }

        if (this.$highlightPending) {
            return;
        }
        var self = this;
        this.$highlightPending = true;
        setTimeout(function() {
            self.$highlightPending = false;
            var session = self.session;
            if (!session || !session.bgTokenizer) return;
            var pos = session.findMatchingBracket(self.getCursorPosition());
            if (pos) {
                var range = new Range(pos.row, pos.column, pos.row, pos.column + 1);
            } else if (session.$mode.getMatching) {
                var range = session.$mode.getMatching(self.session);
            }
            if (range)
                session.$bracketHighlight = session.addMarker(range, "ace_bracket", "text");
        }, 50);
    };
    this.$highlightTags = function() {
        if (this.$highlightTagPending)
            return;
        var self = this;
        this.$highlightTagPending = true;
        setTimeout(function() {
            self.$highlightTagPending = false;
            
            var session = self.session;
            if (!session || !session.bgTokenizer) return;
            
            var pos = self.getCursorPosition();
            var iterator = new TokenIterator(self.session, pos.row, pos.column);
            var token = iterator.getCurrentToken();
            
            if (!token || !/\b(?:tag-open|tag-name)/.test(token.type)) {
                session.removeMarker(session.$tagHighlight);
                session.$tagHighlight = null;
                return;
            }
            
            if (token.type.indexOf("tag-open") != -1) {
                token = iterator.stepForward();
                if (!token)
                    return;
            }
            
            var tag = token.value;
            var depth = 0;
            var prevToken = iterator.stepBackward();
            
            if (prevToken.value == '<'){
                do {
                    prevToken = token;
                    token = iterator.stepForward();
                    
                    if (token && token.value === tag && token.type.indexOf('tag-name') !== -1) {
                        if (prevToken.value === '<'){
                            depth++;
                        } else if (prevToken.value === '</'){
                            depth--;
                        }
                    }
                    
                } while (token && depth >= 0);
            } else {
                do {
                    token = prevToken;
                    prevToken = iterator.stepBackward();
                    
                    if (token && token.value === tag && token.type.indexOf('tag-name') !== -1) {
                        if (prevToken.value === '<') {
                            depth++;
                        } else if (prevToken.value === '</') {
                            depth--;
                        }
                    }
                } while (prevToken && depth <= 0);
                iterator.stepForward();
            }
            
            if (!token) {
                session.removeMarker(session.$tagHighlight);
                session.$tagHighlight = null;
                return;
            }
            
            var row = iterator.getCurrentTokenRow();
            var column = iterator.getCurrentTokenColumn();
            var range = new Range(row, column, row, column+token.value.length);
            var sbm = session.$backMarkers[session.$tagHighlight];
            if (session.$tagHighlight && sbm != undefined && range.compareRange(sbm.range) !== 0) {
                session.removeMarker(session.$tagHighlight);
                session.$tagHighlight = null;
            }
            
            if (range && !session.$tagHighlight)
                session.$tagHighlight = session.addMarker(range, "ace_bracket", "text");
        }, 50);
    };
    this.focus = function() {
        var _self = this;
        setTimeout(function() {
            _self.textInput.focus();
        });
        this.textInput.focus();
    };
    this.isFocused = function() {
        return this.textInput.isFocused();
    };
    this.blur = function() {
        this.textInput.blur();
    };
    this.onFocus = function(e) {
        if (this.$isFocused)
            return;
        this.$isFocused = true;
        this.renderer.showCursor();
        this.renderer.visualizeFocus();
        this._emit("focus", e);
    };
    this.onBlur = function(e) {
        if (!this.$isFocused)
            return;
        this.$isFocused = false;
        this.renderer.hideCursor();
        this.renderer.visualizeBlur();
        this._emit("blur", e);
    };

    this.$cursorChange = function() {
        this.renderer.updateCursor();
    };
    this.onDocumentChange = function(delta) {
        var wrap = this.session.$useWrapMode;
        var lastRow = (delta.start.row == delta.end.row ? delta.end.row : Infinity);
        this.renderer.updateLines(delta.start.row, lastRow, wrap);

        this._signal("change", delta);
        this.$cursorChange();
        this.$updateHighlightActiveLine();
    };

    this.onTokenizerUpdate = function(e) {
        var rows = e.data;
        this.renderer.updateLines(rows.first, rows.last);
    };


    this.onScrollTopChange = function() {
        this.renderer.scrollToY(this.session.getScrollTop());
    };

    this.onScrollLeftChange = function() {
        this.renderer.scrollToX(this.session.getScrollLeft());
    };
    this.onCursorChange = function() {
        this.$cursorChange();

        if (!this.$blockScrolling) {
            config.warn("Automatically scrolling cursor into view after selection change",
                "this will be disabled in the next version",
                "set editor.$blockScrolling = Infinity to disable this message"
            );
            this.renderer.scrollCursorIntoView();
        }

        this.$highlightBrackets();
        this.$highlightTags();
        this.$updateHighlightActiveLine();
        this._signal("changeSelection");
    };

    this.$updateHighlightActiveLine = function() {
        var session = this.getSession();

        var highlight;
        if (this.$highlightActiveLine) {
            if ((this.$selectionStyle != "line" || !this.selection.isMultiLine()))
                highlight = this.getCursorPosition();
            if (this.renderer.$maxLines && this.session.getLength() === 1 && !(this.renderer.$minLines > 1))
                highlight = false;
        }

        if (session.$highlightLineMarker && !highlight) {
            session.removeMarker(session.$highlightLineMarker.id);
            session.$highlightLineMarker = null;
        } else if (!session.$highlightLineMarker && highlight) {
            var range = new Range(highlight.row, highlight.column, highlight.row, Infinity);
            range.id = session.addMarker(range, "ace_active-line", "screenLine");
            session.$highlightLineMarker = range;
        } else if (highlight) {
            session.$highlightLineMarker.start.row = highlight.row;
            session.$highlightLineMarker.end.row = highlight.row;
            session.$highlightLineMarker.start.column = highlight.column;
            session._signal("changeBackMarker");
        }
    };

    this.onSelectionChange = function(e) {
        var session = this.session;

        if (session.$selectionMarker) {
            session.removeMarker(session.$selectionMarker);
        }
        session.$selectionMarker = null;

        if (!this.selection.isEmpty()) {
            var range = this.selection.getRange();
            var style = this.getSelectionStyle();
            session.$selectionMarker = session.addMarker(range, "ace_selection", style);
        } else {
            this.$updateHighlightActiveLine();
        }

        var re = this.$highlightSelectedWord && this.$getSelectionHighLightRegexp();
        this.session.highlight(re);

        this._signal("changeSelection");
    };

    this.$getSelectionHighLightRegexp = function() {
        var session = this.session;

        var selection = this.getSelectionRange();
        if (selection.isEmpty() || selection.isMultiLine())
            return;

        var startOuter = selection.start.column - 1;
        var endOuter = selection.end.column + 1;
        var line = session.getLine(selection.start.row);
        var lineCols = line.length;
        var needle = line.substring(Math.max(startOuter, 0),
                                    Math.min(endOuter, lineCols));
        if ((startOuter >= 0 && /^[\w\d]/.test(needle)) ||
            (endOuter <= lineCols && /[\w\d]$/.test(needle)))
            return;

        needle = line.substring(selection.start.column, selection.end.column);
        if (!/^[\w\d]+$/.test(needle))
            return;

        var re = this.$search.$assembleRegExp({
            wholeWord: true,
            caseSensitive: true,
            needle: needle
        });

        return re;
    };


    this.onChangeFrontMarker = function() {
        this.renderer.updateFrontMarkers();
    };

    this.onChangeBackMarker = function() {
        this.renderer.updateBackMarkers();
    };


    this.onChangeBreakpoint = function() {
        this.renderer.updateBreakpoints();
    };

    this.onChangeAnnotation = function() {
        this.renderer.setAnnotations(this.session.getAnnotations());
    };


    this.onChangeMode = function(e) {
        this.renderer.updateText();
        this._emit("changeMode", e);
    };


    this.onChangeWrapLimit = function() {
        this.renderer.updateFull();
    };

    this.onChangeWrapMode = function() {
        this.renderer.onResize(true);
    };


    this.onChangeFold = function() {
        this.$updateHighlightActiveLine();
        this.renderer.updateFull();
    };
    this.getSelectedText = function() {
        return this.session.getTextRange(this.getSelectionRange());
    };
    this.getCopyText = function() {
        var text = this.getSelectedText();
        this._signal("copy", text);
        return text;
    };
    this.onCopy = function() {
        this.commands.exec("copy", this);
    };
    this.onCut = function() {
        this.commands.exec("cut", this);
    };
    this.onPaste = function(text, event) {
        var e = {text: text, event: event};
        this.commands.exec("paste", this, e);
    };
    
    this.$handlePaste = function(e) {
        if (typeof e == "string") 
            e = {text: e};
        this._signal("paste", e);
        var text = e.text;
        if (!this.inMultiSelectMode || this.inVirtualSelectionMode) {
            this.insert(text);
        } else {
            var lines = text.split(/\r\n|\r|\n/);
            var ranges = this.selection.rangeList.ranges;
    
            if (lines.length > ranges.length || lines.length < 2 || !lines[1])
                return this.commands.exec("insertstring", this, text);
    
            for (var i = ranges.length; i--;) {
                var range = ranges[i];
                if (!range.isEmpty())
                    this.session.remove(range);
    
                this.session.insert(range.start, lines[i]);
            }
        }
    };

    this.execCommand = function(command, args) {
        return this.commands.exec(command, this, args);
    };
    this.insert = function(text, pasted) {
        var session = this.session;
        var mode = session.getMode();
        var cursor = this.getCursorPosition();

        if (this.getBehavioursEnabled() && !pasted) {
            var transform = mode.transformAction(session.getState(cursor.row), 'insertion', this, session, text);
            if (transform) {
                if (text !== transform.text) {
                    this.session.mergeUndoDeltas = false;
                    this.$mergeNextCommand = false;
                }
                text = transform.text;

            }
        }
        
        if (text == "\t")
            text = this.session.getTabString();
        if (!this.selection.isEmpty()) {
            var range = this.getSelectionRange();
            cursor = this.session.remove(range);
            this.clearSelection();
        }
        else if (this.session.getOverwrite() && text.indexOf("\n") == -1) {
            var range = new Range.fromPoints(cursor, cursor);
            range.end.column += text.length;
            this.session.remove(range);
        }

        if (text == "\n" || text == "\r\n") {
            var line = session.getLine(cursor.row);
            if (cursor.column > line.search(/\S|$/)) {
                var d = line.substr(cursor.column).search(/\S|$/);
                session.doc.removeInLine(cursor.row, cursor.column, cursor.column + d);
            }
        }
        this.clearSelection();

        var start = cursor.column;
        var lineState = session.getState(cursor.row);
        var line = session.getLine(cursor.row);
        var shouldOutdent = mode.checkOutdent(lineState, line, text);
        var end = session.insert(cursor, text);

        if (transform && transform.selection) {
            if (transform.selection.length == 2) { // Transform relative to the current column
                this.selection.setSelectionRange(
                    new Range(cursor.row, start + transform.selection[0],
                              cursor.row, start + transform.selection[1]));
            } else { // Transform relative to the current row.
                this.selection.setSelectionRange(
                    new Range(cursor.row + transform.selection[0],
                              transform.selection[1],
                              cursor.row + transform.selection[2],
                              transform.selection[3]));
            }
        }

        if (session.getDocument().isNewLine(text)) {
            var lineIndent = mode.getNextLineIndent(lineState, line.slice(0, cursor.column), session.getTabString());

            session.insert({row: cursor.row+1, column: 0}, lineIndent);
        }
        if (shouldOutdent)
            mode.autoOutdent(lineState, session, cursor.row);
    };

    this.onTextInput = function(text) {
        this.keyBinding.onTextInput(text);
    };

    this.onCommandKey = function(e, hashId, keyCode) {
        this.keyBinding.onCommandKey(e, hashId, keyCode);
    };
    this.setOverwrite = function(overwrite) {
        this.session.setOverwrite(overwrite);
    };
    this.getOverwrite = function() {
        return this.session.getOverwrite();
    };
    this.toggleOverwrite = function() {
        this.session.toggleOverwrite();
    };
    this.setScrollSpeed = function(speed) {
        this.setOption("scrollSpeed", speed);
    };
    this.getScrollSpeed = function() {
        return this.getOption("scrollSpeed");
    };
    this.setDragDelay = function(dragDelay) {
        this.setOption("dragDelay", dragDelay);
    };
    this.getDragDelay = function() {
        return this.getOption("dragDelay");
    };
    this.setSelectionStyle = function(val) {
        this.setOption("selectionStyle", val);
    };
    this.getSelectionStyle = function() {
        return this.getOption("selectionStyle");
    };
    this.setHighlightActiveLine = function(shouldHighlight) {
        this.setOption("highlightActiveLine", shouldHighlight);
    };
    this.getHighlightActiveLine = function() {
        return this.getOption("highlightActiveLine");
    };
    this.setHighlightGutterLine = function(shouldHighlight) {
        this.setOption("highlightGutterLine", shouldHighlight);
    };

    this.getHighlightGutterLine = function() {
        return this.getOption("highlightGutterLine");
    };
    this.setHighlightSelectedWord = function(shouldHighlight) {
        this.setOption("highlightSelectedWord", shouldHighlight);
    };
    this.getHighlightSelectedWord = function() {
        return this.$highlightSelectedWord;
    };

    this.setAnimatedScroll = function(shouldAnimate){
        this.renderer.setAnimatedScroll(shouldAnimate);
    };

    this.getAnimatedScroll = function(){
        return this.renderer.getAnimatedScroll();
    };
    this.setShowInvisibles = function(showInvisibles) {
        this.renderer.setShowInvisibles(showInvisibles);
    };
    this.getShowInvisibles = function() {
        return this.renderer.getShowInvisibles();
    };

    this.setDisplayIndentGuides = function(display) {
        this.renderer.setDisplayIndentGuides(display);
    };

    this.getDisplayIndentGuides = function() {
        return this.renderer.getDisplayIndentGuides();
    };
    this.setShowPrintMargin = function(showPrintMargin) {
        this.renderer.setShowPrintMargin(showPrintMargin);
    };
    this.getShowPrintMargin = function() {
        return this.renderer.getShowPrintMargin();
    };
    this.setPrintMarginColumn = function(showPrintMargin) {
        this.renderer.setPrintMarginColumn(showPrintMargin);
    };
    this.getPrintMarginColumn = function() {
        return this.renderer.getPrintMarginColumn();
    };
    this.setReadOnly = function(readOnly) {
        this.setOption("readOnly", readOnly);
    };
    this.getReadOnly = function() {
        return this.getOption("readOnly");
    };
    this.setBehavioursEnabled = function (enabled) {
        this.setOption("behavioursEnabled", enabled);
    };
    this.getBehavioursEnabled = function () {
        return this.getOption("behavioursEnabled");
    };
    this.setWrapBehavioursEnabled = function (enabled) {
        this.setOption("wrapBehavioursEnabled", enabled);
    };
    this.getWrapBehavioursEnabled = function () {
        return this.getOption("wrapBehavioursEnabled");
    };
    this.setShowFoldWidgets = function(show) {
        this.setOption("showFoldWidgets", show);

    };
    this.getShowFoldWidgets = function() {
        return this.getOption("showFoldWidgets");
    };

    this.setFadeFoldWidgets = function(fade) {
        this.setOption("fadeFoldWidgets", fade);
    };

    this.getFadeFoldWidgets = function() {
        return this.getOption("fadeFoldWidgets");
    };
    this.remove = function(dir) {
        if (this.selection.isEmpty()){
            if (dir == "left")
                this.selection.selectLeft();
            else
                this.selection.selectRight();
        }

        var range = this.getSelectionRange();
        if (this.getBehavioursEnabled()) {
            var session = this.session;
            var state = session.getState(range.start.row);
            var new_range = session.getMode().transformAction(state, 'deletion', this, session, range);

            if (range.end.column === 0) {
                var text = session.getTextRange(range);
                if (text[text.length - 1] == "\n") {
                    var line = session.getLine(range.end.row);
                    if (/^\s+$/.test(line)) {
                        range.end.column = line.length;
                    }
                }
            }
            if (new_range)
                range = new_range;
        }

        this.session.remove(range);
        this.clearSelection();
    };
    this.removeWordRight = function() {
        if (this.selection.isEmpty())
            this.selection.selectWordRight();

        this.session.remove(this.getSelectionRange());
        this.clearSelection();
    };
    this.removeWordLeft = function() {
        if (this.selection.isEmpty())
            this.selection.selectWordLeft();

        this.session.remove(this.getSelectionRange());
        this.clearSelection();
    };
    this.removeToLineStart = function() {
        if (this.selection.isEmpty())
            this.selection.selectLineStart();

        this.session.remove(this.getSelectionRange());
        this.clearSelection();
    };
    this.removeToLineEnd = function() {
        if (this.selection.isEmpty())
            this.selection.selectLineEnd();

        var range = this.getSelectionRange();
        if (range.start.column == range.end.column && range.start.row == range.end.row) {
            range.end.column = 0;
            range.end.row++;
        }

        this.session.remove(range);
        this.clearSelection();
    };
    this.splitLine = function() {
        if (!this.selection.isEmpty()) {
            this.session.remove(this.getSelectionRange());
            this.clearSelection();
        }

        var cursor = this.getCursorPosition();
        this.insert("\n");
        this.moveCursorToPosition(cursor);
    };
    this.transposeLetters = function() {
        if (!this.selection.isEmpty()) {
            return;
        }

        var cursor = this.getCursorPosition();
        var column = cursor.column;
        if (column === 0)
            return;

        var line = this.session.getLine(cursor.row);
        var swap, range;
        if (column < line.length) {
            swap = line.charAt(column) + line.charAt(column-1);
            range = new Range(cursor.row, column-1, cursor.row, column+1);
        }
        else {
            swap = line.charAt(column-1) + line.charAt(column-2);
            range = new Range(cursor.row, column-2, cursor.row, column);
        }
        this.session.replace(range, swap);
        this.session.selection.moveToPosition(range.end);
    };
    this.toLowerCase = function() {
        var originalRange = this.getSelectionRange();
        if (this.selection.isEmpty()) {
            this.selection.selectWord();
        }

        var range = this.getSelectionRange();
        var text = this.session.getTextRange(range);
        this.session.replace(range, text.toLowerCase());
        this.selection.setSelectionRange(originalRange);
    };
    this.toUpperCase = function() {
        var originalRange = this.getSelectionRange();
        if (this.selection.isEmpty()) {
            this.selection.selectWord();
        }

        var range = this.getSelectionRange();
        var text = this.session.getTextRange(range);
        this.session.replace(range, text.toUpperCase());
        this.selection.setSelectionRange(originalRange);
    };
    this.indent = function() {
        var session = this.session;
        var range = this.getSelectionRange();

        if (range.start.row < range.end.row) {
            var rows = this.$getSelectedRows();
            session.indentRows(rows.first, rows.last, "\t");
            return;
        } else if (range.start.column < range.end.column) {
            var text = session.getTextRange(range);
            if (!/^\s+$/.test(text)) {
                var rows = this.$getSelectedRows();
                session.indentRows(rows.first, rows.last, "\t");
                return;
            }
        }
        
        var line = session.getLine(range.start.row);
        var position = range.start;
        var size = session.getTabSize();
        var column = session.documentToScreenColumn(position.row, position.column);

        if (this.session.getUseSoftTabs()) {
            var count = (size - column % size);
            var indentString = lang.stringRepeat(" ", count);
        } else {
            var count = column % size;
            while (line[range.start.column - 1] == " " && count) {
                range.start.column--;
                count--;
            }
            this.selection.setSelectionRange(range);
            indentString = "\t";
        }
        return this.insert(indentString);
    };
    this.blockIndent = function() {
        var rows = this.$getSelectedRows();
        this.session.indentRows(rows.first, rows.last, "\t");
    };
    this.blockOutdent = function() {
        var selection = this.session.getSelection();
        this.session.outdentRows(selection.getRange());
    };
    this.sortLines = function() {
        var rows = this.$getSelectedRows();
        var session = this.session;

        var lines = [];
        for (var i = rows.first; i <= rows.last; i++)
            lines.push(session.getLine(i));

        lines.sort(function(a, b) {
            if (a.toLowerCase() < b.toLowerCase()) return -1;
            if (a.toLowerCase() > b.toLowerCase()) return 1;
            return 0;
        });

        var deleteRange = new Range(0, 0, 0, 0);
        for (var i = rows.first; i <= rows.last; i++) {
            var line = session.getLine(i);
            deleteRange.start.row = i;
            deleteRange.end.row = i;
            deleteRange.end.column = line.length;
            session.replace(deleteRange, lines[i-rows.first]);
        }
    };
    this.toggleCommentLines = function() {
        var state = this.session.getState(this.getCursorPosition().row);
        var rows = this.$getSelectedRows();
        this.session.getMode().toggleCommentLines(state, this.session, rows.first, rows.last);
    };

    this.toggleBlockComment = function() {
        var cursor = this.getCursorPosition();
        var state = this.session.getState(cursor.row);
        var range = this.getSelectionRange();
        this.session.getMode().toggleBlockComment(state, this.session, range, cursor);
    };
    this.getNumberAt = function(row, column) {
        var _numberRx = /[\-]?[0-9]+(?:\.[0-9]+)?/g;
        _numberRx.lastIndex = 0;

        var s = this.session.getLine(row);
        while (_numberRx.lastIndex < column) {
            var m = _numberRx.exec(s);
            if(m.index <= column && m.index+m[0].length >= column){
                var number = {
                    value: m[0],
                    start: m.index,
                    end: m.index+m[0].length
                };
                return number;
            }
        }
        return null;
    };
    this.modifyNumber = function(amount) {
        var row = this.selection.getCursor().row;
        var column = this.selection.getCursor().column;
        var charRange = new Range(row, column-1, row, column);

        var c = this.session.getTextRange(charRange);
        if (!isNaN(parseFloat(c)) && isFinite(c)) {
            var nr = this.getNumberAt(row, column);
            if (nr) {
                var fp = nr.value.indexOf(".") >= 0 ? nr.start + nr.value.indexOf(".") + 1 : nr.end;
                var decimals = nr.start + nr.value.length - fp;

                var t = parseFloat(nr.value);
                t *= Math.pow(10, decimals);


                if(fp !== nr.end && column < fp){
                    amount *= Math.pow(10, nr.end - column - 1);
                } else {
                    amount *= Math.pow(10, nr.end - column);
                }

                t += amount;
                t /= Math.pow(10, decimals);
                var nnr = t.toFixed(decimals);
                var replaceRange = new Range(row, nr.start, row, nr.end);
                this.session.replace(replaceRange, nnr);
                this.moveCursorTo(row, Math.max(nr.start +1, column + nnr.length - nr.value.length));

            }
        }
    };
    this.removeLines = function() {
        var rows = this.$getSelectedRows();
        this.session.removeFullLines(rows.first, rows.last);
        this.clearSelection();
    };

    this.duplicateSelection = function() {
        var sel = this.selection;
        var doc = this.session;
        var range = sel.getRange();
        var reverse = sel.isBackwards();
        if (range.isEmpty()) {
            var row = range.start.row;
            doc.duplicateLines(row, row);
        } else {
            var point = reverse ? range.start : range.end;
            var endPoint = doc.insert(point, doc.getTextRange(range), false);
            range.start = point;
            range.end = endPoint;

            sel.setSelectionRange(range, reverse);
        }
    };
    this.moveLinesDown = function() {
        this.$moveLines(1, false);
    };
    this.moveLinesUp = function() {
        this.$moveLines(-1, false);
    };
    this.moveText = function(range, toPosition, copy) {
        return this.session.moveText(range, toPosition, copy);
    };
    this.copyLinesUp = function() {
        this.$moveLines(-1, true);
    };
    this.copyLinesDown = function() {
        this.$moveLines(1, true);
    };
    this.$moveLines = function(dir, copy) {
        var rows, moved;
        var selection = this.selection;
        if (!selection.inMultiSelectMode || this.inVirtualSelectionMode) {
            var range = selection.toOrientedRange();
            rows = this.$getSelectedRows(range);
            moved = this.session.$moveLines(rows.first, rows.last, copy ? 0 : dir);
            if (copy && dir == -1) moved = 0;
            range.moveBy(moved, 0);
            selection.fromOrientedRange(range);
        } else {
            var ranges = selection.rangeList.ranges;
            selection.rangeList.detach(this.session);
            this.inVirtualSelectionMode = true;
            
            var diff = 0;
            var totalDiff = 0;
            var l = ranges.length;
            for (var i = 0; i < l; i++) {
                var rangeIndex = i;
                ranges[i].moveBy(diff, 0);
                rows = this.$getSelectedRows(ranges[i]);
                var first = rows.first;
                var last = rows.last;
                while (++i < l) {
                    if (totalDiff) ranges[i].moveBy(totalDiff, 0);
                    var subRows = this.$getSelectedRows(ranges[i]);
                    if (copy && subRows.first != last)
                        break;
                    else if (!copy && subRows.first > last + 1)
                        break;
                    last = subRows.last;
                }
                i--;
                diff = this.session.$moveLines(first, last, copy ? 0 : dir);
                if (copy && dir == -1) rangeIndex = i + 1;
                while (rangeIndex <= i) {
                    ranges[rangeIndex].moveBy(diff, 0);
                    rangeIndex++;
                }
                if (!copy) diff = 0;
                totalDiff += diff;
            }
            
            selection.fromOrientedRange(selection.ranges[0]);
            selection.rangeList.attach(this.session);
            this.inVirtualSelectionMode = false;
        }
    };
    this.$getSelectedRows = function(range) {
        range = (range || this.getSelectionRange()).collapseRows();

        return {
            first: this.session.getRowFoldStart(range.start.row),
            last: this.session.getRowFoldEnd(range.end.row)
        };
    };

    this.onCompositionStart = function(text) {
        this.renderer.showComposition(this.getCursorPosition());
    };

    this.onCompositionUpdate = function(text) {
        this.renderer.setCompositionText(text);
    };

    this.onCompositionEnd = function() {
        this.renderer.hideComposition();
    };
    this.getFirstVisibleRow = function() {
        return this.renderer.getFirstVisibleRow();
    };
    this.getLastVisibleRow = function() {
        return this.renderer.getLastVisibleRow();
    };
    this.isRowVisible = function(row) {
        return (row >= this.getFirstVisibleRow() && row <= this.getLastVisibleRow());
    };
    this.isRowFullyVisible = function(row) {
        return (row >= this.renderer.getFirstFullyVisibleRow() && row <= this.renderer.getLastFullyVisibleRow());
    };
    this.$getVisibleRowCount = function() {
        return this.renderer.getScrollBottomRow() - this.renderer.getScrollTopRow() + 1;
    };

    this.$moveByPage = function(dir, select) {
        var renderer = this.renderer;
        var config = this.renderer.layerConfig;
        var rows = dir * Math.floor(config.height / config.lineHeight);

        this.$blockScrolling++;
        if (select === true) {
            this.selection.$moveSelection(function(){
                this.moveCursorBy(rows, 0);
            });
        } else if (select === false) {
            this.selection.moveCursorBy(rows, 0);
            this.selection.clearSelection();
        }
        this.$blockScrolling--;

        var scrollTop = renderer.scrollTop;

        renderer.scrollBy(0, rows * config.lineHeight);
        if (select != null)
            renderer.scrollCursorIntoView(null, 0.5);

        renderer.animateScrolling(scrollTop);
    };
    this.selectPageDown = function() {
        this.$moveByPage(1, true);
    };
    this.selectPageUp = function() {
        this.$moveByPage(-1, true);
    };
    this.gotoPageDown = function() {
       this.$moveByPage(1, false);
    };
    this.gotoPageUp = function() {
        this.$moveByPage(-1, false);
    };
    this.scrollPageDown = function() {
        this.$moveByPage(1);
    };
    this.scrollPageUp = function() {
        this.$moveByPage(-1);
    };
    this.scrollToRow = function(row) {
        this.renderer.scrollToRow(row);
    };
    this.scrollToLine = function(line, center, animate, callback) {
        this.renderer.scrollToLine(line, center, animate, callback);
    };
    this.centerSelection = function() {
        var range = this.getSelectionRange();
        var pos = {
            row: Math.floor(range.start.row + (range.end.row - range.start.row) / 2),
            column: Math.floor(range.start.column + (range.end.column - range.start.column) / 2)
        };
        this.renderer.alignCursor(pos, 0.5);
    };
    this.getCursorPosition = function() {
        return this.selection.getCursor();
    };
    this.getCursorPositionScreen = function() {
        return this.session.documentToScreenPosition(this.getCursorPosition());
    };
    this.getSelectionRange = function() {
        return this.selection.getRange();
    };
    this.selectAll = function() {
        this.$blockScrolling += 1;
        this.selection.selectAll();
        this.$blockScrolling -= 1;
    };
    this.clearSelection = function() {
        this.selection.clearSelection();
    };
    this.moveCursorTo = function(row, column) {
        this.selection.moveCursorTo(row, column);
    };
    this.moveCursorToPosition = function(pos) {
        this.selection.moveCursorToPosition(pos);
    };
    this.jumpToMatching = function(select, expand) {
        var cursor = this.getCursorPosition();
        var iterator = new TokenIterator(this.session, cursor.row, cursor.column);
        var prevToken = iterator.getCurrentToken();
        var token = prevToken || iterator.stepForward();

        if (!token) return;
        var matchType;
        var found = false;
        var depth = {};
        var i = cursor.column - token.start;
        var bracketType;
        var brackets = {
            ")": "(",
            "(": "(",
            "]": "[",
            "[": "[",
            "{": "{",
            "}": "{"
        };
        
        do {
            if (token.value.match(/[{}()\[\]]/g)) {
                for (; i < token.value.length && !found; i++) {
                    if (!brackets[token.value[i]]) {
                        continue;
                    }

                    bracketType = brackets[token.value[i]] + '.' + token.type.replace("rparen", "lparen");

                    if (isNaN(depth[bracketType])) {
                        depth[bracketType] = 0;
                    }

                    switch (token.value[i]) {
                        case '(':
                        case '[':
                        case '{':
                            depth[bracketType]++;
                            break;
                        case ')':
                        case ']':
                        case '}':
                            depth[bracketType]--;

                            if (depth[bracketType] === -1) {
                                matchType = 'bracket';
                                found = true;
                            }
                        break;
                    }
                }
            }
            else if (token && token.type.indexOf('tag-name') !== -1) {
                if (isNaN(depth[token.value])) {
                    depth[token.value] = 0;
                }
                
                if (prevToken.value === '<') {
                    depth[token.value]++;
                }
                else if (prevToken.value === '</') {
                    depth[token.value]--;
                }
                
                if (depth[token.value] === -1) {
                    matchType = 'tag';
                    found = true;
                }
            }

            if (!found) {
                prevToken = token;
                token = iterator.stepForward();
                i = 0;
            }
        } while (token && !found);
        if (!matchType)
            return;

        var range, pos;
        if (matchType === 'bracket') {
            range = this.session.getBracketRange(cursor);
            if (!range) {
                range = new Range(
                    iterator.getCurrentTokenRow(),
                    iterator.getCurrentTokenColumn() + i - 1,
                    iterator.getCurrentTokenRow(),
                    iterator.getCurrentTokenColumn() + i - 1
                );
                pos = range.start;
                if (expand || pos.row === cursor.row && Math.abs(pos.column - cursor.column) < 2)
                    range = this.session.getBracketRange(pos);
            }
        }
        else if (matchType === 'tag') {
            if (token && token.type.indexOf('tag-name') !== -1) 
                var tag = token.value;
            else
                return;

            range = new Range(
                iterator.getCurrentTokenRow(),
                iterator.getCurrentTokenColumn() - 2,
                iterator.getCurrentTokenRow(),
                iterator.getCurrentTokenColumn() - 2
            );
            if (range.compare(cursor.row, cursor.column) === 0) {
                found = false;
                do {
                    token = prevToken;
                    prevToken = iterator.stepBackward();
                    
                    if (prevToken) {
                        if (prevToken.type.indexOf('tag-close') !== -1) {
                            range.setEnd(iterator.getCurrentTokenRow(), iterator.getCurrentTokenColumn() + 1);
                        }

                        if (token.value === tag && token.type.indexOf('tag-name') !== -1) {
                            if (prevToken.value === '<') {
                                depth[tag]++;
                            }
                            else if (prevToken.value === '</') {
                                depth[tag]--;
                            }
                            
                            if (depth[tag] === 0)
                                found = true;
                        }
                    }
                } while (prevToken && !found);
            }
            if (token && token.type.indexOf('tag-name')) {
                pos = range.start;
                if (pos.row == cursor.row && Math.abs(pos.column - cursor.column) < 2)
                    pos = range.end;
            }
        }

        pos = range && range.cursor || pos;
        if (pos) {
            if (select) {
                if (range && expand) {
                    this.selection.setRange(range);
                } else if (range && range.isEqual(this.getSelectionRange())) {
                    this.clearSelection();
                } else {
                    this.selection.selectTo(pos.row, pos.column);
                }
            } else {
                this.selection.moveTo(pos.row, pos.column);
            }
        }
    };
    this.gotoLine = function(lineNumber, column, animate) {
        this.selection.clearSelection();
        this.session.unfold({row: lineNumber - 1, column: column || 0});

        this.$blockScrolling += 1;
        this.exitMultiSelectMode && this.exitMultiSelectMode();
        this.moveCursorTo(lineNumber - 1, column || 0);
        this.$blockScrolling -= 1;

        if (!this.isRowFullyVisible(lineNumber - 1))
            this.scrollToLine(lineNumber - 1, true, animate);
    };
    this.navigateTo = function(row, column) {
        this.selection.moveTo(row, column);
    };
    this.navigateUp = function(times) {
        if (this.selection.isMultiLine() && !this.selection.isBackwards()) {
            var selectionStart = this.selection.anchor.getPosition();
            return this.moveCursorToPosition(selectionStart);
        }
        this.selection.clearSelection();
        this.selection.moveCursorBy(-times || -1, 0);
    };
    this.navigateDown = function(times) {
        if (this.selection.isMultiLine() && this.selection.isBackwards()) {
            var selectionEnd = this.selection.anchor.getPosition();
            return this.moveCursorToPosition(selectionEnd);
        }
        this.selection.clearSelection();
        this.selection.moveCursorBy(times || 1, 0);
    };
    this.navigateLeft = function(times) {
        if (!this.selection.isEmpty()) {
            var selectionStart = this.getSelectionRange().start;
            this.moveCursorToPosition(selectionStart);
        }
        else {
            times = times || 1;
            while (times--) {
                this.selection.moveCursorLeft();
            }
        }
        this.clearSelection();
    };
    this.navigateRight = function(times) {
        if (!this.selection.isEmpty()) {
            var selectionEnd = this.getSelectionRange().end;
            this.moveCursorToPosition(selectionEnd);
        }
        else {
            times = times || 1;
            while (times--) {
                this.selection.moveCursorRight();
            }
        }
        this.clearSelection();
    };
    this.navigateLineStart = function() {
        this.selection.moveCursorLineStart();
        this.clearSelection();
    };
    this.navigateLineEnd = function() {
        this.selection.moveCursorLineEnd();
        this.clearSelection();
    };
    this.navigateFileEnd = function() {
        this.selection.moveCursorFileEnd();
        this.clearSelection();
    };
    this.navigateFileStart = function() {
        this.selection.moveCursorFileStart();
        this.clearSelection();
    };
    this.navigateWordRight = function() {
        this.selection.moveCursorWordRight();
        this.clearSelection();
    };
    this.navigateWordLeft = function() {
        this.selection.moveCursorWordLeft();
        this.clearSelection();
    };
    this.replace = function(replacement, options) {
        if (options)
            this.$search.set(options);

        var range = this.$search.find(this.session);
        var replaced = 0;
        if (!range)
            return replaced;

        if (this.$tryReplace(range, replacement)) {
            replaced = 1;
        }
        if (range !== null) {
            this.selection.setSelectionRange(range);
            this.renderer.scrollSelectionIntoView(range.start, range.end);
        }

        return replaced;
    };
    this.replaceAll = function(replacement, options) {
        if (options) {
            this.$search.set(options);
        }

        var ranges = this.$search.findAll(this.session);
        var replaced = 0;
        if (!ranges.length)
            return replaced;

        this.$blockScrolling += 1;

        var selection = this.getSelectionRange();
        this.selection.moveTo(0, 0);

        for (var i = ranges.length - 1; i >= 0; --i) {
            if(this.$tryReplace(ranges[i], replacement)) {
                replaced++;
            }
        }

        this.selection.setSelectionRange(selection);
        this.$blockScrolling -= 1;

        return replaced;
    };

    this.$tryReplace = function(range, replacement) {
        var input = this.session.getTextRange(range);
        replacement = this.$search.replace(input, replacement);
        if (replacement !== null) {
            range.end = this.session.replace(range, replacement);
            return range;
        } else {
            return null;
        }
    };
    this.getLastSearchOptions = function() {
        return this.$search.getOptions();
    };
    this.find = function(needle, options, animate) {
        if (!options)
            options = {};

        if (typeof needle == "string" || needle instanceof RegExp)
            options.needle = needle;
        else if (typeof needle == "object")
            oop.mixin(options, needle);

        var range = this.selection.getRange();
        if (options.needle == null) {
            needle = this.session.getTextRange(range)
                || this.$search.$options.needle;
            if (!needle) {
                range = this.session.getWordRange(range.start.row, range.start.column);
                needle = this.session.getTextRange(range);
            }
            this.$search.set({needle: needle});
        }

        this.$search.set(options);
        if (!options.start)
            this.$search.set({start: range});

        var newRange = this.$search.find(this.session);
        if (options.preventScroll)
            return newRange;
        if (newRange) {
            this.revealRange(newRange, animate);
            return newRange;
        }
        if (options.backwards)
            range.start = range.end;
        else
            range.end = range.start;
        this.selection.setRange(range);
    };
    this.findNext = function(options, animate) {
        this.find({skipCurrent: true, backwards: false}, options, animate);
    };
    this.findPrevious = function(options, animate) {
        this.find(options, {skipCurrent: true, backwards: true}, animate);
    };

    this.revealRange = function(range, animate) {
        this.$blockScrolling += 1;
        this.session.unfold(range);
        this.selection.setSelectionRange(range);
        this.$blockScrolling -= 1;

        var scrollTop = this.renderer.scrollTop;
        this.renderer.scrollSelectionIntoView(range.start, range.end, 0.5);
        if (animate !== false)
            this.renderer.animateScrolling(scrollTop);
    };
    this.undo = function() {
        this.$blockScrolling++;
        this.session.getUndoManager().undo();
        this.$blockScrolling--;
        this.renderer.scrollCursorIntoView(null, 0.5);
    };
    this.redo = function() {
        this.$blockScrolling++;
        this.session.getUndoManager().redo();
        this.$blockScrolling--;
        this.renderer.scrollCursorIntoView(null, 0.5);
    };
    this.destroy = function() {
        this.renderer.destroy();
        this._signal("destroy", this);
        if (this.session) {
            this.session.destroy();
        }
    };
    this.setAutoScrollEditorIntoView = function(enable) {
        if (!enable)
            return;
        var rect;
        var self = this;
        var shouldScroll = false;
        if (!this.$scrollAnchor)
            this.$scrollAnchor = document.createElement("div");
        var scrollAnchor = this.$scrollAnchor;
        scrollAnchor.style.cssText = "position:absolute";
        this.container.insertBefore(scrollAnchor, this.container.firstChild);
        var onChangeSelection = this.on("changeSelection", function() {
            shouldScroll = true;
        });
        var onBeforeRender = this.renderer.on("beforeRender", function() {
            if (shouldScroll)
                rect = self.renderer.container.getBoundingClientRect();
        });
        var onAfterRender = this.renderer.on("afterRender", function() {
            if (shouldScroll && rect && (self.isFocused()
                || self.searchBox && self.searchBox.isFocused())
            ) {
                var renderer = self.renderer;
                var pos = renderer.$cursorLayer.$pixelPos;
                var config = renderer.layerConfig;
                var top = pos.top - config.offset;
                if (pos.top >= 0 && top + rect.top < 0) {
                    shouldScroll = true;
                } else if (pos.top < config.height &&
                    pos.top + rect.top + config.lineHeight > window.innerHeight) {
                    shouldScroll = false;
                } else {
                    shouldScroll = null;
                }
                if (shouldScroll != null) {
                    scrollAnchor.style.top = top + "px";
                    scrollAnchor.style.left = pos.left + "px";
                    scrollAnchor.style.height = config.lineHeight + "px";
                    scrollAnchor.scrollIntoView(shouldScroll);
                }
                shouldScroll = rect = null;
            }
        });
        this.setAutoScrollEditorIntoView = function(enable) {
            if (enable)
                return;
            delete this.setAutoScrollEditorIntoView;
            this.off("changeSelection", onChangeSelection);
            this.renderer.off("afterRender", onAfterRender);
            this.renderer.off("beforeRender", onBeforeRender);
        };
    };


    this.$resetCursorStyle = function() {
        var style = this.$cursorStyle || "ace";
        var cursorLayer = this.renderer.$cursorLayer;
        if (!cursorLayer)
            return;
        cursorLayer.setSmoothBlinking(/smooth/.test(style));
        cursorLayer.isBlinking = !this.$readOnly && style != "wide";
        dom.setCssClass(cursorLayer.element, "ace_slim-cursors", /slim/.test(style));
    };

}).call(Editor.prototype);



config.defineOptions(Editor.prototype, "editor", {
    selectionStyle: {
        set: function(style) {
            this.onSelectionChange();
            this._signal("changeSelectionStyle", {data: style});
        },
        initialValue: "line"
    },
    highlightActiveLine: {
        set: function() {this.$updateHighlightActiveLine();},
        initialValue: true
    },
    highlightSelectedWord: {
        set: function(shouldHighlight) {this.$onSelectionChange();},
        initialValue: true
    },
    readOnly: {
        set: function(readOnly) {
            this.$resetCursorStyle(); 
        },
        initialValue: false
    },
    cursorStyle: {
        set: function(val) { this.$resetCursorStyle(); },
        values: ["ace", "slim", "smooth", "wide"],
        initialValue: "ace"
    },
    mergeUndoDeltas: {
        values: [false, true, "always"],
        initialValue: true
    },
    behavioursEnabled: {initialValue: true},
    wrapBehavioursEnabled: {initialValue: true},
    autoScrollEditorIntoView: {
        set: function(val) {this.setAutoScrollEditorIntoView(val);}
    },
    keyboardHandler: {
        set: function(val) { this.setKeyboardHandler(val); },
        get: function() { return this.keybindingId; },
        handlesSet: true
    },

    hScrollBarAlwaysVisible: "renderer",
    vScrollBarAlwaysVisible: "renderer",
    highlightGutterLine: "renderer",
    animatedScroll: "renderer",
    showInvisibles: "renderer",
    showPrintMargin: "renderer",
    printMarginColumn: "renderer",
    printMargin: "renderer",
    fadeFoldWidgets: "renderer",
    showFoldWidgets: "renderer",
    showLineNumbers: "renderer",
    showGutter: "renderer",
    displayIndentGuides: "renderer",
    fontSize: "renderer",
    fontFamily: "renderer",
    maxLines: "renderer",
    minLines: "renderer",
    scrollPastEnd: "renderer",
    fixedWidthGutter: "renderer",
    theme: "renderer",

    scrollSpeed: "$mouseHandler",
    dragDelay: "$mouseHandler",
    dragEnabled: "$mouseHandler",
    focusTimout: "$mouseHandler",
    tooltipFollowsMouse: "$mouseHandler",

    firstLineNumber: "session",
    overwrite: "session",
    newLineMode: "session",
    useWorker: "session",
    useSoftTabs: "session",
    tabSize: "session",
    wrap: "session",
    indentedSoftWrap: "session",
    foldStyle: "session",
    mode: "session"
});

exports.Editor = Editor;
});

ace.define("ace/undomanager",["require","exports","module"], function(acequire, exports, module) {
"use strict";
var UndoManager = function() {
    this.reset();
};

(function() {
    this.execute = function(options) {
        var deltaSets = options.args[0];
        this.$doc  = options.args[1];
        if (options.merge && this.hasUndo()){
            this.dirtyCounter--;
            deltaSets = this.$undoStack.pop().concat(deltaSets);
        }
        this.$undoStack.push(deltaSets);
        this.$redoStack = [];
        if (this.dirtyCounter < 0) {
            this.dirtyCounter = NaN;
        }
        this.dirtyCounter++;
    };
    this.undo = function(dontSelect) {
        var deltaSets = this.$undoStack.pop();
        var undoSelectionRange = null;
        if (deltaSets) {
            undoSelectionRange = this.$doc.undoChanges(deltaSets, dontSelect);
            this.$redoStack.push(deltaSets);
            this.dirtyCounter--;
        }

        return undoSelectionRange;
    };
    this.redo = function(dontSelect) {
        var deltaSets = this.$redoStack.pop();
        var redoSelectionRange = null;
        if (deltaSets) {
            redoSelectionRange =
                this.$doc.redoChanges(this.$deserializeDeltas(deltaSets), dontSelect);
            this.$undoStack.push(deltaSets);
            this.dirtyCounter++;
        }
        return redoSelectionRange;
    };
    this.reset = function() {
        this.$undoStack = [];
        this.$redoStack = [];
        this.dirtyCounter = 0;
    };
    this.hasUndo = function() {
        return this.$undoStack.length > 0;
    };
    this.hasRedo = function() {
        return this.$redoStack.length > 0;
    };
    this.markClean = function() {
        this.dirtyCounter = 0;
    };
    this.isClean = function() {
        return this.dirtyCounter === 0;
    };
    this.$serializeDeltas = function(deltaSets) {
        return cloneDeltaSetsObj(deltaSets, $serializeDelta);
    };
    this.$deserializeDeltas = function(deltaSets) {
        return cloneDeltaSetsObj(deltaSets, $deserializeDelta);
    };
    
    function $serializeDelta(delta){
        return {
            action: delta.action,
            start: delta.start,
            end: delta.end,
            lines: delta.lines.length == 1 ? null : delta.lines,
            text: delta.lines.length == 1 ? delta.lines[0] : null
        };
    }
        
    function $deserializeDelta(delta) {
        return {
            action: delta.action,
            start: delta.start,
            end: delta.end,
            lines: delta.lines || [delta.text]
        };
    }
    
    function cloneDeltaSetsObj(deltaSets_old, fnGetModifiedDelta) {
        var deltaSets_new = new Array(deltaSets_old.length);
        for (var i = 0; i < deltaSets_old.length; i++) {
            var deltaSet_old = deltaSets_old[i];
            var deltaSet_new = { group: deltaSet_old.group, deltas: new Array(deltaSet_old.length)};
            
            for (var j = 0; j < deltaSet_old.deltas.length; j++) {
                var delta_old = deltaSet_old.deltas[j];
                deltaSet_new.deltas[j] = fnGetModifiedDelta(delta_old);
            }
            
            deltaSets_new[i] = deltaSet_new;
        }
        return deltaSets_new;
    }
    
}).call(UndoManager.prototype);

exports.UndoManager = UndoManager;
});

ace.define("ace/layer/gutter",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter"], function(acequire, exports, module) {
"use strict";

var dom = acequire("../lib/dom");
var oop = acequire("../lib/oop");
var lang = acequire("../lib/lang");
var EventEmitter = acequire("../lib/event_emitter").EventEmitter;

var Gutter = function(parentEl) {
    this.element = dom.createElement("div");
    this.element.className = "ace_layer ace_gutter-layer";
    parentEl.appendChild(this.element);
    this.setShowFoldWidgets(this.$showFoldWidgets);
    
    this.gutterWidth = 0;

    this.$annotations = [];
    this.$updateAnnotations = this.$updateAnnotations.bind(this);

    this.$cells = [];
};

(function() {

    oop.implement(this, EventEmitter);

    this.setSession = function(session) {
        if (this.session)
            this.session.removeEventListener("change", this.$updateAnnotations);
        this.session = session;
        if (session)
            session.on("change", this.$updateAnnotations);
    };

    this.addGutterDecoration = function(row, className){
        if (window.console)
            console.warn && console.warn("deprecated use session.addGutterDecoration");
        this.session.addGutterDecoration(row, className);
    };

    this.removeGutterDecoration = function(row, className){
        if (window.console)
            console.warn && console.warn("deprecated use session.removeGutterDecoration");
        this.session.removeGutterDecoration(row, className);
    };

    this.setAnnotations = function(annotations) {
        this.$annotations = [];
        for (var i = 0; i < annotations.length; i++) {
            var annotation = annotations[i];
            var row = annotation.row;
            var rowInfo = this.$annotations[row];
            if (!rowInfo)
                rowInfo = this.$annotations[row] = {text: []};
           
            var annoText = annotation.text;
            annoText = annoText ? lang.escapeHTML(annoText) : annotation.html || "";

            if (rowInfo.text.indexOf(annoText) === -1)
                rowInfo.text.push(annoText);

            var type = annotation.type;
            if (type == "error")
                rowInfo.className = " ace_error";
            else if (type == "warning" && rowInfo.className != " ace_error")
                rowInfo.className = " ace_warning";
            else if (type == "info" && (!rowInfo.className))
                rowInfo.className = " ace_info";
        }
    };

    this.$updateAnnotations = function (delta) {
        if (!this.$annotations.length)
            return;
        var firstRow = delta.start.row;
        var len = delta.end.row - firstRow;
        if (len === 0) {
        } else if (delta.action == 'remove') {
            this.$annotations.splice(firstRow, len + 1, null);
        } else {
            var args = new Array(len + 1);
            args.unshift(firstRow, 1);
            this.$annotations.splice.apply(this.$annotations, args);
        }
    };

    this.update = function(config) {
        var session = this.session;
        var firstRow = config.firstRow;
        var lastRow = Math.min(config.lastRow + config.gutterOffset,  // needed to compensate for hor scollbar
            session.getLength() - 1);
        var fold = session.getNextFoldLine(firstRow);
        var foldStart = fold ? fold.start.row : Infinity;
        var foldWidgets = this.$showFoldWidgets && session.foldWidgets;
        var breakpoints = session.$breakpoints;
        var decorations = session.$decorations;
        var firstLineNumber = session.$firstLineNumber;
        var lastLineNumber = 0;
        
        var gutterRenderer = session.gutterRenderer || this.$renderer;

        var cell = null;
        var index = -1;
        var row = firstRow;
        while (true) {
            if (row > foldStart) {
                row = fold.end.row + 1;
                fold = session.getNextFoldLine(row, fold);
                foldStart = fold ? fold.start.row : Infinity;
            }
            if (row > lastRow) {
                while (this.$cells.length > index + 1) {
                    cell = this.$cells.pop();
                    this.element.removeChild(cell.element);
                }
                break;
            }

            cell = this.$cells[++index];
            if (!cell) {
                cell = {element: null, textNode: null, foldWidget: null};
                cell.element = dom.createElement("div");
                cell.textNode = document.createTextNode('');
                cell.element.appendChild(cell.textNode);
                this.element.appendChild(cell.element);
                this.$cells[index] = cell;
            }

            var className = "ace_gutter-cell ";
            if (breakpoints[row])
                className += breakpoints[row];
            if (decorations[row])
                className += decorations[row];
            if (this.$annotations[row])
                className += this.$annotations[row].className;
            if (cell.element.className != className)
                cell.element.className = className;

            var height = session.getRowLength(row) * config.lineHeight + "px";
            if (height != cell.element.style.height)
                cell.element.style.height = height;

            if (foldWidgets) {
                var c = foldWidgets[row];
                if (c == null)
                    c = foldWidgets[row] = session.getFoldWidget(row);
            }

            if (c) {
                if (!cell.foldWidget) {
                    cell.foldWidget = dom.createElement("span");
                    cell.element.appendChild(cell.foldWidget);
                }
                var className = "ace_fold-widget ace_" + c;
                if (c == "start" && row == foldStart && row < fold.end.row)
                    className += " ace_closed";
                else
                    className += " ace_open";
                if (cell.foldWidget.className != className)
                    cell.foldWidget.className = className;

                var height = config.lineHeight + "px";
                if (cell.foldWidget.style.height != height)
                    cell.foldWidget.style.height = height;
            } else {
                if (cell.foldWidget) {
                    cell.element.removeChild(cell.foldWidget);
                    cell.foldWidget = null;
                }
            }
            
            var text = lastLineNumber = gutterRenderer
                ? gutterRenderer.getText(session, row)
                : row + firstLineNumber;
            if (text !== cell.textNode.data)
                cell.textNode.data = text;

            row++;
        }

        this.element.style.height = config.minHeight + "px";

        if (this.$fixedWidth || session.$useWrapMode)
            lastLineNumber = session.getLength() + firstLineNumber;

        var gutterWidth = gutterRenderer 
            ? gutterRenderer.getWidth(session, lastLineNumber, config)
            : lastLineNumber.toString().length * config.characterWidth;
        
        var padding = this.$padding || this.$computePadding();
        gutterWidth += padding.left + padding.right;
        if (gutterWidth !== this.gutterWidth && !isNaN(gutterWidth)) {
            this.gutterWidth = gutterWidth;
            this.element.style.width = Math.ceil(this.gutterWidth) + "px";
            this._emit("changeGutterWidth", gutterWidth);
        }
    };

    this.$fixedWidth = false;
    
    this.$showLineNumbers = true;
    this.$renderer = "";
    this.setShowLineNumbers = function(show) {
        this.$renderer = !show && {
            getWidth: function() {return "";},
            getText: function() {return "";}
        };
    };
    
    this.getShowLineNumbers = function() {
        return this.$showLineNumbers;
    };
    
    this.$showFoldWidgets = true;
    this.setShowFoldWidgets = function(show) {
        if (show)
            dom.addCssClass(this.element, "ace_folding-enabled");
        else
            dom.removeCssClass(this.element, "ace_folding-enabled");

        this.$showFoldWidgets = show;
        this.$padding = null;
    };
    
    this.getShowFoldWidgets = function() {
        return this.$showFoldWidgets;
    };

    this.$computePadding = function() {
        if (!this.element.firstChild)
            return {left: 0, right: 0};
        var style = dom.computedStyle(this.element.firstChild);
        this.$padding = {};
        this.$padding.left = parseInt(style.paddingLeft) + 1 || 0;
        this.$padding.right = parseInt(style.paddingRight) || 0;
        return this.$padding;
    };

    this.getRegion = function(point) {
        var padding = this.$padding || this.$computePadding();
        var rect = this.element.getBoundingClientRect();
        if (point.x < padding.left + rect.left)
            return "markers";
        if (this.$showFoldWidgets && point.x > rect.right - padding.right)
            return "foldWidgets";
    };

}).call(Gutter.prototype);

exports.Gutter = Gutter;

});

ace.define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"], function(acequire, exports, module) {
"use strict";

var Range = acequire("../range").Range;
var dom = acequire("../lib/dom");

var Marker = function(parentEl) {
    this.element = dom.createElement("div");
    this.element.className = "ace_layer ace_marker-layer";
    parentEl.appendChild(this.element);
};

(function() {

    this.$padding = 0;

    this.setPadding = function(padding) {
        this.$padding = padding;
    };
    this.setSession = function(session) {
        this.session = session;
    };
    
    this.setMarkers = function(markers) {
        this.markers = markers;
    };

    this.update = function(config) {
        if (!config) return;

        this.config = config;


        var html = [];
        for (var key in this.markers) {
            var marker = this.markers[key];

            if (!marker.range) {
                marker.update(html, this, this.session, config);
                continue;
            }

            var range = marker.range.clipRows(config.firstRow, config.lastRow);
            if (range.isEmpty()) continue;

            range = range.toScreenRange(this.session);
            if (marker.renderer) {
                var top = this.$getTop(range.start.row, config);
                var left = this.$padding + (this.session.$bidiHandler.isBidiRow(range.start.row)
                    ? this.session.$bidiHandler.getPosLeft(range.start.column)
                    : range.start.column * config.characterWidth);
                marker.renderer(html, range, left, top, config);
            } else if (marker.type == "fullLine") {
                this.drawFullLineMarker(html, range, marker.clazz, config);
            } else if (marker.type == "screenLine") {
                this.drawScreenLineMarker(html, range, marker.clazz, config);
            } else if (range.isMultiLine()) {
                if (marker.type == "text")
                    this.drawTextMarker(html, range, marker.clazz, config);
                else
                    this.drawMultiLineMarker(html, range, marker.clazz, config);
            } else {
                if (this.session.$bidiHandler.isBidiRow(range.start.row)) {
                    this.drawBidiSingleLineMarker(html, range, marker.clazz + " ace_start" + " ace_br15", config);
                } else {
                    this.drawSingleLineMarker(html, range, marker.clazz + " ace_start" + " ace_br15", config);
                }
            }
        }
        this.element.innerHTML = html.join("");
    };

    this.$getTop = function(row, layerConfig) {
        return (row - layerConfig.firstRowScreen) * layerConfig.lineHeight;
    };

    function getBorderClass(tl, tr, br, bl) {
        return (tl ? 1 : 0) | (tr ? 2 : 0) | (br ? 4 : 0) | (bl ? 8 : 0);
    }
    this.drawTextMarker = function(stringBuilder, range, clazz, layerConfig, extraStyle) {
        var session = this.session;
        var start = range.start.row;
        var end = range.end.row;
        var row = start;
        var prev = 0; 
        var curr = 0;
        var next = session.getScreenLastRowColumn(row);
        var clazzModified = null;
        var lineRange = new Range(row, range.start.column, row, curr);
        for (; row <= end; row++) {
            lineRange.start.row = lineRange.end.row = row;
            lineRange.start.column = row == start ? range.start.column : session.getRowWrapIndent(row);
            lineRange.end.column = next;
            prev = curr;
            curr = next;
            next = row + 1 < end ? session.getScreenLastRowColumn(row + 1) : row == end ? 0 : range.end.column;
            clazzModified = clazz + (row == start  ? " ace_start" : "") + " ace_br"
                + getBorderClass(row == start || row == start + 1 && range.start.column, prev < curr, curr > next, row == end);

            if (this.session.$bidiHandler.isBidiRow(row)) {
                this.drawBidiSingleLineMarker(stringBuilder, lineRange, clazzModified,
                    layerConfig, row == end ? 0 : 1, extraStyle);
            } else {
                this.drawSingleLineMarker(stringBuilder, lineRange, clazzModified,
                    layerConfig, row == end ? 0 : 1, extraStyle);
            }
        }
    };
    this.drawMultiLineMarker = function(stringBuilder, range, clazz, config, extraStyle) {
        var padding = this.$padding;
        var height, top, left;
        extraStyle = extraStyle || "";
       if (this.session.$bidiHandler.isBidiRow(range.start.row)) {
           var range1 = range.clone();
           range1.end.row = range1.start.row;
           range1.end.column = this.session.getLine(range1.start.row).length;
           this.drawBidiSingleLineMarker(stringBuilder, range1, clazz + " ace_br1 ace_start", config, null, extraStyle);
        } else {
           height = config.lineHeight;
           top = this.$getTop(range.start.row, config);
           left = padding + range.start.column * config.characterWidth;
           stringBuilder.push(
               "<div class='", clazz, " ace_br1 ace_start' style='",
               "height:", height, "px;",
               "right:0;",
               "top:", top, "px;",
               "left:", left, "px;", extraStyle, "'></div>"
           );
        }
        if (this.session.$bidiHandler.isBidiRow(range.end.row)) {
           var range1 = range.clone();
           range1.start.row = range1.end.row;
           range1.start.column = 0;
           this.drawBidiSingleLineMarker(stringBuilder, range1, clazz + " ace_br12", config, null, extraStyle);
        } else {
           var width = range.end.column * config.characterWidth;
           height = config.lineHeight;
           top = this.$getTop(range.end.row, config);
           stringBuilder.push(
               "<div class='", clazz, " ace_br12' style='",
               "height:", height, "px;",
               "width:", width, "px;",
               "top:", top, "px;",
               "left:", padding, "px;", extraStyle, "'></div>"
           );
        }
        height = (range.end.row - range.start.row - 1) * config.lineHeight;
        if (height <= 0)
            return;
        top = this.$getTop(range.start.row + 1, config);
        
        var radiusClass = (range.start.column ? 1 : 0) | (range.end.column ? 0 : 8);

        stringBuilder.push(
            "<div class='", clazz, (radiusClass ? " ace_br" + radiusClass : ""), "' style='",
            "height:", height, "px;",
            "right:0;",
            "top:", top, "px;",
            "left:", padding, "px;", extraStyle, "'></div>"
        );
    };
    this.drawSingleLineMarker = function(stringBuilder, range, clazz, config, extraLength, extraStyle) {
        var height = config.lineHeight;
        var width = (range.end.column + (extraLength || 0) - range.start.column) * config.characterWidth;

        var top = this.$getTop(range.start.row, config);
        var left = this.$padding + range.start.column * config.characterWidth;

        stringBuilder.push(
            "<div class='", clazz, "' style='",
            "height:", height, "px;",
            "width:", width, "px;",
            "top:", top, "px;",
            "left:", left, "px;", extraStyle || "", "'></div>"
        );
    };
    this.drawBidiSingleLineMarker = function(stringBuilder, range, clazz, config, extraLength, extraStyle) {
        var height = config.lineHeight, top = this.$getTop(range.start.row, config), padding = this.$padding;
        var selections = this.session.$bidiHandler.getSelections(range.start.column, range.end.column);

        selections.forEach(function(selection) {
            stringBuilder.push(
                "<div class='", clazz, "' style='",
                "height:", height, "px;",
                "width:", selection.width + (extraLength || 0), "px;",
                "top:", top, "px;",
                "left:", padding + selection.left, "px;", extraStyle || "", "'></div>"
            );
        });
    };

    this.drawFullLineMarker = function(stringBuilder, range, clazz, config, extraStyle) {
        var top = this.$getTop(range.start.row, config);
        var height = config.lineHeight;
        if (range.start.row != range.end.row)
            height += this.$getTop(range.end.row, config) - top;

        stringBuilder.push(
            "<div class='", clazz, "' style='",
            "height:", height, "px;",
            "top:", top, "px;",
            "left:0;right:0;", extraStyle || "", "'></div>"
        );
    };
    
    this.drawScreenLineMarker = function(stringBuilder, range, clazz, config, extraStyle) {
        var top = this.$getTop(range.start.row, config);
        var height = config.lineHeight;

        stringBuilder.push(
            "<div class='", clazz, "' style='",
            "height:", height, "px;",
            "top:", top, "px;",
            "left:0;right:0;", extraStyle || "", "'></div>"
        );
    };

}).call(Marker.prototype);

exports.Marker = Marker;

});

ace.define("ace/layer/text",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/lib/event_emitter"], function(acequire, exports, module) {
"use strict";

var oop = acequire("../lib/oop");
var dom = acequire("../lib/dom");
var lang = acequire("../lib/lang");
var useragent = acequire("../lib/useragent");
var EventEmitter = acequire("../lib/event_emitter").EventEmitter;

var Text = function(parentEl) {
    this.element = dom.createElement("div");
    this.element.className = "ace_layer ace_text-layer";
    parentEl.appendChild(this.element);
    this.$updateEolChar = this.$updateEolChar.bind(this);
};

(function() {

    oop.implement(this, EventEmitter);

    this.EOF_CHAR = "\xB6";
    this.EOL_CHAR_LF = "\xAC";
    this.EOL_CHAR_CRLF = "\xa4";
    this.EOL_CHAR = this.EOL_CHAR_LF;
    this.TAB_CHAR = "\u2014"; //"\u21E5";
    this.SPACE_CHAR = "\xB7";
    this.$padding = 0;

    this.$updateEolChar = function() {
        var EOL_CHAR = this.session.doc.getNewLineCharacter() == "\n"
           ? this.EOL_CHAR_LF
           : this.EOL_CHAR_CRLF;
        if (this.EOL_CHAR != EOL_CHAR) {
            this.EOL_CHAR = EOL_CHAR;
            return true;
        }
    };

    this.setPadding = function(padding) {
        this.$padding = padding;
        this.element.style.padding = "0 " + padding + "px";
    };

    this.getLineHeight = function() {
        return this.$fontMetrics.$characterSize.height || 0;
    };

    this.getCharacterWidth = function() {
        return this.$fontMetrics.$characterSize.width || 0;
    };
    
    this.$setFontMetrics = function(measure) {
        this.$fontMetrics = measure;
        this.$fontMetrics.on("changeCharacterSize", function(e) {
            this._signal("changeCharacterSize", e);
        }.bind(this));
        this.$pollSizeChanges();
    };

    this.checkForSizeChanges = function() {
        this.$fontMetrics.checkForSizeChanges();
    };
    this.$pollSizeChanges = function() {
        return this.$pollSizeChangesTimer = this.$fontMetrics.$pollSizeChanges();
    };
    this.setSession = function(session) {
        this.session = session;
        if (session)
            this.$computeTabString();
    };

    this.showInvisibles = false;
    this.setShowInvisibles = function(showInvisibles) {
        if (this.showInvisibles == showInvisibles)
            return false;

        this.showInvisibles = showInvisibles;
        this.$computeTabString();
        return true;
    };

    this.displayIndentGuides = true;
    this.setDisplayIndentGuides = function(display) {
        if (this.displayIndentGuides == display)
            return false;

        this.displayIndentGuides = display;
        this.$computeTabString();
        return true;
    };

    this.$tabStrings = [];
    this.onChangeTabSize =
    this.$computeTabString = function() {
        var tabSize = this.session.getTabSize();
        this.tabSize = tabSize;
        var tabStr = this.$tabStrings = [0];
        for (var i = 1; i < tabSize + 1; i++) {
            if (this.showInvisibles) {
                tabStr.push("<span class='ace_invisible ace_invisible_tab'>"
                    + lang.stringRepeat(this.TAB_CHAR, i)
                    + "</span>");
            } else {
                tabStr.push(lang.stringRepeat(" ", i));
            }
        }
        if (this.displayIndentGuides) {
            this.$indentGuideRe =  /\s\S| \t|\t |\s$/;
            var className = "ace_indent-guide";
            var spaceClass = "";
            var tabClass = "";
            if (this.showInvisibles) {
                className += " ace_invisible";
                spaceClass = " ace_invisible_space";
                tabClass = " ace_invisible_tab";
                var spaceContent = lang.stringRepeat(this.SPACE_CHAR, this.tabSize);
                var tabContent = lang.stringRepeat(this.TAB_CHAR, this.tabSize);
            } else{
                var spaceContent = lang.stringRepeat(" ", this.tabSize);
                var tabContent = spaceContent;
            }

            this.$tabStrings[" "] = "<span class='" + className + spaceClass + "'>" + spaceContent + "</span>";
            this.$tabStrings["\t"] = "<span class='" + className + tabClass + "'>" + tabContent + "</span>";
        }
    };

    this.updateLines = function(config, firstRow, lastRow) {
        if (this.config.lastRow != config.lastRow ||
            this.config.firstRow != config.firstRow) {
            this.scrollLines(config);
        }
        this.config = config;

        var first = Math.max(firstRow, config.firstRow);
        var last = Math.min(lastRow, config.lastRow);

        var lineElements = this.element.childNodes;
        var lineElementsIdx = 0;

        for (var row = config.firstRow; row < first; row++) {
            var foldLine = this.session.getFoldLine(row);
            if (foldLine) {
                if (foldLine.containsRow(first)) {
                    first = foldLine.start.row;
                    break;
                } else {
                    row = foldLine.end.row;
                }
            }
            lineElementsIdx ++;
        }

        var row = first;
        var foldLine = this.session.getNextFoldLine(row);
        var foldStart = foldLine ? foldLine.start.row : Infinity;

        while (true) {
            if (row > foldStart) {
                row = foldLine.end.row+1;
                foldLine = this.session.getNextFoldLine(row, foldLine);
                foldStart = foldLine ? foldLine.start.row :Infinity;
            }
            if (row > last)
                break;

            var lineElement = lineElements[lineElementsIdx++];
            if (lineElement) {
                var html = [];
                this.$renderLine(
                    html, row, !this.$useLineGroups(), row == foldStart ? foldLine : false
                );
                lineElement.style.height = config.lineHeight * this.session.getRowLength(row) + "px";
                lineElement.innerHTML = html.join("");
            }
            row++;
        }
    };

    this.scrollLines = function(config) {
        var oldConfig = this.config;
        this.config = config;

        if (!oldConfig || oldConfig.lastRow < config.firstRow)
            return this.update(config);

        if (config.lastRow < oldConfig.firstRow)
            return this.update(config);

        var el = this.element;
        if (oldConfig.firstRow < config.firstRow)
            for (var row=this.session.getFoldedRowCount(oldConfig.firstRow, config.firstRow - 1); row>0; row--)
                el.removeChild(el.firstChild);

        if (oldConfig.lastRow > config.lastRow)
            for (var row=this.session.getFoldedRowCount(config.lastRow + 1, oldConfig.lastRow); row>0; row--)
                el.removeChild(el.lastChild);

        if (config.firstRow < oldConfig.firstRow) {
            var fragment = this.$renderLinesFragment(config, config.firstRow, oldConfig.firstRow - 1);
            if (el.firstChild)
                el.insertBefore(fragment, el.firstChild);
            else
                el.appendChild(fragment);
        }

        if (config.lastRow > oldConfig.lastRow) {
            var fragment = this.$renderLinesFragment(config, oldConfig.lastRow + 1, config.lastRow);
            el.appendChild(fragment);
        }
    };

    this.$renderLinesFragment = function(config, firstRow, lastRow) {
        var fragment = this.element.ownerDocument.createDocumentFragment();
        var row = firstRow;
        var foldLine = this.session.getNextFoldLine(row);
        var foldStart = foldLine ? foldLine.start.row : Infinity;

        while (true) {
            if (row > foldStart) {
                row = foldLine.end.row+1;
                foldLine = this.session.getNextFoldLine(row, foldLine);
                foldStart = foldLine ? foldLine.start.row : Infinity;
            }
            if (row > lastRow)
                break;

            var container = dom.createElement("div");

            var html = [];
            this.$renderLine(html, row, false, row == foldStart ? foldLine : false);
            container.innerHTML = html.join("");
            if (this.$useLineGroups()) {
                container.className = 'ace_line_group';
                fragment.appendChild(container);
                container.style.height = config.lineHeight * this.session.getRowLength(row) + "px";

            } else {
                while(container.firstChild)
                    fragment.appendChild(container.firstChild);
            }

            row++;
        }
        return fragment;
    };

    this.update = function(config) {
        this.config = config;

        var html = [];
        var firstRow = config.firstRow, lastRow = config.lastRow;

        var row = firstRow;
        var foldLine = this.session.getNextFoldLine(row);
        var foldStart = foldLine ? foldLine.start.row : Infinity;

        while (true) {
            if (row > foldStart) {
                row = foldLine.end.row+1;
                foldLine = this.session.getNextFoldLine(row, foldLine);
                foldStart = foldLine ? foldLine.start.row :Infinity;
            }
            if (row > lastRow)
                break;

            if (this.$useLineGroups())
                html.push("<div class='ace_line_group' style='height:", config.lineHeight*this.session.getRowLength(row), "px'>");

            this.$renderLine(html, row, false, row == foldStart ? foldLine : false);

            if (this.$useLineGroups())
                html.push("</div>"); // end the line group

            row++;
        }
        this.element.innerHTML = html.join("");
    };

    this.$textToken = {
        "text": true,
        "rparen": true,
        "lparen": true
    };

    this.$renderToken = function(stringBuilder, screenColumn, token, value) {
        var self = this;
        var replaceReg = /\t|&|<|>|( +)|([\x00-\x1f\x80-\xa0\xad\u1680\u180E\u2000-\u200f\u2028\u2029\u202F\u205F\u3000\uFEFF\uFFF9-\uFFFC])|[\u1100-\u115F\u11A3-\u11A7\u11FA-\u11FF\u2329-\u232A\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3000-\u303E\u3041-\u3096\u3099-\u30FF\u3105-\u312D\u3131-\u318E\u3190-\u31BA\u31C0-\u31E3\u31F0-\u321E\u3220-\u3247\u3250-\u32FE\u3300-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uA960-\uA97C\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFAFF\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE66\uFE68-\uFE6B\uFF01-\uFF60\uFFE0-\uFFE6]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g;
        var replaceFunc = function(c, a, b, tabIdx, idx4) {
            if (a) {
                return self.showInvisibles
                    ? "<span class='ace_invisible ace_invisible_space'>" + lang.stringRepeat(self.SPACE_CHAR, c.length) + "</span>"
                    : c;
            } else if (c == "&") {
                return "&#38;";
            } else if (c == "<") {
                return "&#60;";
            } else if (c == ">") {
                return "&#62;";
            } else if (c == "\t") {
                var tabSize = self.session.getScreenTabSize(screenColumn + tabIdx);
                screenColumn += tabSize - 1;
                return self.$tabStrings[tabSize];
            } else if (c == "\u3000") {
                var classToUse = self.showInvisibles ? "ace_cjk ace_invisible ace_invisible_space" : "ace_cjk";
                var space = self.showInvisibles ? self.SPACE_CHAR : "";
                screenColumn += 1;
                return "<span class='" + classToUse + "' style='width:" +
                    (self.config.characterWidth * 2) +
                    "px'>" + space + "</span>";
            } else if (b) {
                return "<span class='ace_invisible ace_invisible_space ace_invalid'>" + self.SPACE_CHAR + "</span>";
            } else {
                screenColumn += 1;
                return "<span class='ace_cjk' style='width:" +
                    (self.config.characterWidth * 2) +
                    "px'>" + c + "</span>";
            }
        };

        var output = value.replace(replaceReg, replaceFunc);

        if (!this.$textToken[token.type]) {
            var classes = "ace_" + token.type.replace(/\./g, " ace_");
            var style = "";
            if (token.type == "fold")
                style = " style='width:" + (token.value.length * this.config.characterWidth) + "px;' ";
            stringBuilder.push("<span class='", classes, "'", style, ">", output, "</span>");
        }
        else {
            stringBuilder.push(output);
        }
        return screenColumn + value.length;
    };

    this.renderIndentGuide = function(stringBuilder, value, max) {
        var cols = value.search(this.$indentGuideRe);
        if (cols <= 0 || cols >= max)
            return value;
        if (value[0] == " ") {
            cols -= cols % this.tabSize;
            stringBuilder.push(lang.stringRepeat(this.$tabStrings[" "], cols/this.tabSize));
            return value.substr(cols);
        } else if (value[0] == "\t") {
            stringBuilder.push(lang.stringRepeat(this.$tabStrings["\t"], cols));
            return value.substr(cols);
        }
        return value;
    };

    this.$renderWrappedLine = function(stringBuilder, tokens, splits, onlyContents) {
        var chars = 0;
        var split = 0;
        var splitChars = splits[0];
        var screenColumn = 0;

        for (var i = 0; i < tokens.length; i++) {
            var token = tokens[i];
            var value = token.value;
            if (i == 0 && this.displayIndentGuides) {
                chars = value.length;
                value = this.renderIndentGuide(stringBuilder, value, splitChars);
                if (!value)
                    continue;
                chars -= value.length;
            }

            if (chars + value.length < splitChars) {
                screenColumn = this.$renderToken(stringBuilder, screenColumn, token, value);
                chars += value.length;
            } else {
                while (chars + value.length >= splitChars) {
                    screenColumn = this.$renderToken(
                        stringBuilder, screenColumn,
                        token, value.substring(0, splitChars - chars)
                    );
                    value = value.substring(splitChars - chars);
                    chars = splitChars;

                    if (!onlyContents) {
                        stringBuilder.push("</div>",
                            "<div class='ace_line' style='height:",
                            this.config.lineHeight, "px'>"
                        );
                    }

                    stringBuilder.push(lang.stringRepeat("\xa0", splits.indent));

                    split ++;
                    screenColumn = 0;
                    splitChars = splits[split] || Number.MAX_VALUE;
                }
                if (value.length != 0) {
                    chars += value.length;
                    screenColumn = this.$renderToken(
                        stringBuilder, screenColumn, token, value
                    );
                }
            }
        }
    };

    this.$renderSimpleLine = function(stringBuilder, tokens) {
        var screenColumn = 0;
        var token = tokens[0];
        var value = token.value;
        if (this.displayIndentGuides)
            value = this.renderIndentGuide(stringBuilder, value);
        if (value)
            screenColumn = this.$renderToken(stringBuilder, screenColumn, token, value);
        for (var i = 1; i < tokens.length; i++) {
            token = tokens[i];
            value = token.value;
            screenColumn = this.$renderToken(stringBuilder, screenColumn, token, value);
        }
    };
    this.$renderLine = function(stringBuilder, row, onlyContents, foldLine) {
        if (!foldLine && foldLine != false)
            foldLine = this.session.getFoldLine(row);

        if (foldLine)
            var tokens = this.$getFoldLineTokens(row, foldLine);
        else
            var tokens = this.session.getTokens(row);


        if (!onlyContents) {
            stringBuilder.push(
                "<div class='ace_line' style='height:", 
                    this.config.lineHeight * (
                        this.$useLineGroups() ? 1 :this.session.getRowLength(row)
                    ), "px'>"
            );
        }

        if (tokens.length) {
            var splits = this.session.getRowSplitData(row);
            if (splits && splits.length)
                this.$renderWrappedLine(stringBuilder, tokens, splits, onlyContents);
            else
                this.$renderSimpleLine(stringBuilder, tokens);
        }

        if (this.showInvisibles) {
            if (foldLine)
                row = foldLine.end.row;

            stringBuilder.push(
                "<span class='ace_invisible ace_invisible_eol'>",
                row == this.session.getLength() - 1 ? this.EOF_CHAR : this.EOL_CHAR,
                "</span>"
            );
        }
        if (!onlyContents)
            stringBuilder.push("</div>");
    };

    this.$getFoldLineTokens = function(row, foldLine) {
        var session = this.session;
        var renderTokens = [];

        function addTokens(tokens, from, to) {
            var idx = 0, col = 0;
            while ((col + tokens[idx].value.length) < from) {
                col += tokens[idx].value.length;
                idx++;

                if (idx == tokens.length)
                    return;
            }
            if (col != from) {
                var value = tokens[idx].value.substring(from - col);
                if (value.length > (to - from))
                    value = value.substring(0, to - from);

                renderTokens.push({
                    type: tokens[idx].type,
                    value: value
                });

                col = from + value.length;
                idx += 1;
            }

            while (col < to && idx < tokens.length) {
                var value = tokens[idx].value;
                if (value.length + col > to) {
                    renderTokens.push({
                        type: tokens[idx].type,
                        value: value.substring(0, to - col)
                    });
                } else
                    renderTokens.push(tokens[idx]);
                col += value.length;
                idx += 1;
            }
        }

        var tokens = session.getTokens(row);
        foldLine.walk(function(placeholder, row, column, lastColumn, isNewRow) {
            if (placeholder != null) {
                renderTokens.push({
                    type: "fold",
                    value: placeholder
                });
            } else {
                if (isNewRow)
                    tokens = session.getTokens(row);

                if (tokens.length)
                    addTokens(tokens, lastColumn, column);
            }
        }, foldLine.end.row, this.session.getLine(foldLine.end.row).length);

        return renderTokens;
    };

    this.$useLineGroups = function() {
        return this.session.getUseWrapMode();
    };

    this.destroy = function() {
        clearInterval(this.$pollSizeChangesTimer);
        if (this.$measureNode)
            this.$measureNode.parentNode.removeChild(this.$measureNode);
        delete this.$measureNode;
    };

}).call(Text.prototype);

exports.Text = Text;

});

ace.define("ace/layer/cursor",["require","exports","module","ace/lib/dom"], function(acequire, exports, module) {
"use strict";

var dom = acequire("../lib/dom");
var isIE8;

var Cursor = function(parentEl) {
    this.element = dom.createElement("div");
    this.element.className = "ace_layer ace_cursor-layer";
    parentEl.appendChild(this.element);
    
    if (isIE8 === undefined)
        isIE8 = !("opacity" in this.element.style);

    this.isVisible = false;
    this.isBlinking = true;
    this.blinkInterval = 1000;
    this.smoothBlinking = false;

    this.cursors = [];
    this.cursor = this.addCursor();
    dom.addCssClass(this.element, "ace_hidden-cursors");
    this.$updateCursors = (isIE8
        ? this.$updateVisibility
        : this.$updateOpacity).bind(this);
};

(function() {
    
    this.$updateVisibility = function(val) {
        var cursors = this.cursors;
        for (var i = cursors.length; i--; )
            cursors[i].style.visibility = val ? "" : "hidden";
    };
    this.$updateOpacity = function(val) {
        var cursors = this.cursors;
        for (var i = cursors.length; i--; )
            cursors[i].style.opacity = val ? "" : "0";
    };
    

    this.$padding = 0;
    this.setPadding = function(padding) {
        this.$padding = padding;
    };

    this.setSession = function(session) {
        this.session = session;
    };

    this.setBlinking = function(blinking) {
        if (blinking != this.isBlinking){
            this.isBlinking = blinking;
            this.restartTimer();
        }
    };

    this.setBlinkInterval = function(blinkInterval) {
        if (blinkInterval != this.blinkInterval){
            this.blinkInterval = blinkInterval;
            this.restartTimer();
        }
    };

    this.setSmoothBlinking = function(smoothBlinking) {
        if (smoothBlinking != this.smoothBlinking && !isIE8) {
            this.smoothBlinking = smoothBlinking;
            dom.setCssClass(this.element, "ace_smooth-blinking", smoothBlinking);
            this.$updateCursors(true);
            this.$updateCursors = (this.$updateOpacity).bind(this);
            this.restartTimer();
        }
    };

    this.addCursor = function() {
        var el = dom.createElement("div");
        el.className = "ace_cursor";
        this.element.appendChild(el);
        this.cursors.push(el);
        return el;
    };

    this.removeCursor = function() {
        if (this.cursors.length > 1) {
            var el = this.cursors.pop();
            el.parentNode.removeChild(el);
            return el;
        }
    };

    this.hideCursor = function() {
        this.isVisible = false;
        dom.addCssClass(this.element, "ace_hidden-cursors");
        this.restartTimer();
    };

    this.showCursor = function() {
        this.isVisible = true;
        dom.removeCssClass(this.element, "ace_hidden-cursors");
        this.restartTimer();
    };

    this.restartTimer = function() {
        var update = this.$updateCursors;
        clearInterval(this.intervalId);
        clearTimeout(this.timeoutId);
        if (this.smoothBlinking) {
            dom.removeCssClass(this.element, "ace_smooth-blinking");
        }
        
        update(true);

        if (!this.isBlinking || !this.blinkInterval || !this.isVisible)
            return;

        if (this.smoothBlinking) {
            setTimeout(function(){
                dom.addCssClass(this.element, "ace_smooth-blinking");
            }.bind(this));
        }
        
        var blink = function(){
            this.timeoutId = setTimeout(function() {
                update(false);
            }, 0.6 * this.blinkInterval);
        }.bind(this);

        this.intervalId = setInterval(function() {
            update(true);
            blink();
        }, this.blinkInterval);

        blink();
    };

    this.getPixelPosition = function(position, onScreen) {
        if (!this.config || !this.session)
            return {left : 0, top : 0};

        if (!position)
            position = this.session.selection.getCursor();
        var pos = this.session.documentToScreenPosition(position);
        var cursorLeft = this.$padding + (this.session.$bidiHandler.isBidiRow(pos.row, position.row)
            ? this.session.$bidiHandler.getPosLeft(pos.column)
            : pos.column * this.config.characterWidth);

        var cursorTop = (pos.row - (onScreen ? this.config.firstRowScreen : 0)) *
            this.config.lineHeight;

        return {left : cursorLeft, top : cursorTop};
    };

    this.update = function(config) {
        this.config = config;

        var selections = this.session.$selectionMarkers;
        var i = 0, cursorIndex = 0;

        if (selections === undefined || selections.length === 0){
            selections = [{cursor: null}];
        }

        for (var i = 0, n = selections.length; i < n; i++) {
            var pixelPos = this.getPixelPosition(selections[i].cursor, true);
            if ((pixelPos.top > config.height + config.offset ||
                 pixelPos.top < 0) && i > 1) {
                continue;
            }

            var style = (this.cursors[cursorIndex++] || this.addCursor()).style;
            
            if (!this.drawCursor) {
                style.left = pixelPos.left + "px";
                style.top = pixelPos.top + "px";
                style.width = config.characterWidth + "px";
                style.height = config.lineHeight + "px";
            } else {
                this.drawCursor(style, pixelPos, config, selections[i], this.session);
            }
        }
        while (this.cursors.length > cursorIndex)
            this.removeCursor();

        var overwrite = this.session.getOverwrite();
        this.$setOverwrite(overwrite);
        this.$pixelPos = pixelPos;
        this.restartTimer();
    };
    
    this.drawCursor = null;

    this.$setOverwrite = function(overwrite) {
        if (overwrite != this.overwrite) {
            this.overwrite = overwrite;
            if (overwrite)
                dom.addCssClass(this.element, "ace_overwrite-cursors");
            else
                dom.removeCssClass(this.element, "ace_overwrite-cursors");
        }
    };

    this.destroy = function() {
        clearInterval(this.intervalId);
        clearTimeout(this.timeoutId);
    };

}).call(Cursor.prototype);

exports.Cursor = Cursor;

});

ace.define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"], function(acequire, exports, module) {
"use strict";

var oop = acequire("./lib/oop");
var dom = acequire("./lib/dom");
var event = acequire("./lib/event");
var EventEmitter = acequire("./lib/event_emitter").EventEmitter;
var MAX_SCROLL_H = 0x8000;
var ScrollBar = function(parent) {
    this.element = dom.createElement("div");
    this.element.className = "ace_scrollbar ace_scrollbar" + this.classSuffix;

    this.inner = dom.createElement("div");
    this.inner.className = "ace_scrollbar-inner";
    this.element.appendChild(this.inner);

    parent.appendChild(this.element);

    this.setVisible(false);
    this.skipEvent = false;

    event.addListener(this.element, "scroll", this.onScroll.bind(this));
    event.addListener(this.element, "mousedown", event.preventDefault);
};

(function() {
    oop.implement(this, EventEmitter);

    this.setVisible = function(isVisible) {
        this.element.style.display = isVisible ? "" : "none";
        this.isVisible = isVisible;
        this.coeff = 1;
    };
}).call(ScrollBar.prototype);
var VScrollBar = function(parent, renderer) {
    ScrollBar.call(this, parent);
    this.scrollTop = 0;
    this.scrollHeight = 0;
    renderer.$scrollbarWidth = 
    this.width = dom.scrollbarWidth(parent.ownerDocument);
    this.inner.style.width =
    this.element.style.width = (this.width || 15) + 5 + "px";
    this.$minWidth = 0;
};

oop.inherits(VScrollBar, ScrollBar);

(function() {

    this.classSuffix = '-v';
    this.onScroll = function() {
        if (!this.skipEvent) {
            this.scrollTop = this.element.scrollTop;
            if (this.coeff != 1) {
                var h = this.element.clientHeight / this.scrollHeight;
                this.scrollTop = this.scrollTop * (1 - h) / (this.coeff - h);
            }
            this._emit("scroll", {data: this.scrollTop});
        }
        this.skipEvent = false;
    };
    this.getWidth = function() {
        return Math.max(this.isVisible ? this.width : 0, this.$minWidth || 0);
    };
    this.setHeight = function(height) {
        this.element.style.height = height + "px";
    };
    this.setInnerHeight =
    this.setScrollHeight = function(height) {
        this.scrollHeight = height;
        if (height > MAX_SCROLL_H) {
            this.coeff = MAX_SCROLL_H / height;
            height = MAX_SCROLL_H;
        } else if (this.coeff != 1) {
            this.coeff = 1;
        }
        this.inner.style.height = height + "px";
    };
    this.setScrollTop = function(scrollTop) {
        if (this.scrollTop != scrollTop) {
            this.skipEvent = true;
            this.scrollTop = scrollTop;
            this.element.scrollTop = scrollTop * this.coeff;
        }
    };

}).call(VScrollBar.prototype);
var HScrollBar = function(parent, renderer) {
    ScrollBar.call(this, parent);
    this.scrollLeft = 0;
    this.height = renderer.$scrollbarWidth;
    this.inner.style.height =
    this.element.style.height = (this.height || 15) + 5 + "px";
};

oop.inherits(HScrollBar, ScrollBar);

(function() {

    this.classSuffix = '-h';
    this.onScroll = function() {
        if (!this.skipEvent) {
            this.scrollLeft = this.element.scrollLeft;
            this._emit("scroll", {data: this.scrollLeft});
        }
        this.skipEvent = false;
    };
    this.getHeight = function() {
        return this.isVisible ? this.height : 0;
    };
    this.setWidth = function(width) {
        this.element.style.width = width + "px";
    };
    this.setInnerWidth = function(width) {
        this.inner.style.width = width + "px";
    };
    this.setScrollWidth = function(width) {
        this.inner.style.width = width + "px";
    };
    this.setScrollLeft = function(scrollLeft) {
        if (this.scrollLeft != scrollLeft) {
            this.skipEvent = true;
            this.scrollLeft = this.element.scrollLeft = scrollLeft;
        }
    };

}).call(HScrollBar.prototype);


exports.ScrollBar = VScrollBar; // backward compatibility
exports.ScrollBarV = VScrollBar; // backward compatibility
exports.ScrollBarH = HScrollBar; // backward compatibility

exports.VScrollBar = VScrollBar;
exports.HScrollBar = HScrollBar;
});

ace.define("ace/renderloop",["require","exports","module","ace/lib/event"], function(acequire, exports, module) {
"use strict";

var event = acequire("./lib/event");


var RenderLoop = function(onRender, win) {
    this.onRender = onRender;
    this.pending = false;
    this.changes = 0;
    this.window = win || window;
};

(function() {


    this.schedule = function(change) {
        this.changes = this.changes | change;
        if (!this.pending && this.changes) {
            this.pending = true;
            var _self = this;
            event.nextFrame(function() {
                _self.pending = false;
                var changes;
                while (changes = _self.changes) {
                    _self.changes = 0;
                    _self.onRender(changes);
                }
            }, this.window);
        }
    };

}).call(RenderLoop.prototype);

exports.RenderLoop = RenderLoop;
});

ace.define("ace/layer/font_metrics",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/lib/event_emitter"], function(acequire, exports, module) {

var oop = acequire("../lib/oop");
var dom = acequire("../lib/dom");
var lang = acequire("../lib/lang");
var useragent = acequire("../lib/useragent");
var EventEmitter = acequire("../lib/event_emitter").EventEmitter;

var CHAR_COUNT = 0;

var FontMetrics = exports.FontMetrics = function(parentEl) {
    this.el = dom.createElement("div");
    this.$setMeasureNodeStyles(this.el.style, true);
    
    this.$main = dom.createElement("div");
    this.$setMeasureNodeStyles(this.$main.style);
    
    this.$measureNode = dom.createElement("div");
    this.$setMeasureNodeStyles(this.$measureNode.style);
    
    
    this.el.appendChild(this.$main);
    this.el.appendChild(this.$measureNode);
    parentEl.appendChild(this.el);
    
    if (!CHAR_COUNT)
        this.$testFractionalRect();
    this.$measureNode.innerHTML = lang.stringRepeat("X", CHAR_COUNT);
    
    this.$characterSize = {width: 0, height: 0};
    this.checkForSizeChanges();
};

(function() {

    oop.implement(this, EventEmitter);
        
    this.$characterSize = {width: 0, height: 0};
    
    this.$testFractionalRect = function() {
        var el = dom.createElement("div");
        this.$setMeasureNodeStyles(el.style);
        el.style.width = "0.2px";
        document.documentElement.appendChild(el);
        var w = el.getBoundingClientRect().width;
        if (w > 0 && w < 1)
            CHAR_COUNT = 50;
        else
            CHAR_COUNT = 100;
        el.parentNode.removeChild(el);
    };
    
    this.$setMeasureNodeStyles = function(style, isRoot) {
        style.width = style.height = "auto";
        style.left = style.top = "0px";
        style.visibility = "hidden";
        style.position = "absolute";
        style.whiteSpace = "pre";

        if (useragent.isIE < 8) {
            style["font-family"] = "inherit";
        } else {
            style.font = "inherit";
        }
        style.overflow = isRoot ? "hidden" : "visible";
    };

    this.checkForSizeChanges = function() {
        var size = this.$measureSizes();
        if (size && (this.$characterSize.width !== size.width || this.$characterSize.height !== size.height)) {
            this.$measureNode.style.fontWeight = "bold";
            var boldSize = this.$measureSizes();
            this.$measureNode.style.fontWeight = "";
            this.$characterSize = size;
            this.charSizes = Object.create(null);
            this.allowBoldFonts = boldSize && boldSize.width === size.width && boldSize.height === size.height;
            this._emit("changeCharacterSize", {data: size});
        }
    };

    this.$pollSizeChanges = function() {
        if (this.$pollSizeChangesTimer)
            return this.$pollSizeChangesTimer;
        var self = this;
        return this.$pollSizeChangesTimer = setInterval(function() {
            self.checkForSizeChanges();
        }, 500);
    };
    
    this.setPolling = function(val) {
        if (val) {
            this.$pollSizeChanges();
        } else if (this.$pollSizeChangesTimer) {
            clearInterval(this.$pollSizeChangesTimer);
            this.$pollSizeChangesTimer = 0;
        }
    };

    this.$measureSizes = function() {
        if (CHAR_COUNT === 50) {
            var rect = null;
            try { 
               rect = this.$measureNode.getBoundingClientRect();
            } catch(e) {
               rect = {width: 0, height:0 };
            }
            var size = {
                height: rect.height,
                width: rect.width / CHAR_COUNT
            };
        } else {
            var size = {
                height: this.$measureNode.clientHeight,
                width: this.$measureNode.clientWidth / CHAR_COUNT
            };
        }
        if (size.width === 0 || size.height === 0)
            return null;
        return size;
    };

    this.$measureCharWidth = function(ch) {
        this.$main.innerHTML = lang.stringRepeat(ch, CHAR_COUNT);
        var rect = this.$main.getBoundingClientRect();
        return rect.width / CHAR_COUNT;
    };
    
    this.getCharacterWidth = function(ch) {
        var w = this.charSizes[ch];
        if (w === undefined) {
            w = this.charSizes[ch] = this.$measureCharWidth(ch) / this.$characterSize.width;
        }
        return w;
    };

    this.destroy = function() {
        clearInterval(this.$pollSizeChangesTimer);
        if (this.el && this.el.parentNode)
            this.el.parentNode.removeChild(this.el);
    };

}).call(FontMetrics.prototype);

});

ace.define("ace/virtual_renderer",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/config","ace/lib/useragent","ace/layer/gutter","ace/layer/marker","ace/layer/text","ace/layer/cursor","ace/scrollbar","ace/scrollbar","ace/renderloop","ace/layer/font_metrics","ace/lib/event_emitter"], function(acequire, exports, module) {
"use strict";

var oop = acequire("./lib/oop");
var dom = acequire("./lib/dom");
var config = acequire("./config");
var useragent = acequire("./lib/useragent");
var GutterLayer = acequire("./layer/gutter").Gutter;
var MarkerLayer = acequire("./layer/marker").Marker;
var TextLayer = acequire("./layer/text").Text;
var CursorLayer = acequire("./layer/cursor").Cursor;
var HScrollBar = acequire("./scrollbar").HScrollBar;
var VScrollBar = acequire("./scrollbar").VScrollBar;
var RenderLoop = acequire("./renderloop").RenderLoop;
var FontMetrics = acequire("./layer/font_metrics").FontMetrics;
var EventEmitter = acequire("./lib/event_emitter").EventEmitter;
var editorCss = ".ace_editor {\
position: relative;\
overflow: hidden;\
font: 12px/normal 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'source-code-pro', monospace;\
direction: ltr;\
text-align: left;\
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);\
}\
.ace_scroller {\
position: absolute;\
overflow: hidden;\
top: 0;\
bottom: 0;\
background-color: inherit;\
-ms-user-select: none;\
-moz-user-select: none;\
-webkit-user-select: none;\
user-select: none;\
cursor: text;\
}\
.ace_content {\
position: absolute;\
-moz-box-sizing: border-box;\
-webkit-box-sizing: border-box;\
box-sizing: border-box;\
min-width: 100%;\
}\
.ace_dragging .ace_scroller:before{\
position: absolute;\
top: 0;\
left: 0;\
right: 0;\
bottom: 0;\
content: '';\
background: rgba(250, 250, 250, 0.01);\
z-index: 1000;\
}\
.ace_dragging.ace_dark .ace_scroller:before{\
background: rgba(0, 0, 0, 0.01);\
}\
.ace_selecting, .ace_selecting * {\
cursor: text !important;\
}\
.ace_gutter {\
position: absolute;\
overflow : hidden;\
width: auto;\
top: 0;\
bottom: 0;\
left: 0;\
cursor: default;\
z-index: 4;\
-ms-user-select: none;\
-moz-user-select: none;\
-webkit-user-select: none;\
user-select: none;\
}\
.ace_gutter-active-line {\
position: absolute;\
left: 0;\
right: 0;\
}\
.ace_scroller.ace_scroll-left {\
box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;\
}\
.ace_gutter-cell {\
padding-left: 19px;\
padding-right: 6px;\
background-repeat: no-repeat;\
}\
.ace_gutter-cell.ace_error {\
background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABOFBMVEX/////////QRswFAb/Ui4wFAYwFAYwFAaWGAfDRymzOSH/PxswFAb/SiUwFAYwFAbUPRvjQiDllog5HhHdRybsTi3/Tyv9Tir+Syj/UC3////XurebMBIwFAb/RSHbPx/gUzfdwL3kzMivKBAwFAbbvbnhPx66NhowFAYwFAaZJg8wFAaxKBDZurf/RB6mMxb/SCMwFAYwFAbxQB3+RB4wFAb/Qhy4Oh+4QifbNRcwFAYwFAYwFAb/QRzdNhgwFAYwFAbav7v/Uy7oaE68MBK5LxLewr/r2NXewLswFAaxJw4wFAbkPRy2PyYwFAaxKhLm1tMwFAazPiQwFAaUGAb/QBrfOx3bvrv/VC/maE4wFAbRPBq6MRO8Qynew8Dp2tjfwb0wFAbx6eju5+by6uns4uH9/f36+vr/GkHjAAAAYnRSTlMAGt+64rnWu/bo8eAA4InH3+DwoN7j4eLi4xP99Nfg4+b+/u9B/eDs1MD1mO7+4PHg2MXa347g7vDizMLN4eG+Pv7i5evs/v79yu7S3/DV7/498Yv24eH+4ufQ3Ozu/v7+y13sRqwAAADLSURBVHjaZc/XDsFgGIBhtDrshlitmk2IrbHFqL2pvXf/+78DPokj7+Fz9qpU/9UXJIlhmPaTaQ6QPaz0mm+5gwkgovcV6GZzd5JtCQwgsxoHOvJO15kleRLAnMgHFIESUEPmawB9ngmelTtipwwfASilxOLyiV5UVUyVAfbG0cCPHig+GBkzAENHS0AstVF6bacZIOzgLmxsHbt2OecNgJC83JERmePUYq8ARGkJx6XtFsdddBQgZE2nPR6CICZhawjA4Fb/chv+399kfR+MMMDGOQAAAABJRU5ErkJggg==\");\
background-repeat: no-repeat;\
background-position: 2px center;\
}\
.ace_gutter-cell.ace_warning {\
background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAmVBMVEX///8AAAD///8AAAAAAABPSzb/5sAAAAB/blH/73z/ulkAAAAAAAD85pkAAAAAAAACAgP/vGz/rkDerGbGrV7/pkQICAf////e0IsAAAD/oED/qTvhrnUAAAD/yHD/njcAAADuv2r/nz//oTj/p064oGf/zHAAAAA9Nir/tFIAAAD/tlTiuWf/tkIAAACynXEAAAAAAAAtIRW7zBpBAAAAM3RSTlMAABR1m7RXO8Ln31Z36zT+neXe5OzooRDfn+TZ4p3h2hTf4t3k3ucyrN1K5+Xaks52Sfs9CXgrAAAAjklEQVR42o3PbQ+CIBQFYEwboPhSYgoYunIqqLn6/z8uYdH8Vmdnu9vz4WwXgN/xTPRD2+sgOcZjsge/whXZgUaYYvT8QnuJaUrjrHUQreGczuEafQCO/SJTufTbroWsPgsllVhq3wJEk2jUSzX3CUEDJC84707djRc5MTAQxoLgupWRwW6UB5fS++NV8AbOZgnsC7BpEAAAAABJRU5ErkJggg==\");\
background-position: 2px center;\
}\
.ace_gutter-cell.ace_info {\
background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=\");\
background-position: 2px center;\
}\
.ace_dark .ace_gutter-cell.ace_info {\
background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC\");\
}\
.ace_scrollbar {\
position: absolute;\
right: 0;\
bottom: 0;\
z-index: 6;\
}\
.ace_scrollbar-inner {\
position: absolute;\
cursor: text;\
left: 0;\
top: 0;\
}\
.ace_scrollbar-v{\
overflow-x: hidden;\
overflow-y: scroll;\
top: 0;\
}\
.ace_scrollbar-h {\
overflow-x: scroll;\
overflow-y: hidden;\
left: 0;\
}\
.ace_print-margin {\
position: absolute;\
height: 100%;\
}\
.ace_text-input {\
position: absolute;\
z-index: 0;\
width: 0.5em;\
height: 1em;\
opacity: 0;\
background: transparent;\
-moz-appearance: none;\
appearance: none;\
border: none;\
resize: none;\
outline: none;\
overflow: hidden;\
font: inherit;\
padding: 0 1px;\
margin: 0 -1px;\
text-indent: -1em;\
-ms-user-select: text;\
-moz-user-select: text;\
-webkit-user-select: text;\
user-select: text;\
white-space: pre!important;\
}\
.ace_text-input.ace_composition {\
background: inherit;\
color: inherit;\
z-index: 1000;\
opacity: 1;\
text-indent: 0;\
}\
.ace_layer {\
z-index: 1;\
position: absolute;\
overflow: hidden;\
word-wrap: normal;\
white-space: pre;\
height: 100%;\
width: 100%;\
-moz-box-sizing: border-box;\
-webkit-box-sizing: border-box;\
box-sizing: border-box;\
pointer-events: none;\
}\
.ace_gutter-layer {\
position: relative;\
width: auto;\
text-align: right;\
pointer-events: auto;\
}\
.ace_text-layer {\
font: inherit !important;\
}\
.ace_cjk {\
display: inline-block;\
text-align: center;\
}\
.ace_cursor-layer {\
z-index: 4;\
}\
.ace_cursor {\
z-index: 4;\
position: absolute;\
-moz-box-sizing: border-box;\
-webkit-box-sizing: border-box;\
box-sizing: border-box;\
border-left: 2px solid;\
transform: translatez(0);\
}\
.ace_multiselect .ace_cursor {\
border-left-width: 1px;\
}\
.ace_slim-cursors .ace_cursor {\
border-left-width: 1px;\
}\
.ace_overwrite-cursors .ace_cursor {\
border-left-width: 0;\
border-bottom: 1px solid;\
}\
.ace_hidden-cursors .ace_cursor {\
opacity: 0.2;\
}\
.ace_smooth-blinking .ace_cursor {\
-webkit-transition: opacity 0.18s;\
transition: opacity 0.18s;\
}\
.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {\
position: absolute;\
z-index: 3;\
}\
.ace_marker-layer .ace_selection {\
position: absolute;\
z-index: 5;\
}\
.ace_marker-layer .ace_bracket {\
position: absolute;\
z-index: 6;\
}\
.ace_marker-layer .ace_active-line {\
position: absolute;\
z-index: 2;\
}\
.ace_marker-layer .ace_selected-word {\
position: absolute;\
z-index: 4;\
-moz-box-sizing: border-box;\
-webkit-box-sizing: border-box;\
box-sizing: border-box;\
}\
.ace_line .ace_fold {\
-moz-box-sizing: border-box;\
-webkit-box-sizing: border-box;\
box-sizing: border-box;\
display: inline-block;\
height: 11px;\
margin-top: -2px;\
vertical-align: middle;\
background-image:\
url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII=\"),\
url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=\");\
background-repeat: no-repeat, repeat-x;\
background-position: center center, top left;\
color: transparent;\
border: 1px solid black;\
border-radius: 2px;\
cursor: pointer;\
pointer-events: auto;\
}\
.ace_dark .ace_fold {\
}\
.ace_fold:hover{\
background-image:\
url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII=\"),\
url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC\");\
}\
.ace_tooltip {\
background-color: #FFF;\
background-image: -webkit-linear-gradient(top, transparent, rgba(0, 0, 0, 0.1));\
background-image: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.1));\
border: 1px solid gray;\
border-radius: 1px;\
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);\
color: black;\
max-width: 100%;\
padding: 3px 4px;\
position: fixed;\
z-index: 999999;\
-moz-box-sizing: border-box;\
-webkit-box-sizing: border-box;\
box-sizing: border-box;\
cursor: default;\
white-space: pre;\
word-wrap: break-word;\
line-height: normal;\
font-style: normal;\
font-weight: normal;\
letter-spacing: normal;\
pointer-events: none;\
}\
.ace_folding-enabled > .ace_gutter-cell {\
padding-right: 13px;\
}\
.ace_fold-widget {\
-moz-box-sizing: border-box;\
-webkit-box-sizing: border-box;\
box-sizing: border-box;\
margin: 0 -12px 0 1px;\
display: none;\
width: 11px;\
vertical-align: top;\
background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==\");\
background-repeat: no-repeat;\
background-position: center;\
border-radius: 3px;\
border: 1px solid transparent;\
cursor: pointer;\
}\
.ace_folding-enabled .ace_fold-widget {\
display: inline-block;   \
}\
.ace_fold-widget.ace_end {\
background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==\");\
}\
.ace_fold-widget.ace_closed {\
background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==\");\
}\
.ace_fold-widget:hover {\
border: 1px solid rgba(0, 0, 0, 0.3);\
background-color: rgba(255, 255, 255, 0.2);\
box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);\
}\
.ace_fold-widget:active {\
border: 1px solid rgba(0, 0, 0, 0.4);\
background-color: rgba(0, 0, 0, 0.05);\
box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);\
}\
.ace_dark .ace_fold-widget {\
background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC\");\
}\
.ace_dark .ace_fold-widget.ace_end {\
background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==\");\
}\
.ace_dark .ace_fold-widget.ace_closed {\
background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==\");\
}\
.ace_dark .ace_fold-widget:hover {\
box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);\
background-color: rgba(255, 255, 255, 0.1);\
}\
.ace_dark .ace_fold-widget:active {\
box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);\
}\
.ace_fold-widget.ace_invalid {\
background-color: #FFB4B4;\
border-color: #DE5555;\
}\
.ace_fade-fold-widgets .ace_fold-widget {\
-webkit-transition: opacity 0.4s ease 0.05s;\
transition: opacity 0.4s ease 0.05s;\
opacity: 0;\
}\
.ace_fade-fold-widgets:hover .ace_fold-widget {\
-webkit-transition: opacity 0.05s ease 0.05s;\
transition: opacity 0.05s ease 0.05s;\
opacity:1;\
}\
.ace_underline {\
text-decoration: underline;\
}\
.ace_bold {\
font-weight: bold;\
}\
.ace_nobold .ace_bold {\
font-weight: normal;\
}\
.ace_italic {\
font-style: italic;\
}\
.ace_error-marker {\
background-color: rgba(255, 0, 0,0.2);\
position: absolute;\
z-index: 9;\
}\
.ace_highlight-marker {\
background-color: rgba(255, 255, 0,0.2);\
position: absolute;\
z-index: 8;\
}\
.ace_br1 {border-top-left-radius    : 3px;}\
.ace_br2 {border-top-right-radius   : 3px;}\
.ace_br3 {border-top-left-radius    : 3px; border-top-right-radius:    3px;}\
.ace_br4 {border-bottom-right-radius: 3px;}\
.ace_br5 {border-top-left-radius    : 3px; border-bottom-right-radius: 3px;}\
.ace_br6 {border-top-right-radius   : 3px; border-bottom-right-radius: 3px;}\
.ace_br7 {border-top-left-radius    : 3px; border-top-right-radius:    3px; border-bottom-right-radius: 3px;}\
.ace_br8 {border-bottom-left-radius : 3px;}\
.ace_br9 {border-top-left-radius    : 3px; border-bottom-left-radius:  3px;}\
.ace_br10{border-top-right-radius   : 3px; border-bottom-left-radius:  3px;}\
.ace_br11{border-top-left-radius    : 3px; border-top-right-radius:    3px; border-bottom-left-radius:  3px;}\
.ace_br12{border-bottom-right-radius: 3px; border-bottom-left-radius:  3px;}\
.ace_br13{border-top-left-radius    : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius:  3px;}\
.ace_br14{border-top-right-radius   : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius:  3px;}\
.ace_br15{border-top-left-radius    : 3px; border-top-right-radius:    3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}\
.ace_text-input-ios {\
position: absolute !important;\
top: -100000px !important;\
left: -100000px !important;\
}\
";

dom.importCssString(editorCss, "ace_editor.css");

var VirtualRenderer = function(container, theme) {
    var _self = this;

    this.container = container || dom.createElement("div");
    this.$keepTextAreaAtCursor = !useragent.isOldIE;

    dom.addCssClass(this.container, "ace_editor");

    this.setTheme(theme);

    this.$gutter = dom.createElement("div");
    this.$gutter.className = "ace_gutter";
    this.container.appendChild(this.$gutter);
    this.$gutter.setAttribute("aria-hidden", true);

    this.scroller = dom.createElement("div");
    this.scroller.className = "ace_scroller";
    this.container.appendChild(this.scroller);

    this.content = dom.createElement("div");
    this.content.className = "ace_content";
    this.scroller.appendChild(this.content);

    this.$gutterLayer = new GutterLayer(this.$gutter);
    this.$gutterLayer.on("changeGutterWidth", this.onGutterResize.bind(this));

    this.$markerBack = new MarkerLayer(this.content);

    var textLayer = this.$textLayer = new TextLayer(this.content);
    this.canvas = textLayer.element;

    this.$markerFront = new MarkerLayer(this.content);

    this.$cursorLayer = new CursorLayer(this.content);
    this.$horizScroll = false;
    this.$vScroll = false;

    this.scrollBar = 
    this.scrollBarV = new VScrollBar(this.container, this);
    this.scrollBarH = new HScrollBar(this.container, this);
    this.scrollBarV.addEventListener("scroll", function(e) {
        if (!_self.$scrollAnimation)
            _self.session.setScrollTop(e.data - _self.scrollMargin.top);
    });
    this.scrollBarH.addEventListener("scroll", function(e) {
        if (!_self.$scrollAnimation)
            _self.session.setScrollLeft(e.data - _self.scrollMargin.left);
    });

    this.scrollTop = 0;
    this.scrollLeft = 0;

    this.cursorPos = {
        row : 0,
        column : 0
    };

    this.$fontMetrics = new FontMetrics(this.container);
    this.$textLayer.$setFontMetrics(this.$fontMetrics);
    this.$textLayer.addEventListener("changeCharacterSize", function(e) {
        _self.updateCharacterSize();
        _self.onResize(true, _self.gutterWidth, _self.$size.width, _self.$size.height);
        _self._signal("changeCharacterSize", e);
    });

    this.$size = {
        width: 0,
        height: 0,
        scrollerHeight: 0,
        scrollerWidth: 0,
        $dirty: true
    };

    this.layerConfig = {
        width : 1,
        padding : 0,
        firstRow : 0,
        firstRowScreen: 0,
        lastRow : 0,
        lineHeight : 0,
        characterWidth : 0,
        minHeight : 1,
        maxHeight : 1,
        offset : 0,
        height : 1,
        gutterOffset: 1
    };
    
    this.scrollMargin = {
        left: 0,
        right: 0,
        top: 0,
        bottom: 0,
        v: 0,
        h: 0
    };

    this.$loop = new RenderLoop(
        this.$renderChanges.bind(this),
        this.container.ownerDocument.defaultView
    );
    this.$loop.schedule(this.CHANGE_FULL);

    this.updateCharacterSize();
    this.setPadding(4);
    config.resetOptions(this);
    config._emit("renderer", this);
};

(function() {

    this.CHANGE_CURSOR = 1;
    this.CHANGE_MARKER = 2;
    this.CHANGE_GUTTER = 4;
    this.CHANGE_SCROLL = 8;
    this.CHANGE_LINES = 16;
    this.CHANGE_TEXT = 32;
    this.CHANGE_SIZE = 64;
    this.CHANGE_MARKER_BACK = 128;
    this.CHANGE_MARKER_FRONT = 256;
    this.CHANGE_FULL = 512;
    this.CHANGE_H_SCROLL = 1024;

    oop.implement(this, EventEmitter);

    this.updateCharacterSize = function() {
        if (this.$textLayer.allowBoldFonts != this.$allowBoldFonts) {
            this.$allowBoldFonts = this.$textLayer.allowBoldFonts;
            this.setStyle("ace_nobold", !this.$allowBoldFonts);
        }

        this.layerConfig.characterWidth =
        this.characterWidth = this.$textLayer.getCharacterWidth();
        this.layerConfig.lineHeight =
        this.lineHeight = this.$textLayer.getLineHeight();
        this.$updatePrintMargin();
    };
    this.setSession = function(session) {
        if (this.session)
            this.session.doc.off("changeNewLineMode", this.onChangeNewLineMode);
            
        this.session = session;
        if (session && this.scrollMargin.top && session.getScrollTop() <= 0)
            session.setScrollTop(-this.scrollMargin.top);

        this.$cursorLayer.setSession(session);
        this.$markerBack.setSession(session);
        this.$markerFront.setSession(session);
        this.$gutterLayer.setSession(session);
        this.$textLayer.setSession(session);
        if (!session)
            return;
        
        this.$loop.schedule(this.CHANGE_FULL);
        this.session.$setFontMetrics(this.$fontMetrics);
        this.scrollBarH.scrollLeft = this.scrollBarV.scrollTop = null;
        
        this.onChangeNewLineMode = this.onChangeNewLineMode.bind(this);
        this.onChangeNewLineMode();
        this.session.doc.on("changeNewLineMode", this.onChangeNewLineMode);
    };
    this.updateLines = function(firstRow, lastRow, force) {
        if (lastRow === undefined)
            lastRow = Infinity;

        if (!this.$changedLines) {
            this.$changedLines = {
                firstRow: firstRow,
                lastRow: lastRow
            };
        }
        else {
            if (this.$changedLines.firstRow > firstRow)
                this.$changedLines.firstRow = firstRow;

            if (this.$changedLines.lastRow < lastRow)
                this.$changedLines.lastRow = lastRow;
        }
        if (this.$changedLines.lastRow < this.layerConfig.firstRow) {
            if (force)
                this.$changedLines.lastRow = this.layerConfig.lastRow;
            else
                return;
        }
        if (this.$changedLines.firstRow > this.layerConfig.lastRow)
            return;
        this.$loop.schedule(this.CHANGE_LINES);
    };

    this.onChangeNewLineMode = function() {
        this.$loop.schedule(this.CHANGE_TEXT);
        this.$textLayer.$updateEolChar();
        this.session.$bidiHandler.setEolChar(this.$textLayer.EOL_CHAR);
    };
    
    this.onChangeTabSize = function() {
        this.$loop.schedule(this.CHANGE_TEXT | this.CHANGE_MARKER);
        this.$textLayer.onChangeTabSize();
    };
    this.updateText = function() {
        this.$loop.schedule(this.CHANGE_TEXT);
    };
    this.updateFull = function(force) {
        if (force)
            this.$renderChanges(this.CHANGE_FULL, true);
        else
            this.$loop.schedule(this.CHANGE_FULL);
    };
    this.updateFontSize = function() {
        this.$textLayer.checkForSizeChanges();
    };

    this.$changes = 0;
    this.$updateSizeAsync = function() {
        if (this.$loop.pending)
            this.$size.$dirty = true;
        else
            this.onResize();
    };
    this.onResize = function(force, gutterWidth, width, height) {
        if (this.resizing > 2)
            return;
        else if (this.resizing > 0)
            this.resizing++;
        else
            this.resizing = force ? 1 : 0;
        var el = this.container;
        if (!height)
            height = el.clientHeight || el.scrollHeight;
        if (!width)
            width = el.clientWidth || el.scrollWidth;
        var changes = this.$updateCachedSize(force, gutterWidth, width, height);

        
        if (!this.$size.scrollerHeight || (!width && !height))
            return this.resizing = 0;

        if (force)
            this.$gutterLayer.$padding = null;

        if (force)
            this.$renderChanges(changes | this.$changes, true);
        else
            this.$loop.schedule(changes | this.$changes);

        if (this.resizing)
            this.resizing = 0;
        this.scrollBarV.scrollLeft = this.scrollBarV.scrollTop = null;
    };
    
    this.$updateCachedSize = function(force, gutterWidth, width, height) {
        height -= (this.$extraHeight || 0);
        var changes = 0;
        var size = this.$size;
        var oldSize = {
            width: size.width,
            height: size.height,
            scrollerHeight: size.scrollerHeight,
            scrollerWidth: size.scrollerWidth
        };
        if (height && (force || size.height != height)) {
            size.height = height;
            changes |= this.CHANGE_SIZE;

            size.scrollerHeight = size.height;
            if (this.$horizScroll)
                size.scrollerHeight -= this.scrollBarH.getHeight();
            this.scrollBarV.element.style.bottom = this.scrollBarH.getHeight() + "px";

            changes = changes | this.CHANGE_SCROLL;
        }

        if (width && (force || size.width != width)) {
            changes |= this.CHANGE_SIZE;
            size.width = width;
            
            if (gutterWidth == null)
                gutterWidth = this.$showGutter ? this.$gutter.offsetWidth : 0;
            
            this.gutterWidth = gutterWidth;
            
            this.scrollBarH.element.style.left = 
            this.scroller.style.left = gutterWidth + "px";
            size.scrollerWidth = Math.max(0, width - gutterWidth - this.scrollBarV.getWidth());           
            
            this.scrollBarH.element.style.right = 
            this.scroller.style.right = this.scrollBarV.getWidth() + "px";
            this.scroller.style.bottom = this.scrollBarH.getHeight() + "px";

            if (this.session && this.session.getUseWrapMode() && this.adjustWrapLimit() || force)
                changes |= this.CHANGE_FULL;
        }
        
        size.$dirty = !width || !height;

        if (changes)
            this._signal("resize", oldSize);

        return changes;
    };

    this.onGutterResize = function() {
        var gutterWidth = this.$showGutter ? this.$gutter.offsetWidth : 0;
        if (gutterWidth != this.gutterWidth)
            this.$changes |= this.$updateCachedSize(true, gutterWidth, this.$size.width, this.$size.height);

        if (this.session.getUseWrapMode() && this.adjustWrapLimit()) {
            this.$loop.schedule(this.CHANGE_FULL);
        } else if (this.$size.$dirty) {
            this.$loop.schedule(this.CHANGE_FULL);
        } else {
            this.$computeLayerConfig();
            this.$loop.schedule(this.CHANGE_MARKER);
        }
    };
    this.adjustWrapLimit = function() {
        var availableWidth = this.$size.scrollerWidth - this.$padding * 2;
        var limit = Math.floor(availableWidth / this.characterWidth);
        return this.session.adjustWrapLimit(limit, this.$showPrintMargin && this.$printMarginColumn);
    };
    this.setAnimatedScroll = function(shouldAnimate){
        this.setOption("animatedScroll", shouldAnimate);
    };
    this.getAnimatedScroll = function() {
        return this.$animatedScroll;
    };
    this.setShowInvisibles = function(showInvisibles) {
        this.setOption("showInvisibles", showInvisibles);
        this.session.$bidiHandler.setShowInvisibles(showInvisibles);
    };
    this.getShowInvisibles = function() {
        return this.getOption("showInvisibles");
    };
    this.getDisplayIndentGuides = function() {
        return this.getOption("displayIndentGuides");
    };

    this.setDisplayIndentGuides = function(display) {
        this.setOption("displayIndentGuides", display);
    };
    this.setShowPrintMargin = function(showPrintMargin) {
        this.setOption("showPrintMargin", showPrintMargin);
    };
    this.getShowPrintMargin = function() {
        return this.getOption("showPrintMargin");
    };
    this.setPrintMarginColumn = function(showPrintMargin) {
        this.setOption("printMarginColumn", showPrintMargin);
    };
    this.getPrintMarginColumn = function() {
        return this.getOption("printMarginColumn");
    };
    this.getShowGutter = function(){
        return this.getOption("showGutter");
    };
    this.setShowGutter = function(show){
        return this.setOption("showGutter", show);
    };

    this.getFadeFoldWidgets = function(){
        return this.getOption("fadeFoldWidgets");
    };

    this.setFadeFoldWidgets = function(show) {
        this.setOption("fadeFoldWidgets", show);
    };

    this.setHighlightGutterLine = function(shouldHighlight) {
        this.setOption("highlightGutterLine", shouldHighlight);
    };

    this.getHighlightGutterLine = function() {
        return this.getOption("highlightGutterLine");
    };

    this.$updateGutterLineHighlight = function() {
        var pos = this.$cursorLayer.$pixelPos;
        var height = this.layerConfig.lineHeight;
        if (this.session.getUseWrapMode()) {
            var cursor = this.session.selection.getCursor();
            cursor.column = 0;
            pos = this.$cursorLayer.getPixelPosition(cursor, true);
            height *= this.session.getRowLength(cursor.row);
        }
        this.$gutterLineHighlight.style.top = pos.top - this.layerConfig.offset + "px";
        this.$gutterLineHighlight.style.height = height + "px";
    };

    this.$updatePrintMargin = function() {
        if (!this.$showPrintMargin && !this.$printMarginEl)
            return;

        if (!this.$printMarginEl) {
            var containerEl = dom.createElement("div");
            containerEl.className = "ace_layer ace_print-margin-layer";
            this.$printMarginEl = dom.createElement("div");
            this.$printMarginEl.className = "ace_print-margin";
            containerEl.appendChild(this.$printMarginEl);
            this.content.insertBefore(containerEl, this.content.firstChild);
        }

        var style = this.$printMarginEl.style;
        style.left = ((this.characterWidth * this.$printMarginColumn) + this.$padding) + "px";
        style.visibility = this.$showPrintMargin ? "visible" : "hidden";
        
        if (this.session && this.session.$wrap == -1)
            this.adjustWrapLimit();
    };
    this.getContainerElement = function() {
        return this.container;
    };
    this.getMouseEventTarget = function() {
        return this.scroller;
    };
    this.getTextAreaContainer = function() {
        return this.container;
    };
    this.$moveTextAreaToCursor = function() {
        if (!this.$keepTextAreaAtCursor)
            return;
        var config = this.layerConfig;
        var posTop = this.$cursorLayer.$pixelPos.top;
        var posLeft = this.$cursorLayer.$pixelPos.left;
        posTop -= config.offset;

        var style = this.textarea.style;
        var h = this.lineHeight;
        if (posTop < 0 || posTop > config.height - h) {
            style.top = style.left = "0";
            return;
        }

        var w = this.characterWidth;
        if (this.$composition) {
            var val = this.textarea.value.replace(/^\x01+/, "");
            w *= (this.session.$getStringScreenWidth(val)[0]+2);
            h += 2;
        }
        posLeft -= this.scrollLeft;
        if (posLeft > this.$size.scrollerWidth - w)
            posLeft = this.$size.scrollerWidth - w;

        posLeft += this.gutterWidth;
        style.height = h + "px";
        style.width = w + "px";
        style.left = Math.min(posLeft, this.$size.scrollerWidth - w) + "px";
        style.top = Math.min(posTop, this.$size.height - h) + "px";
    };
    this.getFirstVisibleRow = function() {
        return this.layerConfig.firstRow;
    };
    this.getFirstFullyVisibleRow = function() {
        return this.layerConfig.firstRow + (this.layerConfig.offset === 0 ? 0 : 1);
    };
    this.getLastFullyVisibleRow = function() {
        var config = this.layerConfig;
        var lastRow = config.lastRow;
        var top = this.session.documentToScreenRow(lastRow, 0) * config.lineHeight;
        if (top - this.session.getScrollTop() > config.height - config.lineHeight)
            return lastRow - 1;
        return lastRow;
    };
    this.getLastVisibleRow = function() {
        return this.layerConfig.lastRow;
    };

    this.$padding = null;
    this.setPadding = function(padding) {
        this.$padding = padding;
        this.$textLayer.setPadding(padding);
        this.$cursorLayer.setPadding(padding);
        this.$markerFront.setPadding(padding);
        this.$markerBack.setPadding(padding);
        this.$loop.schedule(this.CHANGE_FULL);
        this.$updatePrintMargin();
    };
    
    this.setScrollMargin = function(top, bottom, left, right) {
        var sm = this.scrollMargin;
        sm.top = top|0;
        sm.bottom = bottom|0;
        sm.right = right|0;
        sm.left = left|0;
        sm.v = sm.top + sm.bottom;
        sm.h = sm.left + sm.right;
        if (sm.top && this.scrollTop <= 0 && this.session)
            this.session.setScrollTop(-sm.top);
        this.updateFull();
    };
    this.getHScrollBarAlwaysVisible = function() {
        return this.$hScrollBarAlwaysVisible;
    };
    this.setHScrollBarAlwaysVisible = function(alwaysVisible) {
        this.setOption("hScrollBarAlwaysVisible", alwaysVisible);
    };
    this.getVScrollBarAlwaysVisible = function() {
        return this.$vScrollBarAlwaysVisible;
    };
    this.setVScrollBarAlwaysVisible = function(alwaysVisible) {
        this.setOption("vScrollBarAlwaysVisible", alwaysVisible);
    };

    this.$updateScrollBarV = function() {
        var scrollHeight = this.layerConfig.maxHeight;
        var scrollerHeight = this.$size.scrollerHeight;
        if (!this.$maxLines && this.$scrollPastEnd) {
            scrollHeight -= (scrollerHeight - this.lineHeight) * this.$scrollPastEnd;
            if (this.scrollTop > scrollHeight - scrollerHeight) {
                scrollHeight = this.scrollTop + scrollerHeight;
                this.scrollBarV.scrollTop = null;
            }
        }
        this.scrollBarV.setScrollHeight(scrollHeight + this.scrollMargin.v);
        this.scrollBarV.setScrollTop(this.scrollTop + this.scrollMargin.top);
    };
    this.$updateScrollBarH = function() {
        this.scrollBarH.setScrollWidth(this.layerConfig.width + 2 * this.$padding + this.scrollMargin.h);
        this.scrollBarH.setScrollLeft(this.scrollLeft + this.scrollMargin.left);
    };
    
    this.$frozen = false;
    this.freeze = function() {
        this.$frozen = true;
    };
    
    this.unfreeze = function() {
        this.$frozen = false;
    };

    this.$renderChanges = function(changes, force) {
        if (this.$changes) {
            changes |= this.$changes;
            this.$changes = 0;
        }
        if ((!this.session || !this.container.offsetWidth || this.$frozen) || (!changes && !force)) {
            this.$changes |= changes;
            return; 
        } 
        if (this.$size.$dirty) {
            this.$changes |= changes;
            return this.onResize(true);
        }
        if (!this.lineHeight) {
            this.$textLayer.checkForSizeChanges();
        }
        
        this._signal("beforeRender");

        if (this.session && this.session.$bidiHandler)
            this.session.$bidiHandler.updateCharacterWidths(this.$fontMetrics);

        var config = this.layerConfig;
        if (changes & this.CHANGE_FULL ||
            changes & this.CHANGE_SIZE ||
            changes & this.CHANGE_TEXT ||
            changes & this.CHANGE_LINES ||
            changes & this.CHANGE_SCROLL ||
            changes & this.CHANGE_H_SCROLL
        ) {
            changes |= this.$computeLayerConfig();
            if (config.firstRow != this.layerConfig.firstRow && config.firstRowScreen == this.layerConfig.firstRowScreen) {
                var st = this.scrollTop + (config.firstRow - this.layerConfig.firstRow) * this.lineHeight;
                if (st > 0) {
                    this.scrollTop = st;
                    changes = changes | this.CHANGE_SCROLL;
                    changes |= this.$computeLayerConfig();
                }
            }
            config = this.layerConfig;
            this.$updateScrollBarV();
            if (changes & this.CHANGE_H_SCROLL)
                this.$updateScrollBarH();
            this.$gutterLayer.element.style.marginTop = (-config.offset) + "px";
            this.content.style.marginTop = (-config.offset) + "px";
            this.content.style.width = config.width + 2 * this.$padding + "px";
            this.content.style.height = config.minHeight + "px";
        }
        if (changes & this.CHANGE_H_SCROLL) {
            this.content.style.marginLeft = -this.scrollLeft + "px";
            this.scroller.className = this.scrollLeft <= 0 ? "ace_scroller" : "ace_scroller ace_scroll-left";
        }
        if (changes & this.CHANGE_FULL) {
            this.$textLayer.update(config);
            if (this.$showGutter)
                this.$gutterLayer.update(config);
            this.$markerBack.update(config);
            this.$markerFront.update(config);
            this.$cursorLayer.update(config);
            this.$moveTextAreaToCursor();
            this.$highlightGutterLine && this.$updateGutterLineHighlight();
            this._signal("afterRender");
            return;
        }
        if (changes & this.CHANGE_SCROLL) {
            if (changes & this.CHANGE_TEXT || changes & this.CHANGE_LINES)
                this.$textLayer.update(config);
            else
                this.$textLayer.scrollLines(config);

            if (this.$showGutter)
                this.$gutterLayer.update(config);
            this.$markerBack.update(config);
            this.$markerFront.update(config);
            this.$cursorLayer.update(config);
            this.$highlightGutterLine && this.$updateGutterLineHighlight();
            this.$moveTextAreaToCursor();
            this._signal("afterRender");
            return;
        }

        if (changes & this.CHANGE_TEXT) {
            this.$textLayer.update(config);
            if (this.$showGutter)
                this.$gutterLayer.update(config);
        }
        else if (changes & this.CHANGE_LINES) {
            if (this.$updateLines() || (changes & this.CHANGE_GUTTER) && this.$showGutter)
                this.$gutterLayer.update(config);
        }
        else if (changes & this.CHANGE_TEXT || changes & this.CHANGE_GUTTER) {
            if (this.$showGutter)
                this.$gutterLayer.update(config);
        }

        if (changes & this.CHANGE_CURSOR) {
            this.$cursorLayer.update(config);
            this.$moveTextAreaToCursor();
            this.$highlightGutterLine && this.$updateGutterLineHighlight();
        }

        if (changes & (this.CHANGE_MARKER | this.CHANGE_MARKER_FRONT)) {
            this.$markerFront.update(config);
        }

        if (changes & (this.CHANGE_MARKER | this.CHANGE_MARKER_BACK)) {
            this.$markerBack.update(config);
        }

        this._signal("afterRender");
    };

    
    this.$autosize = function() {
        var height = this.session.getScreenLength() * this.lineHeight;
        var maxHeight = this.$maxLines * this.lineHeight;
        var desiredHeight = Math.min(maxHeight,
            Math.max((this.$minLines || 1) * this.lineHeight, height)
        ) + this.scrollMargin.v + (this.$extraHeight || 0);
        if (this.$horizScroll)
            desiredHeight += this.scrollBarH.getHeight();
        if (this.$maxPixelHeight && desiredHeight > this.$maxPixelHeight)
            desiredHeight = this.$maxPixelHeight;
        var vScroll = height > maxHeight;
        
        if (desiredHeight != this.desiredHeight ||
            this.$size.height != this.desiredHeight || vScroll != this.$vScroll) {
            if (vScroll != this.$vScroll) {
                this.$vScroll = vScroll;
                this.scrollBarV.setVisible(vScroll);
            }
            
            var w = this.container.clientWidth;
            this.container.style.height = desiredHeight + "px";
            this.$updateCachedSize(true, this.$gutterWidth, w, desiredHeight);
            this.desiredHeight = desiredHeight;
            
            this._signal("autosize");
        }
    };
    
    this.$computeLayerConfig = function() {
        var session = this.session;
        var size = this.$size;
        
        var hideScrollbars = size.height <= 2 * this.lineHeight;
        var screenLines = this.session.getScreenLength();
        var maxHeight = screenLines * this.lineHeight;

        var longestLine = this.$getLongestLine();
        
        var horizScroll = !hideScrollbars && (this.$hScrollBarAlwaysVisible ||
            size.scrollerWidth - longestLine - 2 * this.$padding < 0);

        var hScrollChanged = this.$horizScroll !== horizScroll;
        if (hScrollChanged) {
            this.$horizScroll = horizScroll;
            this.scrollBarH.setVisible(horizScroll);
        }
        var vScrollBefore = this.$vScroll; // autosize can change vscroll value in which case we need to update longestLine
        if (this.$maxLines && this.lineHeight > 1)
            this.$autosize();

        var offset = this.scrollTop % this.lineHeight;
        var minHeight = size.scrollerHeight + this.lineHeight;
        
        var scrollPastEnd = !this.$maxLines && this.$scrollPastEnd
            ? (size.scrollerHeight - this.lineHeight) * this.$scrollPastEnd
            : 0;
        maxHeight += scrollPastEnd;
        
        var sm = this.scrollMargin;
        this.session.setScrollTop(Math.max(-sm.top,
            Math.min(this.scrollTop, maxHeight - size.scrollerHeight + sm.bottom)));

        this.session.setScrollLeft(Math.max(-sm.left, Math.min(this.scrollLeft, 
            longestLine + 2 * this.$padding - size.scrollerWidth + sm.right)));
        
        var vScroll = !hideScrollbars && (this.$vScrollBarAlwaysVisible ||
            size.scrollerHeight - maxHeight + scrollPastEnd < 0 || this.scrollTop > sm.top);
        var vScrollChanged = vScrollBefore !== vScroll;
        if (vScrollChanged) {
            this.$vScroll = vScroll;
            this.scrollBarV.setVisible(vScroll);
        }

        var lineCount = Math.ceil(minHeight / this.lineHeight) - 1;
        var firstRow = Math.max(0, Math.round((this.scrollTop - offset) / this.lineHeight));
        var lastRow = firstRow + lineCount;
        var firstRowScreen, firstRowHeight;
        var lineHeight = this.lineHeight;
        firstRow = session.screenToDocumentRow(firstRow, 0);
        var foldLine = session.getFoldLine(firstRow);
        if (foldLine) {
            firstRow = foldLine.start.row;
        }

        firstRowScreen = session.documentToScreenRow(firstRow, 0);
        firstRowHeight = session.getRowLength(firstRow) * lineHeight;

        lastRow = Math.min(session.screenToDocumentRow(lastRow, 0), session.getLength() - 1);
        minHeight = size.scrollerHeight + session.getRowLength(lastRow) * lineHeight +
                                                firstRowHeight;

        offset = this.scrollTop - firstRowScreen * lineHeight;

        var changes = 0;
        if (this.layerConfig.width != longestLine) 
            changes = this.CHANGE_H_SCROLL;
        if (hScrollChanged || vScrollChanged) {
            changes = this.$updateCachedSize(true, this.gutterWidth, size.width, size.height);
            this._signal("scrollbarVisibilityChanged");
            if (vScrollChanged)
                longestLine = this.$getLongestLine();
        }
        
        this.layerConfig = {
            width : longestLine,
            padding : this.$padding,
            firstRow : firstRow,
            firstRowScreen: firstRowScreen,
            lastRow : lastRow,
            lineHeight : lineHeight,
            characterWidth : this.characterWidth,
            minHeight : minHeight,
            maxHeight : maxHeight,
            offset : offset,
            gutterOffset : lineHeight ? Math.max(0, Math.ceil((offset + size.height - size.scrollerHeight) / lineHeight)) : 0,
            height : this.$size.scrollerHeight
        };

        return changes;
    };

    this.$updateLines = function() {
        if (!this.$changedLines) return;
        var firstRow = this.$changedLines.firstRow;
        var lastRow = this.$changedLines.lastRow;
        this.$changedLines = null;

        var layerConfig = this.layerConfig;

        if (firstRow > layerConfig.lastRow + 1) { return; }
        if (lastRow < layerConfig.firstRow) { return; }
        if (lastRow === Infinity) {
            if (this.$showGutter)
                this.$gutterLayer.update(layerConfig);
            this.$textLayer.update(layerConfig);
            return;
        }
        this.$textLayer.updateLines(layerConfig, firstRow, lastRow);
        return true;
    };

    this.$getLongestLine = function() {
        var charCount = this.session.getScreenWidth();
        if (this.showInvisibles && !this.session.$useWrapMode)
            charCount += 1;

        return Math.max(this.$size.scrollerWidth - 2 * this.$padding, Math.round(charCount * this.characterWidth));
    };
    this.updateFrontMarkers = function() {
        this.$markerFront.setMarkers(this.session.getMarkers(true));
        this.$loop.schedule(this.CHANGE_MARKER_FRONT);
    };
    this.updateBackMarkers = function() {
        this.$markerBack.setMarkers(this.session.getMarkers());
        this.$loop.schedule(this.CHANGE_MARKER_BACK);
    };
    this.addGutterDecoration = function(row, className){
        this.$gutterLayer.addGutterDecoration(row, className);
    };
    this.removeGutterDecoration = function(row, className){
        this.$gutterLayer.removeGutterDecoration(row, className);
    };
    this.updateBreakpoints = function(rows) {
        this.$loop.schedule(this.CHANGE_GUTTER);
    };
    this.setAnnotations = function(annotations) {
        this.$gutterLayer.setAnnotations(annotations);
        this.$loop.schedule(this.CHANGE_GUTTER);
    };
    this.updateCursor = function() {
        this.$loop.schedule(this.CHANGE_CURSOR);
    };
    this.hideCursor = function() {
        this.$cursorLayer.hideCursor();
    };
    this.showCursor = function() {
        this.$cursorLayer.showCursor();
    };

    this.scrollSelectionIntoView = function(anchor, lead, offset) {
        this.scrollCursorIntoView(anchor, offset);
        this.scrollCursorIntoView(lead, offset);
    };
    this.scrollCursorIntoView = function(cursor, offset, $viewMargin) {
        if (this.$size.scrollerHeight === 0)
            return;

        var pos = this.$cursorLayer.getPixelPosition(cursor);

        var left = pos.left;
        var top = pos.top;
        
        var topMargin = $viewMargin && $viewMargin.top || 0;
        var bottomMargin = $viewMargin && $viewMargin.bottom || 0;
        
        var scrollTop = this.$scrollAnimation ? this.session.getScrollTop() : this.scrollTop;
        
        if (scrollTop + topMargin > top) {
            if (offset && scrollTop + topMargin > top + this.lineHeight)
                top -= offset * this.$size.scrollerHeight;
            if (top === 0)
                top = -this.scrollMargin.top;
            this.session.setScrollTop(top);
        } else if (scrollTop + this.$size.scrollerHeight - bottomMargin < top + this.lineHeight) {
            if (offset && scrollTop + this.$size.scrollerHeight - bottomMargin < top -  this.lineHeight)
                top += offset * this.$size.scrollerHeight;
            this.session.setScrollTop(top + this.lineHeight - this.$size.scrollerHeight);
        }

        var scrollLeft = this.scrollLeft;

        if (scrollLeft > left) {
            if (left < this.$padding + 2 * this.layerConfig.characterWidth)
                left = -this.scrollMargin.left;
            this.session.setScrollLeft(left);
        } else if (scrollLeft + this.$size.scrollerWidth < left + this.characterWidth) {
            this.session.setScrollLeft(Math.round(left + this.characterWidth - this.$size.scrollerWidth));
        } else if (scrollLeft <= this.$padding && left - scrollLeft < this.characterWidth) {
            this.session.setScrollLeft(0);
        }
    };
    this.getScrollTop = function() {
        return this.session.getScrollTop();
    };
    this.getScrollLeft = function() {
        return this.session.getScrollLeft();
    };
    this.getScrollTopRow = function() {
        return this.scrollTop / this.lineHeight;
    };
    this.getScrollBottomRow = function() {
        return Math.max(0, Math.floor((this.scrollTop + this.$size.scrollerHeight) / this.lineHeight) - 1);
    };
    this.scrollToRow = function(row) {
        this.session.setScrollTop(row * this.lineHeight);
    };

    this.alignCursor = function(cursor, alignment) {
        if (typeof cursor == "number")
            cursor = {row: cursor, column: 0};

        var pos = this.$cursorLayer.getPixelPosition(cursor);
        var h = this.$size.scrollerHeight - this.lineHeight;
        var offset = pos.top - h * (alignment || 0);

        this.session.setScrollTop(offset);
        return offset;
    };

    this.STEPS = 8;
    this.$calcSteps = function(fromValue, toValue){
        var i = 0;
        var l = this.STEPS;
        var steps = [];

        var func  = function(t, x_min, dx) {
            return dx * (Math.pow(t - 1, 3) + 1) + x_min;
        };

        for (i = 0; i < l; ++i)
            steps.push(func(i / this.STEPS, fromValue, toValue - fromValue));

        return steps;
    };
    this.scrollToLine = function(line, center, animate, callback) {
        var pos = this.$cursorLayer.getPixelPosition({row: line, column: 0});
        var offset = pos.top;
        if (center)
            offset -= this.$size.scrollerHeight / 2;

        var initialScroll = this.scrollTop;
        this.session.setScrollTop(offset);
        if (animate !== false)
            this.animateScrolling(initialScroll, callback);
    };

    this.animateScrolling = function(fromValue, callback) {
        var toValue = this.scrollTop;
        if (!this.$animatedScroll)
            return;
        var _self = this;
        
        if (fromValue == toValue)
            return;
        
        if (this.$scrollAnimation) {
            var oldSteps = this.$scrollAnimation.steps;
            if (oldSteps.length) {
                fromValue = oldSteps[0];
                if (fromValue == toValue)
                    return;
            }
        }
        
        var steps = _self.$calcSteps(fromValue, toValue);
        this.$scrollAnimation = {from: fromValue, to: toValue, steps: steps};

        clearInterval(this.$timer);

        _self.session.setScrollTop(steps.shift());
        _self.session.$scrollTop = toValue;
        this.$timer = setInterval(function() {
            if (steps.length) {
                _self.session.setScrollTop(steps.shift());
                _self.session.$scrollTop = toValue;
            } else if (toValue != null) {
                _self.session.$scrollTop = -1;
                _self.session.setScrollTop(toValue);
                toValue = null;
            } else {
                _self.$timer = clearInterval(_self.$timer);
                _self.$scrollAnimation = null;
                callback && callback();
            }
        }, 10);
    };
    this.scrollToY = function(scrollTop) {
        if (this.scrollTop !== scrollTop) {
            this.$loop.schedule(this.CHANGE_SCROLL);
            this.scrollTop = scrollTop;
        }
    };
    this.scrollToX = function(scrollLeft) {
        if (this.scrollLeft !== scrollLeft)
            this.scrollLeft = scrollLeft;
        this.$loop.schedule(this.CHANGE_H_SCROLL);
    };
    this.scrollTo = function(x, y) {
        this.session.setScrollTop(y);
        this.session.setScrollLeft(y);
    };
    this.scrollBy = function(deltaX, deltaY) {
        deltaY && this.session.setScrollTop(this.session.getScrollTop() + deltaY);
        deltaX && this.session.setScrollLeft(this.session.getScrollLeft() + deltaX);
    };
    this.isScrollableBy = function(deltaX, deltaY) {
        if (deltaY < 0 && this.session.getScrollTop() >= 1 - this.scrollMargin.top)
           return true;
        if (deltaY > 0 && this.session.getScrollTop() + this.$size.scrollerHeight
            - this.layerConfig.maxHeight < -1 + this.scrollMargin.bottom)
           return true;
        if (deltaX < 0 && this.session.getScrollLeft() >= 1 - this.scrollMargin.left)
            return true;
        if (deltaX > 0 && this.session.getScrollLeft() + this.$size.scrollerWidth
            - this.layerConfig.width < -1 + this.scrollMargin.right)
           return true;
    };

    this.pixelToScreenCoordinates = function(x, y) {
        var canvasPos = this.scroller.getBoundingClientRect();

        var offsetX = x + this.scrollLeft - canvasPos.left - this.$padding;
        var offset = offsetX / this.characterWidth;
        var row = Math.floor((y + this.scrollTop - canvasPos.top) / this.lineHeight);
        var col = Math.round(offset);

        return {row: row, column: col, side: offset - col > 0 ? 1 : -1, offsetX:  offsetX};
    };

    this.screenToTextCoordinates = function(x, y) {
        var canvasPos = this.scroller.getBoundingClientRect();
        var offsetX = x + this.scrollLeft - canvasPos.left - this.$padding;

        var col = Math.round(offsetX / this.characterWidth);

        var row = (y + this.scrollTop - canvasPos.top) / this.lineHeight;

        return this.session.screenToDocumentPosition(row, Math.max(col, 0), offsetX);
    };
    this.textToScreenCoordinates = function(row, column) {
        var canvasPos = this.scroller.getBoundingClientRect();
        var pos = this.session.documentToScreenPosition(row, column);

        var x = this.$padding + (this.session.$bidiHandler.isBidiRow(pos.row, row)
             ? this.session.$bidiHandler.getPosLeft(pos.column)
             : Math.round(pos.column * this.characterWidth));

        var y = pos.row * this.lineHeight;

        return {
            pageX: canvasPos.left + x - this.scrollLeft,
            pageY: canvasPos.top + y - this.scrollTop
        };
    };
    this.visualizeFocus = function() {
        dom.addCssClass(this.container, "ace_focus");
    };
    this.visualizeBlur = function() {
        dom.removeCssClass(this.container, "ace_focus");
    };
    this.showComposition = function(position) {
        if (!this.$composition)
            this.$composition = {
                keepTextAreaAtCursor: this.$keepTextAreaAtCursor,
                cssText: this.textarea.style.cssText
            };

        this.$keepTextAreaAtCursor = true;
        dom.addCssClass(this.textarea, "ace_composition");
        this.textarea.style.cssText = "";
        this.$moveTextAreaToCursor();
    };
    this.setCompositionText = function(text) {
        this.$moveTextAreaToCursor();
    };
    this.hideComposition = function() {
        if (!this.$composition)
            return;

        dom.removeCssClass(this.textarea, "ace_composition");
        this.$keepTextAreaAtCursor = this.$composition.keepTextAreaAtCursor;
        this.textarea.style.cssText = this.$composition.cssText;
        this.$composition = null;
    };
    this.setTheme = function(theme, cb) {
        var _self = this;
        this.$themeId = theme;
        _self._dispatchEvent('themeChange',{theme:theme});

        if (!theme || typeof theme == "string") {
            var moduleName = theme || this.$options.theme.initialValue;
            config.loadModule(["theme", moduleName], afterLoad);
        } else {
            afterLoad(theme);
        }

        function afterLoad(module) {
            if (_self.$themeId != theme)
                return cb && cb();
            if (!module || !module.cssClass)
                throw new Error("couldn't load module " + theme + " or it didn't call define");
            dom.importCssString(
                module.cssText,
                module.cssClass,
                _self.container.ownerDocument
            );

            if (_self.theme)
                dom.removeCssClass(_self.container, _self.theme.cssClass);

            var padding = "padding" in module ? module.padding 
                : "padding" in (_self.theme || {}) ? 4 : _self.$padding;
            if (_self.$padding && padding != _self.$padding)
                _self.setPadding(padding);
            _self.$theme = module.cssClass;

            _self.theme = module;
            dom.addCssClass(_self.container, module.cssClass);
            dom.setCssClass(_self.container, "ace_dark", module.isDark);
            if (_self.$size) {
                _self.$size.width = 0;
                _self.$updateSizeAsync();
            }

            _self._dispatchEvent('themeLoaded', {theme:module});
            cb && cb();
        }
    };
    this.getTheme = function() {
        return this.$themeId;
    };
    this.setStyle = function(style, include) {
        dom.setCssClass(this.container, style, include !== false);
    };
    this.unsetStyle = function(style) {
        dom.removeCssClass(this.container, style);
    };
    
    this.setCursorStyle = function(style) {
        if (this.scroller.style.cursor != style)
            this.scroller.style.cursor = style;
    };
    this.setMouseCursor = function(cursorStyle) {
        this.scroller.style.cursor = cursorStyle;
    };
    this.destroy = function() {
        this.$textLayer.destroy();
        this.$cursorLayer.destroy();
    };

}).call(VirtualRenderer.prototype);


config.defineOptions(VirtualRenderer.prototype, "renderer", {
    animatedScroll: {initialValue: false},
    showInvisibles: {
        set: function(value) {
            if (this.$textLayer.setShowInvisibles(value))
                this.$loop.schedule(this.CHANGE_TEXT);
        },
        initialValue: false
    },
    showPrintMargin: {
        set: function() { this.$updatePrintMargin(); },
        initialValue: true
    },
    printMarginColumn: {
        set: function() { this.$updatePrintMargin(); },
        initialValue: 80
    },
    printMargin: {
        set: function(val) {
            if (typeof val == "number")
                this.$printMarginColumn = val;
            this.$showPrintMargin = !!val;
            this.$updatePrintMargin();
        },
        get: function() {
            return this.$showPrintMargin && this.$printMarginColumn; 
        }
    },
    showGutter: {
        set: function(show){
            this.$gutter.style.display = show ? "block" : "none";
            this.$loop.schedule(this.CHANGE_FULL);
            this.onGutterResize();
        },
        initialValue: true
    },
    fadeFoldWidgets: {
        set: function(show) {
            dom.setCssClass(this.$gutter, "ace_fade-fold-widgets", show);
        },
        initialValue: false
    },
    showFoldWidgets: {
        set: function(show) {this.$gutterLayer.setShowFoldWidgets(show);},
        initialValue: true
    },
    showLineNumbers: {
        set: function(show) {
            this.$gutterLayer.setShowLineNumbers(show);
            this.$loop.schedule(this.CHANGE_GUTTER);
        },
        initialValue: true
    },
    displayIndentGuides: {
        set: function(show) {
            if (this.$textLayer.setDisplayIndentGuides(show))
                this.$loop.schedule(this.CHANGE_TEXT);
        },
        initialValue: true
    },
    highlightGutterLine: {
        set: function(shouldHighlight) {
            if (!this.$gutterLineHighlight) {
                this.$gutterLineHighlight = dom.createElement("div");
                this.$gutterLineHighlight.className = "ace_gutter-active-line";
                this.$gutter.appendChild(this.$gutterLineHighlight);
                return;
            }

            this.$gutterLineHighlight.style.display = shouldHighlight ? "" : "none";
            if (this.$cursorLayer.$pixelPos)
                this.$updateGutterLineHighlight();
        },
        initialValue: false,
        value: true
    },
    hScrollBarAlwaysVisible: {
        set: function(val) {
            if (!this.$hScrollBarAlwaysVisible || !this.$horizScroll)
                this.$loop.schedule(this.CHANGE_SCROLL);
        },
        initialValue: false
    },
    vScrollBarAlwaysVisible: {
        set: function(val) {
            if (!this.$vScrollBarAlwaysVisible || !this.$vScroll)
                this.$loop.schedule(this.CHANGE_SCROLL);
        },
        initialValue: false
    },
    fontSize:  {
        set: function(size) {
            if (typeof size == "number")
                size = size + "px";
            this.container.style.fontSize = size;
            this.updateFontSize();
        },
        initialValue: 12
    },
    fontFamily: {
        set: function(name) {
            this.container.style.fontFamily = name;
            this.updateFontSize();
        }
    },
    maxLines: {
        set: function(val) {
            this.updateFull();
        }
    },
    minLines: {
        set: function(val) {
            this.updateFull();
        }
    },
    maxPixelHeight: {
        set: function(val) {
            this.updateFull();
        },
        initialValue: 0
    },
    scrollPastEnd: {
        set: function(val) {
            val = +val || 0;
            if (this.$scrollPastEnd == val)
                return;
            this.$scrollPastEnd = val;
            this.$loop.schedule(this.CHANGE_SCROLL);
        },
        initialValue: 0,
        handlesSet: true
    },
    fixedWidthGutter: {
        set: function(val) {
            this.$gutterLayer.$fixedWidth = !!val;
            this.$loop.schedule(this.CHANGE_GUTTER);
        }
    },
    theme: {
        set: function(val) { this.setTheme(val); },
        get: function() { return this.$themeId || this.theme; },
        initialValue: "./theme/textmate",
        handlesSet: true
    }
});

exports.VirtualRenderer = VirtualRenderer;
});

ace.define("ace/worker/worker_client",["require","exports","module","ace/lib/oop","ace/lib/net","ace/lib/event_emitter","ace/config"], function(acequire, exports, module) {
"use strict";

var oop = acequire("../lib/oop");
var net = acequire("../lib/net");
var EventEmitter = acequire("../lib/event_emitter").EventEmitter;
var config = acequire("../config");

function $workerBlob(workerUrl, mod) {
    var script = mod.src;"importScripts('" + net.qualifyURL(workerUrl) + "');";
    try {
        return new Blob([script], {"type": "application/javascript"});
    } catch (e) { // Backwards-compatibility
        var BlobBuilder = window.BlobBuilder || window.WebKitBlobBuilder || window.MozBlobBuilder;
        var blobBuilder = new BlobBuilder();
        blobBuilder.append(script);
        return blobBuilder.getBlob("application/javascript");
    }
}

function createWorker(workerUrl, mod) {
    var blob = $workerBlob(workerUrl, mod);
    var URL = window.URL || window.webkitURL;
    var blobURL = URL.createObjectURL(blob);
    return new Worker(blobURL);
}

var WorkerClient = function(topLevelNamespaces, mod, classname, workerUrl, importScripts) {
    this.$sendDeltaQueue = this.$sendDeltaQueue.bind(this);
    this.changeListener = this.changeListener.bind(this);
    this.onMessage = this.onMessage.bind(this);
    if (acequire.nameToUrl && !acequire.toUrl)
        acequire.toUrl = acequire.nameToUrl;
    
    if (config.get("packaged") || !acequire.toUrl) {
        workerUrl = workerUrl || config.moduleUrl(mod.id, "worker");
    } else {
        var normalizePath = this.$normalizePath;
        workerUrl = workerUrl || normalizePath(acequire.toUrl("ace/worker/worker.js", null, "_"));

        var tlns = {};
        topLevelNamespaces.forEach(function(ns) {
            tlns[ns] = normalizePath(acequire.toUrl(ns, null, "_").replace(/(\.js)?(\?.*)?$/, ""));
        });
    }

    this.$worker = createWorker(workerUrl, mod);
    if (importScripts) {
        this.send("importScripts", importScripts);
    }
    this.$worker.postMessage({
        init : true,
        tlns : tlns,
        module : mod.id,
        classname : classname
    });

    this.callbackId = 1;
    this.callbacks = {};

    this.$worker.onmessage = this.onMessage;
};

(function(){

    oop.implement(this, EventEmitter);

    this.onMessage = function(e) {
        var msg = e.data;
        switch (msg.type) {
            case "event":
                this._signal(msg.name, {data: msg.data});
                break;
            case "call":
                var callback = this.callbacks[msg.id];
                if (callback) {
                    callback(msg.data);
                    delete this.callbacks[msg.id];
                }
                break;
            case "error":
                this.reportError(msg.data);
                break;
            case "log":
                window.console && console.log && console.log.apply(console, msg.data);
                break;
        }
    };
    
    this.reportError = function(err) {
        window.console && console.error && console.error(err);
    };

    this.$normalizePath = function(path) {
        return net.qualifyURL(path);
    };

    this.terminate = function() {
        this._signal("terminate", {});
        this.deltaQueue = null;
        this.$worker.terminate();
        this.$worker = null;
        if (this.$doc)
            this.$doc.off("change", this.changeListener);
        this.$doc = null;
    };

    this.send = function(cmd, args) {
        this.$worker.postMessage({command: cmd, args: args});
    };

    this.call = function(cmd, args, callback) {
        if (callback) {
            var id = this.callbackId++;
            this.callbacks[id] = callback;
            args.push(id);
        }
        this.send(cmd, args);
    };

    this.emit = function(event, data) {
        try {
            this.$worker.postMessage({event: event, data: {data: data.data}});
        }
        catch(ex) {
            console.error(ex.stack);
        }
    };

    this.attachToDocument = function(doc) {
        if (this.$doc)
            this.terminate();

        this.$doc = doc;
        this.call("setValue", [doc.getValue()]);
        doc.on("change", this.changeListener);
    };

    this.changeListener = function(delta) {
        if (!this.deltaQueue) {
            this.deltaQueue = [];
            setTimeout(this.$sendDeltaQueue, 0);
        }
        if (delta.action == "insert")
            this.deltaQueue.push(delta.start, delta.lines);
        else
            this.deltaQueue.push(delta.start, delta.end);
    };

    this.$sendDeltaQueue = function() {
        var q = this.deltaQueue;
        if (!q) return;
        this.deltaQueue = null;
        if (q.length > 50 && q.length > this.$doc.getLength() >> 1) {
            this.call("setValue", [this.$doc.getValue()]);
        } else
            this.emit("change", {data: q});
    };

}).call(WorkerClient.prototype);


var UIWorkerClient = function(topLevelNamespaces, mod, classname) {
    this.$sendDeltaQueue = this.$sendDeltaQueue.bind(this);
    this.changeListener = this.changeListener.bind(this);
    this.callbackId = 1;
    this.callbacks = {};
    this.messageBuffer = [];

    var main = null;
    var emitSync = false;
    var sender = Object.create(EventEmitter);
    var _self = this;

    this.$worker = {};
    this.$worker.terminate = function() {};
    this.$worker.postMessage = function(e) {
        _self.messageBuffer.push(e);
        if (main) {
            if (emitSync)
                setTimeout(processNext);
            else
                processNext();
        }
    };
    this.setEmitSync = function(val) { emitSync = val; };

    var processNext = function() {
        var msg = _self.messageBuffer.shift();
        if (msg.command)
            main[msg.command].apply(main, msg.args);
        else if (msg.event)
            sender._signal(msg.event, msg.data);
    };

    sender.postMessage = function(msg) {
        _self.onMessage({data: msg});
    };
    sender.callback = function(data, callbackId) {
        this.postMessage({type: "call", id: callbackId, data: data});
    };
    sender.emit = function(name, data) {
        this.postMessage({type: "event", name: name, data: data});
    };

    config.loadModule(["worker", mod], function(Main) {
        main = new Main[classname](sender);
        while (_self.messageBuffer.length)
            processNext();
    });
};

UIWorkerClient.prototype = WorkerClient.prototype;

exports.UIWorkerClient = UIWorkerClient;
exports.WorkerClient = WorkerClient;
exports.createWorker = createWorker;


});

ace.define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"], function(acequire, exports, module) {
"use strict";

var Range = acequire("./range").Range;
var EventEmitter = acequire("./lib/event_emitter").EventEmitter;
var oop = acequire("./lib/oop");

var PlaceHolder = function(session, length, pos, others, mainClass, othersClass) {
    var _self = this;
    this.length = length;
    this.session = session;
    this.doc = session.getDocument();
    this.mainClass = mainClass;
    this.othersClass = othersClass;
    this.$onUpdate = this.onUpdate.bind(this);
    this.doc.on("change", this.$onUpdate);
    this.$others = others;
    
    this.$onCursorChange = function() {
        setTimeout(function() {
            _self.onCursorChange();
        });
    };
    
    this.$pos = pos;
    var undoStack = session.getUndoManager().$undoStack || session.getUndoManager().$undostack || {length: -1};
    this.$undoStackDepth = undoStack.length;
    this.setup();

    session.selection.on("changeCursor", this.$onCursorChange);
};

(function() {

    oop.implement(this, EventEmitter);
    this.setup = function() {
        var _self = this;
        var doc = this.doc;
        var session = this.session;
        
        this.selectionBefore = session.selection.toJSON();
        if (session.selection.inMultiSelectMode)
            session.selection.toSingleRange();

        this.pos = doc.createAnchor(this.$pos.row, this.$pos.column);
        var pos = this.pos;
        pos.$insertRight = true;
        pos.detach();
        pos.markerId = session.addMarker(new Range(pos.row, pos.column, pos.row, pos.column + this.length), this.mainClass, null, false);
        this.others = [];
        this.$others.forEach(function(other) {
            var anchor = doc.createAnchor(other.row, other.column);
            anchor.$insertRight = true;
            anchor.detach();
            _self.others.push(anchor);
        });
        session.setUndoSelect(false);
    };
    this.showOtherMarkers = function() {
        if (this.othersActive) return;
        var session = this.session;
        var _self = this;
        this.othersActive = true;
        this.others.forEach(function(anchor) {
            anchor.markerId = session.addMarker(new Range(anchor.row, anchor.column, anchor.row, anchor.column+_self.length), _self.othersClass, null, false);
        });
    };
    this.hideOtherMarkers = function() {
        if (!this.othersActive) return;
        this.othersActive = false;
        for (var i = 0; i < this.others.length; i++) {
            this.session.removeMarker(this.others[i].markerId);
        }
    };
    this.onUpdate = function(delta) {
        if (this.$updating)
            return this.updateAnchors(delta);
            
        var range = delta;
        if (range.start.row !== range.end.row) return;
        if (range.start.row !== this.pos.row) return;
        this.$updating = true;
        var lengthDiff = delta.action === "insert" ? range.end.column - range.start.column : range.start.column - range.end.column;
        var inMainRange = range.start.column >= this.pos.column && range.start.column <= this.pos.column + this.length + 1;
        var distanceFromStart = range.start.column - this.pos.column;
        
        this.updateAnchors(delta);
        
        if (inMainRange)
            this.length += lengthDiff;

        if (inMainRange && !this.session.$fromUndo) {
            if (delta.action === 'insert') {
                for (var i = this.others.length - 1; i >= 0; i--) {
                    var otherPos = this.others[i];
                    var newPos = {row: otherPos.row, column: otherPos.column + distanceFromStart};
                    this.doc.insertMergedLines(newPos, delta.lines);
                }
            } else if (delta.action === 'remove') {
                for (var i = this.others.length - 1; i >= 0; i--) {
                    var otherPos = this.others[i];
                    var newPos = {row: otherPos.row, column: otherPos.column + distanceFromStart};
                    this.doc.remove(new Range(newPos.row, newPos.column, newPos.row, newPos.column - lengthDiff));
                }
            }
        }
        
        this.$updating = false;
        this.updateMarkers();
    };
    
    this.updateAnchors = function(delta) {
        this.pos.onChange(delta);
        for (var i = this.others.length; i--;)
            this.others[i].onChange(delta);
        this.updateMarkers();
    };
    
    this.updateMarkers = function() {
        if (this.$updating)
            return;
        var _self = this;
        var session = this.session;
        var updateMarker = function(pos, className) {
            session.removeMarker(pos.markerId);
            pos.markerId = session.addMarker(new Range(pos.row, pos.column, pos.row, pos.column+_self.length), className, null, false);
        };
        updateMarker(this.pos, this.mainClass);
        for (var i = this.others.length; i--;)
            updateMarker(this.others[i], this.othersClass);
    };

    this.onCursorChange = function(event) {
        if (this.$updating || !this.session) return;
        var pos = this.session.selection.getCursor();
        if (pos.row === this.pos.row && pos.column >= this.pos.column && pos.column <= this.pos.column + this.length) {
            this.showOtherMarkers();
            this._emit("cursorEnter", event);
        } else {
            this.hideOtherMarkers();
            this._emit("cursorLeave", event);
        }
    };    
    this.detach = function() {
        this.session.removeMarker(this.pos && this.pos.markerId);
        this.hideOtherMarkers();
        this.doc.removeEventListener("change", this.$onUpdate);
        this.session.selection.removeEventListener("changeCursor", this.$onCursorChange);
        this.session.setUndoSelect(true);
        this.session = null;
    };
    this.cancel = function() {
        if (this.$undoStackDepth === -1)
            return;
        var undoManager = this.session.getUndoManager();
        var undosRequired = (undoManager.$undoStack || undoManager.$undostack).length - this.$undoStackDepth;
        for (var i = 0; i < undosRequired; i++) {
            undoManager.undo(true);
        }
        if (this.selectionBefore)
            this.session.selection.fromJSON(this.selectionBefore);
    };
}).call(PlaceHolder.prototype);


exports.PlaceHolder = PlaceHolder;
});

ace.define("ace/mouse/multi_select_handler",["require","exports","module","ace/lib/event","ace/lib/useragent"], function(acequire, exports, module) {

var event = acequire("../lib/event");
var useragent = acequire("../lib/useragent");
function isSamePoint(p1, p2) {
    return p1.row == p2.row && p1.column == p2.column;
}

function onMouseDown(e) {
    var ev = e.domEvent;
    var alt = ev.altKey;
    var shift = ev.shiftKey;
    var ctrl = ev.ctrlKey;
    var accel = e.getAccelKey();
    var button = e.getButton();
    
    if (ctrl && useragent.isMac)
        button = ev.button;

    if (e.editor.inMultiSelectMode && button == 2) {
        e.editor.textInput.onContextMenu(e.domEvent);
        return;
    }
    
    if (!ctrl && !alt && !accel) {
        if (button === 0 && e.editor.inMultiSelectMode)
            e.editor.exitMultiSelectMode();
        return;
    }
    
    if (button !== 0)
        return;

    var editor = e.editor;
    var selection = editor.selection;
    var isMultiSelect = editor.inMultiSelectMode;
    var pos = e.getDocumentPosition();
    var cursor = selection.getCursor();
    var inSelection = e.inSelection() || (selection.isEmpty() && isSamePoint(pos, cursor));

    var mouseX = e.x, mouseY = e.y;
    var onMouseSelection = function(e) {
        mouseX = e.clientX;
        mouseY = e.clientY;
    };
    
    var session = editor.session;
    var screenAnchor = editor.renderer.pixelToScreenCoordinates(mouseX, mouseY);
    var screenCursor = screenAnchor;
    
    var selectionMode;
    if (editor.$mouseHandler.$enableJumpToDef) {
        if (ctrl && alt || accel && alt)
            selectionMode = shift ? "block" : "add";
        else if (alt && editor.$blockSelectEnabled)
            selectionMode = "block";
    } else {
        if (accel && !alt) {
            selectionMode = "add";
            if (!isMultiSelect && shift)
                return;
        } else if (alt && editor.$blockSelectEnabled) {
            selectionMode = "block";
        }
    }
    
    if (selectionMode && useragent.isMac && ev.ctrlKey) {
        editor.$mouseHandler.cancelContextMenu();
    }

    if (selectionMode == "add") {
        if (!isMultiSelect && inSelection)
            return; // dragging

        if (!isMultiSelect) {
            var range = selection.toOrientedRange();
            editor.addSelectionMarker(range);
        }

        var oldRange = selection.rangeList.rangeAtPoint(pos);
        
        
        editor.$blockScrolling++;
        editor.inVirtualSelectionMode = true;
        
        if (shift) {
            oldRange = null;
            range = selection.ranges[0] || range;
            editor.removeSelectionMarker(range);
        }
        editor.once("mouseup", function() {
            var tmpSel = selection.toOrientedRange();

            if (oldRange && tmpSel.isEmpty() && isSamePoint(oldRange.cursor, tmpSel.cursor))
                selection.substractPoint(tmpSel.cursor);
            else {
                if (shift) {
                    selection.substractPoint(range.cursor);
                } else if (range) {
                    editor.removeSelectionMarker(range);
                    selection.addRange(range);
                }
                selection.addRange(tmpSel);
            }
            editor.$blockScrolling--;
            editor.inVirtualSelectionMode = false;
        });

    } else if (selectionMode == "block") {
        e.stop();
        editor.inVirtualSelectionMode = true;        
        var initialRange;
        var rectSel = [];
        var blockSelect = function() {
            var newCursor = editor.renderer.pixelToScreenCoordinates(mouseX, mouseY);
            var cursor = session.screenToDocumentPosition(newCursor.row, newCursor.column, newCursor.offsetX);

            if (isSamePoint(screenCursor, newCursor) && isSamePoint(cursor, selection.lead))
                return;
            screenCursor = newCursor;
            
            editor.$blockScrolling++;
            editor.selection.moveToPosition(cursor);
            editor.renderer.scrollCursorIntoView();

            editor.removeSelectionMarkers(rectSel);
            rectSel = selection.rectangularRangeBlock(screenCursor, screenAnchor);
            if (editor.$mouseHandler.$clickSelection && rectSel.length == 1 && rectSel[0].isEmpty())
                rectSel[0] = editor.$mouseHandler.$clickSelection.clone();
            rectSel.forEach(editor.addSelectionMarker, editor);
            editor.updateSelectionMarkers();
            editor.$blockScrolling--;
        };
        editor.$blockScrolling++;
        if (isMultiSelect && !accel) {
            selection.toSingleRange();
        } else if (!isMultiSelect && accel) {
            initialRange = selection.toOrientedRange();
            editor.addSelectionMarker(initialRange);
        }
        
        if (shift)
            screenAnchor = session.documentToScreenPosition(selection.lead);            
        else
            selection.moveToPosition(pos);
        editor.$blockScrolling--;
        
        screenCursor = {row: -1, column: -1};

        var onMouseSelectionEnd = function(e) {
            clearInterval(timerId);
            editor.removeSelectionMarkers(rectSel);
            if (!rectSel.length)
                rectSel = [selection.toOrientedRange()];
            editor.$blockScrolling++;
            if (initialRange) {
                editor.removeSelectionMarker(initialRange);
                selection.toSingleRange(initialRange);
            }
            for (var i = 0; i < rectSel.length; i++)
                selection.addRange(rectSel[i]);
            editor.inVirtualSelectionMode = false;
            editor.$mouseHandler.$clickSelection = null;
            editor.$blockScrolling--;
        };

        var onSelectionInterval = blockSelect;

        event.capture(editor.container, onMouseSelection, onMouseSelectionEnd);
        var timerId = setInterval(function() {onSelectionInterval();}, 20);

        return e.preventDefault();
    }
}


exports.onMouseDown = onMouseDown;

});

ace.define("ace/commands/multi_select_commands",["require","exports","module","ace/keyboard/hash_handler"], function(acequire, exports, module) {
exports.defaultCommands = [{
    name: "addCursorAbove",
    exec: function(editor) { editor.selectMoreLines(-1); },
    bindKey: {win: "Ctrl-Alt-Up", mac: "Ctrl-Alt-Up"},
    scrollIntoView: "cursor",
    readOnly: true
}, {
    name: "addCursorBelow",
    exec: function(editor) { editor.selectMoreLines(1); },
    bindKey: {win: "Ctrl-Alt-Down", mac: "Ctrl-Alt-Down"},
    scrollIntoView: "cursor",
    readOnly: true
}, {
    name: "addCursorAboveSkipCurrent",
    exec: function(editor) { editor.selectMoreLines(-1, true); },
    bindKey: {win: "Ctrl-Alt-Shift-Up", mac: "Ctrl-Alt-Shift-Up"},
    scrollIntoView: "cursor",
    readOnly: true
}, {
    name: "addCursorBelowSkipCurrent",
    exec: function(editor) { editor.selectMoreLines(1, true); },
    bindKey: {win: "Ctrl-Alt-Shift-Down", mac: "Ctrl-Alt-Shift-Down"},
    scrollIntoView: "cursor",
    readOnly: true
}, {
    name: "selectMoreBefore",
    exec: function(editor) { editor.selectMore(-1); },
    bindKey: {win: "Ctrl-Alt-Left", mac: "Ctrl-Alt-Left"},
    scrollIntoView: "cursor",
    readOnly: true
}, {
    name: "selectMoreAfter",
    exec: function(editor) { editor.selectMore(1); },
    bindKey: {win: "Ctrl-Alt-Right", mac: "Ctrl-Alt-Right"},
    scrollIntoView: "cursor",
    readOnly: true
}, {
    name: "selectNextBefore",
    exec: function(editor) { editor.selectMore(-1, true); },
    bindKey: {win: "Ctrl-Alt-Shift-Left", mac: "Ctrl-Alt-Shift-Left"},
    scrollIntoView: "cursor",
    readOnly: true
}, {
    name: "selectNextAfter",
    exec: function(editor) { editor.selectMore(1, true); },
    bindKey: {win: "Ctrl-Alt-Shift-Right", mac: "Ctrl-Alt-Shift-Right"},
    scrollIntoView: "cursor",
    readOnly: true
}, {
    name: "splitIntoLines",
    exec: function(editor) { editor.multiSelect.splitIntoLines(); },
    bindKey: {win: "Ctrl-Alt-L", mac: "Ctrl-Alt-L"},
    readOnly: true
}, {
    name: "alignCursors",
    exec: function(editor) { editor.alignCursors(); },
    bindKey: {win: "Ctrl-Alt-A", mac: "Ctrl-Alt-A"},
    scrollIntoView: "cursor"
}, {
    name: "findAll",
    exec: function(editor) { editor.findAll(); },
    bindKey: {win: "Ctrl-Alt-K", mac: "Ctrl-Alt-G"},
    scrollIntoView: "cursor",
    readOnly: true
}];
exports.multiSelectCommands = [{
    name: "singleSelection",
    bindKey: "esc",
    exec: function(editor) { editor.exitMultiSelectMode(); },
    scrollIntoView: "cursor",
    readOnly: true,
    isAvailable: function(editor) {return editor && editor.inMultiSelectMode;}
}];

var HashHandler = acequire("../keyboard/hash_handler").HashHandler;
exports.keyboardHandler = new HashHandler(exports.multiSelectCommands);

});

ace.define("ace/multi_select",["require","exports","module","ace/range_list","ace/range","ace/selection","ace/mouse/multi_select_handler","ace/lib/event","ace/lib/lang","ace/commands/multi_select_commands","ace/search","ace/edit_session","ace/editor","ace/config"], function(acequire, exports, module) {

var RangeList = acequire("./range_list").RangeList;
var Range = acequire("./range").Range;
var Selection = acequire("./selection").Selection;
var onMouseDown = acequire("./mouse/multi_select_handler").onMouseDown;
var event = acequire("./lib/event");
var lang = acequire("./lib/lang");
var commands = acequire("./commands/multi_select_commands");
exports.commands = commands.defaultCommands.concat(commands.multiSelectCommands);
var Search = acequire("./search").Search;
var search = new Search();

function find(session, needle, dir) {
    search.$options.wrap = true;
    search.$options.needle = needle;
    search.$options.backwards = dir == -1;
    return search.find(session);
}
var EditSession = acequire("./edit_session").EditSession;
(function() {
    this.getSelectionMarkers = function() {
        return this.$selectionMarkers;
    };
}).call(EditSession.prototype);
(function() {
    this.ranges = null;
    this.rangeList = null;
    this.addRange = function(range, $blockChangeEvents) {
        if (!range)
            return;

        if (!this.inMultiSelectMode && this.rangeCount === 0) {
            var oldRange = this.toOrientedRange();
            this.rangeList.add(oldRange);
            this.rangeList.add(range);
            if (this.rangeList.ranges.length != 2) {
                this.rangeList.removeAll();
                return $blockChangeEvents || this.fromOrientedRange(range);
            }
            this.rangeList.removeAll();
            this.rangeList.add(oldRange);
            this.$onAddRange(oldRange);
        }

        if (!range.cursor)
            range.cursor = range.end;

        var removed = this.rangeList.add(range);

        this.$onAddRange(range);

        if (removed.length)
            this.$onRemoveRange(removed);

        if (this.rangeCount > 1 && !this.inMultiSelectMode) {
            this._signal("multiSelect");
            this.inMultiSelectMode = true;
            this.session.$undoSelect = false;
            this.rangeList.attach(this.session);
        }

        return $blockChangeEvents || this.fromOrientedRange(range);
    };

    this.toSingleRange = function(range) {
        range = range || this.ranges[0];
        var removed = this.rangeList.removeAll();
        if (removed.length)
            this.$onRemoveRange(removed);

        range && this.fromOrientedRange(range);
    };
    this.substractPoint = function(pos) {
        var removed = this.rangeList.substractPoint(pos);
        if (removed) {
            this.$onRemoveRange(removed);
            return removed[0];
        }
    };
    this.mergeOverlappingRanges = function() {
        var removed = this.rangeList.merge();
        if (removed.length)
            this.$onRemoveRange(removed);
        else if(this.ranges[0])
            this.fromOrientedRange(this.ranges[0]);
    };

    this.$onAddRange = function(range) {
        this.rangeCount = this.rangeList.ranges.length;
        this.ranges.unshift(range);
        this._signal("addRange", {range: range});
    };

    this.$onRemoveRange = function(removed) {
        this.rangeCount = this.rangeList.ranges.length;
        if (this.rangeCount == 1 && this.inMultiSelectMode) {
            var lastRange = this.rangeList.ranges.pop();
            removed.push(lastRange);
            this.rangeCount = 0;
        }

        for (var i = removed.length; i--; ) {
            var index = this.ranges.indexOf(removed[i]);
            this.ranges.splice(index, 1);
        }

        this._signal("removeRange", {ranges: removed});

        if (this.rangeCount === 0 && this.inMultiSelectMode) {
            this.inMultiSelectMode = false;
            this._signal("singleSelect");
            this.session.$undoSelect = true;
            this.rangeList.detach(this.session);
        }

        lastRange = lastRange || this.ranges[0];
        if (lastRange && !lastRange.isEqual(this.getRange()))
            this.fromOrientedRange(lastRange);
    };
    this.$initRangeList = function() {
        if (this.rangeList)
            return;

        this.rangeList = new RangeList();
        this.ranges = [];
        this.rangeCount = 0;
    };
    this.getAllRanges = function() {
        return this.rangeCount ? this.rangeList.ranges.concat() : [this.getRange()];
    };

    this.splitIntoLines = function () {
        if (this.rangeCount > 1) {
            var ranges = this.rangeList.ranges;
            var lastRange = ranges[ranges.length - 1];
            var range = Range.fromPoints(ranges[0].start, lastRange.end);

            this.toSingleRange();
            this.setSelectionRange(range, lastRange.cursor == lastRange.start);
        } else {
            var range = this.getRange();
            var isBackwards = this.isBackwards();
            var startRow = range.start.row;
            var endRow = range.end.row;
            if (startRow == endRow) {
                if (isBackwards)
                    var start = range.end, end = range.start;
                else
                    var start = range.start, end = range.end;
                
                this.addRange(Range.fromPoints(end, end));
                this.addRange(Range.fromPoints(start, start));
                return;
            }

            var rectSel = [];
            var r = this.getLineRange(startRow, true);
            r.start.column = range.start.column;
            rectSel.push(r);

            for (var i = startRow + 1; i < endRow; i++)
                rectSel.push(this.getLineRange(i, true));

            r = this.getLineRange(endRow, true);
            r.end.column = range.end.column;
            rectSel.push(r);

            rectSel.forEach(this.addRange, this);
        }
    };
    this.toggleBlockSelection = function () {
        if (this.rangeCount > 1) {
            var ranges = this.rangeList.ranges;
            var lastRange = ranges[ranges.length - 1];
            var range = Range.fromPoints(ranges[0].start, lastRange.end);

            this.toSingleRange();
            this.setSelectionRange(range, lastRange.cursor == lastRange.start);
        } else {
            var cursor = this.session.documentToScreenPosition(this.selectionLead);
            var anchor = this.session.documentToScreenPosition(this.selectionAnchor);

            var rectSel = this.rectangularRangeBlock(cursor, anchor);
            rectSel.forEach(this.addRange, this);
        }
    };
    this.rectangularRangeBlock = function(screenCursor, screenAnchor, includeEmptyLines) {
        var rectSel = [];

        var xBackwards = screenCursor.column < screenAnchor.column;
        if (xBackwards) {
            var startColumn = screenCursor.column;
            var endColumn = screenAnchor.column;
            var startOffsetX = screenCursor.offsetX;
            var endOffsetX = screenAnchor.offsetX;
        } else {
            var startColumn = screenAnchor.column;
            var endColumn = screenCursor.column;
            var startOffsetX = screenAnchor.offsetX;
            var endOffsetX = screenCursor.offsetX;
        }

        var yBackwards = screenCursor.row < screenAnchor.row;
        if (yBackwards) {
            var startRow = screenCursor.row;
            var endRow = screenAnchor.row;
        } else {
            var startRow = screenAnchor.row;
            var endRow = screenCursor.row;
        }

        if (startColumn < 0)
            startColumn = 0;
        if (startRow < 0)
            startRow = 0;

        if (startRow == endRow)
            includeEmptyLines = true;

        for (var row = startRow; row <= endRow; row++) {
            var range = Range.fromPoints(
                this.session.screenToDocumentPosition(row, startColumn, startOffsetX),
                this.session.screenToDocumentPosition(row, endColumn, endOffsetX)
            );
            if (range.isEmpty()) {
                if (docEnd && isSamePoint(range.end, docEnd))
                    break;
                var docEnd = range.end;
            }
            range.cursor = xBackwards ? range.start : range.end;
            rectSel.push(range);
        }

        if (yBackwards)
            rectSel.reverse();

        if (!includeEmptyLines) {
            var end = rectSel.length - 1;
            while (rectSel[end].isEmpty() && end > 0)
                end--;
            if (end > 0) {
                var start = 0;
                while (rectSel[start].isEmpty())
                    start++;
            }
            for (var i = end; i >= start; i--) {
                if (rectSel[i].isEmpty())
                    rectSel.splice(i, 1);
            }
        }

        return rectSel;
    };
}).call(Selection.prototype);
var Editor = acequire("./editor").Editor;
(function() {
    this.updateSelectionMarkers = function() {
        this.renderer.updateCursor();
        this.renderer.updateBackMarkers();
    };
    this.addSelectionMarker = function(orientedRange) {
        if (!orientedRange.cursor)
            orientedRange.cursor = orientedRange.end;

        var style = this.getSelectionStyle();
        orientedRange.marker = this.session.addMarker(orientedRange, "ace_selection", style);

        this.session.$selectionMarkers.push(orientedRange);
        this.session.selectionMarkerCount = this.session.$selectionMarkers.length;
        return orientedRange;
    };
    this.removeSelectionMarker = function(range) {
        if (!range.marker)
            return;
        this.session.removeMarker(range.marker);
        var index = this.session.$selectionMarkers.indexOf(range);
        if (index != -1)
            this.session.$selectionMarkers.splice(index, 1);
        this.session.selectionMarkerCount = this.session.$selectionMarkers.length;
    };

    this.removeSelectionMarkers = function(ranges) {
        var markerList = this.session.$selectionMarkers;
        for (var i = ranges.length; i--; ) {
            var range = ranges[i];
            if (!range.marker)
                continue;
            this.session.removeMarker(range.marker);
            var index = markerList.indexOf(range);
            if (index != -1)
                markerList.splice(index, 1);
        }
        this.session.selectionMarkerCount = markerList.length;
    };

    this.$onAddRange = function(e) {
        this.addSelectionMarker(e.range);
        this.renderer.updateCursor();
        this.renderer.updateBackMarkers();
    };

    this.$onRemoveRange = function(e) {
        this.removeSelectionMarkers(e.ranges);
        this.renderer.updateCursor();
        this.renderer.updateBackMarkers();
    };

    this.$onMultiSelect = function(e) {
        if (this.inMultiSelectMode)
            return;
        this.inMultiSelectMode = true;

        this.setStyle("ace_multiselect");
        this.keyBinding.addKeyboardHandler(commands.keyboardHandler);
        this.commands.setDefaultHandler("exec", this.$onMultiSelectExec);

        this.renderer.updateCursor();
        this.renderer.updateBackMarkers();
    };

    this.$onSingleSelect = function(e) {
        if (this.session.multiSelect.inVirtualMode)
            return;
        this.inMultiSelectMode = false;

        this.unsetStyle("ace_multiselect");
        this.keyBinding.removeKeyboardHandler(commands.keyboardHandler);

        this.commands.removeDefaultHandler("exec", this.$onMultiSelectExec);
        this.renderer.updateCursor();
        this.renderer.updateBackMarkers();
        this._emit("changeSelection");
    };

    this.$onMultiSelectExec = function(e) {
        var command = e.command;
        var editor = e.editor;
        if (!editor.multiSelect)
            return;
        if (!command.multiSelectAction) {
            var result = command.exec(editor, e.args || {});
            editor.multiSelect.addRange(editor.multiSelect.toOrientedRange());
            editor.multiSelect.mergeOverlappingRanges();
        } else if (command.multiSelectAction == "forEach") {
            result = editor.forEachSelection(command, e.args);
        } else if (command.multiSelectAction == "forEachLine") {
            result = editor.forEachSelection(command, e.args, true);
        } else if (command.multiSelectAction == "single") {
            editor.exitMultiSelectMode();
            result = command.exec(editor, e.args || {});
        } else {
            result = command.multiSelectAction(editor, e.args || {});
        }
        return result;
    }; 
    this.forEachSelection = function(cmd, args, options) {
        if (this.inVirtualSelectionMode)
            return;
        var keepOrder = options && options.keepOrder;
        var $byLines = options == true || options && options.$byLines;
        var session = this.session;
        var selection = this.selection;
        var rangeList = selection.rangeList;
        var ranges = (keepOrder ? selection : rangeList).ranges;
        var result;
        
        if (!ranges.length)
            return cmd.exec ? cmd.exec(this, args || {}) : cmd(this, args || {});
        
        var reg = selection._eventRegistry;
        selection._eventRegistry = {};

        var tmpSel = new Selection(session);
        this.inVirtualSelectionMode = true;
        for (var i = ranges.length; i--;) {
            if ($byLines) {
                while (i > 0 && ranges[i].start.row == ranges[i - 1].end.row)
                    i--;
            }
            tmpSel.fromOrientedRange(ranges[i]);
            tmpSel.index = i;
            this.selection = session.selection = tmpSel;
            var cmdResult = cmd.exec ? cmd.exec(this, args || {}) : cmd(this, args || {});
            if (!result && cmdResult !== undefined)
                result = cmdResult;
            tmpSel.toOrientedRange(ranges[i]);
        }
        tmpSel.detach();

        this.selection = session.selection = selection;
        this.inVirtualSelectionMode = false;
        selection._eventRegistry = reg;
        selection.mergeOverlappingRanges();
        
        var anim = this.renderer.$scrollAnimation;
        this.onCursorChange();
        this.onSelectionChange();
        if (anim && anim.from == anim.to)
            this.renderer.animateScrolling(anim.from);
        
        return result;
    };
    this.exitMultiSelectMode = function() {
        if (!this.inMultiSelectMode || this.inVirtualSelectionMode)
            return;
        this.multiSelect.toSingleRange();
    };

    this.getSelectedText = function() {
        var text = "";
        if (this.inMultiSelectMode && !this.inVirtualSelectionMode) {
            var ranges = this.multiSelect.rangeList.ranges;
            var buf = [];
            for (var i = 0; i < ranges.length; i++) {
                buf.push(this.session.getTextRange(ranges[i]));
            }
            var nl = this.session.getDocument().getNewLineCharacter();
            text = buf.join(nl);
            if (text.length == (buf.length - 1) * nl.length)
                text = "";
        } else if (!this.selection.isEmpty()) {
            text = this.session.getTextRange(this.getSelectionRange());
        }
        return text;
    };
    
    this.$checkMultiselectChange = function(e, anchor) {
        if (this.inMultiSelectMode && !this.inVirtualSelectionMode) {
            var range = this.multiSelect.ranges[0];
            if (this.multiSelect.isEmpty() && anchor == this.multiSelect.anchor)
                return;
            var pos = anchor == this.multiSelect.anchor
                ? range.cursor == range.start ? range.end : range.start
                : range.cursor;
            if (pos.row != anchor.row 
                || this.session.$clipPositionToDocument(pos.row, pos.column).column != anchor.column)
                this.multiSelect.toSingleRange(this.multiSelect.toOrientedRange());
        }
    };
    this.findAll = function(needle, options, additive) {
        options = options || {};
        options.needle = needle || options.needle;
        if (options.needle == undefined) {
            var range = this.selection.isEmpty()
                ? this.selection.getWordRange()
                : this.selection.getRange();
            options.needle = this.session.getTextRange(range);
        }    
        this.$search.set(options);
        
        var ranges = this.$search.findAll(this.session);
        if (!ranges.length)
            return 0;

        this.$blockScrolling += 1;
        var selection = this.multiSelect;

        if (!additive)
            selection.toSingleRange(ranges[0]);

        for (var i = ranges.length; i--; )
            selection.addRange(ranges[i], true);
        if (range && selection.rangeList.rangeAtPoint(range.start))
            selection.addRange(range, true);
        
        this.$blockScrolling -= 1;

        return ranges.length;
    };
    this.selectMoreLines = function(dir, skip) {
        var range = this.selection.toOrientedRange();
        var isBackwards = range.cursor == range.end;

        var screenLead = this.session.documentToScreenPosition(range.cursor);
        if (this.selection.$desiredColumn)
            screenLead.column = this.selection.$desiredColumn;

        var lead = this.session.screenToDocumentPosition(screenLead.row + dir, screenLead.column);

        if (!range.isEmpty()) {
            var screenAnchor = this.session.documentToScreenPosition(isBackwards ? range.end : range.start);
            var anchor = this.session.screenToDocumentPosition(screenAnchor.row + dir, screenAnchor.column);
        } else {
            var anchor = lead;
        }

        if (isBackwards) {
            var newRange = Range.fromPoints(lead, anchor);
            newRange.cursor = newRange.start;
        } else {
            var newRange = Range.fromPoints(anchor, lead);
            newRange.cursor = newRange.end;
        }

        newRange.desiredColumn = screenLead.column;
        if (!this.selection.inMultiSelectMode) {
            this.selection.addRange(range);
        } else {
            if (skip)
                var toRemove = range.cursor;
        }

        this.selection.addRange(newRange);
        if (toRemove)
            this.selection.substractPoint(toRemove);
    };
    this.transposeSelections = function(dir) {
        var session = this.session;
        var sel = session.multiSelect;
        var all = sel.ranges;

        for (var i = all.length; i--; ) {
            var range = all[i];
            if (range.isEmpty()) {
                var tmp = session.getWordRange(range.start.row, range.start.column);
                range.start.row = tmp.start.row;
                range.start.column = tmp.start.column;
                range.end.row = tmp.end.row;
                range.end.column = tmp.end.column;
            }
        }
        sel.mergeOverlappingRanges();

        var words = [];
        for (var i = all.length; i--; ) {
            var range = all[i];
            words.unshift(session.getTextRange(range));
        }

        if (dir < 0)
            words.unshift(words.pop());
        else
            words.push(words.shift());

        for (var i = all.length; i--; ) {
            var range = all[i];
            var tmp = range.clone();
            session.replace(range, words[i]);
            range.start.row = tmp.start.row;
            range.start.column = tmp.start.column;
        }
    };
    this.selectMore = function(dir, skip, stopAtFirst) {
        var session = this.session;
        var sel = session.multiSelect;

        var range = sel.toOrientedRange();
        if (range.isEmpty()) {
            range = session.getWordRange(range.start.row, range.start.column);
            range.cursor = dir == -1 ? range.start : range.end;
            this.multiSelect.addRange(range);
            if (stopAtFirst)
                return;
        }
        var needle = session.getTextRange(range);

        var newRange = find(session, needle, dir);
        if (newRange) {
            newRange.cursor = dir == -1 ? newRange.start : newRange.end;
            this.$blockScrolling += 1;
            this.session.unfold(newRange);
            this.multiSelect.addRange(newRange);
            this.$blockScrolling -= 1;
            this.renderer.scrollCursorIntoView(null, 0.5);
        }
        if (skip)
            this.multiSelect.substractPoint(range.cursor);
    };
    this.alignCursors = function() {
        var session = this.session;
        var sel = session.multiSelect;
        var ranges = sel.ranges;
        var row = -1;
        var sameRowRanges = ranges.filter(function(r) {
            if (r.cursor.row == row)
                return true;
            row = r.cursor.row;
        });
        
        if (!ranges.length || sameRowRanges.length == ranges.length - 1) {
            var range = this.selection.getRange();
            var fr = range.start.row, lr = range.end.row;
            var guessRange = fr == lr;
            if (guessRange) {
                var max = this.session.getLength();
                var line;
                do {
                    line = this.session.getLine(lr);
                } while (/[=:]/.test(line) && ++lr < max);
                do {
                    line = this.session.getLine(fr);
                } while (/[=:]/.test(line) && --fr > 0);
                
                if (fr < 0) fr = 0;
                if (lr >= max) lr = max - 1;
            }
            var lines = this.session.removeFullLines(fr, lr);
            lines = this.$reAlignText(lines, guessRange);
            this.session.insert({row: fr, column: 0}, lines.join("\n") + "\n");
            if (!guessRange) {
                range.start.column = 0;
                range.end.column = lines[lines.length - 1].length;
            }
            this.selection.setRange(range);
        } else {
            sameRowRanges.forEach(function(r) {
                sel.substractPoint(r.cursor);
            });

            var maxCol = 0;
            var minSpace = Infinity;
            var spaceOffsets = ranges.map(function(r) {
                var p = r.cursor;
                var line = session.getLine(p.row);
                var spaceOffset = line.substr(p.column).search(/\S/g);
                if (spaceOffset == -1)
                    spaceOffset = 0;

                if (p.column > maxCol)
                    maxCol = p.column;
                if (spaceOffset < minSpace)
                    minSpace = spaceOffset;
                return spaceOffset;
            });
            ranges.forEach(function(r, i) {
                var p = r.cursor;
                var l = maxCol - p.column;
                var d = spaceOffsets[i] - minSpace;
                if (l > d)
                    session.insert(p, lang.stringRepeat(" ", l - d));
                else
                    session.remove(new Range(p.row, p.column, p.row, p.column - l + d));

                r.start.column = r.end.column = maxCol;
                r.start.row = r.end.row = p.row;
                r.cursor = r.end;
            });
            sel.fromOrientedRange(ranges[0]);
            this.renderer.updateCursor();
            this.renderer.updateBackMarkers();
        }
    };

    this.$reAlignText = function(lines, forceLeft) {
        var isLeftAligned = true, isRightAligned = true;
        var startW, textW, endW;

        return lines.map(function(line) {
            var m = line.match(/(\s*)(.*?)(\s*)([=:].*)/);
            if (!m)
                return [line];

            if (startW == null) {
                startW = m[1].length;
                textW = m[2].length;
                endW = m[3].length;
                return m;
            }

            if (startW + textW + endW != m[1].length + m[2].length + m[3].length)
                isRightAligned = false;
            if (startW != m[1].length)
                isLeftAligned = false;

            if (startW > m[1].length)
                startW = m[1].length;
            if (textW < m[2].length)
                textW = m[2].length;
            if (endW > m[3].length)
                endW = m[3].length;

            return m;
        }).map(forceLeft ? alignLeft :
            isLeftAligned ? isRightAligned ? alignRight : alignLeft : unAlign);

        function spaces(n) {
            return lang.stringRepeat(" ", n);
        }

        function alignLeft(m) {
            return !m[2] ? m[0] : spaces(startW) + m[2]
                + spaces(textW - m[2].length + endW)
                + m[4].replace(/^([=:])\s+/, "$1 ");
        }
        function alignRight(m) {
            return !m[2] ? m[0] : spaces(startW + textW - m[2].length) + m[2]
                + spaces(endW, " ")
                + m[4].replace(/^([=:])\s+/, "$1 ");
        }
        function unAlign(m) {
            return !m[2] ? m[0] : spaces(startW) + m[2]
                + spaces(endW)
                + m[4].replace(/^([=:])\s+/, "$1 ");
        }
    };
}).call(Editor.prototype);


function isSamePoint(p1, p2) {
    return p1.row == p2.row && p1.column == p2.column;
}
exports.onSessionChange = function(e) {
    var session = e.session;
    if (session && !session.multiSelect) {
        session.$selectionMarkers = [];
        session.selection.$initRangeList();
        session.multiSelect = session.selection;
    }
    this.multiSelect = session && session.multiSelect;

    var oldSession = e.oldSession;
    if (oldSession) {
        oldSession.multiSelect.off("addRange", this.$onAddRange);
        oldSession.multiSelect.off("removeRange", this.$onRemoveRange);
        oldSession.multiSelect.off("multiSelect", this.$onMultiSelect);
        oldSession.multiSelect.off("singleSelect", this.$onSingleSelect);
        oldSession.multiSelect.lead.off("change", this.$checkMultiselectChange);
        oldSession.multiSelect.anchor.off("change", this.$checkMultiselectChange);
    }

    if (session) {
        session.multiSelect.on("addRange", this.$onAddRange);
        session.multiSelect.on("removeRange", this.$onRemoveRange);
        session.multiSelect.on("multiSelect", this.$onMultiSelect);
        session.multiSelect.on("singleSelect", this.$onSingleSelect);
        session.multiSelect.lead.on("change", this.$checkMultiselectChange);
        session.multiSelect.anchor.on("change", this.$checkMultiselectChange);
    }

    if (session && this.inMultiSelectMode != session.selection.inMultiSelectMode) {
        if (session.selection.inMultiSelectMode)
            this.$onMultiSelect();
        else
            this.$onSingleSelect();
    }
};
function MultiSelect(editor) {
    if (editor.$multiselectOnSessionChange)
        return;
    editor.$onAddRange = editor.$onAddRange.bind(editor);
    editor.$onRemoveRange = editor.$onRemoveRange.bind(editor);
    editor.$onMultiSelect = editor.$onMultiSelect.bind(editor);
    editor.$onSingleSelect = editor.$onSingleSelect.bind(editor);
    editor.$multiselectOnSessionChange = exports.onSessionChange.bind(editor);
    editor.$checkMultiselectChange = editor.$checkMultiselectChange.bind(editor);

    editor.$multiselectOnSessionChange(editor);
    editor.on("changeSession", editor.$multiselectOnSessionChange);

    editor.on("mousedown", onMouseDown);
    editor.commands.addCommands(commands.defaultCommands);

    addAltCursorListeners(editor);
}

function addAltCursorListeners(editor){
    var el = editor.textInput.getElement();
    var altCursor = false;
    event.addListener(el, "keydown", function(e) {
        var altDown = e.keyCode == 18 && !(e.ctrlKey || e.shiftKey || e.metaKey);
        if (editor.$blockSelectEnabled && altDown) {
            if (!altCursor) {
                editor.renderer.setMouseCursor("crosshair");
                altCursor = true;
            }
        } else if (altCursor) {
            reset();
        }
    });

    event.addListener(el, "keyup", reset);
    event.addListener(el, "blur", reset);
    function reset(e) {
        if (altCursor) {
            editor.renderer.setMouseCursor("");
            altCursor = false;
        }
    }
}

exports.MultiSelect = MultiSelect;


acequire("./config").defineOptions(Editor.prototype, "editor", {
    enableMultiselect: {
        set: function(val) {
            MultiSelect(this);
            if (val) {
                this.on("changeSession", this.$multiselectOnSessionChange);
                this.on("mousedown", onMouseDown);
            } else {
                this.off("changeSession", this.$multiselectOnSessionChange);
                this.off("mousedown", onMouseDown);
            }
        },
        value: true
    },
    enableBlockSelect: {
        set: function(val) {
            this.$blockSelectEnabled = val;
        },
        value: true
    }
});



});

ace.define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"], function(acequire, exports, module) {
"use strict";

var Range = acequire("../../range").Range;

var FoldMode = exports.FoldMode = function() {};

(function() {

    this.foldingStartMarker = null;
    this.foldingStopMarker = null;
    this.getFoldWidget = function(session, foldStyle, row) {
        var line = session.getLine(row);
        if (this.foldingStartMarker.test(line))
            return "start";
        if (foldStyle == "markbeginend"
                && this.foldingStopMarker
                && this.foldingStopMarker.test(line))
            return "end";
        return "";
    };

    this.getFoldWidgetRange = function(session, foldStyle, row) {
        return null;
    };

    this.indentationBlock = function(session, row, column) {
        var re = /\S/;
        var line = session.getLine(row);
        var startLevel = line.search(re);
        if (startLevel == -1)
            return;

        var startColumn = column || line.length;
        var maxRow = session.getLength();
        var startRow = row;
        var endRow = row;

        while (++row < maxRow) {
            var level = session.getLine(row).search(re);

            if (level == -1)
                continue;

            if (level <= startLevel)
                break;

            endRow = row;
        }

        if (endRow > startRow) {
            var endColumn = session.getLine(endRow).length;
            return new Range(startRow, startColumn, endRow, endColumn);
        }
    };

    this.openingBracketBlock = function(session, bracket, row, column, typeRe) {
        var start = {row: row, column: column + 1};
        var end = session.$findClosingBracket(bracket, start, typeRe);
        if (!end)
            return;

        var fw = session.foldWidgets[end.row];
        if (fw == null)
            fw = session.getFoldWidget(end.row);

        if (fw == "start" && end.row > start.row) {
            end.row --;
            end.column = session.getLine(end.row).length;
        }
        return Range.fromPoints(start, end);
    };

    this.closingBracketBlock = function(session, bracket, row, column, typeRe) {
        var end = {row: row, column: column};
        var start = session.$findOpeningBracket(bracket, end);

        if (!start)
            return;

        start.column++;
        end.column--;

        return  Range.fromPoints(start, end);
    };
}).call(FoldMode.prototype);

});

ace.define("ace/theme/textmate",["require","exports","module","ace/lib/dom"], function(acequire, exports, module) {
"use strict";

exports.isDark = false;
exports.cssClass = "ace-tm";
exports.cssText = ".ace-tm .ace_gutter {\
background: #f0f0f0;\
color: #333;\
}\
.ace-tm .ace_print-margin {\
width: 1px;\
background: #e8e8e8;\
}\
.ace-tm .ace_fold {\
background-color: #6B72E6;\
}\
.ace-tm {\
background-color: #FFFFFF;\
color: black;\
}\
.ace-tm .ace_cursor {\
color: black;\
}\
.ace-tm .ace_invisible {\
color: rgb(191, 191, 191);\
}\
.ace-tm .ace_storage,\
.ace-tm .ace_keyword {\
color: blue;\
}\
.ace-tm .ace_constant {\
color: rgb(197, 6, 11);\
}\
.ace-tm .ace_constant.ace_buildin {\
color: rgb(88, 72, 246);\
}\
.ace-tm .ace_constant.ace_language {\
color: rgb(88, 92, 246);\
}\
.ace-tm .ace_constant.ace_library {\
color: rgb(6, 150, 14);\
}\
.ace-tm .ace_invalid {\
background-color: rgba(255, 0, 0, 0.1);\
color: red;\
}\
.ace-tm .ace_support.ace_function {\
color: rgb(60, 76, 114);\
}\
.ace-tm .ace_support.ace_constant {\
color: rgb(6, 150, 14);\
}\
.ace-tm .ace_support.ace_type,\
.ace-tm .ace_support.ace_class {\
color: rgb(109, 121, 222);\
}\
.ace-tm .ace_keyword.ace_operator {\
color: rgb(104, 118, 135);\
}\
.ace-tm .ace_string {\
color: rgb(3, 106, 7);\
}\
.ace-tm .ace_comment {\
color: rgb(76, 136, 107);\
}\
.ace-tm .ace_comment.ace_doc {\
color: rgb(0, 102, 255);\
}\
.ace-tm .ace_comment.ace_doc.ace_tag {\
color: rgb(128, 159, 191);\
}\
.ace-tm .ace_constant.ace_numeric {\
color: rgb(0, 0, 205);\
}\
.ace-tm .ace_variable {\
color: rgb(49, 132, 149);\
}\
.ace-tm .ace_xml-pe {\
color: rgb(104, 104, 91);\
}\
.ace-tm .ace_entity.ace_name.ace_function {\
color: #0000A2;\
}\
.ace-tm .ace_heading {\
color: rgb(12, 7, 255);\
}\
.ace-tm .ace_list {\
color:rgb(185, 6, 144);\
}\
.ace-tm .ace_meta.ace_tag {\
color:rgb(0, 22, 142);\
}\
.ace-tm .ace_string.ace_regex {\
color: rgb(255, 0, 0)\
}\
.ace-tm .ace_marker-layer .ace_selection {\
background: rgb(181, 213, 255);\
}\
.ace-tm.ace_multiselect .ace_selection.ace_start {\
box-shadow: 0 0 3px 0px white;\
}\
.ace-tm .ace_marker-layer .ace_step {\
background: rgb(252, 255, 0);\
}\
.ace-tm .ace_marker-layer .ace_stack {\
background: rgb(164, 229, 101);\
}\
.ace-tm .ace_marker-layer .ace_bracket {\
margin: -1px 0 0 -1px;\
border: 1px solid rgb(192, 192, 192);\
}\
.ace-tm .ace_marker-layer .ace_active-line {\
background: rgba(0, 0, 0, 0.07);\
}\
.ace-tm .ace_gutter-active-line {\
background-color : #dcdcdc;\
}\
.ace-tm .ace_marker-layer .ace_selected-word {\
background: rgb(250, 250, 255);\
border: 1px solid rgb(200, 200, 250);\
}\
.ace-tm .ace_indent-guide {\
background: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==\") right repeat-y;\
}\
";

var dom = acequire("../lib/dom");
dom.importCssString(exports.cssText, exports.cssClass);
});

ace.define("ace/line_widgets",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/range"], function(acequire, exports, module) {
"use strict";

var oop = acequire("./lib/oop");
var dom = acequire("./lib/dom");
var Range = acequire("./range").Range;


function LineWidgets(session) {
    this.session = session;
    this.session.widgetManager = this;
    this.session.getRowLength = this.getRowLength;
    this.session.$getWidgetScreenLength = this.$getWidgetScreenLength;
    this.updateOnChange = this.updateOnChange.bind(this);
    this.renderWidgets = this.renderWidgets.bind(this);
    this.measureWidgets = this.measureWidgets.bind(this);
    this.session._changedWidgets = [];
    this.$onChangeEditor = this.$onChangeEditor.bind(this);
    
    this.session.on("change", this.updateOnChange);
    this.session.on("changeFold", this.updateOnFold);
    this.session.on("changeEditor", this.$onChangeEditor);
}

(function() {
    this.getRowLength = function(row) {
        var h;
        if (this.lineWidgets)
            h = this.lineWidgets[row] && this.lineWidgets[row].rowCount || 0;
        else 
            h = 0;
        if (!this.$useWrapMode || !this.$wrapData[row]) {
            return 1 + h;
        } else {
            return this.$wrapData[row].length + 1 + h;
        }
    };

    this.$getWidgetScreenLength = function() {
        var screenRows = 0;
        this.lineWidgets.forEach(function(w){
            if (w && w.rowCount && !w.hidden)
                screenRows += w.rowCount;
        });
        return screenRows;
    };    
    
    this.$onChangeEditor = function(e) {
        this.attach(e.editor);
    };
    
    this.attach = function(editor) {
        if (editor  && editor.widgetManager && editor.widgetManager != this)
            editor.widgetManager.detach();

        if (this.editor == editor)
            return;

        this.detach();
        this.editor = editor;
        
        if (editor) {
            editor.widgetManager = this;
            editor.renderer.on("beforeRender", this.measureWidgets);
            editor.renderer.on("afterRender", this.renderWidgets);
        }
    };
    this.detach = function(e) {
        var editor = this.editor;
        if (!editor)
            return;
        
        this.editor = null;
        editor.widgetManager = null;
        
        editor.renderer.off("beforeRender", this.measureWidgets);
        editor.renderer.off("afterRender", this.renderWidgets);
        var lineWidgets = this.session.lineWidgets;
        lineWidgets && lineWidgets.forEach(function(w) {
            if (w && w.el && w.el.parentNode) {
                w._inDocument = false;
                w.el.parentNode.removeChild(w.el);
            }
        });
    };

    this.updateOnFold = function(e, session) {
        var lineWidgets = session.lineWidgets;
        if (!lineWidgets || !e.action)
            return;
        var fold = e.data;
        var start = fold.start.row;
        var end = fold.end.row;
        var hide = e.action == "add";
        for (var i = start + 1; i < end; i++) {
            if (lineWidgets[i])
                lineWidgets[i].hidden = hide;
        }
        if (lineWidgets[end]) {
            if (hide) {
                if (!lineWidgets[start])
                    lineWidgets[start] = lineWidgets[end];
                else
                    lineWidgets[end].hidden = hide;
            } else {
                if (lineWidgets[start] == lineWidgets[end])
                    lineWidgets[start] = undefined;
                lineWidgets[end].hidden = hide;
            }
        }
    };
    
    this.updateOnChange = function(delta) {
        var lineWidgets = this.session.lineWidgets;
        if (!lineWidgets) return;
        
        var startRow = delta.start.row;
        var len = delta.end.row - startRow;

        if (len === 0) {
        } else if (delta.action == 'remove') {
            var removed = lineWidgets.splice(startRow + 1, len);
            removed.forEach(function(w) {
                w && this.removeLineWidget(w);
            }, this);
            this.$updateRows();
        } else {
            var args = new Array(len);
            args.unshift(startRow, 0);
            lineWidgets.splice.apply(lineWidgets, args);
            this.$updateRows();
        }
    };
    
    this.$updateRows = function() {
        var lineWidgets = this.session.lineWidgets;
        if (!lineWidgets) return;
        var noWidgets = true;
        lineWidgets.forEach(function(w, i) {
            if (w) {
                noWidgets = false;
                w.row = i;
                while (w.$oldWidget) {
                    w.$oldWidget.row = i;
                    w = w.$oldWidget;
                }
            }
        });
        if (noWidgets)
            this.session.lineWidgets = null;
    };

    this.addLineWidget = function(w) {
        if (!this.session.lineWidgets)
            this.session.lineWidgets = new Array(this.session.getLength());
        
        var old = this.session.lineWidgets[w.row];
        if (old) {
            w.$oldWidget = old;
            if (old.el && old.el.parentNode) {
                old.el.parentNode.removeChild(old.el);
                old._inDocument = false;
            }
        }
            
        this.session.lineWidgets[w.row] = w;
        
        w.session = this.session;
        
        var renderer = this.editor.renderer;
        if (w.html && !w.el) {
            w.el = dom.createElement("div");
            w.el.innerHTML = w.html;
        }
        if (w.el) {
            dom.addCssClass(w.el, "ace_lineWidgetContainer");
            w.el.style.position = "absolute";
            w.el.style.zIndex = 5;
            renderer.container.appendChild(w.el);
            w._inDocument = true;
        }
        
        if (!w.coverGutter) {
            w.el.style.zIndex = 3;
        }
        if (w.pixelHeight == null) {
            w.pixelHeight = w.el.offsetHeight;
        }
        if (w.rowCount == null) {
            w.rowCount = w.pixelHeight / renderer.layerConfig.lineHeight;
        }
        
        var fold = this.session.getFoldAt(w.row, 0);
        w.$fold = fold;
        if (fold) {
            var lineWidgets = this.session.lineWidgets;
            if (w.row == fold.end.row && !lineWidgets[fold.start.row])
                lineWidgets[fold.start.row] = w;
            else
                w.hidden = true;
        }
            
        this.session._emit("changeFold", {data:{start:{row: w.row}}});
        
        this.$updateRows();
        this.renderWidgets(null, renderer);
        this.onWidgetChanged(w);
        return w;
    };
    
    this.removeLineWidget = function(w) {
        w._inDocument = false;
        w.session = null;
        if (w.el && w.el.parentNode)
            w.el.parentNode.removeChild(w.el);
        if (w.editor && w.editor.destroy) try {
            w.editor.destroy();
        } catch(e){}
        if (this.session.lineWidgets) {
            var w1 = this.session.lineWidgets[w.row];
            if (w1 == w) {
                this.session.lineWidgets[w.row] = w.$oldWidget;
                if (w.$oldWidget)
                    this.onWidgetChanged(w.$oldWidget);
            } else {
                while (w1) {
                    if (w1.$oldWidget == w) {
                        w1.$oldWidget = w.$oldWidget;
                        break;
                    }
                    w1 = w1.$oldWidget;
                }
            }
        }
        this.session._emit("changeFold", {data:{start:{row: w.row}}});
        this.$updateRows();
    };
    
    this.getWidgetsAtRow = function(row) {
        var lineWidgets = this.session.lineWidgets;
        var w = lineWidgets && lineWidgets[row];
        var list = [];
        while (w) {
            list.push(w);
            w = w.$oldWidget;
        }
        return list;
    };
    
    this.onWidgetChanged = function(w) {
        this.session._changedWidgets.push(w);
        this.editor && this.editor.renderer.updateFull();
    };
    
    this.measureWidgets = function(e, renderer) {
        var changedWidgets = this.session._changedWidgets;
        var config = renderer.layerConfig;
        
        if (!changedWidgets || !changedWidgets.length) return;
        var min = Infinity;
        for (var i = 0; i < changedWidgets.length; i++) {
            var w = changedWidgets[i];
            if (!w || !w.el) continue;
            if (w.session != this.session) continue;
            if (!w._inDocument) {
                if (this.session.lineWidgets[w.row] != w)
                    continue;
                w._inDocument = true;
                renderer.container.appendChild(w.el);
            }
            
            w.h = w.el.offsetHeight;
            
            if (!w.fixedWidth) {
                w.w = w.el.offsetWidth;
                w.screenWidth = Math.ceil(w.w / config.characterWidth);
            }
            
            var rowCount = w.h / config.lineHeight;
            if (w.coverLine) {
                rowCount -= this.session.getRowLineCount(w.row);
                if (rowCount < 0)
                    rowCount = 0;
            }
            if (w.rowCount != rowCount) {
                w.rowCount = rowCount;
                if (w.row < min)
                    min = w.row;
            }
        }
        if (min != Infinity) {
            this.session._emit("changeFold", {data:{start:{row: min}}});
            this.session.lineWidgetWidth = null;
        }
        this.session._changedWidgets = [];
    };
    
    this.renderWidgets = function(e, renderer) {
        var config = renderer.layerConfig;
        var lineWidgets = this.session.lineWidgets;
        if (!lineWidgets)
            return;
        var first = Math.min(this.firstRow, config.firstRow);
        var last = Math.max(this.lastRow, config.lastRow, lineWidgets.length);
        
        while (first > 0 && !lineWidgets[first])
            first--;
        
        this.firstRow = config.firstRow;
        this.lastRow = config.lastRow;

        renderer.$cursorLayer.config = config;
        for (var i = first; i <= last; i++) {
            var w = lineWidgets[i];
            if (!w || !w.el) continue;
            if (w.hidden) {
                w.el.style.top = -100 - (w.pixelHeight || 0) + "px";
                continue;
            }
            if (!w._inDocument) {
                w._inDocument = true;
                renderer.container.appendChild(w.el);
            }
            var top = renderer.$cursorLayer.getPixelPosition({row: i, column:0}, true).top;
            if (!w.coverLine)
                top += config.lineHeight * this.session.getRowLineCount(w.row);
            w.el.style.top = top - config.offset + "px";
            
            var left = w.coverGutter ? 0 : renderer.gutterWidth;
            if (!w.fixedWidth)
                left -= renderer.scrollLeft;
            w.el.style.left = left + "px";
            
            if (w.fullWidth && w.screenWidth) {
                w.el.style.minWidth = config.width + 2 * config.padding + "px";
            }
            
            if (w.fixedWidth) {
                w.el.style.right = renderer.scrollBar.getWidth() + "px";
            } else {
                w.el.style.right = "";
            }
        }
    };
    
}).call(LineWidgets.prototype);


exports.LineWidgets = LineWidgets;

});

ace.define("ace/ext/error_marker",["require","exports","module","ace/line_widgets","ace/lib/dom","ace/range"], function(acequire, exports, module) {
"use strict";
var LineWidgets = acequire("../line_widgets").LineWidgets;
var dom = acequire("../lib/dom");
var Range = acequire("../range").Range;

function binarySearch(array, needle, comparator) {
    var first = 0;
    var last = array.length - 1;

    while (first <= last) {
        var mid = (first + last) >> 1;
        var c = comparator(needle, array[mid]);
        if (c > 0)
            first = mid + 1;
        else if (c < 0)
            last = mid - 1;
        else
            return mid;
    }
    return -(first + 1);
}

function findAnnotations(session, row, dir) {
    var annotations = session.getAnnotations().sort(Range.comparePoints);
    if (!annotations.length)
        return;
    
    var i = binarySearch(annotations, {row: row, column: -1}, Range.comparePoints);
    if (i < 0)
        i = -i - 1;
    
    if (i >= annotations.length)
        i = dir > 0 ? 0 : annotations.length - 1;
    else if (i === 0 && dir < 0)
        i = annotations.length - 1;
    
    var annotation = annotations[i];
    if (!annotation || !dir)
        return;

    if (annotation.row === row) {
        do {
            annotation = annotations[i += dir];
        } while (annotation && annotation.row === row);
        if (!annotation)
            return annotations.slice();
    }
    
    
    var matched = [];
    row = annotation.row;
    do {
        matched[dir < 0 ? "unshift" : "push"](annotation);
        annotation = annotations[i += dir];
    } while (annotation && annotation.row == row);
    return matched.length && matched;
}

exports.showErrorMarker = function(editor, dir) {
    var session = editor.session;
    if (!session.widgetManager) {
        session.widgetManager = new LineWidgets(session);
        session.widgetManager.attach(editor);
    }
    
    var pos = editor.getCursorPosition();
    var row = pos.row;
    var oldWidget = session.widgetManager.getWidgetsAtRow(row).filter(function(w) {
        return w.type == "errorMarker";
    })[0];
    if (oldWidget) {
        oldWidget.destroy();
    } else {
        row -= dir;
    }
    var annotations = findAnnotations(session, row, dir);
    var gutterAnno;
    if (annotations) {
        var annotation = annotations[0];
        pos.column = (annotation.pos && typeof annotation.column != "number"
            ? annotation.pos.sc
            : annotation.column) || 0;
        pos.row = annotation.row;
        gutterAnno = editor.renderer.$gutterLayer.$annotations[pos.row];
    } else if (oldWidget) {
        return;
    } else {
        gutterAnno = {
            text: ["Looks good!"],
            className: "ace_ok"
        };
    }
    editor.session.unfold(pos.row);
    editor.selection.moveToPosition(pos);
    
    var w = {
        row: pos.row, 
        fixedWidth: true,
        coverGutter: true,
        el: dom.createElement("div"),
        type: "errorMarker"
    };
    var el = w.el.appendChild(dom.createElement("div"));
    var arrow = w.el.appendChild(dom.createElement("div"));
    arrow.className = "error_widget_arrow " + gutterAnno.className;
    
    var left = editor.renderer.$cursorLayer
        .getPixelPosition(pos).left;
    arrow.style.left = left + editor.renderer.gutterWidth - 5 + "px";
    
    w.el.className = "error_widget_wrapper";
    el.className = "error_widget " + gutterAnno.className;
    el.innerHTML = gutterAnno.text.join("<br>");
    
    el.appendChild(dom.createElement("div"));
    
    var kb = function(_, hashId, keyString) {
        if (hashId === 0 && (keyString === "esc" || keyString === "return")) {
            w.destroy();
            return {command: "null"};
        }
    };
    
    w.destroy = function() {
        if (editor.$mouseHandler.isMousePressed)
            return;
        editor.keyBinding.removeKeyboardHandler(kb);
        session.widgetManager.removeLineWidget(w);
        editor.off("changeSelection", w.destroy);
        editor.off("changeSession", w.destroy);
        editor.off("mouseup", w.destroy);
        editor.off("change", w.destroy);
    };
    
    editor.keyBinding.addKeyboardHandler(kb);
    editor.on("changeSelection", w.destroy);
    editor.on("changeSession", w.destroy);
    editor.on("mouseup", w.destroy);
    editor.on("change", w.destroy);
    
    editor.session.widgetManager.addLineWidget(w);
    
    w.el.onmousedown = editor.focus.bind(editor);
    
    editor.renderer.scrollCursorIntoView(null, 0.5, {bottom: w.el.offsetHeight});
};


dom.importCssString("\
    .error_widget_wrapper {\
        background: inherit;\
        color: inherit;\
        border:none\
    }\
    .error_widget {\
        border-top: solid 2px;\
        border-bottom: solid 2px;\
        margin: 5px 0;\
        padding: 10px 40px;\
        white-space: pre-wrap;\
    }\
    .error_widget.ace_error, .error_widget_arrow.ace_error{\
        border-color: #ff5a5a\
    }\
    .error_widget.ace_warning, .error_widget_arrow.ace_warning{\
        border-color: #F1D817\
    }\
    .error_widget.ace_info, .error_widget_arrow.ace_info{\
        border-color: #5a5a5a\
    }\
    .error_widget.ace_ok, .error_widget_arrow.ace_ok{\
        border-color: #5aaa5a\
    }\
    .error_widget_arrow {\
        position: absolute;\
        border: solid 5px;\
        border-top-color: transparent!important;\
        border-right-color: transparent!important;\
        border-left-color: transparent!important;\
        top: -5px;\
    }\
", "");

});

ace.define("ace/ace",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/dom","ace/lib/event","ace/editor","ace/edit_session","ace/undomanager","ace/virtual_renderer","ace/worker/worker_client","ace/keyboard/hash_handler","ace/placeholder","ace/multi_select","ace/mode/folding/fold_mode","ace/theme/textmate","ace/ext/error_marker","ace/config"], function(acequire, exports, module) {
"use strict";

acequire("./lib/fixoldbrowsers");

var dom = acequire("./lib/dom");
var event = acequire("./lib/event");

var Editor = acequire("./editor").Editor;
var EditSession = acequire("./edit_session").EditSession;
var UndoManager = acequire("./undomanager").UndoManager;
var Renderer = acequire("./virtual_renderer").VirtualRenderer;
acequire("./worker/worker_client");
acequire("./keyboard/hash_handler");
acequire("./placeholder");
acequire("./multi_select");
acequire("./mode/folding/fold_mode");
acequire("./theme/textmate");
acequire("./ext/error_marker");

exports.config = acequire("./config");
exports.acequire = acequire;

if (true)
    exports.define = __webpack_require__.amdD;
exports.edit = function(el) {
    if (typeof el == "string") {
        var _id = el;
        el = document.getElementById(_id);
        if (!el)
            throw new Error("ace.edit can't find div #" + _id);
    }

    if (el && el.env && el.env.editor instanceof Editor)
        return el.env.editor;

    var value = "";
    if (el && /input|textarea/i.test(el.tagName)) {
        var oldNode = el;
        value = oldNode.value;
        el = dom.createElement("pre");
        oldNode.parentNode.replaceChild(el, oldNode);
    } else if (el) {
        value = dom.getInnerText(el);
        el.innerHTML = "";
    }

    var doc = exports.createEditSession(value);

    var editor = new Editor(new Renderer(el));
    editor.setSession(doc);

    var env = {
        document: doc,
        editor: editor,
        onResize: editor.resize.bind(editor, null)
    };
    if (oldNode) env.textarea = oldNode;
    event.addListener(window, "resize", env.onResize);
    editor.on("destroy", function() {
        event.removeListener(window, "resize", env.onResize);
        env.editor.container.env = null; // prevent memory leak on old ie
    });
    editor.container.env = editor.env = env;
    return editor;
};
exports.createEditSession = function(text, mode) {
    var doc = new EditSession(text, mode);
    doc.setUndoManager(new UndoManager());
    return doc;
};
exports.EditSession = EditSession;
exports.UndoManager = UndoManager;
exports.version = "1.2.9";
});
            (function() {
                ace.acequire(["ace/ace"], function(a) {
                    if (a) {
                        a.config.init(true);
                        a.define = ace.define;
                    }
                    if (!window.ace)
                        window.ace = a;
                    for (var key in a) if (a.hasOwnProperty(key))
                        window.ace[key] = a[key];
                });
            })();
        
module.exports = window.ace.acequire("ace/ace");

/***/ }),

/***/ 9031:
/***/ (() => {

ace.define("ace/theme/xcode",["require","exports","module","ace/lib/dom"], function(acequire, exports, module) {

exports.isDark = false;
exports.cssClass = "ace-xcode";
exports.cssText = "\
.ace-xcode .ace_gutter {\
background: #e8e8e8;\
color: #333\
}\
.ace-xcode .ace_print-margin {\
width: 1px;\
background: #e8e8e8\
}\
.ace-xcode {\
background-color: #FFFFFF;\
color: #000000\
}\
.ace-xcode .ace_cursor {\
color: #000000\
}\
.ace-xcode .ace_marker-layer .ace_selection {\
background: #B5D5FF\
}\
.ace-xcode.ace_multiselect .ace_selection.ace_start {\
box-shadow: 0 0 3px 0px #FFFFFF;\
}\
.ace-xcode .ace_marker-layer .ace_step {\
background: rgb(198, 219, 174)\
}\
.ace-xcode .ace_marker-layer .ace_bracket {\
margin: -1px 0 0 -1px;\
border: 1px solid #BFBFBF\
}\
.ace-xcode .ace_marker-layer .ace_active-line {\
background: rgba(0, 0, 0, 0.071)\
}\
.ace-xcode .ace_gutter-active-line {\
background-color: rgba(0, 0, 0, 0.071)\
}\
.ace-xcode .ace_marker-layer .ace_selected-word {\
border: 1px solid #B5D5FF\
}\
.ace-xcode .ace_constant.ace_language,\
.ace-xcode .ace_keyword,\
.ace-xcode .ace_meta,\
.ace-xcode .ace_variable.ace_language {\
color: #C800A4\
}\
.ace-xcode .ace_invisible {\
color: #BFBFBF\
}\
.ace-xcode .ace_constant.ace_character,\
.ace-xcode .ace_constant.ace_other {\
color: #275A5E\
}\
.ace-xcode .ace_constant.ace_numeric {\
color: #3A00DC\
}\
.ace-xcode .ace_entity.ace_other.ace_attribute-name,\
.ace-xcode .ace_support.ace_constant,\
.ace-xcode .ace_support.ace_function {\
color: #450084\
}\
.ace-xcode .ace_fold {\
background-color: #C800A4;\
border-color: #000000\
}\
.ace-xcode .ace_entity.ace_name.ace_tag,\
.ace-xcode .ace_support.ace_class,\
.ace-xcode .ace_support.ace_type {\
color: #790EAD\
}\
.ace-xcode .ace_storage {\
color: #C900A4\
}\
.ace-xcode .ace_string {\
color: #DF0002\
}\
.ace-xcode .ace_comment {\
color: #008E00\
}\
.ace-xcode .ace_indent-guide {\
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==) right repeat-y\
}";

var dom = acequire("../lib/dom");
dom.importCssString(exports.cssText, exports.cssClass);
});


/***/ }),

/***/ 9763:
/***/ ((module) => {



function hasKey(obj, keys) {
	var o = obj;
	keys.slice(0, -1).forEach(function (key) {
		o = o[key] || {};
	});

	var key = keys[keys.length - 1];
	return key in o;
}

function isNumber(x) {
	if (typeof x === 'number') { return true; }
	if ((/^0x[0-9a-f]+$/i).test(x)) { return true; }
	return (/^[-+]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/).test(x);
}

function isConstructorOrProto(obj, key) {
	return (key === 'constructor' && typeof obj[key] === 'function') || key === '__proto__';
}

module.exports = function (args, opts) {
	if (!opts) { opts = {}; }

	var flags = {
		bools: {},
		strings: {},
		unknownFn: null,
	};

	if (typeof opts.unknown === 'function') {
		flags.unknownFn = opts.unknown;
	}

	if (typeof opts.boolean === 'boolean' && opts.boolean) {
		flags.allBools = true;
	} else {
		[].concat(opts.boolean).filter(Boolean).forEach(function (key) {
			flags.bools[key] = true;
		});
	}

	var aliases = {};

	function aliasIsBoolean(key) {
		return aliases[key].some(function (x) {
			return flags.bools[x];
		});
	}

	Object.keys(opts.alias || {}).forEach(function (key) {
		aliases[key] = [].concat(opts.alias[key]);
		aliases[key].forEach(function (x) {
			aliases[x] = [key].concat(aliases[key].filter(function (y) {
				return x !== y;
			}));
		});
	});

	[].concat(opts.string).filter(Boolean).forEach(function (key) {
		flags.strings[key] = true;
		if (aliases[key]) {
			[].concat(aliases[key]).forEach(function (k) {
				flags.strings[k] = true;
			});
		}
	});

	var defaults = opts.default || {};

	var argv = { _: [] };

	function argDefined(key, arg) {
		return (flags.allBools && (/^--[^=]+$/).test(arg))
			|| flags.strings[key]
			|| flags.bools[key]
			|| aliases[key];
	}

	function setKey(obj, keys, value) {
		var o = obj;
		for (var i = 0; i < keys.length - 1; i++) {
			var key = keys[i];
			if (isConstructorOrProto(o, key)) { return; }
			if (o[key] === undefined) { o[key] = {}; }
			if (
				o[key] === Object.prototype
				|| o[key] === Number.prototype
				|| o[key] === String.prototype
			) {
				o[key] = {};
			}
			if (o[key] === Array.prototype) { o[key] = []; }
			o = o[key];
		}

		var lastKey = keys[keys.length - 1];
		if (isConstructorOrProto(o, lastKey)) { return; }
		if (
			o === Object.prototype
			|| o === Number.prototype
			|| o === String.prototype
		) {
			o = {};
		}
		if (o === Array.prototype) { o = []; }
		if (o[lastKey] === undefined || flags.bools[lastKey] || typeof o[lastKey] === 'boolean') {
			o[lastKey] = value;
		} else if (Array.isArray(o[lastKey])) {
			o[lastKey].push(value);
		} else {
			o[lastKey] = [o[lastKey], value];
		}
	}

	function setArg(key, val, arg) {
		if (arg && flags.unknownFn && !argDefined(key, arg)) {
			if (flags.unknownFn(arg) === false) { return; }
		}

		var value = !flags.strings[key] && isNumber(val)
			? Number(val)
			: val;
		setKey(argv, key.split('.'), value);

		(aliases[key] || []).forEach(function (x) {
			setKey(argv, x.split('.'), value);
		});
	}

	Object.keys(flags.bools).forEach(function (key) {
		setArg(key, defaults[key] === undefined ? false : defaults[key]);
	});

	var notFlags = [];

	if (args.indexOf('--') !== -1) {
		notFlags = args.slice(args.indexOf('--') + 1);
		args = args.slice(0, args.indexOf('--'));
	}

	for (var i = 0; i < args.length; i++) {
		var arg = args[i];
		var key;
		var next;

		if ((/^--.+=/).test(arg)) {
			// Using [\s\S] instead of . because js doesn't support the
			// 'dotall' regex modifier. See:
			// http://stackoverflow.com/a/1068308/13216
			var m = arg.match(/^--([^=]+)=([\s\S]*)$/);
			key = m[1];
			var value = m[2];
			if (flags.bools[key]) {
				value = value !== 'false';
			}
			setArg(key, value, arg);
		} else if ((/^--no-.+/).test(arg)) {
			key = arg.match(/^--no-(.+)/)[1];
			setArg(key, false, arg);
		} else if ((/^--.+/).test(arg)) {
			key = arg.match(/^--(.+)/)[1];
			next = args[i + 1];
			if (
				next !== undefined
				&& !(/^(-|--)[^-]/).test(next)
				&& !flags.bools[key]
				&& !flags.allBools
				&& (aliases[key] ? !aliasIsBoolean(key) : true)
			) {
				setArg(key, next, arg);
				i += 1;
			} else if ((/^(true|false)$/).test(next)) {
				setArg(key, next === 'true', arg);
				i += 1;
			} else {
				setArg(key, flags.strings[key] ? '' : true, arg);
			}
		} else if ((/^-[^-]+/).test(arg)) {
			var letters = arg.slice(1, -1).split('');

			var broken = false;
			for (var j = 0; j < letters.length; j++) {
				next = arg.slice(j + 2);

				if (next === '-') {
					setArg(letters[j], next, arg);
					continue;
				}

				if ((/[A-Za-z]/).test(letters[j]) && next[0] === '=') {
					setArg(letters[j], next.slice(1), arg);
					broken = true;
					break;
				}

				if (
					(/[A-Za-z]/).test(letters[j])
					&& (/-?\d+(\.\d*)?(e-?\d+)?$/).test(next)
				) {
					setArg(letters[j], next, arg);
					broken = true;
					break;
				}

				if (letters[j + 1] && letters[j + 1].match(/\W/)) {
					setArg(letters[j], arg.slice(j + 2), arg);
					broken = true;
					break;
				} else {
					setArg(letters[j], flags.strings[letters[j]] ? '' : true, arg);
				}
			}

			key = arg.slice(-1)[0];
			if (!broken && key !== '-') {
				if (
					args[i + 1]
					&& !(/^(-|--)[^-]/).test(args[i + 1])
					&& !flags.bools[key]
					&& (aliases[key] ? !aliasIsBoolean(key) : true)
				) {
					setArg(key, args[i + 1], arg);
					i += 1;
				} else if (args[i + 1] && (/^(true|false)$/).test(args[i + 1])) {
					setArg(key, args[i + 1] === 'true', arg);
					i += 1;
				} else {
					setArg(key, flags.strings[key] ? '' : true, arg);
				}
			}
		} else {
			if (!flags.unknownFn || flags.unknownFn(arg) !== false) {
				argv._.push(flags.strings._ || !isNumber(arg) ? arg : Number(arg));
			}
			if (opts.stopEarly) {
				argv._.push.apply(argv._, args.slice(i + 1));
				break;
			}
		}
	}

	Object.keys(defaults).forEach(function (k) {
		if (!hasKey(argv, k.split('.'))) {
			setKey(argv, k.split('.'), defaults[k]);

			(aliases[k] || []).forEach(function (x) {
				setKey(argv, x.split('.'), defaults[k]);
			});
		}
	});

	if (opts['--']) {
		argv['--'] = notFlags.slice();
	} else {
		notFlags.forEach(function (k) {
			argv._.push(k);
		});
	}

	return argv;
};


/***/ }),

/***/ 3611:
/***/ ((module) => {

// 'path' module extracted from Node.js v8.11.1 (only the posix part)
// transplited with Babel

// Copyright Joyent, Inc. and other Node contributors.
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to permit
// persons to whom the Software is furnished to do so, subject to the
// following conditions:
//
// The above copyright notice and this permission notice shall be included
// in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
// USE OR OTHER DEALINGS IN THE SOFTWARE.



function assertPath(path) {
  if (typeof path !== 'string') {
    throw new TypeError('Path must be a string. Received ' + JSON.stringify(path));
  }
}

// Resolves . and .. elements in a path with directory names
function normalizeStringPosix(path, allowAboveRoot) {
  var res = '';
  var lastSegmentLength = 0;
  var lastSlash = -1;
  var dots = 0;
  var code;
  for (var i = 0; i <= path.length; ++i) {
    if (i < path.length)
      code = path.charCodeAt(i);
    else if (code === 47 /*/*/)
      break;
    else
      code = 47 /*/*/;
    if (code === 47 /*/*/) {
      if (lastSlash === i - 1 || dots === 1) {
        // NOOP
      } else if (lastSlash !== i - 1 && dots === 2) {
        if (res.length < 2 || lastSegmentLength !== 2 || res.charCodeAt(res.length - 1) !== 46 /*.*/ || res.charCodeAt(res.length - 2) !== 46 /*.*/) {
          if (res.length > 2) {
            var lastSlashIndex = res.lastIndexOf('/');
            if (lastSlashIndex !== res.length - 1) {
              if (lastSlashIndex === -1) {
                res = '';
                lastSegmentLength = 0;
              } else {
                res = res.slice(0, lastSlashIndex);
                lastSegmentLength = res.length - 1 - res.lastIndexOf('/');
              }
              lastSlash = i;
              dots = 0;
              continue;
            }
          } else if (res.length === 2 || res.length === 1) {
            res = '';
            lastSegmentLength = 0;
            lastSlash = i;
            dots = 0;
            continue;
          }
        }
        if (allowAboveRoot) {
          if (res.length > 0)
            res += '/..';
          else
            res = '..';
          lastSegmentLength = 2;
        }
      } else {
        if (res.length > 0)
          res += '/' + path.slice(lastSlash + 1, i);
        else
          res = path.slice(lastSlash + 1, i);
        lastSegmentLength = i - lastSlash - 1;
      }
      lastSlash = i;
      dots = 0;
    } else if (code === 46 /*.*/ && dots !== -1) {
      ++dots;
    } else {
      dots = -1;
    }
  }
  return res;
}

function _format(sep, pathObject) {
  var dir = pathObject.dir || pathObject.root;
  var base = pathObject.base || (pathObject.name || '') + (pathObject.ext || '');
  if (!dir) {
    return base;
  }
  if (dir === pathObject.root) {
    return dir + base;
  }
  return dir + sep + base;
}

var posix = {
  // path.resolve([from ...], to)
  resolve: function resolve() {
    var resolvedPath = '';
    var resolvedAbsolute = false;
    var cwd;

    for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {
      var path;
      if (i >= 0)
        path = arguments[i];
      else {
        if (cwd === undefined)
          cwd = process.cwd();
        path = cwd;
      }

      assertPath(path);

      // Skip empty entries
      if (path.length === 0) {
        continue;
      }

      resolvedPath = path + '/' + resolvedPath;
      resolvedAbsolute = path.charCodeAt(0) === 47 /*/*/;
    }

    // At this point the path should be resolved to a full absolute path, but
    // handle relative paths to be safe (might happen when process.cwd() fails)

    // Normalize the path
    resolvedPath = normalizeStringPosix(resolvedPath, !resolvedAbsolute);

    if (resolvedAbsolute) {
      if (resolvedPath.length > 0)
        return '/' + resolvedPath;
      else
        return '/';
    } else if (resolvedPath.length > 0) {
      return resolvedPath;
    } else {
      return '.';
    }
  },

  normalize: function normalize(path) {
    assertPath(path);

    if (path.length === 0) return '.';

    var isAbsolute = path.charCodeAt(0) === 47 /*/*/;
    var trailingSeparator = path.charCodeAt(path.length - 1) === 47 /*/*/;

    // Normalize the path
    path = normalizeStringPosix(path, !isAbsolute);

    if (path.length === 0 && !isAbsolute) path = '.';
    if (path.length > 0 && trailingSeparator) path += '/';

    if (isAbsolute) return '/' + path;
    return path;
  },

  isAbsolute: function isAbsolute(path) {
    assertPath(path);
    return path.length > 0 && path.charCodeAt(0) === 47 /*/*/;
  },

  join: function join() {
    if (arguments.length === 0)
      return '.';
    var joined;
    for (var i = 0; i < arguments.length; ++i) {
      var arg = arguments[i];
      assertPath(arg);
      if (arg.length > 0) {
        if (joined === undefined)
          joined = arg;
        else
          joined += '/' + arg;
      }
    }
    if (joined === undefined)
      return '.';
    return posix.normalize(joined);
  },

  relative: function relative(from, to) {
    assertPath(from);
    assertPath(to);

    if (from === to) return '';

    from = posix.resolve(from);
    to = posix.resolve(to);

    if (from === to) return '';

    // Trim any leading backslashes
    var fromStart = 1;
    for (; fromStart < from.length; ++fromStart) {
      if (from.charCodeAt(fromStart) !== 47 /*/*/)
        break;
    }
    var fromEnd = from.length;
    var fromLen = fromEnd - fromStart;

    // Trim any leading backslashes
    var toStart = 1;
    for (; toStart < to.length; ++toStart) {
      if (to.charCodeAt(toStart) !== 47 /*/*/)
        break;
    }
    var toEnd = to.length;
    var toLen = toEnd - toStart;

    // Compare paths to find the longest common path from root
    var length = fromLen < toLen ? fromLen : toLen;
    var lastCommonSep = -1;
    var i = 0;
    for (; i <= length; ++i) {
      if (i === length) {
        if (toLen > length) {
          if (to.charCodeAt(toStart + i) === 47 /*/*/) {
            // We get here if `from` is the exact base path for `to`.
            // For example: from='/foo/bar'; to='/foo/bar/baz'
            return to.slice(toStart + i + 1);
          } else if (i === 0) {
            // We get here if `from` is the root
            // For example: from='/'; to='/foo'
            return to.slice(toStart + i);
          }
        } else if (fromLen > length) {
          if (from.charCodeAt(fromStart + i) === 47 /*/*/) {
            // We get here if `to` is the exact base path for `from`.
            // For example: from='/foo/bar/baz'; to='/foo/bar'
            lastCommonSep = i;
          } else if (i === 0) {
            // We get here if `to` is the root.
            // For example: from='/foo'; to='/'
            lastCommonSep = 0;
          }
        }
        break;
      }
      var fromCode = from.charCodeAt(fromStart + i);
      var toCode = to.charCodeAt(toStart + i);
      if (fromCode !== toCode)
        break;
      else if (fromCode === 47 /*/*/)
        lastCommonSep = i;
    }

    var out = '';
    // Generate the relative path based on the path difference between `to`
    // and `from`
    for (i = fromStart + lastCommonSep + 1; i <= fromEnd; ++i) {
      if (i === fromEnd || from.charCodeAt(i) === 47 /*/*/) {
        if (out.length === 0)
          out += '..';
        else
          out += '/..';
      }
    }

    // Lastly, append the rest of the destination (`to`) path that comes after
    // the common path parts
    if (out.length > 0)
      return out + to.slice(toStart + lastCommonSep);
    else {
      toStart += lastCommonSep;
      if (to.charCodeAt(toStart) === 47 /*/*/)
        ++toStart;
      return to.slice(toStart);
    }
  },

  _makeLong: function _makeLong(path) {
    return path;
  },

  dirname: function dirname(path) {
    assertPath(path);
    if (path.length === 0) return '.';
    var code = path.charCodeAt(0);
    var hasRoot = code === 47 /*/*/;
    var end = -1;
    var matchedSlash = true;
    for (var i = path.length - 1; i >= 1; --i) {
      code = path.charCodeAt(i);
      if (code === 47 /*/*/) {
          if (!matchedSlash) {
            end = i;
            break;
          }
        } else {
        // We saw the first non-path separator
        matchedSlash = false;
      }
    }

    if (end === -1) return hasRoot ? '/' : '.';
    if (hasRoot && end === 1) return '//';
    return path.slice(0, end);
  },

  basename: function basename(path, ext) {
    if (ext !== undefined && typeof ext !== 'string') throw new TypeError('"ext" argument must be a string');
    assertPath(path);

    var start = 0;
    var end = -1;
    var matchedSlash = true;
    var i;

    if (ext !== undefined && ext.length > 0 && ext.length <= path.length) {
      if (ext.length === path.length && ext === path) return '';
      var extIdx = ext.length - 1;
      var firstNonSlashEnd = -1;
      for (i = path.length - 1; i >= 0; --i) {
        var code = path.charCodeAt(i);
        if (code === 47 /*/*/) {
            // If we reached a path separator that was not part of a set of path
            // separators at the end of the string, stop now
            if (!matchedSlash) {
              start = i + 1;
              break;
            }
          } else {
          if (firstNonSlashEnd === -1) {
            // We saw the first non-path separator, remember this index in case
            // we need it if the extension ends up not matching
            matchedSlash = false;
            firstNonSlashEnd = i + 1;
          }
          if (extIdx >= 0) {
            // Try to match the explicit extension
            if (code === ext.charCodeAt(extIdx)) {
              if (--extIdx === -1) {
                // We matched the extension, so mark this as the end of our path
                // component
                end = i;
              }
            } else {
              // Extension does not match, so our result is the entire path
              // component
              extIdx = -1;
              end = firstNonSlashEnd;
            }
          }
        }
      }

      if (start === end) end = firstNonSlashEnd;else if (end === -1) end = path.length;
      return path.slice(start, end);
    } else {
      for (i = path.length - 1; i >= 0; --i) {
        if (path.charCodeAt(i) === 47 /*/*/) {
            // If we reached a path separator that was not part of a set of path
            // separators at the end of the string, stop now
            if (!matchedSlash) {
              start = i + 1;
              break;
            }
          } else if (end === -1) {
          // We saw the first non-path separator, mark this as the end of our
          // path component
          matchedSlash = false;
          end = i + 1;
        }
      }

      if (end === -1) return '';
      return path.slice(start, end);
    }
  },

  extname: function extname(path) {
    assertPath(path);
    var startDot = -1;
    var startPart = 0;
    var end = -1;
    var matchedSlash = true;
    // Track the state of characters (if any) we see before our first dot and
    // after any path separator we find
    var preDotState = 0;
    for (var i = path.length - 1; i >= 0; --i) {
      var code = path.charCodeAt(i);
      if (code === 47 /*/*/) {
          // If we reached a path separator that was not part of a set of path
          // separators at the end of the string, stop now
          if (!matchedSlash) {
            startPart = i + 1;
            break;
          }
          continue;
        }
      if (end === -1) {
        // We saw the first non-path separator, mark this as the end of our
        // extension
        matchedSlash = false;
        end = i + 1;
      }
      if (code === 46 /*.*/) {
          // If this is our first dot, mark it as the start of our extension
          if (startDot === -1)
            startDot = i;
          else if (preDotState !== 1)
            preDotState = 1;
      } else if (startDot !== -1) {
        // We saw a non-dot and non-path separator before our dot, so we should
        // have a good chance at having a non-empty extension
        preDotState = -1;
      }
    }

    if (startDot === -1 || end === -1 ||
        // We saw a non-dot character immediately before the dot
        preDotState === 0 ||
        // The (right-most) trimmed path component is exactly '..'
        preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {
      return '';
    }
    return path.slice(startDot, end);
  },

  format: function format(pathObject) {
    if (pathObject === null || typeof pathObject !== 'object') {
      throw new TypeError('The "pathObject" argument must be of type Object. Received type ' + typeof pathObject);
    }
    return _format('/', pathObject);
  },

  parse: function parse(path) {
    assertPath(path);

    var ret = { root: '', dir: '', base: '', ext: '', name: '' };
    if (path.length === 0) return ret;
    var code = path.charCodeAt(0);
    var isAbsolute = code === 47 /*/*/;
    var start;
    if (isAbsolute) {
      ret.root = '/';
      start = 1;
    } else {
      start = 0;
    }
    var startDot = -1;
    var startPart = 0;
    var end = -1;
    var matchedSlash = true;
    var i = path.length - 1;

    // Track the state of characters (if any) we see before our first dot and
    // after any path separator we find
    var preDotState = 0;

    // Get non-dir info
    for (; i >= start; --i) {
      code = path.charCodeAt(i);
      if (code === 47 /*/*/) {
          // If we reached a path separator that was not part of a set of path
          // separators at the end of the string, stop now
          if (!matchedSlash) {
            startPart = i + 1;
            break;
          }
          continue;
        }
      if (end === -1) {
        // We saw the first non-path separator, mark this as the end of our
        // extension
        matchedSlash = false;
        end = i + 1;
      }
      if (code === 46 /*.*/) {
          // If this is our first dot, mark it as the start of our extension
          if (startDot === -1) startDot = i;else if (preDotState !== 1) preDotState = 1;
        } else if (startDot !== -1) {
        // We saw a non-dot and non-path separator before our dot, so we should
        // have a good chance at having a non-empty extension
        preDotState = -1;
      }
    }

    if (startDot === -1 || end === -1 ||
    // We saw a non-dot character immediately before the dot
    preDotState === 0 ||
    // The (right-most) trimmed path component is exactly '..'
    preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {
      if (end !== -1) {
        if (startPart === 0 && isAbsolute) ret.base = ret.name = path.slice(1, end);else ret.base = ret.name = path.slice(startPart, end);
      }
    } else {
      if (startPart === 0 && isAbsolute) {
        ret.name = path.slice(1, startDot);
        ret.base = path.slice(1, end);
      } else {
        ret.name = path.slice(startPart, startDot);
        ret.base = path.slice(startPart, end);
      }
      ret.ext = path.slice(startDot, end);
    }

    if (startPart > 0) ret.dir = path.slice(0, startPart - 1);else if (isAbsolute) ret.dir = '/';

    return ret;
  },

  sep: '/',
  delimiter: ':',
  win32: null,
  posix: null
};

posix.posix = posix;

module.exports = posix;


/***/ }),

/***/ 9828:
/***/ ((__unused_webpack_module, exports) => {



var has = Object.prototype.hasOwnProperty
  , undef;

/**
 * Decode a URI encoded string.
 *
 * @param {String} input The URI encoded string.
 * @returns {String|Null} The decoded string.
 * @api private
 */
function decode(input) {
  try {
    return decodeURIComponent(input.replace(/\+/g, ' '));
  } catch (e) {
    return null;
  }
}

/**
 * Attempts to encode a given input.
 *
 * @param {String} input The string that needs to be encoded.
 * @returns {String|Null} The encoded string.
 * @api private
 */
function encode(input) {
  try {
    return encodeURIComponent(input);
  } catch (e) {
    return null;
  }
}

/**
 * Simple query string parser.
 *
 * @param {String} query The query string that needs to be parsed.
 * @returns {Object}
 * @api public
 */
function querystring(query) {
  var parser = /([^=?#&]+)=?([^&]*)/g
    , result = {}
    , part;

  while (part = parser.exec(query)) {
    var key = decode(part[1])
      , value = decode(part[2]);

    //
    // Prevent overriding of existing properties. This ensures that build-in
    // methods like `toString` or __proto__ are not overriden by malicious
    // querystrings.
    //
    // In the case if failed decoding, we want to omit the key/value pairs
    // from the result.
    //
    if (key === null || value === null || key in result) continue;
    result[key] = value;
  }

  return result;
}

/**
 * Transform a query string to an object.
 *
 * @param {Object} obj Object that should be transformed.
 * @param {String} prefix Optional prefix.
 * @returns {String}
 * @api public
 */
function querystringify(obj, prefix) {
  prefix = prefix || '';

  var pairs = []
    , value
    , key;

  //
  // Optionally prefix with a '?' if needed
  //
  if ('string' !== typeof prefix) prefix = '?';

  for (key in obj) {
    if (has.call(obj, key)) {
      value = obj[key];

      //
      // Edge cases where we actually want to encode the value to an empty
      // string instead of the stringified value.
      //
      if (!value && (value === null || value === undef || isNaN(value))) {
        value = '';
      }

      key = encode(key);
      value = encode(value);

      //
      // If we failed to encode the strings, we should bail out as we don't
      // want to add invalid strings to the query.
      //
      if (key === null || value === null) continue;
      pairs.push(key +'='+ value);
    }
  }

  return pairs.length ? prefix + pairs.join('&') : '';
}

//
// Expose the module.
//
exports.stringify = querystringify;
exports.parse = querystring;


/***/ }),

/***/ 7315:
/***/ ((module) => {



/**
 * Check if we're required to add a port number.
 *
 * @see https://url.spec.whatwg.org/#default-port
 * @param {Number|String} port Port number we need to check
 * @param {String} protocol Protocol we need to check against.
 * @returns {Boolean} Is it a default port for the given protocol
 * @api private
 */
module.exports = function required(port, protocol) {
  protocol = protocol.split(':')[0];
  port = +port;

  if (!port) return false;

  switch (protocol) {
    case 'http':
    case 'ws':
    return port !== 80;

    case 'https':
    case 'wss':
    return port !== 443;

    case 'ftp':
    return port !== 21;

    case 'gopher':
    return port !== 70;

    case 'file':
    return false;
  }

  return port !== 0;
};


/***/ }),

/***/ 8428:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {



var required = __webpack_require__(7315)
  , qs = __webpack_require__(9828)
  , controlOrWhitespace = /^[\x00-\x20\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/
  , CRHTLF = /[\n\r\t]/g
  , slashes = /^[A-Za-z][A-Za-z0-9+-.]*:\/\//
  , port = /:\d+$/
  , protocolre = /^([a-z][a-z0-9.+-]*:)?(\/\/)?([\\/]+)?([\S\s]*)/i
  , windowsDriveLetter = /^[a-zA-Z]:/;

/**
 * Remove control characters and whitespace from the beginning of a string.
 *
 * @param {Object|String} str String to trim.
 * @returns {String} A new string representing `str` stripped of control
 *     characters and whitespace from its beginning.
 * @public
 */
function trimLeft(str) {
  return (str ? str : '').toString().replace(controlOrWhitespace, '');
}

/**
 * These are the parse rules for the URL parser, it informs the parser
 * about:
 *
 * 0. The char it Needs to parse, if it's a string it should be done using
 *    indexOf, RegExp using exec and NaN means set as current value.
 * 1. The property we should set when parsing this value.
 * 2. Indication if it's backwards or forward parsing, when set as number it's
 *    the value of extra chars that should be split off.
 * 3. Inherit from location if non existing in the parser.
 * 4. `toLowerCase` the resulting value.
 */
var rules = [
  ['#', 'hash'],                        // Extract from the back.
  ['?', 'query'],                       // Extract from the back.
  function sanitize(address, url) {     // Sanitize what is left of the address
    return isSpecial(url.protocol) ? address.replace(/\\/g, '/') : address;
  },
  ['/', 'pathname'],                    // Extract from the back.
  ['@', 'auth', 1],                     // Extract from the front.
  [NaN, 'host', undefined, 1, 1],       // Set left over value.
  [/:(\d*)$/, 'port', undefined, 1],    // RegExp the back.
  [NaN, 'hostname', undefined, 1, 1]    // Set left over.
];

/**
 * These properties should not be copied or inherited from. This is only needed
 * for all non blob URL's as a blob URL does not include a hash, only the
 * origin.
 *
 * @type {Object}
 * @private
 */
var ignore = { hash: 1, query: 1 };

/**
 * The location object differs when your code is loaded through a normal page,
 * Worker or through a worker using a blob. And with the blobble begins the
 * trouble as the location object will contain the URL of the blob, not the
 * location of the page where our code is loaded in. The actual origin is
 * encoded in the `pathname` so we can thankfully generate a good "default"
 * location from it so we can generate proper relative URL's again.
 *
 * @param {Object|String} loc Optional default location object.
 * @returns {Object} lolcation object.
 * @public
 */
function lolcation(loc) {
  var globalVar;

  if (typeof window !== 'undefined') globalVar = window;
  else if (typeof __webpack_require__.g !== 'undefined') globalVar = __webpack_require__.g;
  else if (typeof self !== 'undefined') globalVar = self;
  else globalVar = {};

  var location = globalVar.location || {};
  loc = loc || location;

  var finaldestination = {}
    , type = typeof loc
    , key;

  if ('blob:' === loc.protocol) {
    finaldestination = new Url(unescape(loc.pathname), {});
  } else if ('string' === type) {
    finaldestination = new Url(loc, {});
    for (key in ignore) delete finaldestination[key];
  } else if ('object' === type) {
    for (key in loc) {
      if (key in ignore) continue;
      finaldestination[key] = loc[key];
    }

    if (finaldestination.slashes === undefined) {
      finaldestination.slashes = slashes.test(loc.href);
    }
  }

  return finaldestination;
}

/**
 * Check whether a protocol scheme is special.
 *
 * @param {String} The protocol scheme of the URL
 * @return {Boolean} `true` if the protocol scheme is special, else `false`
 * @private
 */
function isSpecial(scheme) {
  return (
    scheme === 'file:' ||
    scheme === 'ftp:' ||
    scheme === 'http:' ||
    scheme === 'https:' ||
    scheme === 'ws:' ||
    scheme === 'wss:'
  );
}

/**
 * @typedef ProtocolExtract
 * @type Object
 * @property {String} protocol Protocol matched in the URL, in lowercase.
 * @property {Boolean} slashes `true` if protocol is followed by "//", else `false`.
 * @property {String} rest Rest of the URL that is not part of the protocol.
 */

/**
 * Extract protocol information from a URL with/without double slash ("//").
 *
 * @param {String} address URL we want to extract from.
 * @param {Object} location
 * @return {ProtocolExtract} Extracted information.
 * @private
 */
function extractProtocol(address, location) {
  address = trimLeft(address);
  address = address.replace(CRHTLF, '');
  location = location || {};

  var match = protocolre.exec(address);
  var protocol = match[1] ? match[1].toLowerCase() : '';
  var forwardSlashes = !!match[2];
  var otherSlashes = !!match[3];
  var slashesCount = 0;
  var rest;

  if (forwardSlashes) {
    if (otherSlashes) {
      rest = match[2] + match[3] + match[4];
      slashesCount = match[2].length + match[3].length;
    } else {
      rest = match[2] + match[4];
      slashesCount = match[2].length;
    }
  } else {
    if (otherSlashes) {
      rest = match[3] + match[4];
      slashesCount = match[3].length;
    } else {
      rest = match[4]
    }
  }

  if (protocol === 'file:') {
    if (slashesCount >= 2) {
      rest = rest.slice(2);
    }
  } else if (isSpecial(protocol)) {
    rest = match[4];
  } else if (protocol) {
    if (forwardSlashes) {
      rest = rest.slice(2);
    }
  } else if (slashesCount >= 2 && isSpecial(location.protocol)) {
    rest = match[4];
  }

  return {
    protocol: protocol,
    slashes: forwardSlashes || isSpecial(protocol),
    slashesCount: slashesCount,
    rest: rest
  };
}

/**
 * Resolve a relative URL pathname against a base URL pathname.
 *
 * @param {String} relative Pathname of the relative URL.
 * @param {String} base Pathname of the base URL.
 * @return {String} Resolved pathname.
 * @private
 */
function resolve(relative, base) {
  if (relative === '') return base;

  var path = (base || '/').split('/').slice(0, -1).concat(relative.split('/'))
    , i = path.length
    , last = path[i - 1]
    , unshift = false
    , up = 0;

  while (i--) {
    if (path[i] === '.') {
      path.splice(i, 1);
    } else if (path[i] === '..') {
      path.splice(i, 1);
      up++;
    } else if (up) {
      if (i === 0) unshift = true;
      path.splice(i, 1);
      up--;
    }
  }

  if (unshift) path.unshift('');
  if (last === '.' || last === '..') path.push('');

  return path.join('/');
}

/**
 * The actual URL instance. Instead of returning an object we've opted-in to
 * create an actual constructor as it's much more memory efficient and
 * faster and it pleases my OCD.
 *
 * It is worth noting that we should not use `URL` as class name to prevent
 * clashes with the global URL instance that got introduced in browsers.
 *
 * @constructor
 * @param {String} address URL we want to parse.
 * @param {Object|String} [location] Location defaults for relative paths.
 * @param {Boolean|Function} [parser] Parser for the query string.
 * @private
 */
function Url(address, location, parser) {
  address = trimLeft(address);
  address = address.replace(CRHTLF, '');

  if (!(this instanceof Url)) {
    return new Url(address, location, parser);
  }

  var relative, extracted, parse, instruction, index, key
    , instructions = rules.slice()
    , type = typeof location
    , url = this
    , i = 0;

  //
  // The following if statements allows this module two have compatibility with
  // 2 different API:
  //
  // 1. Node.js's `url.parse` api which accepts a URL, boolean as arguments
  //    where the boolean indicates that the query string should also be parsed.
  //
  // 2. The `URL` interface of the browser which accepts a URL, object as
  //    arguments. The supplied object will be used as default values / fall-back
  //    for relative paths.
  //
  if ('object' !== type && 'string' !== type) {
    parser = location;
    location = null;
  }

  if (parser && 'function' !== typeof parser) parser = qs.parse;

  location = lolcation(location);

  //
  // Extract protocol information before running the instructions.
  //
  extracted = extractProtocol(address || '', location);
  relative = !extracted.protocol && !extracted.slashes;
  url.slashes = extracted.slashes || relative && location.slashes;
  url.protocol = extracted.protocol || location.protocol || '';
  address = extracted.rest;

  //
  // When the authority component is absent the URL starts with a path
  // component.
  //
  if (
    extracted.protocol === 'file:' && (
      extracted.slashesCount !== 2 || windowsDriveLetter.test(address)) ||
    (!extracted.slashes &&
      (extracted.protocol ||
        extracted.slashesCount < 2 ||
        !isSpecial(url.protocol)))
  ) {
    instructions[3] = [/(.*)/, 'pathname'];
  }

  for (; i < instructions.length; i++) {
    instruction = instructions[i];

    if (typeof instruction === 'function') {
      address = instruction(address, url);
      continue;
    }

    parse = instruction[0];
    key = instruction[1];

    if (parse !== parse) {
      url[key] = address;
    } else if ('string' === typeof parse) {
      index = parse === '@'
        ? address.lastIndexOf(parse)
        : address.indexOf(parse);

      if (~index) {
        if ('number' === typeof instruction[2]) {
          url[key] = address.slice(0, index);
          address = address.slice(index + instruction[2]);
        } else {
          url[key] = address.slice(index);
          address = address.slice(0, index);
        }
      }
    } else if ((index = parse.exec(address))) {
      url[key] = index[1];
      address = address.slice(0, index.index);
    }

    url[key] = url[key] || (
      relative && instruction[3] ? location[key] || '' : ''
    );

    //
    // Hostname, host and protocol should be lowercased so they can be used to
    // create a proper `origin`.
    //
    if (instruction[4]) url[key] = url[key].toLowerCase();
  }

  //
  // Also parse the supplied query string in to an object. If we're supplied
  // with a custom parser as function use that instead of the default build-in
  // parser.
  //
  if (parser) url.query = parser(url.query);

  //
  // If the URL is relative, resolve the pathname against the base URL.
  //
  if (
      relative
    && location.slashes
    && url.pathname.charAt(0) !== '/'
    && (url.pathname !== '' || location.pathname !== '')
  ) {
    url.pathname = resolve(url.pathname, location.pathname);
  }

  //
  // Default to a / for pathname if none exists. This normalizes the URL
  // to always have a /
  //
  if (url.pathname.charAt(0) !== '/' && isSpecial(url.protocol)) {
    url.pathname = '/' + url.pathname;
  }

  //
  // We should not add port numbers if they are already the default port number
  // for a given protocol. As the host also contains the port number we're going
  // override it with the hostname which contains no port number.
  //
  if (!required(url.port, url.protocol)) {
    url.host = url.hostname;
    url.port = '';
  }

  //
  // Parse down the `auth` for the username and password.
  //
  url.username = url.password = '';

  if (url.auth) {
    index = url.auth.indexOf(':');

    if (~index) {
      url.username = url.auth.slice(0, index);
      url.username = encodeURIComponent(decodeURIComponent(url.username));

      url.password = url.auth.slice(index + 1);
      url.password = encodeURIComponent(decodeURIComponent(url.password))
    } else {
      url.username = encodeURIComponent(decodeURIComponent(url.auth));
    }

    url.auth = url.password ? url.username +':'+ url.password : url.username;
  }

  url.origin = url.protocol !== 'file:' && isSpecial(url.protocol) && url.host
    ? url.protocol +'//'+ url.host
    : 'null';

  //
  // The href is just the compiled result.
  //
  url.href = url.toString();
}

/**
 * This is convenience method for changing properties in the URL instance to
 * insure that they all propagate correctly.
 *
 * @param {String} part          Property we need to adjust.
 * @param {Mixed} value          The newly assigned value.
 * @param {Boolean|Function} fn  When setting the query, it will be the function
 *                               used to parse the query.
 *                               When setting the protocol, double slash will be
 *                               removed from the final url if it is true.
 * @returns {URL} URL instance for chaining.
 * @public
 */
function set(part, value, fn) {
  var url = this;

  switch (part) {
    case 'query':
      if ('string' === typeof value && value.length) {
        value = (fn || qs.parse)(value);
      }

      url[part] = value;
      break;

    case 'port':
      url[part] = value;

      if (!required(value, url.protocol)) {
        url.host = url.hostname;
        url[part] = '';
      } else if (value) {
        url.host = url.hostname +':'+ value;
      }

      break;

    case 'hostname':
      url[part] = value;

      if (url.port) value += ':'+ url.port;
      url.host = value;
      break;

    case 'host':
      url[part] = value;

      if (port.test(value)) {
        value = value.split(':');
        url.port = value.pop();
        url.hostname = value.join(':');
      } else {
        url.hostname = value;
        url.port = '';
      }

      break;

    case 'protocol':
      url.protocol = value.toLowerCase();
      url.slashes = !fn;
      break;

    case 'pathname':
    case 'hash':
      if (value) {
        var char = part === 'pathname' ? '/' : '#';
        url[part] = value.charAt(0) !== char ? char + value : value;
      } else {
        url[part] = value;
      }
      break;

    case 'username':
    case 'password':
      url[part] = encodeURIComponent(value);
      break;

    case 'auth':
      var index = value.indexOf(':');

      if (~index) {
        url.username = value.slice(0, index);
        url.username = encodeURIComponent(decodeURIComponent(url.username));

        url.password = value.slice(index + 1);
        url.password = encodeURIComponent(decodeURIComponent(url.password));
      } else {
        url.username = encodeURIComponent(decodeURIComponent(value));
      }
  }

  for (var i = 0; i < rules.length; i++) {
    var ins = rules[i];

    if (ins[4]) url[ins[1]] = url[ins[1]].toLowerCase();
  }

  url.auth = url.password ? url.username +':'+ url.password : url.username;

  url.origin = url.protocol !== 'file:' && isSpecial(url.protocol) && url.host
    ? url.protocol +'//'+ url.host
    : 'null';

  url.href = url.toString();

  return url;
}

/**
 * Transform the properties back in to a valid and full URL string.
 *
 * @param {Function} stringify Optional query stringify function.
 * @returns {String} Compiled version of the URL.
 * @public
 */
function toString(stringify) {
  if (!stringify || 'function' !== typeof stringify) stringify = qs.stringify;

  var query
    , url = this
    , host = url.host
    , protocol = url.protocol;

  if (protocol && protocol.charAt(protocol.length - 1) !== ':') protocol += ':';

  var result =
    protocol +
    ((url.protocol && url.slashes) || isSpecial(url.protocol) ? '//' : '');

  if (url.username) {
    result += url.username;
    if (url.password) result += ':'+ url.password;
    result += '@';
  } else if (url.password) {
    result += ':'+ url.password;
    result += '@';
  } else if (
    url.protocol !== 'file:' &&
    isSpecial(url.protocol) &&
    !host &&
    url.pathname !== '/'
  ) {
    //
    // Add back the empty userinfo, otherwise the original invalid URL
    // might be transformed into a valid one with `url.pathname` as host.
    //
    result += '@';
  }

  //
  // Trailing colon is removed from `url.host` when it is parsed. If it still
  // ends with a colon, then add back the trailing colon that was removed. This
  // prevents an invalid URL from being transformed into a valid one.
  //
  if (host[host.length - 1] === ':' || (port.test(url.hostname) && !url.port)) {
    host += ':';
  }

  result += host + url.pathname;

  query = 'object' === typeof url.query ? stringify(url.query) : url.query;
  if (query) result += '?' !== query.charAt(0) ? '?'+ query : query;

  if (url.hash) result += url.hash;

  return result;
}

Url.prototype = { set: set, toString: toString };

//
// Expose the URL parser and some additional properties that might be useful for
// others or testing.
//
Url.extractProtocol = extractProtocol;
Url.location = lolcation;
Url.trimLeft = trimLeft;
Url.qs = qs;

module.exports = Url;


/***/ }),

/***/ 379:
/***/ ((module) => {

/*!
 * wavesurfer.js 5.2.0 (2021-08-16)
 * https://wavesurfer-js.org
 * @license BSD-3-Clause
 */
(function webpackUniversalModuleDefinition(root, factory) {
	if(true)
		module.exports = factory();
	else {}
})(self, function() {
return /******/ (() => { // webpackBootstrap
/******/ 	var __webpack_modules__ = ({

/***/ "./src/drawer.canvasentry.js":
/*!***********************************!*\
  !*** ./src/drawer.canvasentry.js ***!
  \***********************************/
/***/ ((module, exports, __nested_webpack_require_747__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

var _style = _interopRequireDefault(__nested_webpack_require_747__(/*! ./util/style */ "./src/util/style.js"));

var _getId = _interopRequireDefault(__nested_webpack_require_747__(/*! ./util/get-id */ "./src/util/get-id.js"));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

/**
 * The `CanvasEntry` class represents an element consisting of a wave `canvas`
 * and an (optional) progress wave `canvas`.
 *
 * The `MultiCanvas` renderer uses one or more `CanvasEntry` instances to
 * render a waveform, depending on the zoom level.
 */
var CanvasEntry = /*#__PURE__*/function () {
  function CanvasEntry() {
    _classCallCheck(this, CanvasEntry);

    /**
     * The wave node
     *
     * @type {HTMLCanvasElement}
     */
    this.wave = null;
    /**
     * The wave canvas rendering context
     *
     * @type {CanvasRenderingContext2D}
     */

    this.waveCtx = null;
    /**
     * The (optional) progress wave node
     *
     * @type {HTMLCanvasElement}
     */

    this.progress = null;
    /**
     * The (optional) progress wave canvas rendering context
     *
     * @type {CanvasRenderingContext2D}
     */

    this.progressCtx = null;
    /**
     * Start of the area the canvas should render, between 0 and 1
     *
     * @type {number}
     */

    this.start = 0;
    /**
     * End of the area the canvas should render, between 0 and 1
     *
     * @type {number}
     */

    this.end = 1;
    /**
     * Unique identifier for this entry
     *
     * @type {string}
     */

    this.id = (0, _getId.default)(typeof this.constructor.name !== 'undefined' ? this.constructor.name.toLowerCase() + '_' : 'canvasentry_');
    /**
     * Canvas 2d context attributes
     *
     * @type {object}
     */

    this.canvasContextAttributes = {};
  }
  /**
   * Store the wave canvas element and create the 2D rendering context
   *
   * @param {HTMLCanvasElement} element The wave `canvas` element.
   */


  _createClass(CanvasEntry, [{
    key: "initWave",
    value: function initWave(element) {
      this.wave = element;
      this.waveCtx = this.wave.getContext('2d', this.canvasContextAttributes);
    }
    /**
     * Store the progress wave canvas element and create the 2D rendering
     * context
     *
     * @param {HTMLCanvasElement} element The progress wave `canvas` element.
     */

  }, {
    key: "initProgress",
    value: function initProgress(element) {
      this.progress = element;
      this.progressCtx = this.progress.getContext('2d', this.canvasContextAttributes);
    }
    /**
     * Update the dimensions
     *
     * @param {number} elementWidth Width of the entry
     * @param {number} totalWidth Total width of the multi canvas renderer
     * @param {number} width The new width of the element
     * @param {number} height The new height of the element
     */

  }, {
    key: "updateDimensions",
    value: function updateDimensions(elementWidth, totalWidth, width, height) {
      // where the canvas starts and ends in the waveform, represented as a
      // decimal between 0 and 1
      this.start = this.wave.offsetLeft / totalWidth || 0;
      this.end = this.start + elementWidth / totalWidth; // set wave canvas dimensions

      this.wave.width = width;
      this.wave.height = height;
      var elementSize = {
        width: elementWidth + 'px'
      };
      (0, _style.default)(this.wave, elementSize);

      if (this.hasProgressCanvas) {
        // set progress canvas dimensions
        this.progress.width = width;
        this.progress.height = height;
        (0, _style.default)(this.progress, elementSize);
      }
    }
    /**
     * Clear the wave and progress rendering contexts
     */

  }, {
    key: "clearWave",
    value: function clearWave() {
      // wave
      this.waveCtx.clearRect(0, 0, this.waveCtx.canvas.width, this.waveCtx.canvas.height); // progress

      if (this.hasProgressCanvas) {
        this.progressCtx.clearRect(0, 0, this.progressCtx.canvas.width, this.progressCtx.canvas.height);
      }
    }
    /**
     * Set the fill styles for wave and progress
     *
     * @param {string} waveColor Fill color for the wave canvas
     * @param {?string} progressColor Fill color for the progress canvas
     */

  }, {
    key: "setFillStyles",
    value: function setFillStyles(waveColor, progressColor) {
      this.waveCtx.fillStyle = waveColor;

      if (this.hasProgressCanvas) {
        this.progressCtx.fillStyle = progressColor;
      }
    }
    /**
     * Set the canvas transforms for wave and progress
     *
     * @param {boolean} vertical Whether to render vertically
     */

  }, {
    key: "applyCanvasTransforms",
    value: function applyCanvasTransforms(vertical) {
      if (vertical) {
        // Reflect the waveform across the line y = -x
        this.waveCtx.setTransform(0, 1, 1, 0, 0, 0);

        if (this.hasProgressCanvas) {
          this.progressCtx.setTransform(0, 1, 1, 0, 0, 0);
        }
      }
    }
    /**
     * Draw a rectangle for wave and progress
     *
     * @param {number} x X start position
     * @param {number} y Y start position
     * @param {number} width Width of the rectangle
     * @param {number} height Height of the rectangle
     * @param {number} radius Radius of the rectangle
     */

  }, {
    key: "fillRects",
    value: function fillRects(x, y, width, height, radius) {
      this.fillRectToContext(this.waveCtx, x, y, width, height, radius);

      if (this.hasProgressCanvas) {
        this.fillRectToContext(this.progressCtx, x, y, width, height, radius);
      }
    }
    /**
     * Draw the actual rectangle on a `canvas` element
     *
     * @param {CanvasRenderingContext2D} ctx Rendering context of target canvas
     * @param {number} x X start position
     * @param {number} y Y start position
     * @param {number} width Width of the rectangle
     * @param {number} height Height of the rectangle
     * @param {number} radius Radius of the rectangle
     */

  }, {
    key: "fillRectToContext",
    value: function fillRectToContext(ctx, x, y, width, height, radius) {
      if (!ctx) {
        return;
      }

      if (radius) {
        this.drawRoundedRect(ctx, x, y, width, height, radius);
      } else {
        ctx.fillRect(x, y, width, height);
      }
    }
    /**
     * Draw a rounded rectangle on Canvas
     *
     * @param {CanvasRenderingContext2D} ctx Canvas context
     * @param {number} x X-position of the rectangle
     * @param {number} y Y-position of the rectangle
     * @param {number} width Width of the rectangle
     * @param {number} height Height of the rectangle
     * @param {number} radius Radius of the rectangle
     *
     * @return {void}
     * @example drawRoundedRect(ctx, 50, 50, 5, 10, 3)
     */

  }, {
    key: "drawRoundedRect",
    value: function drawRoundedRect(ctx, x, y, width, height, radius) {
      if (height === 0) {
        return;
      } // peaks are float values from -1 to 1. Use absolute height values in
      // order to correctly calculate rounded rectangle coordinates


      if (height < 0) {
        height *= -1;
        y -= height;
      }

      ctx.beginPath();
      ctx.moveTo(x + radius, y);
      ctx.lineTo(x + width - radius, y);
      ctx.quadraticCurveTo(x + width, y, x + width, y + radius);
      ctx.lineTo(x + width, y + height - radius);
      ctx.quadraticCurveTo(x + width, y + height, x + width - radius, y + height);
      ctx.lineTo(x + radius, y + height);
      ctx.quadraticCurveTo(x, y + height, x, y + height - radius);
      ctx.lineTo(x, y + radius);
      ctx.quadraticCurveTo(x, y, x + radius, y);
      ctx.closePath();
      ctx.fill();
    }
    /**
     * Render the actual wave and progress lines
     *
     * @param {number[]} peaks Array with peaks data
     * @param {number} absmax Maximum peak value (absolute)
     * @param {number} halfH Half the height of the waveform
     * @param {number} offsetY Offset to the top
     * @param {number} start The x-offset of the beginning of the area that
     * should be rendered
     * @param {number} end The x-offset of the end of the area that
     * should be rendered
     */

  }, {
    key: "drawLines",
    value: function drawLines(peaks, absmax, halfH, offsetY, start, end) {
      this.drawLineToContext(this.waveCtx, peaks, absmax, halfH, offsetY, start, end);

      if (this.hasProgressCanvas) {
        this.drawLineToContext(this.progressCtx, peaks, absmax, halfH, offsetY, start, end);
      }
    }
    /**
     * Render the actual waveform line on a `canvas` element
     *
     * @param {CanvasRenderingContext2D} ctx Rendering context of target canvas
     * @param {number[]} peaks Array with peaks data
     * @param {number} absmax Maximum peak value (absolute)
     * @param {number} halfH Half the height of the waveform
     * @param {number} offsetY Offset to the top
     * @param {number} start The x-offset of the beginning of the area that
     * should be rendered
     * @param {number} end The x-offset of the end of the area that
     * should be rendered
     */

  }, {
    key: "drawLineToContext",
    value: function drawLineToContext(ctx, peaks, absmax, halfH, offsetY, start, end) {
      if (!ctx) {
        return;
      }

      var length = peaks.length / 2;
      var first = Math.round(length * this.start); // use one more peak value to make sure we join peaks at ends -- unless,
      // of course, this is the last canvas

      var last = Math.round(length * this.end) + 1;
      var canvasStart = first;
      var canvasEnd = last;
      var scale = this.wave.width / (canvasEnd - canvasStart - 1); // optimization

      var halfOffset = halfH + offsetY;
      var absmaxHalf = absmax / halfH;
      ctx.beginPath();
      ctx.moveTo((canvasStart - first) * scale, halfOffset);
      ctx.lineTo((canvasStart - first) * scale, halfOffset - Math.round((peaks[2 * canvasStart] || 0) / absmaxHalf));
      var i, peak, h;

      for (i = canvasStart; i < canvasEnd; i++) {
        peak = peaks[2 * i] || 0;
        h = Math.round(peak / absmaxHalf);
        ctx.lineTo((i - first) * scale + this.halfPixel, halfOffset - h);
      } // draw the bottom edge going backwards, to make a single
      // closed hull to fill


      var j = canvasEnd - 1;

      for (j; j >= canvasStart; j--) {
        peak = peaks[2 * j + 1] || 0;
        h = Math.round(peak / absmaxHalf);
        ctx.lineTo((j - first) * scale + this.halfPixel, halfOffset - h);
      }

      ctx.lineTo((canvasStart - first) * scale, halfOffset - Math.round((peaks[2 * canvasStart + 1] || 0) / absmaxHalf));
      ctx.closePath();
      ctx.fill();
    }
    /**
     * Destroys this entry
     */

  }, {
    key: "destroy",
    value: function destroy() {
      this.waveCtx = null;
      this.wave = null;
      this.progressCtx = null;
      this.progress = null;
    }
    /**
     * Return image data of the wave `canvas` element
     *
     * When using a `type` of `'blob'`, this will return a `Promise` that
     * resolves with a `Blob` instance.
     *
     * @param {string} format='image/png' An optional value of a format type.
     * @param {number} quality=0.92 An optional value between 0 and 1.
     * @param {string} type='dataURL' Either 'dataURL' or 'blob'.
     * @return {string|Promise} When using the default `'dataURL'` `type` this
     * returns a data URL. When using the `'blob'` `type` this returns a
     * `Promise` that resolves with a `Blob` instance.
     */

  }, {
    key: "getImage",
    value: function getImage(format, quality, type) {
      var _this = this;

      if (type === 'blob') {
        return new Promise(function (resolve) {
          _this.wave.toBlob(resolve, format, quality);
        });
      } else if (type === 'dataURL') {
        return this.wave.toDataURL(format, quality);
      }
    }
  }]);

  return CanvasEntry;
}();

exports.default = CanvasEntry;
module.exports = exports.default;

/***/ }),

/***/ "./src/drawer.js":
/*!***********************!*\
  !*** ./src/drawer.js ***!
  \***********************/
/***/ ((module, exports, __nested_webpack_require_13686__) => {

"use strict";


function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

var util = _interopRequireWildcard(__nested_webpack_require_13686__(/*! ./util */ "./src/util/index.js"));

function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }

function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }

function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }

function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }

function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }

function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }

function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }

/**
 * Parent class for renderers
 *
 * @extends {Observer}
 */
var Drawer = /*#__PURE__*/function (_util$Observer) {
  _inherits(Drawer, _util$Observer);

  var _super = _createSuper(Drawer);

  /**
   * @param {HTMLElement} container The container node of the wavesurfer instance
   * @param {WavesurferParams} params The wavesurfer initialisation options
   */
  function Drawer(container, params) {
    var _this;

    _classCallCheck(this, Drawer);

    _this = _super.call(this);
    _this.container = util.withOrientation(container, params.vertical);
    /**
     * @type {WavesurferParams}
     */

    _this.params = params;
    /**
     * The width of the renderer
     * @type {number}
     */

    _this.width = 0;
    /**
     * The height of the renderer
     * @type {number}
     */

    _this.height = params.height * _this.params.pixelRatio;
    _this.lastPos = 0;
    /**
     * The `<wave>` element which is added to the container
     * @type {HTMLElement}
     */

    _this.wrapper = null;
    return _this;
  }
  /**
   * Alias of `util.style`
   *
   * @param {HTMLElement} el The element that the styles will be applied to
   * @param {Object} styles The map of propName: attribute, both are used as-is
   * @return {HTMLElement} el
   */


  _createClass(Drawer, [{
    key: "style",
    value: function style(el, styles) {
      return util.style(el, styles);
    }
    /**
     * Create the wrapper `<wave>` element, style it and set up the events for
     * interaction
     */

  }, {
    key: "createWrapper",
    value: function createWrapper() {
      this.wrapper = util.withOrientation(this.container.appendChild(document.createElement('wave')), this.params.vertical);
      this.style(this.wrapper, {
        display: 'block',
        position: 'relative',
        userSelect: 'none',
        webkitUserSelect: 'none',
        height: this.params.height + 'px'
      });

      if (this.params.fillParent || this.params.scrollParent) {
        this.style(this.wrapper, {
          width: '100%',
          overflowX: this.params.hideScrollbar ? 'hidden' : 'auto',
          overflowY: 'hidden'
        });
      }

      this.setupWrapperEvents();
    }
    /**
     * Handle click event
     *
     * @param {Event} e Click event
     * @param {?boolean} noPrevent Set to true to not call `e.preventDefault()`
     * @return {number} Playback position from 0 to 1
     */

  }, {
    key: "handleEvent",
    value: function handleEvent(e, noPrevent) {
      !noPrevent && e.preventDefault();
      var clientX = util.withOrientation(e.targetTouches ? e.targetTouches[0] : e, this.params.vertical).clientX;
      var bbox = this.wrapper.getBoundingClientRect();
      var nominalWidth = this.width;
      var parentWidth = this.getWidth();
      var progressPixels = this.getProgressPixels(bbox, clientX);
      var progress;

      if (!this.params.fillParent && nominalWidth < parentWidth) {
        progress = progressPixels * (this.params.pixelRatio / nominalWidth) || 0;
      } else {
        progress = (progressPixels + this.wrapper.scrollLeft) / this.wrapper.scrollWidth || 0;
      }

      return util.clamp(progress, 0, 1);
    }
  }, {
    key: "getProgressPixels",
    value: function getProgressPixels(wrapperBbox, clientX) {
      if (this.params.rtl) {
        return wrapperBbox.right - clientX;
      } else {
        return clientX - wrapperBbox.left;
      }
    }
  }, {
    key: "setupWrapperEvents",
    value: function setupWrapperEvents() {
      var _this2 = this;

      this.wrapper.addEventListener('click', function (e) {
        var orientedEvent = util.withOrientation(e, _this2.params.vertical);
        var scrollbarHeight = _this2.wrapper.offsetHeight - _this2.wrapper.clientHeight;

        if (scrollbarHeight !== 0) {
          // scrollbar is visible.  Check if click was on it
          var bbox = _this2.wrapper.getBoundingClientRect();

          if (orientedEvent.clientY >= bbox.bottom - scrollbarHeight) {
            // ignore mousedown as it was on the scrollbar
            return;
          }
        }

        if (_this2.params.interact) {
          _this2.fireEvent('click', e, _this2.handleEvent(e));
        }
      });
      this.wrapper.addEventListener('dblclick', function (e) {
        if (_this2.params.interact) {
          _this2.fireEvent('dblclick', e, _this2.handleEvent(e));
        }
      });
      this.wrapper.addEventListener('scroll', function (e) {
        return _this2.fireEvent('scroll', e);
      });
    }
    /**
     * Draw peaks on the canvas
     *
     * @param {number[]|Number.<Array[]>} peaks Can also be an array of arrays
     * for split channel rendering
     * @param {number} length The width of the area that should be drawn
     * @param {number} start The x-offset of the beginning of the area that
     * should be rendered
     * @param {number} end The x-offset of the end of the area that should be
     * rendered
     */

  }, {
    key: "drawPeaks",
    value: function drawPeaks(peaks, length, start, end) {
      if (!this.setWidth(length)) {
        this.clearWave();
      }

      this.params.barWidth ? this.drawBars(peaks, 0, start, end) : this.drawWave(peaks, 0, start, end);
    }
    /**
     * Scroll to the beginning
     */

  }, {
    key: "resetScroll",
    value: function resetScroll() {
      if (this.wrapper !== null) {
        this.wrapper.scrollLeft = 0;
      }
    }
    /**
     * Recenter the view-port at a certain percent of the waveform
     *
     * @param {number} percent Value from 0 to 1 on the waveform
     */

  }, {
    key: "recenter",
    value: function recenter(percent) {
      var position = this.wrapper.scrollWidth * percent;
      this.recenterOnPosition(position, true);
    }
    /**
     * Recenter the view-port on a position, either scroll there immediately or
     * in steps of 5 pixels
     *
     * @param {number} position X-offset in pixels
     * @param {boolean} immediate Set to true to immediately scroll somewhere
     */

  }, {
    key: "recenterOnPosition",
    value: function recenterOnPosition(position, immediate) {
      var scrollLeft = this.wrapper.scrollLeft;
      var half = ~~(this.wrapper.clientWidth / 2);
      var maxScroll = this.wrapper.scrollWidth - this.wrapper.clientWidth;
      var target = position - half;
      var offset = target - scrollLeft;

      if (maxScroll == 0) {
        // no need to continue if scrollbar is not there
        return;
      } // if the cursor is currently visible...


      if (!immediate && -half <= offset && offset < half) {
        // set rate at which waveform is centered
        var rate = this.params.autoCenterRate; // make rate depend on width of view and length of waveform

        rate /= half;
        rate *= maxScroll;
        offset = Math.max(-rate, Math.min(rate, offset));
        target = scrollLeft + offset;
      } // limit target to valid range (0 to maxScroll)


      target = Math.max(0, Math.min(maxScroll, target)); // no use attempting to scroll if we're not moving

      if (target != scrollLeft) {
        this.wrapper.scrollLeft = target;
      }
    }
    /**
     * Get the current scroll position in pixels
     *
     * @return {number} Horizontal scroll position in pixels
     */

  }, {
    key: "getScrollX",
    value: function getScrollX() {
      var x = 0;

      if (this.wrapper) {
        var pixelRatio = this.params.pixelRatio;
        x = Math.round(this.wrapper.scrollLeft * pixelRatio); // In cases of elastic scroll (safari with mouse wheel) you can
        // scroll beyond the limits of the container
        // Calculate and floor the scrollable extent to make sure an out
        // of bounds value is not returned
        // Ticket #1312

        if (this.params.scrollParent) {
          var maxScroll = ~~(this.wrapper.scrollWidth * pixelRatio - this.getWidth());
          x = Math.min(maxScroll, Math.max(0, x));
        }
      }

      return x;
    }
    /**
     * Get the width of the container
     *
     * @return {number} The width of the container
     */

  }, {
    key: "getWidth",
    value: function getWidth() {
      return Math.round(this.container.clientWidth * this.params.pixelRatio);
    }
    /**
     * Set the width of the container
     *
     * @param {number} width The new width of the container
     * @return {boolean} Whether the width of the container was updated or not
     */

  }, {
    key: "setWidth",
    value: function setWidth(width) {
      if (this.width == width) {
        return false;
      }

      this.width = width;

      if (this.params.fillParent || this.params.scrollParent) {
        this.style(this.wrapper, {
          width: ''
        });
      } else {
        var newWidth = ~~(this.width / this.params.pixelRatio) + 'px';
        this.style(this.wrapper, {
          width: newWidth
        });
      }

      this.updateSize();
      return true;
    }
    /**
     * Set the height of the container
     *
     * @param {number} height The new height of the container.
     * @return {boolean} Whether the height of the container was updated or not
     */

  }, {
    key: "setHeight",
    value: function setHeight(height) {
      if (height == this.height) {
        return false;
      }

      this.height = height;
      this.style(this.wrapper, {
        height: ~~(this.height / this.params.pixelRatio) + 'px'
      });
      this.updateSize();
      return true;
    }
    /**
     * Called by wavesurfer when progress should be rendered
     *
     * @param {number} progress From 0 to 1
     */

  }, {
    key: "progress",
    value: function progress(_progress) {
      var minPxDelta = 1 / this.params.pixelRatio;
      var pos = Math.round(_progress * this.width) * minPxDelta;

      if (pos < this.lastPos || pos - this.lastPos >= minPxDelta) {
        this.lastPos = pos;

        if (this.params.scrollParent && this.params.autoCenter) {
          var newPos = ~~(this.wrapper.scrollWidth * _progress);
          this.recenterOnPosition(newPos, this.params.autoCenterImmediately);
        }

        this.updateProgress(pos);
      }
    }
    /**
     * This is called when wavesurfer is destroyed
     */

  }, {
    key: "destroy",
    value: function destroy() {
      this.unAll();

      if (this.wrapper) {
        if (this.wrapper.parentNode == this.container.domElement) {
          this.container.removeChild(this.wrapper.domElement);
        }

        this.wrapper = null;
      }
    }
    /* Renderer-specific methods */

    /**
     * Called after cursor related params have changed.
     *
     * @abstract
     */

  }, {
    key: "updateCursor",
    value: function updateCursor() {}
    /**
     * Called when the size of the container changes so the renderer can adjust
     *
     * @abstract
     */

  }, {
    key: "updateSize",
    value: function updateSize() {}
    /**
     * Draw a waveform with bars
     *
     * @abstract
     * @param {number[]|Number.<Array[]>} peaks Can also be an array of arrays for split channel
     * rendering
     * @param {number} channelIndex The index of the current channel. Normally
     * should be 0
     * @param {number} start The x-offset of the beginning of the area that
     * should be rendered
     * @param {number} end The x-offset of the end of the area that should be
     * rendered
     */

  }, {
    key: "drawBars",
    value: function drawBars(peaks, channelIndex, start, end) {}
    /**
     * Draw a waveform
     *
     * @abstract
     * @param {number[]|Number.<Array[]>} peaks Can also be an array of arrays for split channel
     * rendering
     * @param {number} channelIndex The index of the current channel. Normally
     * should be 0
     * @param {number} start The x-offset of the beginning of the area that
     * should be rendered
     * @param {number} end The x-offset of the end of the area that should be
     * rendered
     */

  }, {
    key: "drawWave",
    value: function drawWave(peaks, channelIndex, start, end) {}
    /**
     * Clear the waveform
     *
     * @abstract
     */

  }, {
    key: "clearWave",
    value: function clearWave() {}
    /**
     * Render the new progress
     *
     * @abstract
     * @param {number} position X-Offset of progress position in pixels
     */

  }, {
    key: "updateProgress",
    value: function updateProgress(position) {}
  }]);

  return Drawer;
}(util.Observer);

exports.default = Drawer;
module.exports = exports.default;

/***/ }),

/***/ "./src/drawer.multicanvas.js":
/*!***********************************!*\
  !*** ./src/drawer.multicanvas.js ***!
  \***********************************/
/***/ ((module, exports, __nested_webpack_require_30815__) => {

"use strict";


function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

var _drawer = _interopRequireDefault(__nested_webpack_require_30815__(/*! ./drawer */ "./src/drawer.js"));

var util = _interopRequireWildcard(__nested_webpack_require_30815__(/*! ./util */ "./src/util/index.js"));

var _drawer2 = _interopRequireDefault(__nested_webpack_require_30815__(/*! ./drawer.canvasentry */ "./src/drawer.canvasentry.js"));

function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }

function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }

function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }

function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }

function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }

function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }

function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }

/**
 * MultiCanvas renderer for wavesurfer. Is currently the default and sole
 * builtin renderer.
 *
 * A `MultiCanvas` consists of one or more `CanvasEntry` instances, depending
 * on the zoom level.
 */
var MultiCanvas = /*#__PURE__*/function (_Drawer) {
  _inherits(MultiCanvas, _Drawer);

  var _super = _createSuper(MultiCanvas);

  /**
   * @param {HTMLElement} container The container node of the wavesurfer instance
   * @param {WavesurferParams} params The wavesurfer initialisation options
   */
  function MultiCanvas(container, params) {
    var _this;

    _classCallCheck(this, MultiCanvas);

    _this = _super.call(this, container, params);
    /**
     * @type {number}
     */

    _this.maxCanvasWidth = params.maxCanvasWidth;
    /**
     * @type {number}
     */

    _this.maxCanvasElementWidth = Math.round(params.maxCanvasWidth / params.pixelRatio);
    /**
     * Whether or not the progress wave is rendered. If the `waveColor`
     * and `progressColor` are the same color it is not.
     *
     * @type {boolean}
     */

    _this.hasProgressCanvas = params.waveColor != params.progressColor;
    /**
     * @type {number}
     */

    _this.halfPixel = 0.5 / params.pixelRatio;
    /**
     * List of `CanvasEntry` instances.
     *
     * @type {Array}
     */

    _this.canvases = [];
    /**
     * @type {HTMLElement}
     */

    _this.progressWave = null;
    /**
     * Class used to generate entries.
     *
     * @type {function}
     */

    _this.EntryClass = _drawer2.default;
    /**
     * Canvas 2d context attributes.
     *
     * @type {object}
     */

    _this.canvasContextAttributes = params.drawingContextAttributes;
    /**
     * Overlap added between entries to prevent vertical white stripes
     * between `canvas` elements.
     *
     * @type {number}
     */

    _this.overlap = 2 * Math.ceil(params.pixelRatio / 2);
    /**
     * The radius of the wave bars. Makes bars rounded
     *
     * @type {number}
     */

    _this.barRadius = params.barRadius || 0;
    /**
     * Whether to render the waveform vertically. Defaults to false.
     *
     * @type {boolean}
     */

    _this.vertical = params.vertical;
    return _this;
  }
  /**
   * Initialize the drawer
   */


  _createClass(MultiCanvas, [{
    key: "init",
    value: function init() {
      this.createWrapper();
      this.createElements();
    }
    /**
     * Create the canvas elements and style them
     *
     */

  }, {
    key: "createElements",
    value: function createElements() {
      this.progressWave = util.withOrientation(this.wrapper.appendChild(document.createElement('wave')), this.params.vertical);
      this.style(this.progressWave, {
        position: 'absolute',
        zIndex: 3,
        left: 0,
        top: 0,
        bottom: 0,
        overflow: 'hidden',
        width: '0',
        display: 'none',
        boxSizing: 'border-box',
        borderRightStyle: 'solid',
        pointerEvents: 'none'
      });
      this.addCanvas();
      this.updateCursor();
    }
    /**
     * Update cursor style
     */

  }, {
    key: "updateCursor",
    value: function updateCursor() {
      this.style(this.progressWave, {
        borderRightWidth: this.params.cursorWidth + 'px',
        borderRightColor: this.params.cursorColor
      });
    }
    /**
     * Adjust to the updated size by adding or removing canvases
     */

  }, {
    key: "updateSize",
    value: function updateSize() {
      var _this2 = this;

      var totalWidth = Math.round(this.width / this.params.pixelRatio);
      var requiredCanvases = Math.ceil(totalWidth / (this.maxCanvasElementWidth + this.overlap)); // add required canvases

      while (this.canvases.length < requiredCanvases) {
        this.addCanvas();
      } // remove older existing canvases, if any


      while (this.canvases.length > requiredCanvases) {
        this.removeCanvas();
      }

      var canvasWidth = this.maxCanvasWidth + this.overlap;
      var lastCanvas = this.canvases.length - 1;
      this.canvases.forEach(function (entry, i) {
        if (i == lastCanvas) {
          canvasWidth = _this2.width - _this2.maxCanvasWidth * lastCanvas;
        }

        _this2.updateDimensions(entry, canvasWidth, _this2.height);

        entry.clearWave();
      });
    }
    /**
     * Add a canvas to the canvas list
     *
     */

  }, {
    key: "addCanvas",
    value: function addCanvas() {
      var entry = new this.EntryClass();
      entry.canvasContextAttributes = this.canvasContextAttributes;
      entry.hasProgressCanvas = this.hasProgressCanvas;
      entry.halfPixel = this.halfPixel;
      var leftOffset = this.maxCanvasElementWidth * this.canvases.length; // wave

      var wave = util.withOrientation(this.wrapper.appendChild(document.createElement('canvas')), this.params.vertical);
      this.style(wave, {
        position: 'absolute',
        zIndex: 2,
        left: leftOffset + 'px',
        top: 0,
        bottom: 0,
        height: '100%',
        pointerEvents: 'none'
      });
      entry.initWave(wave); // progress

      if (this.hasProgressCanvas) {
        var progress = util.withOrientation(this.progressWave.appendChild(document.createElement('canvas')), this.params.vertical);
        this.style(progress, {
          position: 'absolute',
          left: leftOffset + 'px',
          top: 0,
          bottom: 0,
          height: '100%'
        });
        entry.initProgress(progress);
      }

      this.canvases.push(entry);
    }
    /**
     * Pop single canvas from the list
     *
     */

  }, {
    key: "removeCanvas",
    value: function removeCanvas() {
      var lastEntry = this.canvases[this.canvases.length - 1]; // wave

      lastEntry.wave.parentElement.removeChild(lastEntry.wave.domElement); // progress

      if (this.hasProgressCanvas) {
        lastEntry.progress.parentElement.removeChild(lastEntry.progress.domElement);
      } // cleanup


      if (lastEntry) {
        lastEntry.destroy();
        lastEntry = null;
      }

      this.canvases.pop();
    }
    /**
     * Update the dimensions of a canvas element
     *
     * @param {CanvasEntry} entry Target entry
     * @param {number} width The new width of the element
     * @param {number} height The new height of the element
     */

  }, {
    key: "updateDimensions",
    value: function updateDimensions(entry, width, height) {
      var elementWidth = Math.round(width / this.params.pixelRatio);
      var totalWidth = Math.round(this.width / this.params.pixelRatio); // update canvas dimensions

      entry.updateDimensions(elementWidth, totalWidth, width, height); // style element

      this.style(this.progressWave, {
        display: 'block'
      });
    }
    /**
     * Clear the whole multi-canvas
     */

  }, {
    key: "clearWave",
    value: function clearWave() {
      var _this3 = this;

      util.frame(function () {
        _this3.canvases.forEach(function (entry) {
          return entry.clearWave();
        });
      })();
    }
    /**
     * Draw a waveform with bars
     *
     * @param {number[]|Number.<Array[]>} peaks Can also be an array of arrays
     * for split channel rendering
     * @param {number} channelIndex The index of the current channel. Normally
     * should be 0. Must be an integer.
     * @param {number} start The x-offset of the beginning of the area that
     * should be rendered
     * @param {number} end The x-offset of the end of the area that should be
     * rendered
     * @returns {void}
     */

  }, {
    key: "drawBars",
    value: function drawBars(peaks, channelIndex, start, end) {
      var _this4 = this;

      return this.prepareDraw(peaks, channelIndex, start, end, function (_ref) {
        var absmax = _ref.absmax,
            hasMinVals = _ref.hasMinVals,
            height = _ref.height,
            offsetY = _ref.offsetY,
            halfH = _ref.halfH,
            peaks = _ref.peaks,
            ch = _ref.channelIndex;

        // if drawBars was called within ws.empty we don't pass a start and
        // don't want anything to happen
        if (start === undefined) {
          return;
        } // Skip every other value if there are negatives.


        var peakIndexScale = hasMinVals ? 2 : 1;
        var length = peaks.length / peakIndexScale;
        var bar = _this4.params.barWidth * _this4.params.pixelRatio;
        var gap = _this4.params.barGap === null ? Math.max(_this4.params.pixelRatio, ~~(bar / 2)) : Math.max(_this4.params.pixelRatio, _this4.params.barGap * _this4.params.pixelRatio);
        var step = bar + gap;
        var scale = length / _this4.width;
        var first = start;
        var last = end;
        var i = first;

        for (i; i < last; i += step) {
          var peak = peaks[Math.floor(i * scale * peakIndexScale)] || 0;
          var h = Math.round(peak / absmax * halfH);
          /* in case of silences, allow the user to specify that we
           * always draw *something* (normally a 1px high bar) */

          if (h == 0 && _this4.params.barMinHeight) {
            h = _this4.params.barMinHeight;
          }

          _this4.fillRect(i + _this4.halfPixel, halfH - h + offsetY, bar + _this4.halfPixel, h * 2, _this4.barRadius, ch);
        }
      });
    }
    /**
     * Draw a waveform
     *
     * @param {number[]|Number.<Array[]>} peaks Can also be an array of arrays
     * for split channel rendering
     * @param {number} channelIndex The index of the current channel. Normally
     * should be 0
     * @param {number?} start The x-offset of the beginning of the area that
     * should be rendered (If this isn't set only a flat line is rendered)
     * @param {number?} end The x-offset of the end of the area that should be
     * rendered
     * @returns {void}
     */

  }, {
    key: "drawWave",
    value: function drawWave(peaks, channelIndex, start, end) {
      var _this5 = this;

      return this.prepareDraw(peaks, channelIndex, start, end, function (_ref2) {
        var absmax = _ref2.absmax,
            hasMinVals = _ref2.hasMinVals,
            height = _ref2.height,
            offsetY = _ref2.offsetY,
            halfH = _ref2.halfH,
            peaks = _ref2.peaks,
            channelIndex = _ref2.channelIndex;

        if (!hasMinVals) {
          var reflectedPeaks = [];
          var len = peaks.length;
          var i = 0;

          for (i; i < len; i++) {
            reflectedPeaks[2 * i] = peaks[i];
            reflectedPeaks[2 * i + 1] = -peaks[i];
          }

          peaks = reflectedPeaks;
        } // if drawWave was called within ws.empty we don't pass a start and
        // end and simply want a flat line


        if (start !== undefined) {
          _this5.drawLine(peaks, absmax, halfH, offsetY, start, end, channelIndex);
        } // always draw a median line


        _this5.fillRect(0, halfH + offsetY - _this5.halfPixel, _this5.width, _this5.halfPixel, _this5.barRadius, channelIndex);
      });
    }
    /**
     * Tell the canvas entries to render their portion of the waveform
     *
     * @param {number[]} peaks Peaks data
     * @param {number} absmax Maximum peak value (absolute)
     * @param {number} halfH Half the height of the waveform
     * @param {number} offsetY Offset to the top
     * @param {number} start The x-offset of the beginning of the area that
     * should be rendered
     * @param {number} end The x-offset of the end of the area that
     * should be rendered
     * @param {channelIndex} channelIndex The channel index of the line drawn
     */

  }, {
    key: "drawLine",
    value: function drawLine(peaks, absmax, halfH, offsetY, start, end, channelIndex) {
      var _this6 = this;

      var _ref3 = this.params.splitChannelsOptions.channelColors[channelIndex] || {},
          waveColor = _ref3.waveColor,
          progressColor = _ref3.progressColor;

      this.canvases.forEach(function (entry, i) {
        _this6.setFillStyles(entry, waveColor, progressColor);

        _this6.applyCanvasTransforms(entry, _this6.params.vertical);

        entry.drawLines(peaks, absmax, halfH, offsetY, start, end);
      });
    }
    /**
     * Draw a rectangle on the multi-canvas
     *
     * @param {number} x X-position of the rectangle
     * @param {number} y Y-position of the rectangle
     * @param {number} width Width of the rectangle
     * @param {number} height Height of the rectangle
     * @param {number} radius Radius of the rectangle
     * @param {channelIndex} channelIndex The channel index of the bar drawn
     */

  }, {
    key: "fillRect",
    value: function fillRect(x, y, width, height, radius, channelIndex) {
      var startCanvas = Math.floor(x / this.maxCanvasWidth);
      var endCanvas = Math.min(Math.ceil((x + width) / this.maxCanvasWidth) + 1, this.canvases.length);
      var i = startCanvas;

      for (i; i < endCanvas; i++) {
        var entry = this.canvases[i];
        var leftOffset = i * this.maxCanvasWidth;
        var intersection = {
          x1: Math.max(x, i * this.maxCanvasWidth),
          y1: y,
          x2: Math.min(x + width, i * this.maxCanvasWidth + entry.wave.width),
          y2: y + height
        };

        if (intersection.x1 < intersection.x2) {
          var _ref4 = this.params.splitChannelsOptions.channelColors[channelIndex] || {},
              waveColor = _ref4.waveColor,
              progressColor = _ref4.progressColor;

          this.setFillStyles(entry, waveColor, progressColor);
          this.applyCanvasTransforms(entry, this.params.vertical);
          entry.fillRects(intersection.x1 - leftOffset, intersection.y1, intersection.x2 - intersection.x1, intersection.y2 - intersection.y1, radius);
        }
      }
    }
    /**
     * Returns whether to hide the channel from being drawn based on params.
     *
     * @param {number} channelIndex The index of the current channel.
     * @returns {bool} True to hide the channel, false to draw.
     */

  }, {
    key: "hideChannel",
    value: function hideChannel(channelIndex) {
      return this.params.splitChannels && this.params.splitChannelsOptions.filterChannels.includes(channelIndex);
    }
    /**
     * Performs preparation tasks and calculations which are shared by `drawBars`
     * and `drawWave`
     *
     * @param {number[]|Number.<Array[]>} peaks Can also be an array of arrays for
     * split channel rendering
     * @param {number} channelIndex The index of the current channel. Normally
     * should be 0
     * @param {number?} start The x-offset of the beginning of the area that
     * should be rendered. If this isn't set only a flat line is rendered
     * @param {number?} end The x-offset of the end of the area that should be
     * rendered
     * @param {function} fn The render function to call, e.g. `drawWave`
     * @param {number} drawIndex The index of the current channel after filtering.
     * @param {number?} normalizedMax Maximum modulation value across channels for use with relativeNormalization. Ignored when undefined
     * @returns {void}
     */

  }, {
    key: "prepareDraw",
    value: function prepareDraw(peaks, channelIndex, start, end, fn, drawIndex, normalizedMax) {
      var _this7 = this;

      return util.frame(function () {
        // Split channels and call this function with the channelIndex set
        if (peaks[0] instanceof Array) {
          var channels = peaks;

          if (_this7.params.splitChannels) {
            var filteredChannels = channels.filter(function (c, i) {
              return !_this7.hideChannel(i);
            });

            if (!_this7.params.splitChannelsOptions.overlay) {
              _this7.setHeight(Math.max(filteredChannels.length, 1) * _this7.params.height * _this7.params.pixelRatio);
            }

            var overallAbsMax;

            if (_this7.params.splitChannelsOptions && _this7.params.splitChannelsOptions.relativeNormalization) {
              // calculate maximum peak across channels to use for normalization
              overallAbsMax = util.max(channels.map(function (channelPeaks) {
                return util.absMax(channelPeaks);
              }));
            }

            return channels.forEach(function (channelPeaks, i) {
              return _this7.prepareDraw(channelPeaks, i, start, end, fn, filteredChannels.indexOf(channelPeaks), overallAbsMax);
            });
          }

          peaks = channels[0];
        } // Return and do not draw channel peaks if hidden.


        if (_this7.hideChannel(channelIndex)) {
          return;
        } // calculate maximum modulation value, either from the barHeight
        // parameter or if normalize=true from the largest value in the peak
        // set


        var absmax = 1 / _this7.params.barHeight;

        if (_this7.params.normalize) {
          absmax = normalizedMax === undefined ? util.absMax(peaks) : normalizedMax;
        } // Bar wave draws the bottom only as a reflection of the top,
        // so we don't need negative values


        var hasMinVals = [].some.call(peaks, function (val) {
          return val < 0;
        });
        var height = _this7.params.height * _this7.params.pixelRatio;
        var halfH = height / 2;
        var offsetY = height * drawIndex || 0; // Override offsetY if overlay is true

        if (_this7.params.splitChannelsOptions && _this7.params.splitChannelsOptions.overlay) {
          offsetY = 0;
        }

        return fn({
          absmax: absmax,
          hasMinVals: hasMinVals,
          height: height,
          offsetY: offsetY,
          halfH: halfH,
          peaks: peaks,
          channelIndex: channelIndex
        });
      })();
    }
    /**
     * Set the fill styles for a certain entry (wave and progress)
     *
     * @param {CanvasEntry} entry Target entry
     * @param {string} waveColor Wave color to draw this entry
     * @param {string} progressColor Progress color to draw this entry
     */

  }, {
    key: "setFillStyles",
    value: function setFillStyles(entry) {
      var waveColor = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.params.waveColor;
      var progressColor = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.params.progressColor;
      entry.setFillStyles(waveColor, progressColor);
    }
    /**
     * Set the canvas transforms for a certain entry (wave and progress)
     *
     * @param {CanvasEntry} entry Target entry
     * @param {boolean} vertical Whether to render the waveform vertically
     */

  }, {
    key: "applyCanvasTransforms",
    value: function applyCanvasTransforms(entry) {
      var vertical = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
      entry.applyCanvasTransforms(vertical);
    }
    /**
     * Return image data of the multi-canvas
     *
     * When using a `type` of `'blob'`, this will return a `Promise`.
     *
     * @param {string} format='image/png' An optional value of a format type.
     * @param {number} quality=0.92 An optional value between 0 and 1.
     * @param {string} type='dataURL' Either 'dataURL' or 'blob'.
     * @return {string|string[]|Promise} When using the default `'dataURL'`
     * `type` this returns a single data URL or an array of data URLs,
     * one for each canvas. When using the `'blob'` `type` this returns a
     * `Promise` that resolves with an array of `Blob` instances, one for each
     * canvas.
     */

  }, {
    key: "getImage",
    value: function getImage(format, quality, type) {
      if (type === 'blob') {
        return Promise.all(this.canvases.map(function (entry) {
          return entry.getImage(format, quality, type);
        }));
      } else if (type === 'dataURL') {
        var images = this.canvases.map(function (entry) {
          return entry.getImage(format, quality, type);
        });
        return images.length > 1 ? images : images[0];
      }
    }
    /**
     * Render the new progress
     *
     * @param {number} position X-offset of progress position in pixels
     */

  }, {
    key: "updateProgress",
    value: function updateProgress(position) {
      this.style(this.progressWave, {
        width: position + 'px'
      });
    }
  }]);

  return MultiCanvas;
}(_drawer.default);

exports.default = MultiCanvas;
module.exports = exports.default;

/***/ }),

/***/ "./src/mediaelement-webaudio.js":
/*!**************************************!*\
  !*** ./src/mediaelement-webaudio.js ***!
  \**************************************/
/***/ ((module, exports, __nested_webpack_require_56119__) => {

"use strict";


function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

var _mediaelement = _interopRequireDefault(__nested_webpack_require_56119__(/*! ./mediaelement */ "./src/mediaelement.js"));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }

function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }

function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }

function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }

function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }

function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }

function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }

/**
 * MediaElementWebAudio backend: load audio via an HTML5 audio tag, but playback with the WebAudio API.
 * The advantage here is that the html5 <audio> tag can perform range requests on the server and not
 * buffer the entire file in one request, and you still get the filtering and scripting functionality
 * of the webaudio API.
 * Note that in order to use range requests and prevent buffering, you must provide peak data.
 *
 * @since 3.2.0
 */
var MediaElementWebAudio = /*#__PURE__*/function (_MediaElement) {
  _inherits(MediaElementWebAudio, _MediaElement);

  var _super = _createSuper(MediaElementWebAudio);

  /**
   * Construct the backend
   *
   * @param {WavesurferParams} params Wavesurfer parameters
   */
  function MediaElementWebAudio(params) {
    var _this;

    _classCallCheck(this, MediaElementWebAudio);

    _this = _super.call(this, params);
    /** @private */

    _this.params = params;
    /** @private */

    _this.sourceMediaElement = null;
    return _this;
  }
  /**
   * Initialise the backend, called in `wavesurfer.createBackend()`
   */


  _createClass(MediaElementWebAudio, [{
    key: "init",
    value: function init() {
      this.setPlaybackRate(this.params.audioRate);
      this.createTimer();
      this.createVolumeNode();
      this.createScriptNode();
      this.createAnalyserNode();
    }
    /**
     * Private method called by both `load` (from url)
     * and `loadElt` (existing media element) methods.
     *
     * @param {HTMLMediaElement} media HTML5 Audio or Video element
     * @param {number[]|Number.<Array[]>} peaks Array of peak data
     * @param {string} preload HTML 5 preload attribute value
     * @private
     */

  }, {
    key: "_load",
    value: function _load(media, peaks, preload) {
      _get(_getPrototypeOf(MediaElementWebAudio.prototype), "_load", this).call(this, media, peaks, preload);

      this.createMediaElementSource(media);
    }
    /**
     * Create MediaElementSource node
     *
     * @since 3.2.0
     * @param {HTMLMediaElement} mediaElement HTML5 Audio to load
     */

  }, {
    key: "createMediaElementSource",
    value: function createMediaElementSource(mediaElement) {
      this.sourceMediaElement = this.ac.createMediaElementSource(mediaElement);
      this.sourceMediaElement.connect(this.analyser);
    }
  }, {
    key: "play",
    value: function play(start, end) {
      this.resumeAudioContext();
      return _get(_getPrototypeOf(MediaElementWebAudio.prototype), "play", this).call(this, start, end);
    }
    /**
     * This is called when wavesurfer is destroyed
     *
     */

  }, {
    key: "destroy",
    value: function destroy() {
      _get(_getPrototypeOf(MediaElementWebAudio.prototype), "destroy", this).call(this);

      this.destroyWebAudio();
    }
  }]);

  return MediaElementWebAudio;
}(_mediaelement.default);

exports.default = MediaElementWebAudio;
module.exports = exports.default;

/***/ }),

/***/ "./src/mediaelement.js":
/*!*****************************!*\
  !*** ./src/mediaelement.js ***!
  \*****************************/
/***/ ((module, exports, __nested_webpack_require_63244__) => {

"use strict";


function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

var _webaudio = _interopRequireDefault(__nested_webpack_require_63244__(/*! ./webaudio */ "./src/webaudio.js"));

var util = _interopRequireWildcard(__nested_webpack_require_63244__(/*! ./util */ "./src/util/index.js"));

function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }

function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }

function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }

function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }

function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }

function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }

function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }

function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }

/**
 * MediaElement backend
 */
var MediaElement = /*#__PURE__*/function (_WebAudio) {
  _inherits(MediaElement, _WebAudio);

  var _super = _createSuper(MediaElement);

  /**
   * Construct the backend
   *
   * @param {WavesurferParams} params Wavesurfer parameters
   */
  function MediaElement(params) {
    var _this;

    _classCallCheck(this, MediaElement);

    _this = _super.call(this, params);
    /** @private */

    _this.params = params;
    /**
     * Initially a dummy media element to catch errors. Once `_load` is
     * called, this will contain the actual `HTMLMediaElement`.
     * @private
     */

    _this.media = {
      currentTime: 0,
      duration: 0,
      paused: true,
      playbackRate: 1,
      play: function play() {},
      pause: function pause() {},
      volume: 0
    };
    /** @private */

    _this.mediaType = params.mediaType.toLowerCase();
    /** @private */

    _this.elementPosition = params.elementPosition;
    /** @private */

    _this.peaks = null;
    /** @private */

    _this.playbackRate = 1;
    /** @private */

    _this.volume = 1;
    /** @private */

    _this.isMuted = false;
    /** @private */

    _this.buffer = null;
    /** @private */

    _this.onPlayEnd = null;
    /** @private */

    _this.mediaListeners = {};
    return _this;
  }
  /**
   * Initialise the backend, called in `wavesurfer.createBackend()`
   */


  _createClass(MediaElement, [{
    key: "init",
    value: function init() {
      this.setPlaybackRate(this.params.audioRate);
      this.createTimer();
    }
    /**
     * Attach event listeners to media element.
     */

  }, {
    key: "_setupMediaListeners",
    value: function _setupMediaListeners() {
      var _this2 = this;

      this.mediaListeners.error = function () {
        _this2.fireEvent('error', 'Error loading media element');
      };

      this.mediaListeners.canplay = function () {
        _this2.fireEvent('canplay');
      };

      this.mediaListeners.ended = function () {
        _this2.fireEvent('finish');
      }; // listen to and relay play, pause and seeked events to enable
      // playback control from the external media element


      this.mediaListeners.play = function () {
        _this2.fireEvent('play');
      };

      this.mediaListeners.pause = function () {
        _this2.fireEvent('pause');
      };

      this.mediaListeners.seeked = function (event) {
        _this2.fireEvent('seek');
      };

      this.mediaListeners.volumechange = function (event) {
        _this2.isMuted = _this2.media.muted;

        if (_this2.isMuted) {
          _this2.volume = 0;
        } else {
          _this2.volume = _this2.media.volume;
        }

        _this2.fireEvent('volume');
      }; // reset event listeners


      Object.keys(this.mediaListeners).forEach(function (id) {
        _this2.media.removeEventListener(id, _this2.mediaListeners[id]);

        _this2.media.addEventListener(id, _this2.mediaListeners[id]);
      });
    }
    /**
     * Create a timer to provide a more precise `audioprocess` event.
     */

  }, {
    key: "createTimer",
    value: function createTimer() {
      var _this3 = this;

      var onAudioProcess = function onAudioProcess() {
        if (_this3.isPaused()) {
          return;
        }

        _this3.fireEvent('audioprocess', _this3.getCurrentTime()); // Call again in the next frame


        util.frame(onAudioProcess)();
      };

      this.on('play', onAudioProcess); // Update the progress one more time to prevent it from being stuck in
      // case of lower framerates

      this.on('pause', function () {
        _this3.fireEvent('audioprocess', _this3.getCurrentTime());
      });
    }
    /**
     * Create media element with url as its source,
     * and append to container element.
     *
     * @param {string} url Path to media file
     * @param {HTMLElement} container HTML element
     * @param {number[]|Number.<Array[]>} peaks Array of peak data
     * @param {string} preload HTML 5 preload attribute value
     * @throws Will throw an error if the `url` argument is not a valid media
     * element.
     */

  }, {
    key: "load",
    value: function load(url, container, peaks, preload) {
      var media = document.createElement(this.mediaType);
      media.controls = this.params.mediaControls;
      media.autoplay = this.params.autoplay || false;
      media.preload = preload == null ? 'auto' : preload;
      media.src = url;
      media.style.width = '100%';
      var prevMedia = container.querySelector(this.mediaType);

      if (prevMedia) {
        container.removeChild(prevMedia);
      }

      container.appendChild(media);

      this._load(media, peaks, preload);
    }
    /**
     * Load existing media element.
     *
     * @param {HTMLMediaElement} elt HTML5 Audio or Video element
     * @param {number[]|Number.<Array[]>} peaks Array of peak data
     */

  }, {
    key: "loadElt",
    value: function loadElt(elt, peaks) {
      elt.controls = this.params.mediaControls;
      elt.autoplay = this.params.autoplay || false;

      this._load(elt, peaks, elt.preload);
    }
    /**
     * Method called by both `load` (from url)
     * and `loadElt` (existing media element) methods.
     *
     * @param {HTMLMediaElement} media HTML5 Audio or Video element
     * @param {number[]|Number.<Array[]>} peaks Array of peak data
     * @param {string} preload HTML 5 preload attribute value
     * @throws Will throw an error if the `media` argument is not a valid media
     * element.
     * @private
     */

  }, {
    key: "_load",
    value: function _load(media, peaks, preload) {
      // verify media element is valid
      if (!(media instanceof HTMLMediaElement) || typeof media.addEventListener === 'undefined') {
        throw new Error('media parameter is not a valid media element');
      } // load must be called manually on iOS, otherwise peaks won't draw
      // until a user interaction triggers load --> 'ready' event
      //
      // note that we avoid calling media.load here when given peaks and preload == 'none'
      // as this almost always triggers some browser fetch of the media.


      if (typeof media.load == 'function' && !(peaks && preload == 'none')) {
        // Resets the media element and restarts the media resource. Any
        // pending events are discarded. How much media data is fetched is
        // still affected by the preload attribute.
        media.load();
      }

      this.media = media;

      this._setupMediaListeners();

      this.peaks = peaks;
      this.onPlayEnd = null;
      this.buffer = null;
      this.isMuted = media.muted;
      this.setPlaybackRate(this.playbackRate);
      this.setVolume(this.volume);
    }
    /**
     * Used by `wavesurfer.isPlaying()` and `wavesurfer.playPause()`
     *
     * @return {boolean} Media paused or not
     */

  }, {
    key: "isPaused",
    value: function isPaused() {
      return !this.media || this.media.paused;
    }
    /**
     * Used by `wavesurfer.getDuration()`
     *
     * @return {number} Duration
     */

  }, {
    key: "getDuration",
    value: function getDuration() {
      if (this.explicitDuration) {
        return this.explicitDuration;
      }

      var duration = (this.buffer || this.media).duration;

      if (duration >= Infinity) {
        // streaming audio
        duration = this.media.seekable.end(0);
      }

      return duration;
    }
    /**
     * Returns the current time in seconds relative to the audio-clip's
     * duration.
     *
     * @return {number} Current time
     */

  }, {
    key: "getCurrentTime",
    value: function getCurrentTime() {
      return this.media && this.media.currentTime;
    }
    /**
     * Get the position from 0 to 1
     *
     * @return {number} Current position
     */

  }, {
    key: "getPlayedPercents",
    value: function getPlayedPercents() {
      return this.getCurrentTime() / this.getDuration() || 0;
    }
    /**
     * Get the audio source playback rate.
     *
     * @return {number} Playback rate
     */

  }, {
    key: "getPlaybackRate",
    value: function getPlaybackRate() {
      return this.playbackRate || this.media.playbackRate;
    }
    /**
     * Set the audio source playback rate.
     *
     * @param {number} value Playback rate
     */

  }, {
    key: "setPlaybackRate",
    value: function setPlaybackRate(value) {
      this.playbackRate = value || 1;
      this.media.playbackRate = this.playbackRate;
    }
    /**
     * Used by `wavesurfer.seekTo()`
     *
     * @param {number} start Position to start at in seconds
     */

  }, {
    key: "seekTo",
    value: function seekTo(start) {
      if (start != null) {
        this.media.currentTime = start;
      }

      this.clearPlayEnd();
    }
    /**
     * Plays the loaded audio region.
     *
     * @param {number} start Start offset in seconds, relative to the beginning
     * of a clip.
     * @param {number} end When to stop, relative to the beginning of a clip.
     * @emits MediaElement#play
     * @return {Promise} Result
     */

  }, {
    key: "play",
    value: function play(start, end) {
      this.seekTo(start);
      var promise = this.media.play();
      end && this.setPlayEnd(end);
      return promise;
    }
    /**
     * Pauses the loaded audio.
     *
     * @emits MediaElement#pause
     * @return {Promise} Result
     */

  }, {
    key: "pause",
    value: function pause() {
      var promise;

      if (this.media) {
        promise = this.media.pause();
      }

      this.clearPlayEnd();
      return promise;
    }
    /**
     * Set the play end
     *
     * @param {number} end Where to end
     */

  }, {
    key: "setPlayEnd",
    value: function setPlayEnd(end) {
      var _this4 = this;

      this.clearPlayEnd();

      this._onPlayEnd = function (time) {
        if (time >= end) {
          _this4.pause();

          _this4.seekTo(end);
        }
      };

      this.on('audioprocess', this._onPlayEnd);
    }
    /** @private */

  }, {
    key: "clearPlayEnd",
    value: function clearPlayEnd() {
      if (this._onPlayEnd) {
        this.un('audioprocess', this._onPlayEnd);
        this._onPlayEnd = null;
      }
    }
    /**
     * Compute the max and min value of the waveform when broken into
     * <length> subranges.
     *
     * @param {number} length How many subranges to break the waveform into.
     * @param {number} first First sample in the required range.
     * @param {number} last Last sample in the required range.
     * @return {number[]|Number.<Array[]>} Array of 2*<length> peaks or array of
     * arrays of peaks consisting of (max, min) values for each subrange.
     */

  }, {
    key: "getPeaks",
    value: function getPeaks(length, first, last) {
      if (this.buffer) {
        return _get(_getPrototypeOf(MediaElement.prototype), "getPeaks", this).call(this, length, first, last);
      }

      return this.peaks || [];
    }
    /**
     * Set the sink id for the media player
     *
     * @param {string} deviceId String value representing audio device id.
     * @returns {Promise} A Promise that resolves to `undefined` when there
     * are no errors.
     */

  }, {
    key: "setSinkId",
    value: function setSinkId(deviceId) {
      if (deviceId) {
        if (!this.media.setSinkId) {
          return Promise.reject(new Error('setSinkId is not supported in your browser'));
        }

        return this.media.setSinkId(deviceId);
      }

      return Promise.reject(new Error('Invalid deviceId: ' + deviceId));
    }
    /**
     * Get the current volume
     *
     * @return {number} value A floating point value between 0 and 1.
     */

  }, {
    key: "getVolume",
    value: function getVolume() {
      return this.volume;
    }
    /**
     * Set the audio volume
     *
     * @param {number} value A floating point value between 0 and 1.
     */

  }, {
    key: "setVolume",
    value: function setVolume(value) {
      this.volume = value; // no need to change when it's already at that volume

      if (this.media.volume !== this.volume) {
        this.media.volume = this.volume;
      }
    }
    /**
     * Enable or disable muted audio
     *
     * @since 4.0.0
     * @param {boolean} muted Specify `true` to mute audio.
     */

  }, {
    key: "setMute",
    value: function setMute(muted) {
      // This causes a volume change to be emitted too through the
      // volumechange event listener.
      this.isMuted = this.media.muted = muted;
    }
    /**
     * This is called when wavesurfer is destroyed
     *
     */

  }, {
    key: "destroy",
    value: function destroy() {
      var _this5 = this;

      this.pause();
      this.unAll();
      this.destroyed = true; // cleanup media event listeners

      Object.keys(this.mediaListeners).forEach(function (id) {
        if (_this5.media) {
          _this5.media.removeEventListener(id, _this5.mediaListeners[id]);
        }
      });

      if (this.params.removeMediaElementOnDestroy && this.media && this.media.parentNode) {
        this.media.parentNode.removeChild(this.media);
      }

      this.media = null;
    }
  }]);

  return MediaElement;
}(_webaudio.default);

exports.default = MediaElement;
module.exports = exports.default;

/***/ }),

/***/ "./src/peakcache.js":
/*!**************************!*\
  !*** ./src/peakcache.js ***!
  \**************************/
/***/ ((module, exports) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

/**
 * Caches the decoded peaks data to improve rendering speed for large audio
 *
 * Is used if the option parameter `partialRender` is set to `true`
 */
var PeakCache = /*#__PURE__*/function () {
  /**
   * Instantiate cache
   */
  function PeakCache() {
    _classCallCheck(this, PeakCache);

    this.clearPeakCache();
  }
  /**
   * Empty the cache
   */


  _createClass(PeakCache, [{
    key: "clearPeakCache",
    value: function clearPeakCache() {
      /**
       * Flat array with entries that are always in pairs to mark the
       * beginning and end of each subrange.  This is a convenience so we can
       * iterate over the pairs for easy set difference operations.
       * @private
       */
      this.peakCacheRanges = [];
      /**
       * Length of the entire cachable region, used for resetting the cache
       * when this changes (zoom events, for instance).
       * @private
       */

      this.peakCacheLength = -1;
    }
    /**
     * Add a range of peaks to the cache
     *
     * @param {number} length The length of the range
     * @param {number} start The x offset of the start of the range
     * @param {number} end The x offset of the end of the range
     * @return {Number.<Array[]>} Array with arrays of numbers
     */

  }, {
    key: "addRangeToPeakCache",
    value: function addRangeToPeakCache(length, start, end) {
      if (length != this.peakCacheLength) {
        this.clearPeakCache();
        this.peakCacheLength = length;
      } // Return ranges that weren't in the cache before the call.


      var uncachedRanges = [];
      var i = 0; // Skip ranges before the current start.

      while (i < this.peakCacheRanges.length && this.peakCacheRanges[i] < start) {
        i++;
      } // If |i| is even, |start| falls after an existing range.  Otherwise,
      // |start| falls between an existing range, and the uncached region
      // starts when we encounter the next node in |peakCacheRanges| or
      // |end|, whichever comes first.


      if (i % 2 == 0) {
        uncachedRanges.push(start);
      }

      while (i < this.peakCacheRanges.length && this.peakCacheRanges[i] <= end) {
        uncachedRanges.push(this.peakCacheRanges[i]);
        i++;
      } // If |i| is even, |end| is after all existing ranges.


      if (i % 2 == 0) {
        uncachedRanges.push(end);
      } // Filter out the 0-length ranges.


      uncachedRanges = uncachedRanges.filter(function (item, pos, arr) {
        if (pos == 0) {
          return item != arr[pos + 1];
        } else if (pos == arr.length - 1) {
          return item != arr[pos - 1];
        }

        return item != arr[pos - 1] && item != arr[pos + 1];
      }); // Merge the two ranges together, uncachedRanges will either contain
      // wholly new points, or duplicates of points in peakCacheRanges.  If
      // duplicates are detected, remove both and extend the range.

      this.peakCacheRanges = this.peakCacheRanges.concat(uncachedRanges);
      this.peakCacheRanges = this.peakCacheRanges.sort(function (a, b) {
        return a - b;
      }).filter(function (item, pos, arr) {
        if (pos == 0) {
          return item != arr[pos + 1];
        } else if (pos == arr.length - 1) {
          return item != arr[pos - 1];
        }

        return item != arr[pos - 1] && item != arr[pos + 1];
      }); // Push the uncached ranges into an array of arrays for ease of
      // iteration in the functions that call this.

      var uncachedRangePairs = [];

      for (i = 0; i < uncachedRanges.length; i += 2) {
        uncachedRangePairs.push([uncachedRanges[i], uncachedRanges[i + 1]]);
      }

      return uncachedRangePairs;
    }
    /**
     * For testing
     *
     * @return {Number.<Array[]>} Array with arrays of numbers
     */

  }, {
    key: "getCacheRanges",
    value: function getCacheRanges() {
      var peakCacheRangePairs = [];
      var i;

      for (i = 0; i < this.peakCacheRanges.length; i += 2) {
        peakCacheRangePairs.push([this.peakCacheRanges[i], this.peakCacheRanges[i + 1]]);
      }

      return peakCacheRangePairs;
    }
  }]);

  return PeakCache;
}();

exports.default = PeakCache;
module.exports = exports.default;

/***/ }),

/***/ "./src/util/absMax.js":
/*!****************************!*\
  !*** ./src/util/absMax.js ***!
  \****************************/
/***/ ((module, exports, __nested_webpack_require_87138__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = absMax;

var _max = _interopRequireDefault(__nested_webpack_require_87138__(/*! ./max */ "./src/util/max.js"));

var _min = _interopRequireDefault(__nested_webpack_require_87138__(/*! ./min */ "./src/util/min.js"));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

/**
 * Get the largest absolute value in an array
 *
 * @param   {Array} values Array of numbers
 * @returns {Number} Largest number found
 * @example console.log(max([-3, 2, 1]), max([-3, 2, 4])); // logs 3 4
 * @since 4.3.0
 */
function absMax(values) {
  var max = (0, _max.default)(values);
  var min = (0, _min.default)(values);
  return -min > max ? -min : max;
}

module.exports = exports.default;

/***/ }),

/***/ "./src/util/clamp.js":
/*!***************************!*\
  !*** ./src/util/clamp.js ***!
  \***************************/
/***/ ((module, exports) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = clamp;

/**
 * Returns a number limited to the given range.
 *
 * @param {number} val The number to be limited to a range
 * @param {number} min The lower boundary of the limit range
 * @param {number} max The upper boundary of the limit range
 * @returns {number} A number in the range [min, max]
 */
function clamp(val, min, max) {
  return Math.min(Math.max(min, val), max);
}

module.exports = exports.default;

/***/ }),

/***/ "./src/util/fetch.js":
/*!***************************!*\
  !*** ./src/util/fetch.js ***!
  \***************************/
/***/ ((module, exports, __nested_webpack_require_88816__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = fetchFile;

var _observer = _interopRequireDefault(__nested_webpack_require_88816__(/*! ./observer */ "./src/util/observer.js"));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

var ProgressHandler = /*#__PURE__*/function () {
  /**
   * Instantiate ProgressHandler
   *
   * @param {Observer} instance The `fetchFile` observer instance.
   * @param {Number} contentLength Content length.
   * @param {Response} response Response object.
   */
  function ProgressHandler(instance, contentLength, response) {
    _classCallCheck(this, ProgressHandler);

    this.instance = instance;
    this.instance._reader = response.body.getReader();
    this.total = parseInt(contentLength, 10);
    this.loaded = 0;
  }
  /**
   * A method that is called once, immediately after the `ReadableStream``
   * is constructed.
   *
   * @param {ReadableStreamDefaultController} controller Controller instance
   *     used to control the stream.
   */


  _createClass(ProgressHandler, [{
    key: "start",
    value: function start(controller) {
      var _this = this;

      var read = function read() {
        // instance._reader.read() returns a promise that resolves
        // when a value has been received
        _this.instance._reader.read().then(function (_ref) {
          var done = _ref.done,
              value = _ref.value;

          // result objects contain two properties:
          // done  - true if the stream has already given you all its data.
          // value - some data. Always undefined when done is true.
          if (done) {
            // ensure onProgress called when content-length=0
            if (_this.total === 0) {
              _this.instance.onProgress.call(_this.instance, {
                loaded: _this.loaded,
                total: _this.total,
                lengthComputable: false
              });
            } // no more data needs to be consumed, close the stream


            controller.close();
            return;
          }

          _this.loaded += value.byteLength;

          _this.instance.onProgress.call(_this.instance, {
            loaded: _this.loaded,
            total: _this.total,
            lengthComputable: !(_this.total === 0)
          }); // enqueue the next data chunk into our target stream


          controller.enqueue(value);
          read();
        }).catch(function (error) {
          controller.error(error);
        });
      };

      read();
    }
  }]);

  return ProgressHandler;
}();
/**
 * Load a file using `fetch`.
 *
 * @param {object} options Request options to use. See example below.
 * @returns {Observer} Observer instance
 * @example
 * // default options
 * let options = {
 *     url: undefined,
 *     method: 'GET',
 *     mode: 'cors',
 *     credentials: 'same-origin',
 *     cache: 'default',
 *     responseType: 'json',
 *     requestHeaders: [],
 *     redirect: 'follow',
 *     referrer: 'client'
 * };
 *
 * // override some options
 * options.url = '../media/demo.wav';

 * // available types: 'arraybuffer', 'blob', 'json' or 'text'
 * options.responseType = 'arraybuffer';
 *
 * // make fetch call
 * let request = util.fetchFile(options);
 *
 * // listen for events
 * request.on('progress', e => {
 *     console.log('progress', e);
 * });
 *
 * request.on('success', data => {
 *     console.log('success!', data);
 * });
 *
 * request.on('error', e => {
 *     console.warn('fetchFile error: ', e);
 * });
 */


function fetchFile(options) {
  if (!options) {
    throw new Error('fetch options missing');
  } else if (!options.url) {
    throw new Error('fetch url missing');
  }

  var instance = new _observer.default();
  var fetchHeaders = new Headers();
  var fetchRequest = new Request(options.url); // add ability to abort

  instance.controller = new AbortController(); // check if headers have to be added

  if (options && options.requestHeaders) {
    // add custom request headers
    options.requestHeaders.forEach(function (header) {
      fetchHeaders.append(header.key, header.value);
    });
  } // parse fetch options


  var responseType = options.responseType || 'json';
  var fetchOptions = {
    method: options.method || 'GET',
    headers: fetchHeaders,
    mode: options.mode || 'cors',
    credentials: options.credentials || 'same-origin',
    cache: options.cache || 'default',
    redirect: options.redirect || 'follow',
    referrer: options.referrer || 'client',
    signal: instance.controller.signal
  };
  fetch(fetchRequest, fetchOptions).then(function (response) {
    // store response reference
    instance.response = response;
    var progressAvailable = true;

    if (!response.body) {
      // ReadableStream is not yet supported in this browser
      // see https://developer.mozilla.org/en-US/docs/Web/API/ReadableStream
      progressAvailable = false;
    } // Server must send CORS header "Access-Control-Expose-Headers: content-length"


    var contentLength = response.headers.get('content-length');

    if (contentLength === null) {
      // Content-Length server response header missing.
      // Don't evaluate download progress if we can't compare against a total size
      // see https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#Access-Control-Expose-Headers
      progressAvailable = false;
    }

    if (!progressAvailable) {
      // not able to check download progress so skip it
      return response;
    } // fire progress event when during load


    instance.onProgress = function (e) {
      instance.fireEvent('progress', e);
    };

    return new Response(new ReadableStream(new ProgressHandler(instance, contentLength, response)), fetchOptions);
  }).then(function (response) {
    var errMsg;

    if (response.ok) {
      switch (responseType) {
        case 'arraybuffer':
          return response.arrayBuffer();

        case 'json':
          return response.json();

        case 'blob':
          return response.blob();

        case 'text':
          return response.text();

        default:
          errMsg = 'Unknown responseType: ' + responseType;
          break;
      }
    }

    if (!errMsg) {
      errMsg = 'HTTP error status: ' + response.status;
    }

    throw new Error(errMsg);
  }).then(function (response) {
    instance.fireEvent('success', response);
  }).catch(function (error) {
    instance.fireEvent('error', error);
  }); // return the fetch request

  instance.fetchRequest = fetchRequest;
  return instance;
}

module.exports = exports.default;

/***/ }),

/***/ "./src/util/frame.js":
/*!***************************!*\
  !*** ./src/util/frame.js ***!
  \***************************/
/***/ ((module, exports, __nested_webpack_require_96321__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = frame;

var _requestAnimationFrame = _interopRequireDefault(__nested_webpack_require_96321__(/*! ./request-animation-frame */ "./src/util/request-animation-frame.js"));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

/**
 * Create a function which will be called at the next requestAnimationFrame
 * cycle
 *
 * @param {function} func The function to call
 *
 * @return {func} The function wrapped within a requestAnimationFrame
 */
function frame(func) {
  return function () {
    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
      args[_key] = arguments[_key];
    }

    return (0, _requestAnimationFrame.default)(function () {
      return func.apply(void 0, args);
    });
  };
}

module.exports = exports.default;

/***/ }),

/***/ "./src/util/get-id.js":
/*!****************************!*\
  !*** ./src/util/get-id.js ***!
  \****************************/
/***/ ((module, exports) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = getId;

/**
 * Get a random prefixed ID
 *
 * @param {String} prefix Prefix to use. Default is `'wavesurfer_'`.
 * @returns {String} Random prefixed ID
 * @example
 * console.log(getId()); // logs 'wavesurfer_b5pors4ru6g'
 *
 * let prefix = 'foo-';
 * console.log(getId(prefix)); // logs 'foo-b5pors4ru6g'
 */
function getId(prefix) {
  if (prefix === undefined) {
    prefix = 'wavesurfer_';
  }

  return prefix + Math.random().toString(32).substring(2);
}

module.exports = exports.default;

/***/ }),

/***/ "./src/util/index.js":
/*!***************************!*\
  !*** ./src/util/index.js ***!
  \***************************/
/***/ ((__unused_webpack_module, exports, __nested_webpack_require_98203__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
Object.defineProperty(exports, "getId", ({
  enumerable: true,
  get: function get() {
    return _getId.default;
  }
}));
Object.defineProperty(exports, "max", ({
  enumerable: true,
  get: function get() {
    return _max.default;
  }
}));
Object.defineProperty(exports, "min", ({
  enumerable: true,
  get: function get() {
    return _min.default;
  }
}));
Object.defineProperty(exports, "absMax", ({
  enumerable: true,
  get: function get() {
    return _absMax.default;
  }
}));
Object.defineProperty(exports, "Observer", ({
  enumerable: true,
  get: function get() {
    return _observer.default;
  }
}));
Object.defineProperty(exports, "style", ({
  enumerable: true,
  get: function get() {
    return _style.default;
  }
}));
Object.defineProperty(exports, "requestAnimationFrame", ({
  enumerable: true,
  get: function get() {
    return _requestAnimationFrame.default;
  }
}));
Object.defineProperty(exports, "frame", ({
  enumerable: true,
  get: function get() {
    return _frame.default;
  }
}));
Object.defineProperty(exports, "debounce", ({
  enumerable: true,
  get: function get() {
    return _debounce.default;
  }
}));
Object.defineProperty(exports, "preventClick", ({
  enumerable: true,
  get: function get() {
    return _preventClick.default;
  }
}));
Object.defineProperty(exports, "fetchFile", ({
  enumerable: true,
  get: function get() {
    return _fetch.default;
  }
}));
Object.defineProperty(exports, "clamp", ({
  enumerable: true,
  get: function get() {
    return _clamp.default;
  }
}));
Object.defineProperty(exports, "withOrientation", ({
  enumerable: true,
  get: function get() {
    return _orientation.default;
  }
}));
Object.defineProperty(exports, "ignoreSilenceMode", ({
  enumerable: true,
  get: function get() {
    return _silenceMode.default;
  }
}));

var _getId = _interopRequireDefault(__nested_webpack_require_98203__(/*! ./get-id */ "./src/util/get-id.js"));

var _max = _interopRequireDefault(__nested_webpack_require_98203__(/*! ./max */ "./src/util/max.js"));

var _min = _interopRequireDefault(__nested_webpack_require_98203__(/*! ./min */ "./src/util/min.js"));

var _absMax = _interopRequireDefault(__nested_webpack_require_98203__(/*! ./absMax */ "./src/util/absMax.js"));

var _observer = _interopRequireDefault(__nested_webpack_require_98203__(/*! ./observer */ "./src/util/observer.js"));

var _style = _interopRequireDefault(__nested_webpack_require_98203__(/*! ./style */ "./src/util/style.js"));

var _requestAnimationFrame = _interopRequireDefault(__nested_webpack_require_98203__(/*! ./request-animation-frame */ "./src/util/request-animation-frame.js"));

var _frame = _interopRequireDefault(__nested_webpack_require_98203__(/*! ./frame */ "./src/util/frame.js"));

var _debounce = _interopRequireDefault(__nested_webpack_require_98203__(/*! debounce */ "./node_modules/debounce/index.js"));

var _preventClick = _interopRequireDefault(__nested_webpack_require_98203__(/*! ./prevent-click */ "./src/util/prevent-click.js"));

var _fetch = _interopRequireDefault(__nested_webpack_require_98203__(/*! ./fetch */ "./src/util/fetch.js"));

var _clamp = _interopRequireDefault(__nested_webpack_require_98203__(/*! ./clamp */ "./src/util/clamp.js"));

var _orientation = _interopRequireDefault(__nested_webpack_require_98203__(/*! ./orientation */ "./src/util/orientation.js"));

var _silenceMode = _interopRequireDefault(__nested_webpack_require_98203__(/*! ./silence-mode */ "./src/util/silence-mode.js"));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

/***/ }),

/***/ "./src/util/max.js":
/*!*************************!*\
  !*** ./src/util/max.js ***!
  \*************************/
/***/ ((module, exports) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = max;

/**
 * Get the largest value
 *
 * @param   {Array} values Array of numbers
 * @returns {Number} Largest number found
 * @example console.log(max([1, 2, 3])); // logs 3
 */
function max(values) {
  var largest = -Infinity;
  Object.keys(values).forEach(function (i) {
    if (values[i] > largest) {
      largest = values[i];
    }
  });
  return largest;
}

module.exports = exports.default;

/***/ }),

/***/ "./src/util/min.js":
/*!*************************!*\
  !*** ./src/util/min.js ***!
  \*************************/
/***/ ((module, exports) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = min;

/**
 * Get the smallest value
 *
 * @param   {Array} values Array of numbers
 * @returns {Number} Smallest number found
 * @example console.log(min([1, 2, 3])); // logs 1
 */
function min(values) {
  var smallest = Number(Infinity);
  Object.keys(values).forEach(function (i) {
    if (values[i] < smallest) {
      smallest = values[i];
    }
  });
  return smallest;
}

module.exports = exports.default;

/***/ }),

/***/ "./src/util/observer.js":
/*!******************************!*\
  !*** ./src/util/observer.js ***!
  \******************************/
/***/ ((module, exports) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

/**
 * @typedef {Object} ListenerDescriptor
 * @property {string} name The name of the event
 * @property {function} callback The callback
 * @property {function} un The function to call to remove the listener
 */

/**
 * Observer class
 */
var Observer = /*#__PURE__*/function () {
  /**
   * Instantiate Observer
   */
  function Observer() {
    _classCallCheck(this, Observer);

    /**
     * @private
     * @todo Initialise the handlers here already and remove the conditional
     * assignment in `on()`
     */
    this._disabledEventEmissions = [];
    this.handlers = null;
  }
  /**
   * Attach a handler function for an event.
   *
   * @param {string} event Name of the event to listen to
   * @param {function} fn The callback to trigger when the event is fired
   * @return {ListenerDescriptor} The event descriptor
   */


  _createClass(Observer, [{
    key: "on",
    value: function on(event, fn) {
      var _this = this;

      if (!this.handlers) {
        this.handlers = {};
      }

      var handlers = this.handlers[event];

      if (!handlers) {
        handlers = this.handlers[event] = [];
      }

      handlers.push(fn); // Return an event descriptor

      return {
        name: event,
        callback: fn,
        un: function un(e, fn) {
          return _this.un(e, fn);
        }
      };
    }
    /**
     * Remove an event handler.
     *
     * @param {string} event Name of the event the listener that should be
     * removed listens to
     * @param {function} fn The callback that should be removed
     */

  }, {
    key: "un",
    value: function un(event, fn) {
      if (!this.handlers) {
        return;
      }

      var handlers = this.handlers[event];
      var i;

      if (handlers) {
        if (fn) {
          for (i = handlers.length - 1; i >= 0; i--) {
            if (handlers[i] == fn) {
              handlers.splice(i, 1);
            }
          }
        } else {
          handlers.length = 0;
        }
      }
    }
    /**
     * Remove all event handlers.
     */

  }, {
    key: "unAll",
    value: function unAll() {
      this.handlers = null;
    }
    /**
     * Attach a handler to an event. The handler is executed at most once per
     * event type.
     *
     * @param {string} event The event to listen to
     * @param {function} handler The callback that is only to be called once
     * @return {ListenerDescriptor} The event descriptor
     */

  }, {
    key: "once",
    value: function once(event, handler) {
      var _this2 = this;

      var fn = function fn() {
        for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
          args[_key] = arguments[_key];
        }

        /*  eslint-disable no-invalid-this */
        handler.apply(_this2, args);
        /*  eslint-enable no-invalid-this */

        setTimeout(function () {
          _this2.un(event, fn);
        }, 0);
      };

      return this.on(event, fn);
    }
    /**
     * Disable firing a list of events by name. When specified, event handlers for any event type
     * passed in here will not be called.
     *
     * @since 4.0.0
     * @param {string[]} eventNames an array of event names to disable emissions for
     * @example
     * // disable seek and interaction events
     * wavesurfer.setDisabledEventEmissions(['seek', 'interaction']);
     */

  }, {
    key: "setDisabledEventEmissions",
    value: function setDisabledEventEmissions(eventNames) {
      this._disabledEventEmissions = eventNames;
    }
    /**
     * plugins borrow part of this class without calling the constructor,
     * so we have to be careful about _disabledEventEmissions
     */

  }, {
    key: "_isDisabledEventEmission",
    value: function _isDisabledEventEmission(event) {
      return this._disabledEventEmissions && this._disabledEventEmissions.includes(event);
    }
    /**
     * Manually fire an event
     *
     * @param {string} event The event to fire manually
     * @param {...any} args The arguments with which to call the listeners
     */

  }, {
    key: "fireEvent",
    value: function fireEvent(event) {
      for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
        args[_key2 - 1] = arguments[_key2];
      }

      if (!this.handlers || this._isDisabledEventEmission(event)) {
        return;
      }

      var handlers = this.handlers[event];
      handlers && handlers.forEach(function (fn) {
        fn.apply(void 0, args);
      });
    }
  }]);

  return Observer;
}();

exports.default = Observer;
module.exports = exports.default;

/***/ }),

/***/ "./src/util/orientation.js":
/*!*********************************!*\
  !*** ./src/util/orientation.js ***!
  \*********************************/
/***/ ((module, exports) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = withOrientation;
var verticalPropMap = {
  width: 'height',
  height: 'width',
  overflowX: 'overflowY',
  overflowY: 'overflowX',
  clientWidth: 'clientHeight',
  clientHeight: 'clientWidth',
  clientX: 'clientY',
  clientY: 'clientX',
  scrollWidth: 'scrollHeight',
  scrollLeft: 'scrollTop',
  offsetLeft: 'offsetTop',
  offsetTop: 'offsetLeft',
  offsetHeight: 'offsetWidth',
  offsetWidth: 'offsetHeight',
  left: 'top',
  right: 'bottom',
  top: 'left',
  bottom: 'right',
  borderRightStyle: 'borderBottomStyle',
  borderRightWidth: 'borderBottomWidth',
  borderRightColor: 'borderBottomColor'
};
/**
 * Convert a horizontally-oriented property name to a vertical one.
 *
 * @param {string} prop A property name
 * @param {bool} vertical Whether the element is oriented vertically
 * @returns {string} prop, converted appropriately
 */

function mapProp(prop, vertical) {
  if (Object.prototype.hasOwnProperty.call(verticalPropMap, prop)) {
    return vertical ? verticalPropMap[prop] : prop;
  } else {
    return prop;
  }
}

var isProxy = Symbol("isProxy");
/**
 * Returns an appropriately oriented object based on vertical.
 * If vertical is true, attribute getting and setting will be mapped through
 * verticalPropMap, so that e.g. getting the object's .width will give its
 * .height instead.
 * Certain methods of an oriented object will return oriented objects as well.
 * Oriented objects can't be added to the DOM directly since they are Proxy objects
 * and thus fail typechecks. Use domElement to get the actual element for this.
 *
 * @param {object} target The object to be wrapped and oriented
 * @param {bool} vertical Whether the element is oriented vertically
 * @returns {Proxy} An oriented object with attr translation via verticalAttrMap
 * @since 5.0.0
 */

function withOrientation(target, vertical) {
  if (target[isProxy]) {
    return target;
  } else {
    return new Proxy(target, {
      get: function get(obj, prop, receiver) {
        if (prop === isProxy) {
          return true;
        } else if (prop === 'domElement') {
          return obj;
        } else if (prop === 'style') {
          return withOrientation(obj.style, vertical);
        } else if (prop === 'canvas') {
          return withOrientation(obj.canvas, vertical);
        } else if (prop === 'getBoundingClientRect') {
          return function () {
            return withOrientation(obj.getBoundingClientRect.apply(obj, arguments), vertical);
          };
        } else if (prop === 'getContext') {
          return function () {
            return withOrientation(obj.getContext.apply(obj, arguments), vertical);
          };
        } else {
          var value = obj[mapProp(prop, vertical)];
          return typeof value == 'function' ? value.bind(obj) : value;
        }
      },
      set: function set(obj, prop, value) {
        obj[mapProp(prop, vertical)] = value;
        return true;
      }
    });
  }
}

module.exports = exports.default;

/***/ }),

/***/ "./src/util/prevent-click.js":
/*!***********************************!*\
  !*** ./src/util/prevent-click.js ***!
  \***********************************/
/***/ ((module, exports) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = preventClick;

/**
 * Stops propagation of click event and removes event listener
 *
 * @private
 * @param {object} event The click event
 */
function preventClickHandler(event) {
  event.stopPropagation();
  document.body.removeEventListener('click', preventClickHandler, true);
}
/**
 * Starts listening for click event and prevent propagation
 *
 * @param {object} values Values
 */


function preventClick(values) {
  document.body.addEventListener('click', preventClickHandler, true);
}

module.exports = exports.default;

/***/ }),

/***/ "./src/util/request-animation-frame.js":
/*!*********************************************!*\
  !*** ./src/util/request-animation-frame.js ***!
  \*********************************************/
/***/ ((module, exports) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

/* eslint-disable valid-jsdoc */

/**
 * Returns the `requestAnimationFrame` function for the browser, or a shim with
 * `setTimeout` if the function is not found
 *
 * @return {function} Available `requestAnimationFrame` function for the browser
 */
var _default = (window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function (callback, element) {
  return setTimeout(callback, 1000 / 60);
}).bind(window);

exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ "./src/util/silence-mode.js":
/*!**********************************!*\
  !*** ./src/util/silence-mode.js ***!
  \**********************************/
/***/ ((module, exports) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = ignoreSilenceMode;

/**
 * Ignores device silence mode when using the `WebAudio` backend.
 *
 * Many mobile devices contain a hardware button to mute the ringtone for incoming
 * calls and messages. Unfortunately, on some platforms like iOS, this also mutes
 * wavesurfer's audio when using the `WebAudio` backend. This function creates a
 * temporary `<audio>` element that makes sure the WebAudio backend keeps playing
 * when muting the device ringer.
 *
 * @since 5.2.0
 */
function ignoreSilenceMode() {
  // Set the src to a short bit of url encoded as a silent mp3
  // NOTE The silence MP3 must be high quality, when web audio sounds are played
  // in parallel the web audio sound is mixed to match the bitrate of the html sound
  // 0.01 seconds of silence VBR220-260 Joint Stereo 859B
  var audioData = "data:audio/mpeg;base64,//uQxAAAAAAAAAAAAAAAAAAAAAAAWGluZwAAAA8AAAACAAACcQCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA//////////////////////////////////////////////////////////////////8AAABhTEFNRTMuMTAwA8MAAAAAAAAAABQgJAUHQQAB9AAAAnGMHkkIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//sQxAADgnABGiAAQBCqgCRMAAgEAH///////////////7+n/9FTuQsQH//////2NG0jWUGlio5gLQTOtIoeR2WX////X4s9Atb/JRVCbBUpeRUq//////////////////9RUi0f2jn/+xDECgPCjAEQAABN4AAANIAAAAQVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQ=="; // disable iOS Airplay (setting the attribute in js doesn't work)

  var tmp = document.createElement("div");
  tmp.innerHTML = '<audio x-webkit-airplay="deny"></audio>';
  var audioSilentMode = tmp.children.item(0);
  audioSilentMode.src = audioData;
  audioSilentMode.preload = "auto";
  audioSilentMode.type = "audio/mpeg";
  audioSilentMode.disableRemotePlayback = true; // play

  audioSilentMode.play(); // cleanup

  audioSilentMode.remove();
  tmp.remove();
}

module.exports = exports.default;

/***/ }),

/***/ "./src/util/style.js":
/*!***************************!*\
  !*** ./src/util/style.js ***!
  \***************************/
/***/ ((module, exports) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = style;

/**
 * Apply a map of styles to an element
 *
 * @param {HTMLElement} el The element that the styles will be applied to
 * @param {Object} styles The map of propName: attribute, both are used as-is
 *
 * @return {HTMLElement} el
 */
function style(el, styles) {
  Object.keys(styles).forEach(function (prop) {
    if (el.style[prop] !== styles[prop]) {
      el.style[prop] = styles[prop];
    }
  });
  return el;
}

module.exports = exports.default;

/***/ }),

/***/ "./src/wavesurfer.js":
/*!***************************!*\
  !*** ./src/wavesurfer.js ***!
  \***************************/
/***/ ((module, exports, __nested_webpack_require_117085__) => {

"use strict";


function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

var util = _interopRequireWildcard(__nested_webpack_require_117085__(/*! ./util */ "./src/util/index.js"));

var _drawer = _interopRequireDefault(__nested_webpack_require_117085__(/*! ./drawer.multicanvas */ "./src/drawer.multicanvas.js"));

var _webaudio = _interopRequireDefault(__nested_webpack_require_117085__(/*! ./webaudio */ "./src/webaudio.js"));

var _mediaelement = _interopRequireDefault(__nested_webpack_require_117085__(/*! ./mediaelement */ "./src/mediaelement.js"));

var _peakcache = _interopRequireDefault(__nested_webpack_require_117085__(/*! ./peakcache */ "./src/peakcache.js"));

var _mediaelementWebaudio = _interopRequireDefault(__nested_webpack_require_117085__(/*! ./mediaelement-webaudio */ "./src/mediaelement-webaudio.js"));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }

function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }

function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }

function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }

function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }

function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }

function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

/*
 * This work is licensed under a BSD-3-Clause License.
 */

/** @external {HTMLElement} https://developer.mozilla.org/en/docs/Web/API/HTMLElement */

/** @external {OfflineAudioContext} https://developer.mozilla.org/en-US/docs/Web/API/OfflineAudioContext */

/** @external {File} https://developer.mozilla.org/en-US/docs/Web/API/File */

/** @external {Blob} https://developer.mozilla.org/en-US/docs/Web/API/Blob */

/** @external {CanvasRenderingContext2D} https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D */

/** @external {MediaStreamConstraints} https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamConstraints */

/** @external {AudioNode} https://developer.mozilla.org/de/docs/Web/API/AudioNode */

/**
 * @typedef {Object} WavesurferParams
 * @property {AudioContext} audioContext=null Use your own previously
 * initialized AudioContext or leave blank.
 * @property {number} audioRate=1 Speed at which to play audio. Lower number is
 * slower.
 * @property {ScriptProcessorNode} audioScriptProcessor=null Use your own previously
 * initialized ScriptProcessorNode or leave blank.
 * @property {boolean} autoCenter=true If a scrollbar is present, center the
 * waveform on current progress
 * @property {number} autoCenterRate=5 If autoCenter is active, rate at which the
 * waveform is centered
 * @property {boolean} autoCenterImmediately=false If autoCenter is active, immediately
 * center waveform on current progress
 * @property {string} backend='WebAudio' `'WebAudio'|'MediaElement'|'MediaElementWebAudio'` In most cases
 * you don't have to set this manually. MediaElement is a fallback for unsupported browsers.
 * MediaElementWebAudio allows to use WebAudio API also with big audio files, loading audio like with
 * MediaElement backend (HTML5 audio tag). You have to use the same methods of MediaElement backend for loading and
 * playback, giving also peaks, so the audio data are not decoded. In this way you can use WebAudio features, like filters,
 * also with audio with big duration. For example:
 * ` wavesurfer.load(url | HTMLMediaElement, peaks, preload, duration);
 *   wavesurfer.play();
 *   wavesurfer.setFilter(customFilter);
 * `
 * @property {string} backgroundColor=null Change background color of the
 * waveform container.
 * @property {number} barHeight=1 The height of the wave bars.
 * @property {number} barRadius=0 The radius of the wave bars. Makes bars rounded
 * @property {number} barGap=null The optional spacing between bars of the wave,
 * if not provided will be calculated in legacy format.
 * @property {number} barWidth=null Draw the waveform using bars.
 * @property {number} barMinHeight=null If specified, draw at least a bar of this height,
 * eliminating waveform gaps
 * @property {boolean} closeAudioContext=false Close and nullify all audio
 * contexts when the destroy method is called.
 * @property {!string|HTMLElement} container CSS selector or HTML element where
 * the waveform should be drawn. This is the only required parameter.
 * @property {string} cursorColor='#333' The fill color of the cursor indicating
 * the playhead position.
 * @property {number} cursorWidth=1 Measured in pixels.
 * @property {object} drawingContextAttributes={desynchronized: false} Drawing context
 * attributes.
 * @property {number} duration=null Optional audio length so pre-rendered peaks
 * can be display immediately for example.
 * @property {boolean} fillParent=true Whether to fill the entire container or
 * draw only according to `minPxPerSec`.
 * @property {boolean} forceDecode=false Force decoding of audio using web audio
 * when zooming to get a more detailed waveform.
 * @property {number} height=128 The height of the waveform. Measured in
 * pixels.
 * @property {boolean} hideScrollbar=false Whether to hide the horizontal
 * scrollbar when one would normally be shown.
 * @property {boolean} ignoreSilenceMode=false If true, ignores device silence mode
 * when using the `WebAudio` backend.
 * @property {boolean} interact=true Whether the mouse interaction will be
 * enabled at initialization. You can switch this parameter at any time later
 * on.
 * @property {boolean} loopSelection=true (Use with regions plugin) Enable
 * looping of selected regions
 * @property {number} maxCanvasWidth=4000 Maximum width of a single canvas in
 * pixels, excluding a small overlap (2 * `pixelRatio`, rounded up to the next
 * even integer). If the waveform is longer than this value, additional canvases
 * will be used to render the waveform, which is useful for very large waveforms
 * that may be too wide for browsers to draw on a single canvas.
 * @property {boolean} mediaControls=false (Use with backend `MediaElement` or `MediaElementWebAudio`)
 * this enables the native controls for the media element
 * @property {string} mediaType='audio' (Use with backend `MediaElement` or `MediaElementWebAudio`)
 * `'audio'|'video'` ('video' only for `MediaElement`)
 * @property {number} minPxPerSec=20 Minimum number of pixels per second of
 * audio.
 * @property {boolean} normalize=false If true, normalize by the maximum peak
 * instead of 1.0.
 * @property {boolean} partialRender=false Use the PeakCache to improve
 * rendering speed of large waveforms
 * @property {number} pixelRatio=window.devicePixelRatio The pixel ratio used to
 * calculate display
 * @property {PluginDefinition[]} plugins=[] An array of plugin definitions to
 * register during instantiation, they will be directly initialised unless they
 * are added with the `deferInit` property set to true.
 * @property {string} progressColor='#555' The fill color of the part of the
 * waveform behind the cursor. When `progressColor` and `waveColor` are the same
 * the progress wave is not rendered at all.
 * @property {boolean} removeMediaElementOnDestroy=true Set to false to keep the
 * media element in the DOM when the player is destroyed. This is useful when
 * reusing an existing media element via the `loadMediaElement` method.
 * @property {Object} renderer=MultiCanvas Can be used to inject a custom
 * renderer.
 * @property {boolean|number} responsive=false If set to `true` resize the
 * waveform, when the window is resized. This is debounced with a `100ms`
 * timeout by default. If this parameter is a number it represents that timeout.
 * @property {boolean} rtl=false If set to `true`, renders waveform from
 * right-to-left.
 * @property {boolean} scrollParent=false Whether to scroll the container with a
 * lengthy waveform. Otherwise the waveform is shrunk to the container width
 * (see fillParent).
 * @property {number} skipLength=2 Number of seconds to skip with the
 * skipForward() and skipBackward() methods.
 * @property {boolean} splitChannels=false Render with separate waveforms for
 * the channels of the audio
 * @property {SplitChannelOptions} splitChannelsOptions={} Options for splitChannel rendering
 * @property {boolean} vertical=false Render the waveform vertically instead of horizontally.
 * @property {string} waveColor='#999' The fill color of the waveform after the
 * cursor.
 * @property {object} xhr={} XHR options. For example:
 * `let xhr = {
 *     cache: 'default',
 *     mode: 'cors',
 *     method: 'GET',
 *     credentials: 'same-origin',
 *     redirect: 'follow',
 *     referrer: 'client',
 *     requestHeaders: [
 *         {
 *             key: 'Authorization',
 *             value: 'my-token'
 *         }
 *     ]
 * };`
 */

/**
 * @typedef {Object} PluginDefinition
 * @desc The Object used to describe a plugin
 * @example wavesurfer.addPlugin(pluginDefinition);
 * @property {string} name The name of the plugin, the plugin instance will be
 * added as a property to the wavesurfer instance under this name
 * @property {?Object} staticProps The properties that should be added to the
 * wavesurfer instance as static properties
 * @property {?boolean} deferInit Don't initialise plugin
 * automatically
 * @property {Object} params={} The plugin parameters, they are the first parameter
 * passed to the plugin class constructor function
 * @property {PluginClass} instance The plugin instance factory, is called with
 * the dependency specified in extends. Returns the plugin class.
 */

/**
 * @typedef {Object} SplitChannelOptions
 * @desc parameters applied when splitChannels option is true
 * @property {boolean} overlay=false determines whether channels are rendered on top of each other or on separate tracks
 * @property {object} channelColors={} object describing color for each channel. Example:
 * {
 *     0: {
 *         progressColor: 'green',
 *         waveColor: 'pink'
 *     },
 *     1: {
 *         progressColor: 'orange',
 *         waveColor: 'purple'
 *     }
 * }
 * @property {number[]} filterChannels=[] indexes of channels to be hidden from rendering
 * @property {boolean} relativeNormalization=false determines whether
 * normalization is done per channel or maintains proportionality between
 * channels. Only applied when normalize and splitChannels are both true.
 * @since 4.3.0
 */

/**
 * @interface PluginClass
 *
 * @desc This is the interface which is implemented by all plugin classes. Note
 * that this only turns into an observer after being passed through
 * `wavesurfer.addPlugin`.
 *
 * @extends {Observer}
 */
var PluginClass = /*#__PURE__*/function () {
  /**
   * Construct the plugin
   *
   * @param {Object} params={} The plugin params (specific to the plugin)
   * @param {Object} ws The wavesurfer instance
   */
  function PluginClass(params, ws) {
    _classCallCheck(this, PluginClass);
  }
  /**
   * Initialise the plugin
   *
   * Start doing something. This is called by
   * `wavesurfer.initPlugin(pluginName)`
   */


  _createClass(PluginClass, [{
    key: "create",
    value:
    /**
     * Plugin definition factory
     *
     * This function must be used to create a plugin definition which can be
     * used by wavesurfer to correctly instantiate the plugin.
     *
     * It returns a `PluginDefinition` object representing the plugin.
     *
     * @param {Object} params={} The plugin params (specific to the plugin)
     */
    function create(params) {}
  }, {
    key: "init",
    value: function init() {}
    /**
     * Destroy the plugin instance
     *
     * Stop doing something. This is called by
     * `wavesurfer.destroyPlugin(pluginName)`
     */

  }, {
    key: "destroy",
    value: function destroy() {}
  }]);

  return PluginClass;
}();
/**
 * WaveSurfer core library class
 *
 * @extends {Observer}
 * @example
 * const params = {
 *   container: '#waveform',
 *   waveColor: 'violet',
 *   progressColor: 'purple'
 * };
 *
 * // initialise like this
 * const wavesurfer = WaveSurfer.create(params);
 *
 * // or like this ...
 * const wavesurfer = new WaveSurfer(params);
 * wavesurfer.init();
 *
 * // load audio file
 * wavesurfer.load('example/media/demo.wav');
 */


var WaveSurfer = /*#__PURE__*/function (_util$Observer) {
  _inherits(WaveSurfer, _util$Observer);

  var _super = _createSuper(WaveSurfer);

  /**
   * Initialise wavesurfer instance
   *
   * @param {WavesurferParams} params Instantiation options for wavesurfer
   * @example
   * const wavesurfer = new WaveSurfer(params);
   * @returns {this} Wavesurfer instance
   */
  function WaveSurfer(params) {
    var _this;

    _classCallCheck(this, WaveSurfer);

    _this = _super.call(this);
    /**
     * Extract relevant parameters (or defaults)
     * @private
     */

    _this.defaultParams = {
      audioContext: null,
      audioScriptProcessor: null,
      audioRate: 1,
      autoCenter: true,
      autoCenterRate: 5,
      autoCenterImmediately: false,
      backend: 'WebAudio',
      backgroundColor: null,
      barHeight: 1,
      barRadius: 0,
      barGap: null,
      barMinHeight: null,
      container: null,
      cursorColor: '#333',
      cursorWidth: 1,
      dragSelection: true,
      drawingContextAttributes: {
        // Boolean that hints the user agent to reduce the latency
        // by desynchronizing the canvas paint cycle from the event
        // loop
        desynchronized: false
      },
      duration: null,
      fillParent: true,
      forceDecode: false,
      height: 128,
      hideScrollbar: false,
      ignoreSilenceMode: false,
      interact: true,
      loopSelection: true,
      maxCanvasWidth: 4000,
      mediaContainer: null,
      mediaControls: false,
      mediaType: 'audio',
      minPxPerSec: 20,
      normalize: false,
      partialRender: false,
      pixelRatio: window.devicePixelRatio || screen.deviceXDPI / screen.logicalXDPI,
      plugins: [],
      progressColor: '#555',
      removeMediaElementOnDestroy: true,
      renderer: _drawer.default,
      responsive: false,
      rtl: false,
      scrollParent: false,
      skipLength: 2,
      splitChannels: false,
      splitChannelsOptions: {
        overlay: false,
        channelColors: {},
        filterChannels: [],
        relativeNormalization: false
      },
      vertical: false,
      waveColor: '#999',
      xhr: {}
    };
    _this.backends = {
      MediaElement: _mediaelement.default,
      WebAudio: _webaudio.default,
      MediaElementWebAudio: _mediaelementWebaudio.default
    };
    _this.util = util;
    _this.params = Object.assign({}, _this.defaultParams, params);
    _this.params.splitChannelsOptions = Object.assign({}, _this.defaultParams.splitChannelsOptions, params.splitChannelsOptions);
    /** @private */

    _this.container = 'string' == typeof params.container ? document.querySelector(_this.params.container) : _this.params.container;

    if (!_this.container) {
      throw new Error('Container element not found');
    }

    if (_this.params.mediaContainer == null) {
      /** @private */
      _this.mediaContainer = _this.container;
    } else if (typeof _this.params.mediaContainer == 'string') {
      /** @private */
      _this.mediaContainer = document.querySelector(_this.params.mediaContainer);
    } else {
      /** @private */
      _this.mediaContainer = _this.params.mediaContainer;
    }

    if (!_this.mediaContainer) {
      throw new Error('Media Container element not found');
    }

    if (_this.params.maxCanvasWidth <= 1) {
      throw new Error('maxCanvasWidth must be greater than 1');
    } else if (_this.params.maxCanvasWidth % 2 == 1) {
      throw new Error('maxCanvasWidth must be an even number');
    }

    if (_this.params.rtl === true) {
      if (_this.params.vertical === true) {
        util.style(_this.container, {
          transform: 'rotateX(180deg)'
        });
      } else {
        util.style(_this.container, {
          transform: 'rotateY(180deg)'
        });
      }
    }

    if (_this.params.backgroundColor) {
      _this.setBackgroundColor(_this.params.backgroundColor);
    }
    /**
     * @private Used to save the current volume when muting so we can
     * restore once unmuted
     * @type {number}
     */


    _this.savedVolume = 0;
    /**
     * @private The current muted state
     * @type {boolean}
     */

    _this.isMuted = false;
    /**
     * @private Will hold a list of event descriptors that need to be
     * canceled on subsequent loads of audio
     * @type {Object[]}
     */

    _this.tmpEvents = [];
    /**
     * @private Holds any running audio downloads
     * @type {Observer}
     */

    _this.currentRequest = null;
    /** @private */

    _this.arraybuffer = null;
    /** @private */

    _this.drawer = null;
    /** @private */

    _this.backend = null;
    /** @private */

    _this.peakCache = null; // cache constructor objects

    if (typeof _this.params.renderer !== 'function') {
      throw new Error('Renderer parameter is invalid');
    }
    /**
     * @private The uninitialised Drawer class
     */


    _this.Drawer = _this.params.renderer;
    /**
     * @private The uninitialised Backend class
     */
    // Back compat

    if (_this.params.backend == 'AudioElement') {
      _this.params.backend = 'MediaElement';
    }

    if ((_this.params.backend == 'WebAudio' || _this.params.backend === 'MediaElementWebAudio') && !_webaudio.default.prototype.supportsWebAudio.call(null)) {
      _this.params.backend = 'MediaElement';
    }

    _this.Backend = _this.backends[_this.params.backend];
    /**
     * @private map of plugin names that are currently initialised
     */

    _this.initialisedPluginList = {};
    /** @private */

    _this.isDestroyed = false;
    /**
     * Get the current ready status.
     *
     * @example const isReady = wavesurfer.isReady;
     * @return {boolean}
     */

    _this.isReady = false; // responsive debounced event listener. If this.params.responsive is not
    // set, this is never called. Use 100ms or this.params.responsive as
    // timeout for the debounce function.

    var prevWidth = 0;
    _this._onResize = util.debounce(function () {
      if (prevWidth != _this.drawer.wrapper.clientWidth && !_this.params.scrollParent) {
        prevWidth = _this.drawer.wrapper.clientWidth;

        _this.drawer.fireEvent('redraw');
      }
    }, typeof _this.params.responsive === 'number' ? _this.params.responsive : 100);
    return _possibleConstructorReturn(_this, _assertThisInitialized(_this));
  }
  /**
   * Initialise the wave
   *
   * @example
   * var wavesurfer = new WaveSurfer(params);
   * wavesurfer.init();
   * @return {this} The wavesurfer instance
   */


  _createClass(WaveSurfer, [{
    key: "init",
    value: function init() {
      this.registerPlugins(this.params.plugins);
      this.createDrawer();
      this.createBackend();
      this.createPeakCache();
      return this;
    }
    /**
     * Add and initialise array of plugins (if `plugin.deferInit` is falsey),
     * this function is called in the init function of wavesurfer
     *
     * @param {PluginDefinition[]} plugins An array of plugin definitions
     * @emits {WaveSurfer#plugins-registered} Called with the array of plugin definitions
     * @return {this} The wavesurfer instance
     */

  }, {
    key: "registerPlugins",
    value: function registerPlugins(plugins) {
      var _this2 = this;

      // first instantiate all the plugins
      plugins.forEach(function (plugin) {
        return _this2.addPlugin(plugin);
      }); // now run the init functions

      plugins.forEach(function (plugin) {
        // call init function of the plugin if deferInit is falsey
        // in that case you would manually use initPlugins()
        if (!plugin.deferInit) {
          _this2.initPlugin(plugin.name);
        }
      });
      this.fireEvent('plugins-registered', plugins);
      return this;
    }
    /**
     * Get a map of plugin names that are currently initialised
     *
     * @example wavesurfer.getPlugins();
     * @return {Object} Object with plugin names
     */

  }, {
    key: "getActivePlugins",
    value: function getActivePlugins() {
      return this.initialisedPluginList;
    }
    /**
     * Add a plugin object to wavesurfer
     *
     * @param {PluginDefinition} plugin A plugin definition
     * @emits {WaveSurfer#plugin-added} Called with the name of the plugin that was added
     * @example wavesurfer.addPlugin(WaveSurfer.minimap());
     * @return {this} The wavesurfer instance
     */

  }, {
    key: "addPlugin",
    value: function addPlugin(plugin) {
      var _this3 = this;

      if (!plugin.name) {
        throw new Error('Plugin does not have a name!');
      }

      if (!plugin.instance) {
        throw new Error("Plugin ".concat(plugin.name, " does not have an instance property!"));
      } // staticProps properties are applied to wavesurfer instance


      if (plugin.staticProps) {
        Object.keys(plugin.staticProps).forEach(function (pluginStaticProp) {
          /**
           * Properties defined in a plugin definition's `staticProps` property are added as
           * staticProps properties of the WaveSurfer instance
           */
          _this3[pluginStaticProp] = plugin.staticProps[pluginStaticProp];
        });
      }

      var Instance = plugin.instance; // turn the plugin instance into an observer

      var observerPrototypeKeys = Object.getOwnPropertyNames(util.Observer.prototype);
      observerPrototypeKeys.forEach(function (key) {
        Instance.prototype[key] = util.Observer.prototype[key];
      });
      /**
       * Instantiated plugin classes are added as a property of the wavesurfer
       * instance
       * @type {Object}
       */

      this[plugin.name] = new Instance(plugin.params || {}, this);
      this.fireEvent('plugin-added', plugin.name);
      return this;
    }
    /**
     * Initialise a plugin
     *
     * @param {string} name A plugin name
     * @emits WaveSurfer#plugin-initialised
     * @example wavesurfer.initPlugin('minimap');
     * @return {this} The wavesurfer instance
     */

  }, {
    key: "initPlugin",
    value: function initPlugin(name) {
      if (!this[name]) {
        throw new Error("Plugin ".concat(name, " has not been added yet!"));
      }

      if (this.initialisedPluginList[name]) {
        // destroy any already initialised plugins
        this.destroyPlugin(name);
      }

      this[name].init();
      this.initialisedPluginList[name] = true;
      this.fireEvent('plugin-initialised', name);
      return this;
    }
    /**
     * Destroy a plugin
     *
     * @param {string} name A plugin name
     * @emits WaveSurfer#plugin-destroyed
     * @example wavesurfer.destroyPlugin('minimap');
     * @returns {this} The wavesurfer instance
     */

  }, {
    key: "destroyPlugin",
    value: function destroyPlugin(name) {
      if (!this[name]) {
        throw new Error("Plugin ".concat(name, " has not been added yet and cannot be destroyed!"));
      }

      if (!this.initialisedPluginList[name]) {
        throw new Error("Plugin ".concat(name, " is not active and cannot be destroyed!"));
      }

      if (typeof this[name].destroy !== 'function') {
        throw new Error("Plugin ".concat(name, " does not have a destroy function!"));
      }

      this[name].destroy();
      delete this.initialisedPluginList[name];
      this.fireEvent('plugin-destroyed', name);
      return this;
    }
    /**
     * Destroy all initialised plugins. Convenience function to use when
     * wavesurfer is removed
     *
     * @private
     */

  }, {
    key: "destroyAllPlugins",
    value: function destroyAllPlugins() {
      var _this4 = this;

      Object.keys(this.initialisedPluginList).forEach(function (name) {
        return _this4.destroyPlugin(name);
      });
    }
    /**
     * Create the drawer and draw the waveform
     *
     * @private
     * @emits WaveSurfer#drawer-created
     */

  }, {
    key: "createDrawer",
    value: function createDrawer() {
      var _this5 = this;

      this.drawer = new this.Drawer(this.container, this.params);
      this.drawer.init();
      this.fireEvent('drawer-created', this.drawer);

      if (this.params.responsive !== false) {
        window.addEventListener('resize', this._onResize, true);
        window.addEventListener('orientationchange', this._onResize, true);
      }

      this.drawer.on('redraw', function () {
        _this5.drawBuffer();

        _this5.drawer.progress(_this5.backend.getPlayedPercents());
      }); // Click-to-seek

      this.drawer.on('click', function (e, progress) {
        setTimeout(function () {
          return _this5.seekTo(progress);
        }, 0);
      }); // Relay the scroll event from the drawer

      this.drawer.on('scroll', function (e) {
        if (_this5.params.partialRender) {
          _this5.drawBuffer();
        }

        _this5.fireEvent('scroll', e);
      });
    }
    /**
     * Create the backend
     *
     * @private
     * @emits WaveSurfer#backend-created
     */

  }, {
    key: "createBackend",
    value: function createBackend() {
      var _this6 = this;

      if (this.backend) {
        this.backend.destroy();
      }

      this.backend = new this.Backend(this.params);
      this.backend.init();
      this.fireEvent('backend-created', this.backend);
      this.backend.on('finish', function () {
        _this6.drawer.progress(_this6.backend.getPlayedPercents());

        _this6.fireEvent('finish');
      });
      this.backend.on('play', function () {
        return _this6.fireEvent('play');
      });
      this.backend.on('pause', function () {
        return _this6.fireEvent('pause');
      });
      this.backend.on('audioprocess', function (time) {
        _this6.drawer.progress(_this6.backend.getPlayedPercents());

        _this6.fireEvent('audioprocess', time);
      }); // only needed for MediaElement and MediaElementWebAudio backend

      if (this.params.backend === 'MediaElement' || this.params.backend === 'MediaElementWebAudio') {
        this.backend.on('seek', function () {
          _this6.drawer.progress(_this6.backend.getPlayedPercents());
        });
        this.backend.on('volume', function () {
          var newVolume = _this6.getVolume();

          _this6.fireEvent('volume', newVolume);

          if (_this6.backend.isMuted !== _this6.isMuted) {
            _this6.isMuted = _this6.backend.isMuted;

            _this6.fireEvent('mute', _this6.isMuted);
          }
        });
      }
    }
    /**
     * Create the peak cache
     *
     * @private
     */

  }, {
    key: "createPeakCache",
    value: function createPeakCache() {
      if (this.params.partialRender) {
        this.peakCache = new _peakcache.default();
      }
    }
    /**
     * Get the duration of the audio clip
     *
     * @example const duration = wavesurfer.getDuration();
     * @return {number} Duration in seconds
     */

  }, {
    key: "getDuration",
    value: function getDuration() {
      return this.backend.getDuration();
    }
    /**
     * Get the current playback position
     *
     * @example const currentTime = wavesurfer.getCurrentTime();
     * @return {number} Playback position in seconds
     */

  }, {
    key: "getCurrentTime",
    value: function getCurrentTime() {
      return this.backend.getCurrentTime();
    }
    /**
     * Set the current play time in seconds.
     *
     * @param {number} seconds A positive number in seconds. E.g. 10 means 10
     * seconds, 60 means 1 minute
     */

  }, {
    key: "setCurrentTime",
    value: function setCurrentTime(seconds) {
      if (seconds >= this.getDuration()) {
        this.seekTo(1);
      } else {
        this.seekTo(seconds / this.getDuration());
      }
    }
    /**
     * Starts playback from the current position. Optional start and end
     * measured in seconds can be used to set the range of audio to play.
     *
     * @param {?number} start Position to start at
     * @param {?number} end Position to end at
     * @emits WaveSurfer#interaction
     * @return {Promise} Result of the backend play method
     * @example
     * // play from second 1 to 5
     * wavesurfer.play(1, 5);
     */

  }, {
    key: "play",
    value: function play(start, end) {
      var _this7 = this;

      if (this.params.ignoreSilenceMode) {
        // ignores device hardware silence mode
        util.ignoreSilenceMode();
      }

      this.fireEvent('interaction', function () {
        return _this7.play(start, end);
      });
      return this.backend.play(start, end);
    }
    /**
     * Set a point in seconds for playback to stop at.
     *
     * @param {number} position Position (in seconds) to stop at
     * @version 3.3.0
     */

  }, {
    key: "setPlayEnd",
    value: function setPlayEnd(position) {
      this.backend.setPlayEnd(position);
    }
    /**
     * Stops and pauses playback
     *
     * @example wavesurfer.pause();
     * @return {Promise} Result of the backend pause method
     */

  }, {
    key: "pause",
    value: function pause() {
      if (!this.backend.isPaused()) {
        return this.backend.pause();
      }
    }
    /**
     * Toggle playback
     *
     * @example wavesurfer.playPause();
     * @return {Promise} Result of the backend play or pause method
     */

  }, {
    key: "playPause",
    value: function playPause() {
      return this.backend.isPaused() ? this.play() : this.pause();
    }
    /**
     * Get the current playback state
     *
     * @example const isPlaying = wavesurfer.isPlaying();
     * @return {boolean} False if paused, true if playing
     */

  }, {
    key: "isPlaying",
    value: function isPlaying() {
      return !this.backend.isPaused();
    }
    /**
     * Skip backward
     *
     * @param {?number} seconds Amount to skip back, if not specified `skipLength`
     * is used
     * @example wavesurfer.skipBackward();
     */

  }, {
    key: "skipBackward",
    value: function skipBackward(seconds) {
      this.skip(-seconds || -this.params.skipLength);
    }
    /**
     * Skip forward
     *
     * @param {?number} seconds Amount to skip back, if not specified `skipLength`
     * is used
     * @example wavesurfer.skipForward();
     */

  }, {
    key: "skipForward",
    value: function skipForward(seconds) {
      this.skip(seconds || this.params.skipLength);
    }
    /**
     * Skip a number of seconds from the current position (use a negative value
     * to go backwards).
     *
     * @param {number} offset Amount to skip back or forwards
     * @example
     * // go back 2 seconds
     * wavesurfer.skip(-2);
     */

  }, {
    key: "skip",
    value: function skip(offset) {
      var duration = this.getDuration() || 1;
      var position = this.getCurrentTime() || 0;
      position = Math.max(0, Math.min(duration, position + (offset || 0)));
      this.seekAndCenter(position / duration);
    }
    /**
     * Seeks to a position and centers the view
     *
     * @param {number} progress Between 0 (=beginning) and 1 (=end)
     * @example
     * // seek and go to the middle of the audio
     * wavesurfer.seekTo(0.5);
     */

  }, {
    key: "seekAndCenter",
    value: function seekAndCenter(progress) {
      this.seekTo(progress);
      this.drawer.recenter(progress);
    }
    /**
     * Seeks to a position
     *
     * @param {number} progress Between 0 (=beginning) and 1 (=end)
     * @emits WaveSurfer#interaction
     * @emits WaveSurfer#seek
     * @example
     * // seek to the middle of the audio
     * wavesurfer.seekTo(0.5);
     */

  }, {
    key: "seekTo",
    value: function seekTo(progress) {
      var _this8 = this;

      // return an error if progress is not a number between 0 and 1
      if (typeof progress !== 'number' || !isFinite(progress) || progress < 0 || progress > 1) {
        throw new Error('Error calling wavesurfer.seekTo, parameter must be a number between 0 and 1!');
      }

      this.fireEvent('interaction', function () {
        return _this8.seekTo(progress);
      });
      var isWebAudioBackend = this.params.backend === 'WebAudio';
      var paused = this.backend.isPaused();

      if (isWebAudioBackend && !paused) {
        this.backend.pause();
      } // avoid small scrolls while paused seeking


      var oldScrollParent = this.params.scrollParent;
      this.params.scrollParent = false;
      this.backend.seekTo(progress * this.getDuration());
      this.drawer.progress(progress);

      if (isWebAudioBackend && !paused) {
        this.backend.play();
      }

      this.params.scrollParent = oldScrollParent;
      this.fireEvent('seek', progress);
    }
    /**
     * Stops and goes to the beginning.
     *
     * @example wavesurfer.stop();
     */

  }, {
    key: "stop",
    value: function stop() {
      this.pause();
      this.seekTo(0);
      this.drawer.progress(0);
    }
    /**
     * Sets the ID of the audio device to use for output and returns a Promise.
     *
     * @param {string} deviceId String value representing underlying output
     * device
     * @returns {Promise} `Promise` that resolves to `undefined` when there are
     * no errors detected.
     */

  }, {
    key: "setSinkId",
    value: function setSinkId(deviceId) {
      return this.backend.setSinkId(deviceId);
    }
    /**
     * Set the playback volume.
     *
     * @param {number} newVolume A value between 0 and 1, 0 being no
     * volume and 1 being full volume.
     * @emits WaveSurfer#volume
     */

  }, {
    key: "setVolume",
    value: function setVolume(newVolume) {
      this.backend.setVolume(newVolume);
      this.fireEvent('volume', newVolume);
    }
    /**
     * Get the playback volume.
     *
     * @return {number} A value between 0 and 1, 0 being no
     * volume and 1 being full volume.
     */

  }, {
    key: "getVolume",
    value: function getVolume() {
      return this.backend.getVolume();
    }
    /**
     * Set the playback rate.
     *
     * @param {number} rate A positive number. E.g. 0.5 means half the normal
     * speed, 2 means double speed and so on.
     * @example wavesurfer.setPlaybackRate(2);
     */

  }, {
    key: "setPlaybackRate",
    value: function setPlaybackRate(rate) {
      this.backend.setPlaybackRate(rate);
    }
    /**
     * Get the playback rate.
     *
     * @return {number} The current playback rate.
     */

  }, {
    key: "getPlaybackRate",
    value: function getPlaybackRate() {
      return this.backend.getPlaybackRate();
    }
    /**
     * Toggle the volume on and off. If not currently muted it will save the
     * current volume value and turn the volume off. If currently muted then it
     * will restore the volume to the saved value, and then rest the saved
     * value.
     *
     * @example wavesurfer.toggleMute();
     */

  }, {
    key: "toggleMute",
    value: function toggleMute() {
      this.setMute(!this.isMuted);
    }
    /**
     * Enable or disable muted audio
     *
     * @param {boolean} mute Specify `true` to mute audio.
     * @emits WaveSurfer#volume
     * @emits WaveSurfer#mute
     * @example
     * // unmute
     * wavesurfer.setMute(false);
     * console.log(wavesurfer.getMute()) // logs false
     */

  }, {
    key: "setMute",
    value: function setMute(mute) {
      // ignore all muting requests if the audio is already in that state
      if (mute === this.isMuted) {
        this.fireEvent('mute', this.isMuted);
        return;
      }

      if (this.backend.setMute) {
        // Backends such as the MediaElement backend have their own handling
        // of mute, let them handle it.
        this.backend.setMute(mute);
        this.isMuted = mute;
      } else {
        if (mute) {
          // If currently not muted then save current volume,
          // turn off the volume and update the mute properties
          this.savedVolume = this.backend.getVolume();
          this.backend.setVolume(0);
          this.isMuted = true;
          this.fireEvent('volume', 0);
        } else {
          // If currently muted then restore to the saved volume
          // and update the mute properties
          this.backend.setVolume(this.savedVolume);
          this.isMuted = false;
          this.fireEvent('volume', this.savedVolume);
        }
      }

      this.fireEvent('mute', this.isMuted);
    }
    /**
     * Get the current mute status.
     *
     * @example const isMuted = wavesurfer.getMute();
     * @return {boolean} Current mute status
     */

  }, {
    key: "getMute",
    value: function getMute() {
      return this.isMuted;
    }
    /**
     * Get the list of current set filters as an array.
     *
     * Filters must be set with setFilters method first
     *
     * @return {array} List of enabled filters
     */

  }, {
    key: "getFilters",
    value: function getFilters() {
      return this.backend.filters || [];
    }
    /**
     * Toggles `scrollParent` and redraws
     *
     * @example wavesurfer.toggleScroll();
     */

  }, {
    key: "toggleScroll",
    value: function toggleScroll() {
      this.params.scrollParent = !this.params.scrollParent;
      this.drawBuffer();
    }
    /**
     * Toggle mouse interaction
     *
     * @example wavesurfer.toggleInteraction();
     */

  }, {
    key: "toggleInteraction",
    value: function toggleInteraction() {
      this.params.interact = !this.params.interact;
    }
    /**
     * Get the fill color of the waveform after the cursor.
     *
     * @return {string} A CSS color string.
     */

  }, {
    key: "getWaveColor",
    value: function getWaveColor() {
      return this.params.waveColor;
    }
    /**
     * Set the fill color of the waveform after the cursor.
     *
     * @param {string} color A CSS color string.
     * @example wavesurfer.setWaveColor('#ddd');
     */

  }, {
    key: "setWaveColor",
    value: function setWaveColor(color) {
      this.params.waveColor = color;
      this.drawBuffer();
    }
    /**
     * Get the fill color of the waveform behind the cursor.
     *
     * @return {string} A CSS color string.
     */

  }, {
    key: "getProgressColor",
    value: function getProgressColor() {
      return this.params.progressColor;
    }
    /**
     * Set the fill color of the waveform behind the cursor.
     *
     * @param {string} color A CSS color string.
     * @example wavesurfer.setProgressColor('#400');
     */

  }, {
    key: "setProgressColor",
    value: function setProgressColor(color) {
      this.params.progressColor = color;
      this.drawBuffer();
    }
    /**
     * Get the background color of the waveform container.
     *
     * @return {string} A CSS color string.
     */

  }, {
    key: "getBackgroundColor",
    value: function getBackgroundColor() {
      return this.params.backgroundColor;
    }
    /**
     * Set the background color of the waveform container.
     *
     * @param {string} color A CSS color string.
     * @example wavesurfer.setBackgroundColor('#FF00FF');
     */

  }, {
    key: "setBackgroundColor",
    value: function setBackgroundColor(color) {
      this.params.backgroundColor = color;
      util.style(this.container, {
        background: this.params.backgroundColor
      });
    }
    /**
     * Get the fill color of the cursor indicating the playhead
     * position.
     *
     * @return {string} A CSS color string.
     */

  }, {
    key: "getCursorColor",
    value: function getCursorColor() {
      return this.params.cursorColor;
    }
    /**
     * Set the fill color of the cursor indicating the playhead
     * position.
     *
     * @param {string} color A CSS color string.
     * @example wavesurfer.setCursorColor('#222');
     */

  }, {
    key: "setCursorColor",
    value: function setCursorColor(color) {
      this.params.cursorColor = color;
      this.drawer.updateCursor();
    }
    /**
     * Get the height of the waveform.
     *
     * @return {number} Height measured in pixels.
     */

  }, {
    key: "getHeight",
    value: function getHeight() {
      return this.params.height;
    }
    /**
     * Set the height of the waveform.
     *
     * @param {number} height Height measured in pixels.
     * @example wavesurfer.setHeight(200);
     */

  }, {
    key: "setHeight",
    value: function setHeight(height) {
      this.params.height = height;
      this.drawer.setHeight(height * this.params.pixelRatio);
      this.drawBuffer();
    }
    /**
     * Hide channels from being drawn on the waveform if splitting channels.
     *
     * For example, if we want to draw only the peaks for the right stereo channel:
     *
     * const wavesurfer = new WaveSurfer.create({...splitChannels: true});
     * wavesurfer.load('stereo_audio.mp3');
     *
     * wavesurfer.setFilteredChannel([0]); <-- hide left channel peaks.
     *
     * @param {array} channelIndices Channels to be filtered out from drawing.
     * @version 4.0.0
     */

  }, {
    key: "setFilteredChannels",
    value: function setFilteredChannels(channelIndices) {
      this.params.splitChannelsOptions.filterChannels = channelIndices;
      this.drawBuffer();
    }
    /**
     * Get the correct peaks for current wave view-port and render wave
     *
     * @private
     * @emits WaveSurfer#redraw
     */

  }, {
    key: "drawBuffer",
    value: function drawBuffer() {
      var nominalWidth = Math.round(this.getDuration() * this.params.minPxPerSec * this.params.pixelRatio);
      var parentWidth = this.drawer.getWidth();
      var width = nominalWidth; // always start at 0 after zooming for scrolling : issue redraw left part

      var start = 0;
      var end = Math.max(start + parentWidth, width); // Fill container

      if (this.params.fillParent && (!this.params.scrollParent || nominalWidth < parentWidth)) {
        width = parentWidth;
        start = 0;
        end = width;
      }

      var peaks;

      if (this.params.partialRender) {
        var newRanges = this.peakCache.addRangeToPeakCache(width, start, end);
        var i;

        for (i = 0; i < newRanges.length; i++) {
          peaks = this.backend.getPeaks(width, newRanges[i][0], newRanges[i][1]);
          this.drawer.drawPeaks(peaks, width, newRanges[i][0], newRanges[i][1]);
        }
      } else {
        peaks = this.backend.getPeaks(width, start, end);
        this.drawer.drawPeaks(peaks, width, start, end);
      }

      this.fireEvent('redraw', peaks, width);
    }
    /**
     * Horizontally zooms the waveform in and out. It also changes the parameter
     * `minPxPerSec` and enables the `scrollParent` option. Calling the function
     * with a falsey parameter will reset the zoom state.
     *
     * @param {?number} pxPerSec Number of horizontal pixels per second of
     * audio, if none is set the waveform returns to unzoomed state
     * @emits WaveSurfer#zoom
     * @example wavesurfer.zoom(20);
     */

  }, {
    key: "zoom",
    value: function zoom(pxPerSec) {
      if (!pxPerSec) {
        this.params.minPxPerSec = this.defaultParams.minPxPerSec;
        this.params.scrollParent = false;
      } else {
        this.params.minPxPerSec = pxPerSec;
        this.params.scrollParent = true;
      }

      this.drawBuffer();
      this.drawer.progress(this.backend.getPlayedPercents());
      this.drawer.recenter(this.getCurrentTime() / this.getDuration());
      this.fireEvent('zoom', pxPerSec);
    }
    /**
     * Decode buffer and load
     *
     * @private
     * @param {ArrayBuffer} arraybuffer Buffer to process
     */

  }, {
    key: "loadArrayBuffer",
    value: function loadArrayBuffer(arraybuffer) {
      var _this9 = this;

      this.decodeArrayBuffer(arraybuffer, function (data) {
        if (!_this9.isDestroyed) {
          _this9.loadDecodedBuffer(data);
        }
      });
    }
    /**
     * Directly load an externally decoded AudioBuffer
     *
     * @private
     * @param {AudioBuffer} buffer Buffer to process
     * @emits WaveSurfer#ready
     */

  }, {
    key: "loadDecodedBuffer",
    value: function loadDecodedBuffer(buffer) {
      this.backend.load(buffer);
      this.drawBuffer();
      this.isReady = true;
      this.fireEvent('ready');
    }
    /**
     * Loads audio data from a Blob or File object
     *
     * @param {Blob|File} blob Audio data
     * @example
     */

  }, {
    key: "loadBlob",
    value: function loadBlob(blob) {
      var _this10 = this;

      // Create file reader
      var reader = new FileReader();
      reader.addEventListener('progress', function (e) {
        return _this10.onProgress(e);
      });
      reader.addEventListener('load', function (e) {
        return _this10.loadArrayBuffer(e.target.result);
      });
      reader.addEventListener('error', function () {
        return _this10.fireEvent('error', 'Error reading file');
      });
      reader.readAsArrayBuffer(blob);
      this.empty();
    }
    /**
     * Loads audio and re-renders the waveform.
     *
     * @param {string|HTMLMediaElement} url The url of the audio file or the
     * audio element with the audio
     * @param {number[]|Number.<Array[]>} peaks Wavesurfer does not have to decode
     * the audio to render the waveform if this is specified
     * @param {?string} preload (Use with backend `MediaElement` and `MediaElementWebAudio`)
     * `'none'|'metadata'|'auto'` Preload attribute for the media element
     * @param {?number} duration The duration of the audio. This is used to
     * render the peaks data in the correct size for the audio duration (as
     * befits the current `minPxPerSec` and zoom value) without having to decode
     * the audio.
     * @returns {void}
     * @throws Will throw an error if the `url` argument is empty.
     * @example
     * // uses fetch or media element to load file (depending on backend)
     * wavesurfer.load('http://example.com/demo.wav');
     *
     * // setting preload attribute with media element backend and supplying
     * // peaks
     * wavesurfer.load(
     *   'http://example.com/demo.wav',
     *   [0.0218, 0.0183, 0.0165, 0.0198, 0.2137, 0.2888],
     *   true
     * );
     */

  }, {
    key: "load",
    value: function load(url, peaks, preload, duration) {
      if (!url) {
        throw new Error('url parameter cannot be empty');
      }

      this.empty();

      if (preload) {
        // check whether the preload attribute will be usable and if not log
        // a warning listing the reasons why not and nullify the variable
        var preloadIgnoreReasons = {
          "Preload is not 'auto', 'none' or 'metadata'": ['auto', 'metadata', 'none'].indexOf(preload) === -1,
          'Peaks are not provided': !peaks,
          "Backend is not of type 'MediaElement' or 'MediaElementWebAudio'": ['MediaElement', 'MediaElementWebAudio'].indexOf(this.params.backend) === -1,
          'Url is not of type string': typeof url !== 'string'
        };
        var activeReasons = Object.keys(preloadIgnoreReasons).filter(function (reason) {
          return preloadIgnoreReasons[reason];
        });

        if (activeReasons.length) {
          // eslint-disable-next-line no-console
          console.warn('Preload parameter of wavesurfer.load will be ignored because:\n\t- ' + activeReasons.join('\n\t- ')); // stop invalid values from being used

          preload = null;
        }
      } // loadBuffer(url, peaks, duration) requires that url is a string
      // but users can pass in a HTMLMediaElement to WaveSurfer


      if (this.params.backend === 'WebAudio' && url instanceof HTMLMediaElement) {
        url = url.src;
      }

      switch (this.params.backend) {
        case 'WebAudio':
          return this.loadBuffer(url, peaks, duration);

        case 'MediaElement':
        case 'MediaElementWebAudio':
          return this.loadMediaElement(url, peaks, preload, duration);
      }
    }
    /**
     * Loads audio using Web Audio buffer backend.
     *
     * @private
     * @emits WaveSurfer#waveform-ready
     * @param {string} url URL of audio file
     * @param {number[]|Number.<Array[]>} peaks Peaks data
     * @param {?number} duration Optional duration of audio file
     * @returns {void}
     */

  }, {
    key: "loadBuffer",
    value: function loadBuffer(url, peaks, duration) {
      var _this11 = this;

      var load = function load(action) {
        if (action) {
          _this11.tmpEvents.push(_this11.once('ready', action));
        }

        return _this11.getArrayBuffer(url, function (data) {
          return _this11.loadArrayBuffer(data);
        });
      };

      if (peaks) {
        this.backend.setPeaks(peaks, duration);
        this.drawBuffer();
        this.fireEvent('waveform-ready');
        this.tmpEvents.push(this.once('interaction', load));
      } else {
        return load();
      }
    }
    /**
     * Either create a media element, or load an existing media element.
     *
     * @private
     * @emits WaveSurfer#waveform-ready
     * @param {string|HTMLMediaElement} urlOrElt Either a path to a media file, or an
     * existing HTML5 Audio/Video Element
     * @param {number[]|Number.<Array[]>} peaks Array of peaks. Required to bypass web audio
     * dependency
     * @param {?boolean} preload Set to true if the preload attribute of the
     * audio element should be enabled
     * @param {?number} duration Optional duration of audio file
     */

  }, {
    key: "loadMediaElement",
    value: function loadMediaElement(urlOrElt, peaks, preload, duration) {
      var _this12 = this;

      var url = urlOrElt;

      if (typeof urlOrElt === 'string') {
        this.backend.load(url, this.mediaContainer, peaks, preload);
      } else {
        var elt = urlOrElt;
        this.backend.loadElt(elt, peaks); // If peaks are not provided,
        // url = element.src so we can get peaks with web audio

        url = elt.src;
      }

      this.tmpEvents.push(this.backend.once('canplay', function () {
        // ignore when backend was already destroyed
        if (!_this12.backend.destroyed) {
          _this12.drawBuffer();

          _this12.isReady = true;

          _this12.fireEvent('ready');
        }
      }), this.backend.once('error', function (err) {
        return _this12.fireEvent('error', err);
      })); // If peaks are provided, render them and fire the `waveform-ready` event.

      if (peaks) {
        this.backend.setPeaks(peaks, duration);
        this.drawBuffer();
        this.fireEvent('waveform-ready');
      } // If no pre-decoded peaks are provided, or are provided with
      // forceDecode flag, attempt to download the audio file and decode it
      // with Web Audio.


      if ((!peaks || this.params.forceDecode) && this.backend.supportsWebAudio()) {
        this.getArrayBuffer(url, function (arraybuffer) {
          _this12.decodeArrayBuffer(arraybuffer, function (buffer) {
            _this12.backend.buffer = buffer;

            _this12.backend.setPeaks(null);

            _this12.drawBuffer();

            _this12.fireEvent('waveform-ready');
          });
        });
      }
    }
    /**
     * Decode an array buffer and pass data to a callback
     *
     * @private
     * @param {Object} arraybuffer The array buffer to decode
     * @param {function} callback The function to call on complete
     */

  }, {
    key: "decodeArrayBuffer",
    value: function decodeArrayBuffer(arraybuffer, callback) {
      var _this13 = this;

      if (!this.isDestroyed) {
        this.arraybuffer = arraybuffer;
        this.backend.decodeArrayBuffer(arraybuffer, function (data) {
          // Only use the decoded data if we haven't been destroyed or
          // another decode started in the meantime
          if (!_this13.isDestroyed && _this13.arraybuffer == arraybuffer) {
            callback(data);
            _this13.arraybuffer = null;
          }
        }, function () {
          return _this13.fireEvent('error', 'Error decoding audiobuffer');
        });
      }
    }
    /**
     * Load an array buffer using fetch and pass the result to a callback
     *
     * @param {string} url The URL of the file object
     * @param {function} callback The function to call on complete
     * @returns {util.fetchFile} fetch call
     * @private
     */

  }, {
    key: "getArrayBuffer",
    value: function getArrayBuffer(url, callback) {
      var _this14 = this;

      var options = Object.assign({
        url: url,
        responseType: 'arraybuffer'
      }, this.params.xhr);
      var request = util.fetchFile(options);
      this.currentRequest = request;
      this.tmpEvents.push(request.on('progress', function (e) {
        _this14.onProgress(e);
      }), request.on('success', function (data) {
        callback(data);
        _this14.currentRequest = null;
      }), request.on('error', function (e) {
        _this14.fireEvent('error', e);

        _this14.currentRequest = null;
      }));
      return request;
    }
    /**
     * Called while the audio file is loading
     *
     * @private
     * @param {Event} e Progress event
     * @emits WaveSurfer#loading
     */

  }, {
    key: "onProgress",
    value: function onProgress(e) {
      var percentComplete;

      if (e.lengthComputable) {
        percentComplete = e.loaded / e.total;
      } else {
        // Approximate progress with an asymptotic
        // function, and assume downloads in the 1-3 MB range.
        percentComplete = e.loaded / (e.loaded + 1000000);
      }

      this.fireEvent('loading', Math.round(percentComplete * 100), e.target);
    }
    /**
     * Exports PCM data into a JSON array and optionally opens in a new window
     * as valid JSON Blob instance.
     *
     * @param {number} length=1024 The scale in which to export the peaks
     * @param {number} accuracy=10000
     * @param {?boolean} noWindow Set to true to disable opening a new
     * window with the JSON
     * @param {number} start Start index
     * @param {number} end End index
     * @return {Promise} Promise that resolves with array of peaks
     */

  }, {
    key: "exportPCM",
    value: function exportPCM(length, accuracy, noWindow, start, end) {
      length = length || 1024;
      start = start || 0;
      accuracy = accuracy || 10000;
      noWindow = noWindow || false;
      var peaks = this.backend.getPeaks(length, start, end);
      var arr = [].map.call(peaks, function (val) {
        return Math.round(val * accuracy) / accuracy;
      });
      return new Promise(function (resolve, reject) {
        if (!noWindow) {
          var blobJSON = new Blob([JSON.stringify(arr)], {
            type: 'application/json;charset=utf-8'
          });
          var objURL = URL.createObjectURL(blobJSON);
          window.open(objURL);
          URL.revokeObjectURL(objURL);
        }

        resolve(arr);
      });
    }
    /**
     * Save waveform image as data URI.
     *
     * The default format is `'image/png'`. Other supported types are
     * `'image/jpeg'` and `'image/webp'`.
     *
     * @param {string} format='image/png' A string indicating the image format.
     * The default format type is `'image/png'`.
     * @param {number} quality=1 A number between 0 and 1 indicating the image
     * quality to use for image formats that use lossy compression such as
     * `'image/jpeg'`` and `'image/webp'`.
     * @param {string} type Image data type to return. Either 'dataURL' (default)
     * or 'blob'.
     * @return {string|string[]|Promise} When using `'dataURL'` type this returns
     * a single data URL or an array of data URLs, one for each canvas. When using
     * `'blob'` type this returns a `Promise` resolving with an array of `Blob`
     * instances, one for each canvas.
     */

  }, {
    key: "exportImage",
    value: function exportImage(format, quality, type) {
      if (!format) {
        format = 'image/png';
      }

      if (!quality) {
        quality = 1;
      }

      if (!type) {
        type = 'dataURL';
      }

      return this.drawer.getImage(format, quality, type);
    }
    /**
     * Cancel any fetch request currently in progress
     */

  }, {
    key: "cancelAjax",
    value: function cancelAjax() {
      if (this.currentRequest && this.currentRequest.controller) {
        // If the current request has a ProgressHandler, then its ReadableStream might need to be cancelled too
        // See: Wavesurfer issue #2042
        // See Firefox bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1583815
        if (this.currentRequest._reader) {
          // Ignoring exceptions thrown by call to cancel()
          this.currentRequest._reader.cancel().catch(function (err) {});
        }

        this.currentRequest.controller.abort();
        this.currentRequest = null;
      }
    }
    /**
     * @private
     */

  }, {
    key: "clearTmpEvents",
    value: function clearTmpEvents() {
      this.tmpEvents.forEach(function (e) {
        return e.un();
      });
    }
    /**
     * Display empty waveform.
     */

  }, {
    key: "empty",
    value: function empty() {
      if (!this.backend.isPaused()) {
        this.stop();
        this.backend.disconnectSource();
      }

      this.isReady = false;
      this.cancelAjax();
      this.clearTmpEvents(); // empty drawer

      this.drawer.progress(0);
      this.drawer.setWidth(0);
      this.drawer.drawPeaks({
        length: this.drawer.getWidth()
      }, 0);
    }
    /**
     * Remove events, elements and disconnect WebAudio nodes.
     *
     * @emits WaveSurfer#destroy
     */

  }, {
    key: "destroy",
    value: function destroy() {
      this.destroyAllPlugins();
      this.fireEvent('destroy');
      this.cancelAjax();
      this.clearTmpEvents();
      this.unAll();

      if (this.params.responsive !== false) {
        window.removeEventListener('resize', this._onResize, true);
        window.removeEventListener('orientationchange', this._onResize, true);
      }

      if (this.backend) {
        this.backend.destroy(); // clears memory usage

        this.backend = null;
      }

      if (this.drawer) {
        this.drawer.destroy();
      }

      this.isDestroyed = true;
      this.isReady = false;
      this.arraybuffer = null;
    }
  }], [{
    key: "create",
    value:
    /** @private */

    /** @private */

    /**
     * Instantiate this class, call its `init` function and returns it
     *
     * @param {WavesurferParams} params The wavesurfer parameters
     * @return {Object} WaveSurfer instance
     * @example const wavesurfer = WaveSurfer.create(params);
     */
    function create(params) {
      var wavesurfer = new WaveSurfer(params);
      return wavesurfer.init();
    }
    /**
     * The library version number is available as a static property of the
     * WaveSurfer class
     *
     * @type {String}
     * @example
     * console.log('Using wavesurfer.js ' + WaveSurfer.VERSION);
     */

  }]);

  return WaveSurfer;
}(util.Observer);

exports.default = WaveSurfer;
WaveSurfer.VERSION = "5.2.0";
WaveSurfer.util = util;
module.exports = exports.default;

/***/ }),

/***/ "./src/webaudio.js":
/*!*************************!*\
  !*** ./src/webaudio.js ***!
  \*************************/
/***/ ((module, exports, __nested_webpack_require_180241__) => {

"use strict";


function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

var util = _interopRequireWildcard(__nested_webpack_require_180241__(/*! ./util */ "./src/util/index.js"));

function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }

function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }

function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }

function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }

function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }

function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }

function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }

function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }

// using constants to prevent someone writing the string wrong
var PLAYING = 'playing';
var PAUSED = 'paused';
var FINISHED = 'finished';
/**
 * WebAudio backend
 *
 * @extends {Observer}
 */

var WebAudio = /*#__PURE__*/function (_util$Observer) {
  _inherits(WebAudio, _util$Observer);

  var _super = _createSuper(WebAudio);

  /**
   * Construct the backend
   *
   * @param {WavesurferParams} params Wavesurfer parameters
   */
  function WebAudio(params) {
    var _this$stateBehaviors, _this$states;

    var _this;

    _classCallCheck(this, WebAudio);

    _this = _super.call(this);
    /** @private */

    _this.audioContext = null;
    _this.offlineAudioContext = null;
    _this.stateBehaviors = (_this$stateBehaviors = {}, _defineProperty(_this$stateBehaviors, PLAYING, {
      init: function init() {
        this.addOnAudioProcess();
      },
      getPlayedPercents: function getPlayedPercents() {
        var duration = this.getDuration();
        return this.getCurrentTime() / duration || 0;
      },
      getCurrentTime: function getCurrentTime() {
        return this.startPosition + this.getPlayedTime();
      }
    }), _defineProperty(_this$stateBehaviors, PAUSED, {
      init: function init() {
        this.removeOnAudioProcess();
      },
      getPlayedPercents: function getPlayedPercents() {
        var duration = this.getDuration();
        return this.getCurrentTime() / duration || 0;
      },
      getCurrentTime: function getCurrentTime() {
        return this.startPosition;
      }
    }), _defineProperty(_this$stateBehaviors, FINISHED, {
      init: function init() {
        this.removeOnAudioProcess();
        this.fireEvent('finish');
      },
      getPlayedPercents: function getPlayedPercents() {
        return 1;
      },
      getCurrentTime: function getCurrentTime() {
        return this.getDuration();
      }
    }), _this$stateBehaviors);
    _this.params = params;
    /** ac: Audio Context instance */

    _this.ac = params.audioContext || (_this.supportsWebAudio() ? _this.getAudioContext() : {});
    /**@private */

    _this.lastPlay = _this.ac.currentTime;
    /** @private */

    _this.startPosition = 0;
    /** @private */

    _this.scheduledPause = null;
    /** @private */

    _this.states = (_this$states = {}, _defineProperty(_this$states, PLAYING, Object.create(_this.stateBehaviors[PLAYING])), _defineProperty(_this$states, PAUSED, Object.create(_this.stateBehaviors[PAUSED])), _defineProperty(_this$states, FINISHED, Object.create(_this.stateBehaviors[FINISHED])), _this$states);
    /** @private */

    _this.buffer = null;
    /** @private */

    _this.filters = [];
    /** gainNode: allows to control audio volume */

    _this.gainNode = null;
    /** @private */

    _this.mergedPeaks = null;
    /** @private */

    _this.offlineAc = null;
    /** @private */

    _this.peaks = null;
    /** @private */

    _this.playbackRate = 1;
    /** analyser: provides audio analysis information */

    _this.analyser = null;
    /** scriptNode: allows processing audio */

    _this.scriptNode = null;
    /** @private */

    _this.source = null;
    /** @private */

    _this.splitPeaks = [];
    /** @private */

    _this.state = null;
    /** @private */

    _this.explicitDuration = params.duration;
    /**
     * Boolean indicating if the backend was destroyed.
     */

    _this.destroyed = false;
    return _this;
  }
  /**
   * Initialise the backend, called in `wavesurfer.createBackend()`
   */


  _createClass(WebAudio, [{
    key: "supportsWebAudio",
    value:
    /** scriptBufferSize: size of the processing buffer */

    /** audioContext: allows to process audio with WebAudio API */

    /** @private */

    /** @private */

    /**
     * Does the browser support this backend
     *
     * @return {boolean} Whether or not this browser supports this backend
     */
    function supportsWebAudio() {
      return !!(window.AudioContext || window.webkitAudioContext);
    }
    /**
     * Get the audio context used by this backend or create one
     *
     * @return {AudioContext} Existing audio context, or creates a new one
     */

  }, {
    key: "getAudioContext",
    value: function getAudioContext() {
      if (!window.WaveSurferAudioContext) {
        window.WaveSurferAudioContext = new (window.AudioContext || window.webkitAudioContext)();
      }

      return window.WaveSurferAudioContext;
    }
    /**
     * Get the offline audio context used by this backend or create one
     *
     * @param {number} sampleRate The sample rate to use
     * @return {OfflineAudioContext} Existing offline audio context, or creates
     * a new one
     */

  }, {
    key: "getOfflineAudioContext",
    value: function getOfflineAudioContext(sampleRate) {
      if (!window.WaveSurferOfflineAudioContext) {
        window.WaveSurferOfflineAudioContext = new (window.OfflineAudioContext || window.webkitOfflineAudioContext)(1, 2, sampleRate);
      }

      return window.WaveSurferOfflineAudioContext;
    }
  }, {
    key: "init",
    value: function init() {
      this.createVolumeNode();
      this.createScriptNode();
      this.createAnalyserNode();
      this.setState(PAUSED);
      this.setPlaybackRate(this.params.audioRate);
      this.setLength(0);
    }
    /** @private */

  }, {
    key: "disconnectFilters",
    value: function disconnectFilters() {
      if (this.filters) {
        this.filters.forEach(function (filter) {
          filter && filter.disconnect();
        });
        this.filters = null; // Reconnect direct path

        this.analyser.connect(this.gainNode);
      }
    }
    /**
     * @private
     *
     * @param {string} state The new state
     */

  }, {
    key: "setState",
    value: function setState(state) {
      if (this.state !== this.states[state]) {
        this.state = this.states[state];
        this.state.init.call(this);
      }
    }
    /**
     * Unpacked `setFilters()`
     *
     * @param {...AudioNode} filters One or more filters to set
     */

  }, {
    key: "setFilter",
    value: function setFilter() {
      for (var _len = arguments.length, filters = new Array(_len), _key = 0; _key < _len; _key++) {
        filters[_key] = arguments[_key];
      }

      this.setFilters(filters);
    }
    /**
     * Insert custom Web Audio nodes into the graph
     *
     * @param {AudioNode[]} filters Packed filters array
     * @example
     * const lowpass = wavesurfer.backend.ac.createBiquadFilter();
     * wavesurfer.backend.setFilter(lowpass);
     */

  }, {
    key: "setFilters",
    value: function setFilters(filters) {
      // Remove existing filters
      this.disconnectFilters(); // Insert filters if filter array not empty

      if (filters && filters.length) {
        this.filters = filters; // Disconnect direct path before inserting filters

        this.analyser.disconnect(); // Connect each filter in turn

        filters.reduce(function (prev, curr) {
          prev.connect(curr);
          return curr;
        }, this.analyser).connect(this.gainNode);
      }
    }
    /** Create ScriptProcessorNode to process audio */

  }, {
    key: "createScriptNode",
    value: function createScriptNode() {
      if (this.params.audioScriptProcessor) {
        this.scriptNode = this.params.audioScriptProcessor;
      } else {
        if (this.ac.createScriptProcessor) {
          this.scriptNode = this.ac.createScriptProcessor(WebAudio.scriptBufferSize);
        } else {
          this.scriptNode = this.ac.createJavaScriptNode(WebAudio.scriptBufferSize);
        }
      }

      this.scriptNode.connect(this.ac.destination);
    }
    /** @private */

  }, {
    key: "addOnAudioProcess",
    value: function addOnAudioProcess() {
      var _this2 = this;

      this.scriptNode.onaudioprocess = function () {
        var time = _this2.getCurrentTime();

        if (time >= _this2.getDuration()) {
          _this2.setState(FINISHED);

          _this2.fireEvent('pause');
        } else if (time >= _this2.scheduledPause) {
          _this2.pause();
        } else if (_this2.state === _this2.states[PLAYING]) {
          _this2.fireEvent('audioprocess', time);
        }
      };
    }
    /** @private */

  }, {
    key: "removeOnAudioProcess",
    value: function removeOnAudioProcess() {
      this.scriptNode.onaudioprocess = null;
    }
    /** Create analyser node to perform audio analysis */

  }, {
    key: "createAnalyserNode",
    value: function createAnalyserNode() {
      this.analyser = this.ac.createAnalyser();
      this.analyser.connect(this.gainNode);
    }
    /**
     * Create the gain node needed to control the playback volume.
     *
     */

  }, {
    key: "createVolumeNode",
    value: function createVolumeNode() {
      // Create gain node using the AudioContext
      if (this.ac.createGain) {
        this.gainNode = this.ac.createGain();
      } else {
        this.gainNode = this.ac.createGainNode();
      } // Add the gain node to the graph


      this.gainNode.connect(this.ac.destination);
    }
    /**
     * Set the sink id for the media player
     *
     * @param {string} deviceId String value representing audio device id.
     * @returns {Promise} A Promise that resolves to `undefined` when there
     * are no errors.
     */

  }, {
    key: "setSinkId",
    value: function setSinkId(deviceId) {
      if (deviceId) {
        /**
         * The webaudio API doesn't currently support setting the device
         * output. Here we create an HTMLAudioElement, connect the
         * webaudio stream to that element and setSinkId there.
         */
        var audio = new window.Audio();

        if (!audio.setSinkId) {
          return Promise.reject(new Error('setSinkId is not supported in your browser'));
        }

        audio.autoplay = true;
        var dest = this.ac.createMediaStreamDestination();
        this.gainNode.disconnect();
        this.gainNode.connect(dest);
        audio.srcObject = dest.stream;
        return audio.setSinkId(deviceId);
      } else {
        return Promise.reject(new Error('Invalid deviceId: ' + deviceId));
      }
    }
    /**
     * Set the audio volume
     *
     * @param {number} value A floating point value between 0 and 1.
     */

  }, {
    key: "setVolume",
    value: function setVolume(value) {
      this.gainNode.gain.setValueAtTime(value, this.ac.currentTime);
    }
    /**
     * Get the current volume
     *
     * @return {number} value A floating point value between 0 and 1.
     */

  }, {
    key: "getVolume",
    value: function getVolume() {
      return this.gainNode.gain.value;
    }
    /**
     * Decode an array buffer and pass data to a callback
     *
     * @private
     * @param {ArrayBuffer} arraybuffer The array buffer to decode
     * @param {function} callback The function to call on complete.
     * @param {function} errback The function to call on error.
     */

  }, {
    key: "decodeArrayBuffer",
    value: function decodeArrayBuffer(arraybuffer, callback, errback) {
      if (!this.offlineAc) {
        this.offlineAc = this.getOfflineAudioContext(this.ac && this.ac.sampleRate ? this.ac.sampleRate : 44100);
      }

      if ('webkitAudioContext' in window) {
        // Safari: no support for Promise-based decodeAudioData enabled
        // Enable it in Safari using the Experimental Features > Modern WebAudio API option
        this.offlineAc.decodeAudioData(arraybuffer, function (data) {
          return callback(data);
        }, errback);
      } else {
        this.offlineAc.decodeAudioData(arraybuffer).then(function (data) {
          return callback(data);
        }).catch(function (err) {
          return errback(err);
        });
      }
    }
    /**
     * Set pre-decoded peaks
     *
     * @param {number[]|Number.<Array[]>} peaks Peaks data
     * @param {?number} duration Explicit duration
     */

  }, {
    key: "setPeaks",
    value: function setPeaks(peaks, duration) {
      if (duration != null) {
        this.explicitDuration = duration;
      }

      this.peaks = peaks;
    }
    /**
     * Set the rendered length (different from the length of the audio)
     *
     * @param {number} length The rendered length
     */

  }, {
    key: "setLength",
    value: function setLength(length) {
      // No resize, we can preserve the cached peaks.
      if (this.mergedPeaks && length == 2 * this.mergedPeaks.length - 1 + 2) {
        return;
      }

      this.splitPeaks = [];
      this.mergedPeaks = []; // Set the last element of the sparse array so the peak arrays are
      // appropriately sized for other calculations.

      var channels = this.buffer ? this.buffer.numberOfChannels : 1;
      var c;

      for (c = 0; c < channels; c++) {
        this.splitPeaks[c] = [];
        this.splitPeaks[c][2 * (length - 1)] = 0;
        this.splitPeaks[c][2 * (length - 1) + 1] = 0;
      }

      this.mergedPeaks[2 * (length - 1)] = 0;
      this.mergedPeaks[2 * (length - 1) + 1] = 0;
    }
    /**
     * Compute the max and min value of the waveform when broken into <length> subranges.
     *
     * @param {number} length How many subranges to break the waveform into.
     * @param {number} first First sample in the required range.
     * @param {number} last Last sample in the required range.
     * @return {number[]|Number.<Array[]>} Array of 2*<length> peaks or array of arrays of
     * peaks consisting of (max, min) values for each subrange.
     */

  }, {
    key: "getPeaks",
    value: function getPeaks(length, first, last) {
      if (this.peaks) {
        return this.peaks;
      }

      if (!this.buffer) {
        return [];
      }

      first = first || 0;
      last = last || length - 1;
      this.setLength(length);

      if (!this.buffer) {
        return this.params.splitChannels ? this.splitPeaks : this.mergedPeaks;
      }
      /**
       * The following snippet fixes a buffering data issue on the Safari
       * browser which returned undefined It creates the missing buffer based
       * on 1 channel, 4096 samples and the sampleRate from the current
       * webaudio context 4096 samples seemed to be the best fit for rendering
       * will review this code once a stable version of Safari TP is out
       */


      if (!this.buffer.length) {
        var newBuffer = this.createBuffer(1, 4096, this.sampleRate);
        this.buffer = newBuffer.buffer;
      }

      var sampleSize = this.buffer.length / length;
      var sampleStep = ~~(sampleSize / 10) || 1;
      var channels = this.buffer.numberOfChannels;
      var c;

      for (c = 0; c < channels; c++) {
        var peaks = this.splitPeaks[c];
        var chan = this.buffer.getChannelData(c);
        var i = void 0;

        for (i = first; i <= last; i++) {
          var start = ~~(i * sampleSize);
          var end = ~~(start + sampleSize);
          /**
           * Initialize the max and min to the first sample of this
           * subrange, so that even if the samples are entirely
           * on one side of zero, we still return the true max and
           * min values in the subrange.
           */

          var min = chan[start];
          var max = min;
          var j = void 0;

          for (j = start; j < end; j += sampleStep) {
            var value = chan[j];

            if (value > max) {
              max = value;
            }

            if (value < min) {
              min = value;
            }
          }

          peaks[2 * i] = max;
          peaks[2 * i + 1] = min;

          if (c == 0 || max > this.mergedPeaks[2 * i]) {
            this.mergedPeaks[2 * i] = max;
          }

          if (c == 0 || min < this.mergedPeaks[2 * i + 1]) {
            this.mergedPeaks[2 * i + 1] = min;
          }
        }
      }

      return this.params.splitChannels ? this.splitPeaks : this.mergedPeaks;
    }
    /**
     * Get the position from 0 to 1
     *
     * @return {number} Position
     */

  }, {
    key: "getPlayedPercents",
    value: function getPlayedPercents() {
      return this.state.getPlayedPercents.call(this);
    }
    /** @private */

  }, {
    key: "disconnectSource",
    value: function disconnectSource() {
      if (this.source) {
        this.source.disconnect();
      }
    }
    /**
     * Destroy all references with WebAudio, disconnecting audio nodes and closing Audio Context
     */

  }, {
    key: "destroyWebAudio",
    value: function destroyWebAudio() {
      this.disconnectFilters();
      this.disconnectSource();
      this.gainNode.disconnect();
      this.scriptNode.disconnect();
      this.analyser.disconnect(); // close the audioContext if closeAudioContext option is set to true

      if (this.params.closeAudioContext) {
        // check if browser supports AudioContext.close()
        if (typeof this.ac.close === 'function' && this.ac.state != 'closed') {
          this.ac.close();
        } // clear the reference to the audiocontext


        this.ac = null; // clear the actual audiocontext, either passed as param or the
        // global singleton

        if (!this.params.audioContext) {
          window.WaveSurferAudioContext = null;
        } else {
          this.params.audioContext = null;
        } // clear the offlineAudioContext


        window.WaveSurferOfflineAudioContext = null;
      }
    }
    /**
     * This is called when wavesurfer is destroyed
     */

  }, {
    key: "destroy",
    value: function destroy() {
      if (!this.isPaused()) {
        this.pause();
      }

      this.unAll();
      this.buffer = null;
      this.destroyed = true;
      this.destroyWebAudio();
    }
    /**
     * Loaded a decoded audio buffer
     *
     * @param {Object} buffer Decoded audio buffer to load
     */

  }, {
    key: "load",
    value: function load(buffer) {
      this.startPosition = 0;
      this.lastPlay = this.ac.currentTime;
      this.buffer = buffer;
      this.createSource();
    }
    /** @private */

  }, {
    key: "createSource",
    value: function createSource() {
      this.disconnectSource();
      this.source = this.ac.createBufferSource(); // adjust for old browsers

      this.source.start = this.source.start || this.source.noteGrainOn;
      this.source.stop = this.source.stop || this.source.noteOff;
      this.setPlaybackRate(this.playbackRate);
      this.source.buffer = this.buffer;
      this.source.connect(this.analyser);
    }
    /**
     * @private
     *
     * some browsers require an explicit call to #resume before they will play back audio
     */

  }, {
    key: "resumeAudioContext",
    value: function resumeAudioContext() {
      if (this.ac.state == 'suspended') {
        this.ac.resume && this.ac.resume();
      }
    }
    /**
     * Used by `wavesurfer.isPlaying()` and `wavesurfer.playPause()`
     *
     * @return {boolean} Whether or not this backend is currently paused
     */

  }, {
    key: "isPaused",
    value: function isPaused() {
      return this.state !== this.states[PLAYING];
    }
    /**
     * Used by `wavesurfer.getDuration()`
     *
     * @return {number} Duration of loaded buffer
     */

  }, {
    key: "getDuration",
    value: function getDuration() {
      if (this.explicitDuration) {
        return this.explicitDuration;
      }

      if (!this.buffer) {
        return 0;
      }

      return this.buffer.duration;
    }
    /**
     * Used by `wavesurfer.seekTo()`
     *
     * @param {number} start Position to start at in seconds
     * @param {number} end Position to end at in seconds
     * @return {{start: number, end: number}} Object containing start and end
     * positions
     */

  }, {
    key: "seekTo",
    value: function seekTo(start, end) {
      if (!this.buffer) {
        return;
      }

      this.scheduledPause = null;

      if (start == null) {
        start = this.getCurrentTime();

        if (start >= this.getDuration()) {
          start = 0;
        }
      }

      if (end == null) {
        end = this.getDuration();
      }

      this.startPosition = start;
      this.lastPlay = this.ac.currentTime;

      if (this.state === this.states[FINISHED]) {
        this.setState(PAUSED);
      }

      return {
        start: start,
        end: end
      };
    }
    /**
     * Get the playback position in seconds
     *
     * @return {number} The playback position in seconds
     */

  }, {
    key: "getPlayedTime",
    value: function getPlayedTime() {
      return (this.ac.currentTime - this.lastPlay) * this.playbackRate;
    }
    /**
     * Plays the loaded audio region.
     *
     * @param {number} start Start offset in seconds, relative to the beginning
     * of a clip.
     * @param {number} end When to stop relative to the beginning of a clip.
     */

  }, {
    key: "play",
    value: function play(start, end) {
      if (!this.buffer) {
        return;
      } // need to re-create source on each playback


      this.createSource();
      var adjustedTime = this.seekTo(start, end);
      start = adjustedTime.start;
      end = adjustedTime.end;
      this.scheduledPause = end;
      this.source.start(0, start);
      this.resumeAudioContext();
      this.setState(PLAYING);
      this.fireEvent('play');
    }
    /**
     * Pauses the loaded audio.
     */

  }, {
    key: "pause",
    value: function pause() {
      this.scheduledPause = null;
      this.startPosition += this.getPlayedTime();

      try {
        this.source && this.source.stop(0);
      } catch (err) {// Calling stop can throw the following 2 errors:
        // - RangeError (The value specified for when is negative.)
        // - InvalidStateNode (The node has not been started by calling start().)
        // We can safely ignore both errors, because:
        // - The range is surely correct
        // - The node might not have been started yet, in which case we just want to carry on without causing any trouble.
      }

      this.setState(PAUSED);
      this.fireEvent('pause');
    }
    /**
     * Returns the current time in seconds relative to the audio-clip's
     * duration.
     *
     * @return {number} The current time in seconds
     */

  }, {
    key: "getCurrentTime",
    value: function getCurrentTime() {
      return this.state.getCurrentTime.call(this);
    }
    /**
     * Returns the current playback rate. (0=no playback, 1=normal playback)
     *
     * @return {number} The current playback rate
     */

  }, {
    key: "getPlaybackRate",
    value: function getPlaybackRate() {
      return this.playbackRate;
    }
    /**
     * Set the audio source playback rate.
     *
     * @param {number} value The playback rate to use
     */

  }, {
    key: "setPlaybackRate",
    value: function setPlaybackRate(value) {
      this.playbackRate = value || 1;
      this.source && this.source.playbackRate.setValueAtTime(this.playbackRate, this.ac.currentTime);
    }
    /**
     * Set a point in seconds for playback to stop at.
     *
     * @param {number} end Position to end at
     * @version 3.3.0
     */

  }, {
    key: "setPlayEnd",
    value: function setPlayEnd(end) {
      this.scheduledPause = end;
    }
  }]);

  return WebAudio;
}(util.Observer);

exports.default = WebAudio;
WebAudio.scriptBufferSize = 256;
module.exports = exports.default;

/***/ }),

/***/ "./node_modules/debounce/index.js":
/*!****************************************!*\
  !*** ./node_modules/debounce/index.js ***!
  \****************************************/
/***/ ((module) => {

/**
 * Returns a function, that, as long as it continues to be invoked, will not
 * be triggered. The function will be called after it stops being called for
 * N milliseconds. If `immediate` is passed, trigger the function on the
 * leading edge, instead of the trailing. The function also has a property 'clear' 
 * that is a function which will clear the timer to prevent previously scheduled executions. 
 *
 * @source underscore.js
 * @see http://unscriptable.com/2009/03/20/debouncing-javascript-methods/
 * @param {Function} function to wrap
 * @param {Number} timeout in ms (`100`)
 * @param {Boolean} whether to execute at the beginning (`false`)
 * @api public
 */
function debounce(func, wait, immediate){
  var timeout, args, context, timestamp, result;
  if (null == wait) wait = 100;

  function later() {
    var last = Date.now() - timestamp;

    if (last < wait && last >= 0) {
      timeout = setTimeout(later, wait - last);
    } else {
      timeout = null;
      if (!immediate) {
        result = func.apply(context, args);
        context = args = null;
      }
    }
  };

  var debounced = function(){
    context = this;
    args = arguments;
    timestamp = Date.now();
    var callNow = immediate && !timeout;
    if (!timeout) timeout = setTimeout(later, wait);
    if (callNow) {
      result = func.apply(context, args);
      context = args = null;
    }

    return result;
  };

  debounced.clear = function() {
    if (timeout) {
      clearTimeout(timeout);
      timeout = null;
    }
  };
  
  debounced.flush = function() {
    if (timeout) {
      result = func.apply(context, args);
      context = args = null;
      
      clearTimeout(timeout);
      timeout = null;
    }
  };

  return debounced;
};

// Adds compatibility for ES modules
debounce.debounce = debounce;

module.exports = debounce;


/***/ })

/******/ 	});
/************************************************************************/
/******/ 	// The module cache
/******/ 	var __webpack_module_cache__ = {};
/******/ 	
/******/ 	// The require function
/******/ 	function __nested_webpack_require_210487__(moduleId) {
/******/ 		// Check if module is in cache
/******/ 		var cachedModule = __webpack_module_cache__[moduleId];
/******/ 		if (cachedModule !== undefined) {
/******/ 			return cachedModule.exports;
/******/ 		}
/******/ 		// Create a new module (and put it into the cache)
/******/ 		var module = __webpack_module_cache__[moduleId] = {
/******/ 			// no module.id needed
/******/ 			// no module.loaded needed
/******/ 			exports: {}
/******/ 		};
/******/ 	
/******/ 		// Execute the module function
/******/ 		__webpack_modules__[moduleId](module, module.exports, __nested_webpack_require_210487__);
/******/ 	
/******/ 		// Return the exports of the module
/******/ 		return module.exports;
/******/ 	}
/******/ 	
/************************************************************************/
/******/ 	
/******/ 	// startup
/******/ 	// Load entry module and return exports
/******/ 	// This entry module is referenced by other modules so it can't be inlined
/******/ 	var __nested_webpack_exports__ = __nested_webpack_require_210487__("./src/wavesurfer.js");
/******/ 	
/******/ 	return __nested_webpack_exports__;
/******/ })()
;
});
//# sourceMappingURL=wavesurfer.js.map

/***/ })

/******/ });
/************************************************************************/
/******/ // The module cache
/******/ var __webpack_module_cache__ = {};
/******/ 
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/ 	// Check if module is in cache
/******/ 	var cachedModule = __webpack_module_cache__[moduleId];
/******/ 	if (cachedModule !== undefined) {
/******/ 		return cachedModule.exports;
/******/ 	}
/******/ 	// Create a new module (and put it into the cache)
/******/ 	var module = __webpack_module_cache__[moduleId] = {
/******/ 		// no module.id needed
/******/ 		// no module.loaded needed
/******/ 		exports: {}
/******/ 	};
/******/ 
/******/ 	// Execute the module function
/******/ 	__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/ 
/******/ 	// Return the exports of the module
/******/ 	return module.exports;
/******/ }
/******/ 
/************************************************************************/
/******/ /* webpack/runtime/amd define */
/******/ (() => {
/******/ 	__webpack_require__.amdD = function () {
/******/ 		throw new Error('define cannot be used indirect');
/******/ 	};
/******/ })();
/******/ 
/******/ /* webpack/runtime/compat get default export */
/******/ (() => {
/******/ 	// getDefaultExport function for compatibility with non-harmony modules
/******/ 	__webpack_require__.n = (module) => {
/******/ 		var getter = module && module.__esModule ?
/******/ 			() => (module['default']) :
/******/ 			() => (module);
/******/ 		__webpack_require__.d(getter, { a: getter });
/******/ 		return getter;
/******/ 	};
/******/ })();
/******/ 
/******/ /* webpack/runtime/define property getters */
/******/ (() => {
/******/ 	// define getter functions for harmony exports
/******/ 	__webpack_require__.d = (exports, definition) => {
/******/ 		for(var key in definition) {
/******/ 			if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
/******/ 				Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
/******/ 			}
/******/ 		}
/******/ 	};
/******/ })();
/******/ 
/******/ /* webpack/runtime/global */
/******/ (() => {
/******/ 	__webpack_require__.g = (function() {
/******/ 		if (typeof globalThis === 'object') return globalThis;
/******/ 		try {
/******/ 			return this || new Function('return this')();
/******/ 		} catch (e) {
/******/ 			if (typeof window === 'object') return window;
/******/ 		}
/******/ 	})();
/******/ })();
/******/ 
/******/ /* webpack/runtime/hasOwnProperty shorthand */
/******/ (() => {
/******/ 	__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
/******/ })();
/******/ 
/******/ /* webpack/runtime/make namespace object */
/******/ (() => {
/******/ 	// define __esModule on exports
/******/ 	__webpack_require__.r = (exports) => {
/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ 		}
/******/ 		Object.defineProperty(exports, '__esModule', { value: true });
/******/ 	};
/******/ })();
/******/ 
/************************************************************************/
var __webpack_exports__ = {};

// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  H: () => (/* reexport */ StandaloneApp_svelte)
});

// NAMESPACE OBJECT: ../node_modules/apache-arrow/util/buffer.mjs
var buffer_namespaceObject = {};
__webpack_require__.r(buffer_namespaceObject);
__webpack_require__.d(buffer_namespaceObject, {
  compareArrayLike: () => (compareArrayLike),
  joinUint8Arrays: () => (joinUint8Arrays),
  memcpy: () => (memcpy),
  rebaseValueOffsets: () => (rebaseValueOffsets),
  toArrayBufferView: () => (toArrayBufferView),
  toArrayBufferViewAsyncIterator: () => (toArrayBufferViewAsyncIterator),
  toArrayBufferViewIterator: () => (toArrayBufferViewIterator),
  toBigInt64Array: () => (toBigInt64Array),
  toBigUint64Array: () => (toBigUint64Array),
  toFloat32Array: () => (toFloat32Array),
  toFloat32ArrayAsyncIterator: () => (toFloat32ArrayAsyncIterator),
  toFloat32ArrayIterator: () => (toFloat32ArrayIterator),
  toFloat64Array: () => (toFloat64Array),
  toFloat64ArrayAsyncIterator: () => (toFloat64ArrayAsyncIterator),
  toFloat64ArrayIterator: () => (toFloat64ArrayIterator),
  toInt16Array: () => (toInt16Array),
  toInt16ArrayAsyncIterator: () => (toInt16ArrayAsyncIterator),
  toInt16ArrayIterator: () => (toInt16ArrayIterator),
  toInt32Array: () => (toInt32Array),
  toInt32ArrayAsyncIterator: () => (toInt32ArrayAsyncIterator),
  toInt32ArrayIterator: () => (toInt32ArrayIterator),
  toInt8Array: () => (toInt8Array),
  toInt8ArrayAsyncIterator: () => (toInt8ArrayAsyncIterator),
  toInt8ArrayIterator: () => (toInt8ArrayIterator),
  toUint16Array: () => (toUint16Array),
  toUint16ArrayAsyncIterator: () => (toUint16ArrayAsyncIterator),
  toUint16ArrayIterator: () => (toUint16ArrayIterator),
  toUint32Array: () => (toUint32Array),
  toUint32ArrayAsyncIterator: () => (toUint32ArrayAsyncIterator),
  toUint32ArrayIterator: () => (toUint32ArrayIterator),
  toUint8Array: () => (toUint8Array),
  toUint8ArrayAsyncIterator: () => (toUint8ArrayAsyncIterator),
  toUint8ArrayIterator: () => (toUint8ArrayIterator),
  toUint8ClampedArray: () => (toUint8ClampedArray),
  toUint8ClampedArrayAsyncIterator: () => (toUint8ClampedArrayAsyncIterator),
  toUint8ClampedArrayIterator: () => (toUint8ClampedArrayIterator)
});

// NAMESPACE OBJECT: ../node_modules/apache-arrow/util/bit.mjs
var bit_namespaceObject = {};
__webpack_require__.r(bit_namespaceObject);
__webpack_require__.d(bit_namespaceObject, {
  getBit: () => (getBit),
  getBool: () => (getBool),
  iterateBits: () => (iterateBits),
  packBools: () => (packBools),
  popcnt_array: () => (popcnt_array),
  popcnt_bit_range: () => (popcnt_bit_range),
  popcnt_uint32: () => (popcnt_uint32),
  setBool: () => (setBool),
  truncateBitmap: () => (truncateBitmap)
});

// NAMESPACE OBJECT: ../node_modules/apache-arrow/util/math.mjs
var util_math_namespaceObject = {};
__webpack_require__.r(util_math_namespaceObject);
__webpack_require__.d(util_math_namespaceObject, {
  float64ToUint16: () => (float64ToUint16),
  uint16ToFloat64: () => (uint16ToFloat64)
});

// NAMESPACE OBJECT: ../node_modules/apache-arrow/util/bn.mjs
var bn_namespaceObject = {};
__webpack_require__.r(bn_namespaceObject);
__webpack_require__.d(bn_namespaceObject, {
  BN: () => (BN),
  bignumToBigInt: () => (bignumToBigInt),
  bignumToString: () => (bignumToString),
  isArrowBigNumSymbol: () => (isArrowBigNumSymbol)
});

// NAMESPACE OBJECT: ../node_modules/apache-arrow/util/vector.mjs
var util_vector_namespaceObject = {};
__webpack_require__.r(util_vector_namespaceObject);
__webpack_require__.d(util_vector_namespaceObject, {
  clampIndex: () => (clampIndex),
  clampRange: () => (clampRange),
  createElementComparator: () => (createElementComparator)
});

// NAMESPACE OBJECT: ../node_modules/apache-arrow/util/int.mjs
var util_int_namespaceObject = {};
__webpack_require__.r(util_int_namespaceObject);
__webpack_require__.d(util_int_namespaceObject, {
  BaseInt64: () => (BaseInt64),
  Int128: () => (Int128),
  Int64: () => (int_Int64),
  Uint64: () => (int_Uint64)
});

;// ../node_modules/svelte/internal/index.mjs
function noop() { }
const internal_identity = x => x;
function internal_assign(tar, src) {
    // @ts-ignore
    for (const k in src)
        tar[k] = src[k];
    return tar;
}
// Adapted from https://github.com/then/is-promise/blob/master/index.js
// Distributed under MIT License https://github.com/then/is-promise/blob/master/LICENSE
function is_promise(value) {
    return !!value && (typeof value === 'object' || typeof value === 'function') && typeof value.then === 'function';
}
function add_location(element, file, line, column, char) {
    element.__svelte_meta = {
        loc: { file, line, column, char }
    };
}
function run(fn) {
    return fn();
}
function blank_object() {
    return Object.create(null);
}
function run_all(fns) {
    fns.forEach(run);
}
function internal_is_function(thing) {
    return typeof thing === 'function';
}
function safe_not_equal(a, b) {
    return a != a ? b == b : a !== b || ((a && typeof a === 'object') || typeof a === 'function');
}
let src_url_equal_anchor;
function src_url_equal(element_src, url) {
    if (!src_url_equal_anchor) {
        src_url_equal_anchor = document.createElement('a');
    }
    src_url_equal_anchor.href = url;
    return element_src === src_url_equal_anchor.href;
}
function not_equal(a, b) {
    return a != a ? b == b : a !== b;
}
function is_empty(obj) {
    return Object.keys(obj).length === 0;
}
function validate_store(store, name) {
    if (store != null && typeof store.subscribe !== 'function') {
        throw new Error(`'${name}' is not a store with a 'subscribe' method`);
    }
}
function subscribe(store, ...callbacks) {
    if (store == null) {
        return noop;
    }
    const unsub = store.subscribe(...callbacks);
    return unsub.unsubscribe ? () => unsub.unsubscribe() : unsub;
}
function get_store_value(store) {
    let value;
    subscribe(store, _ => value = _)();
    return value;
}
function component_subscribe(component, store, callback) {
    component.$$.on_destroy.push(subscribe(store, callback));
}
function create_slot(definition, ctx, $$scope, fn) {
    if (definition) {
        const slot_ctx = get_slot_context(definition, ctx, $$scope, fn);
        return definition[0](slot_ctx);
    }
}
function get_slot_context(definition, ctx, $$scope, fn) {
    return definition[1] && fn
        ? internal_assign($$scope.ctx.slice(), definition[1](fn(ctx)))
        : $$scope.ctx;
}
function get_slot_changes(definition, $$scope, dirty, fn) {
    if (definition[2] && fn) {
        const lets = definition[2](fn(dirty));
        if ($$scope.dirty === undefined) {
            return lets;
        }
        if (typeof lets === 'object') {
            const merged = [];
            const len = Math.max($$scope.dirty.length, lets.length);
            for (let i = 0; i < len; i += 1) {
                merged[i] = $$scope.dirty[i] | lets[i];
            }
            return merged;
        }
        return $$scope.dirty | lets;
    }
    return $$scope.dirty;
}
function update_slot_base(slot, slot_definition, ctx, $$scope, slot_changes, get_slot_context_fn) {
    if (slot_changes) {
        const slot_context = get_slot_context(slot_definition, ctx, $$scope, get_slot_context_fn);
        slot.p(slot_context, slot_changes);
    }
}
function update_slot(slot, slot_definition, ctx, $$scope, dirty, get_slot_changes_fn, get_slot_context_fn) {
    const slot_changes = get_slot_changes(slot_definition, $$scope, dirty, get_slot_changes_fn);
    update_slot_base(slot, slot_definition, ctx, $$scope, slot_changes, get_slot_context_fn);
}
function get_all_dirty_from_scope($$scope) {
    if ($$scope.ctx.length > 32) {
        const dirty = [];
        const length = $$scope.ctx.length / 32;
        for (let i = 0; i < length; i++) {
            dirty[i] = -1;
        }
        return dirty;
    }
    return -1;
}
function exclude_internal_props(props) {
    const result = {};
    for (const k in props)
        if (k[0] !== '$')
            result[k] = props[k];
    return result;
}
function compute_rest_props(props, keys) {
    const rest = {};
    keys = new Set(keys);
    for (const k in props)
        if (!keys.has(k) && k[0] !== '$')
            rest[k] = props[k];
    return rest;
}
function compute_slots(slots) {
    const result = {};
    for (const key in slots) {
        result[key] = true;
    }
    return result;
}
function once(fn) {
    let ran = false;
    return function (...args) {
        if (ran)
            return;
        ran = true;
        fn.call(this, ...args);
    };
}
function null_to_empty(value) {
    return value == null ? '' : value;
}
function set_store_value(store, ret, value) {
    store.set(value);
    return ret;
}
const has_prop = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop);
function action_destroyer(action_result) {
    return action_result && internal_is_function(action_result.destroy) ? action_result.destroy : noop;
}
function internal_split_css_unit(value) {
    const split = typeof value === 'string' && value.match(/^\s*(-?[\d.]+)([^\s]*)\s*$/);
    return split ? [parseFloat(split[1]), split[2] || 'px'] : [value, 'px'];
}
const contenteditable_truthy_values = (/* unused pure expression or super */ null && (['', true, 1, 'true', 'contenteditable']));

const is_client = typeof window !== 'undefined';
let now = is_client
    ? () => window.performance.now()
    : () => Date.now();
let raf = is_client ? cb => requestAnimationFrame(cb) : noop;
// used internally for testing
function set_now(fn) {
    now = fn;
}
function set_raf(fn) {
    raf = fn;
}

const tasks = new Set();
function run_tasks(now) {
    tasks.forEach(task => {
        if (!task.c(now)) {
            tasks.delete(task);
            task.f();
        }
    });
    if (tasks.size !== 0)
        raf(run_tasks);
}
/**
 * For testing purposes only!
 */
function clear_loops() {
    tasks.clear();
}
/**
 * Creates a new task that runs on each raf frame
 * until it returns a falsy value or is aborted
 */
function loop(callback) {
    let task;
    if (tasks.size === 0)
        raf(run_tasks);
    return {
        promise: new Promise(fulfill => {
            tasks.add(task = { c: callback, f: fulfill });
        }),
        abort() {
            tasks.delete(task);
        }
    };
}

const globals = (typeof window !== 'undefined'
    ? window
    : typeof globalThis !== 'undefined'
        ? globalThis
        : global);

/**
 * Resize observer singleton.
 * One listener per element only!
 * https://groups.google.com/a/chromium.org/g/blink-dev/c/z6ienONUb5A/m/F5-VcUZtBAAJ
 */
class ResizeObserverSingleton {
    constructor(options) {
        this.options = options;
        this._listeners = 'WeakMap' in globals ? new WeakMap() : undefined;
    }
    observe(element, listener) {
        this._listeners.set(element, listener);
        this._getObserver().observe(element, this.options);
        return () => {
            this._listeners.delete(element);
            this._observer.unobserve(element); // this line can probably be removed
        };
    }
    _getObserver() {
        var _a;
        return (_a = this._observer) !== null && _a !== void 0 ? _a : (this._observer = new ResizeObserver((entries) => {
            var _a;
            for (const entry of entries) {
                ResizeObserverSingleton.entries.set(entry.target, entry);
                (_a = this._listeners.get(entry.target)) === null || _a === void 0 ? void 0 : _a(entry);
            }
        }));
    }
}
// Needs to be written like this to pass the tree-shake-test
ResizeObserverSingleton.entries = 'WeakMap' in globals ? new WeakMap() : undefined;

// Track which nodes are claimed during hydration. Unclaimed nodes can then be removed from the DOM
// at the end of hydration without touching the remaining nodes.
let is_hydrating = false;
function start_hydrating() {
    is_hydrating = true;
}
function end_hydrating() {
    is_hydrating = false;
}
function upper_bound(low, high, key, value) {
    // Return first index of value larger than input value in the range [low, high)
    while (low < high) {
        const mid = low + ((high - low) >> 1);
        if (key(mid) <= value) {
            low = mid + 1;
        }
        else {
            high = mid;
        }
    }
    return low;
}
function init_hydrate(target) {
    if (target.hydrate_init)
        return;
    target.hydrate_init = true;
    // We know that all children have claim_order values since the unclaimed have been detached if target is not <head>
    let children = target.childNodes;
    // If target is <head>, there may be children without claim_order
    if (target.nodeName === 'HEAD') {
        const myChildren = [];
        for (let i = 0; i < children.length; i++) {
            const node = children[i];
            if (node.claim_order !== undefined) {
                myChildren.push(node);
            }
        }
        children = myChildren;
    }
    /*
    * Reorder claimed children optimally.
    * We can reorder claimed children optimally by finding the longest subsequence of
    * nodes that are already claimed in order and only moving the rest. The longest
    * subsequence of nodes that are claimed in order can be found by
    * computing the longest increasing subsequence of .claim_order values.
    *
    * This algorithm is optimal in generating the least amount of reorder operations
    * possible.
    *
    * Proof:
    * We know that, given a set of reordering operations, the nodes that do not move
    * always form an increasing subsequence, since they do not move among each other
    * meaning that they must be already ordered among each other. Thus, the maximal
    * set of nodes that do not move form a longest increasing subsequence.
    */
    // Compute longest increasing subsequence
    // m: subsequence length j => index k of smallest value that ends an increasing subsequence of length j
    const m = new Int32Array(children.length + 1);
    // Predecessor indices + 1
    const p = new Int32Array(children.length);
    m[0] = -1;
    let longest = 0;
    for (let i = 0; i < children.length; i++) {
        const current = children[i].claim_order;
        // Find the largest subsequence length such that it ends in a value less than our current value
        // upper_bound returns first greater value, so we subtract one
        // with fast path for when we are on the current longest subsequence
        const seqLen = ((longest > 0 && children[m[longest]].claim_order <= current) ? longest + 1 : upper_bound(1, longest, idx => children[m[idx]].claim_order, current)) - 1;
        p[i] = m[seqLen] + 1;
        const newLen = seqLen + 1;
        // We can guarantee that current is the smallest value. Otherwise, we would have generated a longer sequence.
        m[newLen] = i;
        longest = Math.max(newLen, longest);
    }
    // The longest increasing subsequence of nodes (initially reversed)
    const lis = [];
    // The rest of the nodes, nodes that will be moved
    const toMove = [];
    let last = children.length - 1;
    for (let cur = m[longest] + 1; cur != 0; cur = p[cur - 1]) {
        lis.push(children[cur - 1]);
        for (; last >= cur; last--) {
            toMove.push(children[last]);
        }
        last--;
    }
    for (; last >= 0; last--) {
        toMove.push(children[last]);
    }
    lis.reverse();
    // We sort the nodes being moved to guarantee that their insertion order matches the claim order
    toMove.sort((a, b) => a.claim_order - b.claim_order);
    // Finally, we move the nodes
    for (let i = 0, j = 0; i < toMove.length; i++) {
        while (j < lis.length && toMove[i].claim_order >= lis[j].claim_order) {
            j++;
        }
        const anchor = j < lis.length ? lis[j] : null;
        target.insertBefore(toMove[i], anchor);
    }
}
function append(target, node) {
    target.appendChild(node);
}
function append_styles(target, style_sheet_id, styles) {
    const append_styles_to = get_root_for_style(target);
    if (!append_styles_to.getElementById(style_sheet_id)) {
        const style = internal_element('style');
        style.id = style_sheet_id;
        style.textContent = styles;
        append_stylesheet(append_styles_to, style);
    }
}
function get_root_for_style(node) {
    if (!node)
        return document;
    const root = node.getRootNode ? node.getRootNode() : node.ownerDocument;
    if (root && root.host) {
        return root;
    }
    return node.ownerDocument;
}
function append_empty_stylesheet(node) {
    const style_element = internal_element('style');
    append_stylesheet(get_root_for_style(node), style_element);
    return style_element.sheet;
}
function append_stylesheet(node, style) {
    append(node.head || node, style);
    return style.sheet;
}
function append_hydration(target, node) {
    if (is_hydrating) {
        init_hydrate(target);
        if ((target.actual_end_child === undefined) || ((target.actual_end_child !== null) && (target.actual_end_child.parentNode !== target))) {
            target.actual_end_child = target.firstChild;
        }
        // Skip nodes of undefined ordering
        while ((target.actual_end_child !== null) && (target.actual_end_child.claim_order === undefined)) {
            target.actual_end_child = target.actual_end_child.nextSibling;
        }
        if (node !== target.actual_end_child) {
            // We only insert if the ordering of this node should be modified or the parent node is not target
            if (node.claim_order !== undefined || node.parentNode !== target) {
                target.insertBefore(node, target.actual_end_child);
            }
        }
        else {
            target.actual_end_child = node.nextSibling;
        }
    }
    else if (node.parentNode !== target || node.nextSibling !== null) {
        target.appendChild(node);
    }
}
function insert(target, node, anchor) {
    target.insertBefore(node, anchor || null);
}
function insert_hydration(target, node, anchor) {
    if (is_hydrating && !anchor) {
        append_hydration(target, node);
    }
    else if (node.parentNode !== target || node.nextSibling != anchor) {
        target.insertBefore(node, anchor || null);
    }
}
function detach(node) {
    if (node.parentNode) {
        node.parentNode.removeChild(node);
    }
}
function destroy_each(iterations, detaching) {
    for (let i = 0; i < iterations.length; i += 1) {
        if (iterations[i])
            iterations[i].d(detaching);
    }
}
function internal_element(name) {
    return document.createElement(name);
}
function element_is(name, is) {
    return document.createElement(name, { is });
}
function object_without_properties(obj, exclude) {
    const target = {};
    for (const k in obj) {
        if (has_prop(obj, k)
            // @ts-ignore
            && exclude.indexOf(k) === -1) {
            // @ts-ignore
            target[k] = obj[k];
        }
    }
    return target;
}
function svg_element(name) {
    return document.createElementNS('http://www.w3.org/2000/svg', name);
}
function internal_text(data) {
    return document.createTextNode(data);
}
function space() {
    return internal_text(' ');
}
function empty() {
    return internal_text('');
}
function comment(content) {
    return document.createComment(content);
}
function listen(node, event, handler, options) {
    node.addEventListener(event, handler, options);
    return () => node.removeEventListener(event, handler, options);
}
function prevent_default(fn) {
    return function (event) {
        event.preventDefault();
        // @ts-ignore
        return fn.call(this, event);
    };
}
function stop_propagation(fn) {
    return function (event) {
        event.stopPropagation();
        // @ts-ignore
        return fn.call(this, event);
    };
}
function stop_immediate_propagation(fn) {
    return function (event) {
        event.stopImmediatePropagation();
        // @ts-ignore
        return fn.call(this, event);
    };
}
function internal_self(fn) {
    return function (event) {
        // @ts-ignore
        if (event.target === this)
            fn.call(this, event);
    };
}
function trusted(fn) {
    return function (event) {
        // @ts-ignore
        if (event.isTrusted)
            fn.call(this, event);
    };
}
function attr(node, attribute, value) {
    if (value == null)
        node.removeAttribute(attribute);
    else if (node.getAttribute(attribute) !== value)
        node.setAttribute(attribute, value);
}
/**
 * List of attributes that should always be set through the attr method,
 * because updating them through the property setter doesn't work reliably.
 * In the example of `width`/`height`, the problem is that the setter only
 * accepts numeric values, but the attribute can also be set to a string like `50%`.
 * If this list becomes too big, rethink this approach.
 */
const always_set_through_set_attribute = ['width', 'height'];
function set_attributes(node, attributes) {
    // @ts-ignore
    const descriptors = Object.getOwnPropertyDescriptors(node.__proto__);
    for (const key in attributes) {
        if (attributes[key] == null) {
            node.removeAttribute(key);
        }
        else if (key === 'style') {
            node.style.cssText = attributes[key];
        }
        else if (key === '__value') {
            node.value = node[key] = attributes[key];
        }
        else if (descriptors[key] && descriptors[key].set && always_set_through_set_attribute.indexOf(key) === -1) {
            node[key] = attributes[key];
        }
        else {
            attr(node, key, attributes[key]);
        }
    }
}
function set_svg_attributes(node, attributes) {
    for (const key in attributes) {
        attr(node, key, attributes[key]);
    }
}
function set_custom_element_data_map(node, data_map) {
    Object.keys(data_map).forEach((key) => {
        set_custom_element_data(node, key, data_map[key]);
    });
}
function set_custom_element_data(node, prop, value) {
    if (prop in node) {
        node[prop] = typeof node[prop] === 'boolean' && value === '' ? true : value;
    }
    else {
        attr(node, prop, value);
    }
}
function set_dynamic_element_data(tag) {
    return (/-/.test(tag)) ? set_custom_element_data_map : set_attributes;
}
function xlink_attr(node, attribute, value) {
    node.setAttributeNS('http://www.w3.org/1999/xlink', attribute, value);
}
function get_binding_group_value(group, __value, checked) {
    const value = new Set();
    for (let i = 0; i < group.length; i += 1) {
        if (group[i].checked)
            value.add(group[i].__value);
    }
    if (!checked) {
        value.delete(__value);
    }
    return Array.from(value);
}
function init_binding_group(group) {
    let _inputs;
    return {
        /* push */ p(...inputs) {
            _inputs = inputs;
            _inputs.forEach(input => group.push(input));
        },
        /* remove */ r() {
            _inputs.forEach(input => group.splice(group.indexOf(input), 1));
        }
    };
}
function init_binding_group_dynamic(group, indexes) {
    let _group = get_binding_group(group);
    let _inputs;
    function get_binding_group(group) {
        for (let i = 0; i < indexes.length; i++) {
            group = group[indexes[i]] = group[indexes[i]] || [];
        }
        return group;
    }
    function push() {
        _inputs.forEach(input => _group.push(input));
    }
    function remove() {
        _inputs.forEach(input => _group.splice(_group.indexOf(input), 1));
    }
    return {
        /* update */ u(new_indexes) {
            indexes = new_indexes;
            const new_group = get_binding_group(group);
            if (new_group !== _group) {
                remove();
                _group = new_group;
                push();
            }
        },
        /* push */ p(...inputs) {
            _inputs = inputs;
            push();
        },
        /* remove */ r: remove
    };
}
function to_number(value) {
    return value === '' ? null : +value;
}
function time_ranges_to_array(ranges) {
    const array = [];
    for (let i = 0; i < ranges.length; i += 1) {
        array.push({ start: ranges.start(i), end: ranges.end(i) });
    }
    return array;
}
function children(element) {
    return Array.from(element.childNodes);
}
function init_claim_info(nodes) {
    if (nodes.claim_info === undefined) {
        nodes.claim_info = { last_index: 0, total_claimed: 0 };
    }
}
function claim_node(nodes, predicate, processNode, createNode, dontUpdateLastIndex = false) {
    // Try to find nodes in an order such that we lengthen the longest increasing subsequence
    init_claim_info(nodes);
    const resultNode = (() => {
        // We first try to find an element after the previous one
        for (let i = nodes.claim_info.last_index; i < nodes.length; i++) {
            const node = nodes[i];
            if (predicate(node)) {
                const replacement = processNode(node);
                if (replacement === undefined) {
                    nodes.splice(i, 1);
                }
                else {
                    nodes[i] = replacement;
                }
                if (!dontUpdateLastIndex) {
                    nodes.claim_info.last_index = i;
                }
                return node;
            }
        }
        // Otherwise, we try to find one before
        // We iterate in reverse so that we don't go too far back
        for (let i = nodes.claim_info.last_index - 1; i >= 0; i--) {
            const node = nodes[i];
            if (predicate(node)) {
                const replacement = processNode(node);
                if (replacement === undefined) {
                    nodes.splice(i, 1);
                }
                else {
                    nodes[i] = replacement;
                }
                if (!dontUpdateLastIndex) {
                    nodes.claim_info.last_index = i;
                }
                else if (replacement === undefined) {
                    // Since we spliced before the last_index, we decrease it
                    nodes.claim_info.last_index--;
                }
                return node;
            }
        }
        // If we can't find any matching node, we create a new one
        return createNode();
    })();
    resultNode.claim_order = nodes.claim_info.total_claimed;
    nodes.claim_info.total_claimed += 1;
    return resultNode;
}
function claim_element_base(nodes, name, attributes, create_element) {
    return claim_node(nodes, (node) => node.nodeName === name, (node) => {
        const remove = [];
        for (let j = 0; j < node.attributes.length; j++) {
            const attribute = node.attributes[j];
            if (!attributes[attribute.name]) {
                remove.push(attribute.name);
            }
        }
        remove.forEach(v => node.removeAttribute(v));
        return undefined;
    }, () => create_element(name));
}
function claim_element(nodes, name, attributes) {
    return claim_element_base(nodes, name, attributes, internal_element);
}
function claim_svg_element(nodes, name, attributes) {
    return claim_element_base(nodes, name, attributes, svg_element);
}
function claim_text(nodes, data) {
    return claim_node(nodes, (node) => node.nodeType === 3, (node) => {
        const dataStr = '' + data;
        if (node.data.startsWith(dataStr)) {
            if (node.data.length !== dataStr.length) {
                return node.splitText(dataStr.length);
            }
        }
        else {
            node.data = dataStr;
        }
    }, () => internal_text(data), true // Text nodes should not update last index since it is likely not worth it to eliminate an increasing subsequence of actual elements
    );
}
function claim_space(nodes) {
    return claim_text(nodes, ' ');
}
function claim_comment(nodes, data) {
    return claim_node(nodes, (node) => node.nodeType === 8, (node) => {
        node.data = '' + data;
        return undefined;
    }, () => comment(data), true);
}
function find_comment(nodes, text, start) {
    for (let i = start; i < nodes.length; i += 1) {
        const node = nodes[i];
        if (node.nodeType === 8 /* comment node */ && node.textContent.trim() === text) {
            return i;
        }
    }
    return nodes.length;
}
function claim_html_tag(nodes, is_svg) {
    // find html opening tag
    const start_index = find_comment(nodes, 'HTML_TAG_START', 0);
    const end_index = find_comment(nodes, 'HTML_TAG_END', start_index);
    if (start_index === end_index) {
        return new HtmlTagHydration(undefined, is_svg);
    }
    init_claim_info(nodes);
    const html_tag_nodes = nodes.splice(start_index, end_index - start_index + 1);
    detach(html_tag_nodes[0]);
    detach(html_tag_nodes[html_tag_nodes.length - 1]);
    const claimed_nodes = html_tag_nodes.slice(1, html_tag_nodes.length - 1);
    for (const n of claimed_nodes) {
        n.claim_order = nodes.claim_info.total_claimed;
        nodes.claim_info.total_claimed += 1;
    }
    return new HtmlTagHydration(claimed_nodes, is_svg);
}
function set_data(text, data) {
    data = '' + data;
    if (text.data === data)
        return;
    text.data = data;
}
function set_data_contenteditable(text, data) {
    data = '' + data;
    if (text.wholeText === data)
        return;
    text.data = data;
}
function set_data_maybe_contenteditable(text, data, attr_value) {
    if (~contenteditable_truthy_values.indexOf(attr_value)) {
        set_data_contenteditable(text, data);
    }
    else {
        set_data(text, data);
    }
}
function set_input_value(input, value) {
    input.value = value == null ? '' : value;
}
function set_input_type(input, type) {
    try {
        input.type = type;
    }
    catch (e) {
        // do nothing
    }
}
function set_style(node, key, value, important) {
    if (value == null) {
        node.style.removeProperty(key);
    }
    else {
        node.style.setProperty(key, value, important ? 'important' : '');
    }
}
function select_option(select, value, mounting) {
    for (let i = 0; i < select.options.length; i += 1) {
        const option = select.options[i];
        if (option.__value === value) {
            option.selected = true;
            return;
        }
    }
    if (!mounting || value !== undefined) {
        select.selectedIndex = -1; // no option should be selected
    }
}
function select_options(select, value) {
    for (let i = 0; i < select.options.length; i += 1) {
        const option = select.options[i];
        option.selected = ~value.indexOf(option.__value);
    }
}
function select_value(select) {
    const selected_option = select.querySelector(':checked');
    return selected_option && selected_option.__value;
}
function select_multiple_value(select) {
    return [].map.call(select.querySelectorAll(':checked'), option => option.__value);
}
// unfortunately this can't be a constant as that wouldn't be tree-shakeable
// so we cache the result instead
let crossorigin;
function is_crossorigin() {
    if (crossorigin === undefined) {
        crossorigin = false;
        try {
            if (typeof window !== 'undefined' && window.parent) {
                void window.parent.document;
            }
        }
        catch (error) {
            crossorigin = true;
        }
    }
    return crossorigin;
}
function add_iframe_resize_listener(node, fn) {
    const computed_style = getComputedStyle(node);
    if (computed_style.position === 'static') {
        node.style.position = 'relative';
    }
    const iframe = internal_element('iframe');
    iframe.setAttribute('style', 'display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; ' +
        'overflow: hidden; border: 0; opacity: 0; pointer-events: none; z-index: -1;');
    iframe.setAttribute('aria-hidden', 'true');
    iframe.tabIndex = -1;
    const crossorigin = is_crossorigin();
    let unsubscribe;
    if (crossorigin) {
        iframe.src = "data:text/html,<script>onresize=function(){parent.postMessage(0,'*')}</script>";
        unsubscribe = listen(window, 'message', (event) => {
            if (event.source === iframe.contentWindow)
                fn();
        });
    }
    else {
        iframe.src = 'about:blank';
        iframe.onload = () => {
            unsubscribe = listen(iframe.contentWindow, 'resize', fn);
            // make sure an initial resize event is fired _after_ the iframe is loaded (which is asynchronous)
            // see https://github.com/sveltejs/svelte/issues/4233
            fn();
        };
    }
    append(node, iframe);
    return () => {
        if (crossorigin) {
            unsubscribe();
        }
        else if (unsubscribe && iframe.contentWindow) {
            unsubscribe();
        }
        detach(iframe);
    };
}
const resize_observer_content_box = /* @__PURE__ */ new ResizeObserverSingleton({ box: 'content-box' });
const resize_observer_border_box = /* @__PURE__ */ new ResizeObserverSingleton({ box: 'border-box' });
const resize_observer_device_pixel_content_box = /* @__PURE__ */ new ResizeObserverSingleton({ box: 'device-pixel-content-box' });
function toggle_class(element, name, toggle) {
    element.classList[toggle ? 'add' : 'remove'](name);
}
function custom_event(type, detail, { bubbles = false, cancelable = false } = {}) {
    const e = document.createEvent('CustomEvent');
    e.initCustomEvent(type, bubbles, cancelable, detail);
    return e;
}
function query_selector_all(selector, parent = document.body) {
    return Array.from(parent.querySelectorAll(selector));
}
function head_selector(nodeId, head) {
    const result = [];
    let started = 0;
    for (const node of head.childNodes) {
        if (node.nodeType === 8 /* comment node */) {
            const comment = node.textContent.trim();
            if (comment === `HEAD_${nodeId}_END`) {
                started -= 1;
                result.push(node);
            }
            else if (comment === `HEAD_${nodeId}_START`) {
                started += 1;
                result.push(node);
            }
        }
        else if (started > 0) {
            result.push(node);
        }
    }
    return result;
}
class HtmlTag {
    constructor(is_svg = false) {
        this.is_svg = false;
        this.is_svg = is_svg;
        this.e = this.n = null;
    }
    c(html) {
        this.h(html);
    }
    m(html, target, anchor = null) {
        if (!this.e) {
            if (this.is_svg)
                this.e = svg_element(target.nodeName);
            /** #7364  target for <template> may be provided as #document-fragment(11) */
            else
                this.e = internal_element((target.nodeType === 11 ? 'TEMPLATE' : target.nodeName));
            this.t = target.tagName !== 'TEMPLATE' ? target : target.content;
            this.c(html);
        }
        this.i(anchor);
    }
    h(html) {
        this.e.innerHTML = html;
        this.n = Array.from(this.e.nodeName === 'TEMPLATE' ? this.e.content.childNodes : this.e.childNodes);
    }
    i(anchor) {
        for (let i = 0; i < this.n.length; i += 1) {
            insert(this.t, this.n[i], anchor);
        }
    }
    p(html) {
        this.d();
        this.h(html);
        this.i(this.a);
    }
    d() {
        this.n.forEach(detach);
    }
}
class HtmlTagHydration extends HtmlTag {
    constructor(claimed_nodes, is_svg = false) {
        super(is_svg);
        this.e = this.n = null;
        this.l = claimed_nodes;
    }
    c(html) {
        if (this.l) {
            this.n = this.l;
        }
        else {
            super.c(html);
        }
    }
    i(anchor) {
        for (let i = 0; i < this.n.length; i += 1) {
            insert_hydration(this.t, this.n[i], anchor);
        }
    }
}
function attribute_to_object(attributes) {
    const result = {};
    for (const attribute of attributes) {
        result[attribute.name] = attribute.value;
    }
    return result;
}
function get_custom_elements_slots(element) {
    const result = {};
    element.childNodes.forEach((node) => {
        result[node.slot || 'default'] = true;
    });
    return result;
}
function construct_svelte_component(component, props) {
    return new component(props);
}

// we need to store the information for multiple documents because a Svelte application could also contain iframes
// https://github.com/sveltejs/svelte/issues/3624
const managed_styles = new Map();
let active = 0;
// https://github.com/darkskyapp/string-hash/blob/master/index.js
function hash(str) {
    let hash = 5381;
    let i = str.length;
    while (i--)
        hash = ((hash << 5) - hash) ^ str.charCodeAt(i);
    return hash >>> 0;
}
function create_style_information(doc, node) {
    const info = { stylesheet: append_empty_stylesheet(node), rules: {} };
    managed_styles.set(doc, info);
    return info;
}
function create_rule(node, a, b, duration, delay, ease, fn, uid = 0) {
    const step = 16.666 / duration;
    let keyframes = '{\n';
    for (let p = 0; p <= 1; p += step) {
        const t = a + (b - a) * ease(p);
        keyframes += p * 100 + `%{${fn(t, 1 - t)}}\n`;
    }
    const rule = keyframes + `100% {${fn(b, 1 - b)}}\n}`;
    const name = `__svelte_${hash(rule)}_${uid}`;
    const doc = get_root_for_style(node);
    const { stylesheet, rules } = managed_styles.get(doc) || create_style_information(doc, node);
    if (!rules[name]) {
        rules[name] = true;
        stylesheet.insertRule(`@keyframes ${name} ${rule}`, stylesheet.cssRules.length);
    }
    const animation = node.style.animation || '';
    node.style.animation = `${animation ? `${animation}, ` : ''}${name} ${duration}ms linear ${delay}ms 1 both`;
    active += 1;
    return name;
}
function delete_rule(node, name) {
    const previous = (node.style.animation || '').split(', ');
    const next = previous.filter(name
        ? anim => anim.indexOf(name) < 0 // remove specific animation
        : anim => anim.indexOf('__svelte') === -1 // remove all Svelte animations
    );
    const deleted = previous.length - next.length;
    if (deleted) {
        node.style.animation = next.join(', ');
        active -= deleted;
        if (!active)
            clear_rules();
    }
}
function clear_rules() {
    raf(() => {
        if (active)
            return;
        managed_styles.forEach(info => {
            const { ownerNode } = info.stylesheet;
            // there is no ownerNode if it runs on jsdom.
            if (ownerNode)
                detach(ownerNode);
        });
        managed_styles.clear();
    });
}

function create_animation(node, from, fn, params) {
    if (!from)
        return noop;
    const to = node.getBoundingClientRect();
    if (from.left === to.left && from.right === to.right && from.top === to.top && from.bottom === to.bottom)
        return noop;
    const { delay = 0, duration = 300, easing = internal_identity, 
    // @ts-ignore todo: should this be separated from destructuring? Or start/end added to public api and documentation?
    start: start_time = now() + delay, 
    // @ts-ignore todo:
    end = start_time + duration, tick = noop, css } = fn(node, { from, to }, params);
    let running = true;
    let started = false;
    let name;
    function start() {
        if (css) {
            name = create_rule(node, 0, 1, duration, delay, easing, css);
        }
        if (!delay) {
            started = true;
        }
    }
    function stop() {
        if (css)
            delete_rule(node, name);
        running = false;
    }
    loop(now => {
        if (!started && now >= start_time) {
            started = true;
        }
        if (started && now >= end) {
            tick(1, 0);
            stop();
        }
        if (!running) {
            return false;
        }
        if (started) {
            const p = now - start_time;
            const t = 0 + 1 * easing(p / duration);
            tick(t, 1 - t);
        }
        return true;
    });
    start();
    tick(0, 1);
    return stop;
}
function fix_position(node) {
    const style = getComputedStyle(node);
    if (style.position !== 'absolute' && style.position !== 'fixed') {
        const { width, height } = style;
        const a = node.getBoundingClientRect();
        node.style.position = 'absolute';
        node.style.width = width;
        node.style.height = height;
        add_transform(node, a);
    }
}
function add_transform(node, a) {
    const b = node.getBoundingClientRect();
    if (a.left !== b.left || a.top !== b.top) {
        const style = getComputedStyle(node);
        const transform = style.transform === 'none' ? '' : style.transform;
        node.style.transform = `${transform} translate(${a.left - b.left}px, ${a.top - b.top}px)`;
    }
}

let current_component;
function set_current_component(component) {
    current_component = component;
}
function get_current_component() {
    if (!current_component)
        throw new Error('Function called outside component initialization');
    return current_component;
}
/**
 * Schedules a callback to run immediately before the component is updated after any state change.
 *
 * The first time the callback runs will be before the initial `onMount`
 *
 * https://svelte.dev/docs#run-time-svelte-beforeupdate
 */
function beforeUpdate(fn) {
    get_current_component().$$.before_update.push(fn);
}
/**
 * The `onMount` function schedules a callback to run as soon as the component has been mounted to the DOM.
 * It must be called during the component's initialisation (but doesn't need to live *inside* the component;
 * it can be called from an external module).
 *
 * `onMount` does not run inside a [server-side component](/docs#run-time-server-side-component-api).
 *
 * https://svelte.dev/docs#run-time-svelte-onmount
 */
function onMount(fn) {
    get_current_component().$$.on_mount.push(fn);
}
/**
 * Schedules a callback to run immediately after the component has been updated.
 *
 * The first time the callback runs will be after the initial `onMount`
 */
function afterUpdate(fn) {
    get_current_component().$$.after_update.push(fn);
}
/**
 * Schedules a callback to run immediately before the component is unmounted.
 *
 * Out of `onMount`, `beforeUpdate`, `afterUpdate` and `onDestroy`, this is the
 * only one that runs inside a server-side component.
 *
 * https://svelte.dev/docs#run-time-svelte-ondestroy
 */
function onDestroy(fn) {
    get_current_component().$$.on_destroy.push(fn);
}
/**
 * Creates an event dispatcher that can be used to dispatch [component events](/docs#template-syntax-component-directives-on-eventname).
 * Event dispatchers are functions that can take two arguments: `name` and `detail`.
 *
 * Component events created with `createEventDispatcher` create a
 * [CustomEvent](https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent).
 * These events do not [bubble](https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Building_blocks/Events#Event_bubbling_and_capture).
 * The `detail` argument corresponds to the [CustomEvent.detail](https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/detail)
 * property and can contain any type of data.
 *
 * https://svelte.dev/docs#run-time-svelte-createeventdispatcher
 */
function createEventDispatcher() {
    const component = get_current_component();
    return (type, detail, { cancelable = false } = {}) => {
        const callbacks = component.$$.callbacks[type];
        if (callbacks) {
            // TODO are there situations where events could be dispatched
            // in a server (non-DOM) environment?
            const event = custom_event(type, detail, { cancelable });
            callbacks.slice().forEach(fn => {
                fn.call(component, event);
            });
            return !event.defaultPrevented;
        }
        return true;
    };
}
/**
 * Associates an arbitrary `context` object with the current component and the specified `key`
 * and returns that object. The context is then available to children of the component
 * (including slotted content) with `getContext`.
 *
 * Like lifecycle functions, this must be called during component initialisation.
 *
 * https://svelte.dev/docs#run-time-svelte-setcontext
 */
function setContext(key, context) {
    get_current_component().$$.context.set(key, context);
    return context;
}
/**
 * Retrieves the context that belongs to the closest parent component with the specified `key`.
 * Must be called during component initialisation.
 *
 * https://svelte.dev/docs#run-time-svelte-getcontext
 */
function getContext(key) {
    return get_current_component().$$.context.get(key);
}
/**
 * Retrieves the whole context map that belongs to the closest parent component.
 * Must be called during component initialisation. Useful, for example, if you
 * programmatically create a component and want to pass the existing context to it.
 *
 * https://svelte.dev/docs#run-time-svelte-getallcontexts
 */
function getAllContexts() {
    return get_current_component().$$.context;
}
/**
 * Checks whether a given `key` has been set in the context of a parent component.
 * Must be called during component initialisation.
 *
 * https://svelte.dev/docs#run-time-svelte-hascontext
 */
function hasContext(key) {
    return get_current_component().$$.context.has(key);
}
// TODO figure out if we still want to support
// shorthand events, or if we want to implement
// a real bubbling mechanism
function bubble(component, event) {
    const callbacks = component.$$.callbacks[event.type];
    if (callbacks) {
        // @ts-ignore
        callbacks.slice().forEach(fn => fn.call(this, event));
    }
}

const dirty_components = [];
const intros = { enabled: false };
const binding_callbacks = [];
let render_callbacks = [];
const flush_callbacks = [];
const resolved_promise = /* @__PURE__ */ Promise.resolve();
let update_scheduled = false;
function schedule_update() {
    if (!update_scheduled) {
        update_scheduled = true;
        resolved_promise.then(flush);
    }
}
function tick() {
    schedule_update();
    return resolved_promise;
}
function add_render_callback(fn) {
    render_callbacks.push(fn);
}
function add_flush_callback(fn) {
    flush_callbacks.push(fn);
}
// flush() calls callbacks in this order:
// 1. All beforeUpdate callbacks, in order: parents before children
// 2. All bind:this callbacks, in reverse order: children before parents.
// 3. All afterUpdate callbacks, in order: parents before children. EXCEPT
//    for afterUpdates called during the initial onMount, which are called in
//    reverse order: children before parents.
// Since callbacks might update component values, which could trigger another
// call to flush(), the following steps guard against this:
// 1. During beforeUpdate, any updated components will be added to the
//    dirty_components array and will cause a reentrant call to flush(). Because
//    the flush index is kept outside the function, the reentrant call will pick
//    up where the earlier call left off and go through all dirty components. The
//    current_component value is saved and restored so that the reentrant call will
//    not interfere with the "parent" flush() call.
// 2. bind:this callbacks cannot trigger new flush() calls.
// 3. During afterUpdate, any updated components will NOT have their afterUpdate
//    callback called a second time; the seen_callbacks set, outside the flush()
//    function, guarantees this behavior.
const seen_callbacks = new Set();
let flushidx = 0; // Do *not* move this inside the flush() function
function flush() {
    // Do not reenter flush while dirty components are updated, as this can
    // result in an infinite loop. Instead, let the inner flush handle it.
    // Reentrancy is ok afterwards for bindings etc.
    if (flushidx !== 0) {
        return;
    }
    const saved_component = current_component;
    do {
        // first, call beforeUpdate functions
        // and update components
        try {
            while (flushidx < dirty_components.length) {
                const component = dirty_components[flushidx];
                flushidx++;
                set_current_component(component);
                update(component.$$);
            }
        }
        catch (e) {
            // reset dirty state to not end up in a deadlocked state and then rethrow
            dirty_components.length = 0;
            flushidx = 0;
            throw e;
        }
        set_current_component(null);
        dirty_components.length = 0;
        flushidx = 0;
        while (binding_callbacks.length)
            binding_callbacks.pop()();
        // then, once components are updated, call
        // afterUpdate functions. This may cause
        // subsequent updates...
        for (let i = 0; i < render_callbacks.length; i += 1) {
            const callback = render_callbacks[i];
            if (!seen_callbacks.has(callback)) {
                // ...so guard against infinite loops
                seen_callbacks.add(callback);
                callback();
            }
        }
        render_callbacks.length = 0;
    } while (dirty_components.length);
    while (flush_callbacks.length) {
        flush_callbacks.pop()();
    }
    update_scheduled = false;
    seen_callbacks.clear();
    set_current_component(saved_component);
}
function update($$) {
    if ($$.fragment !== null) {
        $$.update();
        run_all($$.before_update);
        const dirty = $$.dirty;
        $$.dirty = [-1];
        $$.fragment && $$.fragment.p($$.ctx, dirty);
        $$.after_update.forEach(add_render_callback);
    }
}
/**
 * Useful for example to execute remaining `afterUpdate` callbacks before executing `destroy`.
 */
function flush_render_callbacks(fns) {
    const filtered = [];
    const targets = [];
    render_callbacks.forEach((c) => fns.indexOf(c) === -1 ? filtered.push(c) : targets.push(c));
    targets.forEach((c) => c());
    render_callbacks = filtered;
}

let promise;
function wait() {
    if (!promise) {
        promise = Promise.resolve();
        promise.then(() => {
            promise = null;
        });
    }
    return promise;
}
function dispatch(node, direction, kind) {
    node.dispatchEvent(custom_event(`${direction ? 'intro' : 'outro'}${kind}`));
}
const outroing = new Set();
let outros;
function group_outros() {
    outros = {
        r: 0,
        c: [],
        p: outros // parent group
    };
}
function check_outros() {
    if (!outros.r) {
        run_all(outros.c);
    }
    outros = outros.p;
}
function transition_in(block, local) {
    if (block && block.i) {
        outroing.delete(block);
        block.i(local);
    }
}
function transition_out(block, local, detach, callback) {
    if (block && block.o) {
        if (outroing.has(block))
            return;
        outroing.add(block);
        outros.c.push(() => {
            outroing.delete(block);
            if (callback) {
                if (detach)
                    block.d(1);
                callback();
            }
        });
        block.o(local);
    }
    else if (callback) {
        callback();
    }
}
const null_transition = { duration: 0 };
function create_in_transition(node, fn, params) {
    const options = { direction: 'in' };
    let config = fn(node, params, options);
    let running = false;
    let animation_name;
    let task;
    let uid = 0;
    function cleanup() {
        if (animation_name)
            delete_rule(node, animation_name);
    }
    function go() {
        const { delay = 0, duration = 300, easing = internal_identity, tick = noop, css } = config || null_transition;
        if (css)
            animation_name = create_rule(node, 0, 1, duration, delay, easing, css, uid++);
        tick(0, 1);
        const start_time = now() + delay;
        const end_time = start_time + duration;
        if (task)
            task.abort();
        running = true;
        add_render_callback(() => dispatch(node, true, 'start'));
        task = loop(now => {
            if (running) {
                if (now >= end_time) {
                    tick(1, 0);
                    dispatch(node, true, 'end');
                    cleanup();
                    return running = false;
                }
                if (now >= start_time) {
                    const t = easing((now - start_time) / duration);
                    tick(t, 1 - t);
                }
            }
            return running;
        });
    }
    let started = false;
    return {
        start() {
            if (started)
                return;
            started = true;
            delete_rule(node);
            if (internal_is_function(config)) {
                config = config(options);
                wait().then(go);
            }
            else {
                go();
            }
        },
        invalidate() {
            started = false;
        },
        end() {
            if (running) {
                cleanup();
                running = false;
            }
        }
    };
}
function create_out_transition(node, fn, params) {
    const options = { direction: 'out' };
    let config = fn(node, params, options);
    let running = true;
    let animation_name;
    const group = outros;
    group.r += 1;
    function go() {
        const { delay = 0, duration = 300, easing = internal_identity, tick = noop, css } = config || null_transition;
        if (css)
            animation_name = create_rule(node, 1, 0, duration, delay, easing, css);
        const start_time = now() + delay;
        const end_time = start_time + duration;
        add_render_callback(() => dispatch(node, false, 'start'));
        loop(now => {
            if (running) {
                if (now >= end_time) {
                    tick(0, 1);
                    dispatch(node, false, 'end');
                    if (!--group.r) {
                        // this will result in `end()` being called,
                        // so we don't need to clean up here
                        run_all(group.c);
                    }
                    return false;
                }
                if (now >= start_time) {
                    const t = easing((now - start_time) / duration);
                    tick(1 - t, t);
                }
            }
            return running;
        });
    }
    if (internal_is_function(config)) {
        wait().then(() => {
            // @ts-ignore
            config = config(options);
            go();
        });
    }
    else {
        go();
    }
    return {
        end(reset) {
            if (reset && config.tick) {
                config.tick(1, 0);
            }
            if (running) {
                if (animation_name)
                    delete_rule(node, animation_name);
                running = false;
            }
        }
    };
}
function create_bidirectional_transition(node, fn, params, intro) {
    const options = { direction: 'both' };
    let config = fn(node, params, options);
    let t = intro ? 0 : 1;
    let running_program = null;
    let pending_program = null;
    let animation_name = null;
    function clear_animation() {
        if (animation_name)
            delete_rule(node, animation_name);
    }
    function init(program, duration) {
        const d = (program.b - t);
        duration *= Math.abs(d);
        return {
            a: t,
            b: program.b,
            d,
            duration,
            start: program.start,
            end: program.start + duration,
            group: program.group
        };
    }
    function go(b) {
        const { delay = 0, duration = 300, easing = internal_identity, tick = noop, css } = config || null_transition;
        const program = {
            start: now() + delay,
            b
        };
        if (!b) {
            // @ts-ignore todo: improve typings
            program.group = outros;
            outros.r += 1;
        }
        if (running_program || pending_program) {
            pending_program = program;
        }
        else {
            // if this is an intro, and there's a delay, we need to do
            // an initial tick and/or apply CSS animation immediately
            if (css) {
                clear_animation();
                animation_name = create_rule(node, t, b, duration, delay, easing, css);
            }
            if (b)
                tick(0, 1);
            running_program = init(program, duration);
            add_render_callback(() => dispatch(node, b, 'start'));
            loop(now => {
                if (pending_program && now > pending_program.start) {
                    running_program = init(pending_program, duration);
                    pending_program = null;
                    dispatch(node, running_program.b, 'start');
                    if (css) {
                        clear_animation();
                        animation_name = create_rule(node, t, running_program.b, running_program.duration, 0, easing, config.css);
                    }
                }
                if (running_program) {
                    if (now >= running_program.end) {
                        tick(t = running_program.b, 1 - t);
                        dispatch(node, running_program.b, 'end');
                        if (!pending_program) {
                            // we're done
                            if (running_program.b) {
                                // intro — we can tidy up immediately
                                clear_animation();
                            }
                            else {
                                // outro — needs to be coordinated
                                if (!--running_program.group.r)
                                    run_all(running_program.group.c);
                            }
                        }
                        running_program = null;
                    }
                    else if (now >= running_program.start) {
                        const p = now - running_program.start;
                        t = running_program.a + running_program.d * easing(p / running_program.duration);
                        tick(t, 1 - t);
                    }
                }
                return !!(running_program || pending_program);
            });
        }
    }
    return {
        run(b) {
            if (internal_is_function(config)) {
                wait().then(() => {
                    // @ts-ignore
                    config = config(options);
                    go(b);
                });
            }
            else {
                go(b);
            }
        },
        end() {
            clear_animation();
            running_program = pending_program = null;
        }
    };
}

function handle_promise(promise, info) {
    const token = info.token = {};
    function update(type, index, key, value) {
        if (info.token !== token)
            return;
        info.resolved = value;
        let child_ctx = info.ctx;
        if (key !== undefined) {
            child_ctx = child_ctx.slice();
            child_ctx[key] = value;
        }
        const block = type && (info.current = type)(child_ctx);
        let needs_flush = false;
        if (info.block) {
            if (info.blocks) {
                info.blocks.forEach((block, i) => {
                    if (i !== index && block) {
                        group_outros();
                        transition_out(block, 1, 1, () => {
                            if (info.blocks[i] === block) {
                                info.blocks[i] = null;
                            }
                        });
                        check_outros();
                    }
                });
            }
            else {
                info.block.d(1);
            }
            block.c();
            transition_in(block, 1);
            block.m(info.mount(), info.anchor);
            needs_flush = true;
        }
        info.block = block;
        if (info.blocks)
            info.blocks[index] = block;
        if (needs_flush) {
            flush();
        }
    }
    if (is_promise(promise)) {
        const current_component = get_current_component();
        promise.then(value => {
            set_current_component(current_component);
            update(info.then, 1, info.value, value);
            set_current_component(null);
        }, error => {
            set_current_component(current_component);
            update(info.catch, 2, info.error, error);
            set_current_component(null);
            if (!info.hasCatch) {
                throw error;
            }
        });
        // if we previously had a then/catch block, destroy it
        if (info.current !== info.pending) {
            update(info.pending, 0);
            return true;
        }
    }
    else {
        if (info.current !== info.then) {
            update(info.then, 1, info.value, promise);
            return true;
        }
        info.resolved = promise;
    }
}
function update_await_block_branch(info, ctx, dirty) {
    const child_ctx = ctx.slice();
    const { resolved } = info;
    if (info.current === info.then) {
        child_ctx[info.value] = resolved;
    }
    if (info.current === info.catch) {
        child_ctx[info.error] = resolved;
    }
    info.block.p(child_ctx, dirty);
}

function destroy_block(block, lookup) {
    block.d(1);
    lookup.delete(block.key);
}
function outro_and_destroy_block(block, lookup) {
    transition_out(block, 1, 1, () => {
        lookup.delete(block.key);
    });
}
function fix_and_destroy_block(block, lookup) {
    block.f();
    destroy_block(block, lookup);
}
function fix_and_outro_and_destroy_block(block, lookup) {
    block.f();
    outro_and_destroy_block(block, lookup);
}
function update_keyed_each(old_blocks, dirty, get_key, dynamic, ctx, list, lookup, node, destroy, create_each_block, next, get_context) {
    let o = old_blocks.length;
    let n = list.length;
    let i = o;
    const old_indexes = {};
    while (i--)
        old_indexes[old_blocks[i].key] = i;
    const new_blocks = [];
    const new_lookup = new Map();
    const deltas = new Map();
    const updates = [];
    i = n;
    while (i--) {
        const child_ctx = get_context(ctx, list, i);
        const key = get_key(child_ctx);
        let block = lookup.get(key);
        if (!block) {
            block = create_each_block(key, child_ctx);
            block.c();
        }
        else if (dynamic) {
            // defer updates until all the DOM shuffling is done
            updates.push(() => block.p(child_ctx, dirty));
        }
        new_lookup.set(key, new_blocks[i] = block);
        if (key in old_indexes)
            deltas.set(key, Math.abs(i - old_indexes[key]));
    }
    const will_move = new Set();
    const did_move = new Set();
    function insert(block) {
        transition_in(block, 1);
        block.m(node, next);
        lookup.set(block.key, block);
        next = block.first;
        n--;
    }
    while (o && n) {
        const new_block = new_blocks[n - 1];
        const old_block = old_blocks[o - 1];
        const new_key = new_block.key;
        const old_key = old_block.key;
        if (new_block === old_block) {
            // do nothing
            next = new_block.first;
            o--;
            n--;
        }
        else if (!new_lookup.has(old_key)) {
            // remove old block
            destroy(old_block, lookup);
            o--;
        }
        else if (!lookup.has(new_key) || will_move.has(new_key)) {
            insert(new_block);
        }
        else if (did_move.has(old_key)) {
            o--;
        }
        else if (deltas.get(new_key) > deltas.get(old_key)) {
            did_move.add(new_key);
            insert(new_block);
        }
        else {
            will_move.add(old_key);
            o--;
        }
    }
    while (o--) {
        const old_block = old_blocks[o];
        if (!new_lookup.has(old_block.key))
            destroy(old_block, lookup);
    }
    while (n)
        insert(new_blocks[n - 1]);
    run_all(updates);
    return new_blocks;
}
function validate_each_keys(ctx, list, get_context, get_key) {
    const keys = new Set();
    for (let i = 0; i < list.length; i++) {
        const key = get_key(get_context(ctx, list, i));
        if (keys.has(key)) {
            throw new Error('Cannot have duplicate keys in a keyed each');
        }
        keys.add(key);
    }
}

function get_spread_update(levels, updates) {
    const update = {};
    const to_null_out = {};
    const accounted_for = { $$scope: 1 };
    let i = levels.length;
    while (i--) {
        const o = levels[i];
        const n = updates[i];
        if (n) {
            for (const key in o) {
                if (!(key in n))
                    to_null_out[key] = 1;
            }
            for (const key in n) {
                if (!accounted_for[key]) {
                    update[key] = n[key];
                    accounted_for[key] = 1;
                }
            }
            levels[i] = n;
        }
        else {
            for (const key in o) {
                accounted_for[key] = 1;
            }
        }
    }
    for (const key in to_null_out) {
        if (!(key in update))
            update[key] = undefined;
    }
    return update;
}
function get_spread_object(spread_props) {
    return typeof spread_props === 'object' && spread_props !== null ? spread_props : {};
}

const _boolean_attributes = [
    'allowfullscreen',
    'allowpaymentrequest',
    'async',
    'autofocus',
    'autoplay',
    'checked',
    'controls',
    'default',
    'defer',
    'disabled',
    'formnovalidate',
    'hidden',
    'inert',
    'ismap',
    'loop',
    'multiple',
    'muted',
    'nomodule',
    'novalidate',
    'open',
    'playsinline',
    'readonly',
    'required',
    'reversed',
    'selected'
];
/**
 * List of HTML boolean attributes (e.g. `<input disabled>`).
 * Source: https://html.spec.whatwg.org/multipage/indices.html
 */
const boolean_attributes = new Set([..._boolean_attributes]);

/** regex of all html void element names */
const void_element_names = /^(?:area|base|br|col|command|embed|hr|img|input|keygen|link|meta|param|source|track|wbr)$/;
function is_void(name) {
    return void_element_names.test(name) || name.toLowerCase() === '!doctype';
}

const invalid_attribute_name_character = /[\s'">/=\u{FDD0}-\u{FDEF}\u{FFFE}\u{FFFF}\u{1FFFE}\u{1FFFF}\u{2FFFE}\u{2FFFF}\u{3FFFE}\u{3FFFF}\u{4FFFE}\u{4FFFF}\u{5FFFE}\u{5FFFF}\u{6FFFE}\u{6FFFF}\u{7FFFE}\u{7FFFF}\u{8FFFE}\u{8FFFF}\u{9FFFE}\u{9FFFF}\u{AFFFE}\u{AFFFF}\u{BFFFE}\u{BFFFF}\u{CFFFE}\u{CFFFF}\u{DFFFE}\u{DFFFF}\u{EFFFE}\u{EFFFF}\u{FFFFE}\u{FFFFF}\u{10FFFE}\u{10FFFF}]/u;
// https://html.spec.whatwg.org/multipage/syntax.html#attributes-2
// https://infra.spec.whatwg.org/#noncharacter
function spread(args, attrs_to_add) {
    const attributes = Object.assign({}, ...args);
    if (attrs_to_add) {
        const classes_to_add = attrs_to_add.classes;
        const styles_to_add = attrs_to_add.styles;
        if (classes_to_add) {
            if (attributes.class == null) {
                attributes.class = classes_to_add;
            }
            else {
                attributes.class += ' ' + classes_to_add;
            }
        }
        if (styles_to_add) {
            if (attributes.style == null) {
                attributes.style = style_object_to_string(styles_to_add);
            }
            else {
                attributes.style = style_object_to_string(merge_ssr_styles(attributes.style, styles_to_add));
            }
        }
    }
    let str = '';
    Object.keys(attributes).forEach(name => {
        if (invalid_attribute_name_character.test(name))
            return;
        const value = attributes[name];
        if (value === true)
            str += ' ' + name;
        else if (boolean_attributes.has(name.toLowerCase())) {
            if (value)
                str += ' ' + name;
        }
        else if (value != null) {
            str += ` ${name}="${value}"`;
        }
    });
    return str;
}
function merge_ssr_styles(style_attribute, style_directive) {
    const style_object = {};
    for (const individual_style of style_attribute.split(';')) {
        const colon_index = individual_style.indexOf(':');
        const name = individual_style.slice(0, colon_index).trim();
        const value = individual_style.slice(colon_index + 1).trim();
        if (!name)
            continue;
        style_object[name] = value;
    }
    for (const name in style_directive) {
        const value = style_directive[name];
        if (value) {
            style_object[name] = value;
        }
        else {
            delete style_object[name];
        }
    }
    return style_object;
}
const ATTR_REGEX = /[&"]/g;
const CONTENT_REGEX = /[&<]/g;
/**
 * Note: this method is performance sensitive and has been optimized
 * https://github.com/sveltejs/svelte/pull/5701
 */
function internal_escape(value, is_attr = false) {
    const str = String(value);
    const pattern = is_attr ? ATTR_REGEX : CONTENT_REGEX;
    pattern.lastIndex = 0;
    let escaped = '';
    let last = 0;
    while (pattern.test(str)) {
        const i = pattern.lastIndex - 1;
        const ch = str[i];
        escaped += str.substring(last, i) + (ch === '&' ? '&amp;' : (ch === '"' ? '&quot;' : '&lt;'));
        last = i + 1;
    }
    return escaped + str.substring(last);
}
function escape_attribute_value(value) {
    // keep booleans, null, and undefined for the sake of `spread`
    const should_escape = typeof value === 'string' || (value && typeof value === 'object');
    return should_escape ? internal_escape(value, true) : value;
}
function escape_object(obj) {
    const result = {};
    for (const key in obj) {
        result[key] = escape_attribute_value(obj[key]);
    }
    return result;
}
function each(items, fn) {
    let str = '';
    for (let i = 0; i < items.length; i += 1) {
        str += fn(items[i], i);
    }
    return str;
}
const missing_component = {
    $$render: () => ''
};
function validate_component(component, name) {
    if (!component || !component.$$render) {
        if (name === 'svelte:component')
            name += ' this={...}';
        throw new Error(`<${name}> is not a valid SSR component. You may need to review your build config to ensure that dependencies are compiled, rather than imported as pre-compiled modules. Otherwise you may need to fix a <${name}>.`);
    }
    return component;
}
function debug(file, line, column, values) {
    console.log(`{@debug} ${file ? file + ' ' : ''}(${line}:${column})`); // eslint-disable-line no-console
    console.log(values); // eslint-disable-line no-console
    return '';
}
let on_destroy;
function create_ssr_component(fn) {
    function $$render(result, props, bindings, slots, context) {
        const parent_component = current_component;
        const $$ = {
            on_destroy,
            context: new Map(context || (parent_component ? parent_component.$$.context : [])),
            // these will be immediately discarded
            on_mount: [],
            before_update: [],
            after_update: [],
            callbacks: blank_object()
        };
        set_current_component({ $$ });
        const html = fn(result, props, bindings, slots);
        set_current_component(parent_component);
        return html;
    }
    return {
        render: (props = {}, { $$slots = {}, context = new Map() } = {}) => {
            on_destroy = [];
            const result = { title: '', head: '', css: new Set() };
            const html = $$render(result, props, {}, $$slots, context);
            run_all(on_destroy);
            return {
                html,
                css: {
                    code: Array.from(result.css).map(css => css.code).join('\n'),
                    map: null // TODO
                },
                head: result.title + result.head
            };
        },
        $$render
    };
}
function add_attribute(name, value, boolean) {
    if (value == null || (boolean && !value))
        return '';
    const assignment = (boolean && value === true) ? '' : `="${internal_escape(value, true)}"`;
    return ` ${name}${assignment}`;
}
function add_classes(classes) {
    return classes ? ` class="${classes}"` : '';
}
function style_object_to_string(style_object) {
    return Object.keys(style_object)
        .filter(key => style_object[key])
        .map(key => `${key}: ${escape_attribute_value(style_object[key])};`)
        .join(' ');
}
function add_styles(style_object) {
    const styles = style_object_to_string(style_object);
    return styles ? ` style="${styles}"` : '';
}

function bind(component, name, callback) {
    const index = component.$$.props[name];
    if (index !== undefined) {
        component.$$.bound[index] = callback;
        callback(component.$$.ctx[index]);
    }
}
function create_component(block) {
    block && block.c();
}
function claim_component(block, parent_nodes) {
    block && block.l(parent_nodes);
}
function mount_component(component, target, anchor, customElement) {
    const { fragment, after_update } = component.$$;
    fragment && fragment.m(target, anchor);
    if (!customElement) {
        // onMount happens before the initial afterUpdate
        add_render_callback(() => {
            const new_on_destroy = component.$$.on_mount.map(run).filter(internal_is_function);
            // if the component was destroyed immediately
            // it will update the `$$.on_destroy` reference to `null`.
            // the destructured on_destroy may still reference to the old array
            if (component.$$.on_destroy) {
                component.$$.on_destroy.push(...new_on_destroy);
            }
            else {
                // Edge case - component was destroyed immediately,
                // most likely as a result of a binding initialising
                run_all(new_on_destroy);
            }
            component.$$.on_mount = [];
        });
    }
    after_update.forEach(add_render_callback);
}
function destroy_component(component, detaching) {
    const $$ = component.$$;
    if ($$.fragment !== null) {
        flush_render_callbacks($$.after_update);
        run_all($$.on_destroy);
        $$.fragment && $$.fragment.d(detaching);
        // TODO null out other refs, including component.$$ (but need to
        // preserve final state?)
        $$.on_destroy = $$.fragment = null;
        $$.ctx = [];
    }
}
function make_dirty(component, i) {
    if (component.$$.dirty[0] === -1) {
        dirty_components.push(component);
        schedule_update();
        component.$$.dirty.fill(0);
    }
    component.$$.dirty[(i / 31) | 0] |= (1 << (i % 31));
}
function init(component, options, instance, create_fragment, not_equal, props, append_styles, dirty = [-1]) {
    const parent_component = current_component;
    set_current_component(component);
    const $$ = component.$$ = {
        fragment: null,
        ctx: [],
        // state
        props,
        update: noop,
        not_equal,
        bound: blank_object(),
        // lifecycle
        on_mount: [],
        on_destroy: [],
        on_disconnect: [],
        before_update: [],
        after_update: [],
        context: new Map(options.context || (parent_component ? parent_component.$$.context : [])),
        // everything else
        callbacks: blank_object(),
        dirty,
        skip_bound: false,
        root: options.target || parent_component.$$.root
    };
    append_styles && append_styles($$.root);
    let ready = false;
    $$.ctx = instance
        ? instance(component, options.props || {}, (i, ret, ...rest) => {
            const value = rest.length ? rest[0] : ret;
            if ($$.ctx && not_equal($$.ctx[i], $$.ctx[i] = value)) {
                if (!$$.skip_bound && $$.bound[i])
                    $$.bound[i](value);
                if (ready)
                    make_dirty(component, i);
            }
            return ret;
        })
        : [];
    $$.update();
    ready = true;
    run_all($$.before_update);
    // `false` as a special case of no DOM component
    $$.fragment = create_fragment ? create_fragment($$.ctx) : false;
    if (options.target) {
        if (options.hydrate) {
            start_hydrating();
            const nodes = children(options.target);
            // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
            $$.fragment && $$.fragment.l(nodes);
            nodes.forEach(detach);
        }
        else {
            // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
            $$.fragment && $$.fragment.c();
        }
        if (options.intro)
            transition_in(component.$$.fragment);
        mount_component(component, options.target, options.anchor, options.customElement);
        end_hydrating();
        flush();
    }
    set_current_component(parent_component);
}
let SvelteElement;
if (typeof HTMLElement === 'function') {
    SvelteElement = class extends HTMLElement {
        constructor() {
            super();
            this.attachShadow({ mode: 'open' });
        }
        connectedCallback() {
            const { on_mount } = this.$$;
            this.$$.on_disconnect = on_mount.map(run).filter(internal_is_function);
            // @ts-ignore todo: improve typings
            for (const key in this.$$.slotted) {
                // @ts-ignore todo: improve typings
                this.appendChild(this.$$.slotted[key]);
            }
        }
        attributeChangedCallback(attr, _oldValue, newValue) {
            this[attr] = newValue;
        }
        disconnectedCallback() {
            run_all(this.$$.on_disconnect);
        }
        $destroy() {
            destroy_component(this, 1);
            this.$destroy = noop;
        }
        $on(type, callback) {
            // TODO should this delegate to addEventListener?
            if (!internal_is_function(callback)) {
                return noop;
            }
            const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));
            callbacks.push(callback);
            return () => {
                const index = callbacks.indexOf(callback);
                if (index !== -1)
                    callbacks.splice(index, 1);
            };
        }
        $set($$props) {
            if (this.$$set && !is_empty($$props)) {
                this.$$.skip_bound = true;
                this.$$set($$props);
                this.$$.skip_bound = false;
            }
        }
    };
}
/**
 * Base class for Svelte components. Used when dev=false.
 */
class SvelteComponent {
    $destroy() {
        destroy_component(this, 1);
        this.$destroy = noop;
    }
    $on(type, callback) {
        if (!internal_is_function(callback)) {
            return noop;
        }
        const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));
        callbacks.push(callback);
        return () => {
            const index = callbacks.indexOf(callback);
            if (index !== -1)
                callbacks.splice(index, 1);
        };
    }
    $set($$props) {
        if (this.$$set && !is_empty($$props)) {
            this.$$.skip_bound = true;
            this.$$set($$props);
            this.$$.skip_bound = false;
        }
    }
}

function dispatch_dev(type, detail) {
    document.dispatchEvent(custom_event(type, Object.assign({ version: '3.59.2' }, detail), { bubbles: true }));
}
function append_dev(target, node) {
    dispatch_dev('SvelteDOMInsert', { target, node });
    append(target, node);
}
function append_hydration_dev(target, node) {
    dispatch_dev('SvelteDOMInsert', { target, node });
    append_hydration(target, node);
}
function insert_dev(target, node, anchor) {
    dispatch_dev('SvelteDOMInsert', { target, node, anchor });
    insert(target, node, anchor);
}
function insert_hydration_dev(target, node, anchor) {
    dispatch_dev('SvelteDOMInsert', { target, node, anchor });
    insert_hydration(target, node, anchor);
}
function detach_dev(node) {
    dispatch_dev('SvelteDOMRemove', { node });
    detach(node);
}
function detach_between_dev(before, after) {
    while (before.nextSibling && before.nextSibling !== after) {
        detach_dev(before.nextSibling);
    }
}
function detach_before_dev(after) {
    while (after.previousSibling) {
        detach_dev(after.previousSibling);
    }
}
function detach_after_dev(before) {
    while (before.nextSibling) {
        detach_dev(before.nextSibling);
    }
}
function listen_dev(node, event, handler, options, has_prevent_default, has_stop_propagation, has_stop_immediate_propagation) {
    const modifiers = options === true ? ['capture'] : options ? Array.from(Object.keys(options)) : [];
    if (has_prevent_default)
        modifiers.push('preventDefault');
    if (has_stop_propagation)
        modifiers.push('stopPropagation');
    if (has_stop_immediate_propagation)
        modifiers.push('stopImmediatePropagation');
    dispatch_dev('SvelteDOMAddEventListener', { node, event, handler, modifiers });
    const dispose = listen(node, event, handler, options);
    return () => {
        dispatch_dev('SvelteDOMRemoveEventListener', { node, event, handler, modifiers });
        dispose();
    };
}
function attr_dev(node, attribute, value) {
    attr(node, attribute, value);
    if (value == null)
        dispatch_dev('SvelteDOMRemoveAttribute', { node, attribute });
    else
        dispatch_dev('SvelteDOMSetAttribute', { node, attribute, value });
}
function prop_dev(node, property, value) {
    node[property] = value;
    dispatch_dev('SvelteDOMSetProperty', { node, property, value });
}
function dataset_dev(node, property, value) {
    node.dataset[property] = value;
    dispatch_dev('SvelteDOMSetDataset', { node, property, value });
}
function set_data_dev(text, data) {
    data = '' + data;
    if (text.data === data)
        return;
    dispatch_dev('SvelteDOMSetData', { node: text, data });
    text.data = data;
}
function set_data_contenteditable_dev(text, data) {
    data = '' + data;
    if (text.wholeText === data)
        return;
    dispatch_dev('SvelteDOMSetData', { node: text, data });
    text.data = data;
}
function set_data_maybe_contenteditable_dev(text, data, attr_value) {
    if (~contenteditable_truthy_values.indexOf(attr_value)) {
        set_data_contenteditable_dev(text, data);
    }
    else {
        set_data_dev(text, data);
    }
}
function validate_each_argument(arg) {
    if (typeof arg !== 'string' && !(arg && typeof arg === 'object' && 'length' in arg)) {
        let msg = '{#each} only iterates over array-like objects.';
        if (typeof Symbol === 'function' && arg && Symbol.iterator in arg) {
            msg += ' You can use a spread to convert this iterable into an array.';
        }
        throw new Error(msg);
    }
}
function validate_slots(name, slot, keys) {
    for (const slot_key of Object.keys(slot)) {
        if (!~keys.indexOf(slot_key)) {
            console.warn(`<${name}> received an unexpected slot "${slot_key}".`);
        }
    }
}
function validate_dynamic_element(tag) {
    const is_string = typeof tag === 'string';
    if (tag && !is_string) {
        throw new Error('<svelte:element> expects "this" attribute to be a string.');
    }
}
function validate_void_dynamic_element(tag) {
    if (tag && is_void(tag)) {
        console.warn(`<svelte:element this="${tag}"> is self-closing and cannot have content.`);
    }
}
function construct_svelte_component_dev(component, props) {
    const error_message = 'this={...} of <svelte:component> should specify a Svelte component.';
    try {
        const instance = new component(props);
        if (!instance.$$ || !instance.$set || !instance.$on || !instance.$destroy) {
            throw new Error(error_message);
        }
        return instance;
    }
    catch (err) {
        const { message } = err;
        if (typeof message === 'string' && message.indexOf('is not a constructor') !== -1) {
            throw new Error(error_message);
        }
        else {
            throw err;
        }
    }
}
/**
 * Base class for Svelte components with some minor dev-enhancements. Used when dev=true.
 */
class SvelteComponentDev extends SvelteComponent {
    constructor(options) {
        if (!options || (!options.target && !options.$$inline)) {
            throw new Error("'target' is a required option");
        }
        super();
    }
    $destroy() {
        super.$destroy();
        this.$destroy = () => {
            console.warn('Component was already destroyed'); // eslint-disable-line no-console
        };
    }
    $capture_state() { }
    $inject_state() { }
}
/**
 * Base class to create strongly typed Svelte components.
 * This only exists for typing purposes and should be used in `.d.ts` files.
 *
 * ### Example:
 *
 * You have component library on npm called `component-library`, from which
 * you export a component called `MyComponent`. For Svelte+TypeScript users,
 * you want to provide typings. Therefore you create a `index.d.ts`:
 * ```ts
 * import { SvelteComponentTyped } from "svelte";
 * export class MyComponent extends SvelteComponentTyped<{foo: string}> {}
 * ```
 * Typing this makes it possible for IDEs like VS Code with the Svelte extension
 * to provide intellisense and to use the component like this in a Svelte file
 * with TypeScript:
 * ```svelte
 * <script lang="ts">
 * 	import { MyComponent } from "component-library";
 * </script>
 * <MyComponent foo={'bar'} />
 * ```
 *
 * #### Why not make this part of `SvelteComponent(Dev)`?
 * Because
 * ```ts
 * class ASubclassOfSvelteComponent extends SvelteComponent<{foo: string}> {}
 * const component: typeof SvelteComponent = ASubclassOfSvelteComponent;
 * ```
 * will throw a type error, so we need to separate the more strictly typed class.
 */
class SvelteComponentTyped extends SvelteComponentDev {
    constructor(options) {
        super(options);
    }
}
function loop_guard(timeout) {
    const start = Date.now();
    return () => {
        if (Date.now() - start > timeout) {
            throw new Error('Infinite loop detected');
        }
    };
}



;// ../node_modules/svelte/index.mjs


;// ../canvas_viz/dist/elements/HeaderButton.svelte
/* media/satish/Development/workspace/projects/exploratory_data_analysis/deepview/src/deepview_canvas/canvas_viz/dist/elements/HeaderButton.svelte generated by Svelte v3.59.2 */


function create_fragment(ctx) {
	let button;
	let t;
	let button_class_value;
	let mounted;
	let dispose;

	return {
		c() {
			button = internal_element("button");
			t = internal_text(/*value*/ ctx[1]);

			attr(button, "class", button_class_value = "bg-transparent px-2 " + (/*selected*/ ctx[0]
			? 'text-text-dark'
			: 'text-text-dimmed hover:text-text-dark'));

			button.value = /*value*/ ctx[1];
		},
		m(target, anchor) {
			insert(target, button, anchor);
			append(button, t);

			if (!mounted) {
				dispose = listen(button, "click", /*click_handler*/ ctx[2]);
				mounted = true;
			}
		},
		p(ctx, [dirty]) {
			if (dirty & /*value*/ 2) set_data(t, /*value*/ ctx[1]);

			if (dirty & /*selected*/ 1 && button_class_value !== (button_class_value = "bg-transparent px-2 " + (/*selected*/ ctx[0]
			? 'text-text-dark'
			: 'text-text-dimmed hover:text-text-dark'))) {
				attr(button, "class", button_class_value);
			}

			if (dirty & /*value*/ 2) {
				button.value = /*value*/ ctx[1];
			}
		},
		i: noop,
		o: noop,
		d(detaching) {
			if (detaching) detach(button);
			mounted = false;
			dispose();
		}
	};
}

function instance($$self, $$props, $$invalidate) {
	let { selected } = $$props;
	let { value } = $$props;

	function click_handler(event) {
		bubble.call(this, $$self, event);
	}

	$$self.$$set = $$props => {
		if ('selected' in $$props) $$invalidate(0, selected = $$props.selected);
		if ('value' in $$props) $$invalidate(1, value = $$props.value);
	};

	return [selected, value, click_handler];
}

class HeaderButton extends SvelteComponent {
	constructor(options) {
		super();
		init(this, options, instance, create_fragment, safe_not_equal, { selected: 0, value: 1 });
	}
}

/* harmony default export */ const HeaderButton_svelte = (HeaderButton);
;// ../node_modules/svelte-fa/src/utils.js
const parseNumber = parseFloat;

function joinCss(obj, separator = ';') {
  let texts;
  if (Array.isArray(obj)) {
    texts = obj.filter((text) => text);
  } else {
    texts = [];
    for (const prop in obj) {
      if (obj[prop]) {
        texts.push(`${prop}:${obj[prop]}`);
      }
    }
  }
  return texts.join(separator);
}

function getStyles(style, size, pull, fw) {
  let float;
  let width;
  const height = '1em';
  let lineHeight;
  let fontSize;
  let textAlign;
  let verticalAlign = '-.125em';
  const overflow = 'visible';

  if (fw) {
    textAlign = 'center';
    width = '1.25em';
  }

  if (pull) {
    float = pull;
  }

  if (size) {
    if (size == 'lg') {
      fontSize = '1.33333em';
      lineHeight = '.75em';
      verticalAlign = '-.225em';
    } else if (size == 'xs') {
      fontSize = '.75em';
    } else if (size == 'sm') {
      fontSize = '.875em';
    } else {
      fontSize = size.replace('x', 'em');
    }
  }

  return joinCss([
    joinCss({
      float,
      width,
      height,
      'line-height': lineHeight,
      'font-size': fontSize,
      'text-align': textAlign,
      'vertical-align': verticalAlign,
      'transform-origin': 'center',
      overflow,
    }),
    style,
  ]);
}

function getTransform(
  scale,
  translateX,
  translateY,
  rotate,
  flip,
  translateTimes = 1,
  translateUnit = '',
  rotateUnit = '',
) {
  let flipX = 1;
  let flipY = 1;

  if (flip) {
    if (flip == 'horizontal') {
      flipX = -1;
    } else if (flip == 'vertical') {
      flipY = -1;
    } else {
      flipX = flipY = -1;
    }
  }

  return joinCss(
    [
      `translate(${parseNumber(translateX) * translateTimes}${translateUnit},${parseNumber(translateY) * translateTimes}${translateUnit})`,
      `scale(${flipX * parseNumber(scale)},${flipY * parseNumber(scale)})`,
      rotate && `rotate(${rotate}${rotateUnit})`,
    ],
    ' ',
  );
}

;// ../node_modules/svelte-fa/src/fa.svelte
/* media/satish/Development/workspace/projects/exploratory_data_analysis/deepview/src/deepview_canvas/node_modules/svelte-fa/src/fa.svelte generated by Svelte v3.59.2 */




function add_css(target) {
	append_styles(target, "svelte-q6amlk", ".spin.svelte-q6amlk{-webkit-animation:svelte-q6amlk-spin 2s 0s infinite linear;animation:svelte-q6amlk-spin 2s 0s infinite linear}.pulse.svelte-q6amlk{-webkit-animation:svelte-q6amlk-spin 1s infinite steps(8);animation:svelte-q6amlk-spin 1s infinite steps(8)}@-webkit-keyframes svelte-q6amlk-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes svelte-q6amlk-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}");
}

// (93:0) {#if i[4]}
function create_if_block(ctx) {
	let svg;
	let g1;
	let g0;
	let g1_transform_value;
	let g1_transform_origin_value;
	let svg_class_value;
	let svg_viewBox_value;

	function select_block_type(ctx, dirty) {
		if (typeof /*i*/ ctx[7][4] == 'string') return create_if_block_1;
		return create_else_block;
	}

	let current_block_type = select_block_type(ctx, -1);
	let if_block = current_block_type(ctx);

	return {
		c() {
			svg = svg_element("svg");
			g1 = svg_element("g");
			g0 = svg_element("g");
			if_block.c();
			attr(g0, "transform", /*transform*/ ctx[10]);
			attr(g1, "transform", g1_transform_value = `translate(${/*i*/ ctx[7][0] / 2} ${/*i*/ ctx[7][1] / 2})`);
			attr(g1, "transform-origin", g1_transform_origin_value = `${/*i*/ ctx[7][0] / 4} 0`);
			attr(svg, "id", /*id*/ ctx[0]);
			attr(svg, "class", svg_class_value = "" + (null_to_empty(/*c*/ ctx[8]) + " svelte-q6amlk"));
			attr(svg, "style", /*s*/ ctx[9]);
			attr(svg, "viewBox", svg_viewBox_value = `0 0 ${/*i*/ ctx[7][0]} ${/*i*/ ctx[7][1]}`);
			attr(svg, "aria-hidden", "true");
			attr(svg, "role", "img");
			attr(svg, "xmlns", "http://www.w3.org/2000/svg");
		},
		m(target, anchor) {
			insert(target, svg, anchor);
			append(svg, g1);
			append(g1, g0);
			if_block.m(g0, null);
		},
		p(ctx, dirty) {
			if (current_block_type === (current_block_type = select_block_type(ctx, dirty)) && if_block) {
				if_block.p(ctx, dirty);
			} else {
				if_block.d(1);
				if_block = current_block_type(ctx);

				if (if_block) {
					if_block.c();
					if_block.m(g0, null);
				}
			}

			if (dirty & /*transform*/ 1024) {
				attr(g0, "transform", /*transform*/ ctx[10]);
			}

			if (dirty & /*i*/ 128 && g1_transform_value !== (g1_transform_value = `translate(${/*i*/ ctx[7][0] / 2} ${/*i*/ ctx[7][1] / 2})`)) {
				attr(g1, "transform", g1_transform_value);
			}

			if (dirty & /*i*/ 128 && g1_transform_origin_value !== (g1_transform_origin_value = `${/*i*/ ctx[7][0] / 4} 0`)) {
				attr(g1, "transform-origin", g1_transform_origin_value);
			}

			if (dirty & /*id*/ 1) {
				attr(svg, "id", /*id*/ ctx[0]);
			}

			if (dirty & /*c*/ 256 && svg_class_value !== (svg_class_value = "" + (null_to_empty(/*c*/ ctx[8]) + " svelte-q6amlk"))) {
				attr(svg, "class", svg_class_value);
			}

			if (dirty & /*s*/ 512) {
				attr(svg, "style", /*s*/ ctx[9]);
			}

			if (dirty & /*i*/ 128 && svg_viewBox_value !== (svg_viewBox_value = `0 0 ${/*i*/ ctx[7][0]} ${/*i*/ ctx[7][1]}`)) {
				attr(svg, "viewBox", svg_viewBox_value);
			}
		},
		d(detaching) {
			if (detaching) detach(svg);
			if_block.d();
		}
	};
}

// (114:8) {:else}
function create_else_block(ctx) {
	let path0;
	let path0_d_value;
	let path0_fill_value;
	let path0_fill_opacity_value;
	let path0_transform_value;
	let path1;
	let path1_d_value;
	let path1_fill_value;
	let path1_fill_opacity_value;
	let path1_transform_value;

	return {
		c() {
			path0 = svg_element("path");
			path1 = svg_element("path");
			attr(path0, "d", path0_d_value = /*i*/ ctx[7][4][0]);
			attr(path0, "fill", path0_fill_value = /*secondaryColor*/ ctx[3] || /*color*/ ctx[1] || 'currentColor');

			attr(path0, "fill-opacity", path0_fill_opacity_value = /*swapOpacity*/ ctx[6] != false
			? /*primaryOpacity*/ ctx[4]
			: /*secondaryOpacity*/ ctx[5]);

			attr(path0, "transform", path0_transform_value = `translate(${/*i*/ ctx[7][0] / -2} ${/*i*/ ctx[7][1] / -2})`);
			attr(path1, "d", path1_d_value = /*i*/ ctx[7][4][1]);
			attr(path1, "fill", path1_fill_value = /*primaryColor*/ ctx[2] || /*color*/ ctx[1] || 'currentColor');

			attr(path1, "fill-opacity", path1_fill_opacity_value = /*swapOpacity*/ ctx[6] != false
			? /*secondaryOpacity*/ ctx[5]
			: /*primaryOpacity*/ ctx[4]);

			attr(path1, "transform", path1_transform_value = `translate(${/*i*/ ctx[7][0] / -2} ${/*i*/ ctx[7][1] / -2})`);
		},
		m(target, anchor) {
			insert(target, path0, anchor);
			insert(target, path1, anchor);
		},
		p(ctx, dirty) {
			if (dirty & /*i*/ 128 && path0_d_value !== (path0_d_value = /*i*/ ctx[7][4][0])) {
				attr(path0, "d", path0_d_value);
			}

			if (dirty & /*secondaryColor, color*/ 10 && path0_fill_value !== (path0_fill_value = /*secondaryColor*/ ctx[3] || /*color*/ ctx[1] || 'currentColor')) {
				attr(path0, "fill", path0_fill_value);
			}

			if (dirty & /*swapOpacity, primaryOpacity, secondaryOpacity*/ 112 && path0_fill_opacity_value !== (path0_fill_opacity_value = /*swapOpacity*/ ctx[6] != false
			? /*primaryOpacity*/ ctx[4]
			: /*secondaryOpacity*/ ctx[5])) {
				attr(path0, "fill-opacity", path0_fill_opacity_value);
			}

			if (dirty & /*i*/ 128 && path0_transform_value !== (path0_transform_value = `translate(${/*i*/ ctx[7][0] / -2} ${/*i*/ ctx[7][1] / -2})`)) {
				attr(path0, "transform", path0_transform_value);
			}

			if (dirty & /*i*/ 128 && path1_d_value !== (path1_d_value = /*i*/ ctx[7][4][1])) {
				attr(path1, "d", path1_d_value);
			}

			if (dirty & /*primaryColor, color*/ 6 && path1_fill_value !== (path1_fill_value = /*primaryColor*/ ctx[2] || /*color*/ ctx[1] || 'currentColor')) {
				attr(path1, "fill", path1_fill_value);
			}

			if (dirty & /*swapOpacity, secondaryOpacity, primaryOpacity*/ 112 && path1_fill_opacity_value !== (path1_fill_opacity_value = /*swapOpacity*/ ctx[6] != false
			? /*secondaryOpacity*/ ctx[5]
			: /*primaryOpacity*/ ctx[4])) {
				attr(path1, "fill-opacity", path1_fill_opacity_value);
			}

			if (dirty & /*i*/ 128 && path1_transform_value !== (path1_transform_value = `translate(${/*i*/ ctx[7][0] / -2} ${/*i*/ ctx[7][1] / -2})`)) {
				attr(path1, "transform", path1_transform_value);
			}
		},
		d(detaching) {
			if (detaching) detach(path0);
			if (detaching) detach(path1);
		}
	};
}

// (108:8) {#if typeof i[4] == 'string'}
function create_if_block_1(ctx) {
	let path;
	let path_d_value;
	let path_fill_value;
	let path_transform_value;

	return {
		c() {
			path = svg_element("path");
			attr(path, "d", path_d_value = /*i*/ ctx[7][4]);
			attr(path, "fill", path_fill_value = /*color*/ ctx[1] || /*primaryColor*/ ctx[2] || 'currentColor');
			attr(path, "transform", path_transform_value = `translate(${/*i*/ ctx[7][0] / -2} ${/*i*/ ctx[7][1] / -2})`);
		},
		m(target, anchor) {
			insert(target, path, anchor);
		},
		p(ctx, dirty) {
			if (dirty & /*i*/ 128 && path_d_value !== (path_d_value = /*i*/ ctx[7][4])) {
				attr(path, "d", path_d_value);
			}

			if (dirty & /*color, primaryColor*/ 6 && path_fill_value !== (path_fill_value = /*color*/ ctx[1] || /*primaryColor*/ ctx[2] || 'currentColor')) {
				attr(path, "fill", path_fill_value);
			}

			if (dirty & /*i*/ 128 && path_transform_value !== (path_transform_value = `translate(${/*i*/ ctx[7][0] / -2} ${/*i*/ ctx[7][1] / -2})`)) {
				attr(path, "transform", path_transform_value);
			}
		},
		d(detaching) {
			if (detaching) detach(path);
		}
	};
}

function fa_svelte_create_fragment(ctx) {
	let if_block_anchor;
	let if_block = /*i*/ ctx[7][4] && create_if_block(ctx);

	return {
		c() {
			if (if_block) if_block.c();
			if_block_anchor = empty();
		},
		m(target, anchor) {
			if (if_block) if_block.m(target, anchor);
			insert(target, if_block_anchor, anchor);
		},
		p(ctx, [dirty]) {
			if (/*i*/ ctx[7][4]) {
				if (if_block) {
					if_block.p(ctx, dirty);
				} else {
					if_block = create_if_block(ctx);
					if_block.c();
					if_block.m(if_block_anchor.parentNode, if_block_anchor);
				}
			} else if (if_block) {
				if_block.d(1);
				if_block = null;
			}
		},
		i: noop,
		o: noop,
		d(detaching) {
			if (if_block) if_block.d(detaching);
			if (detaching) detach(if_block_anchor);
		}
	};
}

function fa_svelte_instance($$self, $$props, $$invalidate) {
	let { class: clazz = '' } = $$props;
	let { id = '' } = $$props;
	let { style = '' } = $$props;
	let { icon } = $$props;
	let { size = '' } = $$props;
	let { color = '' } = $$props;
	let { fw = false } = $$props;
	let { pull = '' } = $$props;
	let { scale = 1 } = $$props;
	let { translateX = 0 } = $$props;
	let { translateY = 0 } = $$props;
	let { rotate = '' } = $$props;
	let { flip = false } = $$props;
	let { spin = false } = $$props;
	let { pulse = false } = $$props;
	let { primaryColor = '' } = $$props;
	let { secondaryColor = '' } = $$props;
	let { primaryOpacity = 1 } = $$props;
	let { secondaryOpacity = 0.4 } = $$props;
	let { swapOpacity = false } = $$props;
	let i;
	let c;
	let s;
	let transform;

	$$self.$$set = $$props => {
		if ('class' in $$props) $$invalidate(11, clazz = $$props.class);
		if ('id' in $$props) $$invalidate(0, id = $$props.id);
		if ('style' in $$props) $$invalidate(12, style = $$props.style);
		if ('icon' in $$props) $$invalidate(13, icon = $$props.icon);
		if ('size' in $$props) $$invalidate(14, size = $$props.size);
		if ('color' in $$props) $$invalidate(1, color = $$props.color);
		if ('fw' in $$props) $$invalidate(15, fw = $$props.fw);
		if ('pull' in $$props) $$invalidate(16, pull = $$props.pull);
		if ('scale' in $$props) $$invalidate(17, scale = $$props.scale);
		if ('translateX' in $$props) $$invalidate(18, translateX = $$props.translateX);
		if ('translateY' in $$props) $$invalidate(19, translateY = $$props.translateY);
		if ('rotate' in $$props) $$invalidate(20, rotate = $$props.rotate);
		if ('flip' in $$props) $$invalidate(21, flip = $$props.flip);
		if ('spin' in $$props) $$invalidate(22, spin = $$props.spin);
		if ('pulse' in $$props) $$invalidate(23, pulse = $$props.pulse);
		if ('primaryColor' in $$props) $$invalidate(2, primaryColor = $$props.primaryColor);
		if ('secondaryColor' in $$props) $$invalidate(3, secondaryColor = $$props.secondaryColor);
		if ('primaryOpacity' in $$props) $$invalidate(4, primaryOpacity = $$props.primaryOpacity);
		if ('secondaryOpacity' in $$props) $$invalidate(5, secondaryOpacity = $$props.secondaryOpacity);
		if ('swapOpacity' in $$props) $$invalidate(6, swapOpacity = $$props.swapOpacity);
	};

	$$self.$$.update = () => {
		if ($$self.$$.dirty & /*icon*/ 8192) {
			$: $$invalidate(7, i = icon && icon.icon || [0, 0, '', [], '']);
		}

		if ($$self.$$.dirty & /*clazz, spin, pulse*/ 12584960) {
			$: $$invalidate(8, c = joinCss([clazz, 'svelte-fa', spin && 'spin', pulse && 'pulse'], ' '));
		}

		if ($$self.$$.dirty & /*style, size, pull, fw*/ 118784) {
			$: $$invalidate(9, s = getStyles(style, size, pull, fw));
		}

		if ($$self.$$.dirty & /*scale, translateX, translateY, rotate, flip*/ 4063232) {
			$: $$invalidate(10, transform = getTransform(scale, translateX, translateY, rotate, flip, 512));
		}
	};

	return [
		id,
		color,
		primaryColor,
		secondaryColor,
		primaryOpacity,
		secondaryOpacity,
		swapOpacity,
		i,
		c,
		s,
		transform,
		clazz,
		style,
		icon,
		size,
		fw,
		pull,
		scale,
		translateX,
		translateY,
		rotate,
		flip,
		spin,
		pulse
	];
}

class Fa extends SvelteComponent {
	constructor(options) {
		super();

		init(
			this,
			options,
			fa_svelte_instance,
			fa_svelte_create_fragment,
			safe_not_equal,
			{
				class: 11,
				id: 0,
				style: 12,
				icon: 13,
				size: 14,
				color: 1,
				fw: 15,
				pull: 16,
				scale: 17,
				translateX: 18,
				translateY: 19,
				rotate: 20,
				flip: 21,
				spin: 22,
				pulse: 23,
				primaryColor: 2,
				secondaryColor: 3,
				primaryOpacity: 4,
				secondaryOpacity: 5,
				swapOpacity: 6
			},
			add_css
		);
	}
}

/* harmony default export */ const fa_svelte = (Fa);
// EXTERNAL MODULE: ../node_modules/@fortawesome/free-brands-svg-icons/faGithub.js
var faGithub = __webpack_require__(1639);
;// ../canvas_viz/dist/elements/IconButton.svelte
/* media/satish/Development/workspace/projects/exploratory_data_analysis/deepview/src/deepview_canvas/canvas_viz/dist/elements/IconButton.svelte generated by Svelte v3.59.2 */


const get_text_slot_changes = dirty => ({});
const get_text_slot_context = ctx => ({});
const get_icon_slot_changes = dirty => ({});
const get_icon_slot_context = ctx => ({});

// (26:4) {#if $$slots.icon}
function IconButton_svelte_create_if_block(ctx) {
	let div;
	let div_class_value;
	let current;
	const icon_slot_template = /*#slots*/ ctx[3].icon;
	const icon_slot = create_slot(icon_slot_template, ctx, /*$$scope*/ ctx[2], get_icon_slot_context);

	return {
		c() {
			div = internal_element("div");
			if (icon_slot) icon_slot.c();
			attr(div, "class", div_class_value = /*$$slots*/ ctx[1].text ? "pr-2 flex" : "flex");
		},
		m(target, anchor) {
			insert(target, div, anchor);

			if (icon_slot) {
				icon_slot.m(div, null);
			}

			current = true;
		},
		p(ctx, dirty) {
			if (icon_slot) {
				if (icon_slot.p && (!current || dirty & /*$$scope*/ 4)) {
					update_slot_base(
						icon_slot,
						icon_slot_template,
						ctx,
						/*$$scope*/ ctx[2],
						!current
						? get_all_dirty_from_scope(/*$$scope*/ ctx[2])
						: get_slot_changes(icon_slot_template, /*$$scope*/ ctx[2], dirty, get_icon_slot_changes),
						get_icon_slot_context
					);
				}
			}

			if (!current || dirty & /*$$slots*/ 2 && div_class_value !== (div_class_value = /*$$slots*/ ctx[1].text ? "pr-2 flex" : "flex")) {
				attr(div, "class", div_class_value);
			}
		},
		i(local) {
			if (current) return;
			transition_in(icon_slot, local);
			current = true;
		},
		o(local) {
			transition_out(icon_slot, local);
			current = false;
		},
		d(detaching) {
			if (detaching) detach(div);
			if (icon_slot) icon_slot.d(detaching);
		}
	};
}

function IconButton_svelte_create_fragment(ctx) {
	let button;
	let div;
	let t;
	let button_class_value;
	let current;
	let mounted;
	let dispose;
	let if_block = /*$$slots*/ ctx[1].icon && IconButton_svelte_create_if_block(ctx);
	const text_slot_template = /*#slots*/ ctx[3].text;
	const text_slot = create_slot(text_slot_template, ctx, /*$$scope*/ ctx[2], get_text_slot_context);

	return {
		c() {
			button = internal_element("button");
			div = internal_element("div");
			if (if_block) if_block.c();
			t = space();
			if (text_slot) text_slot.c();
			attr(div, "class", "flex items-center");

			attr(button, "class", button_class_value = "" + ((/*filled*/ ctx[0]
			? 'bg-button hover:bg-button_hover text-text-dark'
			: 'bg-white text-button border border-button hover:bg-button hover:text-white') + " rounded-md py-1 px-2 transition"));
		},
		m(target, anchor) {
			insert(target, button, anchor);
			append(button, div);
			if (if_block) if_block.m(div, null);
			append(div, t);

			if (text_slot) {
				text_slot.m(div, null);
			}

			current = true;

			if (!mounted) {
				dispose = [
					listen(button, "click", /*click_handler*/ ctx[4]),
					listen(button, "mouseleave", /*mouseleave_handler*/ ctx[5])
				];

				mounted = true;
			}
		},
		p(ctx, [dirty]) {
			if (/*$$slots*/ ctx[1].icon) {
				if (if_block) {
					if_block.p(ctx, dirty);

					if (dirty & /*$$slots*/ 2) {
						transition_in(if_block, 1);
					}
				} else {
					if_block = IconButton_svelte_create_if_block(ctx);
					if_block.c();
					transition_in(if_block, 1);
					if_block.m(div, t);
				}
			} else if (if_block) {
				group_outros();

				transition_out(if_block, 1, 1, () => {
					if_block = null;
				});

				check_outros();
			}

			if (text_slot) {
				if (text_slot.p && (!current || dirty & /*$$scope*/ 4)) {
					update_slot_base(
						text_slot,
						text_slot_template,
						ctx,
						/*$$scope*/ ctx[2],
						!current
						? get_all_dirty_from_scope(/*$$scope*/ ctx[2])
						: get_slot_changes(text_slot_template, /*$$scope*/ ctx[2], dirty, get_text_slot_changes),
						get_text_slot_context
					);
				}
			}

			if (!current || dirty & /*filled*/ 1 && button_class_value !== (button_class_value = "" + ((/*filled*/ ctx[0]
			? 'bg-button hover:bg-button_hover text-text-dark'
			: 'bg-white text-button border border-button hover:bg-button hover:text-white') + " rounded-md py-1 px-2 transition"))) {
				attr(button, "class", button_class_value);
			}
		},
		i(local) {
			if (current) return;
			transition_in(if_block);
			transition_in(text_slot, local);
			current = true;
		},
		o(local) {
			transition_out(if_block);
			transition_out(text_slot, local);
			current = false;
		},
		d(detaching) {
			if (detaching) detach(button);
			if (if_block) if_block.d();
			if (text_slot) text_slot.d(detaching);
			mounted = false;
			run_all(dispose);
		}
	};
}

function IconButton_svelte_instance($$self, $$props, $$invalidate) {
	let { $$slots: slots = {}, $$scope } = $$props;
	const $$slots = compute_slots(slots);
	let { filled = false } = $$props;

	function click_handler(event) {
		bubble.call(this, $$self, event);
	}

	function mouseleave_handler(event) {
		bubble.call(this, $$self, event);
	}

	$$self.$$set = $$props => {
		if ('filled' in $$props) $$invalidate(0, filled = $$props.filled);
		if ('$$scope' in $$props) $$invalidate(2, $$scope = $$props.$$scope);
	};

	return [filled, $$slots, $$scope, slots, click_handler, mouseleave_handler];
}

class IconButton extends SvelteComponent {
	constructor(options) {
		super();
		init(this, options, IconButton_svelte_instance, IconButton_svelte_create_fragment, safe_not_equal, { filled: 0 });
	}
}

/* harmony default export */ const IconButton_svelte = (IconButton);
;// ../canvas_viz/dist/elements/Promo.svelte
/* media/satish/Development/workspace/projects/exploratory_data_analysis/deepview/src/deepview_canvas/canvas_viz/dist/elements/Promo.svelte generated by Svelte v3.59.2 */






function create_icon_slot(ctx) {
	let fa;
	let current;
	fa = new fa_svelte({ props: { icon: faGithub/* faGithub */.Vz, slot: "icon" } });

	return {
		c() {
			create_component(fa.$$.fragment);
		},
		m(target, anchor) {
			mount_component(fa, target, anchor);
			current = true;
		},
		p: noop,
		i(local) {
			if (current) return;
			transition_in(fa.$$.fragment, local);
			current = true;
		},
		o(local) {
			transition_out(fa.$$.fragment, local);
			current = false;
		},
		d(detaching) {
			destroy_component(fa, detaching);
		}
	};
}

// (30:4) 
function create_text_slot(ctx) {
	let span;

	return {
		c() {
			span = internal_element("span");
			span.textContent = "Use Canvas";
			attr(span, "slot", "text");
		},
		m(target, anchor) {
			insert(target, span, anchor);
		},
		p: noop,
		d(detaching) {
			if (detaching) detach(span);
		}
	};
}

function Promo_svelte_create_fragment(ctx) {
	let div;
	let iconbutton;
	let current;

	iconbutton = new IconButton_svelte({
			props: {
				filled: true,
				$$slots: {
					text: [create_text_slot],
					icon: [create_icon_slot]
				},
				$$scope: { ctx }
			}
		});

	iconbutton.$on("click", /*click_handler*/ ctx[0]);

	return {
		c() {
			div = internal_element("div");
			create_component(iconbutton.$$.fragment);
		},
		m(target, anchor) {
			insert(target, div, anchor);
			mount_component(iconbutton, div, null);
			current = true;
		},
		p(ctx, [dirty]) {
			const iconbutton_changes = {};

			if (dirty & /*$$scope*/ 2) {
				iconbutton_changes.$$scope = { dirty, ctx };
			}

			iconbutton.$set(iconbutton_changes);
		},
		i(local) {
			if (current) return;
			transition_in(iconbutton.$$.fragment, local);
			current = true;
		},
		o(local) {
			transition_out(iconbutton.$$.fragment, local);
			current = false;
		},
		d(detaching) {
			if (detaching) detach(div);
			destroy_component(iconbutton);
		}
	};
}

function Promo_svelte_instance($$self) {
	const click_handler = () => window.open("https://github.com/satishlokkoju/deepview", "_blank");
	return [click_handler];
}

class Promo extends SvelteComponent {
	constructor(options) {
		super();
		init(this, options, Promo_svelte_instance, Promo_svelte_create_fragment, safe_not_equal, {});
	}
}

/* harmony default export */ const Promo_svelte = (Promo);
;// ../canvas_viz/dist/elements/AppHeader.svelte
/* media/satish/Development/workspace/projects/exploratory_data_analysis/deepview/src/deepview_canvas/canvas_viz/dist/elements/AppHeader.svelte generated by Svelte v3.59.2 */





function get_each_context(ctx, list, i) {
	const child_ctx = ctx.slice();
	child_ctx[4] = list[i];
	return child_ctx;
}

// (26:4) {#if pages !== undefined}
function AppHeader_svelte_create_if_block_1(ctx) {
	let div;
	let current;
	let each_value = /*pages*/ ctx[1];
	let each_blocks = [];

	for (let i = 0; i < each_value.length; i += 1) {
		each_blocks[i] = create_each_block(get_each_context(ctx, each_value, i));
	}

	const out = i => transition_out(each_blocks[i], 1, 1, () => {
		each_blocks[i] = null;
	});

	return {
		c() {
			div = internal_element("div");

			for (let i = 0; i < each_blocks.length; i += 1) {
				each_blocks[i].c();
			}

			attr(div, "class", "flex pl-12 overflow-auto");
		},
		m(target, anchor) {
			insert(target, div, anchor);

			for (let i = 0; i < each_blocks.length; i += 1) {
				if (each_blocks[i]) {
					each_blocks[i].m(div, null);
				}
			}

			current = true;
		},
		p(ctx, dirty) {
			if (dirty & /*pages, selectedPage*/ 6) {
				each_value = /*pages*/ ctx[1];
				let i;

				for (i = 0; i < each_value.length; i += 1) {
					const child_ctx = get_each_context(ctx, each_value, i);

					if (each_blocks[i]) {
						each_blocks[i].p(child_ctx, dirty);
						transition_in(each_blocks[i], 1);
					} else {
						each_blocks[i] = create_each_block(child_ctx);
						each_blocks[i].c();
						transition_in(each_blocks[i], 1);
						each_blocks[i].m(div, null);
					}
				}

				group_outros();

				for (i = each_value.length; i < each_blocks.length; i += 1) {
					out(i);
				}

				check_outros();
			}
		},
		i(local) {
			if (current) return;

			for (let i = 0; i < each_value.length; i += 1) {
				transition_in(each_blocks[i]);
			}

			current = true;
		},
		o(local) {
			each_blocks = each_blocks.filter(Boolean);

			for (let i = 0; i < each_blocks.length; i += 1) {
				transition_out(each_blocks[i]);
			}

			current = false;
		},
		d(detaching) {
			if (detaching) detach(div);
			destroy_each(each_blocks, detaching);
		}
	};
}

// (28:8) {#each pages as page}
function create_each_block(ctx) {
	let headerbutton;
	let current;

	headerbutton = new HeaderButton_svelte({
			props: {
				selected: /*page*/ ctx[4] === /*selectedPage*/ ctx[2],
				value: /*page*/ ctx[4]
			}
		});

	headerbutton.$on("click", /*click_handler*/ ctx[3]);

	return {
		c() {
			create_component(headerbutton.$$.fragment);
		},
		m(target, anchor) {
			mount_component(headerbutton, target, anchor);
			current = true;
		},
		p(ctx, dirty) {
			const headerbutton_changes = {};
			if (dirty & /*pages, selectedPage*/ 6) headerbutton_changes.selected = /*page*/ ctx[4] === /*selectedPage*/ ctx[2];
			if (dirty & /*pages*/ 2) headerbutton_changes.value = /*page*/ ctx[4];
			headerbutton.$set(headerbutton_changes);
		},
		i(local) {
			if (current) return;
			transition_in(headerbutton.$$.fragment, local);
			current = true;
		},
		o(local) {
			transition_out(headerbutton.$$.fragment, local);
			current = false;
		},
		d(detaching) {
			destroy_component(headerbutton, detaching);
		}
	};
}

// (39:4) {#if experiment !== undefined}
function AppHeader_svelte_create_if_block(ctx) {
	let h2;
	let t;

	return {
		c() {
			h2 = internal_element("h2");
			t = internal_text(/*experiment*/ ctx[0]);
			attr(h2, "class", "text-text-dark font-bold pr-4");
		},
		m(target, anchor) {
			insert(target, h2, anchor);
			append(h2, t);
		},
		p(ctx, dirty) {
			if (dirty & /*experiment*/ 1) set_data(t, /*experiment*/ ctx[0]);
		},
		d(detaching) {
			if (detaching) detach(h2);
		}
	};
}

function AppHeader_svelte_create_fragment(ctx) {
	let nav;
	let div0;
	let h2;
	let t1;
	let t2;
	let div1;
	let t3;
	let promo;
	let current;
	let if_block0 = /*pages*/ ctx[1] !== undefined && AppHeader_svelte_create_if_block_1(ctx);
	let if_block1 = /*experiment*/ ctx[0] !== undefined && AppHeader_svelte_create_if_block(ctx);
	promo = new Promo_svelte({});

	return {
		c() {
			nav = internal_element("nav");
			div0 = internal_element("div");
			h2 = internal_element("h2");
			h2.textContent = "Canvas";
			t1 = space();
			if (if_block0) if_block0.c();
			t2 = space();
			div1 = internal_element("div");
			if (if_block1) if_block1.c();
			t3 = space();
			create_component(promo.$$.fragment);
			attr(h2, "class", "text-2xl font-bold text-text-dark");
			attr(div0, "class", "flex items-center");
			attr(div1, "class", "flex items-center pl-4");
			attr(nav, "class", "p-2 pl-3 bg-black flex justify-between");
		},
		m(target, anchor) {
			insert(target, nav, anchor);
			append(nav, div0);
			append(div0, h2);
			append(div0, t1);
			if (if_block0) if_block0.m(div0, null);
			append(nav, t2);
			append(nav, div1);
			if (if_block1) if_block1.m(div1, null);
			append(div1, t3);
			mount_component(promo, div1, null);
			current = true;
		},
		p(ctx, [dirty]) {
			if (/*pages*/ ctx[1] !== undefined) {
				if (if_block0) {
					if_block0.p(ctx, dirty);

					if (dirty & /*pages*/ 2) {
						transition_in(if_block0, 1);
					}
				} else {
					if_block0 = AppHeader_svelte_create_if_block_1(ctx);
					if_block0.c();
					transition_in(if_block0, 1);
					if_block0.m(div0, null);
				}
			} else if (if_block0) {
				group_outros();

				transition_out(if_block0, 1, 1, () => {
					if_block0 = null;
				});

				check_outros();
			}

			if (/*experiment*/ ctx[0] !== undefined) {
				if (if_block1) {
					if_block1.p(ctx, dirty);
				} else {
					if_block1 = AppHeader_svelte_create_if_block(ctx);
					if_block1.c();
					if_block1.m(div1, t3);
				}
			} else if (if_block1) {
				if_block1.d(1);
				if_block1 = null;
			}
		},
		i(local) {
			if (current) return;
			transition_in(if_block0);
			transition_in(promo.$$.fragment, local);
			current = true;
		},
		o(local) {
			transition_out(if_block0);
			transition_out(promo.$$.fragment, local);
			current = false;
		},
		d(detaching) {
			if (detaching) detach(nav);
			if (if_block0) if_block0.d();
			if (if_block1) if_block1.d();
			destroy_component(promo);
		}
	};
}

function AppHeader_svelte_instance($$self, $$props, $$invalidate) {
	let { experiment = undefined } = $$props;
	let { pages = undefined } = $$props;
	let { selectedPage = undefined } = $$props;

	function click_handler(event) {
		bubble.call(this, $$self, event);
	}

	$$self.$$set = $$props => {
		if ('experiment' in $$props) $$invalidate(0, experiment = $$props.experiment);
		if ('pages' in $$props) $$invalidate(1, pages = $$props.pages);
		if ('selectedPage' in $$props) $$invalidate(2, selectedPage = $$props.selectedPage);
	};

	return [experiment, pages, selectedPage, click_handler];
}

class AppHeader extends SvelteComponent {
	constructor(options) {
		super();
		init(this, options, AppHeader_svelte_instance, AppHeader_svelte_create_fragment, safe_not_equal, { experiment: 0, pages: 1, selectedPage: 2 });
	}
}

/* harmony default export */ const AppHeader_svelte = (AppHeader);
;// ../node_modules/arquero/src/util/is-array.js
/* harmony default export */ const is_array = (Array.isArray);

;// ../node_modules/arquero/src/util/to-array.js


/* harmony default export */ function to_array(value) {
  return value != null
    ? (is_array(value) ? value : [value])
    : [];
}
;// ../node_modules/arquero/src/helpers/slice.js
/**
 * Generate a table expression that filters a table based on ordered row
 * indices from start to end (end not included), where start and end
 * represent per-group ordered row numbers in the table. The resulting
 * string can be used as the input to the filter verb.
 * @param {number} [start] Zero-based index at which to start extraction.
 *  A negative index indicates an offset from the end of the group.
 *  If start is undefined, slice starts from the index 0.
 * @param {number} [end] Zero-based index before which to end extraction.
 *  A negative index indicates an offset from the end of the group.
 *  If end is omitted, slice extracts through the end of the group.
 * @return {string} A table expression string for slicing values.
 * @example slice(1, -1)
 */
/* harmony default export */ function slice(start = 0, end = Infinity) {
  return `${prep(start)} < row_number() && row_number() <= ${prep(end)}`;
}

function prep(index) {
  return index < 0 ? `count() + ${index}` : index;
}
;// ../node_modules/arquero/src/table/transformable.js



/**
 * Abstract base class for transforming data.
 */
class Transformable {

  /**
   * Instantiate a new Transformable instance.
   * @param {Params} [params] The parameter values.
   */
  constructor(params) {
    if (params) this._params = params;
  }

  /**
   * Get or set table expression parameter values.
   * If called with no arguments, returns the current parameter values
   * as an object. Otherwise, adds the provided parameters to this
   * table's parameter set and returns the table. Any prior parameters
   * with names matching the input parameters are overridden.
   * @param {Params} [values] The parameter values.
   * @return {this|Params} The current parameters values (if called with
   *  no arguments) or this table.
   */
  params(values) {
    if (arguments.length) {
      if (values) {
        this._params = { ...this._params, ...values };
      }
      return this;
    } else {
      return this._params;
    }
  }

  /**
   * Create a new fully-materialized instance of this table.
   * All filter and orderby settings are removed from the new table.
   * Instead, the backing data itself is filtered and ordered as needed.
   * @param {number[]} [indices] Ordered row indices to materialize.
   *  If unspecified, all rows passing the table filter are used.
   * @return {this} A reified table.
   */
  reify(indices) {
    return this.__reify(this, indices);
  }

  // -- Transformation Verbs ------------------------------------------------

  /**
   * Count the number of values in a group. This method is a shorthand
   * for {@link Transformable#rollup} with a count aggregate function.
   * @param {CountOptions} [options] Options for the count.
   * @return {this} A new table with groupby and count columns.
   * @example table.groupby('colA').count()
   * @example table.groupby('colA').count({ as: 'num' })
   */
  count(options) {
    return this.__count(this, options);
  }

  /**
   * Derive new column values based on the provided expressions. By default,
   * new columns are added after (higher indices than) existing columns. Use
   * the before or after options to place new columns elsewhere.
   * @param {ExprObject} values Object of name-value pairs defining the
   *  columns to derive. The input object should have output column
   *  names for keys and table expressions for values.
   * @param {DeriveOptions} [options] Options for dropping or relocating
   *  derived columns. Use either a before or after property to indicate
   *  where to place derived columns. Specifying both before and after is an
   *  error. Unlike the relocate verb, this option affects only new columns;
   *  updated columns with existing names are excluded from relocation.
   * @return {this} A new table with derived columns added.
   * @example table.derive({ sumXY: d => d.x + d.y })
   * @example table.derive({ z: d => d.x * d.y }, { before: 'x' })
   */
  derive(values, options) {
    return this.__derive(this, values, options);
  }

  /**
   * Filter a table to a subset of rows based on the input criteria.
   * The resulting table provides a filtered view over the original data; no
   * data copy is made. To create a table that copies only filtered data to
   * new data structures, call {@link Transformable#reify} on the output table.
   * @param {TableExpr} criteria Filter criteria as a table expression.
   *  Both aggregate and window functions are permitted, taking into account
   *  {@link Transformable#groupby} or {@link Transformable#orderby} settings.
   * @return {this} A new table with filtered rows.
   * @example table.filter(d => abs(d.value) < 5)
   */
  filter(criteria) {
    return this.__filter(this, criteria);
  }

  /**
   * Extract rows with indices from start to end (end not included), where
   * start and end represent per-group ordered row numbers in the table.
   * @param {number} [start] Zero-based index at which to start extraction.
   *  A negative index indicates an offset from the end of the group.
   *  If start is undefined, slice starts from the index 0.
   * @param {number} [end] Zero-based index before which to end extraction.
   *  A negative index indicates an offset from the end of the group.
   *  If end is omitted, slice extracts through the end of the group.
   * @return {this} A new table with sliced rows.
   * @example table.slice(1, -1)
   */
  slice(start, end) {
    return this.filter(slice(start, end)).reify();
  }

  /**
   * Group table rows based on a set of column values.
   * Subsequent operations that are sensitive to grouping (such as
   * aggregate functions) will operate over the grouped rows.
   * To undo grouping, use {@link Transformable#ungroup}.
   * @param  {...ExprList} keys Key column values to group by.
   *  The keys may be specified using column name strings, column index
   *  numbers, value objects with output column names for keys and table
   *  expressions for values, or selection helper functions.
   * @return {this} A new table with grouped rows.
   * @example table.groupby('colA', 'colB')
   * @example table.groupby({ key: d => d.colA + d.colB })
   */
  groupby(...keys) {
    return this.__groupby(this, keys.flat());
  }

  /**
   * Order table rows based on a set of column values.
   * Subsequent operations sensitive to ordering (such as window functions)
   * will operate over sorted values.
   * The resulting table provides an view over the original data, without
   * any copying. To create a table with sorted data copied to new data
   * strucures, call {@link Transformable#reify} on the result of this method.
   * To undo ordering, use {@link Transformable#unorder}.
   * @param  {...OrderKeys} keys Key values to sort by, in precedence order.
   *  By default, sorting is done in ascending order.
   *  To sort in descending order, wrap values using {@link desc}.
   *  If a string, order by the column with that name.
   *  If a number, order by the column with that index.
   *  If a function, must be a valid table expression; aggregate functions
   *  are permitted, but window functions are not.
   *  If an object, object values must be valid values parameters
   *  with output column names for keys and table expressions
   *  for values (the output names will be ignored).
   *  If an array, array values must be valid key parameters.
   * @return {this} A new ordered table.
   * @example table.orderby('a', desc('b'))
   * @example table.orderby({ a: 'a', b: desc('b') )})
   * @example table.orderby(desc(d => d.a))
   */
  orderby(...keys) {
    return this.__orderby(this, keys.flat());
  }

  /**
   * Relocate a subset of columns to change their positions, also
   * potentially renaming them.
   * @param {Selection} columns An ordered selection of columns to relocate.
   *  The input may consist of column name strings, column integer indices,
   *  rename objects with current column names as keys and new column names
   *  as values, or functions that take a table as input and returns a valid
   *  selection parameter (typically the output of selection helper functions
   *  such as {@link all}, {@link not}, or {@link range}).
   * @param {RelocateOptions} options Options for relocating. Must include
   *  either the before or after property to indicate where to place the
   *  relocated columns. Specifying both before and after is an error.
   * @return {this} A new table with relocated columns.
   * @example table.relocate(['colY', 'colZ'], { after: 'colX' })
   * @example table.relocate(not('colB', 'colC'), { before: 'colA' })
   * @example table.relocate({ colA: 'newA', colB: 'newB' }, { after: 'colC' })
   */
  relocate(columns, options) {
    return this.__relocate(this, to_array(columns), options);
  }

  /**
   * Rename one or more columns, preserving column order.
   * @param {...Select} columns One or more rename objects with current
   *  column names as keys and new column names as values.
   * @return {this} A new table with renamed columns.
   * @example table.rename({ oldName: 'newName' })
   * @example table.rename({ a: 'a2', b: 'b2' })
   */
  rename(...columns) {
    return this.__rename(this, columns.flat());
  }

  /**
   * Rollup a table to produce an aggregate summary.
   * Often used in conjunction with {@link Transformable#groupby}.
   * To produce counts only, {@link Transformable#count} is a shortcut.
   * @param {ExprObject} [values] Object of name-value pairs defining aggregate
   *  output columns. The input object should have output column names for
   *  keys and table expressions for values. The expressions must be valid
   *  aggregate expressions: window functions are not allowed and column
   *  references must be arguments to aggregate functions.
   * @return {this} A new table of aggregate summary values.
   * @example table.groupby('colA').rollup({ mean: d => mean(d.colB) })
   * @example table.groupby('colA').rollup({ mean: op.median('colB') })
   */
  rollup(values) {
    return this.__rollup(this, values);
  }

  /**
   * Generate a table from a random sample of rows.
   * If the table is grouped, performs a stratified sample by
   * sampling from each group separately.
   * @param {number|TableExpr} size The number of samples to draw per group.
   *  If number-valued, the same sample size is used for each group.
   *  If function-valued, the input should be an aggregate table
   *  expression compatible with {@link Transformable#rollup}.
   * @param {SampleOptions} [options] Options for sampling.
   * @return {this} A new table with sampled rows.
   * @example table.sample(50)
   * @example table.sample(100, { replace: true })
   * @example table.groupby('colA').sample(() => op.floor(0.5 * op.count()))
   */
  sample(size, options) {
    return this.__sample(this, size, options);
  }

  /**
   * Select a subset of columns into a new table, potentially renaming them.
   * @param {...Select} columns An ordered selection of columns.
   *  The input may consist of column name strings, column integer indices,
   *  rename objects with current column names as keys and new column names
   *  as values, or functions that take a table as input and returns a valid
   *  selection parameter (typically the output of selection helper functions
   *  such as {@link all}, {@link not}, or {@link range}).
   * @return {this} A new table of selected columns.
   * @example table.select('colA', 'colB')
   * @example table.select(not('colB', 'colC'))
   * @example table.select({ colA: 'newA', colB: 'newB' })
   */
  select(...columns) {
    return this.__select(this, columns.flat());
  }

  /**
   * Ungroup a table, removing any grouping criteria.
   * Undoes the effects of {@link Transformable#groupby}.
   * @return {this} A new ungrouped table, or this table if not grouped.
   * @example table.ungroup()
   */
  ungroup() {
    return this.__ungroup(this);
  }

  /**
   * Unorder a table, removing any sorting criteria.
   * Undoes the effects of {@link Transformable#orderby}.
   * @return {this} A new unordered table, or this table if not ordered.
   * @example table.unorder()
   */
  unorder() {
    return this.__unorder(this);
  }

  // -- Cleaning Verbs ------------------------------------------------------

  /**
   * De-duplicate table rows by removing repeated row values.
   * @param {...ExprList} keys Key columns to check for duplicates.
   *  Two rows are considered duplicates if they have matching values for
   *  all keys. If keys are unspecified, all columns are used.
   *  The keys may be specified using column name strings, column index
   *  numbers, value objects with output column names for keys and table
   *  expressions for values, or selection helper functions.
   * @return {this} A new de-duplicated table.
   * @example table.dedupe()
   * @example table.dedupe('a', 'b')
   * @example table.dedupe({ abs: d => op.abs(d.a) })
   */
  dedupe(...keys) {
    return this.__dedupe(this, keys.flat());
  }

  /**
   * Impute missing values or rows. Accepts a set of column-expression pairs
   * and evaluates the expressions to replace any missing (null, undefined,
   * or NaN) values in the original column.
   * If the expand option is specified, imputes new rows for missing
   * combinations of values. All combinations of key values (a full cross
   * product) are considered for each level of grouping (specified by
   * {@link Transformable#groupby}). New rows will be added for any combination
   * of key and groupby values not already contained in the table. For all
   * non-key and non-group columns the new rows are populated with imputation
   * values (first argument) if specified, otherwise undefined.
   * If the expand option is specified, any filter or orderby settings are
   * removed from the output table, but groupby settings persist.
   * @param {ExprObject} values Object of name-value pairs for the column values
   *  to impute. The input object should have existing column names for keys
   *  and table expressions for values. The expressions will be evaluated to
   *  determine replacements for any missing values.
   * @param {ImputeOptions} [options] Imputation options. The expand
   *  property specifies a set of column values to consider for imputing
   *  missing rows. All combinations of expanded values are considered, and
   *  new rows are added for each combination that does not appear in the
   *  input table.
   * @return {this} A new table with imputed values and/or rows.
   * @example table.impute({ v: () => 0 })
   * @example table.impute({ v: d => op.mean(d.v) })
   * @example table.impute({ v: () => 0 }, { expand: ['x', 'y'] })
   */
  impute(values, options) {
    return this.__impute(this, values, options);
  }

  // -- Reshaping Verbs -----------------------------------------------------

  /**
   * Fold one or more columns into two key-value pair columns.
   * The fold transform is an inverse of the {@link Transformable#pivot} transform.
   * The resulting table has two new columns, one containing the column
   * names (named "key") and the other the column values (named "value").
   * The number of output rows equals the original row count multiplied
   * by the number of folded columns.
   * @param {ExprList} values The columns to fold.
   *  The columns may be specified using column name strings, column index
   *  numbers, value objects with output column names for keys and table
   *  expressions for values, or selection helper functions.
   * @param {FoldOptions} [options] Options for folding.
   * @return {this} A new folded table.
   * @example table.fold('colA')
   * @example table.fold(['colA', 'colB'])
   * @example table.fold(range(5, 8))
   */
  fold(values, options) {
    return this.__fold(this, values, options);
  }

  /**
   * Pivot columns into a cross-tabulation.
   * The pivot transform is an inverse of the {@link Transformable#fold} transform.
   * The resulting table has new columns for each unique combination
   * of the provided *keys*, populated with the provided *values*.
   * The provided *values* must be aggregates, as a single set of keys may
   * include more than one row. If string-valued, the *any* aggregate is used.
   * If only one *values* column is defined, the new pivoted columns will
   * be named using key values directly. Otherwise, input value column names
   * will be included as a component of the output column names.
   * @param {ExprList} keys Key values to map to new column names.
   *  The keys may be specified using column name strings, column index
   *  numbers, value objects with output column names for keys and table
   *  expressions for values, or selection helper functions.
   * @param {ExprList} values Output values for pivoted columns.
   *  Column references will be wrapped in an *any* aggregate.
   *  If object-valued, the input object should have output value
   *  names for keys and aggregate table expressions for values.
   * @param {PivotOptions} [options] Options for pivoting.
   * @return {this} A new pivoted table.
   * @example table.pivot('key', 'value')
   * @example table.pivot(['keyA', 'keyB'], ['valueA', 'valueB'])
   * @example table.pivot({ key: d => d.key }, { value: d => sum(d.value) })
   */
  pivot(keys, values, options) {
    return this.__pivot(this, keys, values, options);
  }

  /**
   * Spread array elements into a set of new columns.
   * Output columns are named based on the value key and array index.
   * @param {ExprList} values The column values to spread.
   *  The values may be specified using column name strings, column index
   *  numbers, value objects with output column names for keys and table
   *  expressions for values, or selection helper functions.
   * @param {SpreadOptions} [options] Options for spreading.
   * @return {this} A new table with the spread columns added.
   * @example table.spread({ a: split(d.text, '') })
   * @example table.spread('arrayCol', { limit: 100 })
   */
  spread(values, options) {
    return this.__spread(this, values, options);
  }

  /**
   * Unroll one or more array-valued columns into new rows.
   * If more than one array value is used, the number of new rows
   * is the smaller of the limit and the largest length.
   * Values for all other columns are copied over.
   * @param {ExprList} values The column values to unroll.
   *  The values may be specified using column name strings, column index
   *  numbers, value objects with output column names for keys and table
   *  expressions for values, or selection helper functions.
   * @param {UnrollOptions} [options] Options for unrolling.
   * @return {this} A new unrolled table.
   * @example table.unroll('colA', { limit: 1000 })
   */
  unroll(values, options) {
    return this.__unroll(this, values, options);
  }

  // -- Joins ---------------------------------------------------------------

  /**
   * Lookup values from a secondary table and add them as new columns.
   * A lookup occurs upon matching key values for rows in both tables.
   * If the secondary table has multiple rows with the same key, only
   * the last observed instance will be considered in the lookup.
   * Lookup is similar to {@link Transformable#join_left}, but with a simpler
   * syntax and the added constraint of allowing at most one match only.
   * @param {TableRef} other The secondary table to look up values from.
   * @param {JoinKeys} [on] Lookup keys (column name strings or table
   *  expressions) for this table and the secondary table, respectively.
   * @param {...ExprList} values The column values to add from the
   *  secondary table. Can be column name strings or objects with column
   *  names as keys and table expressions as values.
   * @return {this} A new table with lookup values added.
   * @example table.lookup(other, ['key1', 'key2'], 'value1', 'value2')
   */
  lookup(other, on, ...values) {
    return this.__lookup(this, other, on, values.flat());
  }

  /**
   * Join two tables, extending the columns of one table with
   * values from the other table. The current table is considered
   * the "left" table in the join, and the new table input is
   * considered the "right" table in the join. By default an inner
   * join is performed, removing all rows that do not match the
   * join criteria. To perform left, right, or full outer joins, use
   * the {@link Transformable#join_left}, {@link Transformable#join_right}, or
   * {@link Transformable#join_full} methods, or provide an options argument.
   * @param {TableRef} other The other (right) table to join with.
   * @param {JoinPredicate} [on] The join criteria for matching table rows.
   *  If unspecified, the values of all columns with matching names
   *  are compared.
   *  If array-valued, a two-element array should be provided, containing
   *  the columns to compare for the left and right tables, respectively.
   *  If a one-element array or a string value is provided, the same
   *  column names will be drawn from both tables.
   *  If function-valued, should be a two-table table expression that
   *  returns a boolean value. When providing a custom predicate, note that
   *  join key values can be arrays or objects, and that normal join
   *  semantics do not consider null or undefined values to be equal (that is,
   *  null !== null). Use the op.equal function to handle these cases.
   * @param {JoinValues} [values] The columns to include in the join output.
   *  If unspecified, all columns from both tables are included; paired
   *  join keys sharing the same column name are included only once.
   *  If array-valued, a two element array should be provided, containing
   *  the columns to include for the left and right tables, respectively.
   *  Array input may consist of column name strings, objects with output
   *  names as keys and single-table table expressions as values, or the
   *  selection helper functions {@link all}, {@link not}, or {@link range}.
   *  If object-valued, specifies the key-value pairs for each output,
   *  defined using two-table table expressions.
   * @param {JoinOptions} [options] Options for the join.
   * @return {this} A new joined table.
   * @example table.join(other, ['keyL', 'keyR'])
   * @example table.join(other, (a, b) => equal(a.keyL, b.keyR))
   */
  join(other, on, values, options) {
    return this.__join(this, other, on, values, options);
  }

  /**
   * Perform a left outer join on two tables. Rows in the left table
   * that do not match a row in the right table will be preserved.
   * This is a convenience method with fixed options for {@link Transformable#join}.
   * @param {TableRef} other The other (right) table to join with.
   * @param {JoinPredicate} [on] The join criteria for matching table rows.
   *  If unspecified, the values of all columns with matching names
   *  are compared.
   *  If array-valued, a two-element array should be provided, containing
   *  the columns to compare for the left and right tables, respectively.
   *  If a one-element array or a string value is provided, the same
   *  column names will be drawn from both tables.
   *  If function-valued, should be a two-table table expression that
   *  returns a boolean value. When providing a custom predicate, note that
   *  join key values can be arrays or objects, and that normal join
   *  semantics do not consider null or undefined values to be equal (that is,
   *  null !== null). Use the op.equal function to handle these cases.
   * @param {JoinValues} [values] The columns to include in the join output.
   *  If unspecified, all columns from both tables are included; paired
   *  join keys sharing the same column name are included only once.
   *  If array-valued, a two element array should be provided, containing
   *  the columns to include for the left and right tables, respectively.
   *  Array input may consist of column name strings, objects with output
   *  names as keys and single-table table expressions as values, or the
   *  selection helper functions {@link all}, {@link not}, or {@link range}.
   *  If object-valued, specifies the key-value pairs for each output,
   *  defined using two-table table expressions.
   * @param {JoinOptions} [options] Options for the join. With this method,
   *  any options will be overridden with {left: true, right: false}.
   * @return {this} A new joined table.
   * @example table.join_left(other, ['keyL', 'keyR'])
   * @example table.join_left(other, (a, b) => equal(a.keyL, b.keyR))
   */
  join_left(other, on, values, options) {
    const opt = { ...options, left: true, right: false };
    return this.__join(this, other, on, values, opt);
  }

  /**
   * Perform a right outer join on two tables. Rows in the right table
   * that do not match a row in the left table will be preserved.
   * This is a convenience method with fixed options for {@link Transformable#join}.
   * @param {TableRef} other The other (right) table to join with.
   * @param {JoinPredicate} [on] The join criteria for matching table rows.
   *  If unspecified, the values of all columns with matching names
   *  are compared.
   *  If array-valued, a two-element array should be provided, containing
   *  the columns to compare for the left and right tables, respectively.
   *  If a one-element array or a string value is provided, the same
   *  column names will be drawn from both tables.
   *  If function-valued, should be a two-table table expression that
   *  returns a boolean value. When providing a custom predicate, note that
   *  join key values can be arrays or objects, and that normal join
   *  semantics do not consider null or undefined values to be equal (that is,
   *  null !== null). Use the op.equal function to handle these cases.
   * @param {JoinValues} [values] The columns to include in the join output.
   *  If unspecified, all columns from both tables are included; paired
   *  join keys sharing the same column name are included only once.
   *  If array-valued, a two element array should be provided, containing
   *  the columns to include for the left and right tables, respectively.
   *  Array input may consist of column name strings, objects with output
   *  names as keys and single-table table expressions as values, or the
   *  selection helper functions {@link all}, {@link not}, or {@link range}.
   *  If object-valued, specifies the key-value pairs for each output,
   *  defined using two-table table expressions.
   * @param {JoinOptions} [options] Options for the join. With this method,
   *  any options will be overridden with {left: false, right: true}.
   * @return {this} A new joined table.
   * @example table.join_right(other, ['keyL', 'keyR'])
   * @example table.join_right(other, (a, b) => equal(a.keyL, b.keyR))
   */
  join_right(other, on, values, options) {
    const opt = { ...options, left: false, right: true };
    return this.__join(this, other, on, values, opt);
  }

  /**
   * Perform a full outer join on two tables. Rows in either the left or
   * right table that do not match a row in the other will be preserved.
   * This is a convenience method with fixed options for {@link Transformable#join}.
   * @param {TableRef} other The other (right) table to join with.
   * @param {JoinPredicate} [on] The join criteria for matching table rows.
   *  If unspecified, the values of all columns with matching names
   *  are compared.
   *  If array-valued, a two-element array should be provided, containing
   *  the columns to compare for the left and right tables, respectively.
   *  If a one-element array or a string value is provided, the same
   *  column names will be drawn from both tables.
   *  If function-valued, should be a two-table table expression that
   *  returns a boolean value. When providing a custom predicate, note that
   *  join key values can be arrays or objects, and that normal join
   *  semantics do not consider null or undefined values to be equal (that is,
   *  null !== null). Use the op.equal function to handle these cases.
   * @param {JoinValues} [values] The columns to include in the join output.
   *  If unspecified, all columns from both tables are included; paired
   *  join keys sharing the same column name are included only once.
   *  If array-valued, a two element array should be provided, containing
   *  the columns to include for the left and right tables, respectively.
   *  Array input may consist of column name strings, objects with output
   *  names as keys and single-table table expressions as values, or the
   *  selection helper functions {@link all}, {@link not}, or {@link range}.
   *  If object-valued, specifies the key-value pairs for each output,
   *  defined using two-table table expressions.
   * @param {JoinOptions} [options] Options for the join. With this method,
   *  any options will be overridden with {left: true, right: true}.
   * @return {this} A new joined table.
   * @example table.join_full(other, ['keyL', 'keyR'])
   * @example table.join_full(other, (a, b) => equal(a.keyL, b.keyR))
   */
  join_full(other, on, values, options) {
    const opt = { ...options, left: true, right: true };
    return this.__join(this, other, on, values, opt);
  }

  /**
   * Produce the Cartesian cross product of two tables. The output table
   * has one row for every pair of input table rows. Beware that outputs
   * may be quite large, as the number of output rows is the product of
   * the input row counts.
   * This is a convenience method for {@link Transformable#join} in which the
   * join criteria is always true.
   * @param {TableRef} other The other (right) table to join with.
   * @param {JoinValues} [values] The columns to include in the output.
   *  If unspecified, all columns from both tables are included.
   *  If array-valued, a two element array should be provided, containing
   *  the columns to include for the left and right tables, respectively.
   *  Array input may consist of column name strings, objects with output
   *  names as keys and single-table table expressions as values, or the
   *  selection helper functions {@link all}, {@link not}, or {@link range}.
   *  If object-valued, specifies the key-value pairs for each output,
   *  defined using two-table table expressions.
   * @param {JoinOptions} [options] Options for the join.
   * @return {this} A new joined table.
   * @example table.cross(other)
   * @example table.cross(other, [['leftKey', 'leftVal'], ['rightVal']])
   */
  cross(other, values, options) {
    return this.__cross(this, other, values, options);
  }

  /**
   * Perform a semi-join, filtering the left table to only rows that
   * match a row in the right table.
   * @param {TableRef} other The other (right) table to join with.
   * @param {JoinPredicate} [on] The join criteria for matching table rows.
   *  If unspecified, the values of all columns with matching names
   *  are compared.
   *  If array-valued, a two-element array should be provided, containing
   *  the columns to compare for the left and right tables, respectively.
   *  If a one-element array or a string value is provided, the same
   *  column names will be drawn from both tables.
   *  If function-valued, should be a two-table table expression that
   *  returns a boolean value. When providing a custom predicate, note that
   *  join key values can be arrays or objects, and that normal join
   *  semantics do not consider null or undefined values to be equal (that is,
   *  null !== null). Use the op.equal function to handle these cases.
   * @return {this} A new filtered table.
   * @example table.semijoin(other)
   * @example table.semijoin(other, ['keyL', 'keyR'])
   * @example table.semijoin(other, (a, b) => equal(a.keyL, b.keyR))
   */
  semijoin(other, on) {
    return this.__semijoin(this, other, on);
  }

  /**
   * Perform an anti-join, filtering the left table to only rows that
   * do *not* match a row in the right table.
   * @param {TableRef} other The other (right) table to join with.
   * @param {JoinPredicate} [on] The join criteria for matching table rows.
   *  If unspecified, the values of all columns with matching names
   *  are compared.
   *  If array-valued, a two-element array should be provided, containing
   *  the columns to compare for the left and right tables, respectively.
   *  If a one-element array or a string value is provided, the same
   *  column names will be drawn from both tables.
   *  If function-valued, should be a two-table table expression that
   *  returns a boolean value. When providing a custom predicate, note that
   *  join key values can be arrays or objects, and that normal join
   *  semantics do not consider null or undefined values to be equal (that is,
   *  null !== null). Use the op.equal function to handle these cases.
   * @return {this} A new filtered table.
   * @example table.antijoin(other)
   * @example table.antijoin(other, ['keyL', 'keyR'])
   * @example table.antijoin(other, (a, b) => equal(a.keyL, b.keyR))
   */
  antijoin(other, on) {
    return this.__antijoin(this, other, on);
  }

  // -- Set Operations ------------------------------------------------------

  /**
   * Concatenate multiple tables into a single table, preserving all rows.
   * This transformation mirrors the UNION_ALL operation in SQL.
   * Only named columns in this table are included in the output.
   * @see Transformable#union
   * @param  {...TableRef} tables A list of tables to concatenate.
   * @return {this} A new concatenated table.
   * @example table.concat(other)
   * @example table.concat(other1, other2)
   * @example table.concat([other1, other2])
   */
  concat(...tables) {
    return this.__concat(this, tables.flat());
  }

  /**
   * Union multiple tables into a single table, deduplicating all rows.
   * This transformation mirrors the UNION operation in SQL. It is
   * similar to {@link Transformable#concat} but suppresses duplicate rows with
   * values identical to another row.
   * Only named columns in this table are included in the output.
   * @see Transformable#concat
   * @param  {...TableRef} tables A list of tables to union.
   * @return {this} A new unioned table.
   * @example table.union(other)
   * @example table.union(other1, other2)
   * @example table.union([other1, other2])
   */
  union(...tables) {
    return this.__union(this, tables.flat());
  }

  /**
   * Intersect multiple tables, keeping only rows whose with identical
   * values for all columns in all tables, and deduplicates the rows.
   * This transformation is similar to a series of {@link Transformable#semijoin}
   * calls, but additionally suppresses duplicate rows.
   * @see Transformable#semijoin
   * @param  {...TableRef} tables A list of tables to intersect.
   * @return {this} A new filtered table.
   * @example table.intersect(other)
   * @example table.intersect(other1, other2)
   * @example table.intersect([other1, other2])
   */
  intersect(...tables) {
    return this.__intersect(this, tables.flat());
  }

  /**
   * Compute the set difference with multiple tables, keeping only rows in
   * this table that whose values do not occur in the other tables.
   * This transformation is similar to a series of {@link Transformable#antijoin}
   * calls, but additionally suppresses duplicate rows.
   * @see Transformable#antijoin
   * @param  {...TableRef} tables A list of tables to difference.
   * @return {this} A new filtered table.
   * @example table.except(other)
   * @example table.except(other1, other2)
   * @example table.except([other1, other2])
   */
  except(...tables) {
    return this.__except(this, tables.flat());
  }
}

// -- Parameter Types -------------------------------------------------------

/**
 * Table expression parameters.
 * @typedef {Object.<string, *>} Params
 */

/**
 * A reference to a column by string name or integer index.
 * @typedef {string|number} ColumnRef
 */

/**
 * A value that can be coerced to a string.
 * @typedef {object} Stringable
 * @property {() => string} toString String coercion method.
 */

/**
 * A table expression provided as a string or string-coercible value.
 * @typedef {string|Stringable} TableExprString
 */

/**
 * A struct object with arbitraty named properties.
 * @typedef {Object.<string, *>} Struct
 */

/**
 * A function defined over a table row.
 * @typedef {(d?: Struct, $?: Params) => any} TableExprFunc
 */

/**
 * A table expression defined over a single table.
 * @typedef {TableExprFunc|TableExprString} TableExpr
 */

/**
 * A function defined over rows from two tables.
 * @typedef {(a?: Struct, b?: Struct, $?: Params) => any} TableFunc2
 */

/**
 * A table expression defined over two tables.
 * @typedef {TableExprFunc2|TableExprString} TableExpr2
 */

/**
 * An object that maps current column names to new column names.
 * @typedef {{ [name: string]: string }} RenameMap
 */

/**
 * A selection helper function.
 * @typedef {(table: any) => string[]} SelectHelper
 */

/**
 * One or more column selections, potentially with renaming.
 * The input may consist of a column name string, column integer index, a
 * rename map object with current column names as keys and new column names
 * as values, or a select helper function that takes a table as input and
 * returns a valid selection parameter.
 * @typedef {ColumnRef|RenameMap|SelectHelper} SelectEntry
 */

/**
 * An ordered set of column selections, potentially with renaming.
 * @typedef {SelectEntry|SelectEntry[]} Select
 */

/**
 * An object of column name / table expression pairs.
 * @typedef {{ [name: string]: TableExpr }} ExprObject
 */

/**
 * An object of column name / two-table expression pairs.
 * @typedef {{ [name: string]: TableExpr2 }} Expr2Object
 */

/**
 * An ordered set of one or more column values.
 * @typedef {ColumnRef|SelectHelper|ExprObject} ListEntry
 */

/**
 * An ordered set of column values.
 * Entries may be column name strings, column index numbers, value objects
 * with output column names for keys and table expressions for values,
 * or a selection helper function.
 * @typedef {ListEntry|ListEntry[]} ExprList
 */

/**
 * A reference to a data table or transformable instance.
 * @typedef {Transformable|string} TableRef
 */

/**
 * One or more orderby sort criteria.
 * If a string, order by the column with that name.
 * If a number, order by the column with that index.
 * If a function, must be a valid table expression; aggregate functions
 *  are permitted, but window functions are not.
 * If an object, object values must be valid values parameters
 *  with output column names for keys and table expressions
 *  for values. The output name keys will subsequently be ignored.
 * @typedef {ColumnRef|TableExpr|ExprObject} OrderKey
 */

/**
 * An ordered set of orderby sort criteria, in precedence order.
 * @typedef {OrderKey|OrderKey[]} OrderKeys
 */

/**
 * Column values to use as a join key.
 * @typedef {ColumnRef|TableExprFunc} JoinKey
 */

/**
 * An ordered set of join keys.
 * @typedef {JoinKey|[JoinKey[]]|[JoinKey[], JoinKey[]]} JoinKeys
 */

/**
 * A predicate specification for joining two tables.
 * @typedef {JoinKeys|TableExprFunc2|null} JoinPredicate
 */

/**
 * An array of per-table join values to extract.
 * @typedef {[ExprList]|[ExprList, ExprList]|[ExprList, ExprList, Expr2Object]} JoinList
 */

/**
 * A specification of join values to extract.
 * @typedef {JoinList|Expr2Object} JoinValues
 */

// -- Transform Options -----------------------------------------------------

/**
 * Options for count transformations.
 * @typedef {object} CountOptions
 * @property {string} [as='count'] The name of the output count column.
 */

/**
 * Options for derive transformations.
 * @typedef {object} DeriveOptions
 * @property {boolean} [drop=false] A flag indicating if the original
 *  columns should be dropped, leaving only the derived columns. If true,
 *  the before and after options are ignored.
 * @property {Select} [before]
 *  An anchor column that relocated columns should be placed before.
 *  The value can be any legal column selection. If multiple columns are
 *  selected, only the first column will be used as an anchor.
 *  It is an error to specify both before and after options.
 * @property {Select} [after]
 *  An anchor column that relocated columns should be placed after.
 *  The value can be any legal column selection. If multiple columns are
 *  selected, only the last column will be used as an anchor.
 *  It is an error to specify both before and after options.
 */

/**
 * Options for relocate transformations.
 * @typedef {object} RelocateOptions
 * @property {Selection} [before]
 *  An anchor column that relocated columns should be placed before.
 *  The value can be any legal column selection. If multiple columns are
 *  selected, only the first column will be used as an anchor.
 *  It is an error to specify both before and after options.
 * @property {Selection} [after]
 *  An anchor column that relocated columns should be placed after.
 *  The value can be any legal column selection. If multiple columns are
 *  selected, only the last column will be used as an anchor.
 *  It is an error to specify both before and after options.
 */

/**
 * Options for sample transformations.
 * @typedef {object} SampleOptions
 * @property {boolean} [replace=false] Flag for sampling with replacement.
 * @property {boolean} [shuffle=true] Flag to ensure randomly ordered rows.
 * @property {string|TableExprFunc} [weight] Column values to use as weights
 *  for sampling. Rows will be sampled with probability proportional to
 *  their relative weight. The input should be a column name string or
 *  a table expression compatible with {@link Transformable#derive}.
 */

/**
 * Options for impute transformations.
 * @typedef {object} ImputeOptions
 * @property {ExprList} [expand] Column values to combine to impute missing
 *  rows. For column names and indices, all unique column values are
 *  considered. Otherwise, each entry should be an object of name-expresion
 *  pairs, with valid table expressions for {@link Transformable#rollup}.
 *  All combinations of values are checked for each set of unique groupby
 *  values.
 */

/**
 * Options for fold transformations.
 * @typedef {object} FoldOptions
 * @property {string[]} [as=['key', 'value']] An array indicating the
 *  output column names to use for the key and value columns, respectively.
 */

/**
 * Options for pivot transformations.
 * @typedef {object} PivotOptions
 * @property {number} [limit=Infinity] The maximum number of new columns to generate.
 * @property {string} [keySeparator='_'] A string to place between multiple key names.
 * @property {string} [valueSeparator='_'] A string to place between key and value names.
 * @property {boolean} [sort=true] Flag for alphabetical sorting of new column names.
 */

/**
 * Options for spread transformations.
 * @typedef {object} SpreadOptions
 * @property {boolean} [drop=true] Flag indicating if input columns to the
 *  spread operation should be dropped in the output table.
 * @property {number} [limit=Infinity] The maximum number of new columns to
 *  generate.
 * @property {string[]} [as] Output column names to use. This option only
 *  applies when a single column is spread. If the given array of names is
 *  shorter than the number of generated columns and no limit option is
 *  specified, the additional generated columns will be dropped.
 */

/**
 * Options for unroll transformations.
 * @typedef {object} UnrollOptions
 * @property {number} [limit=Infinity] The maximum number of new rows
 *  to generate per array value.
 * @property {boolean|string} [index=false] Flag or column name for adding
 *  zero-based array index values as an output column. If true, a new column
 *  named "index" will be included. If string-valued, a new column with
 *  the given name will be added.
 * @property {Select} [drop] Columns to drop from the output. The input may
 *  consist of column name strings, column integer indices, objects with
 *  column names as keys, or functions that take a table as input and
 *  return a valid selection parameter (typically the output of selection
 *  helper functions such as {@link all}, {@link not}, or {@link range}).
 */

/**
 * Options for join transformations.
 * @typedef {object} JoinOptions
 * @property {boolean} [left=false] Flag indicating a left outer join.
 *  If both the *left* and *right* are true, indicates a full outer join.
 * @property {boolean} [right=false] Flag indicating a right outer join.
 *  If both the *left* and *right* are true, indicates a full outer join.
 * @property {string[]} [suffix=['_1', '_2']] Column name suffixes to
 *  append if two columns with the same name are produced by the join.
 */
;// ../node_modules/arquero/src/util/error.js
/* harmony default export */ function util_error(message) {
  throw Error(message);
}
;// ../node_modules/arquero/src/util/is-number.js
/* harmony default export */ function is_number(value) {
  return typeof value === 'number';
}
;// ../node_modules/arquero/src/util/is-function.js
/* harmony default export */ function util_is_function(value) {
  return typeof value === 'function';
}
;// ../node_modules/arquero/src/util/repeat.js


/* harmony default export */ function util_repeat(reps, value) {
  const result = Array(reps);
  if (util_is_function(value)) {
    for (let i = 0; i < reps; ++i) {
      result[i] = value(i);
    }
  } else {
    result.fill(value);
  }
  return result;
}
;// ../node_modules/arquero/src/table/table.js





/**
 * Abstract class representing a data table.
 */
class Table extends Transformable {

  /**
   * Instantiate a new Table instance.
   * @param {string[]} names An ordered list of column names.
   * @param {number} nrows The number of rows.
   * @param {TableData} data The backing data, which can vary by implementation.
   * @param {BitSet} [filter] A bit mask for which rows to include.
   * @param {GroupBySpec} [groups] A groupby specification for grouping ows.
   * @param {RowComparator} [order] A comparator function for sorting rows.
   * @param {Params} [params] Parameter values for table expressions.
   */
  constructor(names, nrows, data, filter, groups, order, params) {
    super(params);
    this._names = Object.freeze(names);
    this._data = data;
    this._total = nrows;
    this._nrows = filter ? filter.count() : nrows;
    this._mask = (nrows !== this._nrows && filter) || null;
    this._group = groups || null;
    this._order = order || null;
  }

  /**
   * Create a new table with the same type as this table.
   * The new table may have different data, filter, grouping, or ordering
   * based on the values of the optional configuration argument. If a
   * setting is not specified, it is inherited from the current table.
   * @param {CreateOptions} [options] Creation options for the new table.
   * @return {this} A newly created table.
   */
  create(options) { // eslint-disable-line no-unused-vars
    util_error('Not implemented');
  }

  /**
   * Provide an informative object string tag.
   */
  get [Symbol.toStringTag]() {
    if (!this._names) return 'Object'; // bail if called on prototype
    const nr = this.numRows() + ' row' + (this.numRows() !== 1 ? 's' : '');
    const nc = this.numCols() + ' col' + (this.numCols() !== 1 ? 's' : '');
    return `Table: ${nc} x ${nr}`
      + (this.isFiltered() ? ` (${this.totalRows()} backing)` : '')
      + (this.isGrouped() ? `, ${this._group.size} groups` : '')
      + (this.isOrdered() ? ', ordered' : '');
  }

  /**
   * Indicates if the table has a filter applied.
   * @return {boolean} True if filtered, false otherwise.
   */
  isFiltered() {
    return !!this._mask;
  }

  /**
   * Indicates if the table has a groupby specification.
   * @return {boolean} True if grouped, false otherwise.
   */
  isGrouped() {
    return !!this._group;
  }

  /**
   * Indicates if the table has a row order comparator.
   * @return {boolean} True if ordered, false otherwise.
   */
  isOrdered() {
    return !!this._order;
  }

  /**
   * Returns the internal table storage data structure.
   * @return {TableData} The backing table storage data structure.
   */
  data() {
    return this._data;
  }

  /**
   * Returns the filter bitset mask, if defined.
   * @return {BitSet} The filter bitset mask.
   */
  mask() {
    return this._mask;
  }

  /**
   * Returns the groupby specification, if defined.
   * @return {GroupBySpec} The groupby specification.
   */
  groups() {
    return this._group;
  }

  /**
   * Returns the row order comparator function, if specified.
   * @return {RowComparator} The row order comparator function.
   */
  comparator() {
    return this._order;
  }

  /**
   * The total number of rows in this table, counting both
   * filtered and unfiltered rows.
   * @return {number} The number of total rows.
   */
  totalRows() {
    return this._total;
  }

  /**
   * The number of active rows in this table. This number may be
   * less than the total rows if the table has been filtered.
   * @see Table.totalRows
   * @return {number} The number of rows.
   */
  numRows() {
    return this._nrows;
  }

  /**
   * The number of active rows in this table. This number may be
   * less than the total rows if the table has been filtered.
   * @see Table.totalRows
   * @return {number} The number of rows.
   */
  get size() {
    return this._nrows;
  }

  /**
   * The number of columns in this table.
   * @return {number} The number of columns.
   */
  numCols() {
    return this._names.length;
  }

  /**
   * Filter function invoked for each column name.
   * @callback NameFilter
   * @param {string} name The column name.
   * @param {number} index The column index.
   * @param {string[]} array The array of names.
   * @return {boolean} Returns true to retain the column name.
   */

  /**
   * The table column names, optionally filtered.
   * @param {NameFilter} [filter] An optional filter function.
   *  If unspecified, all column names are returned.
   * @return {string[]} An array of matching column names.
   */
  columnNames(filter) {
    return filter ? this._names.filter(filter) : this._names.slice();
  }

  /**
   * The column name at the given index.
   * @param {number} index The column index.
   * @return {string} The column name,
   *  or undefined if the index is out of range.
   */
  columnName(index) {
    return this._names[index];
  }

  /**
   * The column index for the given name.
   * @param {string} name The column name.
   * @return {number} The column index, or -1 if the name is not found.
   */
  columnIndex(name) {
    return this._names.indexOf(name);
  }

  /**
   * Deprecated alias for the table array() method: use table.array()
   * instead. Get an array of values contained in a column. The resulting
   * array respects any table filter or orderby criteria.
   * @param {string} name The column name.
   * @param {ArrayConstructor|TypedArrayConstructor} [constructor=Array]
   *  The array constructor for instantiating the output array.
   * @return {DataValue[]|TypedArray} The array of column values.
   */
  columnArray(name, constructor) {
    return this.array(name, constructor);
  }

  /**
   * Get an array of values contained in a column. The resulting array
   * respects any table filter or orderby criteria.
   * @param {string} name The column name.
   * @param {ArrayConstructor|TypedArrayConstructor} [constructor=Array]
   *  The array constructor for instantiating the output array.
   * @return {DataValue[]|TypedArray} The array of column values.
   */
  array(name, constructor) { // eslint-disable-line no-unused-vars
    util_error('Not implemented');
  }

  /**
   * Returns an iterator over column values.
   * @return {Iterator<object>} An iterator over row objects.
   */
  *values(name) {
    const get = this.getter(name);
    const n = this.numRows();
    for (let i = 0; i < n; ++i) {
      yield get(i);
    }
  }

  /**
   * Get the value for the given column and row.
   * @param {string} name The column name.
   * @param {number} [row=0] The row index, defaults to zero if not specified.
   * @return {DataValue} The data value at (column, row).
   */
  get(name, row = 0) { // eslint-disable-line no-unused-vars
    util_error('Not implemented');
  }

  /**
   * Returns an accessor ("getter") function for a column. The returned
   * function takes a row index as its single argument and returns the
   * corresponding column value.
   * @param {string} name The column name.
   * @return {ColumnGetter} The column getter function.
   */
  getter(name) { // eslint-disable-line no-unused-vars
    util_error('Not implemented');
  }

  /**
   * Returns an array of objects representing table rows.
   * @param {ObjectsOptions} [options] The options for row object generation.
   * @return {RowObject[]} An array of row objects.
   */
  objects(options) { // eslint-disable-line no-unused-vars
    util_error('Not implemented');
  }

  /**
   * Returns an object representing a table row.
   * @param {number} [row=0] The row index, defaults to zero if not specified.
   * @return {object} A row object with named properties for each column.
   */
   object(row) { // eslint-disable-line no-unused-vars
    util_error('Not implemented');
  }

  /**
   * Returns an iterator over objects representing table rows.
   * @return {Iterator<object>} An iterator over row objects.
   */
  [Symbol.iterator]() {
    util_error('Not implemented');
  }

  /**
   * Print the contents of this table using the console.table() method.
   * @param {PrintOptions|number} options The options for row object
   *  generation, determining which rows and columns are printed. If
   *  number-valued, specifies the row limit.
   */
  print(options = {}) {
    if (is_number(options)) {
      options = { limit: options };
    } else if (options.limit == null) {
      options.limit = 10;
    }

    const obj = this.objects({ ...options, grouped: false });
    const msg = `${this[Symbol.toStringTag]}. Showing ${obj.length} rows.`;

    console.log(msg);   // eslint-disable-line no-console
    console.table(obj); // eslint-disable-line no-console
  }

  /**
   * Returns an array of indices for all rows passing the table filter.
   * @param {boolean} [order=true] A flag indicating if the returned
   *  indices should be sorted if this table is ordered. If false, the
   *  returned indices may or may not be sorted.
   * @return {Uint32Array} An array of row indices.
   */
  indices(order = true) {
    if (this._index) return this._index;

    const n = this.numRows();
    const index = new Uint32Array(n);
    const ordered = this.isOrdered();
    const bits = this.mask();
    let row = -1;

    // inline the following for performance:
    // this.scan(row => index[++i] = row);
    if (bits) {
      for (let i = bits.next(0); i >= 0; i = bits.next(i + 1)) {
        index[++row] = i;
      }
    } else {
      for (let i = 0; i < n; ++i) {
        index[++row] = i;
      }
    }

    // sort index vector
    if (order && ordered) {
      const compare = this._order;
      const data = this._data;
      index.sort((a, b) => compare(a, b, data));
    }

    // save indices if they reflect table metadata
    if (order || !ordered) {
      this._index = index;
    }

    return index;
  }

  /**
   * Returns an array of indices for each group in the table.
   * If the table is not grouped, the result is the same as
   * {@link indices}, but wrapped within an array.
   * @param {boolean} [order=true] A flag indicating if the returned
   *  indices should be sorted if this table is ordered. If false, the
   *  returned indices may or may not be sorted.
   * @return {number[][]} An array of row index arrays, one per group.
   *  The indices will be filtered if the table is filtered.
   */
  partitions(order = true) {
    // return partitions if already generated
    if (this._partitions) {
      return this._partitions;
    }

    // if not grouped, return a single partition
    if (!this.isGrouped()) {
      return [ this.indices(order) ];
    }

    // generate partitions
    const { keys, size } = this._group;
    const part = util_repeat(size, () => []);

    // populate partitions, don't sort if indices don't exist
    // inline the following for performance:
    // this.scan(row => part[keys[row]].push(row), sort);
    const sort = this._index;
    const bits = this.mask();
    const n = this.numRows();
    if (sort && this.isOrdered()) {
      for (let i = 0, r; i < n; ++i) {
        r = sort[i];
        part[keys[r]].push(r);
      }
    } else if (bits) {
      for (let i = bits.next(0); i >= 0; i = bits.next(i + 1)) {
        part[keys[i]].push(i);
      }
    } else {
      for (let i = 0; i < n; ++i) {
        part[keys[i]].push(i);
      }
    }

    // if ordered but not yet sorted, sort partitions directly
    if (order && !sort && this.isOrdered()) {
      const compare = this._order;
      const data = this._data;
      for (let i = 0; i < size; ++i) {
        part[i].sort((a, b) => compare(a, b, data));
      }
    }

    // save partitions if they reflect table metadata
    if (order || !this.isOrdered()) {
      this._partitions = part;
    }

    return part;
  }

  /**
   * Callback function to cancel a table scan.
   * @callback ScanStop
   * @return {void}
   */

  /**
   * Callback function invoked for each row of a table scan.
   * @callback ScanVisitor
   * @param {number} [row] The table row index.
   * @param {TableData} [data] The backing table data store.
   * @param {ScanStop} [stop] Function to stop the scan early.
   *  Callees can invoke this function to prevent future calls.
   * @return {void}
   */

  /**
   * Perform a table scan, visiting each row of the table.
   * If this table is filtered, only rows passing the filter are visited.
   * @param {ScanVisitor} fn Callback invoked for each row of the table.
   * @param {boolean} [order=false] Indicates if the table should be
   *  scanned in the order determined by {@link Table#orderby}. This
   *  argument has no effect if the table is unordered.
   * @property {number} [limit=Infinity] The maximum number of objects to create.
   * @property {number} [offset=0] The row offset indicating how many initial rows to skip.
   */
  scan(fn, order, limit = Infinity, offset = 0) {
    const filter = this._mask;
    const nrows = this._nrows;
    const data = this._data;

    let i = offset || 0;
    if (i > nrows) return;

    const n = Math.min(nrows, i + limit);
    const stop = () => i = this._total;

    if (order && this.isOrdered() || filter && this._index) {
      const index = this.indices();
      const data = this._data;
      for (; i < n; ++i) {
        fn(index[i], data, stop);
      }
    } else if (filter) {
      let c = n - i + 1;
      for (i = filter.nth(i); --c && i > -1; i = filter.next(i + 1)) {
        fn(i, data, stop);
      }
    } else {
      for (; i < n; ++i) {
        fn(i, data, stop);
      }
    }
  }

  /**
   * Extract rows with indices from start to end (end not included), where
   * start and end represent per-group ordered row numbers in the table.
   * @param {number} [start] Zero-based index at which to start extraction.
   *  A negative index indicates an offset from the end of the group.
   *  If start is undefined, slice starts from the index 0.
   * @param {number} [end] Zero-based index before which to end extraction.
   *  A negative index indicates an offset from the end of the group.
   *  If end is omitted, slice extracts through the end of the group.
   * @return {this} A new table with sliced rows.
   * @example table.slice(1, -1)
   */
  slice(start = 0, end = Infinity) {
    if (this.isGrouped()) return super.slice(start, end);

    // if not grouped, scan table directly
    const indices = [];
    const nrows = this.numRows();
    start = Math.max(0, start + (start < 0 ? nrows : 0));
    end = Math.min(nrows, Math.max(0, end + (end < 0 ? nrows : 0)));
    this.scan(row => indices.push(row), true, end - start, start);
    return this.reify(indices);
  }

  /**
   * Reduce a table, processing all rows to produce a new table.
   * To produce standard aggregate summaries, use {@link rollup}.
   * This method allows the use of custom reducer implementations,
   * for example to produce multiple rows for an aggregate.
   * @param {Reducer} reducer The reducer to apply.
   * @return {Table} A new table of reducer outputs.
   */
  reduce(reducer) {
    return this.__reduce(this, reducer);
  }
}

/**
 * A typed array constructor.
 * @typedef {Uint8ArrayConstructor|Uint16ArrayConstructor|Uint32ArrayConstructor|BigUint64ArrayConstructor|Int8ArrayConstructor|Int16ArrayConstructor|Int32ArrayConstructor|BigInt64ArrayConstructor|Float32ArrayConstructor|Float64ArrayConstructor} TypedArrayConstructor
 */

/**
 * A typed array instance.
 * @typedef {Uint8Array|Uint16Array|Uint32Array|BigUint64Array|Int8Array|Int16Array|Int32Array|BigInt64Array|Float32Array|Float64Array} TypedArray
 */

/**
 * Backing table data.
 * @typedef {object|Array} TableData
 */

/**
 * Table value.
 * @typedef {*} DataValue
 */

/**
 * Table row object.
 * @typedef {Object.<string, DataValue>} RowObject
 */

/**
 * Table expression parameters.
 * @typedef {import('./transformable').Params} Params
 */

/**
 * Proxy type for BitSet class.
 * @typedef {import('./bit-set').default} BitSet
 */

/**
 * A table groupby specification.
 * @typedef {object} GroupBySpec
 * @property {number} size The number of groups.
 * @property {string[]} names Column names for each group.
 * @property {RowExpression[]} get Value accessor functions for each group.
 * @property {number[]} rows Indices of an example table row for each group.
 * @property {number[]} keys Per-row group indices, length is total rows of table.
 */

/**
 * Column value accessor.
 * @callback ColumnGetter
 * @param {number} [row] The table row.
 * @return {DataValue}
 */

/**
 * An expression evaluated over a table row.
 * @callback RowExpression
 * @param {number} [row] The table row.
 * @param {TableData} [data] The backing table data store.
 * @return {DataValue}
 */

/**
 * Comparator function for sorting table rows.
 * @callback RowComparator
 * @param {number} rowA The table row index for the first row.
 * @param {number} rowB The table row index for the second row.
 * @param {TableData} data The backing table data store.
 * @return {number} Negative if rowA < rowB, positive if
 *  rowA > rowB, otherwise zero.
 */

/**
 * Options for derived table creation.
 * @typedef {object} CreateOptions
 * @property {TableData} [data] The backing column data.
 * @property {string[]} [names] An ordered list of column names.
 * @property {BitSet} [filter] An additional filter BitSet to apply.
 * @property {GroupBySpec} [groups] The groupby specification to use, or null for no groups.
 * @property {RowComparator} [order] The orderby comparator function to use, or null for no order.
 */

/**
 * Options for generating row objects.
 * @typedef {object} PrintOptions
 * @property {number} [limit=Infinity] The maximum number of objects to create.
 * @property {number} [offset=0] The row offset indicating how many initial rows to skip.
 * @property {import('../table/transformable').Select} [columns]
 *  An ordered set of columns to include. The input may consist of column name
 *  strings, column integer indices, objects with current column names as keys
 *  and new column names as values (for renaming), or selection helper
 *  functions such as {@link all}, {@link not}, or {@link range}.
 */

/**
 * Options for generating row objects.
 * @typedef {object} ObjectsOptions
 * @property {number} [limit=Infinity] The maximum number of objects to create.
 * @property {number} [offset=0] The row offset indicating how many initial rows to skip.
 * @property {import('../table/transformable').Select} [columns]
 *  An ordered set of columns to include. The input may consist of column name
 *  strings, column integer indices, objects with current column names as keys
 *  and new column names as values (for renaming), or selection helper
 *  functions such as {@link all}, {@link not}, or {@link range}.
 * @property {'map'|'entries'|'object'|boolean} [grouped=false]
 *  The export format for groups of rows. The default (false) is to ignore
 *  groups, returning a flat array of objects. The valid values are 'map' or
 *  true (for Map instances), 'object' (for standard objects), or 'entries'
 *  (for arrays in the style of Object.entries). For the 'object' format,
 *  groupby keys are coerced to strings to use as object property names; note
 *  that this can lead to undesirable behavior if the groupby keys are object
 *  values. The 'map' and 'entries' options preserve the groupby key values.
 */

;// ../node_modules/arquero/src/table/column.js


/**
 * Class representing an array-backed data column.
 */
class Column {
  /**
   * Create a new column instance.
   * @param {Array} data The backing array (or array-like object)
   *  containing the column data.
   */
  constructor(data) {
    this.data = data;
  }

  /**
   * Get the length (number of rows) of the column.
   * @return {number} The length of the column array.
   */
  get length() {
    return this.data.length;
  }

  /**
   * Get the column value at the given row index.
   * @param {number} row The row index of the value to retrieve.
   * @return {import('./table').DataValue} The column value.
   */
  get(row) {
    return this.data[row];
  }

  /**
   * Returns an iterator over the column values.
   * @return {Iterator<object>} An iterator over column values.
   */
  [Symbol.iterator]() {
    return this.data[Symbol.iterator]();
  }
}

/**
 * Column interface. Any object that adheres to this interface
 * can be used as a data column within a {@link ColumnTable}.
 * @typedef {object} ColumnType
 * @property {number} length
 *  The length (number of rows) of the column.
 * @property {import('./table').ColumnGetter} get
 *  Column value getter.
 */

/**
 * Column factory function interface.
 * @callback ColumnFactory
 * @param {*} data The input column data.
 * @return {ColumnType} A column instance.
 */

/**
 * Create a new column from the given input data.
 * @param {any} data The backing column data. If the value conforms to
 *  the Column interface it is returned directly. If the value is an
 *  array, it will be wrapped in a new Column instance.
 * @return {ColumnType} A compatible column instance.
 */
let defaultColumnFactory = function(data) {
  return data && util_is_function(data.get) ? data : new Column(data);
};

/**
 * Get or set the default factory function for instantiating table columns.
 * @param {ColumnFactory} [factory] The new default factory.
 * @return {ColumnFactory} The current default column factory.
 */
function columnFactory(factory) {
  return arguments.length
    ? (defaultColumnFactory = factory)
    : defaultColumnFactory;
}
;// ../node_modules/arquero/src/util/is-date.js
/* harmony default export */ function is_date(value) {
  return value instanceof Date;
}
;// ../node_modules/arquero/src/util/is-object.js
/* harmony default export */ function is_object(value) {
  return value === Object(value);
}
;// ../node_modules/arquero/src/util/is-regexp.js
/* harmony default export */ function is_regexp(value) {
  return value instanceof RegExp;
}
;// ../node_modules/arquero/src/util/is-string.js
/* harmony default export */ function is_string(value) {
  return typeof value === 'string';
}

;// ../node_modules/arquero/src/table/columns-from.js








/* harmony default export */ function columns_from(values, names) {
  const raise = type => util_error(`Illegal argument type: ${type || typeof values}`);
  return values instanceof Map ? fromKeyValuePairs(values.entries(), names)
    : is_date(values) ? raise('Date')
    : is_regexp(values) ? raise('RegExp')
    : is_string(values) ? raise()
    : is_array(values) ? fromArray(values, names)
    : util_is_function(values[Symbol.iterator]) ? fromIterable(values, names)
    : is_object(values) ? fromKeyValuePairs(Object.entries(values), names)
    : raise();
}

function fromKeyValuePairs(entries, names = ['key', 'value']) {
  const keys = [];
  const vals = [];

  for (const [key, val] of entries) {
    keys.push(key);
    vals.push(val);
  }

  const columns = {};
  if (names[0]) columns[names[0]] = keys;
  if (names[1]) columns[names[1]] = vals;
  return columns;
}

function fromArray(values, names) {
  const len = values.length;
  const columns = {};
  const add = name => columns[name] = Array(len);

  if (len) {
    names = names || Object.keys(values[0]);
    const cols = names.map(add);
    const n = cols.length;
    for (let idx = 0; idx < len; ++idx) {
      const row = values[idx];
      for (let i = 0; i < n; ++i) {
        cols[i][idx] = row[names[i]];
      }
    }
  } else if (names) {
    names.forEach(add);
  }

  return columns;
}

function fromIterable(values, names) {
  const columns = {};
  const add = name => columns[name] = [];

  let cols;
  let n;
  for (const row of values) {
    if (!cols) {
      names = names || Object.keys(row);
      cols = names.map(add);
      n = cols.length;
    }
    for (let i = 0; i < n; ++i) {
      cols[i].push(row[names[i]]);
    }
  }

  if (!cols && names) {
    names.forEach(add);
  }

  return columns;
}
;// ../node_modules/arquero/src/util/has.js
const { hasOwnProperty: has_hasOwnProperty } = Object.prototype;

/* harmony default export */ function util_has(object, property) {
  return has_hasOwnProperty.call(object, property);
}
;// ../node_modules/arquero/src/table/column-set.js


/* harmony default export */ function column_set(table) {
  return table
    ? new ColumnSet({ ...table.data() }, table.columnNames())
    : new ColumnSet();
}

class ColumnSet {
  constructor(data, names) {
    this.data = data || {};
    this.names = names || [];
  }

  add(name, values) {
    if (!this.has(name)) this.names.push(name + '');
    return this.data[name] = values;
  }

  has(name) {
    return util_has(this.data, name);
  }

  new() {
    this.filter = null;
    this.groups = this.groups || null;
    this.order = null;
    return this;
  }

  groupby(groups) {
    this.groups = groups;
    return this;
  }
}
;// ../node_modules/arquero/src/util/null.js
/**
 * Default NULL (missing) value to use.
 */
/* harmony default export */ const util_null = (undefined);
;// ../node_modules/arquero/src/util/is-typed-array.js
const TypedArray = Object.getPrototypeOf(Int8Array);

/* harmony default export */ function is_typed_array(value) {
  return value instanceof TypedArray;
}
;// ../node_modules/arquero/src/util/is-array-type.js



function is_array_type_isArrayType(value) {
  return is_array(value) || is_typed_array(value);
}
;// ../node_modules/arquero/src/util/is-valid.js
/* harmony default export */ function is_valid(value) {
  return value != null && value === value;
}

;// ../node_modules/arquero/src/op/functions/array.js





const isSeq = (seq) => is_array_type_isArrayType(seq) || is_string(seq);

/* harmony default export */ const array = ({
  compact:      (arr) => is_array_type_isArrayType(arr) ? arr.filter(v => is_valid(v)) : arr,
  concat:       (...values) => [].concat(...values),
  includes:     (seq, value, index) => isSeq(seq)
                  ? seq.includes(value, index)
                  : false,
  indexof:      (seq, value) => isSeq(seq) ? seq.indexOf(value) : -1,
  join:         (arr, delim) => is_array_type_isArrayType(arr) ? arr.join(delim) : util_null,
  lastindexof:  (seq, value) => isSeq(seq) ? seq.lastIndexOf(value) : -1,
  length:       (seq) => isSeq(seq) ? seq.length : 0,
  pluck:        (arr, prop) => is_array_type_isArrayType(arr)
                  ? arr.map(v => is_valid(v) ? v[prop] : util_null)
                  : util_null,
  reverse:      (seq) => is_array_type_isArrayType(seq) ? seq.slice().reverse()
                  : is_string(seq) ? seq.split('').reverse().join('')
                  : util_null,
  slice:        (seq, start, end) => isSeq(seq) ? seq.slice(start, end) : util_null
});

;// ../node_modules/arquero/src/op/functions/bin.js
/**
 * Truncate a value to a bin boundary.
 * Useful for creating equal-width histograms.
 * Values outside the [min, max] range will be mapped to
 * -Infinity (< min) or +Infinity (> max).
 * @param {number} value - The value to bin.
 * @param {number} min - The minimum bin boundary.
 * @param {number} max - The maximum bin boundary.
 * @param {number} step - The step size between bin boundaries.
 * @param {number} [offset=0] - Offset in steps by which to adjust
 *  the bin value. An offset of 1 will return the next boundary.
 */
/* harmony default export */ function bin(value, min, max, step, offset) {
  return value == null ? null
    : value < min ? -Infinity
    : value > max ? +Infinity
    : (
        value = Math.max(min, Math.min(value, max)),
        min + step * Math.floor(1e-14 + (value - min) / step + (offset || 0))
      );
}
;// ../node_modules/arquero/src/util/pad.js
/* harmony default export */ function pad(value, width, char = '0') {
  const s = value + '';
  const len = s.length;
  return len < width ? Array(width - len + 1).join(char) + s : s;
}
;// ../node_modules/arquero/src/util/format-date.js


const pad2 = v => (v < 10 ? '0' : '') + v;

const formatYear = year => year < 0 ? '-' + pad(-year, 6)
  : year > 9999 ? '+' + pad(year, 6)
  : pad(year, 4);

function formatISO(year, month, date, hours, min, sec, ms, utc, short) {
  const suffix = utc ? 'Z' : '';
  return formatYear(year) + '-' + pad2(month + 1) + '-' + pad2(date) + (
    !short || ms ? 'T' + pad2(hours) + ':' + pad2(min) + ':' + pad2(sec) + '.' + pad(ms, 3) + suffix
    : sec ? 'T' + pad2(hours) + ':' + pad2(min) + ':' + pad2(sec) + suffix
    : min || hours || !utc ? 'T' + pad2(hours) + ':' + pad2(min) + suffix
    : ''
  );
}

function formatDate(d, short) {
  return isNaN(d)
    ? 'Invalid Date'
    : formatISO(
      d.getFullYear(),
      d.getMonth(),
      d.getDate(),
      d.getHours(),
      d.getMinutes(),
      d.getSeconds(),
      d.getMilliseconds(),
      false, short
    );
}

function formatUTCDate(d, short) {
  return isNaN(d)
    ? 'Invalid Date'
    : formatISO(
      d.getUTCFullYear(),
      d.getUTCMonth(),
      d.getUTCDate(),
      d.getUTCHours(),
      d.getUTCMinutes(),
      d.getUTCSeconds(),
      d.getUTCMilliseconds(),
      true, short
    );
}
;// ../node_modules/arquero/src/util/is-iso-date-string.js
const iso_re = /^([-+]\d{2})?\d{4}(-\d{2}(-\d{2})?)?(T\d{2}:\d{2}(:\d{2}(\.\d{3})?)?(Z|[-+]\d{2}:\d{2})?)?$/;

/* harmony default export */ function is_iso_date_string(value) {
  return value.match(iso_re);
}
;// ../node_modules/arquero/src/util/parse-iso-date.js


/* harmony default export */ function parse_iso_date(value, parse = Date.parse) {
  return is_iso_date_string(value) ? parse(value) : value;
}
;// ../node_modules/arquero/src/op/functions/date.js



const msMinute = 6e4;
const msDay = 864e5;
const msWeek = 6048e5;

const t0 = new Date();
const t1 = new Date();
const t = d => (
  t0.setTime(typeof d === 'string' ? parse_iso_date(d) : d),
  t0
);

/**
 * Function to create a new Date value.
 * If no arguments are provided, the current time is used.
 * @param {number} [year] The year.
 * @param {number} [month=0] The (zero-based) month.
 * @param {number} [date=1] The date within the month.
 * @param {number} [hours=0] The hour within the day.
 * @param {number} [minutes=0] The minute within the hour.
 * @param {number} [seconds=0] The second within the minute.
 * @param {number} [milliseconds=0] The milliseconds within the second.
 * @return {date} The resuting Date value.
 */
function datetime(year, month, date, hours, minutes, seconds, milliseconds) {
  return !arguments.length
    ? new Date(Date.now())
    : new Date(
        year,
        month || 0,
        date == null ? 1 : date,
        hours || 0,
        minutes || 0,
        seconds || 0,
        milliseconds || 0
      );
}

/**
 * Function to create a new Date value according to UTC time.
 * If no arguments are provided, the current time is used.
 * @param {number} [year] The year.
 * @param {number} [month=0] The (zero-based) month.
 * @param {number} [date=1] The date within the month.
 * @param {number} [hours=0] The hour within the day.
 * @param {number} [minutes=0] The minute within the hour.
 * @param {number} [seconds=0] The second within the minute.
 * @param {number} [milliseconds=0] The milliseconds within the second.
 * @return {date} The resuting Date value.
 */
function utcdatetime(year, month, date, hours, minutes, seconds, milliseconds) {
  return !arguments.length
    ? new Date(Date.now())
    : new Date(Date.UTC(
        year,
        month || 0,
        date == null ? 1 : date,
        hours || 0,
        minutes || 0,
        seconds || 0,
        milliseconds || 0
      ));
}

function dayofyear(date) {
  t1.setTime(+date);
  t1.setHours(0, 0, 0, 0);
  t0.setTime(+t1);
  t0.setMonth(0);
  t0.setDate(1);
  const tz = (t1.getTimezoneOffset() - t0.getTimezoneOffset()) * msMinute;
  return Math.floor(1 + ((t1 - t0) - tz) / msDay);
}

function utcdayofyear(date) {
  t1.setTime(+date);
  t1.setUTCHours(0, 0, 0, 0);
  const t0 = Date.UTC(t1.getUTCFullYear(), 0, 1);
  return Math.floor(1 + (t1 - t0) / msDay);
}

function week(date, firstday) {
  const i = firstday || 0;
  t1.setTime(+date);
  t1.setDate(t1.getDate() - (t1.getDay() + 7 - i) % 7);
  t1.setHours(0, 0, 0, 0);
  t0.setTime(+date);
  t0.setMonth(0);
  t0.setDate(1);
  t0.setDate(1 - (t0.getDay() + 7 - i) % 7);
  t0.setHours(0, 0, 0, 0);
  const tz = (t1.getTimezoneOffset() - t0.getTimezoneOffset()) * msMinute;
  return Math.floor((1 + (t1 - t0) - tz) / msWeek);
}

function utcweek(date, firstday) {
  const i = firstday || 0;
  t1.setTime(+date);
  t1.setUTCDate(t1.getUTCDate() - (t1.getUTCDay() + 7 - i) % 7);
  t1.setUTCHours(0, 0, 0, 0);
  t0.setTime(+date);
  t0.setUTCMonth(0);
  t0.setUTCDate(1);
  t0.setUTCDate(1 - (t0.getUTCDay() + 7 - i) % 7);
  t0.setUTCHours(0, 0, 0, 0);
  return Math.floor((1 + (t1 - t0)) / msWeek);
}

/* harmony default export */ const date = ({
  format_date:     (date, shorten) => formatDate(t(date), !shorten),
  format_utcdate:  (date, shorten) => formatUTCDate(t(date), !shorten),
  timestamp:       (date) => +t(date),
  year:            (date) => t(date).getFullYear(),
  quarter:         (date) => Math.floor(t(date).getMonth() / 3),
  month:           (date) => t(date).getMonth(),
  date:            (date) => t(date).getDate(),
  dayofweek:       (date) => t(date).getDay(),
  hours:           (date) => t(date).getHours(),
  minutes:         (date) => t(date).getMinutes(),
  seconds:         (date) => t(date).getSeconds(),
  milliseconds:    (date) => t(date).getMilliseconds(),
  utcyear:         (date) => t(date).getUTCFullYear(),
  utcquarter:      (date) => Math.floor(t(date).getUTCMonth() / 3),
  utcmonth:        (date) => t(date).getUTCMonth(),
  utcdate:         (date) => t(date).getUTCDate(),
  utcdayofweek:    (date) => t(date).getUTCDay(),
  utchours:        (date) => t(date).getUTCHours(),
  utcminutes:      (date) => t(date).getUTCMinutes(),
  utcseconds:      (date) => t(date).getUTCSeconds(),
  utcmilliseconds: (date) => t(date).getUTCMilliseconds(),
  datetime,
  dayofyear,
  week,
  utcdatetime,
  utcdayofyear,
  utcweek,
  now: Date.now
});
;// ../node_modules/arquero/src/op/functions/equal.js




/**
 * Compare two values for equality, using join semantics in which null
 * !== null. If the inputs are object-valued, a deep equality check
 * of array entries or object key-value pairs is performed.
 * @param {*} a The first input.
 * @param {*} b The second input.
 * @return {boolean} True if equal, false if not.
 */
function equal(a, b) {
  return (a == null || b == null || a !== a || b !== b) ? false
    : a === b ? true
    : (is_date(a) || is_date(b)) ? +a === +b
    : (is_regexp(a) && is_regexp(b)) ? a + '' === b + ''
    : (is_object(a) && is_object(b)) ? deepEqual(a, b)
    : false;
}

function deepEqual(a, b) {
  if (Object.getPrototypeOf(a) !== Object.getPrototypeOf(b)) {
    return false;
  }

  if (a.length || b.length) {
    return arrayEqual(a, b);
  }

  const keysA = Object.keys(a);
  const keysB = Object.keys(b);
  if (keysA.length !== keysB.length) {
    return false;
  }
  keysA.sort();
  keysB.sort();

  if (!arrayEqual(keysA, keysB, (a, b) => a === b)) {
    return false;
  }

  const n = keysA.length;
  for (let i = 0; i < n; ++i) {
    const k = keysA[i];
    if (!equal(a[k], b[k])) {
      return false;
    }
  }

  return true;
}

function arrayEqual(a, b, test = equal) {
  const n = a.length;
  if (n !== b.length) return false;

  for (let i = 0; i < n; ++i) {
    if (!test(a[i], b[i])) {
      return false;
    }
  }

  return true;
}
;// ../node_modules/arquero/src/op/functions/json.js
/* harmony default export */ const json = ({
  parse_json: (str) => JSON.parse(str),
  to_json:    (val) => JSON.stringify(val)
});
;// ../node_modules/arquero/src/util/random.js


let source = Math.random;

function random() {
  return source();
}

/**
 * Set a seed value for random number generation.
 * If the seed is a valid number, a 32-bit linear congruential generator
 * with the given seed will be used to generate random values.
 * If the seed is null, undefined, or not a valid number, the random
 * number generator will revert to Math.random.
 * @param {number} seed The random seed value. Should either be an
 *  integer or a fraction between 0 and 1.
 */
function seed(seed) {
  source = isValid(seed) && isFinite(seed = +seed) ? lcg(seed) : Math.random;
}

function lcg(seed) {
  const a = 0x19660D;
  const c = 0x3C6EF35F;
  const m = 1 / 0x100000000;
  seed = (0 <= seed && seed < 1 ? seed / m : Math.abs(seed)) | 0;

  // Random numbers using a Linear Congruential Generator with seed value
  // https://en.wikipedia.org/wiki/Linear_congruential_generator
  return () => (seed = a * seed + c | 0, m * (seed >>> 0));
}
;// ../node_modules/arquero/src/op/functions/math.js


/* harmony default export */ const math = ({
  random: random,
  is_nan:    Number.isNaN,
  is_finite: Number.isFinite,

  abs:      Math.abs,
  cbrt:     Math.cbrt,
  ceil:     Math.ceil,
  clz32:    Math.clz32,
  exp:      Math.exp,
  expm1:    Math.expm1,
  floor:    Math.floor,
  fround:   Math.fround,
  greatest: Math.max,
  least:    Math.min,
  log:      Math.log,
  log10:    Math.log10,
  log1p:    Math.log1p,
  log2:     Math.log2,
  pow:      Math.pow,
  round:    Math.round,
  sign:     Math.sign,
  sqrt:     Math.sqrt,
  trunc:    Math.trunc,

  degrees:  (rad) => 180 * rad / Math.PI,
  radians:  (deg) => Math.PI * deg / 180,
  acos:     Math.acos,
  acosh:    Math.acosh,
  asin:     Math.asin,
  asinh:    Math.asinh,
  atan:     Math.atan,
  atan2:    Math.atan2,
  atanh:    Math.atanh,
  cos:      Math.cos,
  cosh:     Math.cosh,
  sin:      Math.sin,
  sinh:     Math.sinh,
  tan:      Math.tan,
  tanh:     Math.tanh
});
;// ../node_modules/arquero/src/util/is-map.js
/* harmony default export */ function is_map(value) {
  return value instanceof Map;
}
;// ../node_modules/arquero/src/util/is-set.js
/* harmony default export */ function is_set(value) {
  return value instanceof Set;
}
;// ../node_modules/arquero/src/util/is-map-or-set.js



/* harmony default export */ function is_map_or_set(value) {
  return is_map(value) || is_set(value);
}
;// ../node_modules/arquero/src/op/functions/object.js





function object_array(iter) {
  return Array.from(iter);
}

/* harmony default export */ const object = ({
  has:      (obj, key) => is_map_or_set(obj) ? obj.has(key)
              : obj != null ? util_has(obj, key)
              : false,
  keys:     (obj) => is_map(obj) ? object_array(obj.keys())
              : obj != null ? Object.keys(obj)
              : [],
  values:   (obj) => is_map_or_set(obj) ? object_array(obj.values())
              : obj != null ? Object.values(obj)
              : [],
  entries:  (obj) => is_map_or_set(obj) ? object_array(obj.entries())
              : obj != null ? Object.entries(obj)
              : [],
  object:   (entries) => entries ? Object.fromEntries(entries) : util_null
});
;// ../node_modules/arquero/src/op/functions/recode.js


/**
 * Recodes an input value to an alternative value, based on a provided
 * value map. If a fallback value is specified, it will be returned when
 * a matching value is not found in the map; otherwise, the input value
 * is returned unchanged.
 * @param {*} value The value to recode. The value must be safely
 *  coercible to a string for lookup against the value map.
 * @param {object|Map} map An object or Map with input values for keys and
 *  output recoded values as values. If a non-Map object, only the object's
 *  own properties will be considered.
 * @param {*} [fallback] A default fallback value to use if the input
 *  value is not found in the value map.
 * @return {*} The recoded value.
 */
/* harmony default export */ function recode(value, map, fallback) {
  if (map instanceof Map) {
    if (map.has(value)) return map.get(value);
  } else if (util_has(map, value)) {
    return map[value];
  }
  return fallback !== undefined ? fallback : value;
}
;// ../node_modules/arquero/src/op/functions/sequence.js
/**
 * Returns an array containing an arithmetic sequence from the start value
 * to the stop value, in step increments. If step is positive, the last
 * element is the largest start + i * step less than stop; if step is
 * negative, the last element is the smallest start + i * step greater
 * than stop. If the returned array would contain an infinite number of
 * values, an empty range is returned.
 * @param {number} [start=0] The starting value of the sequence.
 * @param {number} [stop] The stopping value of the sequence.
 *  The stop value is exclusive; it is not included in the result.
 * @param {number} [step=1] The step increment between sequence values.
 * @return {number[]} The generated sequence.
 */
/* harmony default export */ function sequence(start, stop, step) {
  let n = arguments.length;
  start = +start;
  stop = +stop;
  step = n < 2
    ? (stop = start, start = 0, 1)
    : n < 3 ? 1 : +step;

  n = Math.max(0, Math.ceil((stop - start) / step)) | 0;
  const seq = new Array(n);

  for (let i = 0; i < n; ++i) {
    seq[i] = start + i * step;
  }

  return seq;
}
;// ../node_modules/arquero/src/op/functions/string.js
/* harmony default export */ const string = ({
  parse_date:   (str) => str == null ? str : new Date(str),
  parse_float:  (str) => str == null ? str : Number.parseFloat(str),
  parse_int:    (str, radix) => str == null ? str : Number.parseInt(str, radix),
  endswith:     (str, search, length) => str == null ? false
                  : String(str).endsWith(search, length),
  match:        (str, regexp, index) => {
                  const m = str == null ? str : String(str).match(regexp);
                  return index == null || m == null ? m
                    : typeof index === 'number' ? m[index]
                    : m.groups ? m.groups[index]
                    : null;
                },
  normalize:    (str, form) => str == null ? str
                  : String(str).normalize(form),
  padend:       (str, len, fill) => str == null ? str
                  : String(str).padEnd(len, fill),
  padstart:     (str, len, fill) => str == null ? str
                  : String(str).padStart(len, fill),
  upper:        (str) => str == null ? str
                  : String(str).toUpperCase(),
  lower:        (str) => str == null ? str
                  : String(str).toLowerCase(),
  repeat:       (str, num) => str == null ? str
                  : String(str).repeat(num),
  replace:      (str, pattern, replacement) => str == null ? str
                  : String(str).replace(pattern, String(replacement)),
  substring:    (str, start, end) => str == null ? str
                  : String(str).substring(start, end),
  split:        (str, separator, limit) => str == null ? []
                  : String(str).split(separator, limit),
  startswith:   (str, search, length) => str == null ? false
                  : String(str).startsWith(search, length),
  trim:         (str) => str == null ? str
                  : String(str).trim()
});
;// ../node_modules/arquero/src/op/functions/index.js











/* harmony default export */ const op_functions = ({
  bin: bin,
  equal: equal,
  recode: recode,
  sequence: sequence,
  ...array,
  ...date,
  ...json,
  ...math,
  ...object,
  ...string
});
;// ../node_modules/arquero/src/util/is-bigint.js
/* harmony default export */ function is_bigint(value) {
  return typeof value === 'bigint';
}
;// ../node_modules/arquero/src/util/to-string.js


/* harmony default export */ function to_string(v) {
  return v === undefined ? v + ''
    : is_bigint(v) ? v + 'n'
    : JSON.stringify(v);
}
;// ../node_modules/arquero/src/op/op.js



/* harmony default export */ function op_op(name, fields = [], params = []) {
  return new Op(name, to_array(fields), to_array(params));
}

class Op {
  constructor(name, fields, params) {
    this.name = name;
    this.fields = fields;
    this.params = params;
  }
  toString() {
    const args = [
      ...this.fields.map(f => `d[${to_string(f)}]`),
      ...this.params.map(to_string)
    ];
    return `d => op.${this.name}(${args})`;
  }
  toObject() {
    return { expr: this.toString(), func: true };
  }
}
;// ../node_modules/arquero/src/op/op-api.js



const any = (field) => op_op('any', field);
const count = () => op_op('count');
const array_agg = (field) => op_op('array_agg', field);
const array_agg_distinct = (field) => op_op('array_agg_distinct', field);
const map_agg = (key, value) => op_op('map_agg', [key, value]);
const object_agg = (key, value) => op_op('object_agg', [key, value]);
const entries_agg = (key, value) => op_op('entries_agg', [key, value]);

/**
 * @typedef {import('../table/transformable').Struct} Struct
 */

/**
 * All table expression operations including normal functions,
 * aggregate functions, and window functions.
 */
/* harmony default export */ const op_api = ({
  ...op_functions,

  /**
   * Generate an object representing the current table row.
   * @param {...string} names The column names to include in the object.
   *  If unspecified, all columns are included.
   * @return {Struct} The generated row object.
   */
  row_object: (...names) => op_op('row_object', null, names.flat()),

  /**
   * Aggregate function to count the number of records (rows).
   * @returns {number} The count of records.
   */
  count,

  /**
   * Aggregate function returning an arbitrary observed value.
   * @param {*} field The data field.
   * @return {*} An arbitrary observed value.
   */
  any,

  /**
   * Aggregate function to collect an array of values.
   * @param {*} field The data field.
   * @return {Array} A list of values.
   */
  array_agg,

  /**
   * Aggregate function to collect an array of distinct (unique) values.
   * @param {*} field The data field.
   * @return {Array} An array of unique values.
   */
  array_agg_distinct,

  /**
   * Aggregate function to create an object given input key and value fields.
   * @param {*} key The object key field.
   * @param {*} value The object value field.
   * @return {Struct} An object of key-value pairs.
   */
  object_agg,

  /**
   * Aggregate function to create a Map given input key and value fields.
   * @param {*} key The object key field.
   * @param {*} value The object value field.
   * @return {Map} A Map of key-value pairs.
   */
  map_agg,

  /**
   * Aggregate function to create an array in the style of Object.entries()
   * given input key and value fields.
   * @param {*} key The object key field.
   * @param {*} value The object value field.
   * @return {[[any, any]]} An array of [key, value] arrays.
   */
  entries_agg,

  /**
   * Aggregate function to count the number of valid values.
   * Invalid values are null, undefined, or NaN.
   * @param {*} field The data field.
   * @return {number} The count of valid values.
   */
  valid: (field) => op_op('valid', field),

  /**
   * Aggregate function to count the number of invalid values.
   * Invalid values are null, undefined, or NaN.
   * @param {*} field The data field.
   * @return {number} The count of invalid values.
   */
  invalid: (field) => op_op('invalid', field),

  /**
   * Aggregate function to count the number of distinct values.
   * @param {*} field The data field.
   * @return {number} The count of distinct values.
   */
  distinct: (field) => op_op('distinct', field),

  /**
   * Aggregate function to determine the mode (most frequent) value.
   * @param {*} field The data field.
   * @return {number} The mode value.
   */
  mode: (field) => op_op('mode', field),

  /**
   * Aggregate function to sum values.
   * @param {string} field The data field.
   * @return {number} The sum of the values.
   */
  sum: (field) => op_op('sum', field),

  /**
   * Aggregate function to multiply values.
   * @param {*} field The data field.
   * @return {number} The product of the values.
   */
  product: (field) => op_op('product', field),

  /**
   * Aggregate function for the mean (average) value.
   * @param {*} field The data field.
   * @return {number} The mean (average) of the values.
   */
  mean: (field) => op_op('mean', field),

  /**
   * Aggregate function for the average (mean) value.
   * @param {*} field The data field.
   * @return {number} The average (mean) of the values.
   */
  average: (field) => op_op('average', field),

  /**
   * Aggregate function for the sample variance.
   * @param {*} field The data field.
   * @return {number} The sample variance of the values.
   */
  variance: (field) => op_op('variance', field),

  /**
   * Aggregate function for the population variance.
   * @param {*} field The data field.
   * @return {number} The population variance of the values.
   */
  variancep: (field) => op_op('variancep', field),

  /**
   * Aggregate function for the sample standard deviation.
   * @param {*} field The data field.
   * @return {number} The sample standard deviation of the values.
   */
  stdev: (field) => op_op('stdev', field),

  /**
   * Aggregate function for the population standard deviation.
   * @param {*} field The data field.
   * @return {number} The population standard deviation of the values.
   */
  stdevp: (field) => op_op('stdevp', field),

  /**
   * Aggregate function for the minimum value.
   * @param {*} field The data field.
   * @return {number} The minimum value.
   */
  min: (field) => op_op('min', field),

  /**
   * Aggregate function for the maximum value.
   * @param {*} field The data field.
   * @return {number} The maximum value.
   */
  max: (field) => op_op('max', field),

  /**
   * Aggregate function to compute the quantile boundary
   * of a data field for a probability threshold.
   * @param {*} field The data field.
   * @param {number} p The probability threshold.
   * @return {number} The quantile value.
   */
  quantile: (field, p) => op_op('quantile', field, p),

  /**
   * Aggregate function for the median value.
   * This is a shorthand for the 0.5 quantile value.
   * @param {*} field The data field.
   * @return {number} The median value.
   */
  median: (field) => op_op('median', field),

  /**
   * Aggregate function for the sample covariance between two variables.
   * @param {*} field1 The first data field.
   * @param {*} field2 The second data field.
   * @return {number} The sample covariance of the values.
   */
  covariance: (field1, field2) => op_op('covariance', [field1, field2]),

  /**
   * Aggregate function for the population covariance between two variables.
   * @param {*} field1 The first data field.
   * @param {*} field2 The second data field.
   * @return {number} The population covariance of the values.
   */
  covariancep: (field1, field2) => op_op('covariancep', [field1, field2]),

  /**
   * Aggregate function for the product-moment correlation between two variables.
   * To instead compute a rank correlation, compute the average ranks for each
   * variable and then apply this function to the result.
   * @param {*} field1 The first data field.
   * @param {*} field2 The second data field.
   * @return {number} The correlation between the field values.
   */
  corr: (field1, field2) => op_op('corr', [field1, field2]),

  /**
   * Aggregate function for calculating a binning scheme in terms of
   * the minimum bin boundary, maximum bin boundary, and step size.
   * @param {*} field The data field.
   * @param {number} [maxbins=15] The maximum number of allowed bins.
   * @param {boolean} [nice=true] Flag indicating if the bin min and max
   *  should snap to "nice" human-friendly values.
   * @param {number} [minstep] The minimum allowed step size between bins.
   * @param {number} [step] The exact step size to use between bins.
   *  If specified, the maxbins and minstep arguments are ignored.
   * @return {[number, number, number]} The bin [min, max, and step] values.
   */
  bins: (field, maxbins, nice, minstep) =>
    op_op('bins', field, [maxbins, nice, minstep]),

  /**
   * Window function to assign consecutive row numbers, starting from 1.
   * @return {number} The row number value.
   */
  row_number: () => op_op('row_number'),

  /**
   * Window function to assign a rank to each value in a group, starting
   * from 1. Peer values are assigned the same rank. Subsequent ranks
   * reflect the number of prior values: if the first two values tie for
   * rank 1, the third value is assigned rank 3.
   * @return {number} The rank value.
   */
  rank: () => op_op('rank'),

  /**
   * Window function to assign a fractional (average) rank to each value in
   * a group, starting from 1. Peer values are assigned the average of their
   * indices: if the first two values tie, both will be assigned rank 1.5.
   * @return {number} The peer-averaged rank value.
   */
  avg_rank: () => op_op('avg_rank'),

  /**
   * Window function to assign a dense rank to each value in a group,
   * starting from 1. Peer values are assigned the same rank. Subsequent
   * ranks do not reflect the number of prior values: if the first two
   * values tie for rank 1, the third value is assigned rank 2.
   * @return {number} The dense rank value.
   */
  dense_rank: () => op_op('dense_rank'),

  /**
   * Window function to assign a percentage rank to each value in a group.
   * The percent is calculated as (rank - 1) / (group_size - 1).
   * @return {number} The percentage rank value.
   */
  percent_rank: () => op_op('percent_rank'),

  /**
   * Window function to assign a cumulative distribution value between 0 and 1
   * to each value in a group.
   * @return {number} The cumulative distribution value.
   */
  cume_dist: () => op_op('cume_dist'),

  /**
   * Window function to assign a quantile (e.g., percentile) value to each
   * value in a group. Accepts an integer parameter indicating the number of
   * buckets to use (e.g., 100 for percentiles, 5 for quintiles).
   * @param {number} num The number of buckets for ntile calculation.
   * @return {number} The quantile value.
   */
  ntile: (num) => op_op('ntile', null, num),

  /**
   * Window function to assign a value that precedes the current value by
   * a specified number of positions. If no such value exists, returns a
   * default value instead.
   * @param {*} field The data field.
   * @param {number} [offset=1] The lag offset from the current value.
   * @param {*} [defaultValue=undefined] The default value.
   * @return {*} The lagging value.
   */
  lag: (field, offset, defaultValue) => op_op('lag', field, [offset, defaultValue]),

  /**
   * Window function to assign a value that follows the current value by
   * a specified number of positions. If no such value exists, returns a
   * default value instead.
   * @param {*} field The data field.
   * @param {number} [offset=1] The lead offset from the current value.
   * @param {*} [defaultValue=undefined] The default value.
   * @return {*} The leading value.
   */
  lead: (field, offset, defaultValue) => op_op('lead', field, [offset, defaultValue]),

  /**
   * Window function to assign the first value in a sliding window frame.
   * @param {*} field The data field.
   * @return {*} The first value in the current frame.
   */
  first_value: (field) => op_op('first_value', field),

  /**
   * Window function to assign the last value in a sliding window frame.
   * @param {*} field The data field.
   * @return {*} The last value in the current frame.
   */
  last_value: (field) => op_op('last_value', field),

  /**
   * Window function to assign the nth value in a sliding window frame
   * (counting from 1), or undefined if no such value exists.
   * @param {*} field The data field.
   * @param {number} nth The nth position, starting from 1.
   * @return {*} The nth value in the current frame.
   */
  nth_value: (field, nth) => op_op('nth_value', field, nth),

  /**
   * Window function to fill in missing values with preceding values.
   * @param {*} field The data field.
   * @param {*} [defaultValue=undefined] The default value.
   * @return {*} The current value if valid, otherwise the first preceding
   *  valid value. If no such value exists, returns the default value.
   */
  fill_down: (field, defaultValue) => op_op('fill_down', field, defaultValue),

  /**
   * Window function to fill in missing values with subsequent values.
   * @param {*} field The data field.
   * @param {*} [defaultValue=undefined] The default value.
   * @return {*} The current value if valid, otherwise the first subsequent
   *  valid value. If no such value exists, returns the default value.
   */
  fill_up: (field, defaultValue) => op_op('fill_up', field, defaultValue)
});
;// ../node_modules/arquero/src/util/unique-name.js


/* harmony default export */ function unique_name(names, name) {
  names = is_map_or_set(names) ? names : new Set(names);
  let uname = name;
  let index = 0;

  while (names.has(uname)) {
    uname = name + ++index;
  }

  return uname;
}
;// ../node_modules/arquero/src/table/regroup.js




/**
 * Regroup table rows in response to a BitSet filter.
 * @param {GroupBySpec} groups The current groupby specification.
 * @param {BitSet} filter The filter to apply.
 */
function regroup(groups, filter) {
  if (!groups || !filter) return groups;

  // check for presence of rows for each group
  const { keys, rows, size } = groups;
  const map = new Int32Array(size);
  filter.scan(row => map[keys[row]] = 1);

  // check sum, exit early if all groups occur
  const sum = map.reduce((sum, val) => sum + val, 0);
  if (sum === size) return groups;

  // create group index map, filter exemplar rows
  const _rows = Array(sum);
  let _size = 0;
  for (let i = 0; i < size; ++i) {
    if (map[i]) _rows[map[i] = _size++] = rows[i];
  }

  // re-index the group keys
  const _keys = new Uint32Array(keys.length);
  filter.scan(row => _keys[row] = map[keys[row]]);

  return { ...groups, keys: _keys, rows: _rows, size: _size };
}

/**
 * Regroup table rows in response to a re-indexing.
 * This operation may or may not involve filtering of rows.
 * @param {GroupBySpec} groups The current groupby specification.
 * @param {Function} scan Function to scan new row indices.
 * @param {boolean} filter Flag indicating if filtering may occur.
 * @param {number} nrows The number of rows in the new table.
 */
function reindex(groups, scan, filter, nrows) {
  const { keys, rows, size } = groups;
  let _rows = rows;
  let _size = size;
  let map = null;

  if (filter) {
    // check for presence of rows for each group
    map = new Int32Array(size);
    scan(row => map[keys[row]] = 1);

    // check sum, regroup if not all groups occur
    const sum = map.reduce((sum, val) => sum + val, 0);
    if (sum !== size) {
      // create group index map, filter exemplar rows
      _rows = Array(sum);
      _size = 0;
      for (let i = 0; i < size; ++i) {
        if (map[i]) _rows[map[i] = _size++] = rows[i];
      }
    }
  }

  // re-index the group keys
  let r = -1;
  const _keys = new Uint32Array(nrows);
  const fn = _size !== size
    ? row => _keys[++r] = map[keys[row]]
    : row => _keys[++r] = keys[row];
  scan(fn);

  return { ...groups, keys: _keys, rows: _rows, size: _size };
}

function nest(table, idx, obj, type) {
  const agg = type === 'map' || type === true ? map_agg
    : type === 'entries' ? entries_agg
    : type === 'object' ? object_agg
    : util_error('groups option must be "map", "entries", or "object".');

  const { names } = table.groups();
  const col = unique_name(table.columnNames(), '_');

  // create table with one column of row objects
  // then aggregate into per-group arrays
  let t = table
    .select()
    .reify(idx)
    .create({ data: { [col]: obj } })
    .rollup({ [col]: array_agg(col) });

  // create nested structures for each level of grouping
  for (let i = names.length; --i >= 0;) {
    t = t
      .groupby(names.slice(0, i))
      .rollup({ [col]: agg(names[i], col) });
  }

  // return the final aggregated structure
  return t.get(col);
}
;// ../node_modules/arquero/src/expression/ast/constants.js
const ArrayPattern = 'ArrayPattern';
const ArrowFunctionExpression = 'ArrowFunctionExpression';
const FunctionExpression = 'FunctionExpression';
const Identifier = 'Identifier';
const Literal = 'Literal';
const MemberExpression = 'MemberExpression';
const ObjectExpression = 'ObjectExpression';
const ObjectPattern = 'ObjectPattern';
const Property = 'Property';

const constants_Column = 'Column';
const Constant = 'Constant';
const Dictionary = 'Dictionary';
const constants_Function = 'Function';
const Parameter = 'Parameter';
const constants_Op = 'Op';
;// ../node_modules/arquero/src/expression/codegen.js



const visit = (node, opt) => {
  const f = visitors[node.type];
  return f
    ? f(node, opt)
    : util_error(`Unsupported expression construct: ${node.type}`);
};

const binary = (node, opt) => {
  return '(' + visit(node.left, opt) + ' ' + node.operator + ' ' + visit(node.right, opt) + ')';
};

const func = (node, opt) => {
  return '(' + list(node.params, opt) + ')=>' + visit(node.body, opt);
};

const call = (node, opt) => {
  return visit(node.callee, opt) + '(' + list(node.arguments, opt) + ')';
};

const list = (array, opt, delim = ',') => {
  return array.map(node => visit(node, opt)).join(delim);
};

const codegen_name = node => node.computed
  ? `[${to_string(node.name)}]`
  : `.${node.name}`;

const ref = (node, opt, method) => {
  const table = node.table || '';
  return `data${table}${codegen_name(node)}.${method}(${opt.index}${table})`;
};

const visitors = {
  Constant: node => node.raw,
  Column: (node, opt) => ref(node, opt, 'get'),
  Dictionary: (node, opt) => ref(node, opt, 'key'),
  Function: node => `fn.${node.name}`,
  Parameter: node => `$${codegen_name(node)}`,
  Op: (node, opt) => `op(${to_string(node.name)},${opt.op || opt.index})`,
  Literal: node => node.raw,
  Identifier: node => node.name,
  TemplateLiteral: (node, opt) => {
    const { quasis, expressions } = node;
    const n = expressions.length;
    let t = quasis[0].value.raw;
    for (let i = 0; i < n;) {
      t += '${' + visit(expressions[i], opt) + '}' + quasis[++i].value.raw;
    }
    return '`' + t + '`';
  },
  MemberExpression: (node, opt) => {
    const d = !node.computed;
    const o = visit(node.object, opt);
    const p = visit(node.property, opt);
    return o + (d ? '.' + p : '[' + p + ']');
  },
  CallExpression: call,
  NewExpression: (node, opt) => {
    return 'new ' + call(node, opt);
  },
  ArrayExpression: (node, opt) => {
    return '[' + list(node.elements, opt) + ']';
  },
  AssignmentExpression: binary,
  BinaryExpression: binary,
  LogicalExpression: binary,
  UnaryExpression: (node, opt) => {
    return '(' + node.operator + visit(node.argument, opt) + ')';
  },
  ConditionalExpression: (node, opt) => {
    return '(' + visit(node.test, opt) +
      '?' + visit(node.consequent, opt) +
      ':' + visit(node.alternate, opt) + ')';
  },
  ObjectExpression: (node, opt) => {
    return '({' + list(node.properties, opt) + '})';
  },
  Property: (node, opt) => {
    const key = visit(node.key, opt);
    return (node.computed ? `[${key}]` : key) + ':' + visit(node.value, opt);
  },

  ArrowFunctionExpression: func,
  FunctionExpression: func,
  FunctionDeclaration: func,

  ArrayPattern: (node, opt) => {
    return '[' + list(node.elements, opt) + ']';
  },
  ObjectPattern: (node, opt) => {
    return '{' + list(node.properties, opt) + '}';
  },
  VariableDeclaration: (node, opt) => {
    return node.kind + ' ' + list(node.declarations, opt, ',');
  },
  VariableDeclarator: (node, opt) => {
    return visit(node.id, opt) + '=' + visit(node.init, opt);
  },
  SpreadElement: (node, opt) => {
    return '...' + visit(node.argument, opt);
  },

  BlockStatement: (node, opt) => {
    return '{' + list(node.body, opt, ';') + ';}';
  },
  BreakStatement: () => {
    return 'break';
  },
  ExpressionStatement: (node, opt) => {
    return visit(node.expression, opt);
  },
  IfStatement: (node, opt) => {
    return 'if (' + visit(node.test, opt) + ')'
      + visit(node.consequent, opt)
      + (node.alternate ? ' else ' + visit(node.alternate, opt) : '');
  },
  SwitchStatement: (node, opt) => {
    return 'switch (' + visit(node.discriminant, opt) + ') {'
     + list(node.cases, opt, '')
     + '}';
  },
  SwitchCase: (node, opt) => {
    return (node.test ? 'case ' + visit(node.test, opt) : 'default')
      + ': '
      + list(node.consequent, opt, ';') + ';';
  },
  ReturnStatement: (node, opt) => {
    return 'return ' + visit(node.argument, opt);
  },
  Program: (node, opt) => visit(node.body[0], opt)
};

/* harmony default export */ function codegen(node, opt = { index: 'row' }) {
  return visit(node, opt);
}
;// ../node_modules/arquero/src/util/bins.js
/* harmony default export */ function bins(min, max, maxbins = 15, nice = true, minstep = 0, step) {
  const base = 10;
  const logb = Math.LN10;

  if (step == null) {
    const level = Math.ceil(Math.log(maxbins) / logb);
    const span = (max - min) || Math.abs(min) || 1;
    const div = [5, 2];

    step = Math.max(
      minstep,
      Math.pow(base, Math.round(Math.log(span) / logb) - level)
    );

    // increase step size if too many bins
    while (Math.ceil(span / step) > maxbins) {
      step *= base;
    }

    // decrease step size if it stays within maxbins
    const n = div.length;
    for (let i = 0; i < n; ++i) {
      const v = step / div[i];
      if (v >= minstep && span / v <= maxbins) {
        step = v;
      }
    }
  }

  // snap to "nice" boundaries
  if (nice) {
    let v = Math.log(step);
    const precision = v >= 0 ? 0 : ~~(-v / logb) + 1;
    const eps = Math.pow(base, -precision - 1);
    v = Math.floor(min / step + eps) * step;
    min = min < v ? v - step : v;
    max = Math.ceil(max / step) * step;
  }

  return [
    min,
    max === min ? min + step : max,
    step
  ];
}
;// ../node_modules/arquero/src/util/key-function.js





function key(value) {
  const type = typeof value;
  return type === 'string' ? `"${value}"`
    : type !== 'object' || !value ? value
    : is_date(value) ? +value
    : is_array(value) || is_typed_array(value) ? `[${value.map(key)}]`
    : is_regexp(value) ? value + ''
    : objectKey(value);
}

function objectKey(value) {
  let s = '{';
  let i = -1;
  for (const k in value) {
    if (++i > 0) s += ',';
    s += `"${k}":${key(value[k])}`;
  }
  s += '}';
  return s;
}

/* harmony default export */ function key_function(get, nulls) {
  const n = get.length;
  return n === 1
    ? (row, data) => key(get[0](row, data))
    : (row, data) => {
        let s = '';
        for (let i = 0; i < n; ++i) {
          if (i > 0) s += '|';
          const v = get[i](row, data);
          if (nulls && (v == null || v !== v)) return null;
          s += key(v);
        }
        return s;
      };
}
;// ../node_modules/arquero/src/util/distinct-map.js


/* harmony default export */ function distinct_map() {
  const map = new Map();
  return {
    count() {
      return map.size;
    },
    values() {
      return Array.from(map.values(), _ => _.v);
    },
    increment(v) {
      const k = key(v);
      const e = map.get(k);
      e ? ++e.n : map.set(k, { v, n: 1 });
    },
    decrement(v) {
      const k = key(v);
      const e = map.get(k);
      e.n === 1 ? map.delete(k) : --e.n;
    },
    forEach(fn) {
      map.forEach(({ v, n }) => fn(v, n));
    }
  };
}
;// ../node_modules/arquero/src/util/no-op.js
/* harmony default export */ function no_op() {}
;// ../node_modules/arquero/src/util/product.js
/* harmony default export */ function product(values, start = 0, stop = values.length) {
  let prod = values[start++];

  for (let i = start; i < stop; ++i) {
    prod *= values[i];
  }

  return prod;
}
;// ../node_modules/arquero/src/op/aggregate-functions.js







/**
 * Initialize an aggregate operator.
 */
function initOp(op) {
  op.init = op.init || no_op;
  op.add = op.add || no_op;
  op.rem = op.rem || no_op;
  return op;
}

function initProduct(s, value) {
  s.product_v = false;
  return s.product = value;
}

/**
 * Initialize an aggregate operator.
 * @callback AggregateInit
 * @param {object} state The aggregate state object.
 * @return {void}
 */

/**
 * Add a value to an aggregate operator.
 * @callback AggregateAdd
 * @param {object} state The aggregate state object.
 * @param {*} value The value to add.
 * @return {void}
 */

/**
 * Remove a value from an aggregate operator.
 * @callback AggregateRem
 * @param {object} state The aggregate state object.
 * @param {*} value The value to remove.
 * @return {void}
 */

/**
 * Retrive an output value from an aggregate operator.
 * @callback AggregateValue
 * @param {object} state The aggregate state object.
 * @return {*} The output value.
 */

/**
 * An operator instance for an aggregate function.
 * @typedef {object} AggregateOperator
 * @property {AggregateInit} init Initialize the operator.
 * @property {AggregateAdd} add Add a value to the operator state.
 * @property {AggregateRem} rem Remove a value from the operator state.
 * @property {AggregateValue} value Retrieve an output value.
 */

/**
 * Create a new aggregate operator instance.
 * @callback AggregateCreate
 * @param {...any} params The aggregate operator parameters.
 * @return {AggregateOperator} The instantiated aggregate operator.
 */

/**
 * An operator definition for an aggregate function.
 * @typedef {object} AggregateDef
 * @property {AggregateCreate} create Create a new operator instance.
 * @property {number[]} param Two-element array containing the
 *  counts of input fields and additional parameters.
 * @property {string[]} [req] Names of operators required by this one.
 * @property {string[]} [stream] Names of operators required by this one
 *  for streaming operations (value removes).
 */

/**
 * Aggregate operator definitions.
 */
/* harmony default export */ const aggregate_functions = ({
  /** @type {AggregateDef} */
  count: {
    create: () => initOp({
      value: s => s.count
    }),
    param: []
  },

  /** @type {AggregateDef} */
  array_agg: {
    create: () => initOp({
      init: s => s.values = true,
      value: s => s.list.values(s.stream)
    }),
    param: [1]
  },

  /** @type {AggregateDef} */
  object_agg: {
    create: () => initOp({
      init:  s => s.values = true,
      value: s => Object.fromEntries(s.list.values())
    }),
    param: [2]
  },

  /** @type {AggregateDef} */
  map_agg: {
    create: () => initOp({
      init:  s => s.values = true,
      value: s => new Map(s.list.values())
    }),
    param: [2]
  },

  /** @type {AggregateDef} */
  entries_agg: {
    create: () => initOp({
      init:  s => s.values = true,
      value: s => s.list.values(s.stream)
    }),
    param: [2]
  },

  /** @type {AggregateDef} */
  any: {
    create: () => initOp({
      add: (s, v) => { if (s.any == null) s.any = v; },
      value: s => s.valid ? s.any : util_null
    }),
    param: [1]
  },

  /** @type {AggregateDef} */
  valid: {
    create: () => initOp({
      value: s => s.valid
    }),
    param: [1]
  },

  /** @type {AggregateDef} */
  invalid: {
    create: () => initOp({
      value: s => s.count - s.valid
    }),
    param: [1]
  },

  /** @type {AggregateDef} */
  distinct: {
    create: () => ({
      init: s => s.distinct = distinct_map(),
      value: s => s.distinct.count() + (s.valid === s.count ? 0 : 1),
      add: (s, v) => s.distinct.increment(v),
      rem: (s, v) => s.distinct.decrement(v)
    }),
    param: [1]
  },

  /** @type {AggregateDef} */
  array_agg_distinct: {
    create: () => initOp({
      value: s => s.distinct.values()
    }),
    param: [1],
    req: ['distinct']
  },

  /** @type {AggregateDef} */
  mode: {
    create: () => initOp({
      value: s => {
        let mode = util_null;
        let max = 0;
        s.distinct.forEach((value, count) => {
          if (count > max) {
            max = count;
            mode = value;
          }
        });
        return mode;
      }
    }),
    param: [1],
    req: ['distinct']
  },

  /** @type {AggregateDef} */
  sum: {
    create: () => ({
      init:  s => s.sum = 0,
      value: s => s.valid ? s.sum : util_null,
      add: (s, v) => is_bigint(v)
        ? (s.sum === 0 ? s.sum = v : s.sum += v)
        : s.sum += +v,
      rem: (s, v) => s.sum -= v
    }),
    param: [1]
  },

  /** @type {AggregateDef} */
  product: {
    create: () => ({
      init:  s => initProduct(s, 1),
      value: s => s.valid
        ? (
            s.product_v
              ? initProduct(s, product(s.list.values()))
              : s.product
          )
        : undefined,
      add: (s, v) => is_bigint(v)
        ? (s.product === 1 ? s.product = v : s.product *= v)
        : s.product *= v,
      rem: (s, v) => (v == 0 || v === Infinity || v === -Infinity)
        ? s.product_v = true
        : s.product /= v
    }),
    param: [1],
    stream: ['array_agg']
  },

  /** @type {AggregateDef} */
  mean: {
    create: () => ({
      init: s => s.mean = 0,
      value: s => s.valid ? s.mean : util_null,
      add: (s, v) => {
        s.mean_d = v - s.mean;
        s.mean += s.mean_d / s.valid;
      },
      rem: (s, v) => {
        s.mean_d = v - s.mean;
        s.mean -= s.valid ? s.mean_d / s.valid : s.mean;
      }
    }),
    param: [1]
  },

  /** @type {AggregateDef} */
  average: {
    create: () => initOp({
      value: s => s.valid ? s.mean : util_null
    }),
    param: [1],
    req: ['mean']
  },

  /** @type {AggregateDef} */
  variance: {
    create: () => ({
      init:  s => s.dev = 0,
      value: s => s.valid > 1 ? s.dev / (s.valid - 1) : util_null,
      add: (s, v) => s.dev += s.mean_d * (v - s.mean),
      rem: (s, v) => s.dev -= s.mean_d * (v - s.mean)
    }),
    param: [1],
    req: ['mean']
  },

  /** @type {AggregateDef} */
  variancep: {
    create: () => initOp({
      value: s => s.valid > 1 ? s.dev / s.valid : util_null
    }),
    param: [1],
    req: ['variance']
  },

  /** @type {AggregateDef} */
  stdev: {
    create: () => initOp({
      value: s => s.valid > 1 ? Math.sqrt(s.dev / (s.valid - 1)) : util_null
    }),
    param: [1],
    req: ['variance']
  },

  /** @type {AggregateDef} */
  stdevp: {
    create: () => initOp({
      value: s => s.valid > 1 ? Math.sqrt(s.dev / s.valid) : util_null
    }),
    param: [1],
    req: ['variance']
  },

  /** @type {AggregateDef} */
  min: {
    create: () => ({
      init:  s => s.min = util_null,
      value: s => s.min = (Number.isNaN(s.min) ? s.list.min() : s.min),
      add: (s, v) => { if (v < s.min || s.min === util_null) s.min = v; },
      rem: (s, v) => { if (v <= s.min) s.min = NaN; }
    }),
    param: [1],
    stream: ['array_agg']
  },

  /** @type {AggregateDef} */
  max: {
    create: () => ({
      init:  s => s.max = util_null,
      value: s => s.max = (Number.isNaN(s.max) ? s.list.max() : s.max),
      add: (s, v) => { if (v > s.max || s.max === util_null) s.max = v; },
      rem: (s, v) => { if (v >= s.max) s.max = NaN; }
    }),
    param: [1],
    stream: ['array_agg']
  },

  /** @type {AggregateDef} */
  quantile: {
    create: (p) => initOp({
      value: s => s.list.quantile(p)
    }),
    param: [1, 1],
    req: ['array_agg']
  },

  /** @type {AggregateDef} */
  median: {
    create: () => initOp({
      value: s => s.list.quantile(0.5)
    }),
    param: [1],
    req: ['array_agg']
  },

  /** @type {AggregateDef} */
  covariance: {
    create: () => ({
      init:  s => {
        s.cov = s.mean_x = s.mean_y = s.dev_x = s.dev_y = 0;
      },
      value: s => s.valid > 1 ? s.cov / (s.valid - 1) : util_null,
      add: (s, x, y) => {
        const dx = x - s.mean_x;
        const dy = y - s.mean_y;
        s.mean_x += dx / s.valid;
        s.mean_y += dy / s.valid;
        const dy2 = y - s.mean_y;
        s.dev_x += dx * (x - s.mean_x);
        s.dev_y += dy * dy2;
        s.cov += dx * dy2;
      },
      rem: (s, x, y) => {
        const dx = x - s.mean_x;
        const dy = y - s.mean_y;
        s.mean_x -= s.valid ? dx / s.valid : s.mean_x;
        s.mean_y -= s.valid ? dy / s.valid : s.mean_y;
        const dy2 = y - s.mean_y;
        s.dev_x -= dx * (x - s.mean_x);
        s.dev_y -= dy * dy2;
        s.cov -= dx * dy2;
      }
    }),
    param: [2]
  },

  /** @type {AggregateDef} */
  covariancep: {
    create: () => initOp({
      value: s => s.valid > 1 ? s.cov / s.valid : util_null
    }),
    param: [2],
    req: ['covariance']
  },

  /** @type {AggregateDef} */
  corr: {
    create: () => initOp({
      value: s => s.valid > 1
        ? s.cov / (Math.sqrt(s.dev_x) * Math.sqrt(s.dev_y))
        : util_null
    }),
    param: [2],
    req: ['covariance']
  },

  /** @type {AggregateDef} */
  bins: {
    create: (maxbins, nice, minstep, step) => initOp({
      value: s => bins(s.min, s.max, maxbins, nice, minstep, step)
    }),
    param: [1, 4],
    req: ['min', 'max']
  }
});
;// ../node_modules/arquero/src/op/window-functions.js





/**
 * Initialize a window operator.
 * @callback WindowInit
 * @return {void}
 */

/**
 * Retrieve an output value from a window operator.
 * @callback WindowValue
 * @param {WindowState} state The window state object.
 * @return {*} The output value.
 */

/**
 * An operator instance for a window function.
 * @typedef {object} WindowOperator
 * @property {AggregateInit} init Initialize the operator.
 * @property {AggregateValue} value Retrieve an output value.
 */

/**
 * Create a new window operator instance.
 * @callback WindowCreate
 * @param {...any} params The aggregate operator parameters.
 * @return {WindowOperator} The instantiated window operator.
 */

/**
 * An operator definition for a window function.
 * @typedef {object} WindowDef
 * @property {AggregateCreate} create Create a new operator instance.
 * @property {number[]} param Two-element array containing the
 *  counts of input fields and additional parameters.
 */

const rank = {
  create() {
    let rank;
    return {
      init: () => rank = 1,
      value: w => {
        const i = w.index;
        return (i && !w.peer(i)) ? (rank = i + 1) : rank;
      }
    };
  },
  param: []
};

const cume_dist = {
  create() {
    let cume;
    return {
      init: () => cume = 0,
      value: w => {
        const { index, peer, size } = w;
        let i = index;
        if (cume < i) {
          while (i + 1 < size && peer(i + 1)) ++i;
          cume = i;
        }
        return (1 + cume) / size;
      }
    };
  },
  param: []
};

/**
 * Window operator definitions.
 */
/* harmony default export */ const window_functions = ({
  /** @type {WindowDef} */
  row_number: {
    create() {
      return {
        init: no_op,
        value: w => w.index + 1
      };
    },
    param: []
  },

  /** @type {WindowDef} */
  rank,

  /** @type {WindowDef} */
  avg_rank: {
    create() {
      let j, rank;
      return {
        init: () => (j = -1, rank = 1),
        value: w => {
          const i = w.index;
          if (i >= j) {
            for (rank = j = i + 1; w.peer(j); rank += ++j);
            rank /= (j - i);
          }
          return rank;
        }
      };
    },
    param: []
  },

  /** @type {WindowDef} */
  dense_rank: {
    create() {
      let drank;
      return {
        init: () => drank = 1,
        value: w => {
          const i = w.index;
          return (i && !w.peer(i)) ? ++drank : drank;
        }
      };
    },
    param: []
  },

  /** @type {WindowDef} */
  percent_rank: {
    create() {
      const { init, value } = rank.create();
      return {
        init,
        value: w => (value(w) - 1) / (w.size - 1)
      };
    },
    param: []
  },

  /** @type {WindowDef} */
  cume_dist,

  /** @type {WindowDef} */
  ntile: {
    create(num) {
      num = +num;
      if (!(num > 0)) util_error('ntile num must be greater than zero.');
      const { init, value } = cume_dist.create();
      return {
        init,
        value: w => Math.ceil(num * value(w))
      };
    },
    param: [0, 1]
  },

  /** @type {WindowDef} */
  lag: {
    create(offset, defaultValue = util_null) {
      offset = +offset || 1;
      return {
        init: no_op,
        value: (w, f) => {
          const i = w.index - offset;
          return i >= 0 ? w.value(i, f) : defaultValue;
        }
      };
    },
    param: [1, 2]
  },

  /** @type {WindowDef} */
  lead: {
    create(offset, defaultValue = util_null) {
      offset = +offset || 1;
      return {
        init: no_op,
        value: (w, f) => {
          const i = w.index + offset;
          return i < w.size ? w.value(i, f) : defaultValue;
        }
      };
    },
    param: [1, 2]
  },

  /** @type {WindowDef} */
  first_value: {
    create() {
      return {
        init: no_op,
        value: (w, f) => w.value(w.i0, f)
      };
    },
    param: [1]
  },

  /** @type {WindowDef} */
  last_value: {
    create() {
      return {
        init: no_op,
        value: (w, f) => w.value(w.i1 - 1, f)
      };
    },
    param: [1]
  },

  /** @type {WindowDef} */
  nth_value: {
    create(nth) {
      nth = +nth;
      if (!(nth > 0)) util_error('nth_value nth must be greater than zero.');
      return {
        init: no_op,
        value: (w, f) => {
          const i = w.i0 + (nth - 1);
          return i < w.i1 ? w.value(i, f) : util_null;
        }
      };
    },
    param: [1, 1]
  },

  /** @type {WindowDef} */
  fill_down: {
    create(defaultValue = util_null) {
      let value;
      return {
        init: () => value = defaultValue,
        value: (w, f) => {
          const v = w.value(w.index, f);
          return is_valid(v) ? (value = v) : value;
        }
      };
    },
    param: [1, 1]
  },

  /** @type {WindowDef} */
  fill_up: {
    create(defaultValue = util_null) {
      let value, idx;
      return {
        init: () => (value = defaultValue, idx = -1),
        value: (w, f) => w.index <= idx ? value
          : (idx = find(w, f, w.index)) >= 0 ? (value = w.value(idx, f))
          : (idx = w.size, value = defaultValue)
      };
    },
    param: [1, 1]
  }
});

function find(w, f, i) {
  for (const n = w.size; i < n; ++i) {
    if (is_valid(w.value(i, f))) return i;
  }
  return -1;
}

;// ../node_modules/arquero/src/op/index.js







/**
 * Check if an aggregate function with the given name exists.
 * @param {string} name The name of the aggregate function.
 * @return {boolean} True if found, false otherwise.
 */
function hasAggregate(name) {
  return util_has(aggregate_functions, name);
}

/**
 * Check if a window function with the given name exists.
 * @param {string} name The name of the window function.
 * @return {boolean} True if found, false otherwise.
 */
function hasWindow(name) {
  return util_has(window_functions, name);
}

/**
 * Check if an expression function with the given name exists.
 * @param {string} name The name of the function.
 * @return {boolean} True if found, false otherwise.
 */
 function hasFunction(name) {
  return util_has(op_functions, name) || name === 'row_object';
}

/**
 * Get an aggregate function definition.
 * @param {string} name The name of the aggregate function.
 * @return {AggregateDef} The aggregate function definition,
 *  or undefined if not found.
 */
function getAggregate(name) {
  return hasAggregate(name) && aggregate_functions[name];
}

/**
 * Get a window function definition.
 * @param {string} name The name of the window function.
 * @return {WindowDef} The window function definition,
 *  or undefined if not found.
 */
function getWindow(name) {
  return hasWindow(name) && window_functions[name];
}

/**
 * Get an expression function definition.
 * @param {string} name The name of the function.
 * @return {Function} The function instance, or undefined if not found.
 */
function getFunction(name) {
  return hasFunction(name) && functions[name];
}
;// ../node_modules/arquero/src/expression/compile.js


function compile(code, fn, params) {
  code = `"use strict"; return ${code};`;
  return (Function('fn', '$', code))(fn, params);
}

/* harmony default export */ const expression_compile = ({
  escape: (code, func, params) => compile(code, func, params),
  expr:   (code, params) => compile(`(row,data,op)=>${code}`, op_functions, params),
  expr2:  (code, params) => compile(`(row0,data0,row,data)=>${code}`, op_functions, params),
  join:   (code, params) => compile(`(row1,data1,row2,data2)=>${code}`, op_functions, params),
  param:  (code, params) => compile(code, op_functions, params)
});
;// ../node_modules/arquero/src/expression/rewrite.js



const dictOps = {
  '==': 1,
  '!=': 1,
  '===': 1,
  '!==': 1
};

/**
 * Rewrite AST node to be a table column reference.
 * Additionally optimizes dictionary column operations.
 * @param {object} ref AST node to rewrite to a column reference.
 * @param {string} name The name of the column.
 * @param {number} index The table index of the column.
 * @param {object} col The actual table column instance.
 * @param {object} op Parent AST node operating on the column reference.
 */
/* harmony default export */ function rewrite(ref, name, index = 0, col, op) {
  ref.type = constants_Column;
  ref.name = name;
  ref.table = index;

  // proceed only if has parent op and is a dictionary column
  if (op && col && util_is_function(col.keyFor)) {
    // get other arg if op is an optimizeable operation
    const lit = dictOps[op.operator]
      ? op.left === ref ? op.right : op.left
      : op.callee && op.callee.name === 'equal'
      ? op.arguments[op.arguments[0] === ref ? 1 : 0]
      : null;

    // rewrite as dictionary lookup if other arg is a literal
    if (lit && lit.type === Literal) {
      rewriteDictionary(op, ref, lit, col.keyFor(lit.value));
    }
  }

  return ref;
}

function rewriteDictionary(op, ref, lit, key) {
  if (key < 0) {
    // value not in dictionary, rewrite op as false literal
    op.type = Literal;
    op.value = false;
    op.raw = 'false';
  } else {
    // rewrite ref as dict key access
    ref.type = Dictionary;

    // rewrite literal as target dict key
    lit.value = key;
    lit.raw = key + '';
  }

  return true;
}
;// ../node_modules/arquero/src/util/entries.js



/* harmony default export */ function entries(value) {
  return is_array(value) ? value
    : is_map(value) ? value.entries()
    : value ? Object.entries(value)
    : [];
}
;// ../node_modules/arquero/src/expression/row-object.js








const row_object_ROW_OBJECT = 'row_object';

function rowObjectExpression(node, props) {
  node.type = ObjectExpression;

  const p = node.properties = [];
  for (const prop of entries(props)) {
    const [name, key] = is_array(prop) ? prop : [prop, prop];
    p.push({
      type: Property,
      key: { type: Literal, raw: to_string(key) },
      value: rewrite({ computed: true }, name)
    });
  }

  return node;
}

function rowObjectCode(props) {
  return codegen(rowObjectExpression({}, props));
}

function rowObjectBuilder(props) {
  return expression_compile.expr(rowObjectCode(props));
}
;// ../node_modules/flatbuffers/js/flatbuffers.mjs
/// @file
/// @addtogroup flatbuffers_javascript_api
/// @{
/// @cond FLATBUFFERS_INTERNAL

/**
 * @fileoverview
 *
 * Need to suppress 'global this' error so the Node.js export line doesn't cause
 * closure compile to error out.
 * @suppress {globalThis}
 */

/**
 * @const
 * @namespace
 */
var flatbuffers = {};

/**
 * @typedef {number}
 */
flatbuffers.Offset;

/**
 * @typedef {{
 *   bb: flatbuffers.ByteBuffer,
 *   bb_pos: number
 * }}
 */
flatbuffers.Table;

/**
 * @type {number}
 * @const
 */
flatbuffers.SIZEOF_SHORT = 2;

/**
 * @type {number}
 * @const
 */
flatbuffers.SIZEOF_INT = 4;

/**
 * @type {number}
 * @const
 */
flatbuffers.FILE_IDENTIFIER_LENGTH = 4;

/**
 * @enum {number}
 */
flatbuffers.Encoding = {
  UTF8_BYTES: 1,
  UTF16_STRING: 2
};

/**
 * @type {Int32Array}
 * @const
 */
flatbuffers.int32 = new Int32Array(2);

/**
 * @type {Float32Array}
 * @const
 */
flatbuffers.float32 = new Float32Array(flatbuffers.int32.buffer);

/**
 * @type {Float64Array}
 * @const
 */
flatbuffers.float64 = new Float64Array(flatbuffers.int32.buffer);

/**
 * @type {boolean}
 * @const
 */
flatbuffers.isLittleEndian = new Uint16Array(new Uint8Array([1, 0]).buffer)[0] === 1;

////////////////////////////////////////////////////////////////////////////////

/**
 * @constructor
 * @param {number} low
 * @param {number} high
 */
flatbuffers.Long = function(low, high) {
  /**
   * @type {number}
   * @const
   */
  this.low = low | 0;

  /**
   * @type {number}
   * @const
   */
  this.high = high | 0;
};

/**
 * @param {number} low
 * @param {number} high
 * @returns {flatbuffers.Long}
 */
flatbuffers.Long.create = function(low, high) {
  // Special-case zero to avoid GC overhead for default values
  return low == 0 && high == 0 ? flatbuffers.Long.ZERO : new flatbuffers.Long(low, high);
};

/**
 * @returns {number}
 */
flatbuffers.Long.prototype.toFloat64 = function() {
  return (this.low >>> 0) + this.high * 0x100000000;
};

/**
 * @param {flatbuffers.Long} other
 * @returns {boolean}
 */
flatbuffers.Long.prototype.equals = function(other) {
  return this.low == other.low && this.high == other.high;
};

/**
 * @type {flatbuffers.Long}
 * @const
 */
flatbuffers.Long.ZERO = new flatbuffers.Long(0, 0);

/// @endcond
////////////////////////////////////////////////////////////////////////////////
/**
 * Create a FlatBufferBuilder.
 *
 * @constructor
 * @param {number=} opt_initial_size
 */
flatbuffers.Builder = function(opt_initial_size) {
  if (!opt_initial_size) {
    var initial_size = 1024;
  } else {
    var initial_size = opt_initial_size;
  }

  /**
   * @type {flatbuffers.ByteBuffer}
   * @private
   */
  this.bb = flatbuffers.ByteBuffer.allocate(initial_size);

  /**
   * Remaining space in the ByteBuffer.
   *
   * @type {number}
   * @private
   */
  this.space = initial_size;

  /**
   * Minimum alignment encountered so far.
   *
   * @type {number}
   * @private
   */
  this.minalign = 1;

  /**
   * The vtable for the current table.
   *
   * @type {Array.<number>}
   * @private
   */
  this.vtable = null;

  /**
   * The amount of fields we're actually using.
   *
   * @type {number}
   * @private
   */
  this.vtable_in_use = 0;

  /**
   * Whether we are currently serializing a table.
   *
   * @type {boolean}
   * @private
   */
  this.isNested = false;

  /**
   * Starting offset of the current struct/table.
   *
   * @type {number}
   * @private
   */
  this.object_start = 0;

  /**
   * List of offsets of all vtables.
   *
   * @type {Array.<number>}
   * @private
   */
  this.vtables = [];

  /**
   * For the current vector being built.
   *
   * @type {number}
   * @private
   */
  this.vector_num_elems = 0;

  /**
   * False omits default values from the serialized data
   *
   * @type {boolean}
   * @private
   */
  this.force_defaults = false;
};

flatbuffers.Builder.prototype.clear = function() {
  this.bb.clear();
  this.space = this.bb.capacity();
  this.minalign = 1;
  this.vtable = null;
  this.vtable_in_use = 0;
  this.isNested = false;
  this.object_start = 0;
  this.vtables = [];
  this.vector_num_elems = 0;
  this.force_defaults = false;
};

/**
 * In order to save space, fields that are set to their default value
 * don't get serialized into the buffer. Forcing defaults provides a
 * way to manually disable this optimization.
 *
 * @param {boolean} forceDefaults true always serializes default values
 */
flatbuffers.Builder.prototype.forceDefaults = function(forceDefaults) {
  this.force_defaults = forceDefaults;
};

/**
 * Get the ByteBuffer representing the FlatBuffer. Only call this after you've
 * called finish(). The actual data starts at the ByteBuffer's current position,
 * not necessarily at 0.
 *
 * @returns {flatbuffers.ByteBuffer}
 */
flatbuffers.Builder.prototype.dataBuffer = function() {
  return this.bb;
};

/**
 * Get the bytes representing the FlatBuffer. Only call this after you've
 * called finish().
 *
 * @returns {Uint8Array}
 */
flatbuffers.Builder.prototype.asUint8Array = function() {
  return this.bb.bytes().subarray(this.bb.position(), this.bb.position() + this.offset());
};

/// @cond FLATBUFFERS_INTERNAL
/**
 * Prepare to write an element of `size` after `additional_bytes` have been
 * written, e.g. if you write a string, you need to align such the int length
 * field is aligned to 4 bytes, and the string data follows it directly. If all
 * you need to do is alignment, `additional_bytes` will be 0.
 *
 * @param {number} size This is the of the new element to write
 * @param {number} additional_bytes The padding size
 */
flatbuffers.Builder.prototype.prep = function(size, additional_bytes) {
  // Track the biggest thing we've ever aligned to.
  if (size > this.minalign) {
    this.minalign = size;
  }

  // Find the amount of alignment needed such that `size` is properly
  // aligned after `additional_bytes`
  var align_size = ((~(this.bb.capacity() - this.space + additional_bytes)) + 1) & (size - 1);

  // Reallocate the buffer if needed.
  while (this.space < align_size + size + additional_bytes) {
    var old_buf_size = this.bb.capacity();
    this.bb = flatbuffers.Builder.growByteBuffer(this.bb);
    this.space += this.bb.capacity() - old_buf_size;
  }

  this.pad(align_size);
};

/**
 * @param {number} byte_size
 */
flatbuffers.Builder.prototype.pad = function(byte_size) {
  for (var i = 0; i < byte_size; i++) {
    this.bb.writeInt8(--this.space, 0);
  }
};

/**
 * @param {number} value
 */
flatbuffers.Builder.prototype.writeInt8 = function(value) {
  this.bb.writeInt8(this.space -= 1, value);
};

/**
 * @param {number} value
 */
flatbuffers.Builder.prototype.writeInt16 = function(value) {
  this.bb.writeInt16(this.space -= 2, value);
};

/**
 * @param {number} value
 */
flatbuffers.Builder.prototype.writeInt32 = function(value) {
  this.bb.writeInt32(this.space -= 4, value);
};

/**
 * @param {flatbuffers.Long} value
 */
flatbuffers.Builder.prototype.writeInt64 = function(value) {
  this.bb.writeInt64(this.space -= 8, value);
};

/**
 * @param {number} value
 */
flatbuffers.Builder.prototype.writeFloat32 = function(value) {
  this.bb.writeFloat32(this.space -= 4, value);
};

/**
 * @param {number} value
 */
flatbuffers.Builder.prototype.writeFloat64 = function(value) {
  this.bb.writeFloat64(this.space -= 8, value);
};
/// @endcond

/**
 * Add an `int8` to the buffer, properly aligned, and grows the buffer (if necessary).
 * @param {number} value The `int8` to add the the buffer.
 */
flatbuffers.Builder.prototype.addInt8 = function(value) {
  this.prep(1, 0);
  this.writeInt8(value);
};

/**
 * Add an `int16` to the buffer, properly aligned, and grows the buffer (if necessary).
 * @param {number} value The `int16` to add the the buffer.
 */
flatbuffers.Builder.prototype.addInt16 = function(value) {
  this.prep(2, 0);
  this.writeInt16(value);
};

/**
 * Add an `int32` to the buffer, properly aligned, and grows the buffer (if necessary).
 * @param {number} value The `int32` to add the the buffer.
 */
flatbuffers.Builder.prototype.addInt32 = function(value) {
  this.prep(4, 0);
  this.writeInt32(value);
};

/**
 * Add an `int64` to the buffer, properly aligned, and grows the buffer (if necessary).
 * @param {flatbuffers.Long} value The `int64` to add the the buffer.
 */
flatbuffers.Builder.prototype.addInt64 = function(value) {
  this.prep(8, 0);
  this.writeInt64(value);
};

/**
 * Add a `float32` to the buffer, properly aligned, and grows the buffer (if necessary).
 * @param {number} value The `float32` to add the the buffer.
 */
flatbuffers.Builder.prototype.addFloat32 = function(value) {
  this.prep(4, 0);
  this.writeFloat32(value);
};

/**
 * Add a `float64` to the buffer, properly aligned, and grows the buffer (if necessary).
 * @param {number} value The `float64` to add the the buffer.
 */
flatbuffers.Builder.prototype.addFloat64 = function(value) {
  this.prep(8, 0);
  this.writeFloat64(value);
};

/// @cond FLATBUFFERS_INTERNAL
/**
 * @param {number} voffset
 * @param {number} value
 * @param {number} defaultValue
 */
flatbuffers.Builder.prototype.addFieldInt8 = function(voffset, value, defaultValue) {
  if (this.force_defaults || value != defaultValue) {
    this.addInt8(value);
    this.slot(voffset);
  }
};

/**
 * @param {number} voffset
 * @param {number} value
 * @param {number} defaultValue
 */
flatbuffers.Builder.prototype.addFieldInt16 = function(voffset, value, defaultValue) {
  if (this.force_defaults || value != defaultValue) {
    this.addInt16(value);
    this.slot(voffset);
  }
};

/**
 * @param {number} voffset
 * @param {number} value
 * @param {number} defaultValue
 */
flatbuffers.Builder.prototype.addFieldInt32 = function(voffset, value, defaultValue) {
  if (this.force_defaults || value != defaultValue) {
    this.addInt32(value);
    this.slot(voffset);
  }
};

/**
 * @param {number} voffset
 * @param {flatbuffers.Long} value
 * @param {flatbuffers.Long} defaultValue
 */
flatbuffers.Builder.prototype.addFieldInt64 = function(voffset, value, defaultValue) {
  if (this.force_defaults || !value.equals(defaultValue)) {
    this.addInt64(value);
    this.slot(voffset);
  }
};

/**
 * @param {number} voffset
 * @param {number} value
 * @param {number} defaultValue
 */
flatbuffers.Builder.prototype.addFieldFloat32 = function(voffset, value, defaultValue) {
  if (this.force_defaults || value != defaultValue) {
    this.addFloat32(value);
    this.slot(voffset);
  }
};

/**
 * @param {number} voffset
 * @param {number} value
 * @param {number} defaultValue
 */
flatbuffers.Builder.prototype.addFieldFloat64 = function(voffset, value, defaultValue) {
  if (this.force_defaults || value != defaultValue) {
    this.addFloat64(value);
    this.slot(voffset);
  }
};

/**
 * @param {number} voffset
 * @param {flatbuffers.Offset} value
 * @param {flatbuffers.Offset} defaultValue
 */
flatbuffers.Builder.prototype.addFieldOffset = function(voffset, value, defaultValue) {
  if (this.force_defaults || value != defaultValue) {
    this.addOffset(value);
    this.slot(voffset);
  }
};

/**
 * Structs are stored inline, so nothing additional is being added. `d` is always 0.
 *
 * @param {number} voffset
 * @param {flatbuffers.Offset} value
 * @param {flatbuffers.Offset} defaultValue
 */
flatbuffers.Builder.prototype.addFieldStruct = function(voffset, value, defaultValue) {
  if (value != defaultValue) {
    this.nested(value);
    this.slot(voffset);
  }
};

/**
 * Structures are always stored inline, they need to be created right
 * where they're used.  You'll get this assertion failure if you
 * created it elsewhere.
 *
 * @param {flatbuffers.Offset} obj The offset of the created object
 */
flatbuffers.Builder.prototype.nested = function(obj) {
  if (obj != this.offset()) {
    throw new Error('FlatBuffers: struct must be serialized inline.');
  }
};

/**
 * Should not be creating any other object, string or vector
 * while an object is being constructed
 */
flatbuffers.Builder.prototype.notNested = function() {
  if (this.isNested) {
    throw new Error('FlatBuffers: object serialization must not be nested.');
  }
};

/**
 * Set the current vtable at `voffset` to the current location in the buffer.
 *
 * @param {number} voffset
 */
flatbuffers.Builder.prototype.slot = function(voffset) {
  this.vtable[voffset] = this.offset();
};

/**
 * @returns {flatbuffers.Offset} Offset relative to the end of the buffer.
 */
flatbuffers.Builder.prototype.offset = function() {
  return this.bb.capacity() - this.space;
};

/**
 * Doubles the size of the backing ByteBuffer and copies the old data towards
 * the end of the new buffer (since we build the buffer backwards).
 *
 * @param {flatbuffers.ByteBuffer} bb The current buffer with the existing data
 * @returns {flatbuffers.ByteBuffer} A new byte buffer with the old data copied
 * to it. The data is located at the end of the buffer.
 *
 * uint8Array.set() formally takes {Array<number>|ArrayBufferView}, so to pass
 * it a uint8Array we need to suppress the type check:
 * @suppress {checkTypes}
 */
flatbuffers.Builder.growByteBuffer = function(bb) {
  var old_buf_size = bb.capacity();

  // Ensure we don't grow beyond what fits in an int.
  if (old_buf_size & 0xC0000000) {
    throw new Error('FlatBuffers: cannot grow buffer beyond 2 gigabytes.');
  }

  var new_buf_size = old_buf_size << 1;
  var nbb = flatbuffers.ByteBuffer.allocate(new_buf_size);
  nbb.setPosition(new_buf_size - old_buf_size);
  nbb.bytes().set(bb.bytes(), new_buf_size - old_buf_size);
  return nbb;
};
/// @endcond

/**
 * Adds on offset, relative to where it will be written.
 *
 * @param {flatbuffers.Offset} offset The offset to add.
 */
flatbuffers.Builder.prototype.addOffset = function(offset) {
  this.prep(flatbuffers.SIZEOF_INT, 0); // Ensure alignment is already done.
  this.writeInt32(this.offset() - offset + flatbuffers.SIZEOF_INT);
};

/// @cond FLATBUFFERS_INTERNAL
/**
 * Start encoding a new object in the buffer.  Users will not usually need to
 * call this directly. The FlatBuffers compiler will generate helper methods
 * that call this method internally.
 *
 * @param {number} numfields
 */
flatbuffers.Builder.prototype.startObject = function(numfields) {
  this.notNested();
  if (this.vtable == null) {
    this.vtable = [];
  }
  this.vtable_in_use = numfields;
  for (var i = 0; i < numfields; i++) {
    this.vtable[i] = 0; // This will push additional elements as needed
  }
  this.isNested = true;
  this.object_start = this.offset();
};

/**
 * Finish off writing the object that is under construction.
 *
 * @returns {flatbuffers.Offset} The offset to the object inside `dataBuffer`
 */
flatbuffers.Builder.prototype.endObject = function() {
  if (this.vtable == null || !this.isNested) {
    throw new Error('FlatBuffers: endObject called without startObject');
  }

  this.addInt32(0);
  var vtableloc = this.offset();

  // Trim trailing zeroes.
  var i = this.vtable_in_use - 1;
  for (; i >= 0 && this.vtable[i] == 0; i--) {}
  var trimmed_size = i + 1;

  // Write out the current vtable.
  for (; i >= 0; i--) {
    // Offset relative to the start of the table.
    this.addInt16(this.vtable[i] != 0 ? vtableloc - this.vtable[i] : 0);
  }

  var standard_fields = 2; // The fields below:
  this.addInt16(vtableloc - this.object_start);
  var len = (trimmed_size + standard_fields) * flatbuffers.SIZEOF_SHORT;
  this.addInt16(len);

  // Search for an existing vtable that matches the current one.
  var existing_vtable = 0;
  var vt1 = this.space;
outer_loop:
  for (i = 0; i < this.vtables.length; i++) {
    var vt2 = this.bb.capacity() - this.vtables[i];
    if (len == this.bb.readInt16(vt2)) {
      for (var j = flatbuffers.SIZEOF_SHORT; j < len; j += flatbuffers.SIZEOF_SHORT) {
        if (this.bb.readInt16(vt1 + j) != this.bb.readInt16(vt2 + j)) {
          continue outer_loop;
        }
      }
      existing_vtable = this.vtables[i];
      break;
    }
  }

  if (existing_vtable) {
    // Found a match:
    // Remove the current vtable.
    this.space = this.bb.capacity() - vtableloc;

    // Point table to existing vtable.
    this.bb.writeInt32(this.space, existing_vtable - vtableloc);
  } else {
    // No match:
    // Add the location of the current vtable to the list of vtables.
    this.vtables.push(this.offset());

    // Point table to current vtable.
    this.bb.writeInt32(this.bb.capacity() - vtableloc, this.offset() - vtableloc);
  }

  this.isNested = false;
  return vtableloc;
};
/// @endcond

/**
 * Finalize a buffer, poiting to the given `root_table`.
 *
 * @param {flatbuffers.Offset} root_table
 * @param {string=} opt_file_identifier
 */
flatbuffers.Builder.prototype.finish = function(root_table, opt_file_identifier) {
  if (opt_file_identifier) {
    var file_identifier = opt_file_identifier;
    this.prep(this.minalign, flatbuffers.SIZEOF_INT +
      flatbuffers.FILE_IDENTIFIER_LENGTH);
    if (file_identifier.length != flatbuffers.FILE_IDENTIFIER_LENGTH) {
      throw new Error('FlatBuffers: file identifier must be length ' +
        flatbuffers.FILE_IDENTIFIER_LENGTH);
    }
    for (var i = flatbuffers.FILE_IDENTIFIER_LENGTH - 1; i >= 0; i--) {
      this.writeInt8(file_identifier.charCodeAt(i));
    }
  }
  this.prep(this.minalign, flatbuffers.SIZEOF_INT);
  this.addOffset(root_table);
  this.bb.setPosition(this.space);
};

/// @cond FLATBUFFERS_INTERNAL
/**
 * This checks a required field has been set in a given table that has
 * just been constructed.
 *
 * @param {flatbuffers.Offset} table
 * @param {number} field
 */
flatbuffers.Builder.prototype.requiredField = function(table, field) {
  var table_start = this.bb.capacity() - table;
  var vtable_start = table_start - this.bb.readInt32(table_start);
  var ok = this.bb.readInt16(vtable_start + field) != 0;

  // If this fails, the caller will show what field needs to be set.
  if (!ok) {
    throw new Error('FlatBuffers: field ' + field + ' must be set');
  }
};

/**
 * Start a new array/vector of objects.  Users usually will not call
 * this directly. The FlatBuffers compiler will create a start/end
 * method for vector types in generated code.
 *
 * @param {number} elem_size The size of each element in the array
 * @param {number} num_elems The number of elements in the array
 * @param {number} alignment The alignment of the array
 */
flatbuffers.Builder.prototype.startVector = function(elem_size, num_elems, alignment) {
  this.notNested();
  this.vector_num_elems = num_elems;
  this.prep(flatbuffers.SIZEOF_INT, elem_size * num_elems);
  this.prep(alignment, elem_size * num_elems); // Just in case alignment > int.
};

/**
 * Finish off the creation of an array and all its elements. The array must be
 * created with `startVector`.
 *
 * @returns {flatbuffers.Offset} The offset at which the newly created array
 * starts.
 */
flatbuffers.Builder.prototype.endVector = function() {
  this.writeInt32(this.vector_num_elems);
  return this.offset();
};
/// @endcond

/**
 * Encode the string `s` in the buffer using UTF-8. If a Uint8Array is passed
 * instead of a string, it is assumed to contain valid UTF-8 encoded data.
 *
 * @param {string|Uint8Array} s The string to encode
 * @return {flatbuffers.Offset} The offset in the buffer where the encoded string starts
 */
flatbuffers.Builder.prototype.createString = function(s) {
  if (s instanceof Uint8Array) {
    var utf8 = s;
  } else {
    var utf8 = [];
    var i = 0;

    while (i < s.length) {
      var codePoint;

      // Decode UTF-16
      var a = s.charCodeAt(i++);
      if (a < 0xD800 || a >= 0xDC00) {
        codePoint = a;
      } else {
        var b = s.charCodeAt(i++);
        codePoint = (a << 10) + b + (0x10000 - (0xD800 << 10) - 0xDC00);
      }

      // Encode UTF-8
      if (codePoint < 0x80) {
        utf8.push(codePoint);
      } else {
        if (codePoint < 0x800) {
          utf8.push(((codePoint >> 6) & 0x1F) | 0xC0);
        } else {
          if (codePoint < 0x10000) {
            utf8.push(((codePoint >> 12) & 0x0F) | 0xE0);
          } else {
            utf8.push(
              ((codePoint >> 18) & 0x07) | 0xF0,
              ((codePoint >> 12) & 0x3F) | 0x80);
          }
          utf8.push(((codePoint >> 6) & 0x3F) | 0x80);
        }
        utf8.push((codePoint & 0x3F) | 0x80);
      }
    }
  }

  this.addInt8(0);
  this.startVector(1, utf8.length, 1);
  this.bb.setPosition(this.space -= utf8.length);
  for (var i = 0, offset = this.space, bytes = this.bb.bytes(); i < utf8.length; i++) {
    bytes[offset++] = utf8[i];
  }
  return this.endVector();
};

/**
 * A helper function to avoid generated code depending on this file directly.
 *
 * @param {number} low
 * @param {number} high
 * @returns {flatbuffers.Long}
 */
flatbuffers.Builder.prototype.createLong = function(low, high) {
  return flatbuffers.Long.create(low, high);
};
////////////////////////////////////////////////////////////////////////////////
/// @cond FLATBUFFERS_INTERNAL
/**
 * Create a new ByteBuffer with a given array of bytes (`Uint8Array`).
 *
 * @constructor
 * @param {Uint8Array} bytes
 */
flatbuffers.ByteBuffer = function(bytes) {
  /**
   * @type {Uint8Array}
   * @private
   */
  this.bytes_ = bytes;

  /**
   * @type {number}
   * @private
   */
  this.position_ = 0;
};

/**
 * Create and allocate a new ByteBuffer with a given size.
 *
 * @param {number} byte_size
 * @returns {flatbuffers.ByteBuffer}
 */
flatbuffers.ByteBuffer.allocate = function(byte_size) {
  return new flatbuffers.ByteBuffer(new Uint8Array(byte_size));
};

flatbuffers.ByteBuffer.prototype.clear = function() {
  this.position_ = 0;
};

/**
 * Get the underlying `Uint8Array`.
 *
 * @returns {Uint8Array}
 */
flatbuffers.ByteBuffer.prototype.bytes = function() {
  return this.bytes_;
};

/**
 * Get the buffer's position.
 *
 * @returns {number}
 */
flatbuffers.ByteBuffer.prototype.position = function() {
  return this.position_;
};

/**
 * Set the buffer's position.
 *
 * @param {number} position
 */
flatbuffers.ByteBuffer.prototype.setPosition = function(position) {
  this.position_ = position;
};

/**
 * Get the buffer's capacity.
 *
 * @returns {number}
 */
flatbuffers.ByteBuffer.prototype.capacity = function() {
  return this.bytes_.length;
};

/**
 * @param {number} offset
 * @returns {number}
 */
flatbuffers.ByteBuffer.prototype.readInt8 = function(offset) {
  return this.readUint8(offset) << 24 >> 24;
};

/**
 * @param {number} offset
 * @returns {number}
 */
flatbuffers.ByteBuffer.prototype.readUint8 = function(offset) {
  return this.bytes_[offset];
};

/**
 * @param {number} offset
 * @returns {number}
 */
flatbuffers.ByteBuffer.prototype.readInt16 = function(offset) {
  return this.readUint16(offset) << 16 >> 16;
};

/**
 * @param {number} offset
 * @returns {number}
 */
flatbuffers.ByteBuffer.prototype.readUint16 = function(offset) {
  return this.bytes_[offset] | this.bytes_[offset + 1] << 8;
};

/**
 * @param {number} offset
 * @returns {number}
 */
flatbuffers.ByteBuffer.prototype.readInt32 = function(offset) {
  return this.bytes_[offset] | this.bytes_[offset + 1] << 8 | this.bytes_[offset + 2] << 16 | this.bytes_[offset + 3] << 24;
};

/**
 * @param {number} offset
 * @returns {number}
 */
flatbuffers.ByteBuffer.prototype.readUint32 = function(offset) {
  return this.readInt32(offset) >>> 0;
};

/**
 * @param {number} offset
 * @returns {flatbuffers.Long}
 */
flatbuffers.ByteBuffer.prototype.readInt64 = function(offset) {
  return new flatbuffers.Long(this.readInt32(offset), this.readInt32(offset + 4));
};

/**
 * @param {number} offset
 * @returns {flatbuffers.Long}
 */
flatbuffers.ByteBuffer.prototype.readUint64 = function(offset) {
  return new flatbuffers.Long(this.readUint32(offset), this.readUint32(offset + 4));
};

/**
 * @param {number} offset
 * @returns {number}
 */
flatbuffers.ByteBuffer.prototype.readFloat32 = function(offset) {
  flatbuffers.int32[0] = this.readInt32(offset);
  return flatbuffers.float32[0];
};

/**
 * @param {number} offset
 * @returns {number}
 */
flatbuffers.ByteBuffer.prototype.readFloat64 = function(offset) {
  flatbuffers.int32[flatbuffers.isLittleEndian ? 0 : 1] = this.readInt32(offset);
  flatbuffers.int32[flatbuffers.isLittleEndian ? 1 : 0] = this.readInt32(offset + 4);
  return flatbuffers.float64[0];
};

/**
 * @param {number} offset
 * @param {number|boolean} value
 */
flatbuffers.ByteBuffer.prototype.writeInt8 = function(offset, value) {
  this.bytes_[offset] = /** @type {number} */(value);
};

/**
 * @param {number} offset
 * @param {number} value
 */
flatbuffers.ByteBuffer.prototype.writeUint8 = function(offset, value) {
  this.bytes_[offset] = value;
};

/**
 * @param {number} offset
 * @param {number} value
 */
flatbuffers.ByteBuffer.prototype.writeInt16 = function(offset, value) {
  this.bytes_[offset] = value;
  this.bytes_[offset + 1] = value >> 8;
};

/**
 * @param {number} offset
 * @param {number} value
 */
flatbuffers.ByteBuffer.prototype.writeUint16 = function(offset, value) {
    this.bytes_[offset] = value;
    this.bytes_[offset + 1] = value >> 8;
};

/**
 * @param {number} offset
 * @param {number} value
 */
flatbuffers.ByteBuffer.prototype.writeInt32 = function(offset, value) {
  this.bytes_[offset] = value;
  this.bytes_[offset + 1] = value >> 8;
  this.bytes_[offset + 2] = value >> 16;
  this.bytes_[offset + 3] = value >> 24;
};

/**
 * @param {number} offset
 * @param {number} value
 */
flatbuffers.ByteBuffer.prototype.writeUint32 = function(offset, value) {
    this.bytes_[offset] = value;
    this.bytes_[offset + 1] = value >> 8;
    this.bytes_[offset + 2] = value >> 16;
    this.bytes_[offset + 3] = value >> 24;
};

/**
 * @param {number} offset
 * @param {flatbuffers.Long} value
 */
flatbuffers.ByteBuffer.prototype.writeInt64 = function(offset, value) {
  this.writeInt32(offset, value.low);
  this.writeInt32(offset + 4, value.high);
};

/**
 * @param {number} offset
 * @param {flatbuffers.Long} value
 */
flatbuffers.ByteBuffer.prototype.writeUint64 = function(offset, value) {
    this.writeUint32(offset, value.low);
    this.writeUint32(offset + 4, value.high);
};

/**
 * @param {number} offset
 * @param {number} value
 */
flatbuffers.ByteBuffer.prototype.writeFloat32 = function(offset, value) {
  flatbuffers.float32[0] = value;
  this.writeInt32(offset, flatbuffers.int32[0]);
};

/**
 * @param {number} offset
 * @param {number} value
 */
flatbuffers.ByteBuffer.prototype.writeFloat64 = function(offset, value) {
  flatbuffers.float64[0] = value;
  this.writeInt32(offset, flatbuffers.int32[flatbuffers.isLittleEndian ? 0 : 1]);
  this.writeInt32(offset + 4, flatbuffers.int32[flatbuffers.isLittleEndian ? 1 : 0]);
};

/**
 * Return the file identifier.   Behavior is undefined for FlatBuffers whose
 * schema does not include a file_identifier (likely points at padding or the
 * start of a the root vtable).
 * @returns {string}
 */
flatbuffers.ByteBuffer.prototype.getBufferIdentifier = function() {
  if (this.bytes_.length < this.position_ + flatbuffers.SIZEOF_INT +
      flatbuffers.FILE_IDENTIFIER_LENGTH) {
    throw new Error(
        'FlatBuffers: ByteBuffer is too short to contain an identifier.');
  }
  var result = "";
  for (var i = 0; i < flatbuffers.FILE_IDENTIFIER_LENGTH; i++) {
    result += String.fromCharCode(
        this.readInt8(this.position_ + flatbuffers.SIZEOF_INT + i));
  }
  return result;
};

/**
 * Look up a field in the vtable, return an offset into the object, or 0 if the
 * field is not present.
 *
 * @param {number} bb_pos
 * @param {number} vtable_offset
 * @returns {number}
 */
flatbuffers.ByteBuffer.prototype.__offset = function(bb_pos, vtable_offset) {
  var vtable = bb_pos - this.readInt32(bb_pos);
  return vtable_offset < this.readInt16(vtable) ? this.readInt16(vtable + vtable_offset) : 0;
};

/**
 * Initialize any Table-derived type to point to the union at the given offset.
 *
 * @param {flatbuffers.Table} t
 * @param {number} offset
 * @returns {flatbuffers.Table}
 */
flatbuffers.ByteBuffer.prototype.__union = function(t, offset) {
  t.bb_pos = offset + this.readInt32(offset);
  t.bb = this;
  return t;
};

/**
 * Create a JavaScript string from UTF-8 data stored inside the FlatBuffer.
 * This allocates a new string and converts to wide chars upon each access.
 *
 * To avoid the conversion to UTF-16, pass flatbuffers.Encoding.UTF8_BYTES as
 * the "optionalEncoding" argument. This is useful for avoiding conversion to
 * and from UTF-16 when the data will just be packaged back up in another
 * FlatBuffer later on.
 *
 * @param {number} offset
 * @param {flatbuffers.Encoding=} opt_encoding Defaults to UTF16_STRING
 * @returns {string|Uint8Array}
 */
flatbuffers.ByteBuffer.prototype.__string = function(offset, opt_encoding) {
  offset += this.readInt32(offset);

  var length = this.readInt32(offset);
  var result = '';
  var i = 0;

  offset += flatbuffers.SIZEOF_INT;

  if (opt_encoding === flatbuffers.Encoding.UTF8_BYTES) {
    return this.bytes_.subarray(offset, offset + length);
  }

  while (i < length) {
    var codePoint;

    // Decode UTF-8
    var a = this.readUint8(offset + i++);
    if (a < 0xC0) {
      codePoint = a;
    } else {
      var b = this.readUint8(offset + i++);
      if (a < 0xE0) {
        codePoint =
          ((a & 0x1F) << 6) |
          (b & 0x3F);
      } else {
        var c = this.readUint8(offset + i++);
        if (a < 0xF0) {
          codePoint =
            ((a & 0x0F) << 12) |
            ((b & 0x3F) << 6) |
            (c & 0x3F);
        } else {
          var d = this.readUint8(offset + i++);
          codePoint =
            ((a & 0x07) << 18) |
            ((b & 0x3F) << 12) |
            ((c & 0x3F) << 6) |
            (d & 0x3F);
        }
      }
    }

    // Encode UTF-16
    if (codePoint < 0x10000) {
      result += String.fromCharCode(codePoint);
    } else {
      codePoint -= 0x10000;
      result += String.fromCharCode(
        (codePoint >> 10) + 0xD800,
        (codePoint & ((1 << 10) - 1)) + 0xDC00);
    }
  }

  return result;
};

/**
 * Retrieve the relative offset stored at "offset"
 * @param {number} offset
 * @returns {number}
 */
flatbuffers.ByteBuffer.prototype.__indirect = function(offset) {
  return offset + this.readInt32(offset);
};

/**
 * Get the start of data of a vector whose offset is stored at "offset" in this object.
 *
 * @param {number} offset
 * @returns {number}
 */
flatbuffers.ByteBuffer.prototype.__vector = function(offset) {
  return offset + this.readInt32(offset) + flatbuffers.SIZEOF_INT; // data starts after the length
};

/**
 * Get the length of a vector whose offset is stored at "offset" in this object.
 *
 * @param {number} offset
 * @returns {number}
 */
flatbuffers.ByteBuffer.prototype.__vector_len = function(offset) {
  return this.readInt32(offset + this.readInt32(offset));
};

/**
 * @param {string} ident
 * @returns {boolean}
 */
flatbuffers.ByteBuffer.prototype.__has_identifier = function(ident) {
  if (ident.length != flatbuffers.FILE_IDENTIFIER_LENGTH) {
    throw new Error('FlatBuffers: file identifier must be length ' +
                    flatbuffers.FILE_IDENTIFIER_LENGTH);
  }
  for (var i = 0; i < flatbuffers.FILE_IDENTIFIER_LENGTH; i++) {
    if (ident.charCodeAt(i) != this.readInt8(this.position_ + flatbuffers.SIZEOF_INT + i)) {
      return false;
    }
  }
  return true;
};

/**
 * A helper function to avoid generated code depending on this file directly.
 *
 * @param {number} low
 * @param {number} high
 * @returns {flatbuffers.Long}
 */
flatbuffers.ByteBuffer.prototype.createLong = function(low, high) {
  return flatbuffers.Long.create(low, high);
};

// Exports for Node.js and RequireJS


/// @endcond
/// @}

;// ../node_modules/text-encoding-utf-8/lib/encoding.lib.mjs


// This is free and unencumbered software released into the public domain.
// See LICENSE.md for more information.

//
// Utilities
//

/**
 * @param {number} a The number to test.
 * @param {number} min The minimum value in the range, inclusive.
 * @param {number} max The maximum value in the range, inclusive.
 * @return {boolean} True if a >= min and a <= max.
 */
function inRange(a, min, max) {
  return min <= a && a <= max;
}

/**
 * @param {*} o
 * @return {Object}
 */
function ToDictionary(o) {
  if (o === undefined) return {};
  if (o === Object(o)) return o;
  throw TypeError('Could not convert argument to dictionary');
}

/**
 * @param {string} string Input string of UTF-16 code units.
 * @return {!Array.<number>} Code points.
 */
function stringToCodePoints(string) {
  // https://heycam.github.io/webidl/#dfn-obtain-unicode

  // 1. Let S be the DOMString value.
  var s = String(string);

  // 2. Let n be the length of S.
  var n = s.length;

  // 3. Initialize i to 0.
  var i = 0;

  // 4. Initialize U to be an empty sequence of Unicode characters.
  var u = [];

  // 5. While i < n:
  while (i < n) {

    // 1. Let c be the code unit in S at index i.
    var c = s.charCodeAt(i);

    // 2. Depending on the value of c:

    // c < 0xD800 or c > 0xDFFF
    if (c < 0xD800 || c > 0xDFFF) {
      // Append to U the Unicode character with code point c.
      u.push(c);
    }

    // 0xDC00 ≤ c ≤ 0xDFFF
    else if (0xDC00 <= c && c <= 0xDFFF) {
      // Append to U a U+FFFD REPLACEMENT CHARACTER.
      u.push(0xFFFD);
    }

    // 0xD800 ≤ c ≤ 0xDBFF
    else if (0xD800 <= c && c <= 0xDBFF) {
      // 1. If i = n−1, then append to U a U+FFFD REPLACEMENT
      // CHARACTER.
      if (i === n - 1) {
        u.push(0xFFFD);
      }
      // 2. Otherwise, i < n−1:
      else {
        // 1. Let d be the code unit in S at index i+1.
        var d = string.charCodeAt(i + 1);

        // 2. If 0xDC00 ≤ d ≤ 0xDFFF, then:
        if (0xDC00 <= d && d <= 0xDFFF) {
          // 1. Let a be c & 0x3FF.
          var a = c & 0x3FF;

          // 2. Let b be d & 0x3FF.
          var b = d & 0x3FF;

          // 3. Append to U the Unicode character with code point
          // 2^16+2^10*a+b.
          u.push(0x10000 + (a << 10) + b);

          // 4. Set i to i+1.
          i += 1;
        }

        // 3. Otherwise, d < 0xDC00 or d > 0xDFFF. Append to U a
        // U+FFFD REPLACEMENT CHARACTER.
        else  {
          u.push(0xFFFD);
        }
      }
    }

    // 3. Set i to i+1.
    i += 1;
  }

  // 6. Return U.
  return u;
}

/**
 * @param {!Array.<number>} code_points Array of code points.
 * @return {string} string String of UTF-16 code units.
 */
function codePointsToString(code_points) {
  var s = '';
  for (var i = 0; i < code_points.length; ++i) {
    var cp = code_points[i];
    if (cp <= 0xFFFF) {
      s += String.fromCharCode(cp);
    } else {
      cp -= 0x10000;
      s += String.fromCharCode((cp >> 10) + 0xD800,
                               (cp & 0x3FF) + 0xDC00);
    }
  }
  return s;
}


//
// Implementation of Encoding specification
// https://encoding.spec.whatwg.org/
//

//
// 3. Terminology
//

/**
 * End-of-stream is a special token that signifies no more tokens
 * are in the stream.
 * @const
 */ var end_of_stream = -1;

/**
 * A stream represents an ordered sequence of tokens.
 *
 * @constructor
 * @param {!(Array.<number>|Uint8Array)} tokens Array of tokens that provide the
 * stream.
 */
function Stream(tokens) {
  /** @type {!Array.<number>} */
  this.tokens = [].slice.call(tokens);
}

Stream.prototype = {
  /**
   * @return {boolean} True if end-of-stream has been hit.
   */
  endOfStream: function() {
    return !this.tokens.length;
  },

  /**
   * When a token is read from a stream, the first token in the
   * stream must be returned and subsequently removed, and
   * end-of-stream must be returned otherwise.
   *
   * @return {number} Get the next token from the stream, or
   * end_of_stream.
   */
   read: function() {
    if (!this.tokens.length)
      return end_of_stream;
     return this.tokens.shift();
   },

  /**
   * When one or more tokens are prepended to a stream, those tokens
   * must be inserted, in given order, before the first token in the
   * stream.
   *
   * @param {(number|!Array.<number>)} token The token(s) to prepend to the stream.
   */
  prepend: function(token) {
    if (Array.isArray(token)) {
      var tokens = /**@type {!Array.<number>}*/(token);
      while (tokens.length)
        this.tokens.unshift(tokens.pop());
    } else {
      this.tokens.unshift(token);
    }
  },

  /**
   * When one or more tokens are pushed to a stream, those tokens
   * must be inserted, in given order, after the last token in the
   * stream.
   *
   * @param {(number|!Array.<number>)} token The tokens(s) to prepend to the stream.
   */
  push: function(token) {
    if (Array.isArray(token)) {
      var tokens = /**@type {!Array.<number>}*/(token);
      while (tokens.length)
        this.tokens.push(tokens.shift());
    } else {
      this.tokens.push(token);
    }
  }
};

//
// 4. Encodings
//

// 4.1 Encoders and decoders

/** @const */
var finished = -1;

/**
 * @param {boolean} fatal If true, decoding errors raise an exception.
 * @param {number=} opt_code_point Override the standard fallback code point.
 * @return {number} The code point to insert on a decoding error.
 */
function decoderError(fatal, opt_code_point) {
  if (fatal)
    throw TypeError('Decoder error');
  return opt_code_point || 0xFFFD;
}

/** @interface */
function Decoder() {}
Decoder.prototype = {
  /**
   * @param {Stream} stream The stream of bytes being decoded.
   * @param {number} bite The next byte read from the stream.
   * @return {?(number|!Array.<number>)} The next code point(s)
   *     decoded, or null if not enough data exists in the input
   *     stream to decode a complete code point, or |finished|.
   */
  handler: function(stream, bite) {}
};

/** @interface */
function Encoder() {}
Encoder.prototype = {
  /**
   * @param {Stream} stream The stream of code points being encoded.
   * @param {number} code_point Next code point read from the stream.
   * @return {(number|!Array.<number>)} Byte(s) to emit, or |finished|.
   */
  handler: function(stream, code_point) {}
};

//
// 7. API
//

/** @const */ var DEFAULT_ENCODING = 'utf-8';

// 7.1 Interface TextDecoder

/**
 * @constructor
 * @param {string=} encoding The label of the encoding;
 *     defaults to 'utf-8'.
 * @param {Object=} options
 */
function encoding_lib_TextDecoder(encoding, options) {
  if (!(this instanceof encoding_lib_TextDecoder)) {
    return new encoding_lib_TextDecoder(encoding, options);
  }
  encoding = encoding !== undefined ? String(encoding).toLowerCase() : DEFAULT_ENCODING;
  if (encoding !== DEFAULT_ENCODING) {
    throw new Error('Encoding not supported. Only utf-8 is supported');
  }
  options = ToDictionary(options);

  /** @private @type {boolean} */
  this._streaming = false;
  /** @private @type {boolean} */
  this._BOMseen = false;
  /** @private @type {?Decoder} */
  this._decoder = null;
  /** @private @type {boolean} */
  this._fatal = Boolean(options['fatal']);
  /** @private @type {boolean} */
  this._ignoreBOM = Boolean(options['ignoreBOM']);

  Object.defineProperty(this, 'encoding', {value: 'utf-8'});
  Object.defineProperty(this, 'fatal', {value: this._fatal});
  Object.defineProperty(this, 'ignoreBOM', {value: this._ignoreBOM});
}

encoding_lib_TextDecoder.prototype = {
  /**
   * @param {ArrayBufferView=} input The buffer of bytes to decode.
   * @param {Object=} options
   * @return {string} The decoded string.
   */
  decode: function decode(input, options) {
    var bytes;
    if (typeof input === 'object' && input instanceof ArrayBuffer) {
      bytes = new Uint8Array(input);
    } else if (typeof input === 'object' && 'buffer' in input &&
               input.buffer instanceof ArrayBuffer) {
      bytes = new Uint8Array(input.buffer,
                             input.byteOffset,
                             input.byteLength);
    } else {
      bytes = new Uint8Array(0);
    }

    options = ToDictionary(options);

    if (!this._streaming) {
      this._decoder = new UTF8Decoder({fatal: this._fatal});
      this._BOMseen = false;
    }
    this._streaming = Boolean(options['stream']);

    var input_stream = new Stream(bytes);

    var code_points = [];

    /** @type {?(number|!Array.<number>)} */
    var result;

    while (!input_stream.endOfStream()) {
      result = this._decoder.handler(input_stream, input_stream.read());
      if (result === finished)
        break;
      if (result === null)
        continue;
      if (Array.isArray(result))
        code_points.push.apply(code_points, /**@type {!Array.<number>}*/(result));
      else
        code_points.push(result);
    }
    if (!this._streaming) {
      do {
        result = this._decoder.handler(input_stream, input_stream.read());
        if (result === finished)
          break;
        if (result === null)
          continue;
        if (Array.isArray(result))
          code_points.push.apply(code_points, /**@type {!Array.<number>}*/(result));
        else
          code_points.push(result);
      } while (!input_stream.endOfStream());
      this._decoder = null;
    }

    if (code_points.length) {
      // If encoding is one of utf-8, utf-16be, and utf-16le, and
      // ignore BOM flag and BOM seen flag are unset, run these
      // subsubsteps:
      if (['utf-8'].indexOf(this.encoding) !== -1 &&
          !this._ignoreBOM && !this._BOMseen) {
        // If token is U+FEFF, set BOM seen flag.
        if (code_points[0] === 0xFEFF) {
          this._BOMseen = true;
          code_points.shift();
        } else {
          // Otherwise, if token is not end-of-stream, set BOM seen
          // flag and append token to output.
          this._BOMseen = true;
        }
      }
    }

    return codePointsToString(code_points);
  }
};

// 7.2 Interface TextEncoder

/**
 * @constructor
 * @param {string=} encoding The label of the encoding;
 *     defaults to 'utf-8'.
 * @param {Object=} options
 */
function encoding_lib_TextEncoder(encoding, options) {
  if (!(this instanceof encoding_lib_TextEncoder))
    return new encoding_lib_TextEncoder(encoding, options);
  encoding = encoding !== undefined ? String(encoding).toLowerCase() : DEFAULT_ENCODING;
  if (encoding !== DEFAULT_ENCODING) {
    throw new Error('Encoding not supported. Only utf-8 is supported');
  }
  options = ToDictionary(options);

  /** @private @type {boolean} */
  this._streaming = false;
  /** @private @type {?Encoder} */
  this._encoder = null;
  /** @private @type {{fatal: boolean}} */
  this._options = {fatal: Boolean(options['fatal'])};

  Object.defineProperty(this, 'encoding', {value: 'utf-8'});
}

encoding_lib_TextEncoder.prototype = {
  /**
   * @param {string=} opt_string The string to encode.
   * @param {Object=} options
   * @return {Uint8Array} Encoded bytes, as a Uint8Array.
   */
  encode: function encode(opt_string, options) {
    opt_string = opt_string ? String(opt_string) : '';
    options = ToDictionary(options);

    // NOTE: This option is nonstandard. None of the encodings
    // permitted for encoding (i.e. UTF-8, UTF-16) are stateful,
    // so streaming is not necessary.
    if (!this._streaming)
      this._encoder = new UTF8Encoder(this._options);
    this._streaming = Boolean(options['stream']);

    var bytes = [];
    var input_stream = new Stream(stringToCodePoints(opt_string));
    /** @type {?(number|!Array.<number>)} */
    var result;
    while (!input_stream.endOfStream()) {
      result = this._encoder.handler(input_stream, input_stream.read());
      if (result === finished)
        break;
      if (Array.isArray(result))
        bytes.push.apply(bytes, /**@type {!Array.<number>}*/(result));
      else
        bytes.push(result);
    }
    if (!this._streaming) {
      while (true) {
        result = this._encoder.handler(input_stream, input_stream.read());
        if (result === finished)
          break;
        if (Array.isArray(result))
          bytes.push.apply(bytes, /**@type {!Array.<number>}*/(result));
        else
          bytes.push(result);
      }
      this._encoder = null;
    }
    return new Uint8Array(bytes);
  }
};

//
// 8. The encoding
//

// 8.1 utf-8

/**
 * @constructor
 * @implements {Decoder}
 * @param {{fatal: boolean}} options
 */
function UTF8Decoder(options) {
  var fatal = options.fatal;

  // utf-8's decoder's has an associated utf-8 code point, utf-8
  // bytes seen, and utf-8 bytes needed (all initially 0), a utf-8
  // lower boundary (initially 0x80), and a utf-8 upper boundary
  // (initially 0xBF).
  var /** @type {number} */ utf8_code_point = 0,
      /** @type {number} */ utf8_bytes_seen = 0,
      /** @type {number} */ utf8_bytes_needed = 0,
      /** @type {number} */ utf8_lower_boundary = 0x80,
      /** @type {number} */ utf8_upper_boundary = 0xBF;

  /**
   * @param {Stream} stream The stream of bytes being decoded.
   * @param {number} bite The next byte read from the stream.
   * @return {?(number|!Array.<number>)} The next code point(s)
   *     decoded, or null if not enough data exists in the input
   *     stream to decode a complete code point.
   */
  this.handler = function(stream, bite) {
    // 1. If byte is end-of-stream and utf-8 bytes needed is not 0,
    // set utf-8 bytes needed to 0 and return error.
    if (bite === end_of_stream && utf8_bytes_needed !== 0) {
      utf8_bytes_needed = 0;
      return decoderError(fatal);
    }

    // 2. If byte is end-of-stream, return finished.
    if (bite === end_of_stream)
      return finished;

    // 3. If utf-8 bytes needed is 0, based on byte:
    if (utf8_bytes_needed === 0) {

      // 0x00 to 0x7F
      if (inRange(bite, 0x00, 0x7F)) {
        // Return a code point whose value is byte.
        return bite;
      }

      // 0xC2 to 0xDF
      if (inRange(bite, 0xC2, 0xDF)) {
        // Set utf-8 bytes needed to 1 and utf-8 code point to byte
        // − 0xC0.
        utf8_bytes_needed = 1;
        utf8_code_point = bite - 0xC0;
      }

      // 0xE0 to 0xEF
      else if (inRange(bite, 0xE0, 0xEF)) {
        // 1. If byte is 0xE0, set utf-8 lower boundary to 0xA0.
        if (bite === 0xE0)
          utf8_lower_boundary = 0xA0;
        // 2. If byte is 0xED, set utf-8 upper boundary to 0x9F.
        if (bite === 0xED)
          utf8_upper_boundary = 0x9F;
        // 3. Set utf-8 bytes needed to 2 and utf-8 code point to
        // byte − 0xE0.
        utf8_bytes_needed = 2;
        utf8_code_point = bite - 0xE0;
      }

      // 0xF0 to 0xF4
      else if (inRange(bite, 0xF0, 0xF4)) {
        // 1. If byte is 0xF0, set utf-8 lower boundary to 0x90.
        if (bite === 0xF0)
          utf8_lower_boundary = 0x90;
        // 2. If byte is 0xF4, set utf-8 upper boundary to 0x8F.
        if (bite === 0xF4)
          utf8_upper_boundary = 0x8F;
        // 3. Set utf-8 bytes needed to 3 and utf-8 code point to
        // byte − 0xF0.
        utf8_bytes_needed = 3;
        utf8_code_point = bite - 0xF0;
      }

      // Otherwise
      else {
        // Return error.
        return decoderError(fatal);
      }

      // Then (byte is in the range 0xC2 to 0xF4) set utf-8 code
      // point to utf-8 code point << (6 × utf-8 bytes needed) and
      // return continue.
      utf8_code_point = utf8_code_point << (6 * utf8_bytes_needed);
      return null;
    }

    // 4. If byte is not in the range utf-8 lower boundary to utf-8
    // upper boundary, run these substeps:
    if (!inRange(bite, utf8_lower_boundary, utf8_upper_boundary)) {

      // 1. Set utf-8 code point, utf-8 bytes needed, and utf-8
      // bytes seen to 0, set utf-8 lower boundary to 0x80, and set
      // utf-8 upper boundary to 0xBF.
      utf8_code_point = utf8_bytes_needed = utf8_bytes_seen = 0;
      utf8_lower_boundary = 0x80;
      utf8_upper_boundary = 0xBF;

      // 2. Prepend byte to stream.
      stream.prepend(bite);

      // 3. Return error.
      return decoderError(fatal);
    }

    // 5. Set utf-8 lower boundary to 0x80 and utf-8 upper boundary
    // to 0xBF.
    utf8_lower_boundary = 0x80;
    utf8_upper_boundary = 0xBF;

    // 6. Increase utf-8 bytes seen by one and set utf-8 code point
    // to utf-8 code point + (byte − 0x80) << (6 × (utf-8 bytes
    // needed − utf-8 bytes seen)).
    utf8_bytes_seen += 1;
    utf8_code_point += (bite - 0x80) << (6 * (utf8_bytes_needed - utf8_bytes_seen));

    // 7. If utf-8 bytes seen is not equal to utf-8 bytes needed,
    // continue.
    if (utf8_bytes_seen !== utf8_bytes_needed)
      return null;

    // 8. Let code point be utf-8 code point.
    var code_point = utf8_code_point;

    // 9. Set utf-8 code point, utf-8 bytes needed, and utf-8 bytes
    // seen to 0.
    utf8_code_point = utf8_bytes_needed = utf8_bytes_seen = 0;

    // 10. Return a code point whose value is code point.
    return code_point;
  };
}

/**
 * @constructor
 * @implements {Encoder}
 * @param {{fatal: boolean}} options
 */
function UTF8Encoder(options) {
  var fatal = options.fatal;
  /**
   * @param {Stream} stream Input stream.
   * @param {number} code_point Next code point read from the stream.
   * @return {(number|!Array.<number>)} Byte(s) to emit.
   */
  this.handler = function(stream, code_point) {
    // 1. If code point is end-of-stream, return finished.
    if (code_point === end_of_stream)
      return finished;

    // 2. If code point is in the range U+0000 to U+007F, return a
    // byte whose value is code point.
    if (inRange(code_point, 0x0000, 0x007f))
      return code_point;

    // 3. Set count and offset based on the range code point is in:
    var count, offset;
    // U+0080 to U+07FF:    1 and 0xC0
    if (inRange(code_point, 0x0080, 0x07FF)) {
      count = 1;
      offset = 0xC0;
    }
    // U+0800 to U+FFFF:    2 and 0xE0
    else if (inRange(code_point, 0x0800, 0xFFFF)) {
      count = 2;
      offset = 0xE0;
    }
    // U+10000 to U+10FFFF: 3 and 0xF0
    else if (inRange(code_point, 0x10000, 0x10FFFF)) {
      count = 3;
      offset = 0xF0;
    }

    // 4.Let bytes be a byte sequence whose first byte is (code
    // point >> (6 × count)) + offset.
    var bytes = [(code_point >> (6 * count)) + offset];

    // 5. Run these substeps while count is greater than 0:
    while (count > 0) {

      // 1. Set temp to code point >> (6 × (count − 1)).
      var temp = code_point >> (6 * (count - 1));

      // 2. Append to bytes 0x80 | (temp & 0x3F).
      bytes.push(0x80 | (temp & 0x3F));

      // 3. Decrease count by one.
      count -= 1;
    }

    // 6. Return bytes bytes, in order.
    return bytes;
  };
}



;// ../node_modules/apache-arrow/util/utf8.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.


/** @ignore @suppress {missingRequire} */
const _Buffer = typeof Buffer === 'function' ? Buffer : null;
/** @ignore */
const useNativeEncoders = typeof TextDecoder === 'function' && typeof TextEncoder === 'function';
/** @ignore */
const decodeUtf8 = ((TextDecoder) => {
    if (useNativeEncoders || !_Buffer) {
        const decoder = new TextDecoder('utf-8');
        return (buffer) => decoder.decode(buffer);
    }
    return (input) => {
        const { buffer, byteOffset, length } = toUint8Array(input);
        return _Buffer.from(buffer, byteOffset, length).toString();
    };
})(typeof TextDecoder !== 'undefined' ? TextDecoder : encoding_lib_TextDecoder);
/** @ignore */
const encodeUtf8 = ((TextEncoder) => {
    if (useNativeEncoders || !_Buffer) {
        const encoder = new TextEncoder();
        return (value) => encoder.encode(value);
    }
    return (input = '') => toUint8Array(_Buffer.from(input, 'utf8'));
})(typeof TextEncoder !== 'undefined' ? TextEncoder : encoding_lib_TextEncoder);

//# sourceMappingURL=utf8.mjs.map

;// ../node_modules/apache-arrow/io/interfaces.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.

/** @ignore */
const ITERATOR_DONE = Object.freeze({ done: true, value: void (0) });
/** @ignore */
class ArrowJSON {
    // @ts-ignore
    constructor(_json) {
        this._json = _json;
    }
    get schema() { return this._json['schema']; }
    get batches() { return (this._json['batches'] || []); }
    get dictionaries() { return (this._json['dictionaries'] || []); }
}
/** @ignore */
class ReadableInterop {
    tee() {
        return this._getDOMStream().tee();
    }
    pipe(writable, options) {
        return this._getNodeStream().pipe(writable, options);
    }
    pipeTo(writable, options) { return this._getDOMStream().pipeTo(writable, options); }
    pipeThrough(duplex, options) {
        return this._getDOMStream().pipeThrough(duplex, options);
    }
    _getDOMStream() {
        return this._DOMStream || (this._DOMStream = this.toDOMStream());
    }
    _getNodeStream() {
        return this._nodeStream || (this._nodeStream = this.toNodeStream());
    }
}
/** @ignore */
class AsyncQueue extends ReadableInterop {
    constructor() {
        super();
        this._values = [];
        this.resolvers = [];
        this._closedPromise = new Promise((r) => this._closedPromiseResolve = r);
    }
    get closed() { return this._closedPromise; }
    async cancel(reason) { await this.return(reason); }
    write(value) {
        if (this._ensureOpen()) {
            this.resolvers.length <= 0
                ? (this._values.push(value))
                : (this.resolvers.shift().resolve({ done: false, value }));
        }
    }
    abort(value) {
        if (this._closedPromiseResolve) {
            this.resolvers.length <= 0
                ? (this._error = { error: value })
                : (this.resolvers.shift().reject({ done: true, value }));
        }
    }
    close() {
        if (this._closedPromiseResolve) {
            const { resolvers } = this;
            while (resolvers.length > 0) {
                resolvers.shift().resolve(ITERATOR_DONE);
            }
            this._closedPromiseResolve();
            this._closedPromiseResolve = undefined;
        }
    }
    [Symbol.asyncIterator]() { return this; }
    toDOMStream(options) {
        return adapters.toDOMStream((this._closedPromiseResolve || this._error)
            ? this
            : this._values, options);
    }
    toNodeStream(options) {
        return adapters.toNodeStream((this._closedPromiseResolve || this._error)
            ? this
            : this._values, options);
    }
    async throw(_) { await this.abort(_); return ITERATOR_DONE; }
    async return(_) { await this.close(); return ITERATOR_DONE; }
    async read(size) { return (await this.next(size, 'read')).value; }
    async peek(size) { return (await this.next(size, 'peek')).value; }
    next(..._args) {
        if (this._values.length > 0) {
            return Promise.resolve({ done: false, value: this._values.shift() });
        }
        else if (this._error) {
            return Promise.reject({ done: true, value: this._error.error });
        }
        else if (!this._closedPromiseResolve) {
            return Promise.resolve(ITERATOR_DONE);
        }
        else {
            return new Promise((resolve, reject) => {
                this.resolvers.push({ resolve, reject });
            });
        }
    }
    _ensureOpen() {
        if (this._closedPromiseResolve) {
            return true;
        }
        throw new Error(`${this} is closed`);
    }
}

//# sourceMappingURL=interfaces.mjs.map

;// ../node_modules/apache-arrow/util/compat.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.

/** @ignore */
const [BigIntCtor, BigIntAvailable] = (() => {
    const BigIntUnavailableError = () => { throw new Error('BigInt is not available in this environment'); };
    function BigIntUnavailable() { throw BigIntUnavailableError(); }
    BigIntUnavailable.asIntN = () => { throw BigIntUnavailableError(); };
    BigIntUnavailable.asUintN = () => { throw BigIntUnavailableError(); };
    return typeof BigInt !== 'undefined' ? [BigInt, true] : [BigIntUnavailable, false];
})();
/** @ignore */
const [BigInt64ArrayCtor, BigInt64ArrayAvailable] = (() => {
    const BigInt64ArrayUnavailableError = () => { throw new Error('BigInt64Array is not available in this environment'); };
    class BigInt64ArrayUnavailable {
        static get BYTES_PER_ELEMENT() { return 8; }
        static of() { throw BigInt64ArrayUnavailableError(); }
        static from() { throw BigInt64ArrayUnavailableError(); }
        constructor() { throw BigInt64ArrayUnavailableError(); }
    }
    return typeof BigInt64Array !== 'undefined' ? [BigInt64Array, true] : [BigInt64ArrayUnavailable, false];
})();
/** @ignore */
const [BigUint64ArrayCtor, BigUint64ArrayAvailable] = (() => {
    const BigUint64ArrayUnavailableError = () => { throw new Error('BigUint64Array is not available in this environment'); };
    class BigUint64ArrayUnavailable {
        static get BYTES_PER_ELEMENT() { return 8; }
        static of() { throw BigUint64ArrayUnavailableError(); }
        static from() { throw BigUint64ArrayUnavailableError(); }
        constructor() { throw BigUint64ArrayUnavailableError(); }
    }
    return typeof BigUint64Array !== 'undefined' ? [BigUint64Array, true] : [BigUint64ArrayUnavailable, false];
})();



/** @ignore */ const isNumber = (x) => typeof x === 'number';
/** @ignore */ const isBoolean = (x) => typeof x === 'boolean';
/** @ignore */ const compat_isFunction = (x) => typeof x === 'function';
/** @ignore */
const compat_isObject = (x) => x != null && Object(x) === x;
/** @ignore */
const isPromise = (x) => {
    return compat_isObject(x) && compat_isFunction(x.then);
};
/** @ignore */
const isObservable = (x) => {
    return compat_isObject(x) && compat_isFunction(x.subscribe);
};
/** @ignore */
const isIterable = (x) => {
    return compat_isObject(x) && compat_isFunction(x[Symbol.iterator]);
};
/** @ignore */
const isAsyncIterable = (x) => {
    return compat_isObject(x) && compat_isFunction(x[Symbol.asyncIterator]);
};
/** @ignore */
const isArrowJSON = (x) => {
    return compat_isObject(x) && compat_isObject(x['schema']);
};
/** @ignore */
const isArrayLike = (x) => {
    return compat_isObject(x) && isNumber(x['length']);
};
/** @ignore */
const isIteratorResult = (x) => {
    return compat_isObject(x) && ('done' in x) && ('value' in x);
};
/** @ignore */
const isUnderlyingSink = (x) => {
    return compat_isObject(x) &&
        compat_isFunction(x['abort']) &&
        compat_isFunction(x['close']) &&
        compat_isFunction(x['start']) &&
        compat_isFunction(x['write']);
};
/** @ignore */
const isFileHandle = (x) => {
    return compat_isObject(x) && compat_isFunction(x['stat']) && isNumber(x['fd']);
};
/** @ignore */
const isFSReadStream = (x) => {
    return isReadableNodeStream(x) && isNumber(x['bytesRead']);
};
/** @ignore */
const isFetchResponse = (x) => {
    return compat_isObject(x) && isReadableDOMStream(x['body']);
};
/** @ignore */
const isWritableDOMStream = (x) => {
    return compat_isObject(x) &&
        compat_isFunction(x['abort']) &&
        compat_isFunction(x['getWriter']) &&
        !(x instanceof ReadableInterop);
};
/** @ignore */
const isReadableDOMStream = (x) => {
    return compat_isObject(x) &&
        compat_isFunction(x['cancel']) &&
        compat_isFunction(x['getReader']) &&
        !(x instanceof ReadableInterop);
};
/** @ignore */
const isWritableNodeStream = (x) => {
    return compat_isObject(x) &&
        compat_isFunction(x['end']) &&
        compat_isFunction(x['write']) &&
        isBoolean(x['writable']) &&
        !(x instanceof ReadableInterop);
};
/** @ignore */
const isReadableNodeStream = (x) => {
    return compat_isObject(x) &&
        compat_isFunction(x['read']) &&
        compat_isFunction(x['pipe']) &&
        isBoolean(x['readable']) &&
        !(x instanceof ReadableInterop);
};

//# sourceMappingURL=compat.mjs.map

;// ../node_modules/apache-arrow/util/buffer.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.


var ByteBuffer = flatbuffers.ByteBuffer;

/** @ignore */
const SharedArrayBuf = (typeof SharedArrayBuffer !== 'undefined' ? SharedArrayBuffer : ArrayBuffer);
/** @ignore */
function collapseContiguousByteRanges(chunks) {
    let result = chunks[0] ? [chunks[0]] : [];
    let xOffset, yOffset, xLen, yLen;
    for (let x, y, i = 0, j = 0, n = chunks.length; ++i < n;) {
        x = result[j];
        y = chunks[i];
        // continue if x and y don't share the same underlying ArrayBuffer, or if x isn't before y
        if (!x || !y || x.buffer !== y.buffer || y.byteOffset < x.byteOffset) {
            y && (result[++j] = y);
            continue;
        }
        ({ byteOffset: xOffset, byteLength: xLen } = x);
        ({ byteOffset: yOffset, byteLength: yLen } = y);
        // continue if the byte ranges of x and y aren't contiguous
        if ((xOffset + xLen) < yOffset || (yOffset + yLen) < xOffset) {
            y && (result[++j] = y);
            continue;
        }
        result[j] = new Uint8Array(x.buffer, xOffset, yOffset - xOffset + yLen);
    }
    return result;
}
/** @ignore */
function memcpy(target, source, targetByteOffset = 0, sourceByteLength = source.byteLength) {
    const targetByteLength = target.byteLength;
    const dst = new Uint8Array(target.buffer, target.byteOffset, targetByteLength);
    const src = new Uint8Array(source.buffer, source.byteOffset, Math.min(sourceByteLength, targetByteLength));
    dst.set(src, targetByteOffset);
    return target;
}
/** @ignore */
function joinUint8Arrays(chunks, size) {
    // collapse chunks that share the same underlying ArrayBuffer and whose byte ranges overlap,
    // to avoid unnecessarily copying the bytes to do this buffer join. This is a common case during
    // streaming, where we may be reading partial byte ranges out of the same underlying ArrayBuffer
    let result = collapseContiguousByteRanges(chunks);
    let byteLength = result.reduce((x, b) => x + b.byteLength, 0);
    let source, sliced, buffer;
    let offset = 0, index = -1, length = Math.min(size || Infinity, byteLength);
    for (let n = result.length; ++index < n;) {
        source = result[index];
        sliced = source.subarray(0, Math.min(source.length, length - offset));
        if (length <= (offset + sliced.length)) {
            if (sliced.length < source.length) {
                result[index] = source.subarray(sliced.length);
            }
            else if (sliced.length === source.length) {
                index++;
            }
            buffer ? memcpy(buffer, sliced, offset) : (buffer = sliced);
            break;
        }
        memcpy(buffer || (buffer = new Uint8Array(length)), sliced, offset);
        offset += sliced.length;
    }
    return [buffer || new Uint8Array(0), result.slice(index), byteLength - (buffer ? buffer.byteLength : 0)];
}
function toArrayBufferView(ArrayBufferViewCtor, input) {
    let value = isIteratorResult(input) ? input.value : input;
    if (value instanceof ArrayBufferViewCtor) {
        if (ArrayBufferViewCtor === Uint8Array) {
            // Node's `Buffer` class passes the `instanceof Uint8Array` check, but we need
            // a real Uint8Array, since Buffer#slice isn't the same as Uint8Array#slice :/
            return new ArrayBufferViewCtor(value.buffer, value.byteOffset, value.byteLength);
        }
        return value;
    }
    if (!value) {
        return new ArrayBufferViewCtor(0);
    }
    if (typeof value === 'string') {
        value = encodeUtf8(value);
    }
    if (value instanceof ArrayBuffer) {
        return new ArrayBufferViewCtor(value);
    }
    if (value instanceof SharedArrayBuf) {
        return new ArrayBufferViewCtor(value);
    }
    if (value instanceof ByteBuffer) {
        return toArrayBufferView(ArrayBufferViewCtor, value.bytes());
    }
    return !ArrayBuffer.isView(value) ? ArrayBufferViewCtor.from(value) : value.byteLength <= 0 ? new ArrayBufferViewCtor(0)
        : new ArrayBufferViewCtor(value.buffer, value.byteOffset, value.byteLength / ArrayBufferViewCtor.BYTES_PER_ELEMENT);
}
/** @ignore */ const toInt8Array = (input) => toArrayBufferView(Int8Array, input);
/** @ignore */ const toInt16Array = (input) => toArrayBufferView(Int16Array, input);
/** @ignore */ const toInt32Array = (input) => toArrayBufferView(Int32Array, input);
/** @ignore */ const toBigInt64Array = (input) => toArrayBufferView(BigInt64ArrayCtor, input);
/** @ignore */ const toUint8Array = (input) => toArrayBufferView(Uint8Array, input);
/** @ignore */ const toUint16Array = (input) => toArrayBufferView(Uint16Array, input);
/** @ignore */ const toUint32Array = (input) => toArrayBufferView(Uint32Array, input);
/** @ignore */ const toBigUint64Array = (input) => toArrayBufferView(BigUint64ArrayCtor, input);
/** @ignore */ const toFloat32Array = (input) => toArrayBufferView(Float32Array, input);
/** @ignore */ const toFloat64Array = (input) => toArrayBufferView(Float64Array, input);
/** @ignore */ const toUint8ClampedArray = (input) => toArrayBufferView(Uint8ClampedArray, input);
/** @ignore */
const pump = (iterator) => { iterator.next(); return iterator; };
/** @ignore */
function* toArrayBufferViewIterator(ArrayCtor, source) {
    const wrap = function* (x) { yield x; };
    const buffers = (typeof source === 'string') ? wrap(source)
        : (ArrayBuffer.isView(source)) ? wrap(source)
            : (source instanceof ArrayBuffer) ? wrap(source)
                : (source instanceof SharedArrayBuf) ? wrap(source)
                    : !isIterable(source) ? wrap(source) : source;
    yield* pump((function* (it) {
        let r = null;
        do {
            r = it.next(yield toArrayBufferView(ArrayCtor, r));
        } while (!r.done);
    })(buffers[Symbol.iterator]()));
    return new ArrayCtor();
}
/** @ignore */ const toInt8ArrayIterator = (input) => toArrayBufferViewIterator(Int8Array, input);
/** @ignore */ const toInt16ArrayIterator = (input) => toArrayBufferViewIterator(Int16Array, input);
/** @ignore */ const toInt32ArrayIterator = (input) => toArrayBufferViewIterator(Int32Array, input);
/** @ignore */ const toUint8ArrayIterator = (input) => toArrayBufferViewIterator(Uint8Array, input);
/** @ignore */ const toUint16ArrayIterator = (input) => toArrayBufferViewIterator(Uint16Array, input);
/** @ignore */ const toUint32ArrayIterator = (input) => toArrayBufferViewIterator(Uint32Array, input);
/** @ignore */ const toFloat32ArrayIterator = (input) => toArrayBufferViewIterator(Float32Array, input);
/** @ignore */ const toFloat64ArrayIterator = (input) => toArrayBufferViewIterator(Float64Array, input);
/** @ignore */ const toUint8ClampedArrayIterator = (input) => toArrayBufferViewIterator(Uint8ClampedArray, input);
/** @ignore */
async function* toArrayBufferViewAsyncIterator(ArrayCtor, source) {
    // if a Promise, unwrap the Promise and iterate the resolved value
    if (isPromise(source)) {
        return yield* toArrayBufferViewAsyncIterator(ArrayCtor, await source);
    }
    const wrap = async function* (x) { yield await x; };
    const emit = async function* (source) {
        yield* pump((function* (it) {
            let r = null;
            do {
                r = it.next(yield r && r.value);
            } while (!r.done);
        })(source[Symbol.iterator]()));
    };
    const buffers = (typeof source === 'string') ? wrap(source) // if string, wrap in an AsyncIterableIterator
        : (ArrayBuffer.isView(source)) ? wrap(source) // if TypedArray, wrap in an AsyncIterableIterator
            : (source instanceof ArrayBuffer) ? wrap(source) // if ArrayBuffer, wrap in an AsyncIterableIterator
                : (source instanceof SharedArrayBuf) ? wrap(source) // if SharedArrayBuffer, wrap in an AsyncIterableIterator
                    : isIterable(source) ? emit(source) // If Iterable, wrap in an AsyncIterableIterator and compose the `next` values
                        : !isAsyncIterable(source) ? wrap(source) // If not an AsyncIterable, treat as a sentinel and wrap in an AsyncIterableIterator
                            : source; // otherwise if AsyncIterable, use it
    yield* pump((async function* (it) {
        let r = null;
        do {
            r = await it.next(yield toArrayBufferView(ArrayCtor, r));
        } while (!r.done);
    })(buffers[Symbol.asyncIterator]()));
    return new ArrayCtor();
}
/** @ignore */ const toInt8ArrayAsyncIterator = (input) => toArrayBufferViewAsyncIterator(Int8Array, input);
/** @ignore */ const toInt16ArrayAsyncIterator = (input) => toArrayBufferViewAsyncIterator(Int16Array, input);
/** @ignore */ const toInt32ArrayAsyncIterator = (input) => toArrayBufferViewAsyncIterator(Int32Array, input);
/** @ignore */ const toUint8ArrayAsyncIterator = (input) => toArrayBufferViewAsyncIterator(Uint8Array, input);
/** @ignore */ const toUint16ArrayAsyncIterator = (input) => toArrayBufferViewAsyncIterator(Uint16Array, input);
/** @ignore */ const toUint32ArrayAsyncIterator = (input) => toArrayBufferViewAsyncIterator(Uint32Array, input);
/** @ignore */ const toFloat32ArrayAsyncIterator = (input) => toArrayBufferViewAsyncIterator(Float32Array, input);
/** @ignore */ const toFloat64ArrayAsyncIterator = (input) => toArrayBufferViewAsyncIterator(Float64Array, input);
/** @ignore */ const toUint8ClampedArrayAsyncIterator = (input) => toArrayBufferViewAsyncIterator(Uint8ClampedArray, input);
/** @ignore */
function rebaseValueOffsets(offset, length, valueOffsets) {
    // If we have a non-zero offset, create a new offsets array with the values
    // shifted by the start offset, such that the new start offset is 0
    if (offset !== 0) {
        valueOffsets = valueOffsets.slice(0, length + 1);
        for (let i = -1; ++i <= length;) {
            valueOffsets[i] += offset;
        }
    }
    return valueOffsets;
}
/** @ignore */
function compareArrayLike(a, b) {
    let i = 0, n = a.length;
    if (n !== b.length) {
        return false;
    }
    if (n > 0) {
        do {
            if (a[i] !== b[i]) {
                return false;
            }
        } while (++i < n);
    }
    return true;
}

//# sourceMappingURL=buffer.mjs.map

;// ../node_modules/apache-arrow/io/adapters.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.

/** @ignore */
/* harmony default export */ const adapters = ({
    fromIterable(source) {
        return adapters_pump(adapters_fromIterable(source));
    },
    fromAsyncIterable(source) {
        return adapters_pump(fromAsyncIterable(source));
    },
    fromDOMStream(source) {
        return adapters_pump(fromDOMStream(source));
    },
    fromNodeStream(stream) {
        return adapters_pump(fromNodeStream(stream));
    },
    // @ts-ignore
    toDOMStream(source, options) {
        throw new Error(`"toDOMStream" not available in this environment`);
    },
    // @ts-ignore
    toNodeStream(source, options) {
        throw new Error(`"toNodeStream" not available in this environment`);
    },
});
/** @ignore */
const adapters_pump = (iterator) => { iterator.next(); return iterator; };
/** @ignore */
function* adapters_fromIterable(source) {
    let done, threw = false;
    let buffers = [], buffer;
    let cmd, size, bufferLength = 0;
    function byteRange() {
        if (cmd === 'peek') {
            return joinUint8Arrays(buffers, size)[0];
        }
        [buffer, buffers, bufferLength] = joinUint8Arrays(buffers, size);
        return buffer;
    }
    // Yield so the caller can inject the read command before creating the source Iterator
    ({ cmd, size } = yield null);
    // initialize the iterator
    let it = toUint8ArrayIterator(source)[Symbol.iterator]();
    try {
        do {
            // read the next value
            ({ done, value: buffer } = isNaN(size - bufferLength) ?
                it.next(undefined) : it.next(size - bufferLength));
            // if chunk is not null or empty, push it onto the queue
            if (!done && buffer.byteLength > 0) {
                buffers.push(buffer);
                bufferLength += buffer.byteLength;
            }
            // If we have enough bytes in our buffer, yield chunks until we don't
            if (done || size <= bufferLength) {
                do {
                    ({ cmd, size } = yield byteRange());
                } while (size < bufferLength);
            }
        } while (!done);
    }
    catch (e) {
        (threw = true) && (typeof it.throw === 'function') && (it.throw(e));
    }
    finally {
        (threw === false) && (typeof it.return === 'function') && (it.return(null));
    }
    return null;
}
/** @ignore */
async function* fromAsyncIterable(source) {
    let done, threw = false;
    let buffers = [], buffer;
    let cmd, size, bufferLength = 0;
    function byteRange() {
        if (cmd === 'peek') {
            return joinUint8Arrays(buffers, size)[0];
        }
        [buffer, buffers, bufferLength] = joinUint8Arrays(buffers, size);
        return buffer;
    }
    // Yield so the caller can inject the read command before creating the source AsyncIterator
    ({ cmd, size } = (yield null));
    // initialize the iterator
    let it = toUint8ArrayAsyncIterator(source)[Symbol.asyncIterator]();
    try {
        do {
            // read the next value
            ({ done, value: buffer } = isNaN(size - bufferLength)
                ? await it.next(undefined)
                : await it.next(size - bufferLength));
            // if chunk is not null or empty, push it onto the queue
            if (!done && buffer.byteLength > 0) {
                buffers.push(buffer);
                bufferLength += buffer.byteLength;
            }
            // If we have enough bytes in our buffer, yield chunks until we don't
            if (done || size <= bufferLength) {
                do {
                    ({ cmd, size } = yield byteRange());
                } while (size < bufferLength);
            }
        } while (!done);
    }
    catch (e) {
        (threw = true) && (typeof it.throw === 'function') && (await it.throw(e));
    }
    finally {
        (threw === false) && (typeof it.return === 'function') && (await it.return(new Uint8Array(0)));
    }
    return null;
}
// All this manual Uint8Array chunk management can be avoided if/when engines
// add support for ArrayBuffer.transfer() or ArrayBuffer.prototype.realloc():
// https://github.com/domenic/proposal-arraybuffer-transfer
/** @ignore */
async function* fromDOMStream(source) {
    let done = false, threw = false;
    let buffers = [], buffer;
    let cmd, size, bufferLength = 0;
    function byteRange() {
        if (cmd === 'peek') {
            return joinUint8Arrays(buffers, size)[0];
        }
        [buffer, buffers, bufferLength] = joinUint8Arrays(buffers, size);
        return buffer;
    }
    // Yield so the caller can inject the read command before we establish the ReadableStream lock
    ({ cmd, size } = yield null);
    // initialize the reader and lock the stream
    let it = new AdaptiveByteReader(source);
    try {
        do {
            // read the next value
            ({ done, value: buffer } = isNaN(size - bufferLength)
                ? await it['read'](undefined)
                : await it['read'](size - bufferLength));
            // if chunk is not null or empty, push it onto the queue
            if (!done && buffer.byteLength > 0) {
                buffers.push(toUint8Array(buffer));
                bufferLength += buffer.byteLength;
            }
            // If we have enough bytes in our buffer, yield chunks until we don't
            if (done || size <= bufferLength) {
                do {
                    ({ cmd, size } = yield byteRange());
                } while (size < bufferLength);
            }
        } while (!done);
    }
    catch (e) {
        (threw = true) && (await it['cancel'](e));
    }
    finally {
        (threw === false) ? (await it['cancel']())
            : source['locked'] && it.releaseLock();
    }
    return null;
}
/** @ignore */
class AdaptiveByteReader {
    constructor(source) {
        this.source = source;
        this.byobReader = null;
        this.defaultReader = null;
        try {
            this.supportsBYOB = !!(this.reader = this.getBYOBReader());
        }
        catch (e) {
            this.supportsBYOB = !!!(this.reader = this.getDefaultReader());
        }
    }
    get closed() {
        return this.reader ? this.reader['closed'].catch(() => { }) : Promise.resolve();
    }
    releaseLock() {
        if (this.reader) {
            this.reader.releaseLock();
        }
        this.reader = this.byobReader = this.defaultReader = null;
    }
    async cancel(reason) {
        const { reader, source } = this;
        reader && (await reader['cancel'](reason).catch(() => { }));
        source && (source['locked'] && this.releaseLock());
    }
    async read(size) {
        if (size === 0) {
            return { done: this.reader == null, value: new Uint8Array(0) };
        }
        const result = !this.supportsBYOB || typeof size !== 'number'
            ? await this.getDefaultReader().read()
            : await this.readFromBYOBReader(size);
        !result.done && (result.value = toUint8Array(result));
        return result;
    }
    getDefaultReader() {
        if (this.byobReader) {
            this.releaseLock();
        }
        if (!this.defaultReader) {
            this.defaultReader = this.source['getReader']();
            // We have to catch and swallow errors here to avoid uncaught promise rejection exceptions
            // that seem to be raised when we call `releaseLock()` on this reader. I'm still mystified
            // about why these errors are raised, but I'm sure there's some important spec reason that
            // I haven't considered. I hate to employ such an anti-pattern here, but it seems like the
            // only solution in this case :/
            this.defaultReader['closed'].catch(() => { });
        }
        return (this.reader = this.defaultReader);
    }
    getBYOBReader() {
        if (this.defaultReader) {
            this.releaseLock();
        }
        if (!this.byobReader) {
            this.byobReader = this.source['getReader']({ mode: 'byob' });
            // We have to catch and swallow errors here to avoid uncaught promise rejection exceptions
            // that seem to be raised when we call `releaseLock()` on this reader. I'm still mystified
            // about why these errors are raised, but I'm sure there's some important spec reason that
            // I haven't considered. I hate to employ such an anti-pattern here, but it seems like the
            // only solution in this case :/
            this.byobReader['closed'].catch(() => { });
        }
        return (this.reader = this.byobReader);
    }
    // This strategy plucked from the example in the streams spec:
    // https://streams.spec.whatwg.org/#example-manual-read-bytes
    async readFromBYOBReader(size) {
        return await readInto(this.getBYOBReader(), new ArrayBuffer(size), 0, size);
    }
}
/** @ignore */
async function readInto(reader, buffer, offset, size) {
    if (offset >= size) {
        return { done: false, value: new Uint8Array(buffer, 0, size) };
    }
    const { done, value } = await reader.read(new Uint8Array(buffer, offset, size - offset));
    if (((offset += value.byteLength) < size) && !done) {
        return await readInto(reader, value.buffer, offset, size);
    }
    return { done, value: new Uint8Array(value.buffer, 0, offset) };
}
/** @ignore */
const onEvent = (stream, event) => {
    let handler = (_) => resolve([event, _]);
    let resolve;
    return [event, handler, new Promise((r) => (resolve = r) && stream['once'](event, handler))];
};
/** @ignore */
async function* fromNodeStream(stream) {
    let events = [];
    let event = 'error';
    let done = false, err = null;
    let cmd, size, bufferLength = 0;
    let buffers = [], buffer;
    function byteRange() {
        if (cmd === 'peek') {
            return joinUint8Arrays(buffers, size)[0];
        }
        [buffer, buffers, bufferLength] = joinUint8Arrays(buffers, size);
        return buffer;
    }
    // Yield so the caller can inject the read command before we
    // add the listener for the source stream's 'readable' event.
    ({ cmd, size } = yield null);
    // ignore stdin if it's a TTY
    if (stream['isTTY']) {
        yield new Uint8Array(0);
        return null;
    }
    try {
        // initialize the stream event handlers
        events[0] = onEvent(stream, 'end');
        events[1] = onEvent(stream, 'error');
        do {
            events[2] = onEvent(stream, 'readable');
            // wait on the first message event from the stream
            [event, err] = await Promise.race(events.map((x) => x[2]));
            // if the stream emitted an Error, rethrow it
            if (event === 'error') {
                break;
            }
            if (!(done = event === 'end')) {
                // If the size is NaN, request to read everything in the stream's internal buffer
                if (!isFinite(size - bufferLength)) {
                    buffer = toUint8Array(stream['read'](undefined));
                }
                else {
                    buffer = toUint8Array(stream['read'](size - bufferLength));
                    // If the byteLength is 0, then the requested amount is more than the stream has
                    // in its internal buffer. In this case the stream needs a "kick" to tell it to
                    // continue emitting readable events, so request to read everything the stream
                    // has in its internal buffer right now.
                    if (buffer.byteLength < (size - bufferLength)) {
                        buffer = toUint8Array(stream['read'](undefined));
                    }
                }
                // if chunk is not null or empty, push it onto the queue
                if (buffer.byteLength > 0) {
                    buffers.push(buffer);
                    bufferLength += buffer.byteLength;
                }
            }
            // If we have enough bytes in our buffer, yield chunks until we don't
            if (done || size <= bufferLength) {
                do {
                    ({ cmd, size } = yield byteRange());
                } while (size < bufferLength);
            }
        } while (!done);
    }
    finally {
        await cleanup(events, event === 'error' ? err : null);
    }
    return null;
    function cleanup(events, err) {
        buffer = buffers = null;
        return new Promise(async (resolve, reject) => {
            for (const [evt, fn] of events) {
                stream['off'](evt, fn);
            }
            try {
                // Some stream implementations don't call the destroy callback,
                // because it's really a node-internal API. Just calling `destroy`
                // here should be enough to conform to the ReadableStream contract
                const destroy = stream['destroy'];
                destroy && destroy.call(stream, err);
                err = undefined;
            }
            catch (e) {
                err = e || err;
            }
            finally {
                err != null ? reject(err) : resolve();
            }
        });
    }
}

//# sourceMappingURL=adapters.mjs.map

;// ../node_modules/apache-arrow/vector.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.
class AbstractVector {
}
AbstractVector.prototype.data = null;


//# sourceMappingURL=vector.mjs.map

;// ../node_modules/apache-arrow/fb/Schema.mjs
/* tslint:disable:class-name */
/**
 * @enum {number}
 */
var Schema_org;
(function (org) {
    var apache;
    (function (apache) {
        var arrow;
        (function (arrow) {
            var flatbuf;
            (function (flatbuf) {
                let MetadataVersion;
                (function (MetadataVersion) {
                    /**
                     * 0.1.0
                     */
                    MetadataVersion[MetadataVersion["V1"] = 0] = "V1";
                    /**
                     * 0.2.0
                     */
                    MetadataVersion[MetadataVersion["V2"] = 1] = "V2";
                    /**
                     * 0.3.0 -> 0.7.1
                     */
                    MetadataVersion[MetadataVersion["V3"] = 2] = "V3";
                    /**
                     * >= 0.8.0
                     */
                    MetadataVersion[MetadataVersion["V4"] = 3] = "V4";
                })(MetadataVersion = flatbuf.MetadataVersion || (flatbuf.MetadataVersion = {}));
            })(flatbuf = arrow.flatbuf || (arrow.flatbuf = {}));
        })(arrow = apache.arrow || (apache.arrow = {}));
    })(apache = org.apache || (org.apache = {}));
})(Schema_org || (Schema_org = {}));
/**
 * @enum {number}
 */
(function (org) {
    var apache;
    (function (apache) {
        var arrow;
        (function (arrow) {
            var flatbuf;
            (function (flatbuf) {
                let UnionMode;
                (function (UnionMode) {
                    UnionMode[UnionMode["Sparse"] = 0] = "Sparse";
                    UnionMode[UnionMode["Dense"] = 1] = "Dense";
                })(UnionMode = flatbuf.UnionMode || (flatbuf.UnionMode = {}));
            })(flatbuf = arrow.flatbuf || (arrow.flatbuf = {}));
        })(arrow = apache.arrow || (apache.arrow = {}));
    })(apache = org.apache || (org.apache = {}));
})(Schema_org || (Schema_org = {}));
/**
 * @enum {number}
 */
(function (org) {
    var apache;
    (function (apache) {
        var arrow;
        (function (arrow) {
            var flatbuf;
            (function (flatbuf) {
                let Precision;
                (function (Precision) {
                    Precision[Precision["HALF"] = 0] = "HALF";
                    Precision[Precision["SINGLE"] = 1] = "SINGLE";
                    Precision[Precision["DOUBLE"] = 2] = "DOUBLE";
                })(Precision = flatbuf.Precision || (flatbuf.Precision = {}));
            })(flatbuf = arrow.flatbuf || (arrow.flatbuf = {}));
        })(arrow = apache.arrow || (apache.arrow = {}));
    })(apache = org.apache || (org.apache = {}));
})(Schema_org || (Schema_org = {}));
/**
 * @enum {number}
 */
(function (org) {
    var apache;
    (function (apache) {
        var arrow;
        (function (arrow) {
            var flatbuf;
            (function (flatbuf) {
                let DateUnit;
                (function (DateUnit) {
                    DateUnit[DateUnit["DAY"] = 0] = "DAY";
                    DateUnit[DateUnit["MILLISECOND"] = 1] = "MILLISECOND";
                })(DateUnit = flatbuf.DateUnit || (flatbuf.DateUnit = {}));
            })(flatbuf = arrow.flatbuf || (arrow.flatbuf = {}));
        })(arrow = apache.arrow || (apache.arrow = {}));
    })(apache = org.apache || (org.apache = {}));
})(Schema_org || (Schema_org = {}));
/**
 * @enum {number}
 */
(function (org) {
    var apache;
    (function (apache) {
        var arrow;
        (function (arrow) {
            var flatbuf;
            (function (flatbuf) {
                let TimeUnit;
                (function (TimeUnit) {
                    TimeUnit[TimeUnit["SECOND"] = 0] = "SECOND";
                    TimeUnit[TimeUnit["MILLISECOND"] = 1] = "MILLISECOND";
                    TimeUnit[TimeUnit["MICROSECOND"] = 2] = "MICROSECOND";
                    TimeUnit[TimeUnit["NANOSECOND"] = 3] = "NANOSECOND";
                })(TimeUnit = flatbuf.TimeUnit || (flatbuf.TimeUnit = {}));
            })(flatbuf = arrow.flatbuf || (arrow.flatbuf = {}));
        })(arrow = apache.arrow || (apache.arrow = {}));
    })(apache = org.apache || (org.apache = {}));
})(Schema_org || (Schema_org = {}));
/**
 * @enum {number}
 */
(function (org) {
    var apache;
    (function (apache) {
        var arrow;
        (function (arrow) {
            var flatbuf;
            (function (flatbuf) {
                let IntervalUnit;
                (function (IntervalUnit) {
                    IntervalUnit[IntervalUnit["YEAR_MONTH"] = 0] = "YEAR_MONTH";
                    IntervalUnit[IntervalUnit["DAY_TIME"] = 1] = "DAY_TIME";
                })(IntervalUnit = flatbuf.IntervalUnit || (flatbuf.IntervalUnit = {}));
            })(flatbuf = arrow.flatbuf || (arrow.flatbuf = {}));
        })(arrow = apache.arrow || (apache.arrow = {}));
    })(apache = org.apache || (org.apache = {}));
})(Schema_org || (Schema_org = {}));
/**
 * ----------------------------------------------------------------------
 * Top-level Type value, enabling extensible type-specific metadata. We can
 * add new logical types to Type without breaking backwards compatibility
 *
 * @enum {number}
 */
(function (org) {
    var apache;
    (function (apache) {
        var arrow;
        (function (arrow) {
            var flatbuf;
            (function (flatbuf) {
                let Type;
                (function (Type) {
                    Type[Type["NONE"] = 0] = "NONE";
                    Type[Type["Null"] = 1] = "Null";
                    Type[Type["Int"] = 2] = "Int";
                    Type[Type["FloatingPoint"] = 3] = "FloatingPoint";
                    Type[Type["Binary"] = 4] = "Binary";
                    Type[Type["Utf8"] = 5] = "Utf8";
                    Type[Type["Bool"] = 6] = "Bool";
                    Type[Type["Decimal"] = 7] = "Decimal";
                    Type[Type["Date"] = 8] = "Date";
                    Type[Type["Time"] = 9] = "Time";
                    Type[Type["Timestamp"] = 10] = "Timestamp";
                    Type[Type["Interval"] = 11] = "Interval";
                    Type[Type["List"] = 12] = "List";
                    Type[Type["Struct_"] = 13] = "Struct_";
                    Type[Type["Union"] = 14] = "Union";
                    Type[Type["FixedSizeBinary"] = 15] = "FixedSizeBinary";
                    Type[Type["FixedSizeList"] = 16] = "FixedSizeList";
                    Type[Type["Map"] = 17] = "Map";
                    Type[Type["Duration"] = 18] = "Duration";
                    Type[Type["LargeBinary"] = 19] = "LargeBinary";
                    Type[Type["LargeUtf8"] = 20] = "LargeUtf8";
                    Type[Type["LargeList"] = 21] = "LargeList";
                })(Type = flatbuf.Type || (flatbuf.Type = {}));
            })(flatbuf = arrow.flatbuf || (arrow.flatbuf = {}));
        })(arrow = apache.arrow || (apache.arrow = {}));
    })(apache = org.apache || (org.apache = {}));
})(Schema_org || (Schema_org = {}));
/**
 * ----------------------------------------------------------------------
 * Endianness of the platform producing the data
 *
 * @enum {number}
 */
(function (org) {
    var apache;
    (function (apache) {
        var arrow;
        (function (arrow) {
            var flatbuf;
            (function (flatbuf) {
                let Endianness;
                (function (Endianness) {
                    Endianness[Endianness["Little"] = 0] = "Little";
                    Endianness[Endianness["Big"] = 1] = "Big";
                })(Endianness = flatbuf.Endianness || (flatbuf.Endianness = {}));
            })(flatbuf = arrow.flatbuf || (arrow.flatbuf = {}));
        })(arrow = apache.arrow || (apache.arrow = {}));
    })(apache = org.apache || (org.apache = {}));
})(Schema_org || (Schema_org = {}));
/**
 * These are stored in the flatbuffer in the Type union below
 *
 * @constructor
 */
(function (org) {
    var apache;
    (function (apache) {
        var arrow;
        (function (arrow) {
            var flatbuf;
            (function (flatbuf) {
                class Null {
                    constructor() {
                        this.bb = null;
                        this.bb_pos = 0;
                    }
                    /**
                     * @param number i
                     * @param flatbuffers.ByteBuffer bb
                     * @returns Null
                     */
                    __init(i, bb) {
                        this.bb_pos = i;
                        this.bb = bb;
                        return this;
                    }
                    /**
                     * @param flatbuffers.ByteBuffer bb
                     * @param Null= obj
                     * @returns Null
                     */
                    static getRootAsNull(bb, obj) {
                        return (obj || new Null).__init(bb.readInt32(bb.position()) + bb.position(), bb);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     */
                    static startNull(builder) {
                        builder.startObject(0);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @returns flatbuffers.Offset
                     */
                    static endNull(builder) {
                        let offset = builder.endObject();
                        return offset;
                    }
                    static createNull(builder) {
                        Null.startNull(builder);
                        return Null.endNull(builder);
                    }
                }
                flatbuf.Null = Null;
            })(flatbuf = arrow.flatbuf || (arrow.flatbuf = {}));
        })(arrow = apache.arrow || (apache.arrow = {}));
    })(apache = org.apache || (org.apache = {}));
})(Schema_org || (Schema_org = {}));
/**
 * A Struct_ in the flatbuffer metadata is the same as an Arrow Struct
 * (according to the physical memory layout). We used Struct_ here as
 * Struct is a reserved word in Flatbuffers
 *
 * @constructor
 */
(function (org) {
    var apache;
    (function (apache) {
        var arrow;
        (function (arrow) {
            var flatbuf;
            (function (flatbuf) {
                class Struct_ {
                    constructor() {
                        this.bb = null;
                        this.bb_pos = 0;
                    }
                    /**
                     * @param number i
                     * @param flatbuffers.ByteBuffer bb
                     * @returns Struct_
                     */
                    __init(i, bb) {
                        this.bb_pos = i;
                        this.bb = bb;
                        return this;
                    }
                    /**
                     * @param flatbuffers.ByteBuffer bb
                     * @param Struct_= obj
                     * @returns Struct_
                     */
                    static getRootAsStruct_(bb, obj) {
                        return (obj || new Struct_).__init(bb.readInt32(bb.position()) + bb.position(), bb);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     */
                    static startStruct_(builder) {
                        builder.startObject(0);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @returns flatbuffers.Offset
                     */
                    static endStruct_(builder) {
                        let offset = builder.endObject();
                        return offset;
                    }
                    static createStruct_(builder) {
                        Struct_.startStruct_(builder);
                        return Struct_.endStruct_(builder);
                    }
                }
                flatbuf.Struct_ = Struct_;
            })(flatbuf = arrow.flatbuf || (arrow.flatbuf = {}));
        })(arrow = apache.arrow || (apache.arrow = {}));
    })(apache = org.apache || (org.apache = {}));
})(Schema_org || (Schema_org = {}));
/**
 * @constructor
 */
(function (org) {
    var apache;
    (function (apache) {
        var arrow;
        (function (arrow) {
            var flatbuf;
            (function (flatbuf) {
                class List {
                    constructor() {
                        this.bb = null;
                        this.bb_pos = 0;
                    }
                    /**
                     * @param number i
                     * @param flatbuffers.ByteBuffer bb
                     * @returns List
                     */
                    __init(i, bb) {
                        this.bb_pos = i;
                        this.bb = bb;
                        return this;
                    }
                    /**
                     * @param flatbuffers.ByteBuffer bb
                     * @param List= obj
                     * @returns List
                     */
                    static getRootAsList(bb, obj) {
                        return (obj || new List).__init(bb.readInt32(bb.position()) + bb.position(), bb);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     */
                    static startList(builder) {
                        builder.startObject(0);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @returns flatbuffers.Offset
                     */
                    static endList(builder) {
                        let offset = builder.endObject();
                        return offset;
                    }
                    static createList(builder) {
                        List.startList(builder);
                        return List.endList(builder);
                    }
                }
                flatbuf.List = List;
            })(flatbuf = arrow.flatbuf || (arrow.flatbuf = {}));
        })(arrow = apache.arrow || (apache.arrow = {}));
    })(apache = org.apache || (org.apache = {}));
})(Schema_org || (Schema_org = {}));
/**
 * Same as List, but with 64-bit offsets, allowing to represent
 * extremely large data values.
 *
 * @constructor
 */
(function (org) {
    var apache;
    (function (apache) {
        var arrow;
        (function (arrow) {
            var flatbuf;
            (function (flatbuf) {
                class LargeList {
                    constructor() {
                        this.bb = null;
                        this.bb_pos = 0;
                    }
                    /**
                     * @param number i
                     * @param flatbuffers.ByteBuffer bb
                     * @returns LargeList
                     */
                    __init(i, bb) {
                        this.bb_pos = i;
                        this.bb = bb;
                        return this;
                    }
                    /**
                     * @param flatbuffers.ByteBuffer bb
                     * @param LargeList= obj
                     * @returns LargeList
                     */
                    static getRootAsLargeList(bb, obj) {
                        return (obj || new LargeList).__init(bb.readInt32(bb.position()) + bb.position(), bb);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     */
                    static startLargeList(builder) {
                        builder.startObject(0);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @returns flatbuffers.Offset
                     */
                    static endLargeList(builder) {
                        let offset = builder.endObject();
                        return offset;
                    }
                    static createLargeList(builder) {
                        LargeList.startLargeList(builder);
                        return LargeList.endLargeList(builder);
                    }
                }
                flatbuf.LargeList = LargeList;
            })(flatbuf = arrow.flatbuf || (arrow.flatbuf = {}));
        })(arrow = apache.arrow || (apache.arrow = {}));
    })(apache = org.apache || (org.apache = {}));
})(Schema_org || (Schema_org = {}));
/**
 * @constructor
 */
(function (org) {
    var apache;
    (function (apache) {
        var arrow;
        (function (arrow) {
            var flatbuf;
            (function (flatbuf) {
                class FixedSizeList {
                    constructor() {
                        this.bb = null;
                        this.bb_pos = 0;
                    }
                    /**
                     * @param number i
                     * @param flatbuffers.ByteBuffer bb
                     * @returns FixedSizeList
                     */
                    __init(i, bb) {
                        this.bb_pos = i;
                        this.bb = bb;
                        return this;
                    }
                    /**
                     * @param flatbuffers.ByteBuffer bb
                     * @param FixedSizeList= obj
                     * @returns FixedSizeList
                     */
                    static getRootAsFixedSizeList(bb, obj) {
                        return (obj || new FixedSizeList).__init(bb.readInt32(bb.position()) + bb.position(), bb);
                    }
                    /**
                     * Number of list items per value
                     *
                     * @returns number
                     */
                    listSize() {
                        let offset = this.bb.__offset(this.bb_pos, 4);
                        return offset ? this.bb.readInt32(this.bb_pos + offset) : 0;
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     */
                    static startFixedSizeList(builder) {
                        builder.startObject(1);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param number listSize
                     */
                    static addListSize(builder, listSize) {
                        builder.addFieldInt32(0, listSize, 0);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @returns flatbuffers.Offset
                     */
                    static endFixedSizeList(builder) {
                        let offset = builder.endObject();
                        return offset;
                    }
                    static createFixedSizeList(builder, listSize) {
                        FixedSizeList.startFixedSizeList(builder);
                        FixedSizeList.addListSize(builder, listSize);
                        return FixedSizeList.endFixedSizeList(builder);
                    }
                }
                flatbuf.FixedSizeList = FixedSizeList;
            })(flatbuf = arrow.flatbuf || (arrow.flatbuf = {}));
        })(arrow = apache.arrow || (apache.arrow = {}));
    })(apache = org.apache || (org.apache = {}));
})(Schema_org || (Schema_org = {}));
/**
 * A Map is a logical nested type that is represented as
 *
 * List<entry: Struct<key: K, value: V>>
 *
 * In this layout, the keys and values are each respectively contiguous. We do
 * not constrain the key and value types, so the application is responsible
 * for ensuring that the keys are hashable and unique. Whether the keys are sorted
 * may be set in the metadata for this field
 *
 * In a Field with Map type, the Field has a child Struct field, which then
 * has two children: key type and the second the value type. The names of the
 * child fields may be respectively "entry", "key", and "value", but this is
 * not enforced
 *
 * Map
 *   - child[0] entry: Struct
 *     - child[0] key: K
 *     - child[1] value: V
 *
 * Neither the "entry" field nor the "key" field may be nullable.
 *
 * The metadata is structured so that Arrow systems without special handling
 * for Map can make Map an alias for List. The "layout" attribute for the Map
 * field must have the same contents as a List.
 *
 * @constructor
 */
(function (org) {
    var apache;
    (function (apache) {
        var arrow;
        (function (arrow) {
            var flatbuf;
            (function (flatbuf) {
                class Map {
                    constructor() {
                        this.bb = null;
                        this.bb_pos = 0;
                    }
                    /**
                     * @param number i
                     * @param flatbuffers.ByteBuffer bb
                     * @returns Map
                     */
                    __init(i, bb) {
                        this.bb_pos = i;
                        this.bb = bb;
                        return this;
                    }
                    /**
                     * @param flatbuffers.ByteBuffer bb
                     * @param Map= obj
                     * @returns Map
                     */
                    static getRootAsMap(bb, obj) {
                        return (obj || new Map).__init(bb.readInt32(bb.position()) + bb.position(), bb);
                    }
                    /**
                     * Set to true if the keys within each value are sorted
                     *
                     * @returns boolean
                     */
                    keysSorted() {
                        let offset = this.bb.__offset(this.bb_pos, 4);
                        return offset ? !!this.bb.readInt8(this.bb_pos + offset) : false;
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     */
                    static startMap(builder) {
                        builder.startObject(1);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param boolean keysSorted
                     */
                    static addKeysSorted(builder, keysSorted) {
                        builder.addFieldInt8(0, +keysSorted, +false);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @returns flatbuffers.Offset
                     */
                    static endMap(builder) {
                        let offset = builder.endObject();
                        return offset;
                    }
                    static createMap(builder, keysSorted) {
                        Map.startMap(builder);
                        Map.addKeysSorted(builder, keysSorted);
                        return Map.endMap(builder);
                    }
                }
                flatbuf.Map = Map;
            })(flatbuf = arrow.flatbuf || (arrow.flatbuf = {}));
        })(arrow = apache.arrow || (apache.arrow = {}));
    })(apache = org.apache || (org.apache = {}));
})(Schema_org || (Schema_org = {}));
/**
 * A union is a complex type with children in Field
 * By default ids in the type vector refer to the offsets in the children
 * optionally typeIds provides an indirection between the child offset and the type id
 * for each child typeIds[offset] is the id used in the type vector
 *
 * @constructor
 */
(function (org) {
    var apache;
    (function (apache) {
        var arrow;
        (function (arrow) {
            var flatbuf;
            (function (flatbuf) {
                class Union {
                    constructor() {
                        this.bb = null;
                        this.bb_pos = 0;
                    }
                    /**
                     * @param number i
                     * @param flatbuffers.ByteBuffer bb
                     * @returns Union
                     */
                    __init(i, bb) {
                        this.bb_pos = i;
                        this.bb = bb;
                        return this;
                    }
                    /**
                     * @param flatbuffers.ByteBuffer bb
                     * @param Union= obj
                     * @returns Union
                     */
                    static getRootAsUnion(bb, obj) {
                        return (obj || new Union).__init(bb.readInt32(bb.position()) + bb.position(), bb);
                    }
                    /**
                     * @returns org.apache.arrow.flatbuf.UnionMode
                     */
                    mode() {
                        let offset = this.bb.__offset(this.bb_pos, 4);
                        return offset ? /**  */ (this.bb.readInt16(this.bb_pos + offset)) : org.apache.arrow.flatbuf.UnionMode.Sparse;
                    }
                    /**
                     * @param number index
                     * @returns number
                     */
                    typeIds(index) {
                        let offset = this.bb.__offset(this.bb_pos, 6);
                        return offset ? this.bb.readInt32(this.bb.__vector(this.bb_pos + offset) + index * 4) : 0;
                    }
                    /**
                     * @returns number
                     */
                    typeIdsLength() {
                        let offset = this.bb.__offset(this.bb_pos, 6);
                        return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0;
                    }
                    /**
                     * @returns Int32Array
                     */
                    typeIdsArray() {
                        let offset = this.bb.__offset(this.bb_pos, 6);
                        return offset ? new Int32Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), this.bb.__vector_len(this.bb_pos + offset)) : null;
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     */
                    static startUnion(builder) {
                        builder.startObject(2);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param org.apache.arrow.flatbuf.UnionMode mode
                     */
                    static addMode(builder, mode) {
                        builder.addFieldInt16(0, mode, org.apache.arrow.flatbuf.UnionMode.Sparse);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param flatbuffers.Offset typeIdsOffset
                     */
                    static addTypeIds(builder, typeIdsOffset) {
                        builder.addFieldOffset(1, typeIdsOffset, 0);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param Array.<number> data
                     * @returns flatbuffers.Offset
                     */
                    static createTypeIdsVector(builder, data) {
                        builder.startVector(4, data.length, 4);
                        for (let i = data.length - 1; i >= 0; i--) {
                            builder.addInt32(data[i]);
                        }
                        return builder.endVector();
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param number numElems
                     */
                    static startTypeIdsVector(builder, numElems) {
                        builder.startVector(4, numElems, 4);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @returns flatbuffers.Offset
                     */
                    static endUnion(builder) {
                        let offset = builder.endObject();
                        return offset;
                    }
                    static createUnion(builder, mode, typeIdsOffset) {
                        Union.startUnion(builder);
                        Union.addMode(builder, mode);
                        Union.addTypeIds(builder, typeIdsOffset);
                        return Union.endUnion(builder);
                    }
                }
                flatbuf.Union = Union;
            })(flatbuf = arrow.flatbuf || (arrow.flatbuf = {}));
        })(arrow = apache.arrow || (apache.arrow = {}));
    })(apache = org.apache || (org.apache = {}));
})(Schema_org || (Schema_org = {}));
/**
 * @constructor
 */
(function (org) {
    var apache;
    (function (apache) {
        var arrow;
        (function (arrow) {
            var flatbuf;
            (function (flatbuf) {
                class Int {
                    constructor() {
                        this.bb = null;
                        this.bb_pos = 0;
                    }
                    /**
                     * @param number i
                     * @param flatbuffers.ByteBuffer bb
                     * @returns Int
                     */
                    __init(i, bb) {
                        this.bb_pos = i;
                        this.bb = bb;
                        return this;
                    }
                    /**
                     * @param flatbuffers.ByteBuffer bb
                     * @param Int= obj
                     * @returns Int
                     */
                    static getRootAsInt(bb, obj) {
                        return (obj || new Int).__init(bb.readInt32(bb.position()) + bb.position(), bb);
                    }
                    /**
                     * @returns number
                     */
                    bitWidth() {
                        let offset = this.bb.__offset(this.bb_pos, 4);
                        return offset ? this.bb.readInt32(this.bb_pos + offset) : 0;
                    }
                    /**
                     * @returns boolean
                     */
                    isSigned() {
                        let offset = this.bb.__offset(this.bb_pos, 6);
                        return offset ? !!this.bb.readInt8(this.bb_pos + offset) : false;
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     */
                    static startInt(builder) {
                        builder.startObject(2);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param number bitWidth
                     */
                    static addBitWidth(builder, bitWidth) {
                        builder.addFieldInt32(0, bitWidth, 0);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param boolean isSigned
                     */
                    static addIsSigned(builder, isSigned) {
                        builder.addFieldInt8(1, +isSigned, +false);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @returns flatbuffers.Offset
                     */
                    static endInt(builder) {
                        let offset = builder.endObject();
                        return offset;
                    }
                    static createInt(builder, bitWidth, isSigned) {
                        Int.startInt(builder);
                        Int.addBitWidth(builder, bitWidth);
                        Int.addIsSigned(builder, isSigned);
                        return Int.endInt(builder);
                    }
                }
                flatbuf.Int = Int;
            })(flatbuf = arrow.flatbuf || (arrow.flatbuf = {}));
        })(arrow = apache.arrow || (apache.arrow = {}));
    })(apache = org.apache || (org.apache = {}));
})(Schema_org || (Schema_org = {}));
/**
 * @constructor
 */
(function (org) {
    var apache;
    (function (apache) {
        var arrow;
        (function (arrow) {
            var flatbuf;
            (function (flatbuf) {
                class FloatingPoint {
                    constructor() {
                        this.bb = null;
                        this.bb_pos = 0;
                    }
                    /**
                     * @param number i
                     * @param flatbuffers.ByteBuffer bb
                     * @returns FloatingPoint
                     */
                    __init(i, bb) {
                        this.bb_pos = i;
                        this.bb = bb;
                        return this;
                    }
                    /**
                     * @param flatbuffers.ByteBuffer bb
                     * @param FloatingPoint= obj
                     * @returns FloatingPoint
                     */
                    static getRootAsFloatingPoint(bb, obj) {
                        return (obj || new FloatingPoint).__init(bb.readInt32(bb.position()) + bb.position(), bb);
                    }
                    /**
                     * @returns org.apache.arrow.flatbuf.Precision
                     */
                    precision() {
                        let offset = this.bb.__offset(this.bb_pos, 4);
                        return offset ? /**  */ (this.bb.readInt16(this.bb_pos + offset)) : org.apache.arrow.flatbuf.Precision.HALF;
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     */
                    static startFloatingPoint(builder) {
                        builder.startObject(1);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param org.apache.arrow.flatbuf.Precision precision
                     */
                    static addPrecision(builder, precision) {
                        builder.addFieldInt16(0, precision, org.apache.arrow.flatbuf.Precision.HALF);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @returns flatbuffers.Offset
                     */
                    static endFloatingPoint(builder) {
                        let offset = builder.endObject();
                        return offset;
                    }
                    static createFloatingPoint(builder, precision) {
                        FloatingPoint.startFloatingPoint(builder);
                        FloatingPoint.addPrecision(builder, precision);
                        return FloatingPoint.endFloatingPoint(builder);
                    }
                }
                flatbuf.FloatingPoint = FloatingPoint;
            })(flatbuf = arrow.flatbuf || (arrow.flatbuf = {}));
        })(arrow = apache.arrow || (apache.arrow = {}));
    })(apache = org.apache || (org.apache = {}));
})(Schema_org || (Schema_org = {}));
/**
 * Unicode with UTF-8 encoding
 *
 * @constructor
 */
(function (org) {
    var apache;
    (function (apache) {
        var arrow;
        (function (arrow) {
            var flatbuf;
            (function (flatbuf) {
                class Utf8 {
                    constructor() {
                        this.bb = null;
                        this.bb_pos = 0;
                    }
                    /**
                     * @param number i
                     * @param flatbuffers.ByteBuffer bb
                     * @returns Utf8
                     */
                    __init(i, bb) {
                        this.bb_pos = i;
                        this.bb = bb;
                        return this;
                    }
                    /**
                     * @param flatbuffers.ByteBuffer bb
                     * @param Utf8= obj
                     * @returns Utf8
                     */
                    static getRootAsUtf8(bb, obj) {
                        return (obj || new Utf8).__init(bb.readInt32(bb.position()) + bb.position(), bb);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     */
                    static startUtf8(builder) {
                        builder.startObject(0);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @returns flatbuffers.Offset
                     */
                    static endUtf8(builder) {
                        let offset = builder.endObject();
                        return offset;
                    }
                    static createUtf8(builder) {
                        Utf8.startUtf8(builder);
                        return Utf8.endUtf8(builder);
                    }
                }
                flatbuf.Utf8 = Utf8;
            })(flatbuf = arrow.flatbuf || (arrow.flatbuf = {}));
        })(arrow = apache.arrow || (apache.arrow = {}));
    })(apache = org.apache || (org.apache = {}));
})(Schema_org || (Schema_org = {}));
/**
 * Opaque binary data
 *
 * @constructor
 */
(function (org) {
    var apache;
    (function (apache) {
        var arrow;
        (function (arrow) {
            var flatbuf;
            (function (flatbuf) {
                class Binary {
                    constructor() {
                        this.bb = null;
                        this.bb_pos = 0;
                    }
                    /**
                     * @param number i
                     * @param flatbuffers.ByteBuffer bb
                     * @returns Binary
                     */
                    __init(i, bb) {
                        this.bb_pos = i;
                        this.bb = bb;
                        return this;
                    }
                    /**
                     * @param flatbuffers.ByteBuffer bb
                     * @param Binary= obj
                     * @returns Binary
                     */
                    static getRootAsBinary(bb, obj) {
                        return (obj || new Binary).__init(bb.readInt32(bb.position()) + bb.position(), bb);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     */
                    static startBinary(builder) {
                        builder.startObject(0);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @returns flatbuffers.Offset
                     */
                    static endBinary(builder) {
                        let offset = builder.endObject();
                        return offset;
                    }
                    static createBinary(builder) {
                        Binary.startBinary(builder);
                        return Binary.endBinary(builder);
                    }
                }
                flatbuf.Binary = Binary;
            })(flatbuf = arrow.flatbuf || (arrow.flatbuf = {}));
        })(arrow = apache.arrow || (apache.arrow = {}));
    })(apache = org.apache || (org.apache = {}));
})(Schema_org || (Schema_org = {}));
/**
 * Same as Utf8, but with 64-bit offsets, allowing to represent
 * extremely large data values.
 *
 * @constructor
 */
(function (org) {
    var apache;
    (function (apache) {
        var arrow;
        (function (arrow) {
            var flatbuf;
            (function (flatbuf) {
                class LargeUtf8 {
                    constructor() {
                        this.bb = null;
                        this.bb_pos = 0;
                    }
                    /**
                     * @param number i
                     * @param flatbuffers.ByteBuffer bb
                     * @returns LargeUtf8
                     */
                    __init(i, bb) {
                        this.bb_pos = i;
                        this.bb = bb;
                        return this;
                    }
                    /**
                     * @param flatbuffers.ByteBuffer bb
                     * @param LargeUtf8= obj
                     * @returns LargeUtf8
                     */
                    static getRootAsLargeUtf8(bb, obj) {
                        return (obj || new LargeUtf8).__init(bb.readInt32(bb.position()) + bb.position(), bb);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     */
                    static startLargeUtf8(builder) {
                        builder.startObject(0);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @returns flatbuffers.Offset
                     */
                    static endLargeUtf8(builder) {
                        let offset = builder.endObject();
                        return offset;
                    }
                    static createLargeUtf8(builder) {
                        LargeUtf8.startLargeUtf8(builder);
                        return LargeUtf8.endLargeUtf8(builder);
                    }
                }
                flatbuf.LargeUtf8 = LargeUtf8;
            })(flatbuf = arrow.flatbuf || (arrow.flatbuf = {}));
        })(arrow = apache.arrow || (apache.arrow = {}));
    })(apache = org.apache || (org.apache = {}));
})(Schema_org || (Schema_org = {}));
/**
 * Same as Binary, but with 64-bit offsets, allowing to represent
 * extremely large data values.
 *
 * @constructor
 */
(function (org) {
    var apache;
    (function (apache) {
        var arrow;
        (function (arrow) {
            var flatbuf;
            (function (flatbuf) {
                class LargeBinary {
                    constructor() {
                        this.bb = null;
                        this.bb_pos = 0;
                    }
                    /**
                     * @param number i
                     * @param flatbuffers.ByteBuffer bb
                     * @returns LargeBinary
                     */
                    __init(i, bb) {
                        this.bb_pos = i;
                        this.bb = bb;
                        return this;
                    }
                    /**
                     * @param flatbuffers.ByteBuffer bb
                     * @param LargeBinary= obj
                     * @returns LargeBinary
                     */
                    static getRootAsLargeBinary(bb, obj) {
                        return (obj || new LargeBinary).__init(bb.readInt32(bb.position()) + bb.position(), bb);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     */
                    static startLargeBinary(builder) {
                        builder.startObject(0);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @returns flatbuffers.Offset
                     */
                    static endLargeBinary(builder) {
                        let offset = builder.endObject();
                        return offset;
                    }
                    static createLargeBinary(builder) {
                        LargeBinary.startLargeBinary(builder);
                        return LargeBinary.endLargeBinary(builder);
                    }
                }
                flatbuf.LargeBinary = LargeBinary;
            })(flatbuf = arrow.flatbuf || (arrow.flatbuf = {}));
        })(arrow = apache.arrow || (apache.arrow = {}));
    })(apache = org.apache || (org.apache = {}));
})(Schema_org || (Schema_org = {}));
/**
 * @constructor
 */
(function (org) {
    var apache;
    (function (apache) {
        var arrow;
        (function (arrow) {
            var flatbuf;
            (function (flatbuf) {
                class FixedSizeBinary {
                    constructor() {
                        this.bb = null;
                        this.bb_pos = 0;
                    }
                    /**
                     * @param number i
                     * @param flatbuffers.ByteBuffer bb
                     * @returns FixedSizeBinary
                     */
                    __init(i, bb) {
                        this.bb_pos = i;
                        this.bb = bb;
                        return this;
                    }
                    /**
                     * @param flatbuffers.ByteBuffer bb
                     * @param FixedSizeBinary= obj
                     * @returns FixedSizeBinary
                     */
                    static getRootAsFixedSizeBinary(bb, obj) {
                        return (obj || new FixedSizeBinary).__init(bb.readInt32(bb.position()) + bb.position(), bb);
                    }
                    /**
                     * Number of bytes per value
                     *
                     * @returns number
                     */
                    byteWidth() {
                        let offset = this.bb.__offset(this.bb_pos, 4);
                        return offset ? this.bb.readInt32(this.bb_pos + offset) : 0;
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     */
                    static startFixedSizeBinary(builder) {
                        builder.startObject(1);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param number byteWidth
                     */
                    static addByteWidth(builder, byteWidth) {
                        builder.addFieldInt32(0, byteWidth, 0);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @returns flatbuffers.Offset
                     */
                    static endFixedSizeBinary(builder) {
                        let offset = builder.endObject();
                        return offset;
                    }
                    static createFixedSizeBinary(builder, byteWidth) {
                        FixedSizeBinary.startFixedSizeBinary(builder);
                        FixedSizeBinary.addByteWidth(builder, byteWidth);
                        return FixedSizeBinary.endFixedSizeBinary(builder);
                    }
                }
                flatbuf.FixedSizeBinary = FixedSizeBinary;
            })(flatbuf = arrow.flatbuf || (arrow.flatbuf = {}));
        })(arrow = apache.arrow || (apache.arrow = {}));
    })(apache = org.apache || (org.apache = {}));
})(Schema_org || (Schema_org = {}));
/**
 * @constructor
 */
(function (org) {
    var apache;
    (function (apache) {
        var arrow;
        (function (arrow) {
            var flatbuf;
            (function (flatbuf) {
                class Bool {
                    constructor() {
                        this.bb = null;
                        this.bb_pos = 0;
                    }
                    /**
                     * @param number i
                     * @param flatbuffers.ByteBuffer bb
                     * @returns Bool
                     */
                    __init(i, bb) {
                        this.bb_pos = i;
                        this.bb = bb;
                        return this;
                    }
                    /**
                     * @param flatbuffers.ByteBuffer bb
                     * @param Bool= obj
                     * @returns Bool
                     */
                    static getRootAsBool(bb, obj) {
                        return (obj || new Bool).__init(bb.readInt32(bb.position()) + bb.position(), bb);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     */
                    static startBool(builder) {
                        builder.startObject(0);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @returns flatbuffers.Offset
                     */
                    static endBool(builder) {
                        let offset = builder.endObject();
                        return offset;
                    }
                    static createBool(builder) {
                        Bool.startBool(builder);
                        return Bool.endBool(builder);
                    }
                }
                flatbuf.Bool = Bool;
            })(flatbuf = arrow.flatbuf || (arrow.flatbuf = {}));
        })(arrow = apache.arrow || (apache.arrow = {}));
    })(apache = org.apache || (org.apache = {}));
})(Schema_org || (Schema_org = {}));
/**
 * @constructor
 */
(function (org) {
    var apache;
    (function (apache) {
        var arrow;
        (function (arrow) {
            var flatbuf;
            (function (flatbuf) {
                class Decimal {
                    constructor() {
                        this.bb = null;
                        this.bb_pos = 0;
                    }
                    /**
                     * @param number i
                     * @param flatbuffers.ByteBuffer bb
                     * @returns Decimal
                     */
                    __init(i, bb) {
                        this.bb_pos = i;
                        this.bb = bb;
                        return this;
                    }
                    /**
                     * @param flatbuffers.ByteBuffer bb
                     * @param Decimal= obj
                     * @returns Decimal
                     */
                    static getRootAsDecimal(bb, obj) {
                        return (obj || new Decimal).__init(bb.readInt32(bb.position()) + bb.position(), bb);
                    }
                    /**
                     * Total number of decimal digits
                     *
                     * @returns number
                     */
                    precision() {
                        let offset = this.bb.__offset(this.bb_pos, 4);
                        return offset ? this.bb.readInt32(this.bb_pos + offset) : 0;
                    }
                    /**
                     * Number of digits after the decimal point "."
                     *
                     * @returns number
                     */
                    scale() {
                        let offset = this.bb.__offset(this.bb_pos, 6);
                        return offset ? this.bb.readInt32(this.bb_pos + offset) : 0;
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     */
                    static startDecimal(builder) {
                        builder.startObject(2);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param number precision
                     */
                    static addPrecision(builder, precision) {
                        builder.addFieldInt32(0, precision, 0);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param number scale
                     */
                    static addScale(builder, scale) {
                        builder.addFieldInt32(1, scale, 0);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @returns flatbuffers.Offset
                     */
                    static endDecimal(builder) {
                        let offset = builder.endObject();
                        return offset;
                    }
                    static createDecimal(builder, precision, scale) {
                        Decimal.startDecimal(builder);
                        Decimal.addPrecision(builder, precision);
                        Decimal.addScale(builder, scale);
                        return Decimal.endDecimal(builder);
                    }
                }
                flatbuf.Decimal = Decimal;
            })(flatbuf = arrow.flatbuf || (arrow.flatbuf = {}));
        })(arrow = apache.arrow || (apache.arrow = {}));
    })(apache = org.apache || (org.apache = {}));
})(Schema_org || (Schema_org = {}));
/**
 * Date is either a 32-bit or 64-bit type representing elapsed time since UNIX
 * epoch (1970-01-01), stored in either of two units:
 *
 * * Milliseconds (64 bits) indicating UNIX time elapsed since the epoch (no
 *   leap seconds), where the values are evenly divisible by 86400000
 * * Days (32 bits) since the UNIX epoch
 *
 * @constructor
 */
(function (org) {
    var apache;
    (function (apache) {
        var arrow;
        (function (arrow) {
            var flatbuf;
            (function (flatbuf) {
                class Date {
                    constructor() {
                        this.bb = null;
                        this.bb_pos = 0;
                    }
                    /**
                     * @param number i
                     * @param flatbuffers.ByteBuffer bb
                     * @returns Date
                     */
                    __init(i, bb) {
                        this.bb_pos = i;
                        this.bb = bb;
                        return this;
                    }
                    /**
                     * @param flatbuffers.ByteBuffer bb
                     * @param Date= obj
                     * @returns Date
                     */
                    static getRootAsDate(bb, obj) {
                        return (obj || new Date).__init(bb.readInt32(bb.position()) + bb.position(), bb);
                    }
                    /**
                     * @returns org.apache.arrow.flatbuf.DateUnit
                     */
                    unit() {
                        let offset = this.bb.__offset(this.bb_pos, 4);
                        return offset ? /**  */ (this.bb.readInt16(this.bb_pos + offset)) : org.apache.arrow.flatbuf.DateUnit.MILLISECOND;
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     */
                    static startDate(builder) {
                        builder.startObject(1);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param org.apache.arrow.flatbuf.DateUnit unit
                     */
                    static addUnit(builder, unit) {
                        builder.addFieldInt16(0, unit, org.apache.arrow.flatbuf.DateUnit.MILLISECOND);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @returns flatbuffers.Offset
                     */
                    static endDate(builder) {
                        let offset = builder.endObject();
                        return offset;
                    }
                    static createDate(builder, unit) {
                        Date.startDate(builder);
                        Date.addUnit(builder, unit);
                        return Date.endDate(builder);
                    }
                }
                flatbuf.Date = Date;
            })(flatbuf = arrow.flatbuf || (arrow.flatbuf = {}));
        })(arrow = apache.arrow || (apache.arrow = {}));
    })(apache = org.apache || (org.apache = {}));
})(Schema_org || (Schema_org = {}));
/**
 * Time type. The physical storage type depends on the unit
 * - SECOND and MILLISECOND: 32 bits
 * - MICROSECOND and NANOSECOND: 64 bits
 *
 * @constructor
 */
(function (org) {
    var apache;
    (function (apache) {
        var arrow;
        (function (arrow) {
            var flatbuf;
            (function (flatbuf) {
                class Time {
                    constructor() {
                        this.bb = null;
                        this.bb_pos = 0;
                    }
                    /**
                     * @param number i
                     * @param flatbuffers.ByteBuffer bb
                     * @returns Time
                     */
                    __init(i, bb) {
                        this.bb_pos = i;
                        this.bb = bb;
                        return this;
                    }
                    /**
                     * @param flatbuffers.ByteBuffer bb
                     * @param Time= obj
                     * @returns Time
                     */
                    static getRootAsTime(bb, obj) {
                        return (obj || new Time).__init(bb.readInt32(bb.position()) + bb.position(), bb);
                    }
                    /**
                     * @returns org.apache.arrow.flatbuf.TimeUnit
                     */
                    unit() {
                        let offset = this.bb.__offset(this.bb_pos, 4);
                        return offset ? /**  */ (this.bb.readInt16(this.bb_pos + offset)) : org.apache.arrow.flatbuf.TimeUnit.MILLISECOND;
                    }
                    /**
                     * @returns number
                     */
                    bitWidth() {
                        let offset = this.bb.__offset(this.bb_pos, 6);
                        return offset ? this.bb.readInt32(this.bb_pos + offset) : 32;
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     */
                    static startTime(builder) {
                        builder.startObject(2);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param org.apache.arrow.flatbuf.TimeUnit unit
                     */
                    static addUnit(builder, unit) {
                        builder.addFieldInt16(0, unit, org.apache.arrow.flatbuf.TimeUnit.MILLISECOND);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param number bitWidth
                     */
                    static addBitWidth(builder, bitWidth) {
                        builder.addFieldInt32(1, bitWidth, 32);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @returns flatbuffers.Offset
                     */
                    static endTime(builder) {
                        let offset = builder.endObject();
                        return offset;
                    }
                    static createTime(builder, unit, bitWidth) {
                        Time.startTime(builder);
                        Time.addUnit(builder, unit);
                        Time.addBitWidth(builder, bitWidth);
                        return Time.endTime(builder);
                    }
                }
                flatbuf.Time = Time;
            })(flatbuf = arrow.flatbuf || (arrow.flatbuf = {}));
        })(arrow = apache.arrow || (apache.arrow = {}));
    })(apache = org.apache || (org.apache = {}));
})(Schema_org || (Schema_org = {}));
/**
 * Time elapsed from the Unix epoch, 00:00:00.000 on 1 January 1970, excluding
 * leap seconds, as a 64-bit integer. Note that UNIX time does not include
 * leap seconds.
 *
 * The Timestamp metadata supports both "time zone naive" and "time zone
 * aware" timestamps. Read about the timezone attribute for more detail
 *
 * @constructor
 */
(function (org) {
    var apache;
    (function (apache) {
        var arrow;
        (function (arrow) {
            var flatbuf;
            (function (flatbuf) {
                class Timestamp {
                    constructor() {
                        this.bb = null;
                        this.bb_pos = 0;
                    }
                    /**
                     * @param number i
                     * @param flatbuffers.ByteBuffer bb
                     * @returns Timestamp
                     */
                    __init(i, bb) {
                        this.bb_pos = i;
                        this.bb = bb;
                        return this;
                    }
                    /**
                     * @param flatbuffers.ByteBuffer bb
                     * @param Timestamp= obj
                     * @returns Timestamp
                     */
                    static getRootAsTimestamp(bb, obj) {
                        return (obj || new Timestamp).__init(bb.readInt32(bb.position()) + bb.position(), bb);
                    }
                    /**
                     * @returns org.apache.arrow.flatbuf.TimeUnit
                     */
                    unit() {
                        let offset = this.bb.__offset(this.bb_pos, 4);
                        return offset ? /**  */ (this.bb.readInt16(this.bb_pos + offset)) : org.apache.arrow.flatbuf.TimeUnit.SECOND;
                    }
                    timezone(optionalEncoding) {
                        let offset = this.bb.__offset(this.bb_pos, 6);
                        return offset ? this.bb.__string(this.bb_pos + offset, optionalEncoding) : null;
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     */
                    static startTimestamp(builder) {
                        builder.startObject(2);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param org.apache.arrow.flatbuf.TimeUnit unit
                     */
                    static addUnit(builder, unit) {
                        builder.addFieldInt16(0, unit, org.apache.arrow.flatbuf.TimeUnit.SECOND);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param flatbuffers.Offset timezoneOffset
                     */
                    static addTimezone(builder, timezoneOffset) {
                        builder.addFieldOffset(1, timezoneOffset, 0);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @returns flatbuffers.Offset
                     */
                    static endTimestamp(builder) {
                        let offset = builder.endObject();
                        return offset;
                    }
                    static createTimestamp(builder, unit, timezoneOffset) {
                        Timestamp.startTimestamp(builder);
                        Timestamp.addUnit(builder, unit);
                        Timestamp.addTimezone(builder, timezoneOffset);
                        return Timestamp.endTimestamp(builder);
                    }
                }
                flatbuf.Timestamp = Timestamp;
            })(flatbuf = arrow.flatbuf || (arrow.flatbuf = {}));
        })(arrow = apache.arrow || (apache.arrow = {}));
    })(apache = org.apache || (org.apache = {}));
})(Schema_org || (Schema_org = {}));
/**
 * @constructor
 */
(function (org) {
    var apache;
    (function (apache) {
        var arrow;
        (function (arrow) {
            var flatbuf;
            (function (flatbuf) {
                class Interval {
                    constructor() {
                        this.bb = null;
                        this.bb_pos = 0;
                    }
                    /**
                     * @param number i
                     * @param flatbuffers.ByteBuffer bb
                     * @returns Interval
                     */
                    __init(i, bb) {
                        this.bb_pos = i;
                        this.bb = bb;
                        return this;
                    }
                    /**
                     * @param flatbuffers.ByteBuffer bb
                     * @param Interval= obj
                     * @returns Interval
                     */
                    static getRootAsInterval(bb, obj) {
                        return (obj || new Interval).__init(bb.readInt32(bb.position()) + bb.position(), bb);
                    }
                    /**
                     * @returns org.apache.arrow.flatbuf.IntervalUnit
                     */
                    unit() {
                        let offset = this.bb.__offset(this.bb_pos, 4);
                        return offset ? /**  */ (this.bb.readInt16(this.bb_pos + offset)) : org.apache.arrow.flatbuf.IntervalUnit.YEAR_MONTH;
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     */
                    static startInterval(builder) {
                        builder.startObject(1);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param org.apache.arrow.flatbuf.IntervalUnit unit
                     */
                    static addUnit(builder, unit) {
                        builder.addFieldInt16(0, unit, org.apache.arrow.flatbuf.IntervalUnit.YEAR_MONTH);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @returns flatbuffers.Offset
                     */
                    static endInterval(builder) {
                        let offset = builder.endObject();
                        return offset;
                    }
                    static createInterval(builder, unit) {
                        Interval.startInterval(builder);
                        Interval.addUnit(builder, unit);
                        return Interval.endInterval(builder);
                    }
                }
                flatbuf.Interval = Interval;
            })(flatbuf = arrow.flatbuf || (arrow.flatbuf = {}));
        })(arrow = apache.arrow || (apache.arrow = {}));
    })(apache = org.apache || (org.apache = {}));
})(Schema_org || (Schema_org = {}));
/**
 * @constructor
 */
(function (org) {
    var apache;
    (function (apache) {
        var arrow;
        (function (arrow) {
            var flatbuf;
            (function (flatbuf) {
                class Duration {
                    constructor() {
                        this.bb = null;
                        this.bb_pos = 0;
                    }
                    /**
                     * @param number i
                     * @param flatbuffers.ByteBuffer bb
                     * @returns Duration
                     */
                    __init(i, bb) {
                        this.bb_pos = i;
                        this.bb = bb;
                        return this;
                    }
                    /**
                     * @param flatbuffers.ByteBuffer bb
                     * @param Duration= obj
                     * @returns Duration
                     */
                    static getRootAsDuration(bb, obj) {
                        return (obj || new Duration).__init(bb.readInt32(bb.position()) + bb.position(), bb);
                    }
                    /**
                     * @returns org.apache.arrow.flatbuf.TimeUnit
                     */
                    unit() {
                        let offset = this.bb.__offset(this.bb_pos, 4);
                        return offset ? /**  */ (this.bb.readInt16(this.bb_pos + offset)) : org.apache.arrow.flatbuf.TimeUnit.MILLISECOND;
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     */
                    static startDuration(builder) {
                        builder.startObject(1);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param org.apache.arrow.flatbuf.TimeUnit unit
                     */
                    static addUnit(builder, unit) {
                        builder.addFieldInt16(0, unit, org.apache.arrow.flatbuf.TimeUnit.MILLISECOND);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @returns flatbuffers.Offset
                     */
                    static endDuration(builder) {
                        let offset = builder.endObject();
                        return offset;
                    }
                    static createDuration(builder, unit) {
                        Duration.startDuration(builder);
                        Duration.addUnit(builder, unit);
                        return Duration.endDuration(builder);
                    }
                }
                flatbuf.Duration = Duration;
            })(flatbuf = arrow.flatbuf || (arrow.flatbuf = {}));
        })(arrow = apache.arrow || (apache.arrow = {}));
    })(apache = org.apache || (org.apache = {}));
})(Schema_org || (Schema_org = {}));
/**
 * ----------------------------------------------------------------------
 * user defined key value pairs to add custom metadata to arrow
 * key namespacing is the responsibility of the user
 *
 * @constructor
 */
(function (org) {
    var apache;
    (function (apache) {
        var arrow;
        (function (arrow) {
            var flatbuf;
            (function (flatbuf) {
                class KeyValue {
                    constructor() {
                        this.bb = null;
                        this.bb_pos = 0;
                    }
                    /**
                     * @param number i
                     * @param flatbuffers.ByteBuffer bb
                     * @returns KeyValue
                     */
                    __init(i, bb) {
                        this.bb_pos = i;
                        this.bb = bb;
                        return this;
                    }
                    /**
                     * @param flatbuffers.ByteBuffer bb
                     * @param KeyValue= obj
                     * @returns KeyValue
                     */
                    static getRootAsKeyValue(bb, obj) {
                        return (obj || new KeyValue).__init(bb.readInt32(bb.position()) + bb.position(), bb);
                    }
                    key(optionalEncoding) {
                        let offset = this.bb.__offset(this.bb_pos, 4);
                        return offset ? this.bb.__string(this.bb_pos + offset, optionalEncoding) : null;
                    }
                    value(optionalEncoding) {
                        let offset = this.bb.__offset(this.bb_pos, 6);
                        return offset ? this.bb.__string(this.bb_pos + offset, optionalEncoding) : null;
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     */
                    static startKeyValue(builder) {
                        builder.startObject(2);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param flatbuffers.Offset keyOffset
                     */
                    static addKey(builder, keyOffset) {
                        builder.addFieldOffset(0, keyOffset, 0);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param flatbuffers.Offset valueOffset
                     */
                    static addValue(builder, valueOffset) {
                        builder.addFieldOffset(1, valueOffset, 0);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @returns flatbuffers.Offset
                     */
                    static endKeyValue(builder) {
                        let offset = builder.endObject();
                        return offset;
                    }
                    static createKeyValue(builder, keyOffset, valueOffset) {
                        KeyValue.startKeyValue(builder);
                        KeyValue.addKey(builder, keyOffset);
                        KeyValue.addValue(builder, valueOffset);
                        return KeyValue.endKeyValue(builder);
                    }
                }
                flatbuf.KeyValue = KeyValue;
            })(flatbuf = arrow.flatbuf || (arrow.flatbuf = {}));
        })(arrow = apache.arrow || (apache.arrow = {}));
    })(apache = org.apache || (org.apache = {}));
})(Schema_org || (Schema_org = {}));
/**
 * ----------------------------------------------------------------------
 * Dictionary encoding metadata
 *
 * @constructor
 */
(function (org) {
    var apache;
    (function (apache) {
        var arrow;
        (function (arrow) {
            var flatbuf;
            (function (flatbuf) {
                class DictionaryEncoding {
                    constructor() {
                        this.bb = null;
                        this.bb_pos = 0;
                    }
                    /**
                     * @param number i
                     * @param flatbuffers.ByteBuffer bb
                     * @returns DictionaryEncoding
                     */
                    __init(i, bb) {
                        this.bb_pos = i;
                        this.bb = bb;
                        return this;
                    }
                    /**
                     * @param flatbuffers.ByteBuffer bb
                     * @param DictionaryEncoding= obj
                     * @returns DictionaryEncoding
                     */
                    static getRootAsDictionaryEncoding(bb, obj) {
                        return (obj || new DictionaryEncoding).__init(bb.readInt32(bb.position()) + bb.position(), bb);
                    }
                    /**
                     * The known dictionary id in the application where this data is used. In
                     * the file or streaming formats, the dictionary ids are found in the
                     * DictionaryBatch messages
                     *
                     * @returns flatbuffers.Long
                     */
                    id() {
                        let offset = this.bb.__offset(this.bb_pos, 4);
                        return offset ? this.bb.readInt64(this.bb_pos + offset) : this.bb.createLong(0, 0);
                    }
                    /**
                     * The dictionary indices are constrained to be positive integers. If this
                     * field is null, the indices must be signed int32
                     *
                     * @param org.apache.arrow.flatbuf.Int= obj
                     * @returns org.apache.arrow.flatbuf.Int|null
                     */
                    indexType(obj) {
                        let offset = this.bb.__offset(this.bb_pos, 6);
                        return offset ? (obj || new org.apache.arrow.flatbuf.Int).__init(this.bb.__indirect(this.bb_pos + offset), this.bb) : null;
                    }
                    /**
                     * By default, dictionaries are not ordered, or the order does not have
                     * semantic meaning. In some statistical, applications, dictionary-encoding
                     * is used to represent ordered categorical data, and we provide a way to
                     * preserve that metadata here
                     *
                     * @returns boolean
                     */
                    isOrdered() {
                        let offset = this.bb.__offset(this.bb_pos, 8);
                        return offset ? !!this.bb.readInt8(this.bb_pos + offset) : false;
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     */
                    static startDictionaryEncoding(builder) {
                        builder.startObject(3);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param flatbuffers.Long id
                     */
                    static addId(builder, id) {
                        builder.addFieldInt64(0, id, builder.createLong(0, 0));
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param flatbuffers.Offset indexTypeOffset
                     */
                    static addIndexType(builder, indexTypeOffset) {
                        builder.addFieldOffset(1, indexTypeOffset, 0);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param boolean isOrdered
                     */
                    static addIsOrdered(builder, isOrdered) {
                        builder.addFieldInt8(2, +isOrdered, +false);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @returns flatbuffers.Offset
                     */
                    static endDictionaryEncoding(builder) {
                        let offset = builder.endObject();
                        return offset;
                    }
                    static createDictionaryEncoding(builder, id, indexTypeOffset, isOrdered) {
                        DictionaryEncoding.startDictionaryEncoding(builder);
                        DictionaryEncoding.addId(builder, id);
                        DictionaryEncoding.addIndexType(builder, indexTypeOffset);
                        DictionaryEncoding.addIsOrdered(builder, isOrdered);
                        return DictionaryEncoding.endDictionaryEncoding(builder);
                    }
                }
                flatbuf.DictionaryEncoding = DictionaryEncoding;
            })(flatbuf = arrow.flatbuf || (arrow.flatbuf = {}));
        })(arrow = apache.arrow || (apache.arrow = {}));
    })(apache = org.apache || (org.apache = {}));
})(Schema_org || (Schema_org = {}));
/**
 * ----------------------------------------------------------------------
 * A field represents a named column in a record / row batch or child of a
 * nested type.
 *
 * @constructor
 */
(function (org) {
    var apache;
    (function (apache) {
        var arrow;
        (function (arrow) {
            var flatbuf;
            (function (flatbuf) {
                class Field {
                    constructor() {
                        this.bb = null;
                        this.bb_pos = 0;
                    }
                    /**
                     * @param number i
                     * @param flatbuffers.ByteBuffer bb
                     * @returns Field
                     */
                    __init(i, bb) {
                        this.bb_pos = i;
                        this.bb = bb;
                        return this;
                    }
                    /**
                     * @param flatbuffers.ByteBuffer bb
                     * @param Field= obj
                     * @returns Field
                     */
                    static getRootAsField(bb, obj) {
                        return (obj || new Field).__init(bb.readInt32(bb.position()) + bb.position(), bb);
                    }
                    name(optionalEncoding) {
                        let offset = this.bb.__offset(this.bb_pos, 4);
                        return offset ? this.bb.__string(this.bb_pos + offset, optionalEncoding) : null;
                    }
                    /**
                     * Whether or not this field can contain nulls. Should be true in general.
                     *
                     * @returns boolean
                     */
                    nullable() {
                        let offset = this.bb.__offset(this.bb_pos, 6);
                        return offset ? !!this.bb.readInt8(this.bb_pos + offset) : false;
                    }
                    /**
                     * @returns org.apache.arrow.flatbuf.Type
                     */
                    typeType() {
                        let offset = this.bb.__offset(this.bb_pos, 8);
                        return offset ? /**  */ (this.bb.readUint8(this.bb_pos + offset)) : org.apache.arrow.flatbuf.Type.NONE;
                    }
                    /**
                     * This is the type of the decoded value if the field is dictionary encoded.
                     *
                     * @param flatbuffers.Table obj
                     * @returns ?flatbuffers.Table
                     */
                    type(obj) {
                        let offset = this.bb.__offset(this.bb_pos, 10);
                        return offset ? this.bb.__union(obj, this.bb_pos + offset) : null;
                    }
                    /**
                     * Present only if the field is dictionary encoded.
                     *
                     * @param org.apache.arrow.flatbuf.DictionaryEncoding= obj
                     * @returns org.apache.arrow.flatbuf.DictionaryEncoding|null
                     */
                    dictionary(obj) {
                        let offset = this.bb.__offset(this.bb_pos, 12);
                        return offset ? (obj || new org.apache.arrow.flatbuf.DictionaryEncoding).__init(this.bb.__indirect(this.bb_pos + offset), this.bb) : null;
                    }
                    /**
                     * children apply only to nested data types like Struct, List and Union. For
                     * primitive types children will have length 0.
                     *
                     * @param number index
                     * @param org.apache.arrow.flatbuf.Field= obj
                     * @returns org.apache.arrow.flatbuf.Field
                     */
                    children(index, obj) {
                        let offset = this.bb.__offset(this.bb_pos, 14);
                        return offset ? (obj || new org.apache.arrow.flatbuf.Field).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos + offset) + index * 4), this.bb) : null;
                    }
                    /**
                     * @returns number
                     */
                    childrenLength() {
                        let offset = this.bb.__offset(this.bb_pos, 14);
                        return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0;
                    }
                    /**
                     * User-defined metadata
                     *
                     * @param number index
                     * @param org.apache.arrow.flatbuf.KeyValue= obj
                     * @returns org.apache.arrow.flatbuf.KeyValue
                     */
                    customMetadata(index, obj) {
                        let offset = this.bb.__offset(this.bb_pos, 16);
                        return offset ? (obj || new org.apache.arrow.flatbuf.KeyValue).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos + offset) + index * 4), this.bb) : null;
                    }
                    /**
                     * @returns number
                     */
                    customMetadataLength() {
                        let offset = this.bb.__offset(this.bb_pos, 16);
                        return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0;
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     */
                    static startField(builder) {
                        builder.startObject(7);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param flatbuffers.Offset nameOffset
                     */
                    static addName(builder, nameOffset) {
                        builder.addFieldOffset(0, nameOffset, 0);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param boolean nullable
                     */
                    static addNullable(builder, nullable) {
                        builder.addFieldInt8(1, +nullable, +false);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param org.apache.arrow.flatbuf.Type typeType
                     */
                    static addTypeType(builder, typeType) {
                        builder.addFieldInt8(2, typeType, org.apache.arrow.flatbuf.Type.NONE);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param flatbuffers.Offset typeOffset
                     */
                    static addType(builder, typeOffset) {
                        builder.addFieldOffset(3, typeOffset, 0);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param flatbuffers.Offset dictionaryOffset
                     */
                    static addDictionary(builder, dictionaryOffset) {
                        builder.addFieldOffset(4, dictionaryOffset, 0);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param flatbuffers.Offset childrenOffset
                     */
                    static addChildren(builder, childrenOffset) {
                        builder.addFieldOffset(5, childrenOffset, 0);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param Array.<flatbuffers.Offset> data
                     * @returns flatbuffers.Offset
                     */
                    static createChildrenVector(builder, data) {
                        builder.startVector(4, data.length, 4);
                        for (let i = data.length - 1; i >= 0; i--) {
                            builder.addOffset(data[i]);
                        }
                        return builder.endVector();
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param number numElems
                     */
                    static startChildrenVector(builder, numElems) {
                        builder.startVector(4, numElems, 4);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param flatbuffers.Offset customMetadataOffset
                     */
                    static addCustomMetadata(builder, customMetadataOffset) {
                        builder.addFieldOffset(6, customMetadataOffset, 0);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param Array.<flatbuffers.Offset> data
                     * @returns flatbuffers.Offset
                     */
                    static createCustomMetadataVector(builder, data) {
                        builder.startVector(4, data.length, 4);
                        for (let i = data.length - 1; i >= 0; i--) {
                            builder.addOffset(data[i]);
                        }
                        return builder.endVector();
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param number numElems
                     */
                    static startCustomMetadataVector(builder, numElems) {
                        builder.startVector(4, numElems, 4);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @returns flatbuffers.Offset
                     */
                    static endField(builder) {
                        let offset = builder.endObject();
                        return offset;
                    }
                    static createField(builder, nameOffset, nullable, typeType, typeOffset, dictionaryOffset, childrenOffset, customMetadataOffset) {
                        Field.startField(builder);
                        Field.addName(builder, nameOffset);
                        Field.addNullable(builder, nullable);
                        Field.addTypeType(builder, typeType);
                        Field.addType(builder, typeOffset);
                        Field.addDictionary(builder, dictionaryOffset);
                        Field.addChildren(builder, childrenOffset);
                        Field.addCustomMetadata(builder, customMetadataOffset);
                        return Field.endField(builder);
                    }
                }
                flatbuf.Field = Field;
            })(flatbuf = arrow.flatbuf || (arrow.flatbuf = {}));
        })(arrow = apache.arrow || (apache.arrow = {}));
    })(apache = org.apache || (org.apache = {}));
})(Schema_org || (Schema_org = {}));
/**
 * ----------------------------------------------------------------------
 * A Buffer represents a single contiguous memory segment
 *
 * @constructor
 */
(function (org) {
    var apache;
    (function (apache) {
        var arrow;
        (function (arrow) {
            var flatbuf;
            (function (flatbuf) {
                class Buffer {
                    constructor() {
                        this.bb = null;
                        this.bb_pos = 0;
                    }
                    /**
                     * @param number i
                     * @param flatbuffers.ByteBuffer bb
                     * @returns Buffer
                     */
                    __init(i, bb) {
                        this.bb_pos = i;
                        this.bb = bb;
                        return this;
                    }
                    /**
                     * The relative offset into the shared memory page where the bytes for this
                     * buffer starts
                     *
                     * @returns flatbuffers.Long
                     */
                    offset() {
                        return this.bb.readInt64(this.bb_pos);
                    }
                    /**
                     * The absolute length (in bytes) of the memory buffer. The memory is found
                     * from offset (inclusive) to offset + length (non-inclusive).
                     *
                     * @returns flatbuffers.Long
                     */
                    length() {
                        return this.bb.readInt64(this.bb_pos + 8);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param flatbuffers.Long offset
                     * @param flatbuffers.Long length
                     * @returns flatbuffers.Offset
                     */
                    static createBuffer(builder, offset, length) {
                        builder.prep(8, 16);
                        builder.writeInt64(length);
                        builder.writeInt64(offset);
                        return builder.offset();
                    }
                }
                flatbuf.Buffer = Buffer;
            })(flatbuf = arrow.flatbuf || (arrow.flatbuf = {}));
        })(arrow = apache.arrow || (apache.arrow = {}));
    })(apache = org.apache || (org.apache = {}));
})(Schema_org || (Schema_org = {}));
/**
 * ----------------------------------------------------------------------
 * A Schema describes the columns in a row batch
 *
 * @constructor
 */
(function (org) {
    var apache;
    (function (apache) {
        var arrow;
        (function (arrow) {
            var flatbuf;
            (function (flatbuf) {
                class Schema {
                    constructor() {
                        this.bb = null;
                        this.bb_pos = 0;
                    }
                    /**
                     * @param number i
                     * @param flatbuffers.ByteBuffer bb
                     * @returns Schema
                     */
                    __init(i, bb) {
                        this.bb_pos = i;
                        this.bb = bb;
                        return this;
                    }
                    /**
                     * @param flatbuffers.ByteBuffer bb
                     * @param Schema= obj
                     * @returns Schema
                     */
                    static getRootAsSchema(bb, obj) {
                        return (obj || new Schema).__init(bb.readInt32(bb.position()) + bb.position(), bb);
                    }
                    /**
                     * endianness of the buffer
                     * it is Little Endian by default
                     * if endianness doesn't match the underlying system then the vectors need to be converted
                     *
                     * @returns org.apache.arrow.flatbuf.Endianness
                     */
                    endianness() {
                        let offset = this.bb.__offset(this.bb_pos, 4);
                        return offset ? /**  */ (this.bb.readInt16(this.bb_pos + offset)) : org.apache.arrow.flatbuf.Endianness.Little;
                    }
                    /**
                     * @param number index
                     * @param org.apache.arrow.flatbuf.Field= obj
                     * @returns org.apache.arrow.flatbuf.Field
                     */
                    fields(index, obj) {
                        let offset = this.bb.__offset(this.bb_pos, 6);
                        return offset ? (obj || new org.apache.arrow.flatbuf.Field).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos + offset) + index * 4), this.bb) : null;
                    }
                    /**
                     * @returns number
                     */
                    fieldsLength() {
                        let offset = this.bb.__offset(this.bb_pos, 6);
                        return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0;
                    }
                    /**
                     * @param number index
                     * @param org.apache.arrow.flatbuf.KeyValue= obj
                     * @returns org.apache.arrow.flatbuf.KeyValue
                     */
                    customMetadata(index, obj) {
                        let offset = this.bb.__offset(this.bb_pos, 8);
                        return offset ? (obj || new org.apache.arrow.flatbuf.KeyValue).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos + offset) + index * 4), this.bb) : null;
                    }
                    /**
                     * @returns number
                     */
                    customMetadataLength() {
                        let offset = this.bb.__offset(this.bb_pos, 8);
                        return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0;
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     */
                    static startSchema(builder) {
                        builder.startObject(3);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param org.apache.arrow.flatbuf.Endianness endianness
                     */
                    static addEndianness(builder, endianness) {
                        builder.addFieldInt16(0, endianness, org.apache.arrow.flatbuf.Endianness.Little);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param flatbuffers.Offset fieldsOffset
                     */
                    static addFields(builder, fieldsOffset) {
                        builder.addFieldOffset(1, fieldsOffset, 0);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param Array.<flatbuffers.Offset> data
                     * @returns flatbuffers.Offset
                     */
                    static createFieldsVector(builder, data) {
                        builder.startVector(4, data.length, 4);
                        for (let i = data.length - 1; i >= 0; i--) {
                            builder.addOffset(data[i]);
                        }
                        return builder.endVector();
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param number numElems
                     */
                    static startFieldsVector(builder, numElems) {
                        builder.startVector(4, numElems, 4);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param flatbuffers.Offset customMetadataOffset
                     */
                    static addCustomMetadata(builder, customMetadataOffset) {
                        builder.addFieldOffset(2, customMetadataOffset, 0);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param Array.<flatbuffers.Offset> data
                     * @returns flatbuffers.Offset
                     */
                    static createCustomMetadataVector(builder, data) {
                        builder.startVector(4, data.length, 4);
                        for (let i = data.length - 1; i >= 0; i--) {
                            builder.addOffset(data[i]);
                        }
                        return builder.endVector();
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param number numElems
                     */
                    static startCustomMetadataVector(builder, numElems) {
                        builder.startVector(4, numElems, 4);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @returns flatbuffers.Offset
                     */
                    static endSchema(builder) {
                        let offset = builder.endObject();
                        return offset;
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param flatbuffers.Offset offset
                     */
                    static finishSchemaBuffer(builder, offset) {
                        builder.finish(offset);
                    }
                    static createSchema(builder, endianness, fieldsOffset, customMetadataOffset) {
                        Schema.startSchema(builder);
                        Schema.addEndianness(builder, endianness);
                        Schema.addFields(builder, fieldsOffset);
                        Schema.addCustomMetadata(builder, customMetadataOffset);
                        return Schema.endSchema(builder);
                    }
                }
                flatbuf.Schema = Schema;
            })(flatbuf = arrow.flatbuf || (arrow.flatbuf = {}));
        })(arrow = apache.arrow || (apache.arrow = {}));
    })(apache = org.apache || (org.apache = {}));
})(Schema_org || (Schema_org = {}));

//# sourceMappingURL=Schema.mjs.map

;// ../node_modules/apache-arrow/fb/Message.mjs
// automatically generated by the FlatBuffers compiler, do not modify

var org;
(function (org) {
    var apache;
    (function (apache) {
        var arrow;
        (function (arrow) {
            var flatbuf;
            (function (flatbuf) {
                flatbuf.Schema = Schema_org.apache.arrow.flatbuf.Schema;
            })(flatbuf = arrow.flatbuf || (arrow.flatbuf = {}));
        })(arrow = apache.arrow || (apache.arrow = {}));
    })(apache = org.apache || (org.apache = {}));
})(org || (org = {}));
/**
 * ----------------------------------------------------------------------
 * The root Message type
 * This union enables us to easily send different message types without
 * redundant storage, and in the future we can easily add new message types.
 *
 * Arrow implementations do not need to implement all of the message types,
 * which may include experimental metadata types. For maximum compatibility,
 * it is best to send data using RecordBatch
 *
 * @enum {number}
 */
(function (org) {
    var apache;
    (function (apache) {
        var arrow;
        (function (arrow) {
            var flatbuf;
            (function (flatbuf) {
                let MessageHeader;
                (function (MessageHeader) {
                    MessageHeader[MessageHeader["NONE"] = 0] = "NONE";
                    MessageHeader[MessageHeader["Schema"] = 1] = "Schema";
                    MessageHeader[MessageHeader["DictionaryBatch"] = 2] = "DictionaryBatch";
                    MessageHeader[MessageHeader["RecordBatch"] = 3] = "RecordBatch";
                    MessageHeader[MessageHeader["Tensor"] = 4] = "Tensor";
                    MessageHeader[MessageHeader["SparseTensor"] = 5] = "SparseTensor";
                })(MessageHeader = flatbuf.MessageHeader || (flatbuf.MessageHeader = {}));
            })(flatbuf = arrow.flatbuf || (arrow.flatbuf = {}));
        })(arrow = apache.arrow || (apache.arrow = {}));
    })(apache = org.apache || (org.apache = {}));
})(org || (org = {}));
/**
 * ----------------------------------------------------------------------
 * Data structures for describing a table row batch (a collection of
 * equal-length Arrow arrays)
 * Metadata about a field at some level of a nested type tree (but not
 * its children).
 *
 * For example, a List<Int16> with values [[1, 2, 3], null, [4], [5, 6], null]
 * would have {length: 5, null_count: 2} for its List node, and {length: 6,
 * null_count: 0} for its Int16 node, as separate FieldNode structs
 *
 * @constructor
 */
(function (org) {
    var apache;
    (function (apache) {
        var arrow;
        (function (arrow) {
            var flatbuf;
            (function (flatbuf) {
                class FieldNode {
                    constructor() {
                        this.bb = null;
                        this.bb_pos = 0;
                    }
                    /**
                     * @param number i
                     * @param flatbuffers.ByteBuffer bb
                     * @returns FieldNode
                     */
                    __init(i, bb) {
                        this.bb_pos = i;
                        this.bb = bb;
                        return this;
                    }
                    /**
                     * The number of value slots in the Arrow array at this level of a nested
                     * tree
                     *
                     * @returns flatbuffers.Long
                     */
                    length() {
                        return this.bb.readInt64(this.bb_pos);
                    }
                    /**
                     * The number of observed nulls. Fields with null_count == 0 may choose not
                     * to write their physical validity bitmap out as a materialized buffer,
                     * instead setting the length of the bitmap buffer to 0.
                     *
                     * @returns flatbuffers.Long
                     */
                    nullCount() {
                        return this.bb.readInt64(this.bb_pos + 8);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param flatbuffers.Long length
                     * @param flatbuffers.Long null_count
                     * @returns flatbuffers.Offset
                     */
                    static createFieldNode(builder, length, null_count) {
                        builder.prep(8, 16);
                        builder.writeInt64(null_count);
                        builder.writeInt64(length);
                        return builder.offset();
                    }
                }
                flatbuf.FieldNode = FieldNode;
            })(flatbuf = arrow.flatbuf || (arrow.flatbuf = {}));
        })(arrow = apache.arrow || (apache.arrow = {}));
    })(apache = org.apache || (org.apache = {}));
})(org || (org = {}));
/**
 * A data header describing the shared memory layout of a "record" or "row"
 * batch. Some systems call this a "row batch" internally and others a "record
 * batch".
 *
 * @constructor
 */
(function (org) {
    var apache;
    (function (apache) {
        var arrow;
        (function (arrow) {
            var flatbuf;
            (function (flatbuf) {
                class RecordBatch {
                    constructor() {
                        this.bb = null;
                        this.bb_pos = 0;
                    }
                    /**
                     * @param number i
                     * @param flatbuffers.ByteBuffer bb
                     * @returns RecordBatch
                     */
                    __init(i, bb) {
                        this.bb_pos = i;
                        this.bb = bb;
                        return this;
                    }
                    /**
                     * @param flatbuffers.ByteBuffer bb
                     * @param RecordBatch= obj
                     * @returns RecordBatch
                     */
                    static getRootAsRecordBatch(bb, obj) {
                        return (obj || new RecordBatch).__init(bb.readInt32(bb.position()) + bb.position(), bb);
                    }
                    /**
                     * number of records / rows. The arrays in the batch should all have this
                     * length
                     *
                     * @returns flatbuffers.Long
                     */
                    length() {
                        let offset = this.bb.__offset(this.bb_pos, 4);
                        return offset ? this.bb.readInt64(this.bb_pos + offset) : this.bb.createLong(0, 0);
                    }
                    /**
                     * Nodes correspond to the pre-ordered flattened logical schema
                     *
                     * @param number index
                     * @param org.apache.arrow.flatbuf.FieldNode= obj
                     * @returns org.apache.arrow.flatbuf.FieldNode
                     */
                    nodes(index, obj) {
                        let offset = this.bb.__offset(this.bb_pos, 6);
                        return offset ? (obj || new org.apache.arrow.flatbuf.FieldNode).__init(this.bb.__vector(this.bb_pos + offset) + index * 16, this.bb) : null;
                    }
                    /**
                     * @returns number
                     */
                    nodesLength() {
                        let offset = this.bb.__offset(this.bb_pos, 6);
                        return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0;
                    }
                    /**
                     * Buffers correspond to the pre-ordered flattened buffer tree
                     *
                     * The number of buffers appended to this list depends on the schema. For
                     * example, most primitive arrays will have 2 buffers, 1 for the validity
                     * bitmap and 1 for the values. For struct arrays, there will only be a
                     * single buffer for the validity (nulls) bitmap
                     *
                     * @param number index
                     * @param org.apache.arrow.flatbuf.Buffer= obj
                     * @returns org.apache.arrow.flatbuf.Buffer
                     */
                    buffers(index, obj) {
                        let offset = this.bb.__offset(this.bb_pos, 8);
                        return offset ? (obj || new Schema_org.apache.arrow.flatbuf.Buffer).__init(this.bb.__vector(this.bb_pos + offset) + index * 16, this.bb) : null;
                    }
                    /**
                     * @returns number
                     */
                    buffersLength() {
                        let offset = this.bb.__offset(this.bb_pos, 8);
                        return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0;
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     */
                    static startRecordBatch(builder) {
                        builder.startObject(3);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param flatbuffers.Long length
                     */
                    static addLength(builder, length) {
                        builder.addFieldInt64(0, length, builder.createLong(0, 0));
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param flatbuffers.Offset nodesOffset
                     */
                    static addNodes(builder, nodesOffset) {
                        builder.addFieldOffset(1, nodesOffset, 0);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param number numElems
                     */
                    static startNodesVector(builder, numElems) {
                        builder.startVector(16, numElems, 8);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param flatbuffers.Offset buffersOffset
                     */
                    static addBuffers(builder, buffersOffset) {
                        builder.addFieldOffset(2, buffersOffset, 0);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param number numElems
                     */
                    static startBuffersVector(builder, numElems) {
                        builder.startVector(16, numElems, 8);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @returns flatbuffers.Offset
                     */
                    static endRecordBatch(builder) {
                        let offset = builder.endObject();
                        return offset;
                    }
                    static createRecordBatch(builder, length, nodesOffset, buffersOffset) {
                        RecordBatch.startRecordBatch(builder);
                        RecordBatch.addLength(builder, length);
                        RecordBatch.addNodes(builder, nodesOffset);
                        RecordBatch.addBuffers(builder, buffersOffset);
                        return RecordBatch.endRecordBatch(builder);
                    }
                }
                flatbuf.RecordBatch = RecordBatch;
            })(flatbuf = arrow.flatbuf || (arrow.flatbuf = {}));
        })(arrow = apache.arrow || (apache.arrow = {}));
    })(apache = org.apache || (org.apache = {}));
})(org || (org = {}));
/**
 * For sending dictionary encoding information. Any Field can be
 * dictionary-encoded, but in this case none of its children may be
 * dictionary-encoded.
 * There is one vector / column per dictionary, but that vector / column
 * may be spread across multiple dictionary batches by using the isDelta
 * flag
 *
 * @constructor
 */
(function (org) {
    var apache;
    (function (apache) {
        var arrow;
        (function (arrow) {
            var flatbuf;
            (function (flatbuf) {
                class DictionaryBatch {
                    constructor() {
                        this.bb = null;
                        this.bb_pos = 0;
                    }
                    /**
                     * @param number i
                     * @param flatbuffers.ByteBuffer bb
                     * @returns DictionaryBatch
                     */
                    __init(i, bb) {
                        this.bb_pos = i;
                        this.bb = bb;
                        return this;
                    }
                    /**
                     * @param flatbuffers.ByteBuffer bb
                     * @param DictionaryBatch= obj
                     * @returns DictionaryBatch
                     */
                    static getRootAsDictionaryBatch(bb, obj) {
                        return (obj || new DictionaryBatch).__init(bb.readInt32(bb.position()) + bb.position(), bb);
                    }
                    /**
                     * @returns flatbuffers.Long
                     */
                    id() {
                        let offset = this.bb.__offset(this.bb_pos, 4);
                        return offset ? this.bb.readInt64(this.bb_pos + offset) : this.bb.createLong(0, 0);
                    }
                    /**
                     * @param org.apache.arrow.flatbuf.RecordBatch= obj
                     * @returns org.apache.arrow.flatbuf.RecordBatch|null
                     */
                    data(obj) {
                        let offset = this.bb.__offset(this.bb_pos, 6);
                        return offset ? (obj || new org.apache.arrow.flatbuf.RecordBatch).__init(this.bb.__indirect(this.bb_pos + offset), this.bb) : null;
                    }
                    /**
                     * If isDelta is true the values in the dictionary are to be appended to a
                     * dictionary with the indicated id
                     *
                     * @returns boolean
                     */
                    isDelta() {
                        let offset = this.bb.__offset(this.bb_pos, 8);
                        return offset ? !!this.bb.readInt8(this.bb_pos + offset) : false;
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     */
                    static startDictionaryBatch(builder) {
                        builder.startObject(3);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param flatbuffers.Long id
                     */
                    static addId(builder, id) {
                        builder.addFieldInt64(0, id, builder.createLong(0, 0));
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param flatbuffers.Offset dataOffset
                     */
                    static addData(builder, dataOffset) {
                        builder.addFieldOffset(1, dataOffset, 0);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param boolean isDelta
                     */
                    static addIsDelta(builder, isDelta) {
                        builder.addFieldInt8(2, +isDelta, +false);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @returns flatbuffers.Offset
                     */
                    static endDictionaryBatch(builder) {
                        let offset = builder.endObject();
                        return offset;
                    }
                    static createDictionaryBatch(builder, id, dataOffset, isDelta) {
                        DictionaryBatch.startDictionaryBatch(builder);
                        DictionaryBatch.addId(builder, id);
                        DictionaryBatch.addData(builder, dataOffset);
                        DictionaryBatch.addIsDelta(builder, isDelta);
                        return DictionaryBatch.endDictionaryBatch(builder);
                    }
                }
                flatbuf.DictionaryBatch = DictionaryBatch;
            })(flatbuf = arrow.flatbuf || (arrow.flatbuf = {}));
        })(arrow = apache.arrow || (apache.arrow = {}));
    })(apache = org.apache || (org.apache = {}));
})(org || (org = {}));
/**
 * @constructor
 */
(function (org) {
    var apache;
    (function (apache) {
        var arrow;
        (function (arrow) {
            var flatbuf;
            (function (flatbuf) {
                class Message {
                    constructor() {
                        this.bb = null;
                        this.bb_pos = 0;
                    }
                    /**
                     * @param number i
                     * @param flatbuffers.ByteBuffer bb
                     * @returns Message
                     */
                    __init(i, bb) {
                        this.bb_pos = i;
                        this.bb = bb;
                        return this;
                    }
                    /**
                     * @param flatbuffers.ByteBuffer bb
                     * @param Message= obj
                     * @returns Message
                     */
                    static getRootAsMessage(bb, obj) {
                        return (obj || new Message).__init(bb.readInt32(bb.position()) + bb.position(), bb);
                    }
                    /**
                     * @returns org.apache.arrow.flatbuf.MetadataVersion
                     */
                    version() {
                        let offset = this.bb.__offset(this.bb_pos, 4);
                        return offset ? /**  */ (this.bb.readInt16(this.bb_pos + offset)) : Schema_org.apache.arrow.flatbuf.MetadataVersion.V1;
                    }
                    /**
                     * @returns org.apache.arrow.flatbuf.MessageHeader
                     */
                    headerType() {
                        let offset = this.bb.__offset(this.bb_pos, 6);
                        return offset ? /**  */ (this.bb.readUint8(this.bb_pos + offset)) : org.apache.arrow.flatbuf.MessageHeader.NONE;
                    }
                    /**
                     * @param flatbuffers.Table obj
                     * @returns ?flatbuffers.Table
                     */
                    header(obj) {
                        let offset = this.bb.__offset(this.bb_pos, 8);
                        return offset ? this.bb.__union(obj, this.bb_pos + offset) : null;
                    }
                    /**
                     * @returns flatbuffers.Long
                     */
                    bodyLength() {
                        let offset = this.bb.__offset(this.bb_pos, 10);
                        return offset ? this.bb.readInt64(this.bb_pos + offset) : this.bb.createLong(0, 0);
                    }
                    /**
                     * @param number index
                     * @param org.apache.arrow.flatbuf.KeyValue= obj
                     * @returns org.apache.arrow.flatbuf.KeyValue
                     */
                    customMetadata(index, obj) {
                        let offset = this.bb.__offset(this.bb_pos, 12);
                        return offset ? (obj || new Schema_org.apache.arrow.flatbuf.KeyValue).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos + offset) + index * 4), this.bb) : null;
                    }
                    /**
                     * @returns number
                     */
                    customMetadataLength() {
                        let offset = this.bb.__offset(this.bb_pos, 12);
                        return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0;
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     */
                    static startMessage(builder) {
                        builder.startObject(5);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param org.apache.arrow.flatbuf.MetadataVersion version
                     */
                    static addVersion(builder, version) {
                        builder.addFieldInt16(0, version, Schema_org.apache.arrow.flatbuf.MetadataVersion.V1);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param org.apache.arrow.flatbuf.MessageHeader headerType
                     */
                    static addHeaderType(builder, headerType) {
                        builder.addFieldInt8(1, headerType, org.apache.arrow.flatbuf.MessageHeader.NONE);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param flatbuffers.Offset headerOffset
                     */
                    static addHeader(builder, headerOffset) {
                        builder.addFieldOffset(2, headerOffset, 0);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param flatbuffers.Long bodyLength
                     */
                    static addBodyLength(builder, bodyLength) {
                        builder.addFieldInt64(3, bodyLength, builder.createLong(0, 0));
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param flatbuffers.Offset customMetadataOffset
                     */
                    static addCustomMetadata(builder, customMetadataOffset) {
                        builder.addFieldOffset(4, customMetadataOffset, 0);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param Array.<flatbuffers.Offset> data
                     * @returns flatbuffers.Offset
                     */
                    static createCustomMetadataVector(builder, data) {
                        builder.startVector(4, data.length, 4);
                        for (let i = data.length - 1; i >= 0; i--) {
                            builder.addOffset(data[i]);
                        }
                        return builder.endVector();
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param number numElems
                     */
                    static startCustomMetadataVector(builder, numElems) {
                        builder.startVector(4, numElems, 4);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @returns flatbuffers.Offset
                     */
                    static endMessage(builder) {
                        let offset = builder.endObject();
                        return offset;
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param flatbuffers.Offset offset
                     */
                    static finishMessageBuffer(builder, offset) {
                        builder.finish(offset);
                    }
                    static createMessage(builder, version, headerType, headerOffset, bodyLength, customMetadataOffset) {
                        Message.startMessage(builder);
                        Message.addVersion(builder, version);
                        Message.addHeaderType(builder, headerType);
                        Message.addHeader(builder, headerOffset);
                        Message.addBodyLength(builder, bodyLength);
                        Message.addCustomMetadata(builder, customMetadataOffset);
                        return Message.endMessage(builder);
                    }
                }
                flatbuf.Message = Message;
            })(flatbuf = arrow.flatbuf || (arrow.flatbuf = {}));
        })(arrow = apache.arrow || (apache.arrow = {}));
    })(apache = org.apache || (org.apache = {}));
})(org || (org = {}));

//# sourceMappingURL=Message.mjs.map

;// ../node_modules/apache-arrow/enum.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.


var ArrowType = Schema_org.apache.arrow.flatbuf.Type;
var DateUnit = Schema_org.apache.arrow.flatbuf.DateUnit;
var TimeUnit = Schema_org.apache.arrow.flatbuf.TimeUnit;
var Precision = Schema_org.apache.arrow.flatbuf.Precision;
var UnionMode = Schema_org.apache.arrow.flatbuf.UnionMode;
var IntervalUnit = Schema_org.apache.arrow.flatbuf.IntervalUnit;
var MessageHeader = org.apache.arrow.flatbuf.MessageHeader;
var MetadataVersion = Schema_org.apache.arrow.flatbuf.MetadataVersion;
/**
 * Main data type enumeration.
 *
 * Data types in this library are all *logical*. They can be expressed as
 * either a primitive physical type (bytes or bits of some fixed size), a
 * nested type consisting of other data types, or another data type (e.g. a
 * timestamp encoded as an int64).
 *
 * **Note**: Only enum values 0-17 (NONE through Map) are written to an Arrow
 * IPC payload.
 *
 * The rest of the values are specified here so TypeScript can narrow the type
 * signatures further beyond the base Arrow Types. The Arrow DataTypes include
 * metadata like `bitWidth` that impact the type signatures of the values we
 * accept and return.
 *
 * For example, the `Int8Vector` reads 1-byte numbers from an `Int8Array`, an
 * `Int32Vector` reads a 4-byte number from an `Int32Array`, and an `Int64Vector`
 * reads a pair of 4-byte lo, hi 32-bit integers as a zero-copy slice from the
 * underlying `Int32Array`.
 *
 * Library consumers benefit by knowing the narrowest type, since we can ensure
 * the types across all public methods are propagated, and never bail to `any`.
 * These values are _never_ used at runtime, and they will _never_ be written
 * to the flatbuffers metadata of serialized Arrow IPC payloads.
 */
var Type;
(function (Type) {
    /** The default placeholder type */
    Type[Type["NONE"] = 0] = "NONE";
    /** A NULL type having no physical storage */
    Type[Type["Null"] = 1] = "Null";
    /** Signed or unsigned 8, 16, 32, or 64-bit little-endian integer */
    Type[Type["Int"] = 2] = "Int";
    /** 2, 4, or 8-byte floating point value */
    Type[Type["Float"] = 3] = "Float";
    /** Variable-length bytes (no guarantee of UTF8-ness) */
    Type[Type["Binary"] = 4] = "Binary";
    /** UTF8 variable-length string as List<Char> */
    Type[Type["Utf8"] = 5] = "Utf8";
    /** Boolean as 1 bit, LSB bit-packed ordering */
    Type[Type["Bool"] = 6] = "Bool";
    /** Precision-and-scale-based decimal type. Storage type depends on the parameters. */
    Type[Type["Decimal"] = 7] = "Decimal";
    /** int32_t days or int64_t milliseconds since the UNIX epoch */
    Type[Type["Date"] = 8] = "Date";
    /** Time as signed 32 or 64-bit integer, representing either seconds, milliseconds, microseconds, or nanoseconds since midnight since midnight */
    Type[Type["Time"] = 9] = "Time";
    /** Exact timestamp encoded with int64 since UNIX epoch (Default unit millisecond) */
    Type[Type["Timestamp"] = 10] = "Timestamp";
    /** YEAR_MONTH or DAY_TIME interval in SQL style */
    Type[Type["Interval"] = 11] = "Interval";
    /** A list of some logical data type */
    Type[Type["List"] = 12] = "List";
    /** Struct of logical types */
    Type[Type["Struct"] = 13] = "Struct";
    /** Union of logical types */
    Type[Type["Union"] = 14] = "Union";
    /** Fixed-size binary. Each value occupies the same number of bytes */
    Type[Type["FixedSizeBinary"] = 15] = "FixedSizeBinary";
    /** Fixed-size list. Each value occupies the same number of bytes */
    Type[Type["FixedSizeList"] = 16] = "FixedSizeList";
    /** Map of named logical types */
    Type[Type["Map"] = 17] = "Map";
    /** Dictionary aka Category type */
    Type[Type["Dictionary"] = -1] = "Dictionary";
    Type[Type["Int8"] = -2] = "Int8";
    Type[Type["Int16"] = -3] = "Int16";
    Type[Type["Int32"] = -4] = "Int32";
    Type[Type["Int64"] = -5] = "Int64";
    Type[Type["Uint8"] = -6] = "Uint8";
    Type[Type["Uint16"] = -7] = "Uint16";
    Type[Type["Uint32"] = -8] = "Uint32";
    Type[Type["Uint64"] = -9] = "Uint64";
    Type[Type["Float16"] = -10] = "Float16";
    Type[Type["Float32"] = -11] = "Float32";
    Type[Type["Float64"] = -12] = "Float64";
    Type[Type["DateDay"] = -13] = "DateDay";
    Type[Type["DateMillisecond"] = -14] = "DateMillisecond";
    Type[Type["TimestampSecond"] = -15] = "TimestampSecond";
    Type[Type["TimestampMillisecond"] = -16] = "TimestampMillisecond";
    Type[Type["TimestampMicrosecond"] = -17] = "TimestampMicrosecond";
    Type[Type["TimestampNanosecond"] = -18] = "TimestampNanosecond";
    Type[Type["TimeSecond"] = -19] = "TimeSecond";
    Type[Type["TimeMillisecond"] = -20] = "TimeMillisecond";
    Type[Type["TimeMicrosecond"] = -21] = "TimeMicrosecond";
    Type[Type["TimeNanosecond"] = -22] = "TimeNanosecond";
    Type[Type["DenseUnion"] = -23] = "DenseUnion";
    Type[Type["SparseUnion"] = -24] = "SparseUnion";
    Type[Type["IntervalDayTime"] = -25] = "IntervalDayTime";
    Type[Type["IntervalYearMonth"] = -26] = "IntervalYearMonth";
})(Type || (Type = {}));
var BufferType;
(function (BufferType) {
    /**
     * used in List type, Dense Union and variable length primitive types (String, Binary)
     */
    BufferType[BufferType["OFFSET"] = 0] = "OFFSET";
    /**
     * actual data, either wixed width primitive types in slots or variable width delimited by an OFFSET vector
     */
    BufferType[BufferType["DATA"] = 1] = "DATA";
    /**
     * Bit vector indicating if each value is null
     */
    BufferType[BufferType["VALIDITY"] = 2] = "VALIDITY";
    /**
     * Type vector used in Union type
     */
    BufferType[BufferType["TYPE"] = 3] = "TYPE";
})(BufferType || (BufferType = {}));

//# sourceMappingURL=enum.mjs.map

;// ../node_modules/apache-arrow/util/bit.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.
/** @ignore */
function getBool(_data, _index, byte, bit) {
    return (byte & 1 << bit) !== 0;
}
/** @ignore */
function getBit(_data, _index, byte, bit) {
    return (byte & 1 << bit) >> bit;
}
/** @ignore */
function setBool(bytes, index, value) {
    return value ?
        !!(bytes[index >> 3] |= (1 << (index % 8))) || true :
        !(bytes[index >> 3] &= ~(1 << (index % 8))) && false;
}
/** @ignore */
function truncateBitmap(offset, length, bitmap) {
    const alignedSize = (bitmap.byteLength + 7) & ~7;
    if (offset > 0 || bitmap.byteLength < alignedSize) {
        const bytes = new Uint8Array(alignedSize);
        // If the offset is a multiple of 8 bits, it's safe to slice the bitmap
        bytes.set(offset % 8 === 0 ? bitmap.subarray(offset >> 3) :
            // Otherwise iterate each bit from the offset and return a new one
            packBools(iterateBits(bitmap, offset, length, null, getBool)).subarray(0, alignedSize));
        return bytes;
    }
    return bitmap;
}
/** @ignore */
function packBools(values) {
    let xs = [];
    let i = 0, bit = 0, byte = 0;
    for (const value of values) {
        value && (byte |= 1 << bit);
        if (++bit === 8) {
            xs[i++] = byte;
            byte = bit = 0;
        }
    }
    if (i === 0 || bit > 0) {
        xs[i++] = byte;
    }
    let b = new Uint8Array((xs.length + 7) & ~7);
    b.set(xs);
    return b;
}
/** @ignore */
function* iterateBits(bytes, begin, length, context, get) {
    let bit = begin % 8;
    let byteIndex = begin >> 3;
    let index = 0, remaining = length;
    for (; remaining > 0; bit = 0) {
        let byte = bytes[byteIndex++];
        do {
            yield get(context, index++, byte, bit);
        } while (--remaining > 0 && ++bit < 8);
    }
}
/**
 * Compute the population count (the number of bits set to 1) for a range of bits in a Uint8Array.
 * @param vector The Uint8Array of bits for which to compute the population count.
 * @param lhs The range's left-hand side (or start) bit
 * @param rhs The range's right-hand side (or end) bit
 */
/** @ignore */
function popcnt_bit_range(data, lhs, rhs) {
    if (rhs - lhs <= 0) {
        return 0;
    }
    // If the bit range is less than one byte, sum the 1 bits in the bit range
    if (rhs - lhs < 8) {
        let sum = 0;
        for (const bit of iterateBits(data, lhs, rhs - lhs, data, getBit)) {
            sum += bit;
        }
        return sum;
    }
    // Get the next lowest multiple of 8 from the right hand side
    const rhsInside = rhs >> 3 << 3;
    // Get the next highest multiple of 8 from the left hand side
    const lhsInside = lhs + (lhs % 8 === 0 ? 0 : 8 - lhs % 8);
    return (
    // Get the popcnt of bits between the left hand side, and the next highest multiple of 8
    popcnt_bit_range(data, lhs, lhsInside) +
        // Get the popcnt of bits between the right hand side, and the next lowest multiple of 8
        popcnt_bit_range(data, rhsInside, rhs) +
        // Get the popcnt of all bits between the left and right hand sides' multiples of 8
        popcnt_array(data, lhsInside >> 3, (rhsInside - lhsInside) >> 3));
}
/** @ignore */
function popcnt_array(arr, byteOffset, byteLength) {
    let cnt = 0, pos = byteOffset | 0;
    const view = new DataView(arr.buffer, arr.byteOffset, arr.byteLength);
    const len = byteLength === void 0 ? arr.byteLength : pos + byteLength;
    while (len - pos >= 4) {
        cnt += popcnt_uint32(view.getUint32(pos));
        pos += 4;
    }
    while (len - pos >= 2) {
        cnt += popcnt_uint32(view.getUint16(pos));
        pos += 2;
    }
    while (len - pos >= 1) {
        cnt += popcnt_uint32(view.getUint8(pos));
        pos += 1;
    }
    return cnt;
}
/** @ignore */
function popcnt_uint32(uint32) {
    let i = uint32 | 0;
    i = i - ((i >>> 1) & 0x55555555);
    i = (i & 0x33333333) + ((i >>> 2) & 0x33333333);
    return (((i + (i >>> 4)) & 0x0F0F0F0F) * 0x01010101) >>> 24;
}

//# sourceMappingURL=bit.mjs.map

;// ../node_modules/apache-arrow/visitor.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.




class Visitor {
    visitMany(nodes, ...args) {
        return nodes.map((node, i) => this.visit(node, ...args.map((x) => x[i])));
    }
    visit(...args) {
        return this.getVisitFn(args[0], false).apply(this, args);
    }
    getVisitFn(node, throwIfNotFound = true) {
        return getVisitFn(this, node, throwIfNotFound);
    }
    visitNull(_node, ..._args) { return null; }
    visitBool(_node, ..._args) { return null; }
    visitInt(_node, ..._args) { return null; }
    visitFloat(_node, ..._args) { return null; }
    visitUtf8(_node, ..._args) { return null; }
    visitBinary(_node, ..._args) { return null; }
    visitFixedSizeBinary(_node, ..._args) { return null; }
    visitDate(_node, ..._args) { return null; }
    visitTimestamp(_node, ..._args) { return null; }
    visitTime(_node, ..._args) { return null; }
    visitDecimal(_node, ..._args) { return null; }
    visitList(_node, ..._args) { return null; }
    visitStruct(_node, ..._args) { return null; }
    visitUnion(_node, ..._args) { return null; }
    visitDictionary(_node, ..._args) { return null; }
    visitInterval(_node, ..._args) { return null; }
    visitFixedSizeList(_node, ..._args) { return null; }
    visitMap(_node, ..._args) { return null; }
}
/** @ignore */
function getVisitFn(visitor, node, throwIfNotFound = true) {
    let fn = null;
    let dtype = Type.NONE;
    // tslint:disable
    if (node instanceof Data) {
        dtype = inferDType(node.type);
    }
    else if (node instanceof AbstractVector) {
        dtype = inferDType(node.type);
    }
    else if (node instanceof DataType) {
        dtype = inferDType(node);
    }
    else if (typeof (dtype = node) !== 'number') {
        dtype = Type[node];
    }
    switch (dtype) {
        case Type.Null:
            fn = visitor.visitNull;
            break;
        case Type.Bool:
            fn = visitor.visitBool;
            break;
        case Type.Int:
            fn = visitor.visitInt;
            break;
        case Type.Int8:
            fn = visitor.visitInt8 || visitor.visitInt;
            break;
        case Type.Int16:
            fn = visitor.visitInt16 || visitor.visitInt;
            break;
        case Type.Int32:
            fn = visitor.visitInt32 || visitor.visitInt;
            break;
        case Type.Int64:
            fn = visitor.visitInt64 || visitor.visitInt;
            break;
        case Type.Uint8:
            fn = visitor.visitUint8 || visitor.visitInt;
            break;
        case Type.Uint16:
            fn = visitor.visitUint16 || visitor.visitInt;
            break;
        case Type.Uint32:
            fn = visitor.visitUint32 || visitor.visitInt;
            break;
        case Type.Uint64:
            fn = visitor.visitUint64 || visitor.visitInt;
            break;
        case Type.Float:
            fn = visitor.visitFloat;
            break;
        case Type.Float16:
            fn = visitor.visitFloat16 || visitor.visitFloat;
            break;
        case Type.Float32:
            fn = visitor.visitFloat32 || visitor.visitFloat;
            break;
        case Type.Float64:
            fn = visitor.visitFloat64 || visitor.visitFloat;
            break;
        case Type.Utf8:
            fn = visitor.visitUtf8;
            break;
        case Type.Binary:
            fn = visitor.visitBinary;
            break;
        case Type.FixedSizeBinary:
            fn = visitor.visitFixedSizeBinary;
            break;
        case Type.Date:
            fn = visitor.visitDate;
            break;
        case Type.DateDay:
            fn = visitor.visitDateDay || visitor.visitDate;
            break;
        case Type.DateMillisecond:
            fn = visitor.visitDateMillisecond || visitor.visitDate;
            break;
        case Type.Timestamp:
            fn = visitor.visitTimestamp;
            break;
        case Type.TimestampSecond:
            fn = visitor.visitTimestampSecond || visitor.visitTimestamp;
            break;
        case Type.TimestampMillisecond:
            fn = visitor.visitTimestampMillisecond || visitor.visitTimestamp;
            break;
        case Type.TimestampMicrosecond:
            fn = visitor.visitTimestampMicrosecond || visitor.visitTimestamp;
            break;
        case Type.TimestampNanosecond:
            fn = visitor.visitTimestampNanosecond || visitor.visitTimestamp;
            break;
        case Type.Time:
            fn = visitor.visitTime;
            break;
        case Type.TimeSecond:
            fn = visitor.visitTimeSecond || visitor.visitTime;
            break;
        case Type.TimeMillisecond:
            fn = visitor.visitTimeMillisecond || visitor.visitTime;
            break;
        case Type.TimeMicrosecond:
            fn = visitor.visitTimeMicrosecond || visitor.visitTime;
            break;
        case Type.TimeNanosecond:
            fn = visitor.visitTimeNanosecond || visitor.visitTime;
            break;
        case Type.Decimal:
            fn = visitor.visitDecimal;
            break;
        case Type.List:
            fn = visitor.visitList;
            break;
        case Type.Struct:
            fn = visitor.visitStruct;
            break;
        case Type.Union:
            fn = visitor.visitUnion;
            break;
        case Type.DenseUnion:
            fn = visitor.visitDenseUnion || visitor.visitUnion;
            break;
        case Type.SparseUnion:
            fn = visitor.visitSparseUnion || visitor.visitUnion;
            break;
        case Type.Dictionary:
            fn = visitor.visitDictionary;
            break;
        case Type.Interval:
            fn = visitor.visitInterval;
            break;
        case Type.IntervalDayTime:
            fn = visitor.visitIntervalDayTime || visitor.visitInterval;
            break;
        case Type.IntervalYearMonth:
            fn = visitor.visitIntervalYearMonth || visitor.visitInterval;
            break;
        case Type.FixedSizeList:
            fn = visitor.visitFixedSizeList;
            break;
        case Type.Map:
            fn = visitor.visitMap;
            break;
    }
    if (typeof fn === 'function')
        return fn;
    if (!throwIfNotFound)
        return () => null;
    throw new Error(`Unrecognized type '${Type[dtype]}'`);
}
/** @ignore */
function inferDType(type) {
    switch (type.typeId) {
        case Type.Null: return Type.Null;
        case Type.Int:
            const { bitWidth, isSigned } = type;
            switch (bitWidth) {
                case 8: return isSigned ? Type.Int8 : Type.Uint8;
                case 16: return isSigned ? Type.Int16 : Type.Uint16;
                case 32: return isSigned ? Type.Int32 : Type.Uint32;
                case 64: return isSigned ? Type.Int64 : Type.Uint64;
            }
            // @ts-ignore
            return Type.Int;
        case Type.Float:
            switch (type.precision) {
                case Precision.HALF: return Type.Float16;
                case Precision.SINGLE: return Type.Float32;
                case Precision.DOUBLE: return Type.Float64;
            }
            // @ts-ignore
            return Type.Float;
        case Type.Binary: return Type.Binary;
        case Type.Utf8: return Type.Utf8;
        case Type.Bool: return Type.Bool;
        case Type.Decimal: return Type.Decimal;
        case Type.Time:
            switch (type.unit) {
                case TimeUnit.SECOND: return Type.TimeSecond;
                case TimeUnit.MILLISECOND: return Type.TimeMillisecond;
                case TimeUnit.MICROSECOND: return Type.TimeMicrosecond;
                case TimeUnit.NANOSECOND: return Type.TimeNanosecond;
            }
            // @ts-ignore
            return Type.Time;
        case Type.Timestamp:
            switch (type.unit) {
                case TimeUnit.SECOND: return Type.TimestampSecond;
                case TimeUnit.MILLISECOND: return Type.TimestampMillisecond;
                case TimeUnit.MICROSECOND: return Type.TimestampMicrosecond;
                case TimeUnit.NANOSECOND: return Type.TimestampNanosecond;
            }
            // @ts-ignore
            return Type.Timestamp;
        case Type.Date:
            switch (type.unit) {
                case DateUnit.DAY: return Type.DateDay;
                case DateUnit.MILLISECOND: return Type.DateMillisecond;
            }
            // @ts-ignore
            return Type.Date;
        case Type.Interval:
            switch (type.unit) {
                case IntervalUnit.DAY_TIME: return Type.IntervalDayTime;
                case IntervalUnit.YEAR_MONTH: return Type.IntervalYearMonth;
            }
            // @ts-ignore
            return Type.Interval;
        case Type.Map: return Type.Map;
        case Type.List: return Type.List;
        case Type.Struct: return Type.Struct;
        case Type.Union:
            switch (type.mode) {
                case UnionMode.Dense: return Type.DenseUnion;
                case UnionMode.Sparse: return Type.SparseUnion;
            }
            // @ts-ignore
            return Type.Union;
        case Type.FixedSizeBinary: return Type.FixedSizeBinary;
        case Type.FixedSizeList: return Type.FixedSizeList;
        case Type.Dictionary: return Type.Dictionary;
    }
    throw new Error(`Unrecognized type '${Type[type.typeId]}'`);
}
// Add these here so they're picked up by the externs creator
// in the build, and closure-compiler doesn't minify them away
Visitor.prototype.visitInt8 = null;
Visitor.prototype.visitInt16 = null;
Visitor.prototype.visitInt32 = null;
Visitor.prototype.visitInt64 = null;
Visitor.prototype.visitUint8 = null;
Visitor.prototype.visitUint16 = null;
Visitor.prototype.visitUint32 = null;
Visitor.prototype.visitUint64 = null;
Visitor.prototype.visitFloat16 = null;
Visitor.prototype.visitFloat32 = null;
Visitor.prototype.visitFloat64 = null;
Visitor.prototype.visitDateDay = null;
Visitor.prototype.visitDateMillisecond = null;
Visitor.prototype.visitTimestampSecond = null;
Visitor.prototype.visitTimestampMillisecond = null;
Visitor.prototype.visitTimestampMicrosecond = null;
Visitor.prototype.visitTimestampNanosecond = null;
Visitor.prototype.visitTimeSecond = null;
Visitor.prototype.visitTimeMillisecond = null;
Visitor.prototype.visitTimeMicrosecond = null;
Visitor.prototype.visitTimeNanosecond = null;
Visitor.prototype.visitDenseUnion = null;
Visitor.prototype.visitSparseUnion = null;
Visitor.prototype.visitIntervalDayTime = null;
Visitor.prototype.visitIntervalYearMonth = null;

//# sourceMappingURL=visitor.mjs.map

;// ../node_modules/apache-arrow/visitor/typecomparator.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.

/** @ignore */
class TypeComparator extends Visitor {
    compareSchemas(schema, other) {
        return (schema === other) || (other instanceof schema.constructor &&
            typecomparator_instance.compareFields(schema.fields, other.fields));
    }
    compareFields(fields, others) {
        return (fields === others) || (Array.isArray(fields) &&
            Array.isArray(others) &&
            fields.length === others.length &&
            fields.every((f, i) => typecomparator_instance.compareField(f, others[i])));
    }
    compareField(field, other) {
        return (field === other) || (other instanceof field.constructor &&
            field.name === other.name &&
            field.nullable === other.nullable &&
            typecomparator_instance.visit(field.type, other.type));
    }
}
function compareConstructor(type, other) {
    return other instanceof type.constructor;
}
function compareAny(type, other) {
    return (type === other) || compareConstructor(type, other);
}
function compareInt(type, other) {
    return (type === other) || (compareConstructor(type, other) &&
        type.bitWidth === other.bitWidth &&
        type.isSigned === other.isSigned);
}
function compareFloat(type, other) {
    return (type === other) || (compareConstructor(type, other) &&
        type.precision === other.precision);
}
function compareFixedSizeBinary(type, other) {
    return (type === other) || (compareConstructor(type, other) &&
        type.byteWidth === other.byteWidth);
}
function compareDate(type, other) {
    return (type === other) || (compareConstructor(type, other) &&
        type.unit === other.unit);
}
function compareTimestamp(type, other) {
    return (type === other) || (compareConstructor(type, other) &&
        type.unit === other.unit &&
        type.timezone === other.timezone);
}
function compareTime(type, other) {
    return (type === other) || (compareConstructor(type, other) &&
        type.unit === other.unit &&
        type.bitWidth === other.bitWidth);
}
function compareList(type, other) {
    return (type === other) || (compareConstructor(type, other) &&
        type.children.length === other.children.length &&
        typecomparator_instance.compareFields(type.children, other.children));
}
function compareStruct(type, other) {
    return (type === other) || (compareConstructor(type, other) &&
        type.children.length === other.children.length &&
        typecomparator_instance.compareFields(type.children, other.children));
}
function compareUnion(type, other) {
    return (type === other) || (compareConstructor(type, other) &&
        type.mode === other.mode &&
        type.typeIds.every((x, i) => x === other.typeIds[i]) &&
        typecomparator_instance.compareFields(type.children, other.children));
}
function compareDictionary(type, other) {
    return (type === other) || (compareConstructor(type, other) &&
        type.id === other.id &&
        type.isOrdered === other.isOrdered &&
        typecomparator_instance.visit(type.indices, other.indices) &&
        typecomparator_instance.visit(type.dictionary, other.dictionary));
}
function compareInterval(type, other) {
    return (type === other) || (compareConstructor(type, other) &&
        type.unit === other.unit);
}
function compareFixedSizeList(type, other) {
    return (type === other) || (compareConstructor(type, other) &&
        type.listSize === other.listSize &&
        type.children.length === other.children.length &&
        typecomparator_instance.compareFields(type.children, other.children));
}
function compareMap(type, other) {
    return (type === other) || (compareConstructor(type, other) &&
        type.keysSorted === other.keysSorted &&
        type.children.length === other.children.length &&
        typecomparator_instance.compareFields(type.children, other.children));
}
TypeComparator.prototype.visitNull = compareAny;
TypeComparator.prototype.visitBool = compareAny;
TypeComparator.prototype.visitInt = compareInt;
TypeComparator.prototype.visitInt8 = compareInt;
TypeComparator.prototype.visitInt16 = compareInt;
TypeComparator.prototype.visitInt32 = compareInt;
TypeComparator.prototype.visitInt64 = compareInt;
TypeComparator.prototype.visitUint8 = compareInt;
TypeComparator.prototype.visitUint16 = compareInt;
TypeComparator.prototype.visitUint32 = compareInt;
TypeComparator.prototype.visitUint64 = compareInt;
TypeComparator.prototype.visitFloat = compareFloat;
TypeComparator.prototype.visitFloat16 = compareFloat;
TypeComparator.prototype.visitFloat32 = compareFloat;
TypeComparator.prototype.visitFloat64 = compareFloat;
TypeComparator.prototype.visitUtf8 = compareAny;
TypeComparator.prototype.visitBinary = compareAny;
TypeComparator.prototype.visitFixedSizeBinary = compareFixedSizeBinary;
TypeComparator.prototype.visitDate = compareDate;
TypeComparator.prototype.visitDateDay = compareDate;
TypeComparator.prototype.visitDateMillisecond = compareDate;
TypeComparator.prototype.visitTimestamp = compareTimestamp;
TypeComparator.prototype.visitTimestampSecond = compareTimestamp;
TypeComparator.prototype.visitTimestampMillisecond = compareTimestamp;
TypeComparator.prototype.visitTimestampMicrosecond = compareTimestamp;
TypeComparator.prototype.visitTimestampNanosecond = compareTimestamp;
TypeComparator.prototype.visitTime = compareTime;
TypeComparator.prototype.visitTimeSecond = compareTime;
TypeComparator.prototype.visitTimeMillisecond = compareTime;
TypeComparator.prototype.visitTimeMicrosecond = compareTime;
TypeComparator.prototype.visitTimeNanosecond = compareTime;
TypeComparator.prototype.visitDecimal = compareAny;
TypeComparator.prototype.visitList = compareList;
TypeComparator.prototype.visitStruct = compareStruct;
TypeComparator.prototype.visitUnion = compareUnion;
TypeComparator.prototype.visitDenseUnion = compareUnion;
TypeComparator.prototype.visitSparseUnion = compareUnion;
TypeComparator.prototype.visitDictionary = compareDictionary;
TypeComparator.prototype.visitInterval = compareInterval;
TypeComparator.prototype.visitIntervalDayTime = compareInterval;
TypeComparator.prototype.visitIntervalYearMonth = compareInterval;
TypeComparator.prototype.visitFixedSizeList = compareFixedSizeList;
TypeComparator.prototype.visitMap = compareMap;
/** @ignore */
const typecomparator_instance = new TypeComparator();

//# sourceMappingURL=typecomparator.mjs.map

;// ../node_modules/apache-arrow/type.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.


/**
 * An abstract base class for classes that encapsulate metadata about each of
 * the logical types that Arrow can represent.
 */
class DataType {
    /** @nocollapse */ static isNull(x) { return x && x.typeId === Type.Null; }
    /** @nocollapse */ static isInt(x) { return x && x.typeId === Type.Int; }
    /** @nocollapse */ static isFloat(x) { return x && x.typeId === Type.Float; }
    /** @nocollapse */ static isBinary(x) { return x && x.typeId === Type.Binary; }
    /** @nocollapse */ static isUtf8(x) { return x && x.typeId === Type.Utf8; }
    /** @nocollapse */ static isBool(x) { return x && x.typeId === Type.Bool; }
    /** @nocollapse */ static isDecimal(x) { return x && x.typeId === Type.Decimal; }
    /** @nocollapse */ static isDate(x) { return x && x.typeId === Type.Date; }
    /** @nocollapse */ static isTime(x) { return x && x.typeId === Type.Time; }
    /** @nocollapse */ static isTimestamp(x) { return x && x.typeId === Type.Timestamp; }
    /** @nocollapse */ static isInterval(x) { return x && x.typeId === Type.Interval; }
    /** @nocollapse */ static isList(x) { return x && x.typeId === Type.List; }
    /** @nocollapse */ static isStruct(x) { return x && x.typeId === Type.Struct; }
    /** @nocollapse */ static isUnion(x) { return x && x.typeId === Type.Union; }
    /** @nocollapse */ static isFixedSizeBinary(x) { return x && x.typeId === Type.FixedSizeBinary; }
    /** @nocollapse */ static isFixedSizeList(x) { return x && x.typeId === Type.FixedSizeList; }
    /** @nocollapse */ static isMap(x) { return x && x.typeId === Type.Map; }
    /** @nocollapse */ static isDictionary(x) { return x && x.typeId === Type.Dictionary; }
    get typeId() { return Type.NONE; }
    compareTo(other) {
        return typecomparator_instance.visit(this, other);
    }
}
DataType[Symbol.toStringTag] = ((proto) => {
    proto.children = null;
    proto.ArrayType = Array;
    return proto[Symbol.toStringTag] = 'DataType';
})(DataType.prototype);
/** @ignore */
class Null extends DataType {
    toString() { return `Null`; }
    get typeId() { return Type.Null; }
}
Null[Symbol.toStringTag] = ((proto) => {
    return proto[Symbol.toStringTag] = 'Null';
})(Null.prototype);
/** @ignore */
class Int_ extends DataType {
    constructor(isSigned, bitWidth) {
        super();
        this.isSigned = isSigned;
        this.bitWidth = bitWidth;
    }
    get typeId() { return Type.Int; }
    get ArrayType() {
        switch (this.bitWidth) {
            case 8: return this.isSigned ? Int8Array : Uint8Array;
            case 16: return this.isSigned ? Int16Array : Uint16Array;
            case 32: return this.isSigned ? Int32Array : Uint32Array;
            case 64: return this.isSigned ? Int32Array : Uint32Array;
        }
        throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`);
    }
    toString() { return `${this.isSigned ? `I` : `Ui`}nt${this.bitWidth}`; }
}
Int_[Symbol.toStringTag] = ((proto) => {
    proto.isSigned = null;
    proto.bitWidth = null;
    return proto[Symbol.toStringTag] = 'Int';
})(Int_.prototype);

/** @ignore */
class Int8 extends Int_ {
    constructor() { super(true, 8); }
}
/** @ignore */
class Int16 extends Int_ {
    constructor() { super(true, 16); }
}
/** @ignore */
class Int32 extends Int_ {
    constructor() { super(true, 32); }
}
/** @ignore */
class Int64 extends Int_ {
    constructor() { super(true, 64); }
}
/** @ignore */
class Uint8 extends Int_ {
    constructor() { super(false, 8); }
}
/** @ignore */
class Uint16 extends Int_ {
    constructor() { super(false, 16); }
}
/** @ignore */
class Uint32 extends Int_ {
    constructor() { super(false, 32); }
}
/** @ignore */
class Uint64 extends Int_ {
    constructor() { super(false, 64); }
}
Object.defineProperty(Int8.prototype, 'ArrayType', { value: Int8Array });
Object.defineProperty(Int16.prototype, 'ArrayType', { value: Int16Array });
Object.defineProperty(Int32.prototype, 'ArrayType', { value: Int32Array });
Object.defineProperty(Int64.prototype, 'ArrayType', { value: Int32Array });
Object.defineProperty(Uint8.prototype, 'ArrayType', { value: Uint8Array });
Object.defineProperty(Uint16.prototype, 'ArrayType', { value: Uint16Array });
Object.defineProperty(Uint32.prototype, 'ArrayType', { value: Uint32Array });
Object.defineProperty(Uint64.prototype, 'ArrayType', { value: Uint32Array });
/** @ignore */
class Float extends DataType {
    constructor(precision) {
        super();
        this.precision = precision;
    }
    get typeId() { return Type.Float; }
    get ArrayType() {
        switch (this.precision) {
            case Precision.HALF: return Uint16Array;
            case Precision.SINGLE: return Float32Array;
            case Precision.DOUBLE: return Float64Array;
        }
        // @ts-ignore
        throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`);
    }
    toString() { return `Float${(this.precision << 5) || 16}`; }
}
Float[Symbol.toStringTag] = ((proto) => {
    proto.precision = null;
    return proto[Symbol.toStringTag] = 'Float';
})(Float.prototype);
/** @ignore */
class Float16 extends Float {
    constructor() { super(Precision.HALF); }
}
/** @ignore */
class Float32 extends Float {
    constructor() { super(Precision.SINGLE); }
}
/** @ignore */
class Float64 extends Float {
    constructor() { super(Precision.DOUBLE); }
}
Object.defineProperty(Float16.prototype, 'ArrayType', { value: Uint16Array });
Object.defineProperty(Float32.prototype, 'ArrayType', { value: Float32Array });
Object.defineProperty(Float64.prototype, 'ArrayType', { value: Float64Array });
/** @ignore */
class Binary extends DataType {
    constructor() {
        super();
    }
    get typeId() { return Type.Binary; }
    toString() { return `Binary`; }
}
Binary[Symbol.toStringTag] = ((proto) => {
    proto.ArrayType = Uint8Array;
    return proto[Symbol.toStringTag] = 'Binary';
})(Binary.prototype);
/** @ignore */
class Utf8 extends DataType {
    constructor() {
        super();
    }
    get typeId() { return Type.Utf8; }
    toString() { return `Utf8`; }
}
Utf8[Symbol.toStringTag] = ((proto) => {
    proto.ArrayType = Uint8Array;
    return proto[Symbol.toStringTag] = 'Utf8';
})(Utf8.prototype);
/** @ignore */
class Bool extends DataType {
    constructor() {
        super();
    }
    get typeId() { return Type.Bool; }
    toString() { return `Bool`; }
}
Bool[Symbol.toStringTag] = ((proto) => {
    proto.ArrayType = Uint8Array;
    return proto[Symbol.toStringTag] = 'Bool';
})(Bool.prototype);
/** @ignore */
class Decimal extends DataType {
    constructor(scale, precision) {
        super();
        this.scale = scale;
        this.precision = precision;
    }
    get typeId() { return Type.Decimal; }
    toString() { return `Decimal[${this.precision}e${this.scale > 0 ? `+` : ``}${this.scale}]`; }
}
Decimal[Symbol.toStringTag] = ((proto) => {
    proto.scale = null;
    proto.precision = null;
    proto.ArrayType = Uint32Array;
    return proto[Symbol.toStringTag] = 'Decimal';
})(Decimal.prototype);
/** @ignore */
class Date_ extends DataType {
    constructor(unit) {
        super();
        this.unit = unit;
    }
    get typeId() { return Type.Date; }
    toString() { return `Date${(this.unit + 1) * 32}<${DateUnit[this.unit]}>`; }
}
Date_[Symbol.toStringTag] = ((proto) => {
    proto.unit = null;
    proto.ArrayType = Int32Array;
    return proto[Symbol.toStringTag] = 'Date';
})(Date_.prototype);
/** @ignore */
class DateDay extends Date_ {
    constructor() { super(DateUnit.DAY); }
}
/** @ignore */
class DateMillisecond extends Date_ {
    constructor() { super(DateUnit.MILLISECOND); }
}
/** @ignore */
class Time_ extends DataType {
    constructor(unit, bitWidth) {
        super();
        this.unit = unit;
        this.bitWidth = bitWidth;
    }
    get typeId() { return Type.Time; }
    toString() { return `Time${this.bitWidth}<${TimeUnit[this.unit]}>`; }
}
Time_[Symbol.toStringTag] = ((proto) => {
    proto.unit = null;
    proto.bitWidth = null;
    proto.ArrayType = Int32Array;
    return proto[Symbol.toStringTag] = 'Time';
})(Time_.prototype);

/** @ignore */
class TimeSecond extends Time_ {
    constructor() { super(TimeUnit.SECOND, 32); }
}
/** @ignore */
class TimeMillisecond extends Time_ {
    constructor() { super(TimeUnit.MILLISECOND, 32); }
}
/** @ignore */
class TimeMicrosecond extends Time_ {
    constructor() { super(TimeUnit.MICROSECOND, 64); }
}
/** @ignore */
class TimeNanosecond extends Time_ {
    constructor() { super(TimeUnit.NANOSECOND, 64); }
}
/** @ignore */
class Timestamp_ extends DataType {
    constructor(unit, timezone) {
        super();
        this.unit = unit;
        this.timezone = timezone;
    }
    get typeId() { return Type.Timestamp; }
    toString() { return `Timestamp<${TimeUnit[this.unit]}${this.timezone ? `, ${this.timezone}` : ``}>`; }
}
Timestamp_[Symbol.toStringTag] = ((proto) => {
    proto.unit = null;
    proto.timezone = null;
    proto.ArrayType = Int32Array;
    return proto[Symbol.toStringTag] = 'Timestamp';
})(Timestamp_.prototype);

/** @ignore */
class TimestampSecond extends Timestamp_ {
    constructor(timezone) { super(TimeUnit.SECOND, timezone); }
}
/** @ignore */
class TimestampMillisecond extends Timestamp_ {
    constructor(timezone) { super(TimeUnit.MILLISECOND, timezone); }
}
/** @ignore */
class TimestampMicrosecond extends Timestamp_ {
    constructor(timezone) { super(TimeUnit.MICROSECOND, timezone); }
}
/** @ignore */
class TimestampNanosecond extends Timestamp_ {
    constructor(timezone) { super(TimeUnit.NANOSECOND, timezone); }
}
/** @ignore */
class Interval_ extends DataType {
    constructor(unit) {
        super();
        this.unit = unit;
    }
    get typeId() { return Type.Interval; }
    toString() { return `Interval<${IntervalUnit[this.unit]}>`; }
}
Interval_[Symbol.toStringTag] = ((proto) => {
    proto.unit = null;
    proto.ArrayType = Int32Array;
    return proto[Symbol.toStringTag] = 'Interval';
})(Interval_.prototype);

/** @ignore */
class IntervalDayTime extends Interval_ {
    constructor() { super(IntervalUnit.DAY_TIME); }
}
/** @ignore */
class IntervalYearMonth extends Interval_ {
    constructor() { super(IntervalUnit.YEAR_MONTH); }
}
/** @ignore */
class List extends DataType {
    constructor(child) {
        super();
        this.children = [child];
    }
    get typeId() { return Type.List; }
    toString() { return `List<${this.valueType}>`; }
    get valueType() { return this.children[0].type; }
    get valueField() { return this.children[0]; }
    get ArrayType() { return this.valueType.ArrayType; }
}
List[Symbol.toStringTag] = ((proto) => {
    proto.children = null;
    return proto[Symbol.toStringTag] = 'List';
})(List.prototype);
/** @ignore */
class Struct extends DataType {
    constructor(children) {
        super();
        this.children = children;
    }
    get typeId() { return Type.Struct; }
    toString() { return `Struct<{${this.children.map((f) => `${f.name}:${f.type}`).join(`, `)}}>`; }
}
Struct[Symbol.toStringTag] = ((proto) => {
    proto.children = null;
    return proto[Symbol.toStringTag] = 'Struct';
})(Struct.prototype);
/** @ignore */
class Union_ extends DataType {
    constructor(mode, typeIds, children) {
        super();
        this.mode = mode;
        this.children = children;
        this.typeIds = typeIds = Int32Array.from(typeIds);
        this.typeIdToChildIndex = typeIds.reduce((typeIdToChildIndex, typeId, idx) => {
            return (typeIdToChildIndex[typeId] = idx) && typeIdToChildIndex || typeIdToChildIndex;
        }, Object.create(null));
    }
    get typeId() { return Type.Union; }
    toString() {
        return `${this[Symbol.toStringTag]}<${this.children.map((x) => `${x.type}`).join(` | `)}>`;
    }
}
Union_[Symbol.toStringTag] = ((proto) => {
    proto.mode = null;
    proto.typeIds = null;
    proto.children = null;
    proto.typeIdToChildIndex = null;
    proto.ArrayType = Int8Array;
    return proto[Symbol.toStringTag] = 'Union';
})(Union_.prototype);

/** @ignore */
class DenseUnion extends Union_ {
    constructor(typeIds, children) {
        super(UnionMode.Dense, typeIds, children);
    }
}
/** @ignore */
class SparseUnion extends Union_ {
    constructor(typeIds, children) {
        super(UnionMode.Sparse, typeIds, children);
    }
}
/** @ignore */
class FixedSizeBinary extends DataType {
    constructor(byteWidth) {
        super();
        this.byteWidth = byteWidth;
    }
    get typeId() { return Type.FixedSizeBinary; }
    toString() { return `FixedSizeBinary[${this.byteWidth}]`; }
}
FixedSizeBinary[Symbol.toStringTag] = ((proto) => {
    proto.byteWidth = null;
    proto.ArrayType = Uint8Array;
    return proto[Symbol.toStringTag] = 'FixedSizeBinary';
})(FixedSizeBinary.prototype);
/** @ignore */
class FixedSizeList extends DataType {
    constructor(listSize, child) {
        super();
        this.listSize = listSize;
        this.children = [child];
    }
    get typeId() { return Type.FixedSizeList; }
    get valueType() { return this.children[0].type; }
    get valueField() { return this.children[0]; }
    get ArrayType() { return this.valueType.ArrayType; }
    toString() { return `FixedSizeList[${this.listSize}]<${this.valueType}>`; }
}
FixedSizeList[Symbol.toStringTag] = ((proto) => {
    proto.children = null;
    proto.listSize = null;
    return proto[Symbol.toStringTag] = 'FixedSizeList';
})(FixedSizeList.prototype);
/** @ignore */
class Map_ extends DataType {
    constructor(child, keysSorted = false) {
        super();
        this.children = [child];
        this.keysSorted = keysSorted;
    }
    get typeId() { return Type.Map; }
    get keyType() { return this.children[0].type.children[0].type; }
    get valueType() { return this.children[0].type.children[1].type; }
    toString() { return `Map<{${this.children[0].type.children.map((f) => `${f.name}:${f.type}`).join(`, `)}}>`; }
}
Map_[Symbol.toStringTag] = ((proto) => {
    proto.children = null;
    proto.keysSorted = null;
    return proto[Symbol.toStringTag] = 'Map_';
})(Map_.prototype);
/** @ignore */
const getId = ((atomicDictionaryId) => () => ++atomicDictionaryId)(-1);
/** @ignore */
class type_Dictionary extends DataType {
    constructor(dictionary, indices, id, isOrdered) {
        super();
        this.indices = indices;
        this.dictionary = dictionary;
        this.isOrdered = isOrdered || false;
        this.id = id == null ? getId() : typeof id === 'number' ? id : id.low;
    }
    get typeId() { return Type.Dictionary; }
    get children() { return this.dictionary.children; }
    get valueType() { return this.dictionary; }
    get ArrayType() { return this.dictionary.ArrayType; }
    toString() { return `Dictionary<${this.indices}, ${this.dictionary}>`; }
}
type_Dictionary[Symbol.toStringTag] = ((proto) => {
    proto.id = null;
    proto.indices = null;
    proto.isOrdered = null;
    proto.dictionary = null;
    return proto[Symbol.toStringTag] = 'Dictionary';
})(type_Dictionary.prototype);
/** @ignore */
function strideForType(type) {
    let t = type;
    switch (type.typeId) {
        case Type.Decimal: return 4;
        case Type.Timestamp: return 2;
        case Type.Date: return 1 + t.unit;
        case Type.Interval: return 1 + t.unit;
        case Type.Int: return 1 + +(t.bitWidth > 32);
        case Type.Time: return 1 + +(t.bitWidth > 32);
        case Type.FixedSizeList: return t.listSize;
        case Type.FixedSizeBinary: return t.byteWidth;
        default: return 1;
    }
}

//# sourceMappingURL=type.mjs.map

;// ../node_modules/apache-arrow/data.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.





/** @ignore */ const kUnknownNullCount = -1;
/** @ignore */
class Data {
    constructor(type, offset, length, nullCount, buffers, childData, dictionary) {
        this.type = type;
        this.dictionary = dictionary;
        this.offset = Math.floor(Math.max(offset || 0, 0));
        this.length = Math.floor(Math.max(length || 0, 0));
        this._nullCount = Math.floor(Math.max(nullCount || 0, -1));
        this.childData = (childData || []).map((x) => x instanceof Data ? x : x.data);
        let buffer;
        if (buffers instanceof Data) {
            this.stride = buffers.stride;
            this.values = buffers.values;
            this.typeIds = buffers.typeIds;
            this.nullBitmap = buffers.nullBitmap;
            this.valueOffsets = buffers.valueOffsets;
        }
        else {
            this.stride = strideForType(type);
            if (buffers) {
                (buffer = buffers[0]) && (this.valueOffsets = buffer);
                (buffer = buffers[1]) && (this.values = buffer);
                (buffer = buffers[2]) && (this.nullBitmap = buffer);
                (buffer = buffers[3]) && (this.typeIds = buffer);
            }
        }
    }
    get typeId() { return this.type.typeId; }
    get ArrayType() { return this.type.ArrayType; }
    get buffers() {
        return [this.valueOffsets, this.values, this.nullBitmap, this.typeIds];
    }
    get byteLength() {
        let byteLength = 0;
        let { valueOffsets, values, nullBitmap, typeIds } = this;
        valueOffsets && (byteLength += valueOffsets.byteLength);
        values && (byteLength += values.byteLength);
        nullBitmap && (byteLength += nullBitmap.byteLength);
        typeIds && (byteLength += typeIds.byteLength);
        return this.childData.reduce((byteLength, child) => byteLength + child.byteLength, byteLength);
    }
    get nullCount() {
        let nullCount = this._nullCount;
        let nullBitmap;
        if (nullCount <= kUnknownNullCount && (nullBitmap = this.nullBitmap)) {
            this._nullCount = nullCount = this.length - popcnt_bit_range(nullBitmap, this.offset, this.offset + this.length);
        }
        return nullCount;
    }
    clone(type, offset = this.offset, length = this.length, nullCount = this._nullCount, buffers = this, childData = this.childData) {
        return new Data(type, offset, length, nullCount, buffers, childData, this.dictionary);
    }
    slice(offset, length) {
        const { stride, typeId, childData } = this;
        // +true === 1, +false === 0, so this means
        // we keep nullCount at 0 if it's already 0,
        // otherwise set to the invalidated flag -1
        const nullCount = +(this._nullCount === 0) - 1;
        const childStride = typeId === 16 /* FixedSizeList */ ? stride : 1;
        const buffers = this._sliceBuffers(offset, length, stride, typeId);
        return this.clone(this.type, this.offset + offset, length, nullCount, buffers, 
        // Don't slice children if we have value offsets (the variable-width types)
        (!childData.length || this.valueOffsets) ? childData : this._sliceChildren(childData, childStride * offset, childStride * length));
    }
    _changeLengthAndBackfillNullBitmap(newLength) {
        if (this.typeId === Type.Null) {
            return this.clone(this.type, 0, newLength, 0);
        }
        const { length, nullCount } = this;
        // start initialized with 0s (nulls), then fill from 0 to length with 1s (not null)
        const bitmap = new Uint8Array(((newLength + 63) & ~63) >> 3).fill(255, 0, length >> 3);
        // set all the bits in the last byte (up to bit `length - length % 8`) to 1 (not null)
        bitmap[length >> 3] = (1 << (length - (length & ~7))) - 1;
        // if we have a nullBitmap, truncate + slice and set it over the pre-filled 1s
        if (nullCount > 0) {
            bitmap.set(truncateBitmap(this.offset, length, this.nullBitmap), 0);
        }
        const buffers = this.buffers;
        buffers[BufferType.VALIDITY] = bitmap;
        return this.clone(this.type, 0, newLength, nullCount + (newLength - length), buffers);
    }
    _sliceBuffers(offset, length, stride, typeId) {
        let arr, { buffers } = this;
        // If typeIds exist, slice the typeIds buffer
        (arr = buffers[BufferType.TYPE]) && (buffers[BufferType.TYPE] = arr.subarray(offset, offset + length));
        // If offsets exist, only slice the offsets buffer
        (arr = buffers[BufferType.OFFSET]) && (buffers[BufferType.OFFSET] = arr.subarray(offset, offset + length + 1)) ||
            // Otherwise if no offsets, slice the data buffer. Don't slice the data vector for Booleans, since the offset goes by bits not bytes
            (arr = buffers[BufferType.DATA]) && (buffers[BufferType.DATA] = typeId === 6 ? arr : arr.subarray(stride * offset, stride * (offset + length)));
        return buffers;
    }
    _sliceChildren(childData, offset, length) {
        return childData.map((child) => child.slice(offset, length));
    }
    //
    // Convenience methods for creating Data instances for each of the Arrow Vector types
    //
    /** @nocollapse */
    static new(type, offset, length, nullCount, buffers, childData, dictionary) {
        if (buffers instanceof Data) {
            buffers = buffers.buffers;
        }
        else if (!buffers) {
            buffers = [];
        }
        switch (type.typeId) {
            case Type.Null: return Data.Null(type, offset, length);
            case Type.Int: return Data.Int(type, offset, length, nullCount || 0, buffers[BufferType.VALIDITY], buffers[BufferType.DATA] || []);
            case Type.Dictionary: return Data.Dictionary(type, offset, length, nullCount || 0, buffers[BufferType.VALIDITY], buffers[BufferType.DATA] || [], dictionary);
            case Type.Float: return Data.Float(type, offset, length, nullCount || 0, buffers[BufferType.VALIDITY], buffers[BufferType.DATA] || []);
            case Type.Bool: return Data.Bool(type, offset, length, nullCount || 0, buffers[BufferType.VALIDITY], buffers[BufferType.DATA] || []);
            case Type.Decimal: return Data.Decimal(type, offset, length, nullCount || 0, buffers[BufferType.VALIDITY], buffers[BufferType.DATA] || []);
            case Type.Date: return Data.Date(type, offset, length, nullCount || 0, buffers[BufferType.VALIDITY], buffers[BufferType.DATA] || []);
            case Type.Time: return Data.Time(type, offset, length, nullCount || 0, buffers[BufferType.VALIDITY], buffers[BufferType.DATA] || []);
            case Type.Timestamp: return Data.Timestamp(type, offset, length, nullCount || 0, buffers[BufferType.VALIDITY], buffers[BufferType.DATA] || []);
            case Type.Interval: return Data.Interval(type, offset, length, nullCount || 0, buffers[BufferType.VALIDITY], buffers[BufferType.DATA] || []);
            case Type.FixedSizeBinary: return Data.FixedSizeBinary(type, offset, length, nullCount || 0, buffers[BufferType.VALIDITY], buffers[BufferType.DATA] || []);
            case Type.Binary: return Data.Binary(type, offset, length, nullCount || 0, buffers[BufferType.VALIDITY], buffers[BufferType.OFFSET] || [], buffers[BufferType.DATA] || []);
            case Type.Utf8: return Data.Utf8(type, offset, length, nullCount || 0, buffers[BufferType.VALIDITY], buffers[BufferType.OFFSET] || [], buffers[BufferType.DATA] || []);
            case Type.List: return Data.List(type, offset, length, nullCount || 0, buffers[BufferType.VALIDITY], buffers[BufferType.OFFSET] || [], (childData || [])[0]);
            case Type.FixedSizeList: return Data.FixedSizeList(type, offset, length, nullCount || 0, buffers[BufferType.VALIDITY], (childData || [])[0]);
            case Type.Struct: return Data.Struct(type, offset, length, nullCount || 0, buffers[BufferType.VALIDITY], childData || []);
            case Type.Map: return Data.Map(type, offset, length, nullCount || 0, buffers[BufferType.VALIDITY], buffers[BufferType.OFFSET] || [], (childData || [])[0]);
            case Type.Union: return Data.Union(type, offset, length, nullCount || 0, buffers[BufferType.VALIDITY], buffers[BufferType.TYPE] || [], buffers[BufferType.OFFSET] || childData, childData);
        }
        throw new Error(`Unrecognized typeId ${type.typeId}`);
    }
    /** @nocollapse */
    static Null(type, offset, length) {
        return new Data(type, offset, length, 0);
    }
    /** @nocollapse */
    static Int(type, offset, length, nullCount, nullBitmap, data) {
        return new Data(type, offset, length, nullCount, [undefined, toArrayBufferView(type.ArrayType, data), toUint8Array(nullBitmap)]);
    }
    /** @nocollapse */
    static Dictionary(type, offset, length, nullCount, nullBitmap, data, dictionary) {
        return new Data(type, offset, length, nullCount, [undefined, toArrayBufferView(type.indices.ArrayType, data), toUint8Array(nullBitmap)], [], dictionary);
    }
    /** @nocollapse */
    static Float(type, offset, length, nullCount, nullBitmap, data) {
        return new Data(type, offset, length, nullCount, [undefined, toArrayBufferView(type.ArrayType, data), toUint8Array(nullBitmap)]);
    }
    /** @nocollapse */
    static Bool(type, offset, length, nullCount, nullBitmap, data) {
        return new Data(type, offset, length, nullCount, [undefined, toArrayBufferView(type.ArrayType, data), toUint8Array(nullBitmap)]);
    }
    /** @nocollapse */
    static Decimal(type, offset, length, nullCount, nullBitmap, data) {
        return new Data(type, offset, length, nullCount, [undefined, toArrayBufferView(type.ArrayType, data), toUint8Array(nullBitmap)]);
    }
    /** @nocollapse */
    static Date(type, offset, length, nullCount, nullBitmap, data) {
        return new Data(type, offset, length, nullCount, [undefined, toArrayBufferView(type.ArrayType, data), toUint8Array(nullBitmap)]);
    }
    /** @nocollapse */
    static Time(type, offset, length, nullCount, nullBitmap, data) {
        return new Data(type, offset, length, nullCount, [undefined, toArrayBufferView(type.ArrayType, data), toUint8Array(nullBitmap)]);
    }
    /** @nocollapse */
    static Timestamp(type, offset, length, nullCount, nullBitmap, data) {
        return new Data(type, offset, length, nullCount, [undefined, toArrayBufferView(type.ArrayType, data), toUint8Array(nullBitmap)]);
    }
    /** @nocollapse */
    static Interval(type, offset, length, nullCount, nullBitmap, data) {
        return new Data(type, offset, length, nullCount, [undefined, toArrayBufferView(type.ArrayType, data), toUint8Array(nullBitmap)]);
    }
    /** @nocollapse */
    static FixedSizeBinary(type, offset, length, nullCount, nullBitmap, data) {
        return new Data(type, offset, length, nullCount, [undefined, toArrayBufferView(type.ArrayType, data), toUint8Array(nullBitmap)]);
    }
    /** @nocollapse */
    static Binary(type, offset, length, nullCount, nullBitmap, valueOffsets, data) {
        return new Data(type, offset, length, nullCount, [toInt32Array(valueOffsets), toUint8Array(data), toUint8Array(nullBitmap)]);
    }
    /** @nocollapse */
    static Utf8(type, offset, length, nullCount, nullBitmap, valueOffsets, data) {
        return new Data(type, offset, length, nullCount, [toInt32Array(valueOffsets), toUint8Array(data), toUint8Array(nullBitmap)]);
    }
    /** @nocollapse */
    static List(type, offset, length, nullCount, nullBitmap, valueOffsets, child) {
        return new Data(type, offset, length, nullCount, [toInt32Array(valueOffsets), undefined, toUint8Array(nullBitmap)], child ? [child] : []);
    }
    /** @nocollapse */
    static FixedSizeList(type, offset, length, nullCount, nullBitmap, child) {
        return new Data(type, offset, length, nullCount, [undefined, undefined, toUint8Array(nullBitmap)], child ? [child] : []);
    }
    /** @nocollapse */
    static Struct(type, offset, length, nullCount, nullBitmap, children) {
        return new Data(type, offset, length, nullCount, [undefined, undefined, toUint8Array(nullBitmap)], children);
    }
    /** @nocollapse */
    static Map(type, offset, length, nullCount, nullBitmap, valueOffsets, child) {
        return new Data(type, offset, length, nullCount, [toInt32Array(valueOffsets), undefined, toUint8Array(nullBitmap)], child ? [child] : []);
    }
    /** @nocollapse */
    static Union(type, offset, length, nullCount, nullBitmap, typeIds, valueOffsetsOrChildren, children) {
        const buffers = [
            undefined, undefined,
            toUint8Array(nullBitmap),
            toArrayBufferView(type.ArrayType, typeIds)
        ];
        if (type.mode === UnionMode.Sparse) {
            return new Data(type, offset, length, nullCount, buffers, valueOffsetsOrChildren);
        }
        buffers[BufferType.OFFSET] = toInt32Array(valueOffsetsOrChildren);
        return new Data(type, offset, length, nullCount, buffers, children);
    }
}
Data.prototype.childData = Object.freeze([]);

//# sourceMappingURL=data.mjs.map

;// ../node_modules/apache-arrow/util/pretty.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.
/** @ignore */ const undf = void (0);
/** @ignore */
function valueToString(x) {
    if (x === null) {
        return 'null';
    }
    if (x === undf) {
        return 'undefined';
    }
    switch (typeof x) {
        case 'number': return `${x}`;
        case 'bigint': return `${x}`;
        case 'string': return `"${x}"`;
    }
    // If [Symbol.toPrimitive] is implemented (like in BN)
    // use it instead of JSON.stringify(). This ensures we
    // print BigInts, Decimals, and Binary in their native
    // representation
    if (typeof x[Symbol.toPrimitive] === 'function') {
        return x[Symbol.toPrimitive]('string');
    }
    return ArrayBuffer.isView(x) ? `[${x}]` : JSON.stringify(x);
}

//# sourceMappingURL=pretty.mjs.map

;// ../node_modules/apache-arrow/builder/valid.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.


/**
 * Dynamically compile the null values into an `isValid()` function whose
 * implementation is a switch statement. Microbenchmarks in v8 indicate
 * this approach is 25% faster than using an ES6 Map.
 *
 * @example
 * console.log(createIsValidFunction([null, 'N/A', NaN]));
 * `function (x) {
 *     if (x !== x) return false;
 *     switch (x) {
 *         case null:
 *         case "N/A":
 *             return false;
 *     }
 *     return true;
 * }`
 *
 * @ignore
 * @param nullValues
 */
function createIsValidFunction(nullValues) {
    if (!nullValues || nullValues.length <= 0) {
        // @ts-ignore
        return function isValid(value) { return true; };
    }
    let fnBody = '';
    let noNaNs = nullValues.filter((x) => x === x);
    if (noNaNs.length > 0) {
        fnBody = `
    switch (x) {${noNaNs.map((x) => `
        case ${valueToCase(x)}:`).join('')}
            return false;
    }`;
    }
    // NaN doesn't equal anything including itself, so it doesn't work as a
    // switch case. Instead we must explicitly check for NaN before the switch.
    if (nullValues.length !== noNaNs.length) {
        fnBody = `if (x !== x) return false;\n${fnBody}`;
    }
    return new Function(`x`, `${fnBody}\nreturn true;`);
}
/** @ignore */
function valueToCase(x) {
    if (typeof x !== 'bigint') {
        return valueToString(x);
    }
    else if (BigIntAvailable) {
        return `${valueToString(x)}n`;
    }
    return `"${valueToString(x)}"`;
}

//# sourceMappingURL=valid.mjs.map

;// ../node_modules/apache-arrow/builder/buffer.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.


/** @ignore */
const roundLengthUpToNearest64Bytes = (len, BPE) => ((((len * BPE) + 63) & ~63) || 64) / BPE;
/** @ignore */
const sliceOrExtendArray = (arr, len = 0) => (arr.length >= len ? arr.subarray(0, len) : memcpy(new arr.constructor(len), arr, 0));
/** @ignore */
class BufferBuilder {
    constructor(buffer, stride = 1) {
        this.buffer = buffer;
        this.stride = stride;
        this.BYTES_PER_ELEMENT = buffer.BYTES_PER_ELEMENT;
        this.ArrayType = buffer.constructor;
        this._resize(this.length = buffer.length / stride | 0);
    }
    get byteLength() { return this.length * this.stride * this.BYTES_PER_ELEMENT | 0; }
    get reservedLength() { return this.buffer.length / this.stride; }
    get reservedByteLength() { return this.buffer.byteLength; }
    // @ts-ignore
    set(index, value) { return this; }
    append(value) { return this.set(this.length, value); }
    reserve(extra) {
        if (extra > 0) {
            this.length += extra;
            const stride = this.stride;
            const length = this.length * stride;
            const reserved = this.buffer.length;
            if (length >= reserved) {
                this._resize(reserved === 0
                    ? roundLengthUpToNearest64Bytes(length * 1, this.BYTES_PER_ELEMENT)
                    : roundLengthUpToNearest64Bytes(length * 2, this.BYTES_PER_ELEMENT));
            }
        }
        return this;
    }
    flush(length = this.length) {
        length = roundLengthUpToNearest64Bytes(length * this.stride, this.BYTES_PER_ELEMENT);
        const array = sliceOrExtendArray(this.buffer, length);
        this.clear();
        return array;
    }
    clear() {
        this.length = 0;
        this._resize(0);
        return this;
    }
    _resize(newLength) {
        return this.buffer = memcpy(new this.ArrayType(newLength), this.buffer);
    }
}
BufferBuilder.prototype.offset = 0;
/** @ignore */
class DataBufferBuilder extends BufferBuilder {
    last() { return this.get(this.length - 1); }
    get(index) { return this.buffer[index]; }
    set(index, value) {
        this.reserve(index - this.length + 1);
        this.buffer[index * this.stride] = value;
        return this;
    }
}
/** @ignore */
class BitmapBufferBuilder extends DataBufferBuilder {
    constructor(data = new Uint8Array(0)) {
        super(data, 1 / 8);
        this.numValid = 0;
    }
    get numInvalid() { return this.length - this.numValid; }
    get(idx) { return this.buffer[idx >> 3] >> idx % 8 & 1; }
    set(idx, val) {
        const { buffer } = this.reserve(idx - this.length + 1);
        const byte = idx >> 3, bit = idx % 8, cur = buffer[byte] >> bit & 1;
        // If `val` is truthy and the current bit is 0, flip it to 1 and increment `numValid`.
        // If `val` is falsey and the current bit is 1, flip it to 0 and decrement `numValid`.
        val ? cur === 0 && ((buffer[byte] |= (1 << bit)), ++this.numValid)
            : cur === 1 && ((buffer[byte] &= ~(1 << bit)), --this.numValid);
        return this;
    }
    clear() {
        this.numValid = 0;
        return super.clear();
    }
}
/** @ignore */
class OffsetsBufferBuilder extends DataBufferBuilder {
    constructor(data = new Int32Array(1)) { super(data, 1); }
    append(value) {
        return this.set(this.length - 1, value);
    }
    set(index, value) {
        const offset = this.length - 1;
        const buffer = this.reserve(index - offset + 1).buffer;
        if (offset < index++) {
            buffer.fill(buffer[offset], offset, index);
        }
        buffer[index] = buffer[index - 1] + value;
        return this;
    }
    flush(length = this.length - 1) {
        if (length > this.length) {
            this.set(length - 1, 0);
        }
        return super.flush(length + 1);
    }
}
/** @ignore */
class WideBufferBuilder extends BufferBuilder {
    get ArrayType64() {
        return this._ArrayType64 || (this._ArrayType64 = (this.buffer instanceof Int32Array ? BigInt64ArrayCtor : BigUint64ArrayCtor));
    }
    set(index, value) {
        this.reserve(index - this.length + 1);
        switch (typeof value) {
            case 'bigint':
                this.buffer64[index] = value;
                break;
            case 'number':
                this.buffer[index * this.stride] = value;
                break;
            default: this.buffer.set(value, index * this.stride);
        }
        return this;
    }
    _resize(newLength) {
        const data = super._resize(newLength);
        const length = data.byteLength / (this.BYTES_PER_ELEMENT * this.stride);
        if (BigIntAvailable) {
            this.buffer64 = new this.ArrayType64(data.buffer, data.byteOffset, length);
        }
        return data;
    }
}

//# sourceMappingURL=buffer.mjs.map

;// ../node_modules/apache-arrow/builder.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.






/**
 * An abstract base class for types that construct Arrow Vectors from arbitrary JavaScript values.
 *
 * A `Builder` is responsible for writing arbitrary JavaScript values
 * to ArrayBuffers and/or child Builders according to the Arrow specification
 * for each DataType, creating or resizing the underlying ArrayBuffers as necessary.
 *
 * The `Builder` for each Arrow `DataType` handles converting and appending
 * values for a given `DataType`. The high-level {@link Builder.new `Builder.new()`} convenience
 * method creates the specific `Builder` subclass for the supplied `DataType`.
 *
 * Once created, `Builder` instances support both appending values to the end
 * of the `Builder`, and random-access writes to specific indices
 * (`Builder.prototype.append(value)` is a convenience method for
 * `builder.set(builder.length, value)`). Appending or setting values beyond the
 * Builder's current length may cause the builder to grow its underlying buffers
 * or child Builders (if applicable) to accommodate the new values.
 *
 * After enough values have been written to a `Builder`, `Builder.prototype.flush()`
 * will commit the values to the underlying ArrayBuffers (or child Builders). The
 * internal Builder state will be reset, and an instance of `Data<T>` is returned.
 * Alternatively, `Builder.prototype.toVector()` will flush the `Builder` and return
 * an instance of `Vector<T>` instead.
 *
 * When there are no more values to write, use `Builder.prototype.finish()` to
 * finalize the `Builder`. This does not reset the internal state, so it is
 * necessary to call `Builder.prototype.flush()` or `toVector()` one last time
 * if there are still values queued to be flushed.
 *
 * Note: calling `Builder.prototype.finish()` is required when using a `DictionaryBuilder`,
 * because this is when it flushes the values that have been enqueued in its internal
 * dictionary's `Builder`, and creates the `dictionaryVector` for the `Dictionary` `DataType`.
 *
 * ```ts
 * import { Builder, Utf8 } from 'apache-arrow';
 *
 * const utf8Builder = Builder.new({
 *     type: new Utf8(),
 *     nullValues: [null, 'n/a']
 * });
 *
 * utf8Builder
 *     .append('hello')
 *     .append('n/a')
 *     .append('world')
 *     .append(null);
 *
 * const utf8Vector = utf8Builder.finish().toVector();
 *
 * console.log(utf8Vector.toJSON());
 * // > ["hello", null, "world", null]
 * ```
 *
 * @typeparam T The `DataType` of this `Builder`.
 * @typeparam TNull The type(s) of values which will be considered null-value sentinels.
 */
class Builder {
    /**
     * Construct a builder with the given Arrow DataType with optional null values,
     * which will be interpreted as "null" when set or appended to the `Builder`.
     * @param {{ type: T, nullValues?: any[] }} options A `BuilderOptions` object used to create this `Builder`.
     */
    constructor({ 'type': type, 'nullValues': nulls }) {
        /**
         * The number of values written to the `Builder` that haven't been flushed yet.
         * @readonly
         */
        this.length = 0;
        /**
         * A boolean indicating whether `Builder.prototype.finish()` has been called on this `Builder`.
         * @readonly
         */
        this.finished = false;
        this.type = type;
        this.children = [];
        this.nullValues = nulls;
        this.stride = strideForType(type);
        this._nulls = new BitmapBufferBuilder();
        if (nulls && nulls.length > 0) {
            this._isValid = createIsValidFunction(nulls);
        }
    }
    /**
     * Create a `Builder` instance based on the `type` property of the supplied `options` object.
     * @param {BuilderOptions<T, TNull>} options An object with a required `DataType` instance
     * and other optional parameters to be passed to the `Builder` subclass for the given `type`.
     *
     * @typeparam T The `DataType` of the `Builder` to create.
     * @typeparam TNull The type(s) of values which will be considered null-value sentinels.
     * @nocollapse
     */
    // @ts-ignore
    static new(options) { }
    /** @nocollapse */
    // @ts-ignore
    static throughNode(options) {
        throw new Error(`"throughNode" not available in this environment`);
    }
    /** @nocollapse */
    // @ts-ignore
    static throughDOM(options) {
        throw new Error(`"throughDOM" not available in this environment`);
    }
    /**
     * Transform a synchronous `Iterable` of arbitrary JavaScript values into a
     * sequence of Arrow Vector<T> following the chunking semantics defined in
     * the supplied `options` argument.
     *
     * This function returns a function that accepts an `Iterable` of values to
     * transform. When called, this function returns an Iterator of `Vector<T>`.
     *
     * The resulting `Iterator<Vector<T>>` yields Vectors based on the
     * `queueingStrategy` and `highWaterMark` specified in the `options` argument.
     *
     * * If `queueingStrategy` is `"count"` (or omitted), The `Iterator<Vector<T>>`
     *   will flush the underlying `Builder` (and yield a new `Vector<T>`) once the
     *   Builder's `length` reaches or exceeds the supplied `highWaterMark`.
     * * If `queueingStrategy` is `"bytes"`, the `Iterator<Vector<T>>` will flush
     *   the underlying `Builder` (and yield a new `Vector<T>`) once its `byteLength`
     *   reaches or exceeds the supplied `highWaterMark`.
     *
     * @param {IterableBuilderOptions<T, TNull>} options An object of properties which determine the `Builder` to create and the chunking semantics to use.
     * @returns A function which accepts a JavaScript `Iterable` of values to
     *          write, and returns an `Iterator` that yields Vectors according
     *          to the chunking semantics defined in the `options` argument.
     * @nocollapse
     */
    static throughIterable(options) {
        return throughIterable(options);
    }
    /**
     * Transform an `AsyncIterable` of arbitrary JavaScript values into a
     * sequence of Arrow Vector<T> following the chunking semantics defined in
     * the supplied `options` argument.
     *
     * This function returns a function that accepts an `AsyncIterable` of values to
     * transform. When called, this function returns an AsyncIterator of `Vector<T>`.
     *
     * The resulting `AsyncIterator<Vector<T>>` yields Vectors based on the
     * `queueingStrategy` and `highWaterMark` specified in the `options` argument.
     *
     * * If `queueingStrategy` is `"count"` (or omitted), The `AsyncIterator<Vector<T>>`
     *   will flush the underlying `Builder` (and yield a new `Vector<T>`) once the
     *   Builder's `length` reaches or exceeds the supplied `highWaterMark`.
     * * If `queueingStrategy` is `"bytes"`, the `AsyncIterator<Vector<T>>` will flush
     *   the underlying `Builder` (and yield a new `Vector<T>`) once its `byteLength`
     *   reaches or exceeds the supplied `highWaterMark`.
     *
     * @param {IterableBuilderOptions<T, TNull>} options An object of properties which determine the `Builder` to create and the chunking semantics to use.
     * @returns A function which accepts a JavaScript `AsyncIterable` of values
     *          to write, and returns an `AsyncIterator` that yields Vectors
     *          according to the chunking semantics defined in the `options`
     *          argument.
     * @nocollapse
     */
    static throughAsyncIterable(options) {
        return throughAsyncIterable(options);
    }
    /**
     * Flush the `Builder` and return a `Vector<T>`.
     * @returns {Vector<T>} A `Vector<T>` of the flushed values.
     */
    toVector() { return AbstractVector.new(this.flush()); }
    get ArrayType() { return this.type.ArrayType; }
    get nullCount() { return this._nulls.numInvalid; }
    get numChildren() { return this.children.length; }
    /**
     * @returns The aggregate length (in bytes) of the values that have been written.
     */
    get byteLength() {
        let size = 0;
        this._offsets && (size += this._offsets.byteLength);
        this._values && (size += this._values.byteLength);
        this._nulls && (size += this._nulls.byteLength);
        this._typeIds && (size += this._typeIds.byteLength);
        return this.children.reduce((size, child) => size + child.byteLength, size);
    }
    /**
     * @returns The aggregate number of rows that have been reserved to write new values.
     */
    get reservedLength() {
        return this._nulls.reservedLength;
    }
    /**
     * @returns The aggregate length (in bytes) that has been reserved to write new values.
     */
    get reservedByteLength() {
        let size = 0;
        this._offsets && (size += this._offsets.reservedByteLength);
        this._values && (size += this._values.reservedByteLength);
        this._nulls && (size += this._nulls.reservedByteLength);
        this._typeIds && (size += this._typeIds.reservedByteLength);
        return this.children.reduce((size, child) => size + child.reservedByteLength, size);
    }
    get valueOffsets() { return this._offsets ? this._offsets.buffer : null; }
    get values() { return this._values ? this._values.buffer : null; }
    get nullBitmap() { return this._nulls ? this._nulls.buffer : null; }
    get typeIds() { return this._typeIds ? this._typeIds.buffer : null; }
    /**
     * Appends a value (or null) to this `Builder`.
     * This is equivalent to `builder.set(builder.length, value)`.
     * @param {T['TValue'] | TNull } value The value to append.
     */
    append(value) { return this.set(this.length, value); }
    /**
     * Validates whether a value is valid (true), or null (false)
     * @param {T['TValue'] | TNull } value The value to compare against null the value representations
     */
    // @ts-ignore
    isValid(value) { return this._isValid(value); }
    /**
     * Write a value (or null-value sentinel) at the supplied index.
     * If the value matches one of the null-value representations, a 1-bit is
     * written to the null `BitmapBufferBuilder`. Otherwise, a 0 is written to
     * the null `BitmapBufferBuilder`, and the value is passed to
     * `Builder.prototype.setValue()`.
     * @param {number} index The index of the value to write.
     * @param {T['TValue'] | TNull } value The value to write at the supplied index.
     * @returns {this} The updated `Builder` instance.
     */
    set(index, value) {
        if (this.setValid(index, this.isValid(value))) {
            this.setValue(index, value);
        }
        return this;
    }
    /**
     * Write a value to the underlying buffers at the supplied index, bypassing
     * the null-value check. This is a low-level method that
     * @param {number} index
     * @param {T['TValue'] | TNull } value
     */
    // @ts-ignore
    setValue(index, value) { this._setValue(this, index, value); }
    setValid(index, valid) {
        this.length = this._nulls.set(index, +valid).length;
        return valid;
    }
    // @ts-ignore
    addChild(child, name = `${this.numChildren}`) {
        throw new Error(`Cannot append children to non-nested type "${this.type}"`);
    }
    /**
     * Retrieve the child `Builder` at the supplied `index`, or null if no child
     * exists at that index.
     * @param {number} index The index of the child `Builder` to retrieve.
     * @returns {Builder | null} The child Builder at the supplied index or null.
     */
    getChildAt(index) {
        return this.children[index] || null;
    }
    /**
     * Commit all the values that have been written to their underlying
     * ArrayBuffers, including any child Builders if applicable, and reset
     * the internal `Builder` state.
     * @returns A `Data<T>` of the buffers and childData representing the values written.
     */
    flush() {
        const buffers = [];
        const values = this._values;
        const offsets = this._offsets;
        const typeIds = this._typeIds;
        const { length, nullCount } = this;
        if (typeIds) { /* Unions */
            buffers[BufferType.TYPE] = typeIds.flush(length);
            // DenseUnions
            offsets && (buffers[BufferType.OFFSET] = offsets.flush(length));
        }
        else if (offsets) { /* Variable-width primitives (Binary, Utf8) and Lists */
            // Binary, Utf8
            values && (buffers[BufferType.DATA] = values.flush(offsets.last()));
            buffers[BufferType.OFFSET] = offsets.flush(length);
        }
        else if (values) { /* Fixed-width primitives (Int, Float, Decimal, Time, Timestamp, and Interval) */
            buffers[BufferType.DATA] = values.flush(length);
        }
        nullCount > 0 && (buffers[BufferType.VALIDITY] = this._nulls.flush(length));
        const data = Data.new(this.type, 0, length, nullCount, buffers, this.children.map((child) => child.flush()));
        this.clear();
        return data;
    }
    /**
     * Finalize this `Builder`, and child builders if applicable.
     * @returns {this} The finalized `Builder` instance.
     */
    finish() {
        this.finished = true;
        this.children.forEach((child) => child.finish());
        return this;
    }
    /**
     * Clear this Builder's internal state, including child Builders if applicable, and reset the length to 0.
     * @returns {this} The cleared `Builder` instance.
     */
    clear() {
        this.length = 0;
        this._offsets && (this._offsets.clear());
        this._values && (this._values.clear());
        this._nulls && (this._nulls.clear());
        this._typeIds && (this._typeIds.clear());
        this.children.forEach((child) => child.clear());
        return this;
    }
}
Builder.prototype.length = 1;
Builder.prototype.stride = 1;
Builder.prototype.children = null;
Builder.prototype.finished = false;
Builder.prototype.nullValues = null;
Builder.prototype._isValid = () => true;
/** @ignore */
class FixedWidthBuilder extends Builder {
    constructor(opts) {
        super(opts);
        this._values = new DataBufferBuilder(new this.ArrayType(0), this.stride);
    }
    setValue(index, value) {
        const values = this._values;
        values.reserve(index - values.length + 1);
        return super.setValue(index, value);
    }
}
/** @ignore */
class VariableWidthBuilder extends Builder {
    constructor(opts) {
        super(opts);
        this._pendingLength = 0;
        this._offsets = new OffsetsBufferBuilder();
    }
    setValue(index, value) {
        const pending = this._pending || (this._pending = new Map());
        const current = pending.get(index);
        current && (this._pendingLength -= current.length);
        this._pendingLength += value.length;
        pending.set(index, value);
    }
    setValid(index, isValid) {
        if (!super.setValid(index, isValid)) {
            (this._pending || (this._pending = new Map())).set(index, undefined);
            return false;
        }
        return true;
    }
    clear() {
        this._pendingLength = 0;
        this._pending = undefined;
        return super.clear();
    }
    flush() {
        this._flush();
        return super.flush();
    }
    finish() {
        this._flush();
        return super.finish();
    }
    _flush() {
        const pending = this._pending;
        const pendingLength = this._pendingLength;
        this._pendingLength = 0;
        this._pending = undefined;
        if (pending && pending.size > 0) {
            this._flushPending(pending, pendingLength);
        }
        return this;
    }
}
/** @ignore */
function throughIterable(options) {
    const { ['queueingStrategy']: queueingStrategy = 'count' } = options;
    const { ['highWaterMark']: highWaterMark = queueingStrategy !== 'bytes' ? 1000 : 2 ** 14 } = options;
    const sizeProperty = queueingStrategy !== 'bytes' ? 'length' : 'byteLength';
    return function* (source) {
        let numChunks = 0;
        let builder = Builder.new(options);
        for (const value of source) {
            if (builder.append(value)[sizeProperty] >= highWaterMark) {
                ++numChunks && (yield builder.toVector());
            }
        }
        if (builder.finish().length > 0 || numChunks === 0) {
            yield builder.toVector();
        }
    };
}
/** @ignore */
function throughAsyncIterable(options) {
    const { ['queueingStrategy']: queueingStrategy = 'count' } = options;
    const { ['highWaterMark']: highWaterMark = queueingStrategy !== 'bytes' ? 1000 : 2 ** 14 } = options;
    const sizeProperty = queueingStrategy !== 'bytes' ? 'length' : 'byteLength';
    return async function* (source) {
        let numChunks = 0;
        let builder = Builder.new(options);
        for await (const value of source) {
            if (builder.append(value)[sizeProperty] >= highWaterMark) {
                ++numChunks && (yield builder.toVector());
            }
        }
        if (builder.finish().length > 0 || numChunks === 0) {
            yield builder.toVector();
        }
    };
}

//# sourceMappingURL=builder.mjs.map

;// ../node_modules/apache-arrow/builder/bool.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.


/** @ignore */
class BoolBuilder extends Builder {
    constructor(options) {
        super(options);
        this._values = new BitmapBufferBuilder();
    }
    setValue(index, value) {
        this._values.set(index, +value);
    }
}

//# sourceMappingURL=bool.mjs.map

;// ../node_modules/apache-arrow/builder/null.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.

/** @ignore */
class NullBuilder extends Builder {
    // @ts-ignore
    setValue(index, value) { }
    setValid(index, valid) {
        this.length = Math.max(index + 1, this.length);
        return valid;
    }
}

//# sourceMappingURL=null.mjs.map

;// ../node_modules/apache-arrow/builder/date.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.

/** @ignore */
class DateBuilder extends FixedWidthBuilder {
}
/** @ignore */
class DateDayBuilder extends DateBuilder {
}
/** @ignore */
class DateMillisecondBuilder extends DateBuilder {
}

//# sourceMappingURL=date.mjs.map

;// ../node_modules/apache-arrow/builder/decimal.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.

/** @ignore */
class DecimalBuilder extends FixedWidthBuilder {
}

//# sourceMappingURL=decimal.mjs.map

;// ../node_modules/apache-arrow/builder/dictionary.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.


/** @ignore */
class DictionaryBuilder extends Builder {
    constructor({ 'type': type, 'nullValues': nulls, 'dictionaryHashFunction': hashFn }) {
        super({ type: new type_Dictionary(type.dictionary, type.indices, type.id, type.isOrdered) });
        this._nulls = null;
        this._dictionaryOffset = 0;
        this._keysToIndices = Object.create(null);
        this.indices = Builder.new({ 'type': this.type.indices, 'nullValues': nulls });
        this.dictionary = Builder.new({ 'type': this.type.dictionary, 'nullValues': null });
        if (typeof hashFn === 'function') {
            this.valueToKey = hashFn;
        }
    }
    get values() { return this.indices.values; }
    get nullCount() { return this.indices.nullCount; }
    get nullBitmap() { return this.indices.nullBitmap; }
    get byteLength() { return this.indices.byteLength + this.dictionary.byteLength; }
    get reservedLength() { return this.indices.reservedLength + this.dictionary.reservedLength; }
    get reservedByteLength() { return this.indices.reservedByteLength + this.dictionary.reservedByteLength; }
    isValid(value) { return this.indices.isValid(value); }
    setValid(index, valid) {
        const indices = this.indices;
        valid = indices.setValid(index, valid);
        this.length = indices.length;
        return valid;
    }
    setValue(index, value) {
        let keysToIndices = this._keysToIndices;
        let key = this.valueToKey(value);
        let idx = keysToIndices[key];
        if (idx === undefined) {
            keysToIndices[key] = idx = this._dictionaryOffset + this.dictionary.append(value).length - 1;
        }
        return this.indices.setValue(index, idx);
    }
    flush() {
        const type = this.type;
        const prev = this._dictionary;
        const curr = this.dictionary.toVector();
        const data = this.indices.flush().clone(type);
        data.dictionary = prev ? prev.concat(curr) : curr;
        this.finished || (this._dictionaryOffset += curr.length);
        this._dictionary = data.dictionary;
        this.clear();
        return data;
    }
    finish() {
        this.indices.finish();
        this.dictionary.finish();
        this._dictionaryOffset = 0;
        this._keysToIndices = Object.create(null);
        return super.finish();
    }
    clear() {
        this.indices.clear();
        this.dictionary.clear();
        return super.clear();
    }
    valueToKey(val) {
        return typeof val === 'string' ? val : `${val}`;
    }
}

//# sourceMappingURL=dictionary.mjs.map

;// ../node_modules/apache-arrow/builder/fixedsizebinary.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.

/** @ignore */
class FixedSizeBinaryBuilder extends FixedWidthBuilder {
}

//# sourceMappingURL=fixedsizebinary.mjs.map

;// ../node_modules/apache-arrow/util/math.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.
const f64 = new Float64Array(1);
const u32 = new Uint32Array(f64.buffer);
/**
 * Convert uint16 (logically a float16) to a JS float64. Inspired by numpy's `npy_half_to_double`:
 * https://github.com/numpy/numpy/blob/5a5987291dc95376bb098be8d8e5391e89e77a2c/numpy/core/src/npymath/halffloat.c#L29
 * @param h {number} the uint16 to convert
 * @private
 * @ignore
 */
function uint16ToFloat64(h) {
    let expo = (h & 0x7C00) >> 10;
    let sigf = (h & 0x03FF) / 1024;
    let sign = (-1) ** ((h & 0x8000) >> 15);
    switch (expo) {
        case 0x1F: return sign * (sigf ? NaN : 1 / 0);
        case 0x00: return sign * (sigf ? 6.103515625e-5 * sigf : 0);
    }
    return sign * (2 ** (expo - 15)) * (1 + sigf);
}
/**
 * Convert a float64 to uint16 (assuming the float64 is logically a float16). Inspired by numpy's `npy_double_to_half`:
 * https://github.com/numpy/numpy/blob/5a5987291dc95376bb098be8d8e5391e89e77a2c/numpy/core/src/npymath/halffloat.c#L43
 * @param d {number} The float64 to convert
 * @private
 * @ignore
 */
function float64ToUint16(d) {
    if (d !== d) {
        return 0x7E00;
    } // NaN
    f64[0] = d;
    // Magic numbers:
    // 0x80000000 = 10000000 00000000 00000000 00000000 -- masks the 32nd bit
    // 0x7ff00000 = 01111111 11110000 00000000 00000000 -- masks the 21st-31st bits
    // 0x000fffff = 00000000 00001111 11111111 11111111 -- masks the 1st-20th bit
    let sign = (u32[1] & 0x80000000) >> 16 & 0xFFFF;
    let expo = (u32[1] & 0x7ff00000), sigf = 0x0000;
    if (expo >= 0x40f00000) {
        //
        // If exponent overflowed, the float16 is either NaN or Infinity.
        // Rules to propagate the sign bit: mantissa > 0 ? NaN : +/-Infinity
        //
        // Magic numbers:
        // 0x40F00000 = 01000000 11110000 00000000 00000000 -- 6-bit exponent overflow
        // 0x7C000000 = 01111100 00000000 00000000 00000000 -- masks the 27th-31st bits
        //
        // returns:
        // qNaN, aka 32256 decimal, 0x7E00 hex, or 01111110 00000000 binary
        // sNaN, aka 32000 decimal, 0x7D00 hex, or 01111101 00000000 binary
        // +inf, aka 31744 decimal, 0x7C00 hex, or 01111100 00000000 binary
        // -inf, aka 64512 decimal, 0xFC00 hex, or 11111100 00000000 binary
        //
        // If mantissa is greater than 23 bits, set to +Infinity like numpy
        if (u32[0] > 0) {
            expo = 0x7C00;
        }
        else {
            expo = (expo & 0x7C000000) >> 16;
            sigf = (u32[1] & 0x000fffff) >> 10;
        }
    }
    else if (expo <= 0x3f000000) {
        //
        // If exponent underflowed, the float is either signed zero or subnormal.
        //
        // Magic numbers:
        // 0x3F000000 = 00111111 00000000 00000000 00000000 -- 6-bit exponent underflow
        //
        sigf = 0x100000 + (u32[1] & 0x000fffff);
        sigf = 0x100000 + (sigf << ((expo >> 20) - 998)) >> 21;
        expo = 0;
    }
    else {
        //
        // No overflow or underflow, rebase the exponent and round the mantissa
        // Magic numbers:
        // 0x200 = 00000010 00000000 -- masks off the 10th bit
        //
        // Ensure the first mantissa bit (the 10th one) is 1 and round
        expo = (expo - 0x3f000000) >> 10;
        sigf = ((u32[1] & 0x000fffff) + 0x200) >> 10;
    }
    return sign | expo | sigf & 0xFFFF;
}

//# sourceMappingURL=math.mjs.map

;// ../node_modules/apache-arrow/builder/float.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.


/** @ignore */
class FloatBuilder extends FixedWidthBuilder {
}
/** @ignore */
class Float16Builder extends FloatBuilder {
    setValue(index, value) {
        // convert JS float64 to a uint16
        this._values.set(index, float64ToUint16(value));
    }
}
/** @ignore */
class Float32Builder extends FloatBuilder {
    setValue(index, value) {
        this._values.set(index, value);
    }
}
/** @ignore */
class Float64Builder extends FloatBuilder {
    setValue(index, value) {
        this._values.set(index, value);
    }
}

//# sourceMappingURL=float.mjs.map

;// ../node_modules/apache-arrow/util/bn.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.


/** @ignore */
const isArrowBigNumSymbol = Symbol.for('isArrowBigNum');
/** @ignore */
function BigNum(x, ...xs) {
    if (xs.length === 0) {
        return Object.setPrototypeOf(toArrayBufferView(this['TypedArray'], x), this.constructor.prototype);
    }
    return Object.setPrototypeOf(new this['TypedArray'](x, ...xs), this.constructor.prototype);
}
BigNum.prototype[isArrowBigNumSymbol] = true;
BigNum.prototype.toJSON = function () { return `"${bignumToString(this)}"`; };
BigNum.prototype.valueOf = function () { return bignumToNumber(this); };
BigNum.prototype.toString = function () { return bignumToString(this); };
BigNum.prototype[Symbol.toPrimitive] = function (hint = 'default') {
    switch (hint) {
        case 'number': return bignumToNumber(this);
        case 'string': return bignumToString(this);
        case 'default': return bignumToBigInt(this);
    }
    // @ts-ignore
    return bignumToString(this);
};
/** @ignore */
function SignedBigNum(...args) { return BigNum.apply(this, args); }
/** @ignore */
function UnsignedBigNum(...args) { return BigNum.apply(this, args); }
/** @ignore */
function DecimalBigNum(...args) { return BigNum.apply(this, args); }
Object.setPrototypeOf(SignedBigNum.prototype, Object.create(Int32Array.prototype));
Object.setPrototypeOf(UnsignedBigNum.prototype, Object.create(Uint32Array.prototype));
Object.setPrototypeOf(DecimalBigNum.prototype, Object.create(Uint32Array.prototype));
Object.assign(SignedBigNum.prototype, BigNum.prototype, { 'constructor': SignedBigNum, 'signed': true, 'TypedArray': Int32Array, 'BigIntArray': BigInt64ArrayCtor });
Object.assign(UnsignedBigNum.prototype, BigNum.prototype, { 'constructor': UnsignedBigNum, 'signed': false, 'TypedArray': Uint32Array, 'BigIntArray': BigUint64ArrayCtor });
Object.assign(DecimalBigNum.prototype, BigNum.prototype, { 'constructor': DecimalBigNum, 'signed': true, 'TypedArray': Uint32Array, 'BigIntArray': BigUint64ArrayCtor });
/** @ignore */
function bignumToNumber(bn) {
    let { buffer, byteOffset, length, 'signed': signed } = bn;
    let words = new Int32Array(buffer, byteOffset, length);
    let number = 0, i = 0, n = words.length, hi, lo;
    while (i < n) {
        lo = words[i++];
        hi = words[i++];
        signed || (hi = hi >>> 0);
        number += (lo >>> 0) + (hi * (i ** 32));
    }
    return number;
}
/** @ignore */
let bignumToString;
/** @ignore */
let bignumToBigInt;
if (!BigIntAvailable) {
    bignumToString = decimalToString;
    bignumToBigInt = bignumToString;
}
else {
    bignumToBigInt = ((a) => a.byteLength === 8 ? new a['BigIntArray'](a.buffer, a.byteOffset, 1)[0] : decimalToString(a));
    bignumToString = ((a) => a.byteLength === 8 ? `${new a['BigIntArray'](a.buffer, a.byteOffset, 1)[0]}` : decimalToString(a));
}
/** @ignore */
function decimalToString(a) {
    let digits = '';
    let base64 = new Uint32Array(2);
    let base32 = new Uint16Array(a.buffer, a.byteOffset, a.byteLength / 2);
    let checks = new Uint32Array((base32 = new Uint16Array(base32).reverse()).buffer);
    let i = -1, n = base32.length - 1;
    do {
        for (base64[0] = base32[i = 0]; i < n;) {
            base32[i++] = base64[1] = base64[0] / 10;
            base64[0] = ((base64[0] - base64[1] * 10) << 16) + base32[i];
        }
        base32[i] = base64[1] = base64[0] / 10;
        base64[0] = base64[0] - base64[1] * 10;
        digits = `${base64[0]}${digits}`;
    } while (checks[0] || checks[1] || checks[2] || checks[3]);
    return digits ? digits : `0`;
}
/** @ignore */
class BN {
    /** @nocollapse */
    static new(num, isSigned) {
        switch (isSigned) {
            case true: return new SignedBigNum(num);
            case false: return new UnsignedBigNum(num);
        }
        switch (num.constructor) {
            case Int8Array:
            case Int16Array:
            case Int32Array:
            case BigInt64ArrayCtor:
                return new SignedBigNum(num);
        }
        if (num.byteLength === 16) {
            return new DecimalBigNum(num);
        }
        return new UnsignedBigNum(num);
    }
    /** @nocollapse */
    static signed(num) {
        return new SignedBigNum(num);
    }
    /** @nocollapse */
    static unsigned(num) {
        return new UnsignedBigNum(num);
    }
    /** @nocollapse */
    static decimal(num) {
        return new DecimalBigNum(num);
    }
    constructor(num, isSigned) {
        return BN.new(num, isSigned);
    }
}

//# sourceMappingURL=bn.mjs.map

;// ../node_modules/apache-arrow/builder/int.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.




/** @ignore */
class IntBuilder extends FixedWidthBuilder {
    setValue(index, value) {
        this._values.set(index, value);
    }
}
/** @ignore */
class Int8Builder extends IntBuilder {
}
/** @ignore */
class Int16Builder extends IntBuilder {
}
/** @ignore */
class Int32Builder extends IntBuilder {
}
/** @ignore */
class Int64Builder extends IntBuilder {
    constructor(options) {
        if (options['nullValues']) {
            options['nullValues'] = options['nullValues'].map(toBigInt);
        }
        super(options);
        this._values = new WideBufferBuilder(new Int32Array(0), 2);
    }
    get values64() { return this._values.buffer64; }
    isValid(value) { return super.isValid(toBigInt(value)); }
}
/** @ignore */
class Uint8Builder extends IntBuilder {
}
/** @ignore */
class Uint16Builder extends IntBuilder {
}
/** @ignore */
class Uint32Builder extends IntBuilder {
}
/** @ignore */
class Uint64Builder extends IntBuilder {
    constructor(options) {
        if (options['nullValues']) {
            options['nullValues'] = options['nullValues'].map(toBigInt);
        }
        super(options);
        this._values = new WideBufferBuilder(new Uint32Array(0), 2);
    }
    get values64() { return this._values.buffer64; }
    isValid(value) { return super.isValid(toBigInt(value)); }
}
const toBigInt = ((memo) => (value) => {
    if (ArrayBuffer.isView(value)) {
        memo.buffer = value.buffer;
        memo.byteOffset = value.byteOffset;
        memo.byteLength = value.byteLength;
        value = bignumToBigInt(memo);
        memo.buffer = null;
    }
    return value;
})({ 'BigIntArray': BigInt64ArrayCtor });

//# sourceMappingURL=int.mjs.map

;// ../node_modules/apache-arrow/builder/time.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.

/** @ignore */
class TimeBuilder extends FixedWidthBuilder {
}
/** @ignore */
class TimeSecondBuilder extends TimeBuilder {
}
/** @ignore */
class TimeMillisecondBuilder extends TimeBuilder {
}
/** @ignore */
class TimeMicrosecondBuilder extends TimeBuilder {
}
/** @ignore */
class TimeNanosecondBuilder extends TimeBuilder {
}

//# sourceMappingURL=time.mjs.map

;// ../node_modules/apache-arrow/builder/timestamp.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.

/** @ignore */
class TimestampBuilder extends FixedWidthBuilder {
}
/** @ignore */
class TimestampSecondBuilder extends TimestampBuilder {
}
/** @ignore */
class TimestampMillisecondBuilder extends TimestampBuilder {
}
/** @ignore */
class TimestampMicrosecondBuilder extends TimestampBuilder {
}
/** @ignore */
class TimestampNanosecondBuilder extends TimestampBuilder {
}

//# sourceMappingURL=timestamp.mjs.map

;// ../node_modules/apache-arrow/builder/interval.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.

/** @ignore */
class IntervalBuilder extends FixedWidthBuilder {
}
/** @ignore */
class IntervalDayTimeBuilder extends IntervalBuilder {
}
/** @ignore */
class IntervalYearMonthBuilder extends IntervalBuilder {
}

//# sourceMappingURL=interval.mjs.map

;// ../node_modules/apache-arrow/builder/binary.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.



/** @ignore */
class BinaryBuilder extends VariableWidthBuilder {
    constructor(opts) {
        super(opts);
        this._values = new BufferBuilder(new Uint8Array(0));
    }
    get byteLength() {
        let size = this._pendingLength + (this.length * 4);
        this._offsets && (size += this._offsets.byteLength);
        this._values && (size += this._values.byteLength);
        this._nulls && (size += this._nulls.byteLength);
        return size;
    }
    setValue(index, value) {
        return super.setValue(index, toUint8Array(value));
    }
    _flushPending(pending, pendingLength) {
        const offsets = this._offsets;
        const data = this._values.reserve(pendingLength).buffer;
        let index = 0, length = 0, offset = 0, value;
        for ([index, value] of pending) {
            if (value === undefined) {
                offsets.set(index, 0);
            }
            else {
                length = value.length;
                data.set(value, offset);
                offsets.set(index, length);
                offset += length;
            }
        }
    }
}

//# sourceMappingURL=binary.mjs.map

;// ../node_modules/apache-arrow/builder/utf8.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.




/** @ignore */
class Utf8Builder extends VariableWidthBuilder {
    constructor(opts) {
        super(opts);
        this._values = new BufferBuilder(new Uint8Array(0));
    }
    get byteLength() {
        let size = this._pendingLength + (this.length * 4);
        this._offsets && (size += this._offsets.byteLength);
        this._values && (size += this._values.byteLength);
        this._nulls && (size += this._nulls.byteLength);
        return size;
    }
    setValue(index, value) {
        return super.setValue(index, encodeUtf8(value));
    }
    // @ts-ignore
    _flushPending(pending, pendingLength) { }
}
Utf8Builder.prototype._flushPending = BinaryBuilder.prototype._flushPending;

//# sourceMappingURL=utf8.mjs.map

;// ../node_modules/apache-arrow/builder/run.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.

/** @ignore */
class Run {
    get length() { return this._values.length; }
    get(index) { return this._values[index]; }
    clear() { this._values = null; return this; }
    bind(values) {
        if (values instanceof AbstractVector) {
            return values;
        }
        this._values = values;
        return this;
    }
}

//# sourceMappingURL=run.mjs.map

;// ../node_modules/apache-arrow/vector/row.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.

/** @ignore */ const kParent = Symbol.for('parent');
/** @ignore */ const kRowIndex = Symbol.for('rowIndex');
/** @ignore */ const kKeyToIdx = Symbol.for('keyToIdx');
/** @ignore */ const kIdxToVal = Symbol.for('idxToVal');
/** @ignore */ const kCustomInspect = Symbol.for('nodejs.util.inspect.custom');
class Row {
    constructor(parent, numKeys) {
        this[kParent] = parent;
        this.size = numKeys;
    }
    entries() { return this[Symbol.iterator](); }
    has(key) { return this.get(key) !== undefined; }
    get(key) {
        let val = undefined;
        if (key !== null && key !== undefined) {
            const ktoi = this[kKeyToIdx] || (this[kKeyToIdx] = new Map());
            let idx = ktoi.get(key);
            if (idx !== undefined) {
                const itov = this[kIdxToVal] || (this[kIdxToVal] = new Array(this.size));
                ((val = itov[idx]) !== undefined) || (itov[idx] = val = this.getValue(idx));
            }
            else if ((idx = this.getIndex(key)) > -1) {
                ktoi.set(key, idx);
                const itov = this[kIdxToVal] || (this[kIdxToVal] = new Array(this.size));
                ((val = itov[idx]) !== undefined) || (itov[idx] = val = this.getValue(idx));
            }
        }
        return val;
    }
    set(key, val) {
        if (key !== null && key !== undefined) {
            const ktoi = this[kKeyToIdx] || (this[kKeyToIdx] = new Map());
            let idx = ktoi.get(key);
            if (idx === undefined) {
                ktoi.set(key, idx = this.getIndex(key));
            }
            if (idx > -1) {
                const itov = this[kIdxToVal] || (this[kIdxToVal] = new Array(this.size));
                itov[idx] = this.setValue(idx, val);
            }
        }
        return this;
    }
    clear() { throw new Error(`Clearing ${this[Symbol.toStringTag]} not supported.`); }
    delete(_) { throw new Error(`Deleting ${this[Symbol.toStringTag]} values not supported.`); }
    *[Symbol.iterator]() {
        const ki = this.keys();
        const vi = this.values();
        const ktoi = this[kKeyToIdx] || (this[kKeyToIdx] = new Map());
        const itov = this[kIdxToVal] || (this[kIdxToVal] = new Array(this.size));
        for (let k, v, i = 0, kr, vr; !((kr = ki.next()).done || (vr = vi.next()).done); ++i) {
            k = kr.value;
            v = vr.value;
            itov[i] = v;
            ktoi.has(k) || ktoi.set(k, i);
            yield [k, v];
        }
    }
    forEach(callbackfn, thisArg) {
        const ki = this.keys();
        const vi = this.values();
        const callback = thisArg === undefined ? callbackfn :
            (v, k, m) => callbackfn.call(thisArg, v, k, m);
        const ktoi = this[kKeyToIdx] || (this[kKeyToIdx] = new Map());
        const itov = this[kIdxToVal] || (this[kIdxToVal] = new Array(this.size));
        for (let k, v, i = 0, kr, vr; !((kr = ki.next()).done || (vr = vi.next()).done); ++i) {
            k = kr.value;
            v = vr.value;
            itov[i] = v;
            ktoi.has(k) || ktoi.set(k, i);
            callback(v, k, this);
        }
    }
    toArray() { return [...this.values()]; }
    toJSON() {
        const obj = {};
        this.forEach((val, key) => obj[key] = val);
        return obj;
    }
    inspect() { return this.toString(); }
    [kCustomInspect]() { return this.toString(); }
    toString() {
        const str = [];
        this.forEach((val, key) => {
            key = valueToString(key);
            val = valueToString(val);
            str.push(`${key}: ${val}`);
        });
        return `{ ${str.join(', ')} }`;
    }
}
Row[Symbol.toStringTag] = ((proto) => {
    Object.defineProperties(proto, {
        'size': { writable: true, enumerable: false, configurable: false, value: 0 },
        [kParent]: { writable: true, enumerable: false, configurable: false, value: null },
        [kRowIndex]: { writable: true, enumerable: false, configurable: false, value: -1 },
    });
    return proto[Symbol.toStringTag] = 'Row';
})(Row.prototype);
class MapRow extends Row {
    constructor(slice) {
        super(slice, slice.length);
        return createRowProxy(this);
    }
    keys() {
        return this[kParent].getChildAt(0)[Symbol.iterator]();
    }
    values() {
        return this[kParent].getChildAt(1)[Symbol.iterator]();
    }
    getKey(idx) {
        return this[kParent].getChildAt(0).get(idx);
    }
    getIndex(key) {
        return this[kParent].getChildAt(0).indexOf(key);
    }
    getValue(index) {
        return this[kParent].getChildAt(1).get(index);
    }
    setValue(index, value) {
        this[kParent].getChildAt(1).set(index, value);
    }
}
class StructRow extends Row {
    constructor(parent) {
        super(parent, parent.type.children.length);
        return defineRowProxyProperties(this);
    }
    *keys() {
        for (const field of this[kParent].type.children) {
            yield field.name;
        }
    }
    *values() {
        for (const field of this[kParent].type.children) {
            yield this[field.name];
        }
    }
    getKey(idx) {
        return this[kParent].type.children[idx].name;
    }
    getIndex(key) {
        return this[kParent].type.children.findIndex((f) => f.name === key);
    }
    getValue(index) {
        return this[kParent].getChildAt(index).get(this[kRowIndex]);
    }
    setValue(index, value) {
        return this[kParent].getChildAt(index).set(this[kRowIndex], value);
    }
}
Object.setPrototypeOf(Row.prototype, Map.prototype);
/** @ignore */
const defineRowProxyProperties = (() => {
    const desc = { enumerable: true, configurable: false, get: null, set: null };
    return (row) => {
        let idx = -1, ktoi = row[kKeyToIdx] || (row[kKeyToIdx] = new Map());
        const getter = (key) => function () { return this.get(key); };
        const setter = (key) => function (val) { return this.set(key, val); };
        for (const key of row.keys()) {
            ktoi.set(key, ++idx);
            desc.get = getter(key);
            desc.set = setter(key);
            row.hasOwnProperty(key) || (desc.enumerable = true, Object.defineProperty(row, key, desc));
            row.hasOwnProperty(idx) || (desc.enumerable = false, Object.defineProperty(row, idx, desc));
        }
        desc.get = desc.set = null;
        return row;
    };
})();
/** @ignore */
const createRowProxy = (() => {
    if (typeof Proxy === 'undefined') {
        return defineRowProxyProperties;
    }
    const has = Row.prototype.has;
    const get = Row.prototype.get;
    const set = Row.prototype.set;
    const getKey = Row.prototype.getKey;
    const RowProxyHandler = {
        isExtensible() { return false; },
        deleteProperty() { return false; },
        preventExtensions() { return true; },
        ownKeys(row) { return [...row.keys()].map((x) => `${x}`); },
        has(row, key) {
            switch (key) {
                case 'getKey':
                case 'getIndex':
                case 'getValue':
                case 'setValue':
                case 'toArray':
                case 'toJSON':
                case 'inspect':
                case 'constructor':
                case 'isPrototypeOf':
                case 'propertyIsEnumerable':
                case 'toString':
                case 'toLocaleString':
                case 'valueOf':
                case 'size':
                case 'has':
                case 'get':
                case 'set':
                case 'clear':
                case 'delete':
                case 'keys':
                case 'values':
                case 'entries':
                case 'forEach':
                case '__proto__':
                case '__defineGetter__':
                case '__defineSetter__':
                case 'hasOwnProperty':
                case '__lookupGetter__':
                case '__lookupSetter__':
                case Symbol.iterator:
                case Symbol.toStringTag:
                case kParent:
                case kRowIndex:
                case kIdxToVal:
                case kKeyToIdx:
                case kCustomInspect:
                    return true;
            }
            if (typeof key === 'number' && !row.has(key)) {
                key = row.getKey(key);
            }
            return row.has(key);
        },
        get(row, key, receiver) {
            switch (key) {
                case 'getKey':
                case 'getIndex':
                case 'getValue':
                case 'setValue':
                case 'toArray':
                case 'toJSON':
                case 'inspect':
                case 'constructor':
                case 'isPrototypeOf':
                case 'propertyIsEnumerable':
                case 'toString':
                case 'toLocaleString':
                case 'valueOf':
                case 'size':
                case 'has':
                case 'get':
                case 'set':
                case 'clear':
                case 'delete':
                case 'keys':
                case 'values':
                case 'entries':
                case 'forEach':
                case '__proto__':
                case '__defineGetter__':
                case '__defineSetter__':
                case 'hasOwnProperty':
                case '__lookupGetter__':
                case '__lookupSetter__':
                case Symbol.iterator:
                case Symbol.toStringTag:
                case kParent:
                case kRowIndex:
                case kIdxToVal:
                case kKeyToIdx:
                case kCustomInspect:
                    return Reflect.get(row, key, receiver);
            }
            if (typeof key === 'number' && !has.call(receiver, key)) {
                key = getKey.call(receiver, key);
            }
            return get.call(receiver, key);
        },
        set(row, key, val, receiver) {
            switch (key) {
                case kParent:
                case kRowIndex:
                case kIdxToVal:
                case kKeyToIdx:
                    return Reflect.set(row, key, val, receiver);
                case 'getKey':
                case 'getIndex':
                case 'getValue':
                case 'setValue':
                case 'toArray':
                case 'toJSON':
                case 'inspect':
                case 'constructor':
                case 'isPrototypeOf':
                case 'propertyIsEnumerable':
                case 'toString':
                case 'toLocaleString':
                case 'valueOf':
                case 'size':
                case 'has':
                case 'get':
                case 'set':
                case 'clear':
                case 'delete':
                case 'keys':
                case 'values':
                case 'entries':
                case 'forEach':
                case '__proto__':
                case '__defineGetter__':
                case '__defineSetter__':
                case 'hasOwnProperty':
                case '__lookupGetter__':
                case '__lookupSetter__':
                case Symbol.iterator:
                case Symbol.toStringTag:
                    return false;
            }
            if (typeof key === 'number' && !has.call(receiver, key)) {
                key = getKey.call(receiver, key);
            }
            return has.call(receiver, key) ? !!set.call(receiver, key, val) : false;
        },
    };
    return (row) => new Proxy(row, RowProxyHandler);
})();

//# sourceMappingURL=row.mjs.map

;// ../node_modules/apache-arrow/util/vector.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.




/** @ignore */
function clampIndex(source, index, then) {
    const length = source.length;
    const adjust = index > -1 ? index : (length + (index % length));
    return then ? then(source, adjust) : adjust;
}
/** @ignore */
let tmp;
/** @ignore */
function clampRange(source, begin, end, then) {
    // Adjust args similar to Array.prototype.slice. Normalize begin/end to
    // clamp between 0 and length, and wrap around on negative indices, e.g.
    // slice(-1, 5) or slice(5, -1)
    let { length: len = 0 } = source;
    let lhs = typeof begin !== 'number' ? 0 : begin;
    let rhs = typeof end !== 'number' ? len : end;
    // wrap around on negative start/end positions
    (lhs < 0) && (lhs = ((lhs % len) + len) % len);
    (rhs < 0) && (rhs = ((rhs % len) + len) % len);
    // ensure lhs <= rhs
    (rhs < lhs) && (tmp = lhs, lhs = rhs, rhs = tmp);
    // ensure rhs <= length
    (rhs > len) && (rhs = len);
    return then ? then(source, lhs, rhs) : [lhs, rhs];
}
const big0 = BigIntAvailable ? BigIntCtor(0) : 0;
const isNaNFast = (value) => value !== value;
/** @ignore */
function createElementComparator(search) {
    let typeofSearch = typeof search;
    // Compare primitives
    if (typeofSearch !== 'object' || search === null) {
        // Compare NaN
        if (isNaNFast(search)) {
            return isNaNFast;
        }
        return typeofSearch !== 'bigint'
            ? (value) => value === search
            : (value) => (big0 + value) === search;
    }
    // Compare Dates
    if (search instanceof Date) {
        const valueOfSearch = search.valueOf();
        return (value) => value instanceof Date ? (value.valueOf() === valueOfSearch) : false;
    }
    // Compare TypedArrays
    if (ArrayBuffer.isView(search)) {
        return (value) => value ? compareArrayLike(search, value) : false;
    }
    // Compare Maps and Rows
    if (search instanceof Map) {
        return creatMapComparator(search);
    }
    // Compare Array-likes
    if (Array.isArray(search)) {
        return createArrayLikeComparator(search);
    }
    // Compare Vectors
    if (search instanceof AbstractVector) {
        return createVectorComparator(search);
    }
    // Compare non-empty Objects
    return createObjectComparator(search);
}
/** @ignore */
function createArrayLikeComparator(lhs) {
    const comparators = [];
    for (let i = -1, n = lhs.length; ++i < n;) {
        comparators[i] = createElementComparator(lhs[i]);
    }
    return createSubElementsComparator(comparators);
}
/** @ignore */
function creatMapComparator(lhs) {
    let i = -1;
    const comparators = [];
    lhs.forEach((v) => comparators[++i] = createElementComparator(v));
    return createSubElementsComparator(comparators);
}
/** @ignore */
function createVectorComparator(lhs) {
    const comparators = [];
    for (let i = -1, n = lhs.length; ++i < n;) {
        comparators[i] = createElementComparator(lhs.get(i));
    }
    return createSubElementsComparator(comparators);
}
/** @ignore */
function createObjectComparator(lhs) {
    const keys = Object.keys(lhs);
    // Only compare non-empty Objects
    if (keys.length === 0) {
        return () => false;
    }
    const comparators = [];
    for (let i = -1, n = keys.length; ++i < n;) {
        comparators[i] = createElementComparator(lhs[keys[i]]);
    }
    return createSubElementsComparator(comparators, keys);
}
function createSubElementsComparator(comparators, keys) {
    return (rhs) => {
        if (!rhs || typeof rhs !== 'object') {
            return false;
        }
        switch (rhs.constructor) {
            case Array: return compareArray(comparators, rhs);
            case Map:
            case MapRow:
            case StructRow:
                return compareObject(comparators, rhs, rhs.keys());
            case Object:
            case undefined: // support `Object.create(null)` objects
                return compareObject(comparators, rhs, keys || Object.keys(rhs));
        }
        return rhs instanceof AbstractVector ? compareVector(comparators, rhs) : false;
    };
}
function compareArray(comparators, arr) {
    const n = comparators.length;
    if (arr.length !== n) {
        return false;
    }
    for (let i = -1; ++i < n;) {
        if (!(comparators[i](arr[i]))) {
            return false;
        }
    }
    return true;
}
function compareVector(comparators, vec) {
    const n = comparators.length;
    if (vec.length !== n) {
        return false;
    }
    for (let i = -1; ++i < n;) {
        if (!(comparators[i](vec.get(i)))) {
            return false;
        }
    }
    return true;
}
function compareObject(comparators, obj, keys) {
    const lKeyItr = keys[Symbol.iterator]();
    const rKeyItr = obj instanceof Map ? obj.keys() : Object.keys(obj)[Symbol.iterator]();
    const rValItr = obj instanceof Map ? obj.values() : Object.values(obj)[Symbol.iterator]();
    let i = 0;
    let n = comparators.length;
    let rVal = rValItr.next();
    let lKey = lKeyItr.next();
    let rKey = rKeyItr.next();
    for (; i < n && !lKey.done && !rKey.done && !rVal.done; ++i, lKey = lKeyItr.next(), rKey = rKeyItr.next(), rVal = rValItr.next()) {
        if (lKey.value !== rKey.value || !comparators[i](rVal.value)) {
            break;
        }
    }
    if (i === n && lKey.done && rKey.done && rVal.done) {
        return true;
    }
    lKeyItr.return && lKeyItr.return();
    rKeyItr.return && rKeyItr.return();
    rValItr.return && rValItr.return();
    return false;
}

//# sourceMappingURL=vector.mjs.map

;// ../node_modules/apache-arrow/vector/chunked.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.




/** @ignore */
class Chunked extends AbstractVector {
    constructor(type, chunks = [], offsets = calculateOffsets(chunks)) {
        super();
        this._nullCount = -1;
        this._type = type;
        this._chunks = chunks;
        this._chunkOffsets = offsets;
        this._length = offsets[offsets.length - 1];
        this._numChildren = (this._type.children || []).length;
    }
    /** @nocollapse */
    static flatten(...vectors) {
        return selectChunkArgs(AbstractVector, vectors);
    }
    /** @nocollapse */
    static concat(...vectors) {
        const chunks = Chunked.flatten(...vectors);
        return new Chunked(chunks[0].type, chunks);
    }
    get type() { return this._type; }
    get length() { return this._length; }
    get chunks() { return this._chunks; }
    get typeId() { return this._type.typeId; }
    get VectorName() { return `Chunked<${this._type}>`; }
    get data() {
        return this._chunks[0] ? this._chunks[0].data : null;
    }
    get ArrayType() { return this._type.ArrayType; }
    get numChildren() { return this._numChildren; }
    get stride() { return this._chunks[0] ? this._chunks[0].stride : 1; }
    get byteLength() {
        return this._chunks.reduce((byteLength, chunk) => byteLength + chunk.byteLength, 0);
    }
    get nullCount() {
        let nullCount = this._nullCount;
        if (nullCount < 0) {
            this._nullCount = nullCount = this._chunks.reduce((x, { nullCount }) => x + nullCount, 0);
        }
        return nullCount;
    }
    get indices() {
        if (DataType.isDictionary(this._type)) {
            if (!this._indices) {
                const chunks = this._chunks;
                this._indices = (chunks.length === 1
                    ? chunks[0].indices
                    : Chunked.concat(...chunks.map((x) => x.indices)));
            }
            return this._indices;
        }
        return null;
    }
    get dictionary() {
        if (DataType.isDictionary(this._type)) {
            return this._chunks[this._chunks.length - 1].data.dictionary;
        }
        return null;
    }
    *[Symbol.iterator]() {
        for (const chunk of this._chunks) {
            yield* chunk;
        }
    }
    clone(chunks = this._chunks) {
        return new Chunked(this._type, chunks);
    }
    concat(...others) {
        return this.clone(Chunked.flatten(this, ...others));
    }
    slice(begin, end) {
        return clampRange(this, begin, end, this._sliceInternal);
    }
    getChildAt(index) {
        if (index < 0 || index >= this._numChildren) {
            return null;
        }
        let columns = this._children || (this._children = []);
        let child, field, chunks;
        if (child = columns[index]) {
            return child;
        }
        if (field = (this._type.children || [])[index]) {
            chunks = this._chunks
                .map((vector) => vector.getChildAt(index))
                .filter((vec) => vec != null);
            if (chunks.length > 0) {
                return (columns[index] = new Chunked(field.type, chunks));
            }
        }
        return null;
    }
    search(index, then) {
        let idx = index;
        // binary search to find the child vector and value indices
        let offsets = this._chunkOffsets, rhs = offsets.length - 1;
        // return early if out of bounds, or if there's just one child
        if (idx < 0) {
            return null;
        }
        if (idx >= offsets[rhs]) {
            return null;
        }
        if (rhs <= 1) {
            return then ? then(this, 0, idx) : [0, idx];
        }
        let lhs = 0, pos = 0, mid = 0;
        do {
            if (lhs + 1 === rhs) {
                return then ? then(this, lhs, idx - pos) : [lhs, idx - pos];
            }
            mid = lhs + ((rhs - lhs) / 2) | 0;
            idx >= offsets[mid] ? (lhs = mid) : (rhs = mid);
        } while (idx < offsets[rhs] && idx >= (pos = offsets[lhs]));
        return null;
    }
    isValid(index) {
        return !!this.search(index, this.isValidInternal);
    }
    get(index) {
        return this.search(index, this.getInternal);
    }
    set(index, value) {
        this.search(index, ({ chunks }, i, j) => chunks[i].set(j, value));
    }
    indexOf(element, offset) {
        if (offset && typeof offset === 'number') {
            return this.search(offset, (self, i, j) => this.indexOfInternal(self, i, j, element));
        }
        return this.indexOfInternal(this, 0, Math.max(0, offset || 0), element);
    }
    toArray() {
        const { chunks } = this;
        const n = chunks.length;
        let ArrayType = this._type.ArrayType;
        if (n <= 0) {
            return new ArrayType(0);
        }
        if (n <= 1) {
            return chunks[0].toArray();
        }
        let len = 0, src = new Array(n);
        for (let i = -1; ++i < n;) {
            len += (src[i] = chunks[i].toArray()).length;
        }
        if (ArrayType !== src[0].constructor) {
            ArrayType = src[0].constructor;
        }
        let dst = new ArrayType(len);
        let set = ArrayType === Array ? arraySet : typedSet;
        for (let i = -1, idx = 0; ++i < n;) {
            idx = set(src[i], dst, idx);
        }
        return dst;
    }
    getInternal({ _chunks }, i, j) { return _chunks[i].get(j); }
    isValidInternal({ _chunks }, i, j) { return _chunks[i].isValid(j); }
    indexOfInternal({ _chunks }, chunkIndex, fromIndex, element) {
        let i = chunkIndex - 1, n = _chunks.length;
        let start = fromIndex, offset = 0, found = -1;
        while (++i < n) {
            if (~(found = _chunks[i].indexOf(element, start))) {
                return offset + found;
            }
            start = 0;
            offset += _chunks[i].length;
        }
        return -1;
    }
    _sliceInternal(self, begin, end) {
        const slices = [];
        const { chunks, _chunkOffsets: chunkOffsets } = self;
        for (let i = -1, n = chunks.length; ++i < n;) {
            const chunk = chunks[i];
            const chunkLength = chunk.length;
            const chunkOffset = chunkOffsets[i];
            // If the child is to the right of the slice boundary, we can stop
            if (chunkOffset >= end) {
                break;
            }
            // If the child is to the left of of the slice boundary, exclude
            if (begin >= chunkOffset + chunkLength) {
                continue;
            }
            // If the child is between both left and right boundaries, include w/o slicing
            if (chunkOffset >= begin && (chunkOffset + chunkLength) <= end) {
                slices.push(chunk);
                continue;
            }
            // If the child overlaps one of the slice boundaries, include that slice
            const from = Math.max(0, begin - chunkOffset);
            const to = Math.min(end - chunkOffset, chunkLength);
            slices.push(chunk.slice(from, to));
        }
        return self.clone(slices);
    }
}
/** @ignore */
function calculateOffsets(vectors) {
    let offsets = new Uint32Array((vectors || []).length + 1);
    let offset = offsets[0] = 0, length = offsets.length;
    for (let index = 0; ++index < length;) {
        offsets[index] = (offset += vectors[index - 1].length);
    }
    return offsets;
}
/** @ignore */
const typedSet = (src, dst, offset) => {
    dst.set(src, offset);
    return (offset + src.length);
};
/** @ignore */
const arraySet = (src, dst, offset) => {
    let idx = offset;
    for (let i = -1, n = src.length; ++i < n;) {
        dst[idx++] = src[i];
    }
    return idx;
};

//# sourceMappingURL=chunked.mjs.map

;// ../node_modules/apache-arrow/column.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.



class column_Column extends Chunked {
    constructor(field, vectors = [], offsets) {
        vectors = Chunked.flatten(...vectors);
        super(field.type, vectors, offsets);
        this._field = field;
        if (vectors.length === 1 && !(this instanceof SingleChunkColumn)) {
            return new SingleChunkColumn(field, vectors[0], this._chunkOffsets);
        }
    }
    /** @nocollapse */
    static new(...args) {
        let [field, data, ...rest] = args;
        if (typeof field !== 'string' && !(field instanceof Field)) {
            data = field;
            field = '';
        }
        const chunks = Chunked.flatten(Array.isArray(data) ? [...data, ...rest] :
            data instanceof AbstractVector ? [data, ...rest] :
                [AbstractVector.new(data, ...rest)]);
        if (typeof field === 'string') {
            const type = chunks[0].data.type;
            field = new Field(field, type, true);
        }
        else if (!field.nullable && chunks.some(({ nullCount }) => nullCount > 0)) {
            field = field.clone({ nullable: true });
        }
        return new column_Column(field, chunks);
    }
    get field() { return this._field; }
    get name() { return this._field.name; }
    get nullable() { return this._field.nullable; }
    get metadata() { return this._field.metadata; }
    clone(chunks = this._chunks) {
        return new column_Column(this._field, chunks);
    }
    getChildAt(index) {
        if (index < 0 || index >= this.numChildren) {
            return null;
        }
        let columns = this._children || (this._children = []);
        let column, field, chunks;
        if (column = columns[index]) {
            return column;
        }
        if (field = (this.type.children || [])[index]) {
            chunks = this._chunks
                .map((vector) => vector.getChildAt(index))
                .filter((vec) => vec != null);
            if (chunks.length > 0) {
                return (columns[index] = new column_Column(field, chunks));
            }
        }
        return null;
    }
}
/** @ignore */
class SingleChunkColumn extends column_Column {
    constructor(field, vector, offsets) {
        super(field, [vector], offsets);
        this._chunk = vector;
    }
    search(index, then) {
        return then ? then(this, 0, index) : [0, index];
    }
    isValid(index) {
        return this._chunk.isValid(index);
    }
    get(index) {
        return this._chunk.get(index);
    }
    set(index, value) {
        this._chunk.set(index, value);
    }
    indexOf(element, offset) {
        return this._chunk.indexOf(element, offset);
    }
}

//# sourceMappingURL=column.mjs.map

;// ../node_modules/apache-arrow/util/args.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.






const args_isArray = Array.isArray;
/** @ignore */
const selectArgs = (Ctor, vals) => _selectArgs(Ctor, vals, [], 0);
/** @ignore */
const selectColumnArgs = (args) => {
    const [fields, values] = _selectFieldArgs(args, [[], []]);
    return values.map((x, i) => x instanceof column_Column ? column_Column.new(x.field.clone(fields[i]), x) :
        x instanceof AbstractVector ? column_Column.new(fields[i], x) :
            column_Column.new(fields[i], []));
};
/** @ignore */
const selectFieldArgs = (args) => _selectFieldArgs(args, [[], []]);
/** @ignore */
const selectChunkArgs = (Ctor, vals) => _selectChunkArgs(Ctor, vals, [], 0);
/** @ignore */
const selectVectorChildrenArgs = (Ctor, vals) => _selectVectorChildrenArgs(Ctor, vals, [], 0);
/** @ignore */
const selectColumnChildrenArgs = (Ctor, vals) => _selectColumnChildrenArgs(Ctor, vals, [], 0);
/** @ignore */
function _selectArgs(Ctor, vals, res, idx) {
    let value, j = idx;
    let i = -1, n = vals.length;
    while (++i < n) {
        if (args_isArray(value = vals[i])) {
            j = _selectArgs(Ctor, value, res, j).length;
        }
        else if (value instanceof Ctor) {
            res[j++] = value;
        }
    }
    return res;
}
/** @ignore */
function _selectChunkArgs(Ctor, vals, res, idx) {
    let value, j = idx;
    let i = -1, n = vals.length;
    while (++i < n) {
        if (args_isArray(value = vals[i])) {
            j = _selectChunkArgs(Ctor, value, res, j).length;
        }
        else if (value instanceof Chunked) {
            j = _selectChunkArgs(Ctor, value.chunks, res, j).length;
        }
        else if (value instanceof Ctor) {
            res[j++] = value;
        }
    }
    return res;
}
/** @ignore */
function _selectVectorChildrenArgs(Ctor, vals, res, idx) {
    let value, j = idx;
    let i = -1, n = vals.length;
    while (++i < n) {
        if (args_isArray(value = vals[i])) {
            j = _selectVectorChildrenArgs(Ctor, value, res, j).length;
        }
        else if (value instanceof Ctor) {
            j = _selectArgs(AbstractVector, value.schema.fields.map((_, i) => value.getChildAt(i)), res, j).length;
        }
        else if (value instanceof AbstractVector) {
            res[j++] = value;
        }
    }
    return res;
}
/** @ignore */
function _selectColumnChildrenArgs(Ctor, vals, res, idx) {
    let value, j = idx;
    let i = -1, n = vals.length;
    while (++i < n) {
        if (args_isArray(value = vals[i])) {
            j = _selectColumnChildrenArgs(Ctor, value, res, j).length;
        }
        else if (value instanceof Ctor) {
            j = _selectArgs(column_Column, value.schema.fields.map((f, i) => column_Column.new(f, value.getChildAt(i))), res, j).length;
        }
        else if (value instanceof column_Column) {
            res[j++] = value;
        }
    }
    return res;
}
/** @ignore */
const toKeysAndValues = (xs, [k, v], i) => (xs[0][i] = k, xs[1][i] = v, xs);
/** @ignore */
function _selectFieldArgs(vals, ret) {
    let keys, n;
    switch (n = vals.length) {
        case 0: return ret;
        case 1:
            keys = ret[0];
            if (!(vals[0])) {
                return ret;
            }
            if (args_isArray(vals[0])) {
                return _selectFieldArgs(vals[0], ret);
            }
            if (!(vals[0] instanceof Data || vals[0] instanceof AbstractVector || vals[0] instanceof DataType)) {
                [keys, vals] = Object.entries(vals[0]).reduce(toKeysAndValues, ret);
            }
            break;
        default:
            !args_isArray(keys = vals[n - 1])
                ? (vals = args_isArray(vals[0]) ? vals[0] : vals, keys = [])
                : (vals = args_isArray(vals[0]) ? vals[0] : vals.slice(0, n - 1));
    }
    let fieldIndex = -1;
    let valueIndex = -1;
    let idx = -1, len = vals.length;
    let field;
    let val;
    let [fields, values] = ret;
    while (++idx < len) {
        val = vals[idx];
        if (val instanceof column_Column && (values[++valueIndex] = val)) {
            fields[++fieldIndex] = val.field.clone(keys[idx], val.type, true);
        }
        else {
            ({ [idx]: field = idx } = keys);
            if (val instanceof DataType && (values[++valueIndex] = val)) {
                fields[++fieldIndex] = Field.new(field, val, true);
            }
            else if (val && val.type && (values[++valueIndex] = val)) {
                val instanceof Data && (values[valueIndex] = val = AbstractVector.new(val));
                fields[++fieldIndex] = Field.new(field, val.type, true);
            }
        }
    }
    return ret;
}

//# sourceMappingURL=args.mjs.map

;// ../node_modules/apache-arrow/schema.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.




class Schema {
    constructor(fields = [], metadata, dictionaries) {
        this.fields = (fields || []);
        this.metadata = metadata || new Map();
        if (!dictionaries) {
            dictionaries = generateDictionaryMap(fields);
        }
        this.dictionaries = dictionaries;
    }
    /** @nocollapse */
    static from(...args) {
        return Schema.new(args[0], args[1]);
    }
    /** @nocollapse */
    static new(...args) {
        return new Schema(selectFieldArgs(args)[0]);
    }
    get [Symbol.toStringTag]() { return 'Schema'; }
    toString() {
        return `Schema<{ ${this.fields.map((f, i) => `${i}: ${f}`).join(', ')} }>`;
    }
    compareTo(other) {
        return typecomparator_instance.compareSchemas(this, other);
    }
    select(...columnNames) {
        const names = columnNames.reduce((xs, x) => (xs[x] = true) && xs, Object.create(null));
        return new Schema(this.fields.filter((f) => names[f.name]), this.metadata);
    }
    selectAt(...columnIndices) {
        return new Schema(columnIndices.map((i) => this.fields[i]).filter(Boolean), this.metadata);
    }
    assign(...args) {
        const other = args[0] instanceof Schema ? args[0]
            : new Schema(selectArgs(Field, args));
        const curFields = [...this.fields];
        const metadata = mergeMaps(mergeMaps(new Map(), this.metadata), other.metadata);
        const newFields = other.fields.filter((f2) => {
            const i = curFields.findIndex((f) => f.name === f2.name);
            return ~i ? (curFields[i] = f2.clone({
                metadata: mergeMaps(mergeMaps(new Map(), curFields[i].metadata), f2.metadata)
            })) && false : true;
        });
        const newDictionaries = generateDictionaryMap(newFields, new Map());
        return new Schema([...curFields, ...newFields], metadata, new Map([...this.dictionaries, ...newDictionaries]));
    }
}
class Field {
    constructor(name, type, nullable = false, metadata) {
        this.name = name;
        this.type = type;
        this.nullable = nullable;
        this.metadata = metadata || new Map();
    }
    /** @nocollapse */
    static new(...args) {
        let [name, type, nullable, metadata] = args;
        if (args[0] && typeof args[0] === 'object') {
            ({ name } = args[0]);
            (type === undefined) && (type = args[0].type);
            (nullable === undefined) && (nullable = args[0].nullable);
            (metadata === undefined) && (metadata = args[0].metadata);
        }
        return new Field(`${name}`, type, nullable, metadata);
    }
    get typeId() { return this.type.typeId; }
    get [Symbol.toStringTag]() { return 'Field'; }
    toString() { return `${this.name}: ${this.type}`; }
    compareTo(other) {
        return typecomparator_instance.compareField(this, other);
    }
    clone(...args) {
        let [name, type, nullable, metadata] = args;
        (!args[0] || typeof args[0] !== 'object')
            ? ([name = this.name, type = this.type, nullable = this.nullable, metadata = this.metadata] = args)
            : ({ name = this.name, type = this.type, nullable = this.nullable, metadata = this.metadata } = args[0]);
        return Field.new(name, type, nullable, metadata);
    }
}
/** @ignore */
function mergeMaps(m1, m2) {
    return new Map([...(m1 || new Map()), ...(m2 || new Map())]);
}
/** @ignore */
function generateDictionaryMap(fields, dictionaries = new Map()) {
    for (let i = -1, n = fields.length; ++i < n;) {
        const field = fields[i];
        const type = field.type;
        if (DataType.isDictionary(type)) {
            if (!dictionaries.has(type.id)) {
                dictionaries.set(type.id, type.dictionary);
            }
            else if (dictionaries.get(type.id) !== type.dictionary) {
                throw new Error(`Cannot create Schema containing two different dictionaries with the same Id`);
            }
        }
        if (type.children && type.children.length > 0) {
            generateDictionaryMap(type.children, dictionaries);
        }
    }
    return dictionaries;
}
// Add these here so they're picked up by the externs creator
// in the build, and closure-compiler doesn't minify them away
Schema.prototype.fields = null;
Schema.prototype.metadata = null;
Schema.prototype.dictionaries = null;
Field.prototype.type = null;
Field.prototype.name = null;
Field.prototype.nullable = null;
Field.prototype.metadata = null;

//# sourceMappingURL=schema.mjs.map

;// ../node_modules/apache-arrow/builder/list.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.





/** @ignore */
class ListBuilder extends VariableWidthBuilder {
    constructor(opts) {
        super(opts);
        this._run = new Run();
        this._offsets = new OffsetsBufferBuilder();
    }
    addChild(child, name = '0') {
        if (this.numChildren > 0) {
            throw new Error('ListBuilder can only have one child.');
        }
        this.children[this.numChildren] = child;
        this.type = new List(new Field(name, child.type, true));
        return this.numChildren - 1;
    }
    clear() {
        this._run.clear();
        return super.clear();
    }
    _flushPending(pending) {
        const run = this._run;
        const offsets = this._offsets;
        const setValue = this._setValue;
        let index = 0, value;
        for ([index, value] of pending) {
            if (value === undefined) {
                offsets.set(index, 0);
            }
            else {
                offsets.set(index, value.length);
                setValue(this, index, run.bind(value));
            }
        }
    }
}

//# sourceMappingURL=list.mjs.map

;// ../node_modules/apache-arrow/builder/fixedsizelist.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.




/** @ignore */
class FixedSizeListBuilder extends Builder {
    constructor() {
        super(...arguments);
        this._run = new Run();
    }
    setValue(index, value) {
        super.setValue(index, this._run.bind(value));
    }
    addChild(child, name = '0') {
        if (this.numChildren > 0) {
            throw new Error('FixedSizeListBuilder can only have one child.');
        }
        const childIndex = this.children.push(child);
        this.type = new FixedSizeList(this.type.listSize, new Field(name, child.type, true));
        return childIndex;
    }
    clear() {
        this._run.clear();
        return super.clear();
    }
}

//# sourceMappingURL=fixedsizelist.mjs.map

;// ../node_modules/apache-arrow/builder/map.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.



/** @ignore */
class MapBuilder extends VariableWidthBuilder {
    set(index, value) {
        return super.set(index, value);
    }
    setValue(index, value) {
        value = value instanceof Map ? value : new Map(Object.entries(value));
        const pending = this._pending || (this._pending = new Map());
        const current = pending.get(index);
        current && (this._pendingLength -= current.size);
        this._pendingLength += value.size;
        pending.set(index, value);
    }
    addChild(child, name = `${this.numChildren}`) {
        if (this.numChildren > 0) {
            throw new Error('ListBuilder can only have one child.');
        }
        this.children[this.numChildren] = child;
        this.type = new Map_(new Field(name, child.type, true), this.type.keysSorted);
        return this.numChildren - 1;
    }
    _flushPending(pending) {
        const offsets = this._offsets;
        const setValue = this._setValue;
        pending.forEach((value, index) => {
            if (value === undefined) {
                offsets.set(index, 0);
            }
            else {
                offsets.set(index, value.size);
                setValue(this, index, value);
            }
        });
    }
}

//# sourceMappingURL=map.mjs.map

;// ../node_modules/apache-arrow/builder/struct.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.



/** @ignore */
class StructBuilder extends Builder {
    addChild(child, name = `${this.numChildren}`) {
        const childIndex = this.children.push(child);
        this.type = new Struct([...this.type.children, new Field(name, child.type, true)]);
        return childIndex;
    }
}

//# sourceMappingURL=struct.mjs.map

;// ../node_modules/apache-arrow/builder/union.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.




/** @ignore */
class UnionBuilder extends Builder {
    constructor(options) {
        super(options);
        this._typeIds = new DataBufferBuilder(new Int8Array(0), 1);
        if (typeof options['valueToChildTypeId'] === 'function') {
            this._valueToChildTypeId = options['valueToChildTypeId'];
        }
    }
    get typeIdToChildIndex() { return this.type.typeIdToChildIndex; }
    append(value, childTypeId) {
        return this.set(this.length, value, childTypeId);
    }
    set(index, value, childTypeId) {
        if (childTypeId === undefined) {
            childTypeId = this._valueToChildTypeId(this, value, index);
        }
        if (this.setValid(index, this.isValid(value))) {
            this.setValue(index, value, childTypeId);
        }
        return this;
    }
    // @ts-ignore
    setValue(index, value, childTypeId) {
        this._typeIds.set(index, childTypeId);
        super.setValue(index, value);
    }
    // @ts-ignore
    addChild(child, name = `${this.children.length}`) {
        const childTypeId = this.children.push(child);
        const { type: { children, mode, typeIds } } = this;
        const fields = [...children, new Field(name, child.type)];
        this.type = new Union_(mode, [...typeIds, childTypeId], fields);
        return childTypeId;
    }
    /** @ignore */
    // @ts-ignore
    _valueToChildTypeId(builder, value, offset) {
        throw new Error(`Cannot map UnionBuilder value to child typeId. \
Pass the \`childTypeId\` as the second argument to unionBuilder.append(), \
or supply a \`valueToChildTypeId\` function as part of the UnionBuilder constructor options.`);
    }
}
/** @ignore */
class SparseUnionBuilder extends UnionBuilder {
}
/** @ignore */
class DenseUnionBuilder extends UnionBuilder {
    constructor(options) {
        super(options);
        this._offsets = new DataBufferBuilder(new Int32Array(0));
    }
    /** @ignore */
    setValue(index, value, childTypeId) {
        const childIndex = this.type.typeIdToChildIndex[childTypeId];
        this._offsets.set(index, this.getChildAt(childIndex).length);
        return super.setValue(index, value, childTypeId);
    }
}

//# sourceMappingURL=union.mjs.map

;// ../node_modules/apache-arrow/visitor/set.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.






/** @ignore */
class SetVisitor extends Visitor {
}
/** @ignore */
const setEpochMsToDays = (data, index, epochMs) => { data[index] = (epochMs / 86400000) | 0; };
/** @ignore */
const setEpochMsToMillisecondsLong = (data, index, epochMs) => {
    data[index] = (epochMs % 4294967296) | 0;
    data[index + 1] = (epochMs / 4294967296) | 0;
};
/** @ignore */
const setEpochMsToMicrosecondsLong = (data, index, epochMs) => {
    data[index] = ((epochMs * 1000) % 4294967296) | 0;
    data[index + 1] = ((epochMs * 1000) / 4294967296) | 0;
};
/** @ignore */
const setEpochMsToNanosecondsLong = (data, index, epochMs) => {
    data[index] = ((epochMs * 1000000) % 4294967296) | 0;
    data[index + 1] = ((epochMs * 1000000) / 4294967296) | 0;
};
/** @ignore */
const setVariableWidthBytes = (values, valueOffsets, index, value) => {
    const { [index]: x, [index + 1]: y } = valueOffsets;
    if (x != null && y != null) {
        values.set(value.subarray(0, y - x), x);
    }
};
/** @ignore */
const set_setBool = ({ offset, values }, index, val) => {
    const idx = offset + index;
    val ? (values[idx >> 3] |= (1 << (idx % 8))) // true
        : (values[idx >> 3] &= ~(1 << (idx % 8))); // false
};
/** @ignore */
const setDateDay = ({ values }, index, value) => { setEpochMsToDays(values, index, value.valueOf()); };
/** @ignore */
const setDateMillisecond = ({ values }, index, value) => { setEpochMsToMillisecondsLong(values, index * 2, value.valueOf()); };
/** @ignore */
const setNumeric = ({ stride, values }, index, value) => { values[stride * index] = value; };
/** @ignore */
const setFloat16 = ({ stride, values }, index, value) => { values[stride * index] = float64ToUint16(value); };
/** @ignore */
const setNumericX2 = (vector, index, value) => {
    switch (typeof value) {
        case 'bigint':
            vector.values64[index] = value;
            break;
        case 'number':
            vector.values[index * vector.stride] = value;
            break;
        default:
            const val = value;
            const { stride, ArrayType } = vector;
            const long = toArrayBufferView(ArrayType, val);
            vector.values.set(long.subarray(0, stride), stride * index);
    }
};
/** @ignore */
const setFixedSizeBinary = ({ stride, values }, index, value) => { values.set(value.subarray(0, stride), stride * index); };
/** @ignore */
const setBinary = ({ values, valueOffsets }, index, value) => setVariableWidthBytes(values, valueOffsets, index, value);
/** @ignore */
const setUtf8 = ({ values, valueOffsets }, index, value) => {
    setVariableWidthBytes(values, valueOffsets, index, encodeUtf8(value));
};
/* istanbul ignore next */
/** @ignore */
const setInt = (vector, index, value) => {
    vector.type.bitWidth < 64
        ? setNumeric(vector, index, value)
        : setNumericX2(vector, index, value);
};
/* istanbul ignore next */
/** @ignore */
const setFloat = (vector, index, value) => {
    vector.type.precision !== Precision.HALF
        ? setNumeric(vector, index, value)
        : setFloat16(vector, index, value);
};
/* istanbul ignore next */
const setDate = (vector, index, value) => {
    vector.type.unit === DateUnit.DAY
        ? setDateDay(vector, index, value)
        : setDateMillisecond(vector, index, value);
};
/** @ignore */
const setTimestampSecond = ({ values }, index, value) => setEpochMsToMillisecondsLong(values, index * 2, value / 1000);
/** @ignore */
const setTimestampMillisecond = ({ values }, index, value) => setEpochMsToMillisecondsLong(values, index * 2, value);
/** @ignore */
const setTimestampMicrosecond = ({ values }, index, value) => setEpochMsToMicrosecondsLong(values, index * 2, value);
/** @ignore */
const setTimestampNanosecond = ({ values }, index, value) => setEpochMsToNanosecondsLong(values, index * 2, value);
/* istanbul ignore next */
/** @ignore */
const setTimestamp = (vector, index, value) => {
    switch (vector.type.unit) {
        case TimeUnit.SECOND: return setTimestampSecond(vector, index, value);
        case TimeUnit.MILLISECOND: return setTimestampMillisecond(vector, index, value);
        case TimeUnit.MICROSECOND: return setTimestampMicrosecond(vector, index, value);
        case TimeUnit.NANOSECOND: return setTimestampNanosecond(vector, index, value);
    }
};
/** @ignore */
const setTimeSecond = ({ values, stride }, index, value) => { values[stride * index] = value; };
/** @ignore */
const setTimeMillisecond = ({ values, stride }, index, value) => { values[stride * index] = value; };
/** @ignore */
const setTimeMicrosecond = ({ values }, index, value) => { values.set(value.subarray(0, 2), 2 * index); };
/** @ignore */
const setTimeNanosecond = ({ values }, index, value) => { values.set(value.subarray(0, 2), 2 * index); };
/* istanbul ignore next */
/** @ignore */
const setTime = (vector, index, value) => {
    switch (vector.type.unit) {
        case TimeUnit.SECOND: return setTimeSecond(vector, index, value);
        case TimeUnit.MILLISECOND: return setTimeMillisecond(vector, index, value);
        case TimeUnit.MICROSECOND: return setTimeMicrosecond(vector, index, value);
        case TimeUnit.NANOSECOND: return setTimeNanosecond(vector, index, value);
    }
};
/** @ignore */
const setDecimal = ({ values }, index, value) => { values.set(value.subarray(0, 4), 4 * index); };
/** @ignore */
const setList = (vector, index, value) => {
    const values = vector.getChildAt(0), valueOffsets = vector.valueOffsets;
    for (let idx = -1, itr = valueOffsets[index], end = valueOffsets[index + 1]; itr < end;) {
        values.set(itr++, value.get(++idx));
    }
};
/** @ignore */
const setMap = (vector, index, value) => {
    const values = vector.getChildAt(0), valueOffsets = vector.valueOffsets;
    const entries = value instanceof Map ? [...value] : Object.entries(value);
    for (let idx = -1, itr = valueOffsets[index], end = valueOffsets[index + 1]; itr < end;) {
        values.set(itr++, entries[++idx]);
    }
};
/** @ignore */ const _setStructArrayValue = (o, v) => (c, _, i) => c && c.set(o, v[i]);
/** @ignore */ const _setStructVectorValue = (o, v) => (c, _, i) => c && c.set(o, v.get(i));
/** @ignore */ const _setStructMapValue = (o, v) => (c, f, _) => c && c.set(o, v.get(f.name));
/** @ignore */ const _setStructObjectValue = (o, v) => (c, f, _) => c && c.set(o, v[f.name]);
/** @ignore */
const setStruct = (vector, index, value) => {
    const setValue = value instanceof Map ? _setStructMapValue(index, value) :
        value instanceof AbstractVector ? _setStructVectorValue(index, value) :
            Array.isArray(value) ? _setStructArrayValue(index, value) :
                _setStructObjectValue(index, value);
    vector.type.children.forEach((f, i) => setValue(vector.getChildAt(i), f, i));
};
/* istanbul ignore next */
/** @ignore */
const setUnion = (vector, index, value) => {
    vector.type.mode === UnionMode.Dense ?
        setDenseUnion(vector, index, value) :
        setSparseUnion(vector, index, value);
};
/** @ignore */
const setDenseUnion = (vector, index, value) => {
    const childIndex = vector.typeIdToChildIndex[vector.typeIds[index]];
    const child = vector.getChildAt(childIndex);
    child && child.set(vector.valueOffsets[index], value);
};
/** @ignore */
const setSparseUnion = (vector, index, value) => {
    const childIndex = vector.typeIdToChildIndex[vector.typeIds[index]];
    const child = vector.getChildAt(childIndex);
    child && child.set(index, value);
};
/** @ignore */
const setDictionary = (vector, index, value) => {
    const key = vector.getKey(index);
    if (key !== null) {
        vector.setValue(key, value);
    }
};
/* istanbul ignore next */
/** @ignore */
const setIntervalValue = (vector, index, value) => {
    (vector.type.unit === IntervalUnit.DAY_TIME)
        ? setIntervalDayTime(vector, index, value)
        : setIntervalYearMonth(vector, index, value);
};
/** @ignore */
const setIntervalDayTime = ({ values }, index, value) => { values.set(value.subarray(0, 2), 2 * index); };
/** @ignore */
const setIntervalYearMonth = ({ values }, index, value) => { values[index] = (value[0] * 12) + (value[1] % 12); };
/** @ignore */
const setFixedSizeList = (vector, index, value) => {
    const child = vector.getChildAt(0), { stride } = vector;
    for (let idx = -1, offset = index * stride; ++idx < stride;) {
        child.set(offset + idx, value.get(idx));
    }
};
SetVisitor.prototype.visitBool = set_setBool;
SetVisitor.prototype.visitInt = setInt;
SetVisitor.prototype.visitInt8 = setNumeric;
SetVisitor.prototype.visitInt16 = setNumeric;
SetVisitor.prototype.visitInt32 = setNumeric;
SetVisitor.prototype.visitInt64 = setNumericX2;
SetVisitor.prototype.visitUint8 = setNumeric;
SetVisitor.prototype.visitUint16 = setNumeric;
SetVisitor.prototype.visitUint32 = setNumeric;
SetVisitor.prototype.visitUint64 = setNumericX2;
SetVisitor.prototype.visitFloat = setFloat;
SetVisitor.prototype.visitFloat16 = setFloat16;
SetVisitor.prototype.visitFloat32 = setNumeric;
SetVisitor.prototype.visitFloat64 = setNumeric;
SetVisitor.prototype.visitUtf8 = setUtf8;
SetVisitor.prototype.visitBinary = setBinary;
SetVisitor.prototype.visitFixedSizeBinary = setFixedSizeBinary;
SetVisitor.prototype.visitDate = setDate;
SetVisitor.prototype.visitDateDay = setDateDay;
SetVisitor.prototype.visitDateMillisecond = setDateMillisecond;
SetVisitor.prototype.visitTimestamp = setTimestamp;
SetVisitor.prototype.visitTimestampSecond = setTimestampSecond;
SetVisitor.prototype.visitTimestampMillisecond = setTimestampMillisecond;
SetVisitor.prototype.visitTimestampMicrosecond = setTimestampMicrosecond;
SetVisitor.prototype.visitTimestampNanosecond = setTimestampNanosecond;
SetVisitor.prototype.visitTime = setTime;
SetVisitor.prototype.visitTimeSecond = setTimeSecond;
SetVisitor.prototype.visitTimeMillisecond = setTimeMillisecond;
SetVisitor.prototype.visitTimeMicrosecond = setTimeMicrosecond;
SetVisitor.prototype.visitTimeNanosecond = setTimeNanosecond;
SetVisitor.prototype.visitDecimal = setDecimal;
SetVisitor.prototype.visitList = setList;
SetVisitor.prototype.visitStruct = setStruct;
SetVisitor.prototype.visitUnion = setUnion;
SetVisitor.prototype.visitDenseUnion = setDenseUnion;
SetVisitor.prototype.visitSparseUnion = setSparseUnion;
SetVisitor.prototype.visitDictionary = setDictionary;
SetVisitor.prototype.visitInterval = setIntervalValue;
SetVisitor.prototype.visitIntervalDayTime = setIntervalDayTime;
SetVisitor.prototype.visitIntervalYearMonth = setIntervalYearMonth;
SetVisitor.prototype.visitFixedSizeList = setFixedSizeList;
SetVisitor.prototype.visitMap = setMap;
/** @ignore */
const set_instance = new SetVisitor();

//# sourceMappingURL=set.mjs.map

;// ../node_modules/apache-arrow/visitor/builderctor.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.



















/** @ignore */
class GetBuilderCtor extends Visitor {
    visitNull() { return NullBuilder; }
    visitBool() { return BoolBuilder; }
    visitInt() { return IntBuilder; }
    visitInt8() { return Int8Builder; }
    visitInt16() { return Int16Builder; }
    visitInt32() { return Int32Builder; }
    visitInt64() { return Int64Builder; }
    visitUint8() { return Uint8Builder; }
    visitUint16() { return Uint16Builder; }
    visitUint32() { return Uint32Builder; }
    visitUint64() { return Uint64Builder; }
    visitFloat() { return FloatBuilder; }
    visitFloat16() { return Float16Builder; }
    visitFloat32() { return Float32Builder; }
    visitFloat64() { return Float64Builder; }
    visitUtf8() { return Utf8Builder; }
    visitBinary() { return BinaryBuilder; }
    visitFixedSizeBinary() { return FixedSizeBinaryBuilder; }
    visitDate() { return DateBuilder; }
    visitDateDay() { return DateDayBuilder; }
    visitDateMillisecond() { return DateMillisecondBuilder; }
    visitTimestamp() { return TimestampBuilder; }
    visitTimestampSecond() { return TimestampSecondBuilder; }
    visitTimestampMillisecond() { return TimestampMillisecondBuilder; }
    visitTimestampMicrosecond() { return TimestampMicrosecondBuilder; }
    visitTimestampNanosecond() { return TimestampNanosecondBuilder; }
    visitTime() { return TimeBuilder; }
    visitTimeSecond() { return TimeSecondBuilder; }
    visitTimeMillisecond() { return TimeMillisecondBuilder; }
    visitTimeMicrosecond() { return TimeMicrosecondBuilder; }
    visitTimeNanosecond() { return TimeNanosecondBuilder; }
    visitDecimal() { return DecimalBuilder; }
    visitList() { return ListBuilder; }
    visitStruct() { return StructBuilder; }
    visitUnion() { return UnionBuilder; }
    visitDenseUnion() { return DenseUnionBuilder; }
    visitSparseUnion() { return SparseUnionBuilder; }
    visitDictionary() { return DictionaryBuilder; }
    visitInterval() { return IntervalBuilder; }
    visitIntervalDayTime() { return IntervalDayTimeBuilder; }
    visitIntervalYearMonth() { return IntervalYearMonthBuilder; }
    visitFixedSizeList() { return FixedSizeListBuilder; }
    visitMap() { return MapBuilder; }
}
/** @ignore */
const builderctor_instance = new GetBuilderCtor();

//# sourceMappingURL=builderctor.mjs.map

;// ../node_modules/apache-arrow/builder/index.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.
/** @ignore */
























/** @nocollapse */
Builder.new = newBuilder;
function newBuilder(options) {
    const type = options.type;
    const builder = new (builderctor_instance.getVisitFn(type)())(options);
    if (type.children && type.children.length > 0) {
        const children = options['children'] || [];
        const defaultOptions = { 'nullValues': options['nullValues'] };
        const getChildOptions = Array.isArray(children)
            ? ((_, i) => children[i] || defaultOptions)
            : (({ name }) => children[name] || defaultOptions);
        type.children.forEach((field, index) => {
            const { type } = field;
            const opts = getChildOptions(field, index);
            builder.children.push(newBuilder({ ...opts, type }));
        });
    }
    return builder;
}
Object.keys(Type)
    .map((T) => Type[T])
    .filter((T) => typeof T === 'number' && T !== Type.NONE)
    .forEach((typeId) => {
    const BuilderCtor = builderctor_instance.visit(typeId);
    BuilderCtor.prototype._setValue = set_instance.getVisitFn(typeId);
});
Utf8Builder.prototype._setValue = set_instance.visitBinary;

//# sourceMappingURL=index.mjs.map

;// ../node_modules/apache-arrow/fb/File.mjs
// automatically generated by the FlatBuffers compiler, do not modify

/**
 * ----------------------------------------------------------------------
 * Arrow File metadata
 *
 *
 * @constructor
 */
var File_org;
(function (org) {
    var apache;
    (function (apache) {
        var arrow;
        (function (arrow) {
            var flatbuf;
            (function (flatbuf) {
                class Footer {
                    constructor() {
                        this.bb = null;
                        this.bb_pos = 0;
                    }
                    /**
                     * @param number i
                     * @param flatbuffers.ByteBuffer bb
                     * @returns Footer
                     */
                    __init(i, bb) {
                        this.bb_pos = i;
                        this.bb = bb;
                        return this;
                    }
                    /**
                     * @param flatbuffers.ByteBuffer bb
                     * @param Footer= obj
                     * @returns Footer
                     */
                    static getRootAsFooter(bb, obj) {
                        return (obj || new Footer).__init(bb.readInt32(bb.position()) + bb.position(), bb);
                    }
                    /**
                     * @returns org.apache.arrow.flatbuf.MetadataVersion
                     */
                    version() {
                        let offset = this.bb.__offset(this.bb_pos, 4);
                        return offset ? /**  */ (this.bb.readInt16(this.bb_pos + offset)) : Schema_org.apache.arrow.flatbuf.MetadataVersion.V1;
                    }
                    /**
                     * @param org.apache.arrow.flatbuf.Schema= obj
                     * @returns org.apache.arrow.flatbuf.Schema|null
                     */
                    schema(obj) {
                        let offset = this.bb.__offset(this.bb_pos, 6);
                        return offset ? (obj || new Schema_org.apache.arrow.flatbuf.Schema).__init(this.bb.__indirect(this.bb_pos + offset), this.bb) : null;
                    }
                    /**
                     * @param number index
                     * @param org.apache.arrow.flatbuf.Block= obj
                     * @returns org.apache.arrow.flatbuf.Block
                     */
                    dictionaries(index, obj) {
                        let offset = this.bb.__offset(this.bb_pos, 8);
                        return offset ? (obj || new org.apache.arrow.flatbuf.Block).__init(this.bb.__vector(this.bb_pos + offset) + index * 24, this.bb) : null;
                    }
                    /**
                     * @returns number
                     */
                    dictionariesLength() {
                        let offset = this.bb.__offset(this.bb_pos, 8);
                        return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0;
                    }
                    /**
                     * @param number index
                     * @param org.apache.arrow.flatbuf.Block= obj
                     * @returns org.apache.arrow.flatbuf.Block
                     */
                    recordBatches(index, obj) {
                        let offset = this.bb.__offset(this.bb_pos, 10);
                        return offset ? (obj || new org.apache.arrow.flatbuf.Block).__init(this.bb.__vector(this.bb_pos + offset) + index * 24, this.bb) : null;
                    }
                    /**
                     * @returns number
                     */
                    recordBatchesLength() {
                        let offset = this.bb.__offset(this.bb_pos, 10);
                        return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0;
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     */
                    static startFooter(builder) {
                        builder.startObject(4);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param org.apache.arrow.flatbuf.MetadataVersion version
                     */
                    static addVersion(builder, version) {
                        builder.addFieldInt16(0, version, Schema_org.apache.arrow.flatbuf.MetadataVersion.V1);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param flatbuffers.Offset schemaOffset
                     */
                    static addSchema(builder, schemaOffset) {
                        builder.addFieldOffset(1, schemaOffset, 0);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param flatbuffers.Offset dictionariesOffset
                     */
                    static addDictionaries(builder, dictionariesOffset) {
                        builder.addFieldOffset(2, dictionariesOffset, 0);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param number numElems
                     */
                    static startDictionariesVector(builder, numElems) {
                        builder.startVector(24, numElems, 8);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param flatbuffers.Offset recordBatchesOffset
                     */
                    static addRecordBatches(builder, recordBatchesOffset) {
                        builder.addFieldOffset(3, recordBatchesOffset, 0);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param number numElems
                     */
                    static startRecordBatchesVector(builder, numElems) {
                        builder.startVector(24, numElems, 8);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @returns flatbuffers.Offset
                     */
                    static endFooter(builder) {
                        let offset = builder.endObject();
                        return offset;
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param flatbuffers.Offset offset
                     */
                    static finishFooterBuffer(builder, offset) {
                        builder.finish(offset);
                    }
                    static createFooter(builder, version, schemaOffset, dictionariesOffset, recordBatchesOffset) {
                        Footer.startFooter(builder);
                        Footer.addVersion(builder, version);
                        Footer.addSchema(builder, schemaOffset);
                        Footer.addDictionaries(builder, dictionariesOffset);
                        Footer.addRecordBatches(builder, recordBatchesOffset);
                        return Footer.endFooter(builder);
                    }
                }
                flatbuf.Footer = Footer;
            })(flatbuf = arrow.flatbuf || (arrow.flatbuf = {}));
        })(arrow = apache.arrow || (apache.arrow = {}));
    })(apache = org.apache || (org.apache = {}));
})(File_org || (File_org = {}));
/**
 * @constructor
 */
(function (org) {
    var apache;
    (function (apache) {
        var arrow;
        (function (arrow) {
            var flatbuf;
            (function (flatbuf) {
                class Block {
                    constructor() {
                        this.bb = null;
                        this.bb_pos = 0;
                    }
                    /**
                     * @param number i
                     * @param flatbuffers.ByteBuffer bb
                     * @returns Block
                     */
                    __init(i, bb) {
                        this.bb_pos = i;
                        this.bb = bb;
                        return this;
                    }
                    /**
                     * Index to the start of the RecordBlock (note this is past the Message header)
                     *
                     * @returns flatbuffers.Long
                     */
                    offset() {
                        return this.bb.readInt64(this.bb_pos);
                    }
                    /**
                     * Length of the metadata
                     *
                     * @returns number
                     */
                    metaDataLength() {
                        return this.bb.readInt32(this.bb_pos + 8);
                    }
                    /**
                     * Length of the data (this is aligned so there can be a gap between this and
                     * the metatdata).
                     *
                     * @returns flatbuffers.Long
                     */
                    bodyLength() {
                        return this.bb.readInt64(this.bb_pos + 16);
                    }
                    /**
                     * @param flatbuffers.Builder builder
                     * @param flatbuffers.Long offset
                     * @param number metaDataLength
                     * @param flatbuffers.Long bodyLength
                     * @returns flatbuffers.Offset
                     */
                    static createBlock(builder, offset, metaDataLength, bodyLength) {
                        builder.prep(8, 24);
                        builder.writeInt64(bodyLength);
                        builder.pad(4);
                        builder.writeInt32(metaDataLength);
                        builder.writeInt64(offset);
                        return builder.offset();
                    }
                }
                flatbuf.Block = Block;
            })(flatbuf = arrow.flatbuf || (arrow.flatbuf = {}));
        })(arrow = apache.arrow || (apache.arrow = {}));
    })(apache = org.apache || (org.apache = {}));
})(File_org || (File_org = {}));

//# sourceMappingURL=File.mjs.map

;// ../node_modules/apache-arrow/ipc/metadata/file.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.
/* tslint:disable:class-name */


var Long = flatbuffers.Long;
var file_Builder = flatbuffers.Builder;
var file_ByteBuffer = flatbuffers.ByteBuffer;
var _Block = File_org.apache.arrow.flatbuf.Block;
var _Footer = File_org.apache.arrow.flatbuf.Footer;



/** @ignore */
class Footer_ {
    constructor(schema, version = MetadataVersion.V4, recordBatches, dictionaryBatches) {
        this.schema = schema;
        this.version = version;
        recordBatches && (this._recordBatches = recordBatches);
        dictionaryBatches && (this._dictionaryBatches = dictionaryBatches);
    }
    /** @nocollapse */
    static decode(buf) {
        buf = new file_ByteBuffer(toUint8Array(buf));
        const footer = _Footer.getRootAsFooter(buf);
        const schema = Schema.decode(footer.schema());
        return new OffHeapFooter(schema, footer);
    }
    /** @nocollapse */
    static encode(footer) {
        const b = new file_Builder();
        const schemaOffset = Schema.encode(b, footer.schema);
        _Footer.startRecordBatchesVector(b, footer.numRecordBatches);
        [...footer.recordBatches()].slice().reverse().forEach((rb) => FileBlock.encode(b, rb));
        const recordBatchesOffset = b.endVector();
        _Footer.startDictionariesVector(b, footer.numDictionaries);
        [...footer.dictionaryBatches()].slice().reverse().forEach((db) => FileBlock.encode(b, db));
        const dictionaryBatchesOffset = b.endVector();
        _Footer.startFooter(b);
        _Footer.addSchema(b, schemaOffset);
        _Footer.addVersion(b, MetadataVersion.V4);
        _Footer.addRecordBatches(b, recordBatchesOffset);
        _Footer.addDictionaries(b, dictionaryBatchesOffset);
        _Footer.finishFooterBuffer(b, _Footer.endFooter(b));
        return b.asUint8Array();
    }
    get numRecordBatches() { return this._recordBatches.length; }
    get numDictionaries() { return this._dictionaryBatches.length; }
    *recordBatches() {
        for (let block, i = -1, n = this.numRecordBatches; ++i < n;) {
            if (block = this.getRecordBatch(i)) {
                yield block;
            }
        }
    }
    *dictionaryBatches() {
        for (let block, i = -1, n = this.numDictionaries; ++i < n;) {
            if (block = this.getDictionaryBatch(i)) {
                yield block;
            }
        }
    }
    getRecordBatch(index) {
        return index >= 0
            && index < this.numRecordBatches
            && this._recordBatches[index] || null;
    }
    getDictionaryBatch(index) {
        return index >= 0
            && index < this.numDictionaries
            && this._dictionaryBatches[index] || null;
    }
}

/** @ignore */
class OffHeapFooter extends Footer_ {
    constructor(schema, _footer) {
        super(schema, _footer.version());
        this._footer = _footer;
    }
    get numRecordBatches() { return this._footer.recordBatchesLength(); }
    get numDictionaries() { return this._footer.dictionariesLength(); }
    getRecordBatch(index) {
        if (index >= 0 && index < this.numRecordBatches) {
            const fileBlock = this._footer.recordBatches(index);
            if (fileBlock) {
                return FileBlock.decode(fileBlock);
            }
        }
        return null;
    }
    getDictionaryBatch(index) {
        if (index >= 0 && index < this.numDictionaries) {
            const fileBlock = this._footer.dictionaries(index);
            if (fileBlock) {
                return FileBlock.decode(fileBlock);
            }
        }
        return null;
    }
}
/** @ignore */
class FileBlock {
    constructor(metaDataLength, bodyLength, offset) {
        this.metaDataLength = metaDataLength;
        this.offset = typeof offset === 'number' ? offset : offset.low;
        this.bodyLength = typeof bodyLength === 'number' ? bodyLength : bodyLength.low;
    }
    /** @nocollapse */
    static decode(block) {
        return new FileBlock(block.metaDataLength(), block.bodyLength(), block.offset());
    }
    /** @nocollapse */
    static encode(b, fileBlock) {
        const { metaDataLength } = fileBlock;
        const offset = new Long(fileBlock.offset, 0);
        const bodyLength = new Long(fileBlock.bodyLength, 0);
        return _Block.createBlock(b, offset, metaDataLength, bodyLength);
    }
}

//# sourceMappingURL=file.mjs.map

;// ../node_modules/apache-arrow/io/stream.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.





/** @ignore */
class AsyncByteQueue extends AsyncQueue {
    write(value) {
        if ((value = toUint8Array(value)).byteLength > 0) {
            return super.write(value);
        }
    }
    toString(sync = false) {
        return sync
            ? decodeUtf8(this.toUint8Array(true))
            : this.toUint8Array(false).then(decodeUtf8);
    }
    toUint8Array(sync = false) {
        return sync ? joinUint8Arrays(this._values)[0] : (async () => {
            let buffers = [], byteLength = 0;
            for await (const chunk of this) {
                buffers.push(chunk);
                byteLength += chunk.byteLength;
            }
            return joinUint8Arrays(buffers, byteLength)[0];
        })();
    }
}
/** @ignore */
class ByteStream {
    constructor(source) {
        if (source) {
            this.source = new ByteStreamSource(adapters.fromIterable(source));
        }
    }
    [Symbol.iterator]() { return this; }
    next(value) { return this.source.next(value); }
    throw(value) { return this.source.throw(value); }
    return(value) { return this.source.return(value); }
    peek(size) { return this.source.peek(size); }
    read(size) { return this.source.read(size); }
}
/** @ignore */
class AsyncByteStream {
    constructor(source) {
        if (source instanceof AsyncByteStream) {
            this.source = source.source;
        }
        else if (source instanceof AsyncByteQueue) {
            this.source = new AsyncByteStreamSource(adapters.fromAsyncIterable(source));
        }
        else if (isReadableNodeStream(source)) {
            this.source = new AsyncByteStreamSource(adapters.fromNodeStream(source));
        }
        else if (isReadableDOMStream(source)) {
            this.source = new AsyncByteStreamSource(adapters.fromDOMStream(source));
        }
        else if (isFetchResponse(source)) {
            this.source = new AsyncByteStreamSource(adapters.fromDOMStream(source.body));
        }
        else if (isIterable(source)) {
            this.source = new AsyncByteStreamSource(adapters.fromIterable(source));
        }
        else if (isPromise(source)) {
            this.source = new AsyncByteStreamSource(adapters.fromAsyncIterable(source));
        }
        else if (isAsyncIterable(source)) {
            this.source = new AsyncByteStreamSource(adapters.fromAsyncIterable(source));
        }
    }
    [Symbol.asyncIterator]() { return this; }
    next(value) { return this.source.next(value); }
    throw(value) { return this.source.throw(value); }
    return(value) { return this.source.return(value); }
    get closed() { return this.source.closed; }
    cancel(reason) { return this.source.cancel(reason); }
    peek(size) { return this.source.peek(size); }
    read(size) { return this.source.read(size); }
}
/** @ignore */
class ByteStreamSource {
    constructor(source) {
        this.source = source;
    }
    cancel(reason) { this.return(reason); }
    peek(size) { return this.next(size, 'peek').value; }
    read(size) { return this.next(size, 'read').value; }
    next(size, cmd = 'read') { return this.source.next({ cmd, size }); }
    throw(value) { return Object.create((this.source.throw && this.source.throw(value)) || ITERATOR_DONE); }
    return(value) { return Object.create((this.source.return && this.source.return(value)) || ITERATOR_DONE); }
}
/** @ignore */
class AsyncByteStreamSource {
    constructor(source) {
        this.source = source;
        this._closedPromise = new Promise((r) => this._closedPromiseResolve = r);
    }
    async cancel(reason) { await this.return(reason); }
    get closed() { return this._closedPromise; }
    async read(size) { return (await this.next(size, 'read')).value; }
    async peek(size) { return (await this.next(size, 'peek')).value; }
    async next(size, cmd = 'read') { return (await this.source.next({ cmd, size })); }
    async throw(value) {
        const result = (this.source.throw && await this.source.throw(value)) || ITERATOR_DONE;
        this._closedPromiseResolve && this._closedPromiseResolve();
        this._closedPromiseResolve = undefined;
        return Object.create(result);
    }
    async return(value) {
        const result = (this.source.return && await this.source.return(value)) || ITERATOR_DONE;
        this._closedPromiseResolve && this._closedPromiseResolve();
        this._closedPromiseResolve = undefined;
        return Object.create(result);
    }
}

//# sourceMappingURL=stream.mjs.map

;// ../node_modules/apache-arrow/io/file.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.


/** @ignore */
class RandomAccessFile extends ByteStream {
    constructor(buffer, byteLength) {
        super();
        this.position = 0;
        this.buffer = toUint8Array(buffer);
        this.size = typeof byteLength === 'undefined' ? this.buffer.byteLength : byteLength;
    }
    readInt32(position) {
        const { buffer, byteOffset } = this.readAt(position, 4);
        return new DataView(buffer, byteOffset).getInt32(0, true);
    }
    seek(position) {
        this.position = Math.min(position, this.size);
        return position < this.size;
    }
    read(nBytes) {
        const { buffer, size, position } = this;
        if (buffer && position < size) {
            if (typeof nBytes !== 'number') {
                nBytes = Infinity;
            }
            this.position = Math.min(size, position + Math.min(size - position, nBytes));
            return buffer.subarray(position, this.position);
        }
        return null;
    }
    readAt(position, nBytes) {
        const buf = this.buffer;
        const end = Math.min(this.size, position + nBytes);
        return buf ? buf.subarray(position, end) : new Uint8Array(nBytes);
    }
    close() { this.buffer && (this.buffer = null); }
    throw(value) { this.close(); return { done: true, value }; }
    return(value) { this.close(); return { done: true, value }; }
}
/** @ignore */
class AsyncRandomAccessFile extends AsyncByteStream {
    constructor(file, byteLength) {
        super();
        this.position = 0;
        this._handle = file;
        if (typeof byteLength === 'number') {
            this.size = byteLength;
        }
        else {
            this._pending = (async () => {
                this.size = (await file.stat()).size;
                delete this._pending;
            })();
        }
    }
    async readInt32(position) {
        const { buffer, byteOffset } = await this.readAt(position, 4);
        return new DataView(buffer, byteOffset).getInt32(0, true);
    }
    async seek(position) {
        this._pending && await this._pending;
        this.position = Math.min(position, this.size);
        return position < this.size;
    }
    async read(nBytes) {
        this._pending && await this._pending;
        const { _handle: file, size, position } = this;
        if (file && position < size) {
            if (typeof nBytes !== 'number') {
                nBytes = Infinity;
            }
            let pos = position, offset = 0, bytesRead = 0;
            let end = Math.min(size, pos + Math.min(size - pos, nBytes));
            let buffer = new Uint8Array(Math.max(0, (this.position = end) - pos));
            while ((pos += bytesRead) < end && (offset += bytesRead) < buffer.byteLength) {
                ({ bytesRead } = await file.read(buffer, offset, buffer.byteLength - offset, pos));
            }
            return buffer;
        }
        return null;
    }
    async readAt(position, nBytes) {
        this._pending && await this._pending;
        const { _handle: file, size } = this;
        if (file && (position + nBytes) < size) {
            const end = Math.min(size, position + nBytes);
            const buffer = new Uint8Array(end - position);
            return (await file.read(buffer, 0, nBytes, position)).buffer;
        }
        return new Uint8Array(nBytes);
    }
    async close() { const f = this._handle; this._handle = null; f && await f.close(); }
    async throw(value) { await this.close(); return { done: true, value }; }
    async return(value) { await this.close(); return { done: true, value }; }
}

//# sourceMappingURL=file.mjs.map

;// ../node_modules/apache-arrow/util/int.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.
/** @ignore */
const carryBit16 = 1 << 16;
/** @ignore */
function intAsHex(value) {
    if (value < 0) {
        value = 0xFFFFFFFF + value + 1;
    }
    return `0x${value.toString(16)}`;
}
/** @ignore */
const kInt32DecimalDigits = 8;
/** @ignore */
const kPowersOfTen = [1,
    10,
    100,
    1000,
    10000,
    100000,
    1000000,
    10000000,
    100000000];
/** @ignore */
class BaseInt64 {
    constructor(buffer) {
        this.buffer = buffer;
    }
    high() { return this.buffer[1]; }
    low() { return this.buffer[0]; }
    _times(other) {
        // Break the left and right numbers into 16 bit chunks
        // so that we can multiply them without overflow.
        const L = new Uint32Array([
            this.buffer[1] >>> 16,
            this.buffer[1] & 0xFFFF,
            this.buffer[0] >>> 16,
            this.buffer[0] & 0xFFFF
        ]);
        const R = new Uint32Array([
            other.buffer[1] >>> 16,
            other.buffer[1] & 0xFFFF,
            other.buffer[0] >>> 16,
            other.buffer[0] & 0xFFFF
        ]);
        let product = L[3] * R[3];
        this.buffer[0] = product & 0xFFFF;
        let sum = product >>> 16;
        product = L[2] * R[3];
        sum += product;
        product = (L[3] * R[2]) >>> 0;
        sum += product;
        this.buffer[0] += sum << 16;
        this.buffer[1] = (sum >>> 0 < product ? carryBit16 : 0);
        this.buffer[1] += sum >>> 16;
        this.buffer[1] += L[1] * R[3] + L[2] * R[2] + L[3] * R[1];
        this.buffer[1] += (L[0] * R[3] + L[1] * R[2] + L[2] * R[1] + L[3] * R[0]) << 16;
        return this;
    }
    _plus(other) {
        const sum = (this.buffer[0] + other.buffer[0]) >>> 0;
        this.buffer[1] += other.buffer[1];
        if (sum < (this.buffer[0] >>> 0)) {
            ++this.buffer[1];
        }
        this.buffer[0] = sum;
    }
    lessThan(other) {
        return this.buffer[1] < other.buffer[1] ||
            (this.buffer[1] === other.buffer[1] && this.buffer[0] < other.buffer[0]);
    }
    equals(other) {
        return this.buffer[1] === other.buffer[1] && this.buffer[0] == other.buffer[0];
    }
    greaterThan(other) {
        return other.lessThan(this);
    }
    hex() {
        return `${intAsHex(this.buffer[1])} ${intAsHex(this.buffer[0])}`;
    }
}
/** @ignore */
class int_Uint64 extends BaseInt64 {
    times(other) {
        this._times(other);
        return this;
    }
    plus(other) {
        this._plus(other);
        return this;
    }
    /** @nocollapse */
    static from(val, out_buffer = new Uint32Array(2)) {
        return int_Uint64.fromString(typeof (val) === 'string' ? val : val.toString(), out_buffer);
    }
    /** @nocollapse */
    static fromNumber(num, out_buffer = new Uint32Array(2)) {
        // Always parse numbers as strings - pulling out high and low bits
        // directly seems to lose precision sometimes
        // For example:
        //     > -4613034156400212000 >>> 0
        //     721782784
        // The correct lower 32-bits are 721782752
        return int_Uint64.fromString(num.toString(), out_buffer);
    }
    /** @nocollapse */
    static fromString(str, out_buffer = new Uint32Array(2)) {
        const length = str.length;
        let out = new int_Uint64(out_buffer);
        for (let posn = 0; posn < length;) {
            const group = kInt32DecimalDigits < length - posn ?
                kInt32DecimalDigits : length - posn;
            const chunk = new int_Uint64(new Uint32Array([parseInt(str.substr(posn, group), 10), 0]));
            const multiple = new int_Uint64(new Uint32Array([kPowersOfTen[group], 0]));
            out.times(multiple);
            out.plus(chunk);
            posn += group;
        }
        return out;
    }
    /** @nocollapse */
    static convertArray(values) {
        const data = new Uint32Array(values.length * 2);
        for (let i = -1, n = values.length; ++i < n;) {
            int_Uint64.from(values[i], new Uint32Array(data.buffer, data.byteOffset + 2 * i * 4, 2));
        }
        return data;
    }
    /** @nocollapse */
    static multiply(left, right) {
        let rtrn = new int_Uint64(new Uint32Array(left.buffer));
        return rtrn.times(right);
    }
    /** @nocollapse */
    static add(left, right) {
        let rtrn = new int_Uint64(new Uint32Array(left.buffer));
        return rtrn.plus(right);
    }
}
/** @ignore */
class int_Int64 extends BaseInt64 {
    negate() {
        this.buffer[0] = ~this.buffer[0] + 1;
        this.buffer[1] = ~this.buffer[1];
        if (this.buffer[0] == 0) {
            ++this.buffer[1];
        }
        return this;
    }
    times(other) {
        this._times(other);
        return this;
    }
    plus(other) {
        this._plus(other);
        return this;
    }
    lessThan(other) {
        // force high bytes to be signed
        const this_high = this.buffer[1] << 0;
        const other_high = other.buffer[1] << 0;
        return this_high < other_high ||
            (this_high === other_high && this.buffer[0] < other.buffer[0]);
    }
    /** @nocollapse */
    static from(val, out_buffer = new Uint32Array(2)) {
        return int_Int64.fromString(typeof (val) === 'string' ? val : val.toString(), out_buffer);
    }
    /** @nocollapse */
    static fromNumber(num, out_buffer = new Uint32Array(2)) {
        // Always parse numbers as strings - pulling out high and low bits
        // directly seems to lose precision sometimes
        // For example:
        //     > -4613034156400212000 >>> 0
        //     721782784
        // The correct lower 32-bits are 721782752
        return int_Int64.fromString(num.toString(), out_buffer);
    }
    /** @nocollapse */
    static fromString(str, out_buffer = new Uint32Array(2)) {
        // TODO: Assert that out_buffer is 0 and length = 2
        const negate = str.startsWith('-');
        const length = str.length;
        let out = new int_Int64(out_buffer);
        for (let posn = negate ? 1 : 0; posn < length;) {
            const group = kInt32DecimalDigits < length - posn ?
                kInt32DecimalDigits : length - posn;
            const chunk = new int_Int64(new Uint32Array([parseInt(str.substr(posn, group), 10), 0]));
            const multiple = new int_Int64(new Uint32Array([kPowersOfTen[group], 0]));
            out.times(multiple);
            out.plus(chunk);
            posn += group;
        }
        return negate ? out.negate() : out;
    }
    /** @nocollapse */
    static convertArray(values) {
        const data = new Uint32Array(values.length * 2);
        for (let i = -1, n = values.length; ++i < n;) {
            int_Int64.from(values[i], new Uint32Array(data.buffer, data.byteOffset + 2 * i * 4, 2));
        }
        return data;
    }
    /** @nocollapse */
    static multiply(left, right) {
        let rtrn = new int_Int64(new Uint32Array(left.buffer));
        return rtrn.times(right);
    }
    /** @nocollapse */
    static add(left, right) {
        let rtrn = new int_Int64(new Uint32Array(left.buffer));
        return rtrn.plus(right);
    }
}
/** @ignore */
class Int128 {
    constructor(buffer) {
        this.buffer = buffer;
        // buffer[3] MSB (high)
        // buffer[2]
        // buffer[1]
        // buffer[0] LSB (low)
    }
    high() {
        return new int_Int64(new Uint32Array(this.buffer.buffer, this.buffer.byteOffset + 8, 2));
    }
    low() {
        return new int_Int64(new Uint32Array(this.buffer.buffer, this.buffer.byteOffset, 2));
    }
    negate() {
        this.buffer[0] = ~this.buffer[0] + 1;
        this.buffer[1] = ~this.buffer[1];
        this.buffer[2] = ~this.buffer[2];
        this.buffer[3] = ~this.buffer[3];
        if (this.buffer[0] == 0) {
            ++this.buffer[1];
        }
        if (this.buffer[1] == 0) {
            ++this.buffer[2];
        }
        if (this.buffer[2] == 0) {
            ++this.buffer[3];
        }
        return this;
    }
    times(other) {
        // Break the left and right numbers into 32 bit chunks
        // so that we can multiply them without overflow.
        const L0 = new int_Uint64(new Uint32Array([this.buffer[3], 0]));
        const L1 = new int_Uint64(new Uint32Array([this.buffer[2], 0]));
        const L2 = new int_Uint64(new Uint32Array([this.buffer[1], 0]));
        const L3 = new int_Uint64(new Uint32Array([this.buffer[0], 0]));
        const R0 = new int_Uint64(new Uint32Array([other.buffer[3], 0]));
        const R1 = new int_Uint64(new Uint32Array([other.buffer[2], 0]));
        const R2 = new int_Uint64(new Uint32Array([other.buffer[1], 0]));
        const R3 = new int_Uint64(new Uint32Array([other.buffer[0], 0]));
        let product = int_Uint64.multiply(L3, R3);
        this.buffer[0] = product.low();
        let sum = new int_Uint64(new Uint32Array([product.high(), 0]));
        product = int_Uint64.multiply(L2, R3);
        sum.plus(product);
        product = int_Uint64.multiply(L3, R2);
        sum.plus(product);
        this.buffer[1] = sum.low();
        this.buffer[3] = (sum.lessThan(product) ? 1 : 0);
        this.buffer[2] = sum.high();
        let high = new int_Uint64(new Uint32Array(this.buffer.buffer, this.buffer.byteOffset + 8, 2));
        high.plus(int_Uint64.multiply(L1, R3))
            .plus(int_Uint64.multiply(L2, R2))
            .plus(int_Uint64.multiply(L3, R1));
        this.buffer[3] += int_Uint64.multiply(L0, R3)
            .plus(int_Uint64.multiply(L1, R2))
            .plus(int_Uint64.multiply(L2, R1))
            .plus(int_Uint64.multiply(L3, R0)).low();
        return this;
    }
    plus(other) {
        let sums = new Uint32Array(4);
        sums[3] = (this.buffer[3] + other.buffer[3]) >>> 0;
        sums[2] = (this.buffer[2] + other.buffer[2]) >>> 0;
        sums[1] = (this.buffer[1] + other.buffer[1]) >>> 0;
        sums[0] = (this.buffer[0] + other.buffer[0]) >>> 0;
        if (sums[0] < (this.buffer[0] >>> 0)) {
            ++sums[1];
        }
        if (sums[1] < (this.buffer[1] >>> 0)) {
            ++sums[2];
        }
        if (sums[2] < (this.buffer[2] >>> 0)) {
            ++sums[3];
        }
        this.buffer[3] = sums[3];
        this.buffer[2] = sums[2];
        this.buffer[1] = sums[1];
        this.buffer[0] = sums[0];
        return this;
    }
    hex() {
        return `${intAsHex(this.buffer[3])} ${intAsHex(this.buffer[2])} ${intAsHex(this.buffer[1])} ${intAsHex(this.buffer[0])}`;
    }
    /** @nocollapse */
    static multiply(left, right) {
        let rtrn = new Int128(new Uint32Array(left.buffer));
        return rtrn.times(right);
    }
    /** @nocollapse */
    static add(left, right) {
        let rtrn = new Int128(new Uint32Array(left.buffer));
        return rtrn.plus(right);
    }
    /** @nocollapse */
    static from(val, out_buffer = new Uint32Array(4)) {
        return Int128.fromString(typeof (val) === 'string' ? val : val.toString(), out_buffer);
    }
    /** @nocollapse */
    static fromNumber(num, out_buffer = new Uint32Array(4)) {
        // Always parse numbers as strings - pulling out high and low bits
        // directly seems to lose precision sometimes
        // For example:
        //     > -4613034156400212000 >>> 0
        //     721782784
        // The correct lower 32-bits are 721782752
        return Int128.fromString(num.toString(), out_buffer);
    }
    /** @nocollapse */
    static fromString(str, out_buffer = new Uint32Array(4)) {
        // TODO: Assert that out_buffer is 0 and length = 4
        const negate = str.startsWith('-');
        const length = str.length;
        let out = new Int128(out_buffer);
        for (let posn = negate ? 1 : 0; posn < length;) {
            const group = kInt32DecimalDigits < length - posn ?
                kInt32DecimalDigits : length - posn;
            const chunk = new Int128(new Uint32Array([parseInt(str.substr(posn, group), 10), 0, 0, 0]));
            const multiple = new Int128(new Uint32Array([kPowersOfTen[group], 0, 0, 0]));
            out.times(multiple);
            out.plus(chunk);
            posn += group;
        }
        return negate ? out.negate() : out;
    }
    /** @nocollapse */
    static convertArray(values) {
        // TODO: Distinguish between string and number at compile-time
        const data = new Uint32Array(values.length * 4);
        for (let i = -1, n = values.length; ++i < n;) {
            Int128.from(values[i], new Uint32Array(data.buffer, data.byteOffset + 4 * 4 * i, 4));
        }
        return data;
    }
}

//# sourceMappingURL=int.mjs.map

;// ../node_modules/apache-arrow/visitor/vectorloader.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.









/** @ignore */
class VectorLoader extends Visitor {
    constructor(bytes, nodes, buffers, dictionaries) {
        super();
        this.nodesIndex = -1;
        this.buffersIndex = -1;
        this.bytes = bytes;
        this.nodes = nodes;
        this.buffers = buffers;
        this.dictionaries = dictionaries;
    }
    visit(node) {
        return super.visit(node instanceof Field ? node.type : node);
    }
    visitNull(type, { length, } = this.nextFieldNode()) { return Data.Null(type, 0, length); }
    visitBool(type, { length, nullCount } = this.nextFieldNode()) { return Data.Bool(type, 0, length, nullCount, this.readNullBitmap(type, nullCount), this.readData(type)); }
    visitInt(type, { length, nullCount } = this.nextFieldNode()) { return Data.Int(type, 0, length, nullCount, this.readNullBitmap(type, nullCount), this.readData(type)); }
    visitFloat(type, { length, nullCount } = this.nextFieldNode()) { return Data.Float(type, 0, length, nullCount, this.readNullBitmap(type, nullCount), this.readData(type)); }
    visitUtf8(type, { length, nullCount } = this.nextFieldNode()) { return Data.Utf8(type, 0, length, nullCount, this.readNullBitmap(type, nullCount), this.readOffsets(type), this.readData(type)); }
    visitBinary(type, { length, nullCount } = this.nextFieldNode()) { return Data.Binary(type, 0, length, nullCount, this.readNullBitmap(type, nullCount), this.readOffsets(type), this.readData(type)); }
    visitFixedSizeBinary(type, { length, nullCount } = this.nextFieldNode()) { return Data.FixedSizeBinary(type, 0, length, nullCount, this.readNullBitmap(type, nullCount), this.readData(type)); }
    visitDate(type, { length, nullCount } = this.nextFieldNode()) { return Data.Date(type, 0, length, nullCount, this.readNullBitmap(type, nullCount), this.readData(type)); }
    visitTimestamp(type, { length, nullCount } = this.nextFieldNode()) { return Data.Timestamp(type, 0, length, nullCount, this.readNullBitmap(type, nullCount), this.readData(type)); }
    visitTime(type, { length, nullCount } = this.nextFieldNode()) { return Data.Time(type, 0, length, nullCount, this.readNullBitmap(type, nullCount), this.readData(type)); }
    visitDecimal(type, { length, nullCount } = this.nextFieldNode()) { return Data.Decimal(type, 0, length, nullCount, this.readNullBitmap(type, nullCount), this.readData(type)); }
    visitList(type, { length, nullCount } = this.nextFieldNode()) { return Data.List(type, 0, length, nullCount, this.readNullBitmap(type, nullCount), this.readOffsets(type), this.visit(type.children[0])); }
    visitStruct(type, { length, nullCount } = this.nextFieldNode()) { return Data.Struct(type, 0, length, nullCount, this.readNullBitmap(type, nullCount), this.visitMany(type.children)); }
    visitUnion(type) { return type.mode === UnionMode.Sparse ? this.visitSparseUnion(type) : this.visitDenseUnion(type); }
    visitDenseUnion(type, { length, nullCount } = this.nextFieldNode()) { return Data.Union(type, 0, length, nullCount, this.readNullBitmap(type, nullCount), this.readTypeIds(type), this.readOffsets(type), this.visitMany(type.children)); }
    visitSparseUnion(type, { length, nullCount } = this.nextFieldNode()) { return Data.Union(type, 0, length, nullCount, this.readNullBitmap(type, nullCount), this.readTypeIds(type), this.visitMany(type.children)); }
    visitDictionary(type, { length, nullCount } = this.nextFieldNode()) { return Data.Dictionary(type, 0, length, nullCount, this.readNullBitmap(type, nullCount), this.readData(type.indices), this.readDictionary(type)); }
    visitInterval(type, { length, nullCount } = this.nextFieldNode()) { return Data.Interval(type, 0, length, nullCount, this.readNullBitmap(type, nullCount), this.readData(type)); }
    visitFixedSizeList(type, { length, nullCount } = this.nextFieldNode()) { return Data.FixedSizeList(type, 0, length, nullCount, this.readNullBitmap(type, nullCount), this.visit(type.children[0])); }
    visitMap(type, { length, nullCount } = this.nextFieldNode()) { return Data.Map(type, 0, length, nullCount, this.readNullBitmap(type, nullCount), this.readOffsets(type), this.visit(type.children[0])); }
    nextFieldNode() { return this.nodes[++this.nodesIndex]; }
    nextBufferRange() { return this.buffers[++this.buffersIndex]; }
    readNullBitmap(type, nullCount, buffer = this.nextBufferRange()) {
        return nullCount > 0 && this.readData(type, buffer) || new Uint8Array(0);
    }
    readOffsets(type, buffer) { return this.readData(type, buffer); }
    readTypeIds(type, buffer) { return this.readData(type, buffer); }
    readData(_type, { length, offset } = this.nextBufferRange()) {
        return this.bytes.subarray(offset, offset + length);
    }
    readDictionary(type) {
        return this.dictionaries.get(type.id);
    }
}
/** @ignore */
class JSONVectorLoader extends VectorLoader {
    constructor(sources, nodes, buffers, dictionaries) {
        super(new Uint8Array(0), nodes, buffers, dictionaries);
        this.sources = sources;
    }
    readNullBitmap(_type, nullCount, { offset } = this.nextBufferRange()) {
        return nullCount <= 0 ? new Uint8Array(0) : packBools(this.sources[offset]);
    }
    readOffsets(_type, { offset } = this.nextBufferRange()) {
        return toArrayBufferView(Uint8Array, toArrayBufferView(Int32Array, this.sources[offset]));
    }
    readTypeIds(type, { offset } = this.nextBufferRange()) {
        return toArrayBufferView(Uint8Array, toArrayBufferView(type.ArrayType, this.sources[offset]));
    }
    readData(type, { offset } = this.nextBufferRange()) {
        const { sources } = this;
        if (DataType.isTimestamp(type)) {
            return toArrayBufferView(Uint8Array, int_Int64.convertArray(sources[offset]));
        }
        else if ((DataType.isInt(type) || DataType.isTime(type)) && type.bitWidth === 64) {
            return toArrayBufferView(Uint8Array, int_Int64.convertArray(sources[offset]));
        }
        else if (DataType.isDate(type) && type.unit === DateUnit.MILLISECOND) {
            return toArrayBufferView(Uint8Array, int_Int64.convertArray(sources[offset]));
        }
        else if (DataType.isDecimal(type)) {
            return toArrayBufferView(Uint8Array, Int128.convertArray(sources[offset]));
        }
        else if (DataType.isBinary(type) || DataType.isFixedSizeBinary(type)) {
            return binaryDataFromJSON(sources[offset]);
        }
        else if (DataType.isBool(type)) {
            return packBools(sources[offset]);
        }
        else if (DataType.isUtf8(type)) {
            return encodeUtf8(sources[offset].join(''));
        }
        return toArrayBufferView(Uint8Array, toArrayBufferView(type.ArrayType, sources[offset].map((x) => +x)));
    }
}
/** @ignore */
function binaryDataFromJSON(values) {
    // "DATA": ["49BC7D5B6C47D2","3F5FB6D9322026"]
    // There are definitely more efficient ways to do this... but it gets the
    // job done.
    const joined = values.join('');
    const data = new Uint8Array(joined.length / 2);
    for (let i = 0; i < joined.length; i += 2) {
        data[i >> 1] = parseInt(joined.substr(i, 2), 16);
    }
    return data;
}

//# sourceMappingURL=vectorloader.mjs.map

;// ../node_modules/apache-arrow/visitor/typeassembler.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.

var typeassembler_Long = flatbuffers.Long;


var typeassembler_Null = Schema_org.apache.arrow.flatbuf.Null;
var Int = Schema_org.apache.arrow.flatbuf.Int;
var FloatingPoint = Schema_org.apache.arrow.flatbuf.FloatingPoint;
var typeassembler_Binary = Schema_org.apache.arrow.flatbuf.Binary;
var typeassembler_Bool = Schema_org.apache.arrow.flatbuf.Bool;
var typeassembler_Utf8 = Schema_org.apache.arrow.flatbuf.Utf8;
var typeassembler_Decimal = Schema_org.apache.arrow.flatbuf.Decimal;
var typeassembler_Date = Schema_org.apache.arrow.flatbuf.Date;
var Time = Schema_org.apache.arrow.flatbuf.Time;
var Timestamp = Schema_org.apache.arrow.flatbuf.Timestamp;
var Interval = Schema_org.apache.arrow.flatbuf.Interval;
var typeassembler_List = Schema_org.apache.arrow.flatbuf.List;
var typeassembler_Struct = Schema_org.apache.arrow.flatbuf.Struct_;
var Union = Schema_org.apache.arrow.flatbuf.Union;
var DictionaryEncoding = Schema_org.apache.arrow.flatbuf.DictionaryEncoding;
var typeassembler_FixedSizeBinary = Schema_org.apache.arrow.flatbuf.FixedSizeBinary;
var typeassembler_FixedSizeList = Schema_org.apache.arrow.flatbuf.FixedSizeList;
var typeassembler_Map_ = Schema_org.apache.arrow.flatbuf.Map;
/** @ignore */
class TypeAssembler extends Visitor {
    visit(node, builder) {
        return (node == null || builder == null) ? undefined : super.visit(node, builder);
    }
    visitNull(_node, b) {
        typeassembler_Null.startNull(b);
        return typeassembler_Null.endNull(b);
    }
    visitInt(node, b) {
        Int.startInt(b);
        Int.addBitWidth(b, node.bitWidth);
        Int.addIsSigned(b, node.isSigned);
        return Int.endInt(b);
    }
    visitFloat(node, b) {
        FloatingPoint.startFloatingPoint(b);
        FloatingPoint.addPrecision(b, node.precision);
        return FloatingPoint.endFloatingPoint(b);
    }
    visitBinary(_node, b) {
        typeassembler_Binary.startBinary(b);
        return typeassembler_Binary.endBinary(b);
    }
    visitBool(_node, b) {
        typeassembler_Bool.startBool(b);
        return typeassembler_Bool.endBool(b);
    }
    visitUtf8(_node, b) {
        typeassembler_Utf8.startUtf8(b);
        return typeassembler_Utf8.endUtf8(b);
    }
    visitDecimal(node, b) {
        typeassembler_Decimal.startDecimal(b);
        typeassembler_Decimal.addScale(b, node.scale);
        typeassembler_Decimal.addPrecision(b, node.precision);
        return typeassembler_Decimal.endDecimal(b);
    }
    visitDate(node, b) {
        typeassembler_Date.startDate(b);
        typeassembler_Date.addUnit(b, node.unit);
        return typeassembler_Date.endDate(b);
    }
    visitTime(node, b) {
        Time.startTime(b);
        Time.addUnit(b, node.unit);
        Time.addBitWidth(b, node.bitWidth);
        return Time.endTime(b);
    }
    visitTimestamp(node, b) {
        const timezone = (node.timezone && b.createString(node.timezone)) || undefined;
        Timestamp.startTimestamp(b);
        Timestamp.addUnit(b, node.unit);
        if (timezone !== undefined) {
            Timestamp.addTimezone(b, timezone);
        }
        return Timestamp.endTimestamp(b);
    }
    visitInterval(node, b) {
        Interval.startInterval(b);
        Interval.addUnit(b, node.unit);
        return Interval.endInterval(b);
    }
    visitList(_node, b) {
        typeassembler_List.startList(b);
        return typeassembler_List.endList(b);
    }
    visitStruct(_node, b) {
        typeassembler_Struct.startStruct_(b);
        return typeassembler_Struct.endStruct_(b);
    }
    visitUnion(node, b) {
        Union.startTypeIdsVector(b, node.typeIds.length);
        const typeIds = Union.createTypeIdsVector(b, node.typeIds);
        Union.startUnion(b);
        Union.addMode(b, node.mode);
        Union.addTypeIds(b, typeIds);
        return Union.endUnion(b);
    }
    visitDictionary(node, b) {
        const indexType = this.visit(node.indices, b);
        DictionaryEncoding.startDictionaryEncoding(b);
        DictionaryEncoding.addId(b, new typeassembler_Long(node.id, 0));
        DictionaryEncoding.addIsOrdered(b, node.isOrdered);
        if (indexType !== undefined) {
            DictionaryEncoding.addIndexType(b, indexType);
        }
        return DictionaryEncoding.endDictionaryEncoding(b);
    }
    visitFixedSizeBinary(node, b) {
        typeassembler_FixedSizeBinary.startFixedSizeBinary(b);
        typeassembler_FixedSizeBinary.addByteWidth(b, node.byteWidth);
        return typeassembler_FixedSizeBinary.endFixedSizeBinary(b);
    }
    visitFixedSizeList(node, b) {
        typeassembler_FixedSizeList.startFixedSizeList(b);
        typeassembler_FixedSizeList.addListSize(b, node.listSize);
        return typeassembler_FixedSizeList.endFixedSizeList(b);
    }
    visitMap(node, b) {
        typeassembler_Map_.startMap(b);
        typeassembler_Map_.addKeysSorted(b, node.keysSorted);
        return typeassembler_Map_.endMap(b);
    }
}
/** @ignore */
const typeassembler_instance = new TypeAssembler();

//# sourceMappingURL=typeassembler.mjs.map

;// ../node_modules/apache-arrow/ipc/metadata/json.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.




/** @ignore */
function schemaFromJSON(_schema, dictionaries = new Map()) {
    return new Schema(schemaFieldsFromJSON(_schema, dictionaries), customMetadataFromJSON(_schema['customMetadata']), dictionaries);
}
/** @ignore */
function recordBatchFromJSON(b) {
    return new RecordBatch(b['count'], fieldNodesFromJSON(b['columns']), buffersFromJSON(b['columns']));
}
/** @ignore */
function dictionaryBatchFromJSON(b) {
    return new DictionaryBatch(recordBatchFromJSON(b['data']), b['id'], b['isDelta']);
}
/** @ignore */
function schemaFieldsFromJSON(_schema, dictionaries) {
    return (_schema['fields'] || []).filter(Boolean).map((f) => Field.fromJSON(f, dictionaries));
}
/** @ignore */
function fieldChildrenFromJSON(_field, dictionaries) {
    return (_field['children'] || []).filter(Boolean).map((f) => Field.fromJSON(f, dictionaries));
}
/** @ignore */
function fieldNodesFromJSON(xs) {
    return (xs || []).reduce((fieldNodes, column) => [
        ...fieldNodes,
        new FieldNode(column['count'], nullCountFromJSON(column['VALIDITY'])),
        ...fieldNodesFromJSON(column['children'])
    ], []);
}
/** @ignore */
function buffersFromJSON(xs, buffers = []) {
    for (let i = -1, n = (xs || []).length; ++i < n;) {
        const column = xs[i];
        column['VALIDITY'] && buffers.push(new BufferRegion(buffers.length, column['VALIDITY'].length));
        column['TYPE'] && buffers.push(new BufferRegion(buffers.length, column['TYPE'].length));
        column['OFFSET'] && buffers.push(new BufferRegion(buffers.length, column['OFFSET'].length));
        column['DATA'] && buffers.push(new BufferRegion(buffers.length, column['DATA'].length));
        buffers = buffersFromJSON(column['children'], buffers);
    }
    return buffers;
}
/** @ignore */
function nullCountFromJSON(validity) {
    return (validity || []).reduce((sum, val) => sum + +(val === 0), 0);
}
/** @ignore */
function fieldFromJSON(_field, dictionaries) {
    let id;
    let keys;
    let field;
    let dictMeta;
    let type;
    let dictType;
    // If no dictionary encoding
    if (!dictionaries || !(dictMeta = _field['dictionary'])) {
        type = typeFromJSON(_field, fieldChildrenFromJSON(_field, dictionaries));
        field = new Field(_field['name'], type, _field['nullable'], customMetadataFromJSON(_field['customMetadata']));
    }
    // tslint:disable
    // If dictionary encoded and the first time we've seen this dictionary id, decode
    // the data type and child fields, then wrap in a Dictionary type and insert the
    // data type into the dictionary types map.
    else if (!dictionaries.has(id = dictMeta['id'])) {
        // a dictionary index defaults to signed 32 bit int if unspecified
        keys = (keys = dictMeta['indexType']) ? indexTypeFromJSON(keys) : new Int32();
        dictionaries.set(id, type = typeFromJSON(_field, fieldChildrenFromJSON(_field, dictionaries)));
        dictType = new type_Dictionary(type, keys, id, dictMeta['isOrdered']);
        field = new Field(_field['name'], dictType, _field['nullable'], customMetadataFromJSON(_field['customMetadata']));
    }
    // If dictionary encoded, and have already seen this dictionary Id in the schema, then reuse the
    // data type and wrap in a new Dictionary type and field.
    else {
        // a dictionary index defaults to signed 32 bit int if unspecified
        keys = (keys = dictMeta['indexType']) ? indexTypeFromJSON(keys) : new Int32();
        dictType = new type_Dictionary(dictionaries.get(id), keys, id, dictMeta['isOrdered']);
        field = new Field(_field['name'], dictType, _field['nullable'], customMetadataFromJSON(_field['customMetadata']));
    }
    return field || null;
}
/** @ignore */
function customMetadataFromJSON(_metadata) {
    return new Map(Object.entries(_metadata || {}));
}
/** @ignore */
function indexTypeFromJSON(_type) {
    return new Int_(_type['isSigned'], _type['bitWidth']);
}
/** @ignore */
function typeFromJSON(f, children) {
    const typeId = f['type']['name'];
    switch (typeId) {
        case 'NONE': return new Null();
        case 'null': return new Null();
        case 'binary': return new Binary();
        case 'utf8': return new Utf8();
        case 'bool': return new Bool();
        case 'list': return new List((children || [])[0]);
        case 'struct': return new Struct(children || []);
        case 'struct_': return new Struct(children || []);
    }
    switch (typeId) {
        case 'int': {
            const t = f['type'];
            return new Int_(t['isSigned'], t['bitWidth']);
        }
        case 'floatingpoint': {
            const t = f['type'];
            return new Float(Precision[t['precision']]);
        }
        case 'decimal': {
            const t = f['type'];
            return new Decimal(t['scale'], t['precision']);
        }
        case 'date': {
            const t = f['type'];
            return new Date_(DateUnit[t['unit']]);
        }
        case 'time': {
            const t = f['type'];
            return new Time_(TimeUnit[t['unit']], t['bitWidth']);
        }
        case 'timestamp': {
            const t = f['type'];
            return new Timestamp_(TimeUnit[t['unit']], t['timezone']);
        }
        case 'interval': {
            const t = f['type'];
            return new Interval_(IntervalUnit[t['unit']]);
        }
        case 'union': {
            const t = f['type'];
            return new Union_(UnionMode[t['mode']], (t['typeIds'] || []), children || []);
        }
        case 'fixedsizebinary': {
            const t = f['type'];
            return new FixedSizeBinary(t['byteWidth']);
        }
        case 'fixedsizelist': {
            const t = f['type'];
            return new FixedSizeList(t['listSize'], (children || [])[0]);
        }
        case 'map': {
            const t = f['type'];
            return new Map_((children || [])[0], t['keysSorted']);
        }
    }
    throw new Error(`Unrecognized type: "${typeId}"`);
}

//# sourceMappingURL=json.mjs.map

;// ../node_modules/apache-arrow/ipc/metadata/message.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.








var message_Long = flatbuffers.Long;
var message_Builder = flatbuffers.Builder;
var message_ByteBuffer = flatbuffers.ByteBuffer;
var message_Type = Schema_org.apache.arrow.flatbuf.Type;
var _Field = Schema_org.apache.arrow.flatbuf.Field;
var _Schema = Schema_org.apache.arrow.flatbuf.Schema;
var message_Buffer = Schema_org.apache.arrow.flatbuf.Buffer;
var _Message = org.apache.arrow.flatbuf.Message;
var _KeyValue = Schema_org.apache.arrow.flatbuf.KeyValue;
var _FieldNode = org.apache.arrow.flatbuf.FieldNode;
var _Endianness = Schema_org.apache.arrow.flatbuf.Endianness;
var _RecordBatch = org.apache.arrow.flatbuf.RecordBatch;
var _DictionaryBatch = org.apache.arrow.flatbuf.DictionaryBatch;

/**
 * @ignore
 * @private
 **/
class Message {
    constructor(bodyLength, version, headerType, header) {
        this._version = version;
        this._headerType = headerType;
        this.body = new Uint8Array(0);
        header && (this._createHeader = () => header);
        this._bodyLength = typeof bodyLength === 'number' ? bodyLength : bodyLength.low;
    }
    /** @nocollapse */
    static fromJSON(msg, headerType) {
        const message = new Message(0, MetadataVersion.V4, headerType);
        message._createHeader = messageHeaderFromJSON(msg, headerType);
        return message;
    }
    /** @nocollapse */
    static decode(buf) {
        buf = new message_ByteBuffer(toUint8Array(buf));
        const _message = _Message.getRootAsMessage(buf);
        const bodyLength = _message.bodyLength();
        const version = _message.version();
        const headerType = _message.headerType();
        const message = new Message(bodyLength, version, headerType);
        message._createHeader = decodeMessageHeader(_message, headerType);
        return message;
    }
    /** @nocollapse */
    static encode(message) {
        let b = new message_Builder(), headerOffset = -1;
        if (message.isSchema()) {
            headerOffset = Schema.encode(b, message.header());
        }
        else if (message.isRecordBatch()) {
            headerOffset = RecordBatch.encode(b, message.header());
        }
        else if (message.isDictionaryBatch()) {
            headerOffset = DictionaryBatch.encode(b, message.header());
        }
        _Message.startMessage(b);
        _Message.addVersion(b, MetadataVersion.V4);
        _Message.addHeader(b, headerOffset);
        _Message.addHeaderType(b, message.headerType);
        _Message.addBodyLength(b, new message_Long(message.bodyLength, 0));
        _Message.finishMessageBuffer(b, _Message.endMessage(b));
        return b.asUint8Array();
    }
    /** @nocollapse */
    static from(header, bodyLength = 0) {
        if (header instanceof Schema) {
            return new Message(0, MetadataVersion.V4, MessageHeader.Schema, header);
        }
        if (header instanceof RecordBatch) {
            return new Message(bodyLength, MetadataVersion.V4, MessageHeader.RecordBatch, header);
        }
        if (header instanceof DictionaryBatch) {
            return new Message(bodyLength, MetadataVersion.V4, MessageHeader.DictionaryBatch, header);
        }
        throw new Error(`Unrecognized Message header: ${header}`);
    }
    get type() { return this.headerType; }
    get version() { return this._version; }
    get headerType() { return this._headerType; }
    get bodyLength() { return this._bodyLength; }
    header() { return this._createHeader(); }
    isSchema() { return this.headerType === MessageHeader.Schema; }
    isRecordBatch() { return this.headerType === MessageHeader.RecordBatch; }
    isDictionaryBatch() { return this.headerType === MessageHeader.DictionaryBatch; }
}
/**
 * @ignore
 * @private
 **/
class RecordBatch {
    constructor(length, nodes, buffers) {
        this._nodes = nodes;
        this._buffers = buffers;
        this._length = typeof length === 'number' ? length : length.low;
    }
    get nodes() { return this._nodes; }
    get length() { return this._length; }
    get buffers() { return this._buffers; }
}
/**
 * @ignore
 * @private
 **/
class DictionaryBatch {
    constructor(data, id, isDelta = false) {
        this._data = data;
        this._isDelta = isDelta;
        this._id = typeof id === 'number' ? id : id.low;
    }
    get id() { return this._id; }
    get data() { return this._data; }
    get isDelta() { return this._isDelta; }
    get length() { return this.data.length; }
    get nodes() { return this.data.nodes; }
    get buffers() { return this.data.buffers; }
}
/**
 * @ignore
 * @private
 **/
class BufferRegion {
    constructor(offset, length) {
        this.offset = typeof offset === 'number' ? offset : offset.low;
        this.length = typeof length === 'number' ? length : length.low;
    }
}
/**
 * @ignore
 * @private
 **/
class FieldNode {
    constructor(length, nullCount) {
        this.length = typeof length === 'number' ? length : length.low;
        this.nullCount = typeof nullCount === 'number' ? nullCount : nullCount.low;
    }
}
/** @ignore */
function messageHeaderFromJSON(message, type) {
    return (() => {
        switch (type) {
            case MessageHeader.Schema: return Schema.fromJSON(message);
            case MessageHeader.RecordBatch: return RecordBatch.fromJSON(message);
            case MessageHeader.DictionaryBatch: return DictionaryBatch.fromJSON(message);
        }
        throw new Error(`Unrecognized Message type: { name: ${MessageHeader[type]}, type: ${type} }`);
    });
}
/** @ignore */
function decodeMessageHeader(message, type) {
    return (() => {
        switch (type) {
            case MessageHeader.Schema: return Schema.decode(message.header(new _Schema()));
            case MessageHeader.RecordBatch: return RecordBatch.decode(message.header(new _RecordBatch()), message.version());
            case MessageHeader.DictionaryBatch: return DictionaryBatch.decode(message.header(new _DictionaryBatch()), message.version());
        }
        throw new Error(`Unrecognized Message type: { name: ${MessageHeader[type]}, type: ${type} }`);
    });
}
Field['encode'] = encodeField;
Field['decode'] = decodeField;
Field['fromJSON'] = fieldFromJSON;
Schema['encode'] = encodeSchema;
Schema['decode'] = decodeSchema;
Schema['fromJSON'] = schemaFromJSON;
RecordBatch['encode'] = encodeRecordBatch;
RecordBatch['decode'] = decodeRecordBatch;
RecordBatch['fromJSON'] = recordBatchFromJSON;
DictionaryBatch['encode'] = encodeDictionaryBatch;
DictionaryBatch['decode'] = decodeDictionaryBatch;
DictionaryBatch['fromJSON'] = dictionaryBatchFromJSON;
FieldNode['encode'] = encodeFieldNode;
FieldNode['decode'] = decodeFieldNode;
BufferRegion['encode'] = encodeBufferRegion;
BufferRegion['decode'] = decodeBufferRegion;
/** @ignore */
function decodeSchema(_schema, dictionaries = new Map()) {
    const fields = decodeSchemaFields(_schema, dictionaries);
    return new Schema(fields, decodeCustomMetadata(_schema), dictionaries);
}
/** @ignore */
function decodeRecordBatch(batch, version = MetadataVersion.V4) {
    return new RecordBatch(batch.length(), decodeFieldNodes(batch), decodeBuffers(batch, version));
}
/** @ignore */
function decodeDictionaryBatch(batch, version = MetadataVersion.V4) {
    return new DictionaryBatch(RecordBatch.decode(batch.data(), version), batch.id(), batch.isDelta());
}
/** @ignore */
function decodeBufferRegion(b) {
    return new BufferRegion(b.offset(), b.length());
}
/** @ignore */
function decodeFieldNode(f) {
    return new FieldNode(f.length(), f.nullCount());
}
/** @ignore */
function decodeFieldNodes(batch) {
    const nodes = [];
    for (let f, i = -1, j = -1, n = batch.nodesLength(); ++i < n;) {
        if (f = batch.nodes(i)) {
            nodes[++j] = FieldNode.decode(f);
        }
    }
    return nodes;
}
/** @ignore */
function decodeBuffers(batch, version) {
    const bufferRegions = [];
    for (let b, i = -1, j = -1, n = batch.buffersLength(); ++i < n;) {
        if (b = batch.buffers(i)) {
            // If this Arrow buffer was written before version 4,
            // advance the buffer's bb_pos 8 bytes to skip past
            // the now-removed page_id field
            if (version < MetadataVersion.V4) {
                b.bb_pos += (8 * (i + 1));
            }
            bufferRegions[++j] = BufferRegion.decode(b);
        }
    }
    return bufferRegions;
}
/** @ignore */
function decodeSchemaFields(schema, dictionaries) {
    const fields = [];
    for (let f, i = -1, j = -1, n = schema.fieldsLength(); ++i < n;) {
        if (f = schema.fields(i)) {
            fields[++j] = Field.decode(f, dictionaries);
        }
    }
    return fields;
}
/** @ignore */
function decodeFieldChildren(field, dictionaries) {
    const children = [];
    for (let f, i = -1, j = -1, n = field.childrenLength(); ++i < n;) {
        if (f = field.children(i)) {
            children[++j] = Field.decode(f, dictionaries);
        }
    }
    return children;
}
/** @ignore */
function decodeField(f, dictionaries) {
    let id;
    let field;
    let type;
    let keys;
    let dictType;
    let dictMeta;
    // If no dictionary encoding
    if (!dictionaries || !(dictMeta = f.dictionary())) {
        type = decodeFieldType(f, decodeFieldChildren(f, dictionaries));
        field = new Field(f.name(), type, f.nullable(), decodeCustomMetadata(f));
    }
    // tslint:disable
    // If dictionary encoded and the first time we've seen this dictionary id, decode
    // the data type and child fields, then wrap in a Dictionary type and insert the
    // data type into the dictionary types map.
    else if (!dictionaries.has(id = dictMeta.id().low)) {
        // a dictionary index defaults to signed 32 bit int if unspecified
        keys = (keys = dictMeta.indexType()) ? decodeIndexType(keys) : new Int32();
        dictionaries.set(id, type = decodeFieldType(f, decodeFieldChildren(f, dictionaries)));
        dictType = new type_Dictionary(type, keys, id, dictMeta.isOrdered());
        field = new Field(f.name(), dictType, f.nullable(), decodeCustomMetadata(f));
    }
    // If dictionary encoded, and have already seen this dictionary Id in the schema, then reuse the
    // data type and wrap in a new Dictionary type and field.
    else {
        // a dictionary index defaults to signed 32 bit int if unspecified
        keys = (keys = dictMeta.indexType()) ? decodeIndexType(keys) : new Int32();
        dictType = new type_Dictionary(dictionaries.get(id), keys, id, dictMeta.isOrdered());
        field = new Field(f.name(), dictType, f.nullable(), decodeCustomMetadata(f));
    }
    return field || null;
}
/** @ignore */
function decodeCustomMetadata(parent) {
    const data = new Map();
    if (parent) {
        for (let entry, key, i = -1, n = parent.customMetadataLength() | 0; ++i < n;) {
            if ((entry = parent.customMetadata(i)) && (key = entry.key()) != null) {
                data.set(key, entry.value());
            }
        }
    }
    return data;
}
/** @ignore */
function decodeIndexType(_type) {
    return new Int_(_type.isSigned(), _type.bitWidth());
}
/** @ignore */
function decodeFieldType(f, children) {
    const typeId = f.typeType();
    switch (typeId) {
        case message_Type.NONE: return new Null();
        case message_Type.Null: return new Null();
        case message_Type.Binary: return new Binary();
        case message_Type.Utf8: return new Utf8();
        case message_Type.Bool: return new Bool();
        case message_Type.List: return new List((children || [])[0]);
        case message_Type.Struct_: return new Struct(children || []);
    }
    switch (typeId) {
        case message_Type.Int: {
            const t = f.type(new Schema_org.apache.arrow.flatbuf.Int());
            return new Int_(t.isSigned(), t.bitWidth());
        }
        case message_Type.FloatingPoint: {
            const t = f.type(new Schema_org.apache.arrow.flatbuf.FloatingPoint());
            return new Float(t.precision());
        }
        case message_Type.Decimal: {
            const t = f.type(new Schema_org.apache.arrow.flatbuf.Decimal());
            return new Decimal(t.scale(), t.precision());
        }
        case message_Type.Date: {
            const t = f.type(new Schema_org.apache.arrow.flatbuf.Date());
            return new Date_(t.unit());
        }
        case message_Type.Time: {
            const t = f.type(new Schema_org.apache.arrow.flatbuf.Time());
            return new Time_(t.unit(), t.bitWidth());
        }
        case message_Type.Timestamp: {
            const t = f.type(new Schema_org.apache.arrow.flatbuf.Timestamp());
            return new Timestamp_(t.unit(), t.timezone());
        }
        case message_Type.Interval: {
            const t = f.type(new Schema_org.apache.arrow.flatbuf.Interval());
            return new Interval_(t.unit());
        }
        case message_Type.Union: {
            const t = f.type(new Schema_org.apache.arrow.flatbuf.Union());
            return new Union_(t.mode(), t.typeIdsArray() || [], children || []);
        }
        case message_Type.FixedSizeBinary: {
            const t = f.type(new Schema_org.apache.arrow.flatbuf.FixedSizeBinary());
            return new FixedSizeBinary(t.byteWidth());
        }
        case message_Type.FixedSizeList: {
            const t = f.type(new Schema_org.apache.arrow.flatbuf.FixedSizeList());
            return new FixedSizeList(t.listSize(), (children || [])[0]);
        }
        case message_Type.Map: {
            const t = f.type(new Schema_org.apache.arrow.flatbuf.Map());
            return new Map_((children || [])[0], t.keysSorted());
        }
    }
    throw new Error(`Unrecognized type: "${message_Type[typeId]}" (${typeId})`);
}
/** @ignore */
function encodeSchema(b, schema) {
    const fieldOffsets = schema.fields.map((f) => Field.encode(b, f));
    _Schema.startFieldsVector(b, fieldOffsets.length);
    const fieldsVectorOffset = _Schema.createFieldsVector(b, fieldOffsets);
    const metadataOffset = !(schema.metadata && schema.metadata.size > 0) ? -1 :
        _Schema.createCustomMetadataVector(b, [...schema.metadata].map(([k, v]) => {
            const key = b.createString(`${k}`);
            const val = b.createString(`${v}`);
            _KeyValue.startKeyValue(b);
            _KeyValue.addKey(b, key);
            _KeyValue.addValue(b, val);
            return _KeyValue.endKeyValue(b);
        }));
    _Schema.startSchema(b);
    _Schema.addFields(b, fieldsVectorOffset);
    _Schema.addEndianness(b, platformIsLittleEndian ? _Endianness.Little : _Endianness.Big);
    if (metadataOffset !== -1) {
        _Schema.addCustomMetadata(b, metadataOffset);
    }
    return _Schema.endSchema(b);
}
/** @ignore */
function encodeField(b, field) {
    let nameOffset = -1;
    let typeOffset = -1;
    let dictionaryOffset = -1;
    let type = field.type;
    let typeId = field.typeId;
    if (!DataType.isDictionary(type)) {
        typeOffset = typeassembler_instance.visit(type, b);
    }
    else {
        typeId = type.dictionary.typeId;
        dictionaryOffset = typeassembler_instance.visit(type, b);
        typeOffset = typeassembler_instance.visit(type.dictionary, b);
    }
    const childOffsets = (type.children || []).map((f) => Field.encode(b, f));
    const childrenVectorOffset = _Field.createChildrenVector(b, childOffsets);
    const metadataOffset = !(field.metadata && field.metadata.size > 0) ? -1 :
        _Field.createCustomMetadataVector(b, [...field.metadata].map(([k, v]) => {
            const key = b.createString(`${k}`);
            const val = b.createString(`${v}`);
            _KeyValue.startKeyValue(b);
            _KeyValue.addKey(b, key);
            _KeyValue.addValue(b, val);
            return _KeyValue.endKeyValue(b);
        }));
    if (field.name) {
        nameOffset = b.createString(field.name);
    }
    _Field.startField(b);
    _Field.addType(b, typeOffset);
    _Field.addTypeType(b, typeId);
    _Field.addChildren(b, childrenVectorOffset);
    _Field.addNullable(b, !!field.nullable);
    if (nameOffset !== -1) {
        _Field.addName(b, nameOffset);
    }
    if (dictionaryOffset !== -1) {
        _Field.addDictionary(b, dictionaryOffset);
    }
    if (metadataOffset !== -1) {
        _Field.addCustomMetadata(b, metadataOffset);
    }
    return _Field.endField(b);
}
/** @ignore */
function encodeRecordBatch(b, recordBatch) {
    const nodes = recordBatch.nodes || [];
    const buffers = recordBatch.buffers || [];
    _RecordBatch.startNodesVector(b, nodes.length);
    nodes.slice().reverse().forEach((n) => FieldNode.encode(b, n));
    const nodesVectorOffset = b.endVector();
    _RecordBatch.startBuffersVector(b, buffers.length);
    buffers.slice().reverse().forEach((b_) => BufferRegion.encode(b, b_));
    const buffersVectorOffset = b.endVector();
    _RecordBatch.startRecordBatch(b);
    _RecordBatch.addLength(b, new message_Long(recordBatch.length, 0));
    _RecordBatch.addNodes(b, nodesVectorOffset);
    _RecordBatch.addBuffers(b, buffersVectorOffset);
    return _RecordBatch.endRecordBatch(b);
}
/** @ignore */
function encodeDictionaryBatch(b, dictionaryBatch) {
    const dataOffset = RecordBatch.encode(b, dictionaryBatch.data);
    _DictionaryBatch.startDictionaryBatch(b);
    _DictionaryBatch.addId(b, new message_Long(dictionaryBatch.id, 0));
    _DictionaryBatch.addIsDelta(b, dictionaryBatch.isDelta);
    _DictionaryBatch.addData(b, dataOffset);
    return _DictionaryBatch.endDictionaryBatch(b);
}
/** @ignore */
function encodeFieldNode(b, node) {
    return _FieldNode.createFieldNode(b, new message_Long(node.length, 0), new message_Long(node.nullCount, 0));
}
/** @ignore */
function encodeBufferRegion(b, node) {
    return message_Buffer.createBuffer(b, new message_Long(node.offset, 0), new message_Long(node.length, 0));
}
/** @ignore */
const platformIsLittleEndian = (function () {
    const buffer = new ArrayBuffer(2);
    new DataView(buffer).setInt16(0, 256, true /* littleEndian */);
    // Int16Array uses the platform's endianness.
    return new Int16Array(buffer)[0] === 256;
})();

//# sourceMappingURL=message.mjs.map

;// ../node_modules/apache-arrow/ipc/message.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.


var ipc_message_ByteBuffer = flatbuffers.ByteBuffer;






/** @ignore */ const invalidMessageType = (type) => `Expected ${MessageHeader[type]} Message in stream, but was null or length 0.`;
/** @ignore */ const nullMessage = (type) => `Header pointer of flatbuffer-encoded ${MessageHeader[type]} Message is null or length 0.`;
/** @ignore */ const invalidMessageMetadata = (expected, actual) => `Expected to read ${expected} metadata bytes, but only read ${actual}.`;
/** @ignore */ const invalidMessageBodyLength = (expected, actual) => `Expected to read ${expected} bytes for message body, but only read ${actual}.`;
/** @ignore */
class MessageReader {
    constructor(source) {
        this.source = source instanceof ByteStream ? source : new ByteStream(source);
    }
    [Symbol.iterator]() { return this; }
    next() {
        let r;
        if ((r = this.readMetadataLength()).done) {
            return ITERATOR_DONE;
        }
        // ARROW-6313: If the first 4 bytes are continuation indicator (-1), read
        // the next 4 for the 32-bit metadata length. Otherwise, assume this is a
        // pre-v0.15 message, where the first 4 bytes are the metadata length.
        if ((r.value === -1) &&
            (r = this.readMetadataLength()).done) {
            return ITERATOR_DONE;
        }
        if ((r = this.readMetadata(r.value)).done) {
            return ITERATOR_DONE;
        }
        return r;
    }
    throw(value) { return this.source.throw(value); }
    return(value) { return this.source.return(value); }
    readMessage(type) {
        let r;
        if ((r = this.next()).done) {
            return null;
        }
        if ((type != null) && r.value.headerType !== type) {
            throw new Error(invalidMessageType(type));
        }
        return r.value;
    }
    readMessageBody(bodyLength) {
        if (bodyLength <= 0) {
            return new Uint8Array(0);
        }
        const buf = toUint8Array(this.source.read(bodyLength));
        if (buf.byteLength < bodyLength) {
            throw new Error(invalidMessageBodyLength(bodyLength, buf.byteLength));
        }
        // 1. Work around bugs in fs.ReadStream's internal Buffer pooling, see: https://github.com/nodejs/node/issues/24817
        // 2. Work around https://github.com/whatwg/streams/blob/0ebe4b042e467d9876d80ae045de3843092ad797/reference-implementation/lib/helpers.js#L126
        return /* 1. */ (buf.byteOffset % 8 === 0) &&
            /* 2. */ (buf.byteOffset + buf.byteLength) <= buf.buffer.byteLength ? buf : buf.slice();
    }
    readSchema(throwIfNull = false) {
        const type = MessageHeader.Schema;
        const message = this.readMessage(type);
        const schema = message && message.header();
        if (throwIfNull && !schema) {
            throw new Error(nullMessage(type));
        }
        return schema;
    }
    readMetadataLength() {
        const buf = this.source.read(PADDING);
        const bb = buf && new ipc_message_ByteBuffer(buf);
        const len = bb && bb.readInt32(0) || 0;
        return { done: len === 0, value: len };
    }
    readMetadata(metadataLength) {
        const buf = this.source.read(metadataLength);
        if (!buf) {
            return ITERATOR_DONE;
        }
        if (buf.byteLength < metadataLength) {
            throw new Error(invalidMessageMetadata(metadataLength, buf.byteLength));
        }
        return { done: false, value: Message.decode(buf) };
    }
}
/** @ignore */
class AsyncMessageReader {
    constructor(source, byteLength) {
        this.source = source instanceof AsyncByteStream ? source
            : isFileHandle(source)
                ? new AsyncRandomAccessFile(source, byteLength)
                : new AsyncByteStream(source);
    }
    [Symbol.asyncIterator]() { return this; }
    async next() {
        let r;
        if ((r = await this.readMetadataLength()).done) {
            return ITERATOR_DONE;
        }
        // ARROW-6313: If the first 4 bytes are continuation indicator (-1), read
        // the next 4 for the 32-bit metadata length. Otherwise, assume this is a
        // pre-v0.15 message, where the first 4 bytes are the metadata length.
        if ((r.value === -1) &&
            (r = await this.readMetadataLength()).done) {
            return ITERATOR_DONE;
        }
        if ((r = await this.readMetadata(r.value)).done) {
            return ITERATOR_DONE;
        }
        return r;
    }
    async throw(value) { return await this.source.throw(value); }
    async return(value) { return await this.source.return(value); }
    async readMessage(type) {
        let r;
        if ((r = await this.next()).done) {
            return null;
        }
        if ((type != null) && r.value.headerType !== type) {
            throw new Error(invalidMessageType(type));
        }
        return r.value;
    }
    async readMessageBody(bodyLength) {
        if (bodyLength <= 0) {
            return new Uint8Array(0);
        }
        const buf = toUint8Array(await this.source.read(bodyLength));
        if (buf.byteLength < bodyLength) {
            throw new Error(invalidMessageBodyLength(bodyLength, buf.byteLength));
        }
        // 1. Work around bugs in fs.ReadStream's internal Buffer pooling, see: https://github.com/nodejs/node/issues/24817
        // 2. Work around https://github.com/whatwg/streams/blob/0ebe4b042e467d9876d80ae045de3843092ad797/reference-implementation/lib/helpers.js#L126
        return /* 1. */ (buf.byteOffset % 8 === 0) &&
            /* 2. */ (buf.byteOffset + buf.byteLength) <= buf.buffer.byteLength ? buf : buf.slice();
    }
    async readSchema(throwIfNull = false) {
        const type = MessageHeader.Schema;
        const message = await this.readMessage(type);
        const schema = message && message.header();
        if (throwIfNull && !schema) {
            throw new Error(nullMessage(type));
        }
        return schema;
    }
    async readMetadataLength() {
        const buf = await this.source.read(PADDING);
        const bb = buf && new ipc_message_ByteBuffer(buf);
        const len = bb && bb.readInt32(0) || 0;
        return { done: len === 0, value: len };
    }
    async readMetadata(metadataLength) {
        const buf = await this.source.read(metadataLength);
        if (!buf) {
            return ITERATOR_DONE;
        }
        if (buf.byteLength < metadataLength) {
            throw new Error(invalidMessageMetadata(metadataLength, buf.byteLength));
        }
        return { done: false, value: Message.decode(buf) };
    }
}
/** @ignore */
class JSONMessageReader extends MessageReader {
    constructor(source) {
        super(new Uint8Array(0));
        this._schema = false;
        this._body = [];
        this._batchIndex = 0;
        this._dictionaryIndex = 0;
        this._json = source instanceof ArrowJSON ? source : new ArrowJSON(source);
    }
    next() {
        const { _json } = this;
        if (!this._schema) {
            this._schema = true;
            const message = Message.fromJSON(_json.schema, MessageHeader.Schema);
            return { done: false, value: message };
        }
        if (this._dictionaryIndex < _json.dictionaries.length) {
            const batch = _json.dictionaries[this._dictionaryIndex++];
            this._body = batch['data']['columns'];
            const message = Message.fromJSON(batch, MessageHeader.DictionaryBatch);
            return { done: false, value: message };
        }
        if (this._batchIndex < _json.batches.length) {
            const batch = _json.batches[this._batchIndex++];
            this._body = batch['columns'];
            const message = Message.fromJSON(batch, MessageHeader.RecordBatch);
            return { done: false, value: message };
        }
        this._body = [];
        return ITERATOR_DONE;
    }
    readMessageBody(_bodyLength) {
        return flattenDataSources(this._body);
        function flattenDataSources(xs) {
            return (xs || []).reduce((buffers, column) => [
                ...buffers,
                ...(column['VALIDITY'] && [column['VALIDITY']] || []),
                ...(column['TYPE'] && [column['TYPE']] || []),
                ...(column['OFFSET'] && [column['OFFSET']] || []),
                ...(column['DATA'] && [column['DATA']] || []),
                ...flattenDataSources(column['children'])
            ], []);
        }
    }
    readMessage(type) {
        let r;
        if ((r = this.next()).done) {
            return null;
        }
        if ((type != null) && r.value.headerType !== type) {
            throw new Error(invalidMessageType(type));
        }
        return r.value;
    }
    readSchema() {
        const type = MessageHeader.Schema;
        const message = this.readMessage(type);
        const schema = message && message.header();
        if (!message || !schema) {
            throw new Error(nullMessage(type));
        }
        return schema;
    }
}
/** @ignore */
const PADDING = 4;
/** @ignore */
const MAGIC_STR = 'ARROW1';
/** @ignore */
const MAGIC = new Uint8Array(MAGIC_STR.length);
for (let i = 0; i < MAGIC_STR.length; i += 1 | 0) {
    MAGIC[i] = MAGIC_STR.charCodeAt(i);
}
/** @ignore */
function checkForMagicArrowString(buffer, index = 0) {
    for (let i = -1, n = MAGIC.length; ++i < n;) {
        if (MAGIC[i] !== buffer[index + i]) {
            return false;
        }
    }
    return true;
}
/** @ignore */
const magicLength = MAGIC.length;
/** @ignore */
const magicAndPadding = magicLength + PADDING;
/** @ignore */
const magicX2AndPadding = magicLength * 2 + PADDING;

//# sourceMappingURL=message.mjs.map

;// ../node_modules/apache-arrow/visitor/vectorassembler.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.








/** @ignore */
class VectorAssembler extends Visitor {
    constructor() {
        super();
        this._byteLength = 0;
        this._nodes = [];
        this._buffers = [];
        this._bufferRegions = [];
    }
    /** @nocollapse */
    static assemble(...args) {
        const assembler = new VectorAssembler();
        const vectorChildren = selectVectorChildrenArgs(recordbatch_RecordBatch, args);
        const [assembleResult = assembler] = assembler.visitMany(vectorChildren);
        return assembleResult;
    }
    visit(vector) {
        if (!DataType.isDictionary(vector.type)) {
            const { data, length, nullCount } = vector;
            if (length > 2147483647) {
                /* istanbul ignore next */
                throw new RangeError('Cannot write arrays larger than 2^31 - 1 in length');
            }
            if (!DataType.isNull(vector.type)) {
                addBuffer.call(this, nullCount <= 0
                    ? new Uint8Array(0) // placeholder validity buffer
                    : truncateBitmap(data.offset, length, data.nullBitmap));
            }
            this.nodes.push(new FieldNode(length, nullCount));
        }
        return super.visit(vector);
    }
    visitNull(_nullV) {
        return this;
    }
    visitDictionary(vector) {
        // Assemble the indices here, Dictionary assembled separately.
        return this.visit(vector.indices);
    }
    get nodes() { return this._nodes; }
    get buffers() { return this._buffers; }
    get byteLength() { return this._byteLength; }
    get bufferRegions() { return this._bufferRegions; }
}
/** @ignore */
function addBuffer(values) {
    const byteLength = (values.byteLength + 7) & ~7; // Round up to a multiple of 8
    this.buffers.push(values);
    this.bufferRegions.push(new BufferRegion(this._byteLength, byteLength));
    this._byteLength += byteLength;
    return this;
}
/** @ignore */
function assembleUnion(vector) {
    const { type, length, typeIds, valueOffsets } = vector;
    // All Union Vectors have a typeIds buffer
    addBuffer.call(this, typeIds);
    // If this is a Sparse Union, treat it like all other Nested types
    if (type.mode === UnionMode.Sparse) {
        return assembleNestedVector.call(this, vector);
    }
    else if (type.mode === UnionMode.Dense) {
        // If this is a Dense Union, add the valueOffsets buffer and potentially slice the children
        if (vector.offset <= 0) {
            // If the Vector hasn't been sliced, write the existing valueOffsets
            addBuffer.call(this, valueOffsets);
            // We can treat this like all other Nested types
            return assembleNestedVector.call(this, vector);
        }
        else {
            // A sliced Dense Union is an unpleasant case. Because the offsets are different for
            // each child vector, we need to "rebase" the valueOffsets for each child
            // Union typeIds are not necessary 0-indexed
            const maxChildTypeId = typeIds.reduce((x, y) => Math.max(x, y), typeIds[0]);
            const childLengths = new Int32Array(maxChildTypeId + 1);
            // Set all to -1 to indicate that we haven't observed a first occurrence of a particular child yet
            const childOffsets = new Int32Array(maxChildTypeId + 1).fill(-1);
            const shiftedOffsets = new Int32Array(length);
            // If we have a non-zero offset, then the value offsets do not start at
            // zero. We must a) create a new offsets array with shifted offsets and
            // b) slice the values array accordingly
            const unshiftedOffsets = rebaseValueOffsets(-valueOffsets[0], length, valueOffsets);
            for (let typeId, shift, index = -1; ++index < length;) {
                if ((shift = childOffsets[typeId = typeIds[index]]) === -1) {
                    shift = childOffsets[typeId] = unshiftedOffsets[typeId];
                }
                shiftedOffsets[index] = unshiftedOffsets[index] - shift;
                ++childLengths[typeId];
            }
            addBuffer.call(this, shiftedOffsets);
            // Slice and visit children accordingly
            for (let child, childIndex = -1, numChildren = type.children.length; ++childIndex < numChildren;) {
                if (child = vector.getChildAt(childIndex)) {
                    const typeId = type.typeIds[childIndex];
                    const childLength = Math.min(length, childLengths[typeId]);
                    this.visit(child.slice(childOffsets[typeId], childLength));
                }
            }
        }
    }
    return this;
}
/** @ignore */
function assembleBoolVector(vector) {
    // Bool vector is a special case of FlatVector, as its data buffer needs to stay packed
    let values;
    if (vector.nullCount >= vector.length) {
        // If all values are null, just insert a placeholder empty data buffer (fastest path)
        return addBuffer.call(this, new Uint8Array(0));
    }
    else if ((values = vector.values) instanceof Uint8Array) {
        // If values is already a Uint8Array, slice the bitmap (fast path)
        return addBuffer.call(this, truncateBitmap(vector.offset, vector.length, values));
    }
    // Otherwise if the underlying data *isn't* a Uint8Array, enumerate the
    // values as bools and re-pack them into a Uint8Array. This code isn't
    // reachable unless you're trying to manipulate the Data internals,
    // we we're only doing this for safety.
    /* istanbul ignore next */
    return addBuffer.call(this, packBools(vector));
}
/** @ignore */
function assembleFlatVector(vector) {
    return addBuffer.call(this, vector.values.subarray(0, vector.length * vector.stride));
}
/** @ignore */
function assembleFlatListVector(vector) {
    const { length, values, valueOffsets } = vector;
    const firstOffset = valueOffsets[0];
    const lastOffset = valueOffsets[length];
    const byteLength = Math.min(lastOffset - firstOffset, values.byteLength - firstOffset);
    // Push in the order FlatList types read their buffers
    addBuffer.call(this, rebaseValueOffsets(-valueOffsets[0], length, valueOffsets)); // valueOffsets buffer first
    addBuffer.call(this, values.subarray(firstOffset, firstOffset + byteLength)); // sliced values buffer second
    return this;
}
/** @ignore */
function assembleListVector(vector) {
    const { length, valueOffsets } = vector;
    // If we have valueOffsets (MapVector, ListVector), push that buffer first
    if (valueOffsets) {
        addBuffer.call(this, rebaseValueOffsets(valueOffsets[0], length, valueOffsets));
    }
    // Then insert the List's values child
    return this.visit(vector.getChildAt(0));
}
/** @ignore */
function assembleNestedVector(vector) {
    return this.visitMany(vector.type.children.map((_, i) => vector.getChildAt(i)).filter(Boolean))[0];
}
VectorAssembler.prototype.visitBool = assembleBoolVector;
VectorAssembler.prototype.visitInt = assembleFlatVector;
VectorAssembler.prototype.visitFloat = assembleFlatVector;
VectorAssembler.prototype.visitUtf8 = assembleFlatListVector;
VectorAssembler.prototype.visitBinary = assembleFlatListVector;
VectorAssembler.prototype.visitFixedSizeBinary = assembleFlatVector;
VectorAssembler.prototype.visitDate = assembleFlatVector;
VectorAssembler.prototype.visitTimestamp = assembleFlatVector;
VectorAssembler.prototype.visitTime = assembleFlatVector;
VectorAssembler.prototype.visitDecimal = assembleFlatVector;
VectorAssembler.prototype.visitList = assembleListVector;
VectorAssembler.prototype.visitStruct = assembleNestedVector;
VectorAssembler.prototype.visitUnion = assembleUnion;
VectorAssembler.prototype.visitInterval = assembleFlatVector;
VectorAssembler.prototype.visitFixedSizeList = assembleListVector;
VectorAssembler.prototype.visitMap = assembleListVector;

//# sourceMappingURL=vectorassembler.mjs.map

;// ../node_modules/apache-arrow/visitor/jsontypeassembler.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.


/** @ignore */
class JSONTypeAssembler extends Visitor {
    visit(node) {
        return node == null ? undefined : super.visit(node);
    }
    visitNull({ typeId }) {
        return { 'name': ArrowType[typeId].toLowerCase() };
    }
    visitInt({ typeId, bitWidth, isSigned }) {
        return { 'name': ArrowType[typeId].toLowerCase(), 'bitWidth': bitWidth, 'isSigned': isSigned };
    }
    visitFloat({ typeId, precision }) {
        return { 'name': ArrowType[typeId].toLowerCase(), 'precision': Precision[precision] };
    }
    visitBinary({ typeId }) {
        return { 'name': ArrowType[typeId].toLowerCase() };
    }
    visitBool({ typeId }) {
        return { 'name': ArrowType[typeId].toLowerCase() };
    }
    visitUtf8({ typeId }) {
        return { 'name': ArrowType[typeId].toLowerCase() };
    }
    visitDecimal({ typeId, scale, precision }) {
        return { 'name': ArrowType[typeId].toLowerCase(), 'scale': scale, 'precision': precision };
    }
    visitDate({ typeId, unit }) {
        return { 'name': ArrowType[typeId].toLowerCase(), 'unit': DateUnit[unit] };
    }
    visitTime({ typeId, unit, bitWidth }) {
        return { 'name': ArrowType[typeId].toLowerCase(), 'unit': TimeUnit[unit], bitWidth };
    }
    visitTimestamp({ typeId, timezone, unit }) {
        return { 'name': ArrowType[typeId].toLowerCase(), 'unit': TimeUnit[unit], timezone };
    }
    visitInterval({ typeId, unit }) {
        return { 'name': ArrowType[typeId].toLowerCase(), 'unit': IntervalUnit[unit] };
    }
    visitList({ typeId }) {
        return { 'name': ArrowType[typeId].toLowerCase() };
    }
    visitStruct({ typeId }) {
        return { 'name': ArrowType[typeId].toLowerCase() };
    }
    visitUnion({ typeId, mode, typeIds }) {
        return {
            'name': ArrowType[typeId].toLowerCase(),
            'mode': UnionMode[mode],
            'typeIds': [...typeIds]
        };
    }
    visitDictionary(node) {
        return this.visit(node.dictionary);
    }
    visitFixedSizeBinary({ typeId, byteWidth }) {
        return { 'name': ArrowType[typeId].toLowerCase(), 'byteWidth': byteWidth };
    }
    visitFixedSizeList({ typeId, listSize }) {
        return { 'name': ArrowType[typeId].toLowerCase(), 'listSize': listSize };
    }
    visitMap({ typeId, keysSorted }) {
        return { 'name': ArrowType[typeId].toLowerCase(), 'keysSorted': keysSorted };
    }
}

//# sourceMappingURL=jsontypeassembler.mjs.map

;// ../node_modules/apache-arrow/visitor/jsonvectorassembler.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.










/** @ignore */
class JSONVectorAssembler extends Visitor {
    /** @nocollapse */
    static assemble(...args) {
        return new JSONVectorAssembler().visitMany(selectColumnChildrenArgs(recordbatch_RecordBatch, args));
    }
    visit(column) {
        const { data, name, length } = column;
        const { offset, nullCount, nullBitmap } = data;
        const type = DataType.isDictionary(column.type) ? column.type.indices : column.type;
        const buffers = Object.assign([], data.buffers, { [BufferType.VALIDITY]: undefined });
        return {
            'name': name,
            'count': length,
            'VALIDITY': DataType.isNull(type) ? undefined
                : nullCount <= 0 ? Array.from({ length }, () => 1)
                    : [...iterateBits(nullBitmap, offset, length, null, getBit)],
            ...super.visit(AbstractVector.new(data.clone(type, offset, length, 0, buffers)))
        };
    }
    visitNull() { return {}; }
    visitBool({ values, offset, length }) {
        return { 'DATA': [...iterateBits(values, offset, length, null, getBool)] };
    }
    visitInt(vector) {
        return {
            'DATA': vector.type.bitWidth < 64
                ? [...vector.values]
                : [...bigNumsToStrings(vector.values, 2)]
        };
    }
    visitFloat(vector) {
        return { 'DATA': [...vector.values] };
    }
    visitUtf8(vector) {
        return { 'DATA': [...vector], 'OFFSET': [...vector.valueOffsets] };
    }
    visitBinary(vector) {
        return { 'DATA': [...binaryToString(vector)], OFFSET: [...vector.valueOffsets] };
    }
    visitFixedSizeBinary(vector) {
        return { 'DATA': [...binaryToString(vector)] };
    }
    visitDate(vector) {
        return {
            'DATA': vector.type.unit === DateUnit.DAY
                ? [...vector.values]
                : [...bigNumsToStrings(vector.values, 2)]
        };
    }
    visitTimestamp(vector) {
        return { 'DATA': [...bigNumsToStrings(vector.values, 2)] };
    }
    visitTime(vector) {
        return {
            'DATA': vector.type.unit < TimeUnit.MICROSECOND
                ? [...vector.values]
                : [...bigNumsToStrings(vector.values, 2)]
        };
    }
    visitDecimal(vector) {
        return { 'DATA': [...bigNumsToStrings(vector.values, 4)] };
    }
    visitList(vector) {
        return {
            'OFFSET': [...vector.valueOffsets],
            'children': vector.type.children.map((f, i) => this.visit(new column_Column(f, [vector.getChildAt(i)])))
        };
    }
    visitStruct(vector) {
        return {
            'children': vector.type.children.map((f, i) => this.visit(new column_Column(f, [vector.getChildAt(i)])))
        };
    }
    visitUnion(vector) {
        return {
            'TYPE': [...vector.typeIds],
            'OFFSET': vector.type.mode === UnionMode.Dense ? [...vector.valueOffsets] : undefined,
            'children': vector.type.children.map((f, i) => this.visit(new column_Column(f, [vector.getChildAt(i)])))
        };
    }
    visitInterval(vector) {
        return { 'DATA': [...vector.values] };
    }
    visitFixedSizeList(vector) {
        return {
            'children': vector.type.children.map((f, i) => this.visit(new column_Column(f, [vector.getChildAt(i)])))
        };
    }
    visitMap(vector) {
        return {
            'OFFSET': [...vector.valueOffsets],
            'children': vector.type.children.map((f, i) => this.visit(new column_Column(f, [vector.getChildAt(i)])))
        };
    }
}
/** @ignore */
function* binaryToString(vector) {
    for (const octets of vector) {
        yield octets.reduce((str, byte) => {
            return `${str}${('0' + (byte & 0xFF).toString(16)).slice(-2)}`;
        }, '').toUpperCase();
    }
}
/** @ignore */
function* bigNumsToStrings(values, stride) {
    for (let i = -1, n = values.length / stride; ++i < n;) {
        yield `${BN.new(values.subarray((i + 0) * stride, (i + 1) * stride), false)}`;
    }
}

//# sourceMappingURL=jsonvectorassembler.mjs.map

;// ../node_modules/apache-arrow/ipc/writer.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.

















class RecordBatchWriter extends ReadableInterop {
    constructor(options) {
        super();
        this._position = 0;
        this._started = false;
        // @ts-ignore
        this._sink = new AsyncByteQueue();
        this._schema = null;
        this._dictionaryBlocks = [];
        this._recordBatchBlocks = [];
        this._dictionaryDeltaOffsets = new Map();
        compat_isObject(options) || (options = { autoDestroy: true, writeLegacyIpcFormat: false });
        this._autoDestroy = (typeof options.autoDestroy === 'boolean') ? options.autoDestroy : true;
        this._writeLegacyIpcFormat = (typeof options.writeLegacyIpcFormat === 'boolean') ? options.writeLegacyIpcFormat : false;
    }
    /** @nocollapse */
    // @ts-ignore
    static throughNode(options) {
        throw new Error(`"throughNode" not available in this environment`);
    }
    /** @nocollapse */
    static throughDOM(
    // @ts-ignore
    writableStrategy, 
    // @ts-ignore
    readableStrategy) {
        throw new Error(`"throughDOM" not available in this environment`);
    }
    toString(sync = false) {
        return this._sink.toString(sync);
    }
    toUint8Array(sync = false) {
        return this._sink.toUint8Array(sync);
    }
    writeAll(input) {
        if (isPromise(input)) {
            return input.then((x) => this.writeAll(x));
        }
        else if (isAsyncIterable(input)) {
            return writeAllAsync(this, input);
        }
        return writeAll(this, input);
    }
    get closed() { return this._sink.closed; }
    [Symbol.asyncIterator]() { return this._sink[Symbol.asyncIterator](); }
    toDOMStream(options) { return this._sink.toDOMStream(options); }
    toNodeStream(options) { return this._sink.toNodeStream(options); }
    close() {
        return this.reset()._sink.close();
    }
    abort(reason) {
        return this.reset()._sink.abort(reason);
    }
    finish() {
        this._autoDestroy ? this.close() : this.reset(this._sink, this._schema);
        return this;
    }
    reset(sink = this._sink, schema = null) {
        if ((sink === this._sink) || (sink instanceof AsyncByteQueue)) {
            this._sink = sink;
        }
        else {
            this._sink = new AsyncByteQueue();
            if (sink && isWritableDOMStream(sink)) {
                this.toDOMStream({ type: 'bytes' }).pipeTo(sink);
            }
            else if (sink && isWritableNodeStream(sink)) {
                this.toNodeStream({ objectMode: false }).pipe(sink);
            }
        }
        if (this._started && this._schema) {
            this._writeFooter(this._schema);
        }
        this._started = false;
        this._dictionaryBlocks = [];
        this._recordBatchBlocks = [];
        this._dictionaryDeltaOffsets = new Map();
        if (!schema || !(schema.compareTo(this._schema))) {
            if (schema === null) {
                this._position = 0;
                this._schema = null;
            }
            else {
                this._started = true;
                this._schema = schema;
                this._writeSchema(schema);
            }
        }
        return this;
    }
    write(payload) {
        let schema = null;
        if (!this._sink) {
            throw new Error(`RecordBatchWriter is closed`);
        }
        else if (payload === null || payload === undefined) {
            return this.finish() && undefined;
        }
        else if (payload instanceof table_Table && !(schema = payload.schema)) {
            return this.finish() && undefined;
        }
        else if (payload instanceof recordbatch_RecordBatch && !(schema = payload.schema)) {
            return this.finish() && undefined;
        }
        if (schema && !schema.compareTo(this._schema)) {
            if (this._started && this._autoDestroy) {
                return this.close();
            }
            this.reset(this._sink, schema);
        }
        if (payload instanceof recordbatch_RecordBatch) {
            if (!(payload instanceof _InternalEmptyPlaceholderRecordBatch)) {
                this._writeRecordBatch(payload);
            }
        }
        else if (payload instanceof table_Table) {
            this.writeAll(payload.chunks);
        }
        else if (isIterable(payload)) {
            this.writeAll(payload);
        }
    }
    _writeMessage(message, alignment = 8) {
        const a = alignment - 1;
        const buffer = Message.encode(message);
        const flatbufferSize = buffer.byteLength;
        const prefixSize = !this._writeLegacyIpcFormat ? 8 : 4;
        const alignedSize = (flatbufferSize + prefixSize + a) & ~a;
        const nPaddingBytes = alignedSize - flatbufferSize - prefixSize;
        if (message.headerType === MessageHeader.RecordBatch) {
            this._recordBatchBlocks.push(new FileBlock(alignedSize, message.bodyLength, this._position));
        }
        else if (message.headerType === MessageHeader.DictionaryBatch) {
            this._dictionaryBlocks.push(new FileBlock(alignedSize, message.bodyLength, this._position));
        }
        // If not in legacy pre-0.15.0 mode, write the stream continuation indicator
        if (!this._writeLegacyIpcFormat) {
            this._write(Int32Array.of(-1));
        }
        // Write the flatbuffer size prefix including padding
        this._write(Int32Array.of(alignedSize - prefixSize));
        // Write the flatbuffer
        if (flatbufferSize > 0) {
            this._write(buffer);
        }
        // Write any padding
        return this._writePadding(nPaddingBytes);
    }
    _write(chunk) {
        if (this._started) {
            const buffer = toUint8Array(chunk);
            if (buffer && buffer.byteLength > 0) {
                this._sink.write(buffer);
                this._position += buffer.byteLength;
            }
        }
        return this;
    }
    _writeSchema(schema) {
        return this._writeMessage(Message.from(schema));
    }
    // @ts-ignore
    _writeFooter(schema) {
        // eos bytes
        return this._writeLegacyIpcFormat
            ? this._write(Int32Array.of(0))
            : this._write(Int32Array.of(-1, 0));
    }
    _writeMagic() {
        return this._write(MAGIC);
    }
    _writePadding(nBytes) {
        return nBytes > 0 ? this._write(new Uint8Array(nBytes)) : this;
    }
    _writeRecordBatch(batch) {
        const { byteLength, nodes, bufferRegions, buffers } = VectorAssembler.assemble(batch);
        const recordBatch = new RecordBatch(batch.length, nodes, bufferRegions);
        const message = Message.from(recordBatch, byteLength);
        return this
            ._writeDictionaries(batch)
            ._writeMessage(message)
            ._writeBodyBuffers(buffers);
    }
    _writeDictionaryBatch(dictionary, id, isDelta = false) {
        this._dictionaryDeltaOffsets.set(id, dictionary.length + (this._dictionaryDeltaOffsets.get(id) || 0));
        const { byteLength, nodes, bufferRegions, buffers } = VectorAssembler.assemble(dictionary);
        const recordBatch = new RecordBatch(dictionary.length, nodes, bufferRegions);
        const dictionaryBatch = new DictionaryBatch(recordBatch, id, isDelta);
        const message = Message.from(dictionaryBatch, byteLength);
        return this
            ._writeMessage(message)
            ._writeBodyBuffers(buffers);
    }
    _writeBodyBuffers(buffers) {
        let buffer;
        let size, padding;
        for (let i = -1, n = buffers.length; ++i < n;) {
            if ((buffer = buffers[i]) && (size = buffer.byteLength) > 0) {
                this._write(buffer);
                if ((padding = ((size + 7) & ~7) - size) > 0) {
                    this._writePadding(padding);
                }
            }
        }
        return this;
    }
    _writeDictionaries(batch) {
        for (let [id, dictionary] of batch.dictionaries) {
            let offset = this._dictionaryDeltaOffsets.get(id) || 0;
            if (offset === 0 || (dictionary = dictionary.slice(offset)).length > 0) {
                const chunks = 'chunks' in dictionary ? dictionary.chunks : [dictionary];
                for (const chunk of chunks) {
                    this._writeDictionaryBatch(chunk, id, offset > 0);
                    offset += chunk.length;
                }
            }
        }
        return this;
    }
}
/** @ignore */
class RecordBatchStreamWriter extends RecordBatchWriter {
    /** @nocollapse */
    static writeAll(input, options) {
        const writer = new RecordBatchStreamWriter(options);
        if (isPromise(input)) {
            return input.then((x) => writer.writeAll(x));
        }
        else if (isAsyncIterable(input)) {
            return writeAllAsync(writer, input);
        }
        return writeAll(writer, input);
    }
}
/** @ignore */
class RecordBatchFileWriter extends RecordBatchWriter {
    /** @nocollapse */
    static writeAll(input) {
        const writer = new RecordBatchFileWriter();
        if (isPromise(input)) {
            return input.then((x) => writer.writeAll(x));
        }
        else if (isAsyncIterable(input)) {
            return writeAllAsync(writer, input);
        }
        return writeAll(writer, input);
    }
    constructor() {
        super();
        this._autoDestroy = true;
    }
    // @ts-ignore
    _writeSchema(schema) {
        return this._writeMagic()._writePadding(2);
    }
    _writeFooter(schema) {
        const buffer = Footer_.encode(new Footer_(schema, MetadataVersion.V4, this._recordBatchBlocks, this._dictionaryBlocks));
        return super
            ._writeFooter(schema) // EOS bytes for sequential readers
            ._write(buffer) // Write the flatbuffer
            ._write(Int32Array.of(buffer.byteLength)) // then the footer size suffix
            ._writeMagic(); // then the magic suffix
    }
}
/** @ignore */
class RecordBatchJSONWriter extends RecordBatchWriter {
    constructor() {
        super();
        this._autoDestroy = true;
        this._recordBatches = [];
        this._dictionaries = [];
    }
    /** @nocollapse */
    static writeAll(input) {
        return new RecordBatchJSONWriter().writeAll(input);
    }
    _writeMessage() { return this; }
    // @ts-ignore
    _writeFooter(schema) { return this; }
    _writeSchema(schema) {
        return this._write(`{\n  "schema": ${JSON.stringify({ fields: schema.fields.map(fieldToJSON) }, null, 2)}`);
    }
    _writeDictionaries(batch) {
        if (batch.dictionaries.size > 0) {
            this._dictionaries.push(batch);
        }
        return this;
    }
    _writeDictionaryBatch(dictionary, id, isDelta = false) {
        this._dictionaryDeltaOffsets.set(id, dictionary.length + (this._dictionaryDeltaOffsets.get(id) || 0));
        this._write(this._dictionaryBlocks.length === 0 ? `    ` : `,\n    `);
        this._write(`${dictionaryBatchToJSON(dictionary, id, isDelta)}`);
        this._dictionaryBlocks.push(new FileBlock(0, 0, 0));
        return this;
    }
    _writeRecordBatch(batch) {
        this._writeDictionaries(batch);
        this._recordBatches.push(batch);
        return this;
    }
    close() {
        if (this._dictionaries.length > 0) {
            this._write(`,\n  "dictionaries": [\n`);
            for (const batch of this._dictionaries) {
                super._writeDictionaries(batch);
            }
            this._write(`\n  ]`);
        }
        if (this._recordBatches.length > 0) {
            for (let i = -1, n = this._recordBatches.length; ++i < n;) {
                this._write(i === 0 ? `,\n  "batches": [\n    ` : `,\n    `);
                this._write(`${recordBatchToJSON(this._recordBatches[i])}`);
                this._recordBatchBlocks.push(new FileBlock(0, 0, 0));
            }
            this._write(`\n  ]`);
        }
        if (this._schema) {
            this._write(`\n}`);
        }
        this._dictionaries = [];
        this._recordBatches = [];
        return super.close();
    }
}
/** @ignore */
function writeAll(writer, input) {
    let chunks = input;
    if (input instanceof table_Table) {
        chunks = input.chunks;
        writer.reset(undefined, input.schema);
    }
    for (const batch of chunks) {
        writer.write(batch);
    }
    return writer.finish();
}
/** @ignore */
async function writeAllAsync(writer, batches) {
    for await (const batch of batches) {
        writer.write(batch);
    }
    return writer.finish();
}
/** @ignore */
function fieldToJSON({ name, type, nullable }) {
    const assembler = new JSONTypeAssembler();
    return {
        'name': name, 'nullable': nullable,
        'type': assembler.visit(type),
        'children': (type.children || []).map(fieldToJSON),
        'dictionary': !DataType.isDictionary(type) ? undefined : {
            'id': type.id,
            'isOrdered': type.isOrdered,
            'indexType': assembler.visit(type.indices)
        }
    };
}
/** @ignore */
function dictionaryBatchToJSON(dictionary, id, isDelta = false) {
    const field = new Field(`${id}`, dictionary.type, dictionary.nullCount > 0);
    const columns = JSONVectorAssembler.assemble(new column_Column(field, [dictionary]));
    return JSON.stringify({
        'id': id,
        'isDelta': isDelta,
        'data': {
            'count': dictionary.length,
            'columns': columns
        }
    }, null, 2);
}
/** @ignore */
function recordBatchToJSON(records) {
    return JSON.stringify({
        'count': records.length,
        'columns': JSONVectorAssembler.assemble(records)
    }, null, 2);
}

//# sourceMappingURL=writer.mjs.map

;// ../node_modules/apache-arrow/util/recordbatch.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.




const noopBuf = new Uint8Array(0);
const nullBufs = (bitmapLength) => [
    noopBuf, noopBuf, new Uint8Array(bitmapLength), noopBuf
];
/** @ignore */
function ensureSameLengthData(schema, chunks, batchLength = chunks.reduce((l, c) => Math.max(l, c.length), 0)) {
    let data;
    let field;
    let i = -1, n = chunks.length;
    const fields = [...schema.fields];
    const batchData = [];
    const bitmapLength = ((batchLength + 63) & ~63) >> 3;
    while (++i < n) {
        if ((data = chunks[i]) && data.length === batchLength) {
            batchData[i] = data;
        }
        else {
            (field = fields[i]).nullable || (fields[i] = fields[i].clone({ nullable: true }));
            batchData[i] = data ? data._changeLengthAndBackfillNullBitmap(batchLength)
                : Data.new(field.type, 0, batchLength, batchLength, nullBufs(bitmapLength));
        }
    }
    return [new Schema(fields), batchLength, batchData];
}
/** @ignore */
function distributeColumnsIntoRecordBatches(columns) {
    return distributeVectorsIntoRecordBatches(new Schema(columns.map(({ field }) => field)), columns);
}
/** @ignore */
function distributeVectorsIntoRecordBatches(schema, vecs) {
    return uniformlyDistributeChunksAcrossRecordBatches(schema, vecs.map((v) => v instanceof Chunked ? v.chunks.map((c) => c.data) : [v.data]));
}
/** @ignore */
function uniformlyDistributeChunksAcrossRecordBatches(schema, columns) {
    const fields = [...schema.fields];
    const batchArgs = [];
    const memo = { numBatches: columns.reduce((n, c) => Math.max(n, c.length), 0) };
    let numBatches = 0, batchLength = 0;
    let i = -1, numColumns = columns.length;
    let child, childData = [];
    while (memo.numBatches-- > 0) {
        for (batchLength = Number.POSITIVE_INFINITY, i = -1; ++i < numColumns;) {
            childData[i] = child = columns[i].shift();
            batchLength = Math.min(batchLength, child ? child.length : batchLength);
        }
        if (isFinite(batchLength)) {
            childData = distributeChildData(fields, batchLength, childData, columns, memo);
            if (batchLength > 0) {
                batchArgs[numBatches++] = [batchLength, childData.slice()];
            }
        }
    }
    return [
        schema = new Schema(fields, schema.metadata),
        batchArgs.map((xs) => new recordbatch_RecordBatch(schema, ...xs))
    ];
}
/** @ignore */
function distributeChildData(fields, batchLength, childData, columns, memo) {
    let data;
    let field;
    let length = 0, i = -1, n = columns.length;
    const bitmapLength = ((batchLength + 63) & ~63) >> 3;
    while (++i < n) {
        if ((data = childData[i]) && ((length = data.length) >= batchLength)) {
            if (length === batchLength) {
                childData[i] = data;
            }
            else {
                childData[i] = data.slice(0, batchLength);
                data = data.slice(batchLength, length - batchLength);
                memo.numBatches = Math.max(memo.numBatches, columns[i].unshift(data));
            }
        }
        else {
            (field = fields[i]).nullable || (fields[i] = field.clone({ nullable: true }));
            childData[i] = data ? data._changeLengthAndBackfillNullBitmap(batchLength)
                : Data.new(field.type, 0, batchLength, batchLength, nullBufs(bitmapLength));
        }
    }
    return childData;
}

//# sourceMappingURL=recordbatch.mjs.map

;// ../node_modules/apache-arrow/vector/base.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.




/** @ignore */
class BaseVector extends AbstractVector {
    constructor(data, children) {
        super();
        this._children = children;
        this.numChildren = data.childData.length;
        this._bindDataAccessors(this.data = data);
    }
    get type() { return this.data.type; }
    get typeId() { return this.data.typeId; }
    get length() { return this.data.length; }
    get offset() { return this.data.offset; }
    get stride() { return this.data.stride; }
    get nullCount() { return this.data.nullCount; }
    get byteLength() { return this.data.byteLength; }
    get VectorName() { return `${Type[this.typeId]}Vector`; }
    get ArrayType() { return this.type.ArrayType; }
    get values() { return this.data.values; }
    get typeIds() { return this.data.typeIds; }
    get nullBitmap() { return this.data.nullBitmap; }
    get valueOffsets() { return this.data.valueOffsets; }
    get [Symbol.toStringTag]() { return `${this.VectorName}<${this.type[Symbol.toStringTag]}>`; }
    clone(data, children = this._children) {
        return AbstractVector.new(data, children);
    }
    concat(...others) {
        return Chunked.concat(this, ...others);
    }
    slice(begin, end) {
        // Adjust args similar to Array.prototype.slice. Normalize begin/end to
        // clamp between 0 and length, and wrap around on negative indices, e.g.
        // slice(-1, 5) or slice(5, -1)
        return clampRange(this, begin, end, this._sliceInternal);
    }
    isValid(index) {
        if (this.nullCount > 0) {
            const idx = this.offset + index;
            const val = this.nullBitmap[idx >> 3];
            const mask = (val & (1 << (idx % 8)));
            return mask !== 0;
        }
        return true;
    }
    getChildAt(index) {
        return index < 0 || index >= this.numChildren ? null : ((this._children || (this._children = []))[index] ||
            (this._children[index] = AbstractVector.new(this.data.childData[index])));
    }
    toJSON() { return [...this]; }
    _sliceInternal(self, begin, end) {
        return self.clone(self.data.slice(begin, end - begin), null);
    }
    // @ts-ignore
    _bindDataAccessors(data) {
        // Implementation in src/vectors/index.ts due to circular dependency/packaging shenanigans
    }
}
BaseVector.prototype[Symbol.isConcatSpreadable] = true;

//# sourceMappingURL=base.mjs.map

;// ../node_modules/apache-arrow/vector/binary.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.



/** @ignore */
class BinaryVector extends BaseVector {
    asUtf8() {
        return AbstractVector.new(this.data.clone(new Utf8()));
    }
}

//# sourceMappingURL=binary.mjs.map

;// ../node_modules/apache-arrow/vector/bool.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.



/** @ignore */
class BoolVector extends BaseVector {
    /** @nocollapse */
    static from(input) {
        return vectorFromValuesWithType(() => new Bool(), input);
    }
}

//# sourceMappingURL=bool.mjs.map

;// ../node_modules/apache-arrow/vector/date.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.




/** @ignore */
class DateVector extends BaseVector {
    /** @nocollapse */
    static from(...args) {
        if (args.length === 2) {
            return vectorFromValuesWithType(() => args[1] === DateUnit.DAY ? new DateDay() : new DateMillisecond(), args[0]);
        }
        return vectorFromValuesWithType(() => new DateMillisecond(), args[0]);
    }
}
/** @ignore */
class DateDayVector extends DateVector {
}
/** @ignore */
class DateMillisecondVector extends DateVector {
}

//# sourceMappingURL=date.mjs.map

;// ../node_modules/apache-arrow/vector/decimal.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.

/** @ignore */
class DecimalVector extends BaseVector {
}

//# sourceMappingURL=decimal.mjs.map

;// ../node_modules/apache-arrow/vector/dictionary.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.





/** @ignore */
class DictionaryVector extends BaseVector {
    constructor(data) {
        super(data);
        this.indices = AbstractVector.new(data.clone(this.type.indices));
    }
    /** @nocollapse */
    static from(...args) {
        if (args.length === 3) {
            const [values, indices, keys] = args;
            const type = new type_Dictionary(values.type, indices, null, null);
            return AbstractVector.new(Data.Dictionary(type, 0, keys.length, 0, null, keys, values));
        }
        return vectorFromValuesWithType(() => args[0].type, args[0]);
    }
    get dictionary() { return this.data.dictionary; }
    reverseLookup(value) { return this.dictionary.indexOf(value); }
    getKey(idx) { return this.indices.get(idx); }
    getValue(key) { return this.dictionary.get(key); }
    setKey(idx, key) { return this.indices.set(idx, key); }
    setValue(key, value) { return this.dictionary.set(key, value); }
}
DictionaryVector.prototype.indices = null;

//# sourceMappingURL=dictionary.mjs.map

;// ../node_modules/apache-arrow/vector/fixedsizebinary.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.

/** @ignore */
class FixedSizeBinaryVector extends BaseVector {
}

//# sourceMappingURL=fixedsizebinary.mjs.map

;// ../node_modules/apache-arrow/vector/fixedsizelist.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.

/** @ignore */
class FixedSizeListVector extends BaseVector {
}

//# sourceMappingURL=fixedsizelist.mjs.map

;// ../node_modules/apache-arrow/vector/float.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.





/** @ignore */
class FloatVector extends BaseVector {
    /** @nocollapse */
    static from(input) {
        let ArrowType = vectorTypeToDataType(this);
        if ((input instanceof ArrayBuffer) || ArrayBuffer.isView(input)) {
            let InputType = arrayTypeToDataType(input.constructor) || ArrowType;
            // Special case, infer the Arrow DataType from the input if calling the base
            // FloatVector.from with a TypedArray, e.g. `FloatVector.from(new Float32Array())`
            if (ArrowType === null) {
                ArrowType = InputType;
            }
            // If the DataType inferred from the Vector constructor matches the
            // DataType inferred from the input arguments, return zero-copy view
            if (ArrowType && ArrowType === InputType) {
                let type = new ArrowType();
                let length = input.byteLength / type.ArrayType.BYTES_PER_ELEMENT;
                // If the ArrowType is Float16 but the input type isn't a Uint16Array,
                // let the Float16Builder handle casting the input values to Uint16s.
                if (!convertTo16Bit(ArrowType, input.constructor)) {
                    return AbstractVector.new(Data.Float(type, 0, length, 0, null, input));
                }
            }
        }
        if (ArrowType) {
            // If the DataType inferred from the Vector constructor is different than
            // the DataType inferred from the input TypedArray, or if input isn't a
            // TypedArray, use the Builders to construct the result Vector
            return vectorFromValuesWithType(() => new ArrowType(), input);
        }
        if ((input instanceof DataView) || (input instanceof ArrayBuffer)) {
            throw new TypeError(`Cannot infer float type from instance of ${input.constructor.name}`);
        }
        throw new TypeError('Unrecognized FloatVector input');
    }
}
/** @ignore */
class Float16Vector extends FloatVector {
    // Since JS doesn't have half floats, `toArray()` returns a zero-copy slice
    // of the underlying Uint16Array data. This behavior ensures we don't incur
    // extra compute or copies if you're calling `toArray()` in order to create
    // a buffer for something like WebGL. Buf if you're using JS and want typed
    // arrays of 4-to-8-byte precision, these methods will enumerate the values
    // and clamp to the desired byte lengths.
    toFloat32Array() { return new Float32Array(this); }
    toFloat64Array() { return new Float64Array(this); }
}
/** @ignore */
class Float32Vector extends FloatVector {
}
/** @ignore */
class Float64Vector extends FloatVector {
}
const convertTo16Bit = (typeCtor, dataCtor) => {
    return (typeCtor === Float16) && (dataCtor !== Uint16Array);
};
/** @ignore */
const arrayTypeToDataType = (ctor) => {
    switch (ctor) {
        case Uint16Array: return Float16;
        case Float32Array: return Float32;
        case Float64Array: return Float64;
        default: return null;
    }
};
/** @ignore */
const vectorTypeToDataType = (ctor) => {
    switch (ctor) {
        case Float16Vector: return Float16;
        case Float32Vector: return Float32;
        case Float64Vector: return Float64;
        default: return null;
    }
};

//# sourceMappingURL=float.mjs.map

;// ../node_modules/apache-arrow/vector/interval.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.

/** @ignore */
class IntervalVector extends BaseVector {
}
/** @ignore */
class IntervalDayTimeVector extends IntervalVector {
}
/** @ignore */
class IntervalYearMonthVector extends IntervalVector {
}

//# sourceMappingURL=interval.mjs.map

;// ../node_modules/apache-arrow/vector/int.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.







/** @ignore */
class IntVector extends BaseVector {
    /** @nocollapse */
    static from(...args) {
        let [input, is64bit = false] = args;
        let ArrowType = int_vectorTypeToDataType(this, is64bit);
        if ((input instanceof ArrayBuffer) || ArrayBuffer.isView(input)) {
            let InputType = int_arrayTypeToDataType(input.constructor, is64bit) || ArrowType;
            // Special case, infer the Arrow DataType from the input if calling the base
            // IntVector.from with a TypedArray, e.g. `IntVector.from(new Int32Array())`
            if (ArrowType === null) {
                ArrowType = InputType;
            }
            // If the DataType inferred from the Vector constructor matches the
            // DataType inferred from the input arguments, return zero-copy view
            if (ArrowType && ArrowType === InputType) {
                let type = new ArrowType();
                let length = input.byteLength / type.ArrayType.BYTES_PER_ELEMENT;
                // If the ArrowType is 64bit but the input type is 32bit pairs, update the logical length
                if (convert32To64Bit(ArrowType, input.constructor)) {
                    length *= 0.5;
                }
                return AbstractVector.new(Data.Int(type, 0, length, 0, null, input));
            }
        }
        if (ArrowType) {
            // If the DataType inferred from the Vector constructor is different than
            // the DataType inferred from the input TypedArray, or if input isn't a
            // TypedArray, use the Builders to construct the result Vector
            return vectorFromValuesWithType(() => new ArrowType(), input);
        }
        if ((input instanceof DataView) || (input instanceof ArrayBuffer)) {
            throw new TypeError(`Cannot infer integer type from instance of ${input.constructor.name}`);
        }
        throw new TypeError('Unrecognized IntVector input');
    }
}
/** @ignore */
class Int8Vector extends IntVector {
}
/** @ignore */
class Int16Vector extends IntVector {
}
/** @ignore */
class Int32Vector extends IntVector {
}
/** @ignore */
class Int64Vector extends IntVector {
    toBigInt64Array() {
        return toBigInt64Array(this.values);
    }
    get values64() {
        return this._values64 || (this._values64 = this.toBigInt64Array());
    }
}
/** @ignore */
class Uint8Vector extends IntVector {
}
/** @ignore */
class Uint16Vector extends IntVector {
}
/** @ignore */
class Uint32Vector extends IntVector {
}
/** @ignore */
class Uint64Vector extends IntVector {
    toBigUint64Array() {
        return toBigUint64Array(this.values);
    }
    get values64() {
        return this._values64 || (this._values64 = this.toBigUint64Array());
    }
}
const convert32To64Bit = (typeCtor, dataCtor) => {
    return (typeCtor === Int64 || typeCtor === Uint64) &&
        (dataCtor === Int32Array || dataCtor === Uint32Array);
};
/** @ignore */
const int_arrayTypeToDataType = (ctor, is64bit) => {
    switch (ctor) {
        case Int8Array: return Int8;
        case Int16Array: return Int16;
        case Int32Array: return is64bit ? Int64 : Int32;
        case BigInt64ArrayCtor: return Int64;
        case Uint8Array: return Uint8;
        case Uint16Array: return Uint16;
        case Uint32Array: return is64bit ? Uint64 : Uint32;
        case BigUint64ArrayCtor: return Uint64;
        default: return null;
    }
};
/** @ignore */
const int_vectorTypeToDataType = (ctor, is64bit) => {
    switch (ctor) {
        case Int8Vector: return Int8;
        case Int16Vector: return Int16;
        case Int32Vector: return is64bit ? Int64 : Int32;
        case Int64Vector: return Int64;
        case Uint8Vector: return Uint8;
        case Uint16Vector: return Uint16;
        case Uint32Vector: return is64bit ? Uint64 : Uint32;
        case Uint64Vector: return Uint64;
        default: return null;
    }
};

//# sourceMappingURL=int.mjs.map

;// ../node_modules/apache-arrow/vector/list.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.

/** @ignore */
class ListVector extends BaseVector {
}

//# sourceMappingURL=list.mjs.map

;// ../node_modules/apache-arrow/vector/map.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.




/** @ignore */
class MapVector extends BaseVector {
    asList() {
        const child = this.type.children[0];
        return AbstractVector.new(this.data.clone(new List(child)));
    }
    bind(index) {
        const child = this.getChildAt(0);
        const { [index]: begin, [index + 1]: end } = this.valueOffsets;
        return new MapRow(child.slice(begin, end));
    }
}

//# sourceMappingURL=map.mjs.map

;// ../node_modules/apache-arrow/vector/null.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.

/** @ignore */
class NullVector extends BaseVector {
}

//# sourceMappingURL=null.mjs.map

;// ../node_modules/apache-arrow/vector/struct.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.


/** @ignore */ const struct_kRowIndex = Symbol.for('rowIndex');
/** @ignore */
class StructVector extends BaseVector {
    bind(index) {
        const proto = this._row || (this._row = new StructRow(this));
        const bound = Object.create(proto);
        bound[struct_kRowIndex] = index;
        return bound;
    }
}

//# sourceMappingURL=struct.mjs.map

;// ../node_modules/apache-arrow/vector/timestamp.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.

/** @ignore */
class TimestampVector extends BaseVector {
}
/** @ignore */
class TimestampSecondVector extends TimestampVector {
}
/** @ignore */
class TimestampMillisecondVector extends TimestampVector {
}
/** @ignore */
class TimestampMicrosecondVector extends TimestampVector {
}
/** @ignore */
class TimestampNanosecondVector extends TimestampVector {
}

//# sourceMappingURL=timestamp.mjs.map

;// ../node_modules/apache-arrow/vector/time.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.

/** @ignore */
class TimeVector extends BaseVector {
}
/** @ignore */
class TimeSecondVector extends TimeVector {
}
/** @ignore */
class TimeMillisecondVector extends TimeVector {
}
/** @ignore */
class TimeMicrosecondVector extends TimeVector {
}
/** @ignore */
class TimeNanosecondVector extends TimeVector {
}

//# sourceMappingURL=time.mjs.map

;// ../node_modules/apache-arrow/vector/union.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.

/** @ignore */
class UnionVector extends BaseVector {
    get typeIdToChildIndex() { return this.data.type.typeIdToChildIndex; }
}
/** @ignore */
class DenseUnionVector extends UnionVector {
    get valueOffsets() { return this.data.valueOffsets; }
}
/** @ignore */
class SparseUnionVector extends UnionVector {
}

//# sourceMappingURL=union.mjs.map

;// ../node_modules/apache-arrow/vector/utf8.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.




/** @ignore */
class Utf8Vector extends BaseVector {
    /** @nocollapse */
    static from(input) {
        return vectorFromValuesWithType(() => new Utf8(), input);
    }
    asBinary() {
        return AbstractVector.new(this.data.clone(new Binary()));
    }
}

//# sourceMappingURL=utf8.mjs.map

;// ../node_modules/apache-arrow/util/fn.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.
/** @ignore */
function partial0(visit) {
    return function () { return visit(this); };
}
/** @ignore */
function partial1(visit) {
    return function (a) { return visit(this, a); };
}
/** @ignore */
function partial2(visit) {
    return function (a, b) { return visit(this, a, b); };
}

//# sourceMappingURL=fn.mjs.map

;// ../node_modules/apache-arrow/visitor/get.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.





/** @ignore */
class GetVisitor extends Visitor {
}
/** @ignore */ const epochDaysToMs = (data, index) => 86400000 * data[index];
/** @ignore */ const epochMillisecondsLongToMs = (data, index) => 4294967296 * (data[index + 1]) + (data[index] >>> 0);
/** @ignore */ const epochMicrosecondsLongToMs = (data, index) => 4294967296 * (data[index + 1] / 1000) + ((data[index] >>> 0) / 1000);
/** @ignore */ const epochNanosecondsLongToMs = (data, index) => 4294967296 * (data[index + 1] / 1000000) + ((data[index] >>> 0) / 1000000);
/** @ignore */ const epochMillisecondsToDate = (epochMs) => new Date(epochMs);
/** @ignore */ const epochDaysToDate = (data, index) => epochMillisecondsToDate(epochDaysToMs(data, index));
/** @ignore */ const epochMillisecondsLongToDate = (data, index) => epochMillisecondsToDate(epochMillisecondsLongToMs(data, index));
/** @ignore */
const getNull = (_vector, _index) => null;
/** @ignore */
const getVariableWidthBytes = (values, valueOffsets, index) => {
    const { [index]: x, [index + 1]: y } = valueOffsets;
    return x != null && y != null ? values.subarray(x, y) : null;
};
/** @ignore */
const get_getBool = ({ offset, values }, index) => {
    const idx = offset + index;
    const byte = values[idx >> 3];
    return (byte & 1 << (idx % 8)) !== 0;
};
/** @ignore */
const getDateDay = ({ values }, index) => epochDaysToDate(values, index);
/** @ignore */
const getDateMillisecond = ({ values }, index) => epochMillisecondsLongToDate(values, index * 2);
/** @ignore */
const getNumeric = ({ stride, values }, index) => values[stride * index];
/** @ignore */
const getFloat16 = ({ stride, values }, index) => uint16ToFloat64(values[stride * index]);
/** @ignore */
const getBigInts = ({ stride, values, type }, index) => BN.new(values.subarray(stride * index, stride * (index + 1)), type.isSigned);
/** @ignore */
const getFixedSizeBinary = ({ stride, values }, index) => values.subarray(stride * index, stride * (index + 1));
/** @ignore */
const getBinary = ({ values, valueOffsets }, index) => getVariableWidthBytes(values, valueOffsets, index);
/** @ignore */
const getUtf8 = ({ values, valueOffsets }, index) => {
    const bytes = getVariableWidthBytes(values, valueOffsets, index);
    return bytes !== null ? decodeUtf8(bytes) : null;
};
/* istanbul ignore next */
/** @ignore */
const getInt = (vector, index) => (vector.type.bitWidth < 64
    ? getNumeric(vector, index)
    : getBigInts(vector, index));
/* istanbul ignore next */
/** @ignore */
const getFloat = (vector, index) => (vector.type.precision !== Precision.HALF
    ? getNumeric(vector, index)
    : getFloat16(vector, index));
/* istanbul ignore next */
/** @ignore */
const getDate = (vector, index) => (vector.type.unit === DateUnit.DAY
    ? getDateDay(vector, index)
    : getDateMillisecond(vector, index));
/** @ignore */
const getTimestampSecond = ({ values }, index) => 1000 * epochMillisecondsLongToMs(values, index * 2);
/** @ignore */
const getTimestampMillisecond = ({ values }, index) => epochMillisecondsLongToMs(values, index * 2);
/** @ignore */
const getTimestampMicrosecond = ({ values }, index) => epochMicrosecondsLongToMs(values, index * 2);
/** @ignore */
const getTimestampNanosecond = ({ values }, index) => epochNanosecondsLongToMs(values, index * 2);
/* istanbul ignore next */
/** @ignore */
const getTimestamp = (vector, index) => {
    switch (vector.type.unit) {
        case TimeUnit.SECOND: return getTimestampSecond(vector, index);
        case TimeUnit.MILLISECOND: return getTimestampMillisecond(vector, index);
        case TimeUnit.MICROSECOND: return getTimestampMicrosecond(vector, index);
        case TimeUnit.NANOSECOND: return getTimestampNanosecond(vector, index);
    }
};
/** @ignore */
const getTimeSecond = ({ values, stride }, index) => values[stride * index];
/** @ignore */
const getTimeMillisecond = ({ values, stride }, index) => values[stride * index];
/** @ignore */
const getTimeMicrosecond = ({ values }, index) => BN.signed(values.subarray(2 * index, 2 * (index + 1)));
/** @ignore */
const getTimeNanosecond = ({ values }, index) => BN.signed(values.subarray(2 * index, 2 * (index + 1)));
/* istanbul ignore next */
/** @ignore */
const getTime = (vector, index) => {
    switch (vector.type.unit) {
        case TimeUnit.SECOND: return getTimeSecond(vector, index);
        case TimeUnit.MILLISECOND: return getTimeMillisecond(vector, index);
        case TimeUnit.MICROSECOND: return getTimeMicrosecond(vector, index);
        case TimeUnit.NANOSECOND: return getTimeNanosecond(vector, index);
    }
};
/** @ignore */
const getDecimal = ({ values }, index) => BN.decimal(values.subarray(4 * index, 4 * (index + 1)));
/** @ignore */
const getList = (vector, index) => {
    const child = vector.getChildAt(0), { valueOffsets, stride } = vector;
    return child.slice(valueOffsets[index * stride], valueOffsets[(index * stride) + 1]);
};
/** @ignore */
const getMap = (vector, index) => {
    return vector.bind(index);
};
/** @ignore */
const getStruct = (vector, index) => {
    return vector.bind(index);
};
/* istanbul ignore next */
/** @ignore */
const getUnion = (vector, index) => {
    return vector.type.mode === UnionMode.Dense ?
        getDenseUnion(vector, index) :
        getSparseUnion(vector, index);
};
/** @ignore */
const getDenseUnion = (vector, index) => {
    const childIndex = vector.typeIdToChildIndex[vector.typeIds[index]];
    const child = vector.getChildAt(childIndex);
    return child ? child.get(vector.valueOffsets[index]) : null;
};
/** @ignore */
const getSparseUnion = (vector, index) => {
    const childIndex = vector.typeIdToChildIndex[vector.typeIds[index]];
    const child = vector.getChildAt(childIndex);
    return child ? child.get(index) : null;
};
/** @ignore */
const getDictionary = (vector, index) => {
    return vector.getValue(vector.getKey(index));
};
/* istanbul ignore next */
/** @ignore */
const getInterval = (vector, index) => (vector.type.unit === IntervalUnit.DAY_TIME)
    ? getIntervalDayTime(vector, index)
    : getIntervalYearMonth(vector, index);
/** @ignore */
const getIntervalDayTime = ({ values }, index) => values.subarray(2 * index, 2 * (index + 1));
/** @ignore */
const getIntervalYearMonth = ({ values }, index) => {
    const interval = values[index];
    const int32s = new Int32Array(2);
    int32s[0] = interval / 12 | 0; /* years */
    int32s[1] = interval % 12 | 0; /* months */
    return int32s;
};
/** @ignore */
const getFixedSizeList = (vector, index) => {
    const child = vector.getChildAt(0), { stride } = vector;
    return child.slice(index * stride, (index + 1) * stride);
};
GetVisitor.prototype.visitNull = getNull;
GetVisitor.prototype.visitBool = get_getBool;
GetVisitor.prototype.visitInt = getInt;
GetVisitor.prototype.visitInt8 = getNumeric;
GetVisitor.prototype.visitInt16 = getNumeric;
GetVisitor.prototype.visitInt32 = getNumeric;
GetVisitor.prototype.visitInt64 = getBigInts;
GetVisitor.prototype.visitUint8 = getNumeric;
GetVisitor.prototype.visitUint16 = getNumeric;
GetVisitor.prototype.visitUint32 = getNumeric;
GetVisitor.prototype.visitUint64 = getBigInts;
GetVisitor.prototype.visitFloat = getFloat;
GetVisitor.prototype.visitFloat16 = getFloat16;
GetVisitor.prototype.visitFloat32 = getNumeric;
GetVisitor.prototype.visitFloat64 = getNumeric;
GetVisitor.prototype.visitUtf8 = getUtf8;
GetVisitor.prototype.visitBinary = getBinary;
GetVisitor.prototype.visitFixedSizeBinary = getFixedSizeBinary;
GetVisitor.prototype.visitDate = getDate;
GetVisitor.prototype.visitDateDay = getDateDay;
GetVisitor.prototype.visitDateMillisecond = getDateMillisecond;
GetVisitor.prototype.visitTimestamp = getTimestamp;
GetVisitor.prototype.visitTimestampSecond = getTimestampSecond;
GetVisitor.prototype.visitTimestampMillisecond = getTimestampMillisecond;
GetVisitor.prototype.visitTimestampMicrosecond = getTimestampMicrosecond;
GetVisitor.prototype.visitTimestampNanosecond = getTimestampNanosecond;
GetVisitor.prototype.visitTime = getTime;
GetVisitor.prototype.visitTimeSecond = getTimeSecond;
GetVisitor.prototype.visitTimeMillisecond = getTimeMillisecond;
GetVisitor.prototype.visitTimeMicrosecond = getTimeMicrosecond;
GetVisitor.prototype.visitTimeNanosecond = getTimeNanosecond;
GetVisitor.prototype.visitDecimal = getDecimal;
GetVisitor.prototype.visitList = getList;
GetVisitor.prototype.visitStruct = getStruct;
GetVisitor.prototype.visitUnion = getUnion;
GetVisitor.prototype.visitDenseUnion = getDenseUnion;
GetVisitor.prototype.visitSparseUnion = getSparseUnion;
GetVisitor.prototype.visitDictionary = getDictionary;
GetVisitor.prototype.visitInterval = getInterval;
GetVisitor.prototype.visitIntervalDayTime = getIntervalDayTime;
GetVisitor.prototype.visitIntervalYearMonth = getIntervalYearMonth;
GetVisitor.prototype.visitFixedSizeList = getFixedSizeList;
GetVisitor.prototype.visitMap = getMap;
/** @ignore */
const get_instance = new GetVisitor();

//# sourceMappingURL=get.mjs.map

;// ../node_modules/apache-arrow/visitor/indexof.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.



/** @ignore */
class IndexOfVisitor extends Visitor {
}
/** @ignore */
function nullIndexOf(vector, searchElement) {
    // if you're looking for nulls and the vector isn't empty, we've got 'em!
    return searchElement === null && vector.length > 0 ? 0 : -1;
}
/** @ignore */
function indexOfNull(vector, fromIndex) {
    const { nullBitmap } = vector.data;
    if (!nullBitmap || vector.nullCount <= 0) {
        return -1;
    }
    let i = 0;
    for (const isValid of iterateBits(nullBitmap, vector.data.offset + (fromIndex || 0), vector.length, nullBitmap, getBool)) {
        if (!isValid) {
            return i;
        }
        ++i;
    }
    return -1;
}
/** @ignore */
function indexOfValue(vector, searchElement, fromIndex) {
    if (searchElement === undefined) {
        return -1;
    }
    if (searchElement === null) {
        return indexOfNull(vector, fromIndex);
    }
    const compare = createElementComparator(searchElement);
    for (let i = (fromIndex || 0) - 1, n = vector.length; ++i < n;) {
        if (compare(vector.get(i))) {
            return i;
        }
    }
    return -1;
}
/** @ignore */
function indexOfUnion(vector, searchElement, fromIndex) {
    // Unions are special -- they do have a nullBitmap, but so can their children.
    // If the searchElement is null, we don't know whether it came from the Union's
    // bitmap or one of its childrens'. So we don't interrogate the Union's bitmap,
    // since that will report the wrong index if a child has a null before the Union.
    const compare = createElementComparator(searchElement);
    for (let i = (fromIndex || 0) - 1, n = vector.length; ++i < n;) {
        if (compare(vector.get(i))) {
            return i;
        }
    }
    return -1;
}
IndexOfVisitor.prototype.visitNull = nullIndexOf;
IndexOfVisitor.prototype.visitBool = indexOfValue;
IndexOfVisitor.prototype.visitInt = indexOfValue;
IndexOfVisitor.prototype.visitInt8 = indexOfValue;
IndexOfVisitor.prototype.visitInt16 = indexOfValue;
IndexOfVisitor.prototype.visitInt32 = indexOfValue;
IndexOfVisitor.prototype.visitInt64 = indexOfValue;
IndexOfVisitor.prototype.visitUint8 = indexOfValue;
IndexOfVisitor.prototype.visitUint16 = indexOfValue;
IndexOfVisitor.prototype.visitUint32 = indexOfValue;
IndexOfVisitor.prototype.visitUint64 = indexOfValue;
IndexOfVisitor.prototype.visitFloat = indexOfValue;
IndexOfVisitor.prototype.visitFloat16 = indexOfValue;
IndexOfVisitor.prototype.visitFloat32 = indexOfValue;
IndexOfVisitor.prototype.visitFloat64 = indexOfValue;
IndexOfVisitor.prototype.visitUtf8 = indexOfValue;
IndexOfVisitor.prototype.visitBinary = indexOfValue;
IndexOfVisitor.prototype.visitFixedSizeBinary = indexOfValue;
IndexOfVisitor.prototype.visitDate = indexOfValue;
IndexOfVisitor.prototype.visitDateDay = indexOfValue;
IndexOfVisitor.prototype.visitDateMillisecond = indexOfValue;
IndexOfVisitor.prototype.visitTimestamp = indexOfValue;
IndexOfVisitor.prototype.visitTimestampSecond = indexOfValue;
IndexOfVisitor.prototype.visitTimestampMillisecond = indexOfValue;
IndexOfVisitor.prototype.visitTimestampMicrosecond = indexOfValue;
IndexOfVisitor.prototype.visitTimestampNanosecond = indexOfValue;
IndexOfVisitor.prototype.visitTime = indexOfValue;
IndexOfVisitor.prototype.visitTimeSecond = indexOfValue;
IndexOfVisitor.prototype.visitTimeMillisecond = indexOfValue;
IndexOfVisitor.prototype.visitTimeMicrosecond = indexOfValue;
IndexOfVisitor.prototype.visitTimeNanosecond = indexOfValue;
IndexOfVisitor.prototype.visitDecimal = indexOfValue;
IndexOfVisitor.prototype.visitList = indexOfValue;
IndexOfVisitor.prototype.visitStruct = indexOfValue;
IndexOfVisitor.prototype.visitUnion = indexOfValue;
IndexOfVisitor.prototype.visitDenseUnion = indexOfUnion;
IndexOfVisitor.prototype.visitSparseUnion = indexOfUnion;
IndexOfVisitor.prototype.visitDictionary = indexOfValue;
IndexOfVisitor.prototype.visitInterval = indexOfValue;
IndexOfVisitor.prototype.visitIntervalDayTime = indexOfValue;
IndexOfVisitor.prototype.visitIntervalYearMonth = indexOfValue;
IndexOfVisitor.prototype.visitFixedSizeList = indexOfValue;
IndexOfVisitor.prototype.visitMap = indexOfValue;
/** @ignore */
const indexof_instance = new IndexOfVisitor();

//# sourceMappingURL=indexof.mjs.map

;// ../node_modules/apache-arrow/visitor/iterator.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.




/** @ignore */
class IteratorVisitor extends Visitor {
}
/** @ignore */
function nullableIterator(vector) {
    const getFn = get_instance.getVisitFn(vector);
    return iterateBits(vector.data.nullBitmap, vector.data.offset, vector.length, vector, (vec, idx, nullByte, nullBit) => ((nullByte & 1 << nullBit) !== 0) ? getFn(vec, idx) : null);
}
/** @ignore */
function vectorIterator(vector) {
    // If nullable, iterate manually
    if (vector.nullCount > 0) {
        return nullableIterator(vector);
    }
    const { type, typeId, length } = vector;
    // Fast case, defer to native iterators if possible
    if (vector.stride === 1 && ((typeId === Type.Timestamp) ||
        (typeId === Type.Int && type.bitWidth !== 64) ||
        (typeId === Type.Time && type.bitWidth !== 64) ||
        (typeId === Type.Float && type.precision > 0 /* Precision.HALF */))) {
        return vector.data.values.subarray(0, length)[Symbol.iterator]();
    }
    // Otherwise, iterate manually
    return (function* (getFn) {
        for (let index = -1; ++index < length;) {
            yield getFn(vector, index);
        }
    })(get_instance.getVisitFn(vector));
}
IteratorVisitor.prototype.visitNull = vectorIterator;
IteratorVisitor.prototype.visitBool = vectorIterator;
IteratorVisitor.prototype.visitInt = vectorIterator;
IteratorVisitor.prototype.visitInt8 = vectorIterator;
IteratorVisitor.prototype.visitInt16 = vectorIterator;
IteratorVisitor.prototype.visitInt32 = vectorIterator;
IteratorVisitor.prototype.visitInt64 = vectorIterator;
IteratorVisitor.prototype.visitUint8 = vectorIterator;
IteratorVisitor.prototype.visitUint16 = vectorIterator;
IteratorVisitor.prototype.visitUint32 = vectorIterator;
IteratorVisitor.prototype.visitUint64 = vectorIterator;
IteratorVisitor.prototype.visitFloat = vectorIterator;
IteratorVisitor.prototype.visitFloat16 = vectorIterator;
IteratorVisitor.prototype.visitFloat32 = vectorIterator;
IteratorVisitor.prototype.visitFloat64 = vectorIterator;
IteratorVisitor.prototype.visitUtf8 = vectorIterator;
IteratorVisitor.prototype.visitBinary = vectorIterator;
IteratorVisitor.prototype.visitFixedSizeBinary = vectorIterator;
IteratorVisitor.prototype.visitDate = vectorIterator;
IteratorVisitor.prototype.visitDateDay = vectorIterator;
IteratorVisitor.prototype.visitDateMillisecond = vectorIterator;
IteratorVisitor.prototype.visitTimestamp = vectorIterator;
IteratorVisitor.prototype.visitTimestampSecond = vectorIterator;
IteratorVisitor.prototype.visitTimestampMillisecond = vectorIterator;
IteratorVisitor.prototype.visitTimestampMicrosecond = vectorIterator;
IteratorVisitor.prototype.visitTimestampNanosecond = vectorIterator;
IteratorVisitor.prototype.visitTime = vectorIterator;
IteratorVisitor.prototype.visitTimeSecond = vectorIterator;
IteratorVisitor.prototype.visitTimeMillisecond = vectorIterator;
IteratorVisitor.prototype.visitTimeMicrosecond = vectorIterator;
IteratorVisitor.prototype.visitTimeNanosecond = vectorIterator;
IteratorVisitor.prototype.visitDecimal = vectorIterator;
IteratorVisitor.prototype.visitList = vectorIterator;
IteratorVisitor.prototype.visitStruct = vectorIterator;
IteratorVisitor.prototype.visitUnion = vectorIterator;
IteratorVisitor.prototype.visitDenseUnion = vectorIterator;
IteratorVisitor.prototype.visitSparseUnion = vectorIterator;
IteratorVisitor.prototype.visitDictionary = vectorIterator;
IteratorVisitor.prototype.visitInterval = vectorIterator;
IteratorVisitor.prototype.visitIntervalDayTime = vectorIterator;
IteratorVisitor.prototype.visitIntervalYearMonth = vectorIterator;
IteratorVisitor.prototype.visitFixedSizeList = vectorIterator;
IteratorVisitor.prototype.visitMap = vectorIterator;
/** @ignore */
const iterator_instance = new IteratorVisitor();

//# sourceMappingURL=iterator.mjs.map

;// ../node_modules/apache-arrow/visitor/toarray.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.



/** @ignore */
class ToArrayVisitor extends Visitor {
}
/** @ignore */
function arrayOfVector(vector) {
    const { type, length, stride } = vector;
    // Fast case, return subarray if possible
    switch (type.typeId) {
        case Type.Int:
        case Type.Float:
        case Type.Decimal:
        case Type.Time:
        case Type.Timestamp:
            return vector.data.values.subarray(0, length * stride);
    }
    // Otherwise if not primitive, slow copy
    return [...iterator_instance.visit(vector)];
}
ToArrayVisitor.prototype.visitNull = arrayOfVector;
ToArrayVisitor.prototype.visitBool = arrayOfVector;
ToArrayVisitor.prototype.visitInt = arrayOfVector;
ToArrayVisitor.prototype.visitInt8 = arrayOfVector;
ToArrayVisitor.prototype.visitInt16 = arrayOfVector;
ToArrayVisitor.prototype.visitInt32 = arrayOfVector;
ToArrayVisitor.prototype.visitInt64 = arrayOfVector;
ToArrayVisitor.prototype.visitUint8 = arrayOfVector;
ToArrayVisitor.prototype.visitUint16 = arrayOfVector;
ToArrayVisitor.prototype.visitUint32 = arrayOfVector;
ToArrayVisitor.prototype.visitUint64 = arrayOfVector;
ToArrayVisitor.prototype.visitFloat = arrayOfVector;
ToArrayVisitor.prototype.visitFloat16 = arrayOfVector;
ToArrayVisitor.prototype.visitFloat32 = arrayOfVector;
ToArrayVisitor.prototype.visitFloat64 = arrayOfVector;
ToArrayVisitor.prototype.visitUtf8 = arrayOfVector;
ToArrayVisitor.prototype.visitBinary = arrayOfVector;
ToArrayVisitor.prototype.visitFixedSizeBinary = arrayOfVector;
ToArrayVisitor.prototype.visitDate = arrayOfVector;
ToArrayVisitor.prototype.visitDateDay = arrayOfVector;
ToArrayVisitor.prototype.visitDateMillisecond = arrayOfVector;
ToArrayVisitor.prototype.visitTimestamp = arrayOfVector;
ToArrayVisitor.prototype.visitTimestampSecond = arrayOfVector;
ToArrayVisitor.prototype.visitTimestampMillisecond = arrayOfVector;
ToArrayVisitor.prototype.visitTimestampMicrosecond = arrayOfVector;
ToArrayVisitor.prototype.visitTimestampNanosecond = arrayOfVector;
ToArrayVisitor.prototype.visitTime = arrayOfVector;
ToArrayVisitor.prototype.visitTimeSecond = arrayOfVector;
ToArrayVisitor.prototype.visitTimeMillisecond = arrayOfVector;
ToArrayVisitor.prototype.visitTimeMicrosecond = arrayOfVector;
ToArrayVisitor.prototype.visitTimeNanosecond = arrayOfVector;
ToArrayVisitor.prototype.visitDecimal = arrayOfVector;
ToArrayVisitor.prototype.visitList = arrayOfVector;
ToArrayVisitor.prototype.visitStruct = arrayOfVector;
ToArrayVisitor.prototype.visitUnion = arrayOfVector;
ToArrayVisitor.prototype.visitDenseUnion = arrayOfVector;
ToArrayVisitor.prototype.visitSparseUnion = arrayOfVector;
ToArrayVisitor.prototype.visitDictionary = arrayOfVector;
ToArrayVisitor.prototype.visitInterval = arrayOfVector;
ToArrayVisitor.prototype.visitIntervalDayTime = arrayOfVector;
ToArrayVisitor.prototype.visitIntervalYearMonth = arrayOfVector;
ToArrayVisitor.prototype.visitFixedSizeList = arrayOfVector;
ToArrayVisitor.prototype.visitMap = arrayOfVector;
/** @ignore */
const toarray_instance = new ToArrayVisitor();

//# sourceMappingURL=toarray.mjs.map

;// ../node_modules/apache-arrow/visitor/bytewidth.mjs
/* istanbul ignore file */


/** @ignore */ const sum = (x, y) => x + y;
/** @ignore */ const variableWidthColumnErrorMessage = (type) => `Cannot compute the byte width of variable-width column ${type}`;
/** @ignore */
class ByteWidthVisitor extends Visitor {
    visitNull(____) { return 0; }
    visitInt(type) { return type.bitWidth / 8; }
    visitFloat(type) { return type.ArrayType.BYTES_PER_ELEMENT; }
    visitBinary(type) { throw new Error(variableWidthColumnErrorMessage(type)); }
    visitUtf8(type) { throw new Error(variableWidthColumnErrorMessage(type)); }
    visitBool(____) { return 1 / 8; }
    visitDecimal(____) { return 16; }
    visitDate(type) { return (type.unit + 1) * 4; }
    visitTime(type) { return type.bitWidth / 8; }
    visitTimestamp(type) { return type.unit === TimeUnit.SECOND ? 4 : 8; }
    visitInterval(type) { return (type.unit + 1) * 4; }
    visitList(type) { throw new Error(variableWidthColumnErrorMessage(type)); }
    visitStruct(type) { return this.visitFields(type.children).reduce(sum, 0); }
    visitUnion(type) { return this.visitFields(type.children).reduce(sum, 0); }
    visitFixedSizeBinary(type) { return type.byteWidth; }
    visitFixedSizeList(type) { return type.listSize * this.visitFields(type.children).reduce(sum, 0); }
    visitMap(type) { return this.visitFields(type.children).reduce(sum, 0); }
    visitDictionary(type) { return this.visit(type.indices); }
    visitFields(fields) { return (fields || []).map((field) => this.visit(field.type)); }
    visitSchema(schema) { return this.visitFields(schema.fields).reduce(sum, 0); }
}
/** @ignore */
const bytewidth_instance = new ByteWidthVisitor();

//# sourceMappingURL=bytewidth.mjs.map

;// ../node_modules/apache-arrow/visitor/vectorctor.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.



















/** @ignore */
class GetVectorConstructor extends Visitor {
    visitNull() { return NullVector; }
    visitBool() { return BoolVector; }
    visitInt() { return IntVector; }
    visitInt8() { return Int8Vector; }
    visitInt16() { return Int16Vector; }
    visitInt32() { return Int32Vector; }
    visitInt64() { return Int64Vector; }
    visitUint8() { return Uint8Vector; }
    visitUint16() { return Uint16Vector; }
    visitUint32() { return Uint32Vector; }
    visitUint64() { return Uint64Vector; }
    visitFloat() { return FloatVector; }
    visitFloat16() { return Float16Vector; }
    visitFloat32() { return Float32Vector; }
    visitFloat64() { return Float64Vector; }
    visitUtf8() { return Utf8Vector; }
    visitBinary() { return BinaryVector; }
    visitFixedSizeBinary() { return FixedSizeBinaryVector; }
    visitDate() { return DateVector; }
    visitDateDay() { return DateDayVector; }
    visitDateMillisecond() { return DateMillisecondVector; }
    visitTimestamp() { return TimestampVector; }
    visitTimestampSecond() { return TimestampSecondVector; }
    visitTimestampMillisecond() { return TimestampMillisecondVector; }
    visitTimestampMicrosecond() { return TimestampMicrosecondVector; }
    visitTimestampNanosecond() { return TimestampNanosecondVector; }
    visitTime() { return TimeVector; }
    visitTimeSecond() { return TimeSecondVector; }
    visitTimeMillisecond() { return TimeMillisecondVector; }
    visitTimeMicrosecond() { return TimeMicrosecondVector; }
    visitTimeNanosecond() { return TimeNanosecondVector; }
    visitDecimal() { return DecimalVector; }
    visitList() { return ListVector; }
    visitStruct() { return StructVector; }
    visitUnion() { return UnionVector; }
    visitDenseUnion() { return DenseUnionVector; }
    visitSparseUnion() { return SparseUnionVector; }
    visitDictionary() { return DictionaryVector; }
    visitInterval() { return IntervalVector; }
    visitIntervalDayTime() { return IntervalDayTimeVector; }
    visitIntervalYearMonth() { return IntervalYearMonthVector; }
    visitFixedSizeList() { return FixedSizeListVector; }
    visitMap() { return MapVector; }
}
/** @ignore */
const vectorctor_instance = new GetVectorConstructor();

//# sourceMappingURL=vectorctor.mjs.map

;// ../node_modules/apache-arrow/vector/index.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.





































/** @nocollapse */
AbstractVector.new = newVector;
/** @nocollapse */
AbstractVector.from = vectorFrom;
/** @ignore */
function newVector(data, ...args) {
    return new (vectorctor_instance.getVisitFn(data)())(data, ...args);
}
/** @ignore */
function vectorFromValuesWithType(newDataType, input) {
    if (isIterable(input)) {
        return AbstractVector.from({ 'nullValues': [null, undefined], type: newDataType(), 'values': input });
    }
    else if (isAsyncIterable(input)) {
        return AbstractVector.from({ 'nullValues': [null, undefined], type: newDataType(), 'values': input });
    }
    const { 'values': values = [], 'type': type = newDataType(), 'nullValues': nullValues = [null, undefined], } = { ...input };
    return isIterable(values)
        ? AbstractVector.from({ nullValues, ...input, type })
        : AbstractVector.from({ nullValues, ...input, type });
}
function vectorFrom(input) {
    const { 'values': values = [], ...options } = { 'nullValues': [null, undefined], ...input };
    if (isIterable(values)) {
        const chunks = [...Builder.throughIterable(options)(values)];
        return (chunks.length === 1 ? chunks[0] : Chunked.concat(chunks));
    }
    return (async (chunks) => {
        const transform = Builder.throughAsyncIterable(options);
        for await (const chunk of transform(values)) {
            chunks.push(chunk);
        }
        return (chunks.length === 1 ? chunks[0] : Chunked.concat(chunks));
    })([]);
}
//
// We provide the following method implementations for code navigability purposes only.
// They're overridden at runtime below with the specific Visitor implementation for each type,
// short-circuiting the usual Visitor traversal and reducing intermediate lookups and calls.
// This comment is here to remind you to not set breakpoints in these function bodies, or to inform
// you why the breakpoints you have already set are not being triggered. Have a great day!
//
BaseVector.prototype.get = function baseVectorGet(index) {
    return get_instance.visit(this, index);
};
BaseVector.prototype.set = function baseVectorSet(index, value) {
    return set_instance.visit(this, index, value);
};
BaseVector.prototype.indexOf = function baseVectorIndexOf(value, fromIndex) {
    return indexof_instance.visit(this, value, fromIndex);
};
BaseVector.prototype.toArray = function baseVectorToArray() {
    return toarray_instance.visit(this);
};
BaseVector.prototype.getByteWidth = function baseVectorGetByteWidth() {
    return bytewidth_instance.visit(this.type);
};
BaseVector.prototype[Symbol.iterator] = function baseVectorSymbolIterator() {
    return iterator_instance.visit(this);
};
BaseVector.prototype._bindDataAccessors = bindBaseVectorDataAccessors;
// Perf: bind and assign the operator Visitor methods to each of the Vector subclasses for each Type
Object.keys(Type)
    .map((T) => Type[T])
    .filter((T) => typeof T === 'number')
    .filter((typeId) => typeId !== Type.NONE)
    .forEach((typeId) => {
    const VectorCtor = vectorctor_instance.visit(typeId);
    VectorCtor.prototype['get'] = partial1(get_instance.getVisitFn(typeId));
    VectorCtor.prototype['set'] = partial2(set_instance.getVisitFn(typeId));
    VectorCtor.prototype['indexOf'] = partial2(indexof_instance.getVisitFn(typeId));
    VectorCtor.prototype['toArray'] = partial0(toarray_instance.getVisitFn(typeId));
    VectorCtor.prototype['getByteWidth'] = partialType0(bytewidth_instance.getVisitFn(typeId));
    VectorCtor.prototype[Symbol.iterator] = partial0(iterator_instance.getVisitFn(typeId));
});
/** @ignore */
function partialType0(visit) {
    return function () { return visit(this.type); };
}
/** @ignore */
function wrapNullableGet(fn) {
    return function (i) { return this.isValid(i) ? fn.call(this, i) : null; };
}
/** @ignore */
function wrapNullableSet(fn) {
    return function (i, a) {
        if (setBool(this.nullBitmap, this.offset + i, !(a === null || a === undefined))) {
            fn.call(this, i, a);
        }
    };
}
/** @ignore */
function bindBaseVectorDataAccessors() {
    const nullBitmap = this.nullBitmap;
    if (nullBitmap && nullBitmap.byteLength > 0) {
        this.get = wrapNullableGet(this.get);
        this.set = wrapNullableSet(this.set);
    }
}

//# sourceMappingURL=index.mjs.map

;// ../node_modules/apache-arrow/table.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.










class table_Table extends Chunked {
    constructor(...args) {
        let schema = null;
        if (args[0] instanceof Schema) {
            schema = args.shift();
        }
        let chunks = selectArgs(recordbatch_RecordBatch, args);
        if (!schema && !(schema = chunks[0] && chunks[0].schema)) {
            throw new TypeError('Table must be initialized with a Schema or at least one RecordBatch');
        }
        chunks[0] || (chunks[0] = new _InternalEmptyPlaceholderRecordBatch(schema));
        super(new Struct(schema.fields), chunks);
        this._schema = schema;
        this._chunks = chunks;
    }
    /** @nocollapse */
    static empty(schema = new Schema([])) { return new table_Table(schema, []); }
    /** @nocollapse */
    static from(input) {
        if (!input) {
            return table_Table.empty();
        }
        if (typeof input === 'object') {
            let table = isIterable(input['values']) ? tableFromIterable(input)
                : isAsyncIterable(input['values']) ? tableFromAsyncIterable(input)
                    : null;
            if (table !== null) {
                return table;
            }
        }
        let reader = RecordBatchReader.from(input);
        if (isPromise(reader)) {
            return (async () => await table_Table.from(await reader))();
        }
        if (reader.isSync() && (reader = reader.open())) {
            return !reader.schema ? table_Table.empty() : new table_Table(reader.schema, [...reader]);
        }
        return (async (opening) => {
            const reader = await opening;
            const schema = reader.schema;
            const batches = [];
            if (schema) {
                for await (let batch of reader) {
                    batches.push(batch);
                }
                return new table_Table(schema, batches);
            }
            return table_Table.empty();
        })(reader.open());
    }
    /** @nocollapse */
    static async fromAsync(source) {
        return await table_Table.from(source);
    }
    /** @nocollapse */
    static fromStruct(vector) {
        return table_Table.new(vector.data.childData, vector.type.children);
    }
    /** @nocollapse */
    static new(...cols) {
        return new table_Table(...distributeColumnsIntoRecordBatches(selectColumnArgs(cols)));
    }
    get schema() { return this._schema; }
    get length() { return this._length; }
    get chunks() { return this._chunks; }
    get numCols() { return this._numChildren; }
    clone(chunks = this._chunks) {
        return new table_Table(this._schema, chunks);
    }
    getColumn(name) {
        return this.getColumnAt(this.getColumnIndex(name));
    }
    getColumnAt(index) {
        return this.getChildAt(index);
    }
    getColumnIndex(name) {
        return this._schema.fields.findIndex((f) => f.name === name);
    }
    getChildAt(index) {
        if (index < 0 || index >= this.numChildren) {
            return null;
        }
        let field, child;
        const fields = this._schema.fields;
        const columns = this._children || (this._children = []);
        if (child = columns[index]) {
            return child;
        }
        if (field = fields[index]) {
            const chunks = this._chunks
                .map((chunk) => chunk.getChildAt(index))
                .filter((vec) => vec != null);
            if (chunks.length > 0) {
                return (columns[index] = new column_Column(field, chunks));
            }
        }
        return null;
    }
    // @ts-ignore
    serialize(encoding = 'binary', stream = true) {
        const Writer = !stream
            ? RecordBatchFileWriter
            : RecordBatchStreamWriter;
        return Writer.writeAll(this).toUint8Array(true);
    }
    count() {
        return this._length;
    }
    select(...columnNames) {
        const nameToIndex = this._schema.fields.reduce((m, f, i) => m.set(f.name, i), new Map());
        return this.selectAt(...columnNames.map((columnName) => nameToIndex.get(columnName)).filter((x) => x > -1));
    }
    selectAt(...columnIndices) {
        const schema = this._schema.selectAt(...columnIndices);
        return new table_Table(schema, this._chunks.map(({ length, data: { childData } }) => {
            return new recordbatch_RecordBatch(schema, length, columnIndices.map((i) => childData[i]).filter(Boolean));
        }));
    }
    assign(other) {
        const fields = this._schema.fields;
        const [indices, oldToNew] = other.schema.fields.reduce((memo, f2, newIdx) => {
            const [indices, oldToNew] = memo;
            const i = fields.findIndex((f) => f.name === f2.name);
            ~i ? (oldToNew[i] = newIdx) : indices.push(newIdx);
            return memo;
        }, [[], []]);
        const schema = this._schema.assign(other.schema);
        const columns = [
            ...fields.map((_f, i, _fs, j = oldToNew[i]) => (j === undefined ? this.getColumnAt(i) : other.getColumnAt(j))),
            ...indices.map((i) => other.getColumnAt(i))
        ].filter(Boolean);
        return new table_Table(...distributeVectorsIntoRecordBatches(schema, columns));
    }
}
function tableFromIterable(input) {
    const { type } = input;
    if (type instanceof Struct) {
        return table_Table.fromStruct(StructVector.from(input));
    }
    return null;
}
function tableFromAsyncIterable(input) {
    const { type } = input;
    if (type instanceof Struct) {
        return StructVector.from(input).then((vector) => table_Table.fromStruct(vector));
    }
    return null;
}

//# sourceMappingURL=table.mjs.map

;// ../node_modules/apache-arrow/recordbatch.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.











class recordbatch_RecordBatch extends StructVector {
    constructor(...args) {
        let data;
        let schema = args[0];
        let children;
        if (args[1] instanceof Data) {
            [, data, children] = args;
        }
        else {
            const fields = schema.fields;
            const [, length, childData] = args;
            data = Data.Struct(new Struct(fields), 0, length, 0, null, childData);
        }
        super(data, children);
        this._schema = schema;
    }
    /** @nocollapse */
    static from(options) {
        if (isIterable(options['values'])) {
            return table_Table.from(options);
        }
        return table_Table.from(options);
    }
    /** @nocollapse */
    static new(...args) {
        const [fs, xs] = selectFieldArgs(args);
        const vs = xs.filter((x) => x instanceof AbstractVector);
        return new recordbatch_RecordBatch(...ensureSameLengthData(new Schema(fs), vs.map((x) => x.data)));
    }
    clone(data, children = this._children) {
        return new recordbatch_RecordBatch(this._schema, data, children);
    }
    concat(...others) {
        const schema = this._schema, chunks = Chunked.flatten(this, ...others);
        return new table_Table(schema, chunks.map(({ data }) => new recordbatch_RecordBatch(schema, data)));
    }
    get schema() { return this._schema; }
    get numCols() { return this._schema.fields.length; }
    get dictionaries() {
        return this._dictionaries || (this._dictionaries = DictionaryCollector.collect(this));
    }
    select(...columnNames) {
        const nameToIndex = this._schema.fields.reduce((m, f, i) => m.set(f.name, i), new Map());
        return this.selectAt(...columnNames.map((columnName) => nameToIndex.get(columnName)).filter((x) => x > -1));
    }
    selectAt(...columnIndices) {
        const schema = this._schema.selectAt(...columnIndices);
        const childData = columnIndices.map((i) => this.data.childData[i]).filter(Boolean);
        return new recordbatch_RecordBatch(schema, this.length, childData);
    }
}
/**
 * An internal class used by the `RecordBatchReader` and `RecordBatchWriter`
 * implementations to differentiate between a stream with valid zero-length
 * RecordBatches, and a stream with a Schema message, but no RecordBatches.
 * @see https://github.com/apache/arrow/pull/4373
 * @ignore
 * @private
 */
/* tslint:disable:class-name */
class _InternalEmptyPlaceholderRecordBatch extends recordbatch_RecordBatch {
    constructor(schema) {
        super(schema, 0, schema.fields.map((f) => Data.new(f.type, 0, 0, 0)));
    }
}
/** @ignore */
class DictionaryCollector extends Visitor {
    constructor() {
        super(...arguments);
        this.dictionaries = new Map();
    }
    static collect(batch) {
        return new DictionaryCollector().visit(batch.data, new Struct(batch.schema.fields)).dictionaries;
    }
    visit(data, type) {
        if (DataType.isDictionary(type)) {
            return this.visitDictionary(data, type);
        }
        else {
            data.childData.forEach((child, i) => this.visit(child, type.children[i].type));
        }
        return this;
    }
    visitDictionary(data, type) {
        const dictionary = data.dictionary;
        if (dictionary && dictionary.length > 0) {
            this.dictionaries.set(type.id, dictionary);
        }
        return this;
    }
}

//# sourceMappingURL=recordbatch.mjs.map

;// ../node_modules/apache-arrow/ipc/reader.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.











class RecordBatchReader extends ReadableInterop {
    constructor(impl) {
        super();
        this._impl = impl;
    }
    get closed() { return this._impl.closed; }
    get schema() { return this._impl.schema; }
    get autoDestroy() { return this._impl.autoDestroy; }
    get dictionaries() { return this._impl.dictionaries; }
    get numDictionaries() { return this._impl.numDictionaries; }
    get numRecordBatches() { return this._impl.numRecordBatches; }
    get footer() { return this._impl.isFile() ? this._impl.footer : null; }
    isSync() { return this._impl.isSync(); }
    isAsync() { return this._impl.isAsync(); }
    isFile() { return this._impl.isFile(); }
    isStream() { return this._impl.isStream(); }
    next() {
        return this._impl.next();
    }
    throw(value) {
        return this._impl.throw(value);
    }
    return(value) {
        return this._impl.return(value);
    }
    cancel() {
        return this._impl.cancel();
    }
    reset(schema) {
        this._impl.reset(schema);
        this._DOMStream = undefined;
        this._nodeStream = undefined;
        return this;
    }
    open(options) {
        const opening = this._impl.open(options);
        return isPromise(opening) ? opening.then(() => this) : this;
    }
    readRecordBatch(index) {
        return this._impl.isFile() ? this._impl.readRecordBatch(index) : null;
    }
    [Symbol.iterator]() {
        return this._impl[Symbol.iterator]();
    }
    [Symbol.asyncIterator]() {
        return this._impl[Symbol.asyncIterator]();
    }
    toDOMStream() {
        return adapters.toDOMStream((this.isSync()
            ? { [Symbol.iterator]: () => this }
            : { [Symbol.asyncIterator]: () => this }));
    }
    toNodeStream() {
        return adapters.toNodeStream((this.isSync()
            ? { [Symbol.iterator]: () => this }
            : { [Symbol.asyncIterator]: () => this }), { objectMode: true });
    }
    /** @nocollapse */
    // @ts-ignore
    static throughNode(options) {
        throw new Error(`"throughNode" not available in this environment`);
    }
    /** @nocollapse */
    static throughDOM(
    // @ts-ignore
    writableStrategy, 
    // @ts-ignore
    readableStrategy) {
        throw new Error(`"throughDOM" not available in this environment`);
    }
    /** @nocollapse */
    static from(source) {
        if (source instanceof RecordBatchReader) {
            return source;
        }
        else if (isArrowJSON(source)) {
            return fromArrowJSON(source);
        }
        else if (isFileHandle(source)) {
            return fromFileHandle(source);
        }
        else if (isPromise(source)) {
            return (async () => await RecordBatchReader.from(await source))();
        }
        else if (isFetchResponse(source) || isReadableDOMStream(source) || isReadableNodeStream(source) || isAsyncIterable(source)) {
            return fromAsyncByteStream(new AsyncByteStream(source));
        }
        return fromByteStream(new ByteStream(source));
    }
    /** @nocollapse */
    static readAll(source) {
        if (source instanceof RecordBatchReader) {
            return source.isSync() ? readAllSync(source) : readAllAsync(source);
        }
        else if (isArrowJSON(source) || ArrayBuffer.isView(source) || isIterable(source) || isIteratorResult(source)) {
            return readAllSync(source);
        }
        return readAllAsync(source);
    }
}
//
// Since TS is a structural type system, we define the following subclass stubs
// so that concrete types exist to associate with with the interfaces below.
//
// The implementation for each RecordBatchReader is hidden away in the set of
// `RecordBatchReaderImpl` classes in the second half of this file. This allows
// us to export a single RecordBatchReader class, and swap out the impl based
// on the io primitives or underlying arrow (JSON, file, or stream) at runtime.
//
// Async/await makes our job a bit harder, since it forces everything to be
// either fully sync or fully async. This is why the logic for the reader impls
// has been duplicated into both sync and async variants. Since the RBR
// delegates to its impl, an RBR with an AsyncRecordBatchFileReaderImpl for
// example will return async/await-friendly Promises, but one with a (sync)
// RecordBatchStreamReaderImpl will always return values. Nothing should be
// different about their logic, aside from the async handling. This is also why
// this code looks highly structured, as it should be nearly identical and easy
// to follow.
//
/** @ignore */
class RecordBatchStreamReader extends RecordBatchReader {
    constructor(_impl) {
        super(_impl);
        this._impl = _impl;
    }
    [Symbol.iterator]() { return this._impl[Symbol.iterator](); }
    async *[Symbol.asyncIterator]() { yield* this[Symbol.iterator](); }
}
/** @ignore */
class AsyncRecordBatchStreamReader extends RecordBatchReader {
    constructor(_impl) {
        super(_impl);
        this._impl = _impl;
    }
    [Symbol.iterator]() { throw new Error(`AsyncRecordBatchStreamReader is not Iterable`); }
    [Symbol.asyncIterator]() { return this._impl[Symbol.asyncIterator](); }
}
/** @ignore */
class RecordBatchFileReader extends RecordBatchStreamReader {
    constructor(_impl) {
        super(_impl);
        this._impl = _impl;
    }
}
/** @ignore */
class AsyncRecordBatchFileReader extends AsyncRecordBatchStreamReader {
    constructor(_impl) {
        super(_impl);
        this._impl = _impl;
    }
}
/** @ignore */
class RecordBatchReaderImpl {
    constructor(dictionaries = new Map()) {
        this.closed = false;
        this.autoDestroy = true;
        this._dictionaryIndex = 0;
        this._recordBatchIndex = 0;
        this.dictionaries = dictionaries;
    }
    get numDictionaries() { return this._dictionaryIndex; }
    get numRecordBatches() { return this._recordBatchIndex; }
    isSync() { return false; }
    isAsync() { return false; }
    isFile() { return false; }
    isStream() { return false; }
    reset(schema) {
        this._dictionaryIndex = 0;
        this._recordBatchIndex = 0;
        this.schema = schema;
        this.dictionaries = new Map();
        return this;
    }
    _loadRecordBatch(header, body) {
        return new recordbatch_RecordBatch(this.schema, header.length, this._loadVectors(header, body, this.schema.fields));
    }
    _loadDictionaryBatch(header, body) {
        const { id, isDelta, data } = header;
        const { dictionaries, schema } = this;
        const dictionary = dictionaries.get(id);
        if (isDelta || !dictionary) {
            const type = schema.dictionaries.get(id);
            return (dictionary && isDelta ? dictionary.concat(AbstractVector.new(this._loadVectors(data, body, [type])[0])) :
                AbstractVector.new(this._loadVectors(data, body, [type])[0]));
        }
        return dictionary;
    }
    _loadVectors(header, body, types) {
        return new VectorLoader(body, header.nodes, header.buffers, this.dictionaries).visitMany(types);
    }
}
/** @ignore */
class RecordBatchStreamReaderImpl extends RecordBatchReaderImpl {
    constructor(source, dictionaries) {
        super(dictionaries);
        this._reader = !isArrowJSON(source)
            ? new MessageReader(this._handle = source)
            : new JSONMessageReader(this._handle = source);
    }
    isSync() { return true; }
    isStream() { return true; }
    [Symbol.iterator]() {
        return this;
    }
    cancel() {
        if (!this.closed && (this.closed = true)) {
            this.reset()._reader.return();
            this._reader = null;
            this.dictionaries = null;
        }
    }
    open(options) {
        if (!this.closed) {
            this.autoDestroy = shouldAutoDestroy(this, options);
            if (!(this.schema || (this.schema = this._reader.readSchema()))) {
                this.cancel();
            }
        }
        return this;
    }
    throw(value) {
        if (!this.closed && this.autoDestroy && (this.closed = true)) {
            return this.reset()._reader.throw(value);
        }
        return ITERATOR_DONE;
    }
    return(value) {
        if (!this.closed && this.autoDestroy && (this.closed = true)) {
            return this.reset()._reader.return(value);
        }
        return ITERATOR_DONE;
    }
    next() {
        if (this.closed) {
            return ITERATOR_DONE;
        }
        let message, { _reader: reader } = this;
        while (message = this._readNextMessageAndValidate()) {
            if (message.isSchema()) {
                this.reset(message.header());
            }
            else if (message.isRecordBatch()) {
                this._recordBatchIndex++;
                const header = message.header();
                const buffer = reader.readMessageBody(message.bodyLength);
                const recordBatch = this._loadRecordBatch(header, buffer);
                return { done: false, value: recordBatch };
            }
            else if (message.isDictionaryBatch()) {
                this._dictionaryIndex++;
                const header = message.header();
                const buffer = reader.readMessageBody(message.bodyLength);
                const vector = this._loadDictionaryBatch(header, buffer);
                this.dictionaries.set(header.id, vector);
            }
        }
        if (this.schema && this._recordBatchIndex === 0) {
            this._recordBatchIndex++;
            return { done: false, value: new _InternalEmptyPlaceholderRecordBatch(this.schema) };
        }
        return this.return();
    }
    _readNextMessageAndValidate(type) {
        return this._reader.readMessage(type);
    }
}
/** @ignore */
class AsyncRecordBatchStreamReaderImpl extends RecordBatchReaderImpl {
    constructor(source, dictionaries) {
        super(dictionaries);
        this._reader = new AsyncMessageReader(this._handle = source);
    }
    isAsync() { return true; }
    isStream() { return true; }
    [Symbol.asyncIterator]() {
        return this;
    }
    async cancel() {
        if (!this.closed && (this.closed = true)) {
            await this.reset()._reader.return();
            this._reader = null;
            this.dictionaries = null;
        }
    }
    async open(options) {
        if (!this.closed) {
            this.autoDestroy = shouldAutoDestroy(this, options);
            if (!(this.schema || (this.schema = (await this._reader.readSchema())))) {
                await this.cancel();
            }
        }
        return this;
    }
    async throw(value) {
        if (!this.closed && this.autoDestroy && (this.closed = true)) {
            return await this.reset()._reader.throw(value);
        }
        return ITERATOR_DONE;
    }
    async return(value) {
        if (!this.closed && this.autoDestroy && (this.closed = true)) {
            return await this.reset()._reader.return(value);
        }
        return ITERATOR_DONE;
    }
    async next() {
        if (this.closed) {
            return ITERATOR_DONE;
        }
        let message, { _reader: reader } = this;
        while (message = await this._readNextMessageAndValidate()) {
            if (message.isSchema()) {
                await this.reset(message.header());
            }
            else if (message.isRecordBatch()) {
                this._recordBatchIndex++;
                const header = message.header();
                const buffer = await reader.readMessageBody(message.bodyLength);
                const recordBatch = this._loadRecordBatch(header, buffer);
                return { done: false, value: recordBatch };
            }
            else if (message.isDictionaryBatch()) {
                this._dictionaryIndex++;
                const header = message.header();
                const buffer = await reader.readMessageBody(message.bodyLength);
                const vector = this._loadDictionaryBatch(header, buffer);
                this.dictionaries.set(header.id, vector);
            }
        }
        if (this.schema && this._recordBatchIndex === 0) {
            this._recordBatchIndex++;
            return { done: false, value: new _InternalEmptyPlaceholderRecordBatch(this.schema) };
        }
        return await this.return();
    }
    async _readNextMessageAndValidate(type) {
        return await this._reader.readMessage(type);
    }
}
/** @ignore */
class RecordBatchFileReaderImpl extends RecordBatchStreamReaderImpl {
    constructor(source, dictionaries) {
        super(source instanceof RandomAccessFile ? source : new RandomAccessFile(source), dictionaries);
    }
    get footer() { return this._footer; }
    get numDictionaries() { return this._footer ? this._footer.numDictionaries : 0; }
    get numRecordBatches() { return this._footer ? this._footer.numRecordBatches : 0; }
    isSync() { return true; }
    isFile() { return true; }
    open(options) {
        if (!this.closed && !this._footer) {
            this.schema = (this._footer = this._readFooter()).schema;
            for (const block of this._footer.dictionaryBatches()) {
                block && this._readDictionaryBatch(this._dictionaryIndex++);
            }
        }
        return super.open(options);
    }
    readRecordBatch(index) {
        if (this.closed) {
            return null;
        }
        if (!this._footer) {
            this.open();
        }
        const block = this._footer && this._footer.getRecordBatch(index);
        if (block && this._handle.seek(block.offset)) {
            const message = this._reader.readMessage(MessageHeader.RecordBatch);
            if (message && message.isRecordBatch()) {
                const header = message.header();
                const buffer = this._reader.readMessageBody(message.bodyLength);
                const recordBatch = this._loadRecordBatch(header, buffer);
                return recordBatch;
            }
        }
        return null;
    }
    _readDictionaryBatch(index) {
        const block = this._footer && this._footer.getDictionaryBatch(index);
        if (block && this._handle.seek(block.offset)) {
            const message = this._reader.readMessage(MessageHeader.DictionaryBatch);
            if (message && message.isDictionaryBatch()) {
                const header = message.header();
                const buffer = this._reader.readMessageBody(message.bodyLength);
                const vector = this._loadDictionaryBatch(header, buffer);
                this.dictionaries.set(header.id, vector);
            }
        }
    }
    _readFooter() {
        const { _handle } = this;
        const offset = _handle.size - magicAndPadding;
        const length = _handle.readInt32(offset);
        const buffer = _handle.readAt(offset - length, length);
        return Footer_.decode(buffer);
    }
    _readNextMessageAndValidate(type) {
        if (!this._footer) {
            this.open();
        }
        if (this._footer && this._recordBatchIndex < this.numRecordBatches) {
            const block = this._footer && this._footer.getRecordBatch(this._recordBatchIndex);
            if (block && this._handle.seek(block.offset)) {
                return this._reader.readMessage(type);
            }
        }
        return null;
    }
}
/** @ignore */
class AsyncRecordBatchFileReaderImpl extends AsyncRecordBatchStreamReaderImpl {
    constructor(source, ...rest) {
        const byteLength = typeof rest[0] !== 'number' ? rest.shift() : undefined;
        const dictionaries = rest[0] instanceof Map ? rest.shift() : undefined;
        super(source instanceof AsyncRandomAccessFile ? source : new AsyncRandomAccessFile(source, byteLength), dictionaries);
    }
    get footer() { return this._footer; }
    get numDictionaries() { return this._footer ? this._footer.numDictionaries : 0; }
    get numRecordBatches() { return this._footer ? this._footer.numRecordBatches : 0; }
    isFile() { return true; }
    isAsync() { return true; }
    async open(options) {
        if (!this.closed && !this._footer) {
            this.schema = (this._footer = await this._readFooter()).schema;
            for (const block of this._footer.dictionaryBatches()) {
                block && await this._readDictionaryBatch(this._dictionaryIndex++);
            }
        }
        return await super.open(options);
    }
    async readRecordBatch(index) {
        if (this.closed) {
            return null;
        }
        if (!this._footer) {
            await this.open();
        }
        const block = this._footer && this._footer.getRecordBatch(index);
        if (block && (await this._handle.seek(block.offset))) {
            const message = await this._reader.readMessage(MessageHeader.RecordBatch);
            if (message && message.isRecordBatch()) {
                const header = message.header();
                const buffer = await this._reader.readMessageBody(message.bodyLength);
                const recordBatch = this._loadRecordBatch(header, buffer);
                return recordBatch;
            }
        }
        return null;
    }
    async _readDictionaryBatch(index) {
        const block = this._footer && this._footer.getDictionaryBatch(index);
        if (block && (await this._handle.seek(block.offset))) {
            const message = await this._reader.readMessage(MessageHeader.DictionaryBatch);
            if (message && message.isDictionaryBatch()) {
                const header = message.header();
                const buffer = await this._reader.readMessageBody(message.bodyLength);
                const vector = this._loadDictionaryBatch(header, buffer);
                this.dictionaries.set(header.id, vector);
            }
        }
    }
    async _readFooter() {
        const { _handle } = this;
        _handle._pending && await _handle._pending;
        const offset = _handle.size - magicAndPadding;
        const length = await _handle.readInt32(offset);
        const buffer = await _handle.readAt(offset - length, length);
        return Footer_.decode(buffer);
    }
    async _readNextMessageAndValidate(type) {
        if (!this._footer) {
            await this.open();
        }
        if (this._footer && this._recordBatchIndex < this.numRecordBatches) {
            const block = this._footer.getRecordBatch(this._recordBatchIndex);
            if (block && await this._handle.seek(block.offset)) {
                return await this._reader.readMessage(type);
            }
        }
        return null;
    }
}
/** @ignore */
class RecordBatchJSONReaderImpl extends RecordBatchStreamReaderImpl {
    constructor(source, dictionaries) {
        super(source, dictionaries);
    }
    _loadVectors(header, body, types) {
        return new JSONVectorLoader(body, header.nodes, header.buffers, this.dictionaries).visitMany(types);
    }
}
//
// Define some helper functions and static implementations down here. There's
// a bit of branching in the static methods that can lead to the same routines
// being executed, so we've broken those out here for readability.
//
/** @ignore */
function shouldAutoDestroy(self, options) {
    return options && (typeof options['autoDestroy'] === 'boolean') ? options['autoDestroy'] : self['autoDestroy'];
}
/** @ignore */
function* readAllSync(source) {
    const reader = RecordBatchReader.from(source);
    try {
        if (!reader.open({ autoDestroy: false }).closed) {
            do {
                yield reader;
            } while (!(reader.reset().open()).closed);
        }
    }
    finally {
        reader.cancel();
    }
}
/** @ignore */
async function* readAllAsync(source) {
    const reader = await RecordBatchReader.from(source);
    try {
        if (!(await reader.open({ autoDestroy: false })).closed) {
            do {
                yield reader;
            } while (!(await reader.reset().open()).closed);
        }
    }
    finally {
        await reader.cancel();
    }
}
/** @ignore */
function fromArrowJSON(source) {
    return new RecordBatchStreamReader(new RecordBatchJSONReaderImpl(source));
}
/** @ignore */
function fromByteStream(source) {
    const bytes = source.peek((magicLength + 7) & ~7);
    return bytes && bytes.byteLength >= 4 ? !checkForMagicArrowString(bytes)
        ? new RecordBatchStreamReader(new RecordBatchStreamReaderImpl(source))
        : new RecordBatchFileReader(new RecordBatchFileReaderImpl(source.read()))
        : new RecordBatchStreamReader(new RecordBatchStreamReaderImpl(function* () { }()));
}
/** @ignore */
async function fromAsyncByteStream(source) {
    const bytes = await source.peek((magicLength + 7) & ~7);
    return bytes && bytes.byteLength >= 4 ? !checkForMagicArrowString(bytes)
        ? new AsyncRecordBatchStreamReader(new AsyncRecordBatchStreamReaderImpl(source))
        : new RecordBatchFileReader(new RecordBatchFileReaderImpl(await source.read()))
        : new AsyncRecordBatchStreamReader(new AsyncRecordBatchStreamReaderImpl(async function* () { }()));
}
/** @ignore */
async function fromFileHandle(source) {
    const { size } = await source.stat();
    const file = new AsyncRandomAccessFile(source, size);
    if (size >= magicX2AndPadding) {
        if (checkForMagicArrowString(await file.readAt(0, (magicLength + 7) & ~7))) {
            return new AsyncRecordBatchFileReader(new AsyncRecordBatchFileReaderImpl(file));
        }
    }
    return new AsyncRecordBatchStreamReader(new AsyncRecordBatchStreamReaderImpl(file));
}

//# sourceMappingURL=reader.mjs.map

;// ../node_modules/apache-arrow/io/whatwg/iterable.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.


/** @ignore */
function toDOMStream(source, options) {
    if (isAsyncIterable(source)) {
        return asyncIterableAsReadableDOMStream(source, options);
    }
    if (isIterable(source)) {
        return iterableAsReadableDOMStream(source, options);
    }
    /* istanbul ignore next */
    throw new Error(`toDOMStream() must be called with an Iterable or AsyncIterable`);
}
/** @ignore */
function iterableAsReadableDOMStream(source, options) {
    let it = null;
    const bm = (options && options.type === 'bytes') || false;
    const hwm = options && options.highWaterMark || (2 ** 24);
    return new ReadableStream({
        ...options,
        start(controller) { next(controller, it || (it = source[Symbol.iterator]())); },
        pull(controller) { it ? (next(controller, it)) : controller.close(); },
        cancel() { (it && (it.return && it.return()) || true) && (it = null); }
    }, { highWaterMark: bm ? hwm : undefined, ...options });
    function next(controller, it) {
        let buf;
        let r = null;
        let size = controller.desiredSize || null;
        while (!(r = it.next(bm ? size : null)).done) {
            if (ArrayBuffer.isView(r.value) && (buf = toUint8Array(r.value))) {
                size != null && bm && (size = size - buf.byteLength + 1);
                r.value = buf;
            }
            controller.enqueue(r.value);
            if (size != null && --size <= 0) {
                return;
            }
        }
        controller.close();
    }
}
/** @ignore */
function asyncIterableAsReadableDOMStream(source, options) {
    let it = null;
    const bm = (options && options.type === 'bytes') || false;
    const hwm = options && options.highWaterMark || (2 ** 24);
    return new ReadableStream({
        ...options,
        async start(controller) { await next(controller, it || (it = source[Symbol.asyncIterator]())); },
        async pull(controller) { it ? (await next(controller, it)) : controller.close(); },
        async cancel() { (it && (it.return && await it.return()) || true) && (it = null); },
    }, { highWaterMark: bm ? hwm : undefined, ...options });
    async function next(controller, it) {
        let buf;
        let r = null;
        let size = controller.desiredSize || null;
        while (!(r = await it.next(bm ? size : null)).done) {
            if (ArrayBuffer.isView(r.value) && (buf = toUint8Array(r.value))) {
                size != null && bm && (size = size - buf.byteLength + 1);
                r.value = buf;
            }
            controller.enqueue(r.value);
            if (size != null && --size <= 0) {
                return;
            }
        }
        controller.close();
    }
}

//# sourceMappingURL=iterable.mjs.map

;// ../node_modules/apache-arrow/io/whatwg/builder.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.

/** @ignore */
function builderThroughDOMStream(options) {
    return new BuilderTransform(options);
}
/** @ignore */
class BuilderTransform {
    constructor(options) {
        // Access properties by string indexers to defeat closure compiler
        this._numChunks = 0;
        this._finished = false;
        this._bufferedSize = 0;
        const { ['readableStrategy']: readableStrategy, ['writableStrategy']: writableStrategy, ['queueingStrategy']: queueingStrategy = 'count', ...builderOptions } = options;
        this._controller = null;
        this._builder = Builder.new(builderOptions);
        this._getSize = queueingStrategy !== 'bytes' ? chunkLength : chunkByteLength;
        const { ['highWaterMark']: readableHighWaterMark = queueingStrategy === 'bytes' ? 2 ** 14 : 1000 } = { ...readableStrategy };
        const { ['highWaterMark']: writableHighWaterMark = queueingStrategy === 'bytes' ? 2 ** 14 : 1000 } = { ...writableStrategy };
        this['readable'] = new ReadableStream({
            ['cancel']: () => { this._builder.clear(); },
            ['pull']: (c) => { this._maybeFlush(this._builder, this._controller = c); },
            ['start']: (c) => { this._maybeFlush(this._builder, this._controller = c); },
        }, {
            'highWaterMark': readableHighWaterMark,
            'size': queueingStrategy !== 'bytes' ? chunkLength : chunkByteLength,
        });
        this['writable'] = new WritableStream({
            ['abort']: () => { this._builder.clear(); },
            ['write']: () => { this._maybeFlush(this._builder, this._controller); },
            ['close']: () => { this._maybeFlush(this._builder.finish(), this._controller); },
        }, {
            'highWaterMark': writableHighWaterMark,
            'size': (value) => this._writeValueAndReturnChunkSize(value),
        });
    }
    _writeValueAndReturnChunkSize(value) {
        const bufferedSize = this._bufferedSize;
        this._bufferedSize = this._getSize(this._builder.append(value));
        return this._bufferedSize - bufferedSize;
    }
    _maybeFlush(builder, controller) {
        if (controller === null) {
            return;
        }
        if (this._bufferedSize >= controller.desiredSize) {
            ++this._numChunks && this._enqueue(controller, builder.toVector());
        }
        if (builder.finished) {
            if (builder.length > 0 || this._numChunks === 0) {
                ++this._numChunks && this._enqueue(controller, builder.toVector());
            }
            if (!this._finished && (this._finished = true)) {
                this._enqueue(controller, null);
            }
        }
    }
    _enqueue(controller, chunk) {
        this._bufferedSize = 0;
        this._controller = null;
        chunk === null ? controller.close() : controller.enqueue(chunk);
    }
}
/** @ignore */ const chunkLength = (chunk) => chunk.length;
/** @ignore */ const chunkByteLength = (chunk) => chunk.byteLength;

//# sourceMappingURL=builder.mjs.map

;// ../node_modules/apache-arrow/io/whatwg/reader.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.


/** @ignore */
function recordBatchReaderThroughDOMStream(writableStrategy, readableStrategy) {
    const queue = new AsyncByteQueue();
    let reader = null;
    const readable = new ReadableStream({
        async cancel() { await queue.close(); },
        async start(controller) { await next(controller, reader || (reader = await open())); },
        async pull(controller) { reader ? await next(controller, reader) : controller.close(); }
    });
    return { writable: new WritableStream(queue, { 'highWaterMark': 2 ** 14, ...writableStrategy }), readable };
    async function open() {
        return await (await RecordBatchReader.from(queue)).open(readableStrategy);
    }
    async function next(controller, reader) {
        let size = controller.desiredSize;
        let r = null;
        while (!(r = await reader.next()).done) {
            controller.enqueue(r.value);
            if (size != null && --size <= 0) {
                return;
            }
        }
        controller.close();
    }
}

//# sourceMappingURL=reader.mjs.map

;// ../node_modules/apache-arrow/io/whatwg/writer.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.

/** @ignore */
function recordBatchWriterThroughDOMStream(writableStrategy, readableStrategy) {
    const writer = new this(writableStrategy);
    const reader = new AsyncByteStream(writer);
    const readable = new ReadableStream({
        type: 'bytes',
        async cancel() { await reader.cancel(); },
        async pull(controller) { await next(controller); },
        async start(controller) { await next(controller); },
    }, { 'highWaterMark': 2 ** 14, ...readableStrategy });
    return { writable: new WritableStream(writer, writableStrategy), readable };
    async function next(controller) {
        let buf = null;
        let size = controller.desiredSize;
        while (buf = await reader.read(size || null)) {
            controller.enqueue(buf);
            if (size != null && (size -= buf.byteLength) <= 0) {
                return;
            }
        }
        controller.close();
    }
}

//# sourceMappingURL=writer.mjs.map

;// ../node_modules/apache-arrow/compute/predicate.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.

/** @ignore */
class Value {
    eq(other) {
        if (!(other instanceof Value)) {
            other = new predicate_Literal(other);
        }
        return new Equals(this, other);
    }
    le(other) {
        if (!(other instanceof Value)) {
            other = new predicate_Literal(other);
        }
        return new LTeq(this, other);
    }
    ge(other) {
        if (!(other instanceof Value)) {
            other = new predicate_Literal(other);
        }
        return new GTeq(this, other);
    }
    lt(other) {
        return new Not(this.ge(other));
    }
    gt(other) {
        return new Not(this.le(other));
    }
    ne(other) {
        return new Not(this.eq(other));
    }
}
/** @ignore */
class predicate_Literal extends Value {
    constructor(v) {
        super();
        this.v = v;
    }
}
/** @ignore */
class Col extends Value {
    constructor(name) {
        super();
        this.name = name;
    }
    bind(batch) {
        if (!this.colidx) {
            // Assume column index doesn't change between calls to bind
            //this.colidx = cols.findIndex(v => v.name.indexOf(this.name) != -1);
            this.colidx = -1;
            const fields = batch.schema.fields;
            for (let idx = -1; ++idx < fields.length;) {
                if (fields[idx].name === this.name) {
                    this.colidx = idx;
                    break;
                }
            }
            if (this.colidx < 0) {
                throw new Error(`Failed to bind Col "${this.name}"`);
            }
        }
        const vec = this.vector = batch.getChildAt(this.colidx);
        return (idx) => vec.get(idx);
    }
}
/** @ignore */
class Predicate {
    and(...expr) { return new And(this, ...expr); }
    or(...expr) { return new Or(this, ...expr); }
    not() { return new Not(this); }
}
/** @ignore */
class ComparisonPredicate extends Predicate {
    constructor(left, right) {
        super();
        this.left = left;
        this.right = right;
    }
    bind(batch) {
        if (this.left instanceof predicate_Literal) {
            if (this.right instanceof predicate_Literal) {
                return this._bindLitLit(batch, this.left, this.right);
            }
            else { // right is a Col
                return this._bindLitCol(batch, this.left, this.right);
            }
        }
        else { // left is a Col
            if (this.right instanceof predicate_Literal) {
                return this._bindColLit(batch, this.left, this.right);
            }
            else { // right is a Col
                return this._bindColCol(batch, this.left, this.right);
            }
        }
    }
}
/** @ignore */
class CombinationPredicate extends Predicate {
    constructor(...children) {
        super();
        this.children = children;
    }
}
// add children to prototype so it doesn't get mangled in es2015/umd
CombinationPredicate.prototype.children = Object.freeze([]); // freeze for safety
/** @ignore */
class And extends CombinationPredicate {
    constructor(...children) {
        // Flatten any Ands
        children = children.reduce((accum, p) => {
            return accum.concat(p instanceof And ? p.children : p);
        }, []);
        super(...children);
    }
    bind(batch) {
        const bound = this.children.map((p) => p.bind(batch));
        return (idx, batch) => bound.every((p) => p(idx, batch));
    }
}
/** @ignore */
class Or extends CombinationPredicate {
    constructor(...children) {
        // Flatten any Ors
        children = children.reduce((accum, p) => {
            return accum.concat(p instanceof Or ? p.children : p);
        }, []);
        super(...children);
    }
    bind(batch) {
        const bound = this.children.map((p) => p.bind(batch));
        return (idx, batch) => bound.some((p) => p(idx, batch));
    }
}
/** @ignore */
class Equals extends ComparisonPredicate {
    _bindLitLit(_batch, left, right) {
        const rtrn = left.v == right.v;
        return () => rtrn;
    }
    _bindColCol(batch, left, right) {
        const left_func = left.bind(batch);
        const right_func = right.bind(batch);
        return (idx, batch) => left_func(idx, batch) == right_func(idx, batch);
    }
    _bindColLit(batch, col, lit) {
        const col_func = col.bind(batch);
        if (col.vector instanceof DictionaryVector) {
            let key;
            const vector = col.vector;
            if (vector.dictionary !== this.lastDictionary) {
                key = vector.reverseLookup(lit.v);
                this.lastDictionary = vector.dictionary;
                this.lastKey = key;
            }
            else {
                key = this.lastKey;
            }
            if (key === -1) {
                // the value doesn't exist in the dictionary - always return
                // false
                // TODO: special-case of PredicateFunc that encapsulates this
                // "always false" behavior. That way filtering operations don't
                // have to bother checking
                return () => false;
            }
            else {
                return (idx) => {
                    return vector.getKey(idx) === key;
                };
            }
        }
        else {
            return (idx, cols) => col_func(idx, cols) == lit.v;
        }
    }
    _bindLitCol(batch, lit, col) {
        // Equals is commutative
        return this._bindColLit(batch, col, lit);
    }
}
/** @ignore */
class LTeq extends ComparisonPredicate {
    _bindLitLit(_batch, left, right) {
        const rtrn = left.v <= right.v;
        return () => rtrn;
    }
    _bindColCol(batch, left, right) {
        const left_func = left.bind(batch);
        const right_func = right.bind(batch);
        return (idx, cols) => left_func(idx, cols) <= right_func(idx, cols);
    }
    _bindColLit(batch, col, lit) {
        const col_func = col.bind(batch);
        return (idx, cols) => col_func(idx, cols) <= lit.v;
    }
    _bindLitCol(batch, lit, col) {
        const col_func = col.bind(batch);
        return (idx, cols) => lit.v <= col_func(idx, cols);
    }
}
/** @ignore */
class GTeq extends ComparisonPredicate {
    _bindLitLit(_batch, left, right) {
        const rtrn = left.v >= right.v;
        return () => rtrn;
    }
    _bindColCol(batch, left, right) {
        const left_func = left.bind(batch);
        const right_func = right.bind(batch);
        return (idx, cols) => left_func(idx, cols) >= right_func(idx, cols);
    }
    _bindColLit(batch, col, lit) {
        const col_func = col.bind(batch);
        return (idx, cols) => col_func(idx, cols) >= lit.v;
    }
    _bindLitCol(batch, lit, col) {
        const col_func = col.bind(batch);
        return (idx, cols) => lit.v >= col_func(idx, cols);
    }
}
/** @ignore */
class Not extends Predicate {
    constructor(child) {
        super();
        this.child = child;
    }
    bind(batch) {
        const func = this.child.bind(batch);
        return (idx, batch) => !func(idx, batch);
    }
}
/** @ignore */
class CustomPredicate extends Predicate {
    constructor(next, bind_) {
        super();
        this.next = next;
        this.bind_ = bind_;
    }
    bind(batch) {
        this.bind_(batch);
        return this.next;
    }
}
function lit(v) { return new predicate_Literal(v); }
function col(n) { return new Col(n); }
function and(...p) { return new And(...p); }
function or(...p) { return new Or(...p); }
function custom(next, bind) {
    return new CustomPredicate(next, bind);
}

//# sourceMappingURL=predicate.mjs.map

;// ../node_modules/apache-arrow/compute/dataframe.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.






table_Table.prototype.countBy = function (name) { return new DataFrame(this.chunks).countBy(name); };
table_Table.prototype.scan = function (next, bind) { return new DataFrame(this.chunks).scan(next, bind); };
table_Table.prototype.scanReverse = function (next, bind) { return new DataFrame(this.chunks).scanReverse(next, bind); };
table_Table.prototype.filter = function (predicate) { return new DataFrame(this.chunks).filter(predicate); };
class DataFrame extends table_Table {
    filter(predicate) {
        return new FilteredDataFrame(this.chunks, predicate);
    }
    scan(next, bind) {
        const batches = this.chunks, numBatches = batches.length;
        for (let batchIndex = -1; ++batchIndex < numBatches;) {
            // load batches
            const batch = batches[batchIndex];
            if (bind) {
                bind(batch);
            }
            // yield all indices
            for (let index = -1, numRows = batch.length; ++index < numRows;) {
                next(index, batch);
            }
        }
    }
    scanReverse(next, bind) {
        const batches = this.chunks, numBatches = batches.length;
        for (let batchIndex = numBatches; --batchIndex >= 0;) {
            // load batches
            const batch = batches[batchIndex];
            if (bind) {
                bind(batch);
            }
            // yield all indices
            for (let index = batch.length; --index >= 0;) {
                next(index, batch);
            }
        }
    }
    countBy(name) {
        const batches = this.chunks, numBatches = batches.length;
        const count_by = typeof name === 'string' ? new Col(name) : name;
        // Assume that all dictionary batches are deltas, which means that the
        // last record batch has the most complete dictionary
        count_by.bind(batches[numBatches - 1]);
        const vector = count_by.vector;
        if (!DataType.isDictionary(vector.type)) {
            throw new Error('countBy currently only supports dictionary-encoded columns');
        }
        const countByteLength = Math.ceil(Math.log(vector.length) / Math.log(256));
        const CountsArrayType = countByteLength == 4 ? Uint32Array :
            countByteLength >= 2 ? Uint16Array : Uint8Array;
        const counts = new CountsArrayType(vector.dictionary.length);
        for (let batchIndex = -1; ++batchIndex < numBatches;) {
            // load batches
            const batch = batches[batchIndex];
            // rebind the countBy Col
            count_by.bind(batch);
            const keys = count_by.vector.indices;
            // yield all indices
            for (let index = -1, numRows = batch.length; ++index < numRows;) {
                let key = keys.get(index);
                if (key !== null) {
                    counts[key]++;
                }
            }
        }
        return new CountByResult(vector.dictionary, IntVector.from(counts));
    }
}
/** @ignore */
class CountByResult extends table_Table {
    constructor(values, counts) {
        const schema = new Schema([
            new Field('values', values.type),
            new Field('counts', counts.type)
        ]);
        super(new recordbatch_RecordBatch(schema, counts.length, [values, counts]));
    }
    toJSON() {
        const values = this.getColumnAt(0);
        const counts = this.getColumnAt(1);
        const result = {};
        for (let i = -1; ++i < this.length;) {
            result[values.get(i)] = counts.get(i);
        }
        return result;
    }
}
/** @ignore */
class FilteredDataFrame extends DataFrame {
    constructor(batches, predicate) {
        super(batches);
        this._predicate = predicate;
    }
    scan(next, bind) {
        // inlined version of this:
        // this.parent.scan((idx, columns) => {
        //     if (this.predicate(idx, columns)) next(idx, columns);
        // });
        const batches = this._chunks;
        const numBatches = batches.length;
        for (let batchIndex = -1; ++batchIndex < numBatches;) {
            // load batches
            const batch = batches[batchIndex];
            const predicate = this._predicate.bind(batch);
            let isBound = false;
            // yield all indices
            for (let index = -1, numRows = batch.length; ++index < numRows;) {
                if (predicate(index, batch)) {
                    // bind batches lazily - if predicate doesn't match anything
                    // in the batch we don't need to call bind on the batch
                    if (bind && !isBound) {
                        bind(batch);
                        isBound = true;
                    }
                    next(index, batch);
                }
            }
        }
    }
    scanReverse(next, bind) {
        const batches = this._chunks;
        const numBatches = batches.length;
        for (let batchIndex = numBatches; --batchIndex >= 0;) {
            // load batches
            const batch = batches[batchIndex];
            const predicate = this._predicate.bind(batch);
            let isBound = false;
            // yield all indices
            for (let index = batch.length; --index >= 0;) {
                if (predicate(index, batch)) {
                    // bind batches lazily - if predicate doesn't match anything
                    // in the batch we don't need to call bind on the batch
                    if (bind && !isBound) {
                        bind(batch);
                        isBound = true;
                    }
                    next(index, batch);
                }
            }
        }
    }
    count() {
        // inlined version of this:
        // let sum = 0;
        // this.parent.scan((idx, columns) => {
        //     if (this.predicate(idx, columns)) ++sum;
        // });
        // return sum;
        let sum = 0;
        const batches = this._chunks;
        const numBatches = batches.length;
        for (let batchIndex = -1; ++batchIndex < numBatches;) {
            // load batches
            const batch = batches[batchIndex];
            const predicate = this._predicate.bind(batch);
            // yield all indices
            for (let index = -1, numRows = batch.length; ++index < numRows;) {
                if (predicate(index, batch)) {
                    ++sum;
                }
            }
        }
        return sum;
    }
    *[Symbol.iterator]() {
        // inlined version of this:
        // this.parent.scan((idx, columns) => {
        //     if (this.predicate(idx, columns)) next(idx, columns);
        // });
        const batches = this._chunks;
        const numBatches = batches.length;
        for (let batchIndex = -1; ++batchIndex < numBatches;) {
            // load batches
            const batch = batches[batchIndex];
            // TODO: bind batches lazily
            // If predicate doesn't match anything in the batch we don't need
            // to bind the callback
            const predicate = this._predicate.bind(batch);
            // yield all indices
            for (let index = -1, numRows = batch.length; ++index < numRows;) {
                if (predicate(index, batch)) {
                    yield batch.get(index);
                }
            }
        }
    }
    filter(predicate) {
        return new FilteredDataFrame(this._chunks, this._predicate.and(predicate));
    }
    countBy(name) {
        const batches = this._chunks, numBatches = batches.length;
        const count_by = typeof name === 'string' ? new Col(name) : name;
        // Assume that all dictionary batches are deltas, which means that the
        // last record batch has the most complete dictionary
        count_by.bind(batches[numBatches - 1]);
        const vector = count_by.vector;
        if (!DataType.isDictionary(vector.type)) {
            throw new Error('countBy currently only supports dictionary-encoded columns');
        }
        const countByteLength = Math.ceil(Math.log(vector.length) / Math.log(256));
        const CountsArrayType = countByteLength == 4 ? Uint32Array :
            countByteLength >= 2 ? Uint16Array : Uint8Array;
        const counts = new CountsArrayType(vector.dictionary.length);
        for (let batchIndex = -1; ++batchIndex < numBatches;) {
            // load batches
            const batch = batches[batchIndex];
            const predicate = this._predicate.bind(batch);
            // rebind the countBy Col
            count_by.bind(batch);
            const keys = count_by.vector.indices;
            // yield all indices
            for (let index = -1, numRows = batch.length; ++index < numRows;) {
                let key = keys.get(index);
                if (key !== null && predicate(index, batch)) {
                    counts[key]++;
                }
            }
        }
        return new CountByResult(vector.dictionary, IntVector.from(counts));
    }
}

//# sourceMappingURL=dataframe.mjs.map

;// ../node_modules/apache-arrow/Arrow.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.
























/** @ignore */
const util = {
    ...bn_namespaceObject,
    ...util_int_namespaceObject,
    ...bit_namespaceObject,
    ...util_math_namespaceObject,
    ...buffer_namespaceObject,
    ...util_vector_namespaceObject
};

//# sourceMappingURL=Arrow.mjs.map

;// ../node_modules/apache-arrow/Arrow.dom.mjs
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.








adapters.toDOMStream = toDOMStream;
Builder['throughDOM'] = builderThroughDOMStream;
RecordBatchReader['throughDOM'] = recordBatchReaderThroughDOMStream;
RecordBatchWriter['throughDOM'] = recordBatchWriterThroughDOMStream;


//# sourceMappingURL=Arrow.dom.mjs.map

;// ../node_modules/arquero/src/arrow/arrow-types.js
// Hardwire Arrow type ids to sidestep dependency
// https://github.com/apache/arrow/blob/master/js/src/enum.ts

/* harmony default export */ const arrow_types = ({
  /** The default placeholder type */
  NONE: 0,
  /** A NULL type having no physical storage */
  Null: 1,
  /** Signed or unsigned 8, 16, 32, or 64-bit little-endian integer */
  Int: 2,
  /** 2, 4, or 8-byte floating point value */
  Float: 3,
  /** Variable-length bytes (no guarantee of UTF8-ness) */
  Binary: 4,
  /** UTF8 variable-length string as List<Char> */
  Utf8: 5,
  /** Boolean as 1 bit, LSB bit-packed ordering */
  Bool: 6,
  /** Precision-and-scale-based decimal type. Storage type depends on the parameters. */
  Decimal: 7,
  /** int32_t days or int64_t milliseconds since the UNIX epoch */
  Date: 8,
  /** Time as signed 32 or 64-bit integer, representing either seconds, milliseconds, microseconds, or nanoseconds since midnight since midnight */
  Time: 9,
  /** Exact timestamp encoded with int64 since UNIX epoch (Default unit millisecond) */
  Timestamp: 10,
  /** YEAR_MONTH or DAY_TIME interval in SQL style */
  Interval: 11,
  /** A list of some logical data type */
  List: 12,
  /** Struct of logical types */
  Struct: 13,
  /** Union of logical types */
  Union: 14,
  /** Fixed-size binary. Each value occupies the same number of bytes */
  FixedSizeBinary: 15,
  /** Fixed-size list. Each value occupies the same number of bytes */
  FixedSizeList: 16,
  /** Map of named logical types */
  Map: 17,

  /** Dictionary aka Category type */
  Dictionary: -1,
  Int8: -2,
  Int16: -3,
  Int32: -4,
  Int64: -5,
  Uint8: -6,
  Uint16: -7,
  Uint32: -8,
  Uint64: -9,
  Float16: -10,
  Float32: -11,
  Float64: -12,
  DateDay: -13,
  DateMillisecond: -14,
  TimestampSecond: -15,
  TimestampMillisecond: -16,
  TimestampMicrosecond: -17,
  TimestampNanosecond: -18,
  TimeSecond: -19,
  TimeMillisecond: -20,
  TimeMicrosecond: -21,
  TimeNanosecond: -22,
  DenseUnion: -23,
  SparseUnion: -24,
  IntervalDayTime: -25,
  IntervalYearMonth: -26
});
;// ../node_modules/arquero/src/arrow/builder/util.js


function ceil64Bytes(length, bpe = 1) {
  return ((((length * bpe) + 63) & ~63) || 64) / bpe;
}

function util_array(Type, length, bpe = Type.BYTES_PER_ELEMENT) {
  return new Type(ceil64Bytes(length, bpe));
}

function arrowData(d) {
  return d instanceof Data
    ? d
    : Data.new(d.type, 0, d.length, d.nulls, d.buffers, null, d.dict);
}

function arrowVector(data) {
  return AbstractVector.new(arrowData(data));
}

const encoder = new TextEncoder();

function encode(data, idx, str) {
  const bytes = encoder.encode(str);
  data.set(bytes, idx);
  return bytes.length;
}

function encodeInto(data, idx, str) {
  return encoder.encodeInto(str, data.subarray(idx)).written;
}

const writeUtf8 = encoder.encodeInto ? encodeInto : encode;
;// ../node_modules/arquero/src/arrow/builder/array-builder.js


/* harmony default export */ function array_builder(type, length) {
  const data = util_array(type.ArrayType, length);
  return {
    set(value, index) { data[index] = value; },
    data: () => ({ type, length, buffers: [null, data] })
  };
}
;// ../node_modules/arquero/src/arrow/builder/bool-builder.js


/* harmony default export */ function bool_builder(type, length) {
  const data = util_array(type.ArrayType, length / 8);
  return {
    set(value, index) {
      if (value) data[index >> 3] |= (1 << (index % 8));
    },
    data: () => ({ type, length, buffers: [null, data] })
  };
}
;// ../node_modules/arquero/src/arrow/builder/date-day-builder.js


/* harmony default export */ function date_day_builder(type, length) {
  const data = util_array(type.ArrayType, length);
  return {
    set(value, index) { data[index] = (value / 86400000) | 0; },
    data: () => ({ type, length, buffers: [null, data] })
  };
}
;// ../node_modules/arquero/src/arrow/builder/date-millis-builder.js


/* harmony default export */ function date_millis_builder(type, length) {
  const data = util_array(type.ArrayType, length << 1);
  return {
    set(value, index) {
      const i = index << 1;
      data[  i] = (value % 4294967296) | 0;
      data[i+1] = (value / 4294967296) | 0;
    },
    data: () => ({ type, length, buffers: [null, data] })
  };
}
;// ../node_modules/arquero/src/arrow/builder/default-builder.js


/* harmony default export */ function default_builder(type) {
  const b = Builder.new({
    type,
    nullValues: [null, undefined],
    highWaterMark: Infinity
  });
  return {
    set(value, index) { b.set(index, value); },
    data: () => b.finish().flush()
  };
}
;// ../node_modules/arquero/src/arrow/builder/utf8-builder.js


/* harmony default export */ function utf8_builder(type, length, strlen) {
  const offset = util_array(Int32Array, length + 1);
  const buf = util_array(Uint8Array, 3 * strlen);

  let idx = 0;

  return {
    set(value, index) {
      idx += writeUtf8(buf, idx, value);
      offset[index + 1] = idx;
    },
    data: () => {
      // slice utf buffer if over-allocated
      const dlen = ceil64Bytes(idx);
      const data = buf.length > dlen ? buf.subarray(0, dlen) : buf;
      return { type, length, buffers: [offset, data] };
    }
  };
}
;// ../node_modules/arquero/src/arrow/builder/dictionary-builder.js



/* harmony default export */ function dictionary_builder(type, length) {
  const values = [];
  const data = util_array(type.indices.ArrayType, length);
  const keys = Object.create(null);

  let next = -1;
  let strlen = 0;

  return {
    set(value, index) {
      const v = String(value);
      let k = keys[v];
      if (k === undefined) {
        strlen += v.length;
        keys[v] = k = ++next;
        values.push(v);
      }
      data[index] = k;
    },
    data: () => ({
      type,
      length,
      buffers: [null, data],
      dict: dictionary(type.dictionary, values, strlen)
    })
  };
}

function dictionary(type, values, strlen) {
  const b = utf8_builder(type, values.length, strlen);
  values.forEach(b.set);
  return arrowVector(b.data());
}
;// ../node_modules/arquero/src/arrow/builder/valid-builder.js


/* harmony default export */ function valid_builder(builder, length) {
  const valid = util_array(Uint8Array, length / 8);
  let nulls = 0;

  return {
    set(value, index) {
      if (value == null) {
        ++nulls;
      } else {
        builder.set(value, index);
        valid[index >> 3] |= (1 << (index % 8));
      }
    },
    data: () => {
      const d = builder.data();
      if (nulls) {
        d.nulls = nulls;
        d.buffers[2] = valid;
      }
      return d;
    }
  };
}
;// ../node_modules/arquero/src/arrow/builder/index.js









/* harmony default export */ function builder(type, nrows, nullable = true) {
  let method;

  switch (type.typeId) {
    case arrow_types.Int:
      method = type.bitWidth < 64 ? array_builder : null;
      break;
    case arrow_types.Float:
      method = type.precision > 0 ? array_builder : null;
      break;
    case arrow_types.Dictionary:
      // check sub-types against builder assumptions
      // if check fails, fallback to default builder
      method = (
        type.dictionary.typeId === arrow_types.Utf8 &&
        type.indices.typeId === arrow_types.Int &&
        type.indices.bitWidth < 64
      ) ? dictionary_builder : null;
      break;
    case arrow_types.Bool:
      method = bool_builder;
      break;
    case arrow_types.Date:
      method = type.unit ? date_millis_builder : date_day_builder;
      break;
  }

  return method == null ? default_builder(type)
    : nullable ? valid_builder(method(type, nrows), nrows)
    : method(type, nrows);
}
;// ../node_modules/arquero/src/arrow/encode/data-from.js



function dataFromArray(array, type) {
  const length = array.length;
  const size = ceil64Bytes(length, array.BYTES_PER_ELEMENT);

  let data = array;
  if (length !== size) {
    data = new array.constructor(size);
    data.set(array);
  }

  return arrowData({ type, length, buffers: [null, data] });
}

function dataFromScan(nrows, scan, column, type, nullable = true) {
  const b = builder(type, nrows, nullable);
  scan(column, b.set);
  return arrowData(b.data());
}
;// ../node_modules/arquero/src/arrow/builder/resolve-type.js





/* harmony default export */ function resolve_type(type) {
  if (type instanceof DataType || type == null) {
    return type;
  }

  switch (type) {
    case arrow_types.Binary:
      return new Binary();
    case arrow_types.Bool:
      return new Bool();
    case arrow_types.DateDay:
      return new DateDay();
    case arrow_types.DateMillisecond:
    case arrow_types.Date:
      return new DateMillisecond();
    case arrow_types.Dictionary:
      return new type_Dictionary(new Utf8(), new Int32());
    case arrow_types.Float16:
      return new Float16();
    case arrow_types.Float32:
      return new Float32();
    case arrow_types.Float64:
    case arrow_types.Float:
      return new Float64();
    case arrow_types.Int8:
      return new Int8();
    case arrow_types.Int16:
      return new Int16();
    case arrow_types.Int32:
    case arrow_types.Int:
      return new Int32();
    case arrow_types.Int64:
      return new Int64();
    case arrow_types.IntervalDayTime:
      return new IntervalDayTime();
    case arrow_types.Interval:
    case arrow_types.IntervalYearMonth:
      return new IntervalYearMonth();
    case arrow_types.Null:
      return new Null();
    case arrow_types.TimeMicrosecond:
      return new TimeMicrosecond();
    case arrow_types.TimeMillisecond:
    case arrow_types.Time:
      return new TimeMillisecond();
    case arrow_types.TimeNanosecond:
      return new TimeNanosecond();
    case arrow_types.TimeSecond:
      return new TimeSecond();
    case arrow_types.Uint8:
      return new Uint8();
    case arrow_types.Uint16:
      return new Uint16();
    case arrow_types.Uint32:
      return new Uint32();
    case arrow_types.Uint64:
      return new Uint64();
    case arrow_types.Utf8:
      return new Utf8();
    default:
      util_error(
        `Unsupported type code: ${to_string(type)}. ` +
        'Use a data type constructor instead?'
      );
  }
}
;// ../node_modules/arquero/src/util/is-exact-utc-date.js
/* harmony default export */ function is_exact_utc_date(d) {
  return d.getUTCHours() === 0
    && d.getUTCMinutes() === 0
    && d.getUTCSeconds() === 0
    && d.getUTCMilliseconds() === 0;
}
;// ../node_modules/arquero/src/arrow/encode/profiler.js








function profile(scan, column) {
  const p = profiler();
  scan(column, p.add);
  return p;
}

function profiler() {
  const p = {
    count: 0,
    nulls: 0,
    bools: 0,
    nums: 0,
    ints: 0,
    bigints: 0,
    min: Infinity,
    max: -Infinity,
    digits: 0,
    dates: 0,
    utcdays: 0,
    strings: 0,
    strlen: 0,
    arrays: 0,
    minlen: Infinity,
    maxlen: 0,
    structs: 0,

    add(value) {
      ++p.count;
      if (value == null) {
        ++p.nulls;
        return;
      }

      const type = typeof value;
      if (type === 'string') {
        ++p.strings;
      } else if (type === 'number') {
        ++p.nums;
        if (value < p.min) p.min = value;
        if (value > p.max) p.max = value;
        if (Number.isInteger(value)) ++p.ints;
      } else if (type === 'boolean') {
        ++p.bools;
      } else if (type === 'object') {
        if (is_date(value)) {
          ++p.dates;
          if (is_exact_utc_date(value)) {
            ++p.utcdays;
          }
        } else if (is_array_type_isArrayType(value)) {
          ++p.arrays;
          if (value.length < p.minlen) p.minlen = value.length;
          if (value.length > p.maxlen) p.maxlen = value.length;
          const ap = p.array_prof || (p.array_prof = profiler());
          value.forEach(ap.add);
        } else {
          ++p.structs;
          const sp = p.struct_prof || (p.struct_prof = {});
          for (const key in value) {
            const fp = sp[key] || (sp[key] = profiler());
            fp.add(value[key]);
          }
        }
      } else if (type === 'bigint') {
        ++p.bigints;
        if (value < p.min) p.min = value;
        if (value > p.max) p.max = value;
      }
    },
    type() {
      return resolve_type(infer(p));
    }
  };

  return p;
}

function infer(p) {
  const valid = p.count - p.nulls;

  if (valid === 0) {
    return arrow_types.Null;
  }
  else if (p.ints === valid) {
    const v = Math.max(Math.abs(p.min) - 1, p.max);
    return p.min < 0
      ? v >= 2 ** 31 ? arrow_types.Float64
        : v < (1 << 7) ? arrow_types.Int8 : v < (1 << 15) ? arrow_types.Int16 : arrow_types.Int32
      : v >= 2 ** 32 ? arrow_types.Float64
        : v < (1 << 8) ? arrow_types.Uint8 : v < (1 << 16) ? arrow_types.Uint16 : arrow_types.Uint32;
  }
  else if (p.nums === valid) {
    return arrow_types.Float64;
  }
  else if (p.bigints === valid) {
    const v = -p.min > p.max ? -p.min - 1n : p.max;
    return p.min < 0
      ? v < 2 ** 63 ? arrow_types.Int64
        : util_error(`BigInt exceeds 64 bits: ${v}`)
      : p.max < 2 ** 64 ? arrow_types.Uint64
        : util_error(`BigInt exceeds 64 bits: ${p.max}`);
  }
  else if (p.bools === valid) {
    return arrow_types.Bool;
  }
  else if (p.utcdays === valid) {
    return arrow_types.DateDay;
  }
  else if (p.dates === valid) {
    return arrow_types.DateMillisecond;
  }
  else if (p.arrays === valid) {
    const type = Field.new('value', p.array_prof.type(), true);
    return p.minlen === p.maxlen
      ? new FixedSizeList(p.minlen, type)
      : new List(type);
  }
  else if (p.structs === valid) {
    const sp = p.struct_prof;
    return new Struct(
      Object.keys(sp).map(name => Field.new(name, sp[name].type(), true))
    );
  }
  else if (p.strings > 0) {
    return arrow_types.Dictionary;
  }
  else {
    util_error('Type inference failure');
  }
}
;// ../node_modules/arquero/src/arrow/encode/data-from-objects.js




/* harmony default export */ function data_from_objects(data, name, nrows, scan, type, nullable = true) {
  type = resolve_type(type);

  // perform type inference if needed
  if (!type) {
    const p = profile(scan, name);
    nullable = p.nulls > 0;
    type = p.type();
  }

  return dataFromScan(nrows, scan, name, type, nullable);
}
;// ../node_modules/arquero/src/arrow/encode/data-from-table.js






/* harmony default export */ function data_from_table(table, name, nrows, scan, type, nullable = true) {
  type = resolve_type(type);
  const column = table.column(name);
  const reified = !(table.isFiltered() || table.isOrdered());

  // use existing arrow data if types match
  const vec = data_from_table_arrowVector(column);
  if (vec && reified && typeCompatible(vec.type, type)) {
    return vec;
  }

  // if backing data is a typed array, leverage that
  const data = column.data;
  if (is_typed_array(data)) {
    const dtype = typeFromArray(data);
    if (reified && dtype && typeCompatible(dtype, type)) {
      return dataFromArray(data, dtype);
    } else {
      type = type || dtype;
      nullable = false;
    }
  }

  // perform type inference if needed
  if (!type) {
    const p = profile(scan, column);
    nullable = p.nulls > 0;
    type = p.type();
  }

  return dataFromScan(nrows, scan, column, type, nullable);
}

function data_from_table_arrowVector(value) {
  return value instanceof AbstractVector ? value
    : value.vector instanceof AbstractVector ? value.vector
    : null;
}

function typeFromArray(data) {
  const types = {
    Float32Array:    Float32,
    Float64Array:    Float64,
    Int8Array:       Int8,
    Int16Array:      Int16,
    Int32Array:      Int32,
    Uint8Array:      Uint8,
    Uint16Array:     Uint16,
    Uint32Array:     Uint32,
    BigInt64Array:   Int64,
    BigUint64Array:  Uint64
  };
  const Type = types[data.constructor.name];
  return Type ? new Type() : null;
}

function typeCompatible(a, b) {
  return !a || !b ? true : a.compareTo(b);
}
;// ../node_modules/arquero/src/arrow/encode/scan.js


function scanArray(data, limit, offset) {
  const n = Math.min(data.length, offset + limit);
  return (name, visit) => {
    for (let i = offset; i < n; ++i) {
      visit(data[i][name], i);
    }
  };
}

function scanTable(table, limit, offset) {
  const scanAll = offset === 0 && table.numRows() <= limit
               && !table.isFiltered() && !table.isOrdered();

  return (column, visit) => {
    let i = -1;
    scanAll && is_array_type_isArrayType(column.data)
      ? column.data.forEach(visit)
      : table.scan(
          row => visit(column.get(row), ++i),
          true, limit, offset
        );
  };
}
;// ../node_modules/arquero/src/arrow/arrow-table.js



function table() {
  // trap Table access to provide a helpful message
  // when Apache Arrow has not been imported
  try {
    return table_Table;
  } catch (err) {
    util_error(
      'Apache Arrow not imported, ' +
      'see https://github.com/uwdata/arquero#usage'
    );
  }
}

function arrow_table_from(arrow) {
  return arrow && arrow.chunks ? arrow : table().from(arrow);
}
;// ../node_modules/arquero/src/arrow/encode/index.js
 // eslint-disable-line no-unused-vars









/**
 * Options for Arrow encoding.
 * @typedef {object} ArrowFormatOptions
 * @property {number} [limit=Infinity] The maximum number of rows to include.
 * @property {number} [offset=0] The row offset indicating how many initial
 *  rows to skip.
 * @property {string[]|(data: object) => string[]} [columns] Ordered list of
 *  column names to include. If function-valued, the function should accept
 *  a dataset as input and return an array of column name strings.
 * @property {object} [types] The Arrow data types to use. If specified,
 *  the input should be an object with column names for keys and Arrow data
 *  types for values. If a column type is not explicitly provided, type
 *  inference will be performed to guess an appropriate type.
 */

/**
 * Create an Apache Arrow table for an input dataset.
 * @param {Array|object} data An input dataset to convert to Arrow format.
 *  If array-valued, the data should consist of an array of objects where
 *  each entry represents a row and named properties represent columns.
 *  Otherwise, the input data should be an Arquero table.
 * @param {ArrowFormatOptions} [options] Encoding options, including
 *  column data types.
 * @return {Table} An Apache Arrow Table instance.
 */
/* harmony default export */ function arrow_encode(data, options = {}) {
  const { types = {} } = options;
  const { dataFrom, names, nrows, scan } = encode_init(data, options);
  return table().new(
    names.map(name => {
      const col = dataFrom(data, name, nrows, scan, types[name]);
      return col.length === nrows
        ? col
        : util_error('Column length mismatch');
    }),
    names
  );
}

function encode_init(data, options) {
  const { columns, limit = Infinity, offset = 0 } = options;
  const names = util_is_function(columns) ? columns(data)
    : is_array(columns) ? columns
    : null;
  if (is_array(data)) {
    return {
      dataFrom: data_from_objects,
      names: names || Object.keys(data[0]),
      nrows: Math.min(limit, data.length - offset),
      scan: scanArray(data, limit, offset)
    };
  } else if (isTable(data)) {
    return {
      dataFrom: data_from_table,
      names: names || data.columnNames(),
      nrows: Math.min(limit, data.numRows() - offset),
      scan: scanTable(data, limit, offset)
    };
  } else {
    util_error('Unsupported input data type');
  }
}

function isTable(data) {
  return data && util_is_function(data.reify);
}
;// ../node_modules/arquero/src/format/to-arrow.js

/* harmony default export */ const to_arrow = (arrow_encode);
;// ../node_modules/arquero/src/format/infer.js


function isExactDateUTC(d) {
  return d.getUTCHours() === 0
    && d.getUTCMinutes() === 0
    && d.getUTCSeconds() === 0
    && d.getUTCMilliseconds() === 0;
}

/* harmony default export */ function format_infer(scan, options = {}) {
  let count = 0;
  let nulls = 0;
  let dates = 0;
  let dutcs = 0;
  let nums = 0;
  let digits = 0;

  scan(value => {
    ++count;
    if (value == null) {
      ++nulls;
      return;
    }

    const type = typeof value;
    if (type === 'object' && is_date(value)) {
      ++dates;
      if (isExactDateUTC(value)) ++dutcs;
    } else if (type === 'number') {
      ++nums;
      if (value === value &&  (value | 0) !== value) {
        const s = value + '';
        const p = s.indexOf('.');
        if (p >= 0) {
          const e = s.indexOf('e');
          const l = e > 0 ? e : s.length;
          digits = Math.max(digits, l - p - 1);
        }
      }
    }
  });

  return {
    align:  (nulls + nums + dates) / count > 0.5 ? 'r' : 'l',
    format: {
      utc:    dates === dutcs,
      digits: Math.min(digits, options.maxdigits || 6)
    }
  };
}
;// ../node_modules/arquero/src/format/util.js
 // eslint-disable-line no-unused-vars




/**
 * Column selection function.
 * @typedef {(table: Table) => string[]} ColumnSelectFunction
 */

/**
 * Column selection options.
 * @typedef {string[]|ColumnSelectFunction} ColumnSelectOptions
 */

/**
 * Column format options. The object keys should be column names.
 * The object values should be formatting functions or objects.
 * If specified, these override any automatically inferred options.
 * @typedef {Object.<string, import('./value').ValueFormatOptions} ColumnFormatOptions
 */

/**
 * Column alignment options. The object keys should be column names.
 * The object values should be aligment strings, one of 'l' (left),
 * 'c' (center), or 'r' (right).
 * If specified, these override any automatically inferred options.
 * @typedef {Object.<string, 'l'|'c'|'r'>} ColumnAlignOptions
 */

function columns(table, names) {
  return util_is_function(names)
    ? names(table)
    : names || table.columnNames();
}

function formats(table, names, options) {
  const formatOpt = options.format || {};
  const alignOpt = options.align || {};
  const format = {};
  const align = {};

  names.forEach(name => {
    const auto = format_infer(values(table, name), options);
    align[name] = alignOpt[name] || auto.align;
    format[name] = formatOpt[name] || auto.format;
  });

  return { align, format };
}

function values(table, columnName) {
  const column = table.column(columnName);
  return fn => table.scan(row => fn(column.get(row)));
}

function scan(table, names, limit = 100, offset, ctx) {
  const data = table.data();
  const n = names.length;
  table.scan(row => {
    ctx.row(row);
    for (let i = 0; i < n; ++i) {
      const name = names[i];
      ctx.cell(data[names[i]].get(row), name, i);
    }
  }, true, limit, offset);
}
;// ../node_modules/arquero/src/format/to-csv.js
 // eslint-disable-line no-unused-vars





/**
 * Options for CSV formatting.
 * @typedef {object} CSVFormatOptions
 * @property {string} [delimiter=','] The delimiter between values.
 * @property {number} [limit=Infinity] The maximum number of rows to print.
 * @property {number} [offset=0] The row offset indicating how many initial rows to skip.
 * @property {import('./util').ColumnSelectOptions} [columns] Ordered list
 *  of column names to include. If function-valued, the function should
 *  accept a table as input and return an array of column name strings.
 * @property {Object.<string, (value: any) => any>} [format] Object of column
 *  format options. The object keys should be column names. The object values
 *  should be formatting functions to invoke to transform column values prior
 *  to output. If specified, these override automatically inferred options.
 */

/**
 * Format a table as a comma-separated values (CSV) string. Other
 * delimiters, such as tabs or pipes ('|'), can be specified using
 * the options argument.
 * @param {ColumnTable} table The table to format.
 * @param {CSVFormatOptions} options The formatting options.
 * @return {string} A delimited-value format string.
 */
/* harmony default export */ function to_csv(table, options = {}) {
  const names = columns(table, options.columns);
  const format = options.format || {};
  const delim = options.delimiter || ',';
  const reFormat = new RegExp(`["${delim}\n\r]`);

  const formatValue = value => value == null ? ''
    : is_date(value) ? formatUTCDate(value, true)
    : reFormat.test(value += '') ? '"' + value.replace(/"/g, '""') + '"'
    : value;

  const vals = names.map(formatValue);
  let text = '';

  scan(table, names, options.limit || Infinity, options.offset, {
    row() {
      text += vals.join(delim) + '\n';
    },
    cell(value, name, index) {
      vals[index] = formatValue(format[name] ? format[name](value) : value);
    }
  });

  return text + vals.join(delim);
}
;// ../node_modules/arquero/src/format/value.js





/**
 * Column format object.
 * @typedef {object} ValueFormatObject
 * @property {boolean} [utc=false] If true, format dates in UTC time.
 * @property {number} [digits=0] The number of fractional digits to include
 *  when formatting numbers.
 * @property {number} [maxlen=30] The maximum string length for formatting
 *  nested object or array values.
 */

/**
 * @callback ValueFormatFunction
 * @param {*} value The value to format.
 * @return {*} A string-coercible or JSON-compatible formatted value.
 */

/**
 * Value format options.
 * @typedef {ValueFormatObject|ValueFormatFunction} ValueFormatOptions
 */

/**
 * Format a value as a string.
 * @param {*} v The value to format.
 * @param {ValueFormatOptions} options Formatting options.
 * @return {string} The formatted string.
 */
/* harmony default export */ function format_value(v, options = {}) {
  if (util_is_function(options)) {
    return options(v) + '';
  }

  const type = typeof v;

  if (type === 'object') {
    if (is_date(v)) {
      return options.utc ? formatUTCDate(v) : formatDate(v);
    } else {
      const s = JSON.stringify(
        v,
        (k, v) => is_typed_array(v) ? Array.from(v) : v
      );
      const maxlen = options.maxlen || 30;
      return s.length > maxlen
        ? s.slice(0, 28) + '\u2026' + (s[0] === '[' ? ']' : '}')
        : s;
    }
  } else if (type === 'number') {
    const digits = options.digits || 0;
    let a;
    return v !== 0 && ((a = Math.abs(v)) >= 1e18 || a < Math.pow(10, -digits))
      ? v.toExponential(digits)
      : v.toFixed(digits);
  } else {
    return v + '';
  }
}
;// ../node_modules/arquero/src/util/map-object.js
/* harmony default export */ function map_object(obj, fn, output = {}) {
  for (const key in obj) {
    output[key] = fn(obj[key], key);
  }
  return output;
}
;// ../node_modules/arquero/src/format/to-html.js
 // eslint-disable-line no-unused-vars






/**
 * Null format function.
 * @callback NullFormat
 * @param {null|undefined} [value] The value to format.
 * @return {string} The formatted HTML string.
 */

/**
 * CSS style function.
 * @callback StyleFunction
 * @param {string} name The column name.
 * @param {number} row The table row index.
 * @return {string} A CSS style string.
 */

/**
 * CSS style options.
 * @typedef {Object.<string, string | StyleFunction>} StyleOptions
 */

/**
 * Options for HTML formatting.
 * @typedef {object} HTMLFormatOptions
 * @property {number} [limit=Infinity] The maximum number of rows to print.
 * @property {number} [offset=0] The row offset indicating how many initial rows to skip.
 * @property {import('./util').ColumnSelectOptions} [columns] Ordered list
 *  of column names to include. If function-valued, the function should
 *  accept a table as input and return an array of column name strings.
 * @property {import('./util').ColumnAlignOptions} [align] Object of column
 *  alignment options. The object keys should be column names. The object
 *  values should be aligment strings, one of 'l' (left), 'c' (center), or
 *  'r' (right). If specified, these override automatically inferred options.
 * @property {import('./util').ColumnFormatOptions} [format] Object of column
 *  format options. The object keys should be column names. The object values
 *  should be formatting functions or specification objects. If specified,
 *  these override automatically inferred options.
 * @property {NullFormat} [null] Format function for null or undefined values.
 *  If specified, this function will be invoked with the null or undefined
 *  value as the sole input, and the return value will be used as the HTML
 *  output for the value.
 * @property {StyleOptions} [style] CSS styles to include in HTML output.
 *  The object keys should be HTML table tag names: 'table', 'thead',
 *  'tbody', 'tr', 'th', or 'td'. The object values should be strings of
 *  valid CSS style directives (such as "font-weight: bold;") or functions
 *  that take a column name and row as inputs and return a CSS string.
 * @property {number} [maxdigits=6] The maximum number of fractional digits
 *  to include when formatting numbers. This option is passed to the format
 *  inference method and is overridden by any explicit format options.
 */

/**
 * Format a table as an HTML table string.
 * @param {ColumnTable} table The table to format.
 * @param {HTMLFormatOptions} options The formatting options.
 * @return {string} An HTML table string.
 */
/* harmony default export */ function to_html(table, options = {}) {
  const names = columns(table, options.columns);
  const { align, format } = formats(table, names, options);
  const style = styles(options);
  const nullish = options.null;

  const alignValue = a => a === 'c' ? 'center' : a === 'r' ? 'right' : 'left';
  const escape = s => s.replace(/&/g, '&amp;')
    .replace(/</g, '&lt;')
    .replace(/>/g, '&gt;');
  const baseFormat = (value, opt) => escape(format_value(value, opt));
  const formatter = nullish
    ? (value, opt) => value == null ? nullish(value) : baseFormat(value, opt)
    : baseFormat;

  let r = -1;
  let idx = -1;

  const tag = (tag, name, shouldAlign) => {
    const a = shouldAlign ? alignValue(align[name]) : '';
    const s = style[tag] ? (style[tag](name, idx, r) || '') : '';
    const css = (a ? (`text-align: ${a};` + (s ? ' ' : '')) : '') + s;
    return `<${tag}${css ? ` style="${css}"` : ''}>`;
  };

  let text = tag('table')
    + tag('thead')
    + tag('tr', r)
    + names.map(name => `${tag('th', name, 1)}${name}</th>`).join('')
    + '</tr></thead>'
    + tag('tbody');

  scan(table, names, options.limit, options.offset, {
    row(row) {
      r = row;
      text += (++idx ? '</tr>' : '') + tag('tr');
    },
    cell(value, name) {
      text += tag('td', name, 1)
        + formatter(value, format[name])
        + '</td>';
    }
  });

  return text + '</tr></tbody></table>';
}

function styles(options) {
  return map_object(
    options.style,
    value => util_is_function(value) ? value : () => value
  );
}
;// ../node_modules/arquero/src/util/default-true.js
/* harmony default export */ function default_true(value, trueValue = true, falseValue = false) {
  return (value === undefined || value) ? trueValue : falseValue;
}
;// ../node_modules/arquero/src/format/to-json.js
 // eslint-disable-line no-unused-vars






/**
 * Options for JSON formatting.
 * @typedef {object} JSONFormatOptions
 * @property {number} [limit=Infinity] The maximum number of rows to print.
 * @property {number} [offset=0] The row offset indicating how many initial
 *  rows to skip.
 * @property {boolean} [schema=true] Flag indicating if table schema metadata
 *  should be included in the JSON output. If false, only the data payload
 *  is included.
 * @property {import('./util').ColumnSelectOptions} [columns] Ordered list
 *  of column names to include. If function-valued, the function should
 *  accept a table as input and return an array of column name strings.
 * @property {Object.<string, (value: any) => any>} [format] Object of column
 *  format options. The object keys should be column names. The object values
 *  should be formatting functions to invoke to transform column values prior
 *  to output. If specified, these override automatically inferred options.
 */

const defaultFormatter = value => is_date(value)
  ? formatUTCDate(value, true)
  : value;

/**
 * Format a table as a JavaScript Object Notation (JSON) string.
 * @param {ColumnTable} table The table to format.
 * @param {JSONFormatOptions} options The formatting options.
 * @return {string} A JSON string.
 */
/* harmony default export */ function to_json(table, options = {}) {
  const schema = default_true(options.schema);
  const format = options.format || {};
  const names = columns(table, options.columns);
  let text = '{';

  if (schema) {
    text += '"schema":{"fields":'
      + JSON.stringify(names.map(name => ({ name })))
      + '},"data":{';
  }

  names.forEach((name, i) => {
    text += (i ? ',' : '') + JSON.stringify(name) + ':[';

    const column = table.column(name);
    const formatter = format[name] || defaultFormatter;
    let r = -1;
    table.scan(row => {
      const value = column.get(row);
      text += (++r ? ',' : '') + JSON.stringify(formatter(value));
    }, true, options.limit, options.offset);

    text += ']';
  });

  return text + '}' + (schema ? '}' : '');
}
;// ../node_modules/arquero/src/format/to-markdown.js
 // eslint-disable-line no-unused-vars




/**
 * Options for Markdown formatting.
 * @typedef {object} MarkdownFormatOptions
 * @property {number} [limit=Infinity] The maximum number of rows to print.
 * @property {number} [offset=0] The row offset indicating how many initial rows to skip.
 * @property {import('./util').ColumnSelectOptions} [columns] Ordered list
 *  of column names to include. If function-valued, the function should
 *  accept a table as input and return an array of column name strings.
 * @property {import('./util').ColumnAlignOptions} [align] Object of column
 *  alignment options. The object keys should be column names. The object
 *  values should be aligment strings, one of 'l' (left), 'c' (center), or
 *  'r' (right). If specified, these override automatically inferred options.
 * @property {import('./util').ColumnFormatOptions} [format] Object of column
 *  format options. The object keys should be column names. The object values
 *  should be formatting functions or specification objects. If specified,
 *  these override automatically inferred options.
 * @property {number} [maxdigits=6] The maximum number of fractional digits
 *  to include when formatting numbers. This option is passed to the format
 *  inference method and is overridden by any explicit format options.
 */

/**
 * Format a table as a GitHub-Flavored Markdown table string.
 * @param {ColumnTable} table The table to format.
 * @param {MarkdownFormatOptions} options The formatting options.
 * @return {string} A GitHub-Flavored Markdown table string.
 */
/* harmony default export */ function to_markdown(table, options = {}) {
  const names = columns(table, options.columns);
  const { align, format } = formats(table, names, options);

  const alignValue = a => a === 'c' ? ':-:' : a === 'r' ? '-:' : ':-';
  const escape = s => s.replace(/\|/g, '\\|');

  let text = '|'
    + names.map(escape).join('|')
    + '|\n|'
    + names.map(name => alignValue(align[name])).join('|')
    + '|';

  scan(table, names, options.limit, options.offset, {
    row() {
      text += '\n|';
    },
    cell(value, name) {
      text += escape(format_value(value, format[name])) + '|';
    }
  });

  return text + '\n';
}
;// ../node_modules/arquero/src/util/assign.js


/* harmony default export */ function util_assign(map, pairs) {
  for (const [key, value] of entries(pairs)) {
    map.set(key, value);
  }
  return map;
}
;// ../node_modules/arquero/src/util/escape-regexp.js
/* harmony default export */ function escape_regexp(str) {
  return str.replace(/[.*+\-?^${}()|[\]\\]/g, '\\$&');
}
;// ../node_modules/arquero/src/helpers/selection.js










function resolve(table, sel, map = new Map()) {
  sel = is_number(sel) ? table.columnName(sel) : sel;

  if (is_string(sel)) {
    map.set(sel, sel);
  } else if (is_array(sel)) {
    sel.forEach(r => resolve(table, r, map));
  } else if (util_is_function(sel)) {
    resolve(table, sel(table), map);
  } else if (is_object(sel)) {
    util_assign(map, sel);
  } else {
    util_error(`Invalid column selection: ${to_string(sel)}`);
  }

  return map;
}

function decorate(value, toObject) {
  value.toObject = toObject;
  return value;
}

function toObject(value) {
  return is_array(value) ? value.map(toObject)
    : value && value.toObject ? value.toObject()
    : value;
}

/**
 * Proxy type for SelectHelper function.
 * @typedef {import('../table/transformable').SelectHelper} SelectHelper
 */

/**
 * Select all columns in a table.
 * Returns a function-valued selection compatible with {@link Table#select}.
 * @return {SelectHelper} Selection function compatible with select().
 */
function selection_all() {
  return decorate(
    table => table.columnNames(),
    () => ({ all: [] })
  );
}

/**
 * Negate a column selection, selecting all other columns in a table.
 * Returns a function-valued selection compatible with {@link Table#select}.
 * @param {...any} selection The selection to negate. May be a column name,
 *  column index, array of either, or a selection function (e.g., from range).
 * @return {SelectHelper} Selection function compatible with select().
 */
function not(...selection) {
  selection = selection.flat();
  return decorate(
    table => {
      const drop = resolve(table, selection);
      return table.columnNames(name => !drop.has(name));
    },
    () => ({ not: toObject(selection) })
  );
}

/**
 * Select a contiguous range of columns.
 * @param {string|number} start The name/index of the first selected column.
 * @param {string|number} end The name/index of the last selected column.
 * @return {SelectHelper} Selection function compatible with select().
 */
function range(start, end) {
  return decorate(
    table => {
      let i = is_number(start) ? start : table.columnIndex(start);
      let j = is_number(end) ? end : table.columnIndex(end);
      if (j < i) { const t = j; j = i; i = t; }
      return table.columnNames().slice(i, j + 1);
    },
    () => ({ range: [start, end] })
  );
}

/**
 * Select all columns whose names match a pattern.
 * @param {string|RegExp} pattern A string or regular expression pattern to match.
 * @return {SelectHelper} Selection function compatible with select().
 */
function matches(pattern) {
  if (is_string(pattern)) pattern = RegExp(escape_regexp(pattern));
  return decorate(
    table => table.columnNames(name => pattern.test(name)),
    () => ({ matches: [pattern.source, pattern.flags] })
  );
}

/**
 * Select all columns whose names start with a string.
 * @param {string} string The string to match at the start of the column name.
 * @return {SelectHelper} Selection function compatible with select().
 */
function startswith(string) {
  return matches(RegExp('^' + escapeRegExp(string)));
}

/**
 * Select all columns whose names end with a string.
 * @param {string} string The string to match at the end of the column name.
 * @return {SelectHelper} Selection function compatible with select().
 */
function endswith(string) {
  return matches(RegExp(escapeRegExp(string) + '$'));
}
;// ../node_modules/arquero/src/util/array-type.js


/* harmony default export */ function array_type(column) {
  return is_typed_array(column.data) ? column.data.constructor : Array;
}
;// ../node_modules/arquero/src/table/column-table.js

















/**
 * Class representing a table backed by a named set of columns.
 */
class column_table_ColumnTable extends Table {

  /**
   * Create a new ColumnTable from existing input data.
   * @param {object[]|Iterable<object>|object|Map} values The backing table data values.
   *  If array-valued, should be a list of JavaScript objects with
   *  key-value properties for each column value.
   *  If object- or Map-valued, a table with two columns (one for keys,
   *  one for values) will be created.
   * @param {string[]} [names] The named columns to include.
   * @return {ColumnTable} A new ColumnTable instance.
   */
  static from(values, names) {
    return new column_table_ColumnTable(columns_from(values, names), names);
  }

  /**
   * Create a new table for a set of named columns.
   * @param {object|Map} columns
   *  The set of named column arrays. Keys are column names.
   *  The enumeration order of the keys determines the column indices,
   *  unless the names parameter is specified.
   *  Values must be arrays (or array-like values) of identical length.
   * @param {string[]} [names] Ordered list of column names. If specified,
   *  this array determines the column indices. If not specified, the
   *  key enumeration order of the columns object is used.
   * @return {ColumnTable} the instantiated ColumnTable instance.
   */
  static new(columns, names) {
    if (columns instanceof column_table_ColumnTable) return columns;
    const data = {};
    const keys = [];
    for (const [key, value] of entries(columns)) {
      data[key] = value;
      keys.push(key);
    }
    return new column_table_ColumnTable(data, names || keys);
  }

  /**
   * Instantiate a new ColumnTable instance.
   * @param {object} columns An object mapping column names to values.
   * @param {string[]} [names] An ordered list of column names.
   * @param {BitSet} [filter] A filtering BitSet.
   * @param {GroupBySpec} [group] A groupby specification.
   * @param {RowComparator} [order] A row comparator function.
   * @param {Params} [params] An object mapping parameter names to values.
   */
  constructor(columns, names, filter, group, order, params) {
    map_object(columns, defaultColumnFactory, columns);
    names = names || Object.keys(columns);
    const nrows = names.length ? columns[names[0]].length : 0;
    super(names, nrows, columns, filter, group, order, params);
  }

  /**
   * Create a new table with the same type as this table.
   * The new table may have different data, filter, grouping, or ordering
   * based on the values of the optional configuration argument. If a
   * setting is not specified, it is inherited from the current table.
   * @param {CreateOptions} [options] Creation options for the new table.
   * @return {ColumnTable} A newly created table.
   */
  create({ data, names, filter, groups, order }) {
    const f = filter !== undefined ? filter : this.mask();

    return new column_table_ColumnTable(
      data || this._data,
      names || (!data ? this._names : null),
      f,
      groups !== undefined ? groups : regroup(this._group, filter && f),
      order !== undefined ? order : this._order,
      this._params
    );
  }

  /**
   * Create a new table with additional columns drawn from one or more input
   * tables. All tables must have the same numer of rows and are reified
   * prior to assignment. In the case of repeated column names, input table
   * columns overwrite existing columns.
   * @param {...ColumnTable} tables The tables to merge with this table.
   * @return {ColumnTable} A new table with merged columns.
   * @example table.assign(table1, table2)
   */
  assign(...tables) {
    const nrows = this.numRows();
    const base = this.reify();
    const cset = column_set(base).groupby(base.groups());
    tables.forEach(input => {
      input = column_table_ColumnTable.new(input);
      if (input.numRows() !== nrows) util_error('Assign row counts do not match');
      input = input.reify();
      input.columnNames(name => cset.add(name, input.column(name)));
    });
    return this.create(cset.new());
  }

  /**
   * Get the backing set of columns for this table.
   * @return {ColumnData} Object of named column instances.
   */
  columns() {
    return this._data;
  }

  /**
   * Get the column instance with the given name.
   * @param {string} name The column name.
   * @return {ColumnType | undefined} The named column, or undefined if it does not exist.
   */
  column(name) {
    return this._data[name];
  }

  /**
   * Get the column instance at the given index position.
   * @param {number} index The zero-based column index.
   * @return {ColumnType | undefined} The column, or undefined if it does not exist.
   */
  columnAt(index) {
    return this._data[this._names[index]];
  }

  /**
   * Get an array of values contained in a column. The resulting array
   * respects any table filter or orderby criteria.
   * @param {string} name The column name.
   * @param {ArrayConstructor|import('./table').TypedArrayConstructor} [constructor=Array]
   *  The array constructor for instantiating the output array.
   * @return {import('./table').DataValue[]|import('./table).TypedArray} The array of column values.
   */
  array(name, constructor = Array) {
    const column = this.column(name);
    const array = new constructor(this.numRows());
    let idx = -1;
    this.scan(row => array[++idx] = column.get(row), true);
    return array;
  }

  /**
   * Get the value for the given column and row.
   * @param {string} name The column name.
   * @param {number} [row=0] The row index, defaults to zero if not specified.
   * @return {import('./table').DataValue} The table value at (column, row).
   */
  get(name, row = 0) {
    const column = this.column(name);
    return this.isFiltered() || this.isOrdered()
      ? column.get(this.indices()[row])
      : column.get(row);
  }

  /**
   * Returns an accessor ("getter") function for a column. The returned
   * function takes a row index as its single argument and returns the
   * corresponding column value.
   * @param {string} name The column name.
   * @return {import('./table').ColumnGetter} The column getter function.
   */
  getter(name) {
    const column = this.column(name);
    const indices = this.isFiltered() || this.isOrdered() ? this.indices() : null;
    return indices ? row => column.get(indices[row])
      : column ? row => column.get(row)
      : util_error(`Unrecognized column: ${name}`);
  }

  /**
   * Returns an object representing a table row.
   * @param {number} [row=0] The row index, defaults to zero if not specified.
   * @return {object} A row object with named properties for each column.
   */
  object(row = 0) {
    return objectBuilder(this)(row);
  }

  /**
   * Returns an array of objects representing table rows.
   * @param {ObjectsOptions} [options] The options for row object generation.
   * @return {object[]} An array of row objects.
   */
  objects(options = {}) {
    const { grouped, limit, offset } = options;

    // generate array of row objects
    const names = resolve(this, options.columns || selection_all());
    const create = rowObjectBuilder(names);
    const obj = [];
    this.scan(
      (row, data) => obj.push(create(row, data)),
      true, limit, offset
    );

    // produce nested output as requested
    if (grouped && this.isGrouped()) {
      const idx = [];
      this.scan(row => idx.push(row), true, limit, offset);
      return nest(this, idx, obj, grouped);
    }

    return obj;
  }

  /**
   * Returns an iterator over objects representing table rows.
   * @return {Iterator<object>} An iterator over row objects.
   */
  *[Symbol.iterator]() {
    const create = objectBuilder(this);
    const n = this.numRows();
    for (let i = 0; i < n; ++i) {
      yield create(i);
    }
  }

  /**
   * Create a new fully-materialized instance of this table.
   * All filter and orderby settings are removed from the new table.
   * Instead, the backing data itself is filtered and ordered as needed.
   * @param {number[]} [indices] Ordered row indices to materialize.
   *  If unspecified, all rows passing the table filter are used.
   * @return {ColumnTable} A reified table.
   */
  reify(indices) {
    const nrows = indices ? indices.length : this.numRows();
    const names = this._names;
    let data, groups;

    if (!indices && !this.isOrdered()) {
      if (!this.isFiltered()) {
        return this; // data already reified
      } else if (nrows === this.totalRows()) {
        data = this.data(); // all rows pass filter, skip copy
      }
    }

    if (!data) {
      const scan = indices ? f => indices.forEach(f) : f => this.scan(f, true);
      const ncols = names.length;
      data = {};

      for (let i = 0; i < ncols; ++i) {
        const name = names[i];
        const prev = this.column(name);
        const curr = data[name] = new (array_type(prev))(nrows);
        let r = -1;
        scan(row => curr[++r] = prev.get(row));
      }

      if (this.isGrouped()) {
        groups = reindex(this.groups(), scan, !!indices, nrows);
      }
    }

    return this.create({ data, names, groups, filter: null, order: null });
  }

  /**
   * Apply a sequence of transformations to this table. The output
   * of each transform is passed as input to the next transform, and
   * the output of the last transform is then returned.
   * @param {...(Transform|Transform[])} transforms Transformation
   *  functions to apply to the table in sequence. Each function should
   *  take a single table as input and return a table as output.
   * @return {ColumnTable} The output of the last transform.
   */
  transform(...transforms) {
    return transforms.flat().reduce((t, f) => f(t), this);
  }

  /**
   * Format this table as an Apache Arrow table.
   * @param {ArrowFormatOptions} [options] The formatting options.
   * @return {import('apache-arrow').Table} An Apache Arrow table.
   */
  toArrow(options) {
    return to_arrow(this, options);
  }

  /**
   * Format this table as binary data in the Apache Arrow IPC format.
   * @param {ArrowFormatOptions} [options] The formatting options.
   * @return {Uint8Array} A new Uint8Array of Arrow-encoded binary data.
   */
  toArrowBuffer(options) {
    return to_arrow(this, options).serialize();
  }

  /**
   * Format this table as a comma-separated values (CSV) string. Other
   * delimiters, such as tabs or pipes ('|'), can be specified using
   * the options argument.
   * @param {CSVFormatOptions} [options] The formatting options.
   * @return {string} A delimited value string.
   */
  toCSV(options) {
    return to_csv(this, options);
  }

  /**
   * Format this table as an HTML table string.
   * @param {HTMLFormatOptions} [options] The formatting options.
   * @return {string} An HTML table string.
   */
  toHTML(options) {
    return to_html(this, options);
  }

  /**
   * Format this table as a JavaScript Object Notation (JSON) string.
   * @param {JSONFormatOptions} [options] The formatting options.
   * @return {string} A JSON string.
   */
  toJSON(options) {
    return to_json(this, options);
  }

  /**
   * Format this table as a GitHub-Flavored Markdown table string.
   * @param {MarkdownFormatOptions} [options] The formatting options.
   * @return {string} A GitHub-Flavored Markdown table string.
   */
  toMarkdown(options) {
    return to_markdown(this, options);
  }
}

function objectBuilder(table) {
  let b = table._builder;

  if (!b) {
    const create = rowObjectBuilder(table.columnNames());
    const data = table.data();
    if (table.isOrdered() || table.isFiltered()) {
      const indices = table.indices();
      b = row => create(indices[row], data);
    } else {
      b = row => create(row, data);
    }
    table._builder = b;
  }

  return b;
}

/**
 * A table transformation.
 * @typedef {(table: ColumnTable) => ColumnTable} Transform
 */

/**
 * Proxy type for BitSet class.
 * @typedef {import('./table').BitSet} BitSet
 */

/**
 * Proxy type for ColumnType interface.
 * @typedef {import('./column').ColumnType} ColumnType
 */

/**
 * A named collection of columns.
 * @typedef {{[key: string]: ColumnType}} ColumnData
 */

/**
 * Proxy type for GroupBySpec.
 * @typedef {import('./table').GroupBySpec} GroupBySpec
 */

/**
 * Proxy type for RowComparator.
 * @typedef {import('./table').RowComparator} RowComparator
 */

/**
 * Proxy type for Params.
 * @typedef {import('./table').Params} Params
 */

/**
 * Options for Arrow formatting.
 * @typedef {import('../arrow/encode').ArrowFormatOptions} ArrowFormatOptions
 */

/**
 * Options for CSV formatting.
 * @typedef {import('../format/to-csv').CSVFormatOptions} CSVFormatOptions
 */

/**
 * Options for HTML formatting.
 * @typedef {import('../format/to-html').HTMLFormatOptions} HTMLFormatOptions
 */

/**
 * Options for JSON formatting.
 * @typedef {import('../format/to-json').JSONFormatOptions} JSONFormatOptions
 */

/**
 * Options for Markdown formatting.
 * @typedef {import('../format/to-markdown').MarkdownFormatOptions} MarkdownFormatOptions
 */
;// ../node_modules/arquero/src/engine/reduce/reducer.js
/**
 * Abstract class for custom aggregation operations.
 */
class Reducer {
  constructor(outputs) {
    this._outputs = outputs;
  }

  size() {
    return this._outputs.length;
  }

  outputs() {
    return this._outputs;
  }

  init(/* columns */) {
    return {};
  }

  add(/* state, row, data */) {
    // no-op, subclasses should override
  }

  rem(/* state, row, data */) {
    // no-op, subclasses should override
  }

  write(/* state, values, index */) {
  }
}
;// ../node_modules/arquero/src/expression/ast/walk.js
function walk(node, ctx, visitors, parent) {
  const visit = visitors[node.type] || visitors['Default'];
  if (visit && visit(node, ctx, parent) === false) return;

  const walker = walkers[node.type];
  if (walker) walker(node, ctx, visitors);
}

const unary = (node, ctx, visitors) => {
  walk(node.argument, ctx, visitors, node);
};

const walk_binary = (node, ctx, visitors) => {
  walk(node.left, ctx, visitors, node);
  walk(node.right, ctx, visitors, node);
};

const ternary = (node, ctx, visitors) => {
  walk(node.test, ctx, visitors, node);
  walk(node.consequent, ctx, visitors, node);
  if (node.alternate) walk(node.alternate, ctx, visitors, node);
};

const walk_func = (node, ctx, visitors) => {
  walk_list(node.params, ctx, visitors, node);
  walk(node.body, ctx, visitors, node);
};

const walk_call = (node, ctx, visitors) => {
  walk(node.callee, ctx, visitors, node);
  walk_list(node.arguments, ctx, visitors, node);
};

const walk_list = (nodes, ctx, visitors, node) => {
  nodes.forEach(item => walk(item, ctx, visitors, node));
};

const walkers = {
  TemplateLiteral: (node, ctx, visitors) => {
    walk_list(node.expressions, ctx, visitors, node);
    walk_list(node.quasis, ctx, visitors, node);
  },
  MemberExpression: (node, ctx, visitors) => {
    walk(node.object, ctx, visitors, node);
    walk(node.property, ctx, visitors, node);
  },
  CallExpression: walk_call,
  NewExpression: walk_call,
  ArrayExpression: (node, ctx, visitors) => {
    walk_list(node.elements, ctx, visitors, node);
  },
  AssignmentExpression: walk_binary,
  AwaitExpression: unary,
  BinaryExpression: walk_binary,
  LogicalExpression: walk_binary,
  UnaryExpression: unary,
  UpdateExpression: unary,
  ConditionalExpression: ternary,
  ObjectExpression: (node, ctx, visitors) => {
    walk_list(node.properties, ctx, visitors, node);
  },
  Property: (node, ctx, visitors) => {
    walk(node.key, ctx, visitors, node);
    walk(node.value, ctx, visitors, node);
  },

  ArrowFunctionExpression: walk_func,
  FunctionExpression: walk_func,
  FunctionDeclaration: walk_func,

  VariableDeclaration: (node, ctx, visitors) => {
    walk_list(node.declarations, ctx, visitors, node);
  },
  VariableDeclarator: (node, ctx, visitors) => {
    walk(node.id, ctx, visitors, node);
    walk(node.init, ctx, visitors, node);
  },
  SpreadElement: (node, ctx, visitors) => {
    walk(node.argument, ctx, visitors, node);
  },

  BlockStatement: (node, ctx, visitors) => {
    walk_list(node.body, ctx, visitors, node);
  },
  ExpressionStatement: (node, ctx, visitors) => {
    walk(node.expression, ctx, visitors, node);
  },
  IfStatement: ternary,
  ForStatement: (node, ctx, visitors) => {
    walk(node.init, ctx, visitors, node);
    walk(node.test, ctx, visitors, node);
    walk(node.update, ctx, visitors, node);
    walk(node.body, ctx, visitors, node);
  },
  WhileStatement: (node, ctx, visitors) => {
    walk(node.test, ctx, visitors, node);
    walk(node.body, ctx, visitors, node);
  },
  DoWhileStatement: (node, ctx, visitors) => {
    walk(node.body, ctx, visitors, node);
    walk(node.test, ctx, visitors, node);
  },
  SwitchStatement: (node, ctx, visitors) => {
    walk(node.discriminant, ctx, visitors, node);
    walk_list(node.cases, ctx, visitors, node);
  },
  SwitchCase: (node, ctx, visitors) => {
    if (node.test) walk(node.test, ctx, visitors, node);
    walk_list(node.consequent, ctx, visitors, node);
  },
  ReturnStatement: unary,

  Program: (node, ctx, visitors) => {
    walk(node.body[0], ctx, visitors, node);
  }
};
;// ../node_modules/arquero/src/expression/ast/clean.js


function strip(node) {
  delete node.start;
  delete node.end;
  delete node.optional;
}

function stripMember(node) {
  strip(node);
  delete node.object;
  delete node.property;
  delete node.computed;
  if (!node.table) delete node.table;
}

/* harmony default export */ function clean(ast) {
  walk(ast, null, {
    Column: stripMember,
    Constant: stripMember,
    Default: strip
  });
  return ast;
}
;// ../node_modules/arquero/src/expression/ast/util.js


function is(type, node) {
  return node && node.type === type;
}

function isFunctionExpression(node) {
  return is(FunctionExpression, node)
    || is(ArrowFunctionExpression, node);
}
;// ../node_modules/arquero/src/util/to-function.js


/* harmony default export */ function to_function(value) {
  return util_is_function(value) ? value : () => value;
}
;// ../node_modules/arquero/src/expression/parse-escape.js





const ERROR_ESC_AGGRONLY = 'Escaped functions are not valid as rollup or pivot values.';

/* harmony default export */ function parse_escape(ctx, spec, params) {
  if (ctx.aggronly) util_error(ERROR_ESC_AGGRONLY);

  // generate escaped function invocation code
  const code = '(row,data)=>fn('
    + rowObjectCode(ctx.table.columnNames())
    + ',$)';

  return { escape: expression_compile.escape(code, to_function(spec.expr), params) };
}
;// ../node_modules/acorn/dist/acorn.mjs
// This file was generated. Do not modify manually!
var astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 7, 9, 32, 4, 318, 1, 80, 3, 71, 10, 50, 3, 123, 2, 54, 14, 32, 10, 3, 1, 11, 3, 46, 10, 8, 0, 46, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 3, 0, 158, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 68, 8, 2, 0, 3, 0, 2, 3, 2, 4, 2, 0, 15, 1, 83, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 7, 19, 58, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 343, 9, 54, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 10, 1, 2, 0, 49, 6, 4, 4, 14, 10, 5350, 0, 7, 14, 11465, 27, 2343, 9, 87, 9, 39, 4, 60, 6, 26, 9, 535, 9, 470, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 4178, 9, 519, 45, 3, 22, 543, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 101, 0, 161, 6, 10, 9, 357, 0, 62, 13, 499, 13, 245, 1, 2, 9, 726, 6, 110, 6, 6, 9, 4759, 9, 787719, 239];

// This file was generated. Do not modify manually!
var astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 4, 51, 13, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 39, 27, 10, 22, 251, 41, 7, 1, 17, 2, 60, 28, 11, 0, 9, 21, 43, 17, 47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 20, 1, 64, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 31, 9, 2, 0, 3, 0, 2, 37, 2, 0, 26, 0, 2, 0, 45, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 200, 32, 32, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 16, 0, 2, 12, 2, 33, 125, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16, 1071, 18, 5, 26, 3994, 6, 582, 6842, 29, 1763, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 433, 44, 212, 63, 129, 74, 6, 0, 67, 12, 65, 1, 2, 0, 29, 6135, 9, 1237, 42, 9, 8936, 3, 2, 6, 2, 1, 2, 290, 16, 0, 30, 2, 3, 0, 15, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 7, 5, 262, 61, 147, 44, 11, 6, 17, 0, 322, 29, 19, 43, 485, 27, 229, 29, 3, 0, 496, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4153, 7, 221, 3, 5761, 15, 7472, 16, 621, 2467, 541, 1507, 4938, 6, 4191];

// This file was generated. Do not modify manually!
var nonASCIIidentifierChars = "\u200c\u200d\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u0897-\u089f\u08ca-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u09fe\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0afa-\u0aff\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c04\u0c3c\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0cf3\u0d00-\u0d03\u0d3b\u0d3c\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d81-\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0ebc\u0ec8-\u0ece\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u180f-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1abf-\u1ace\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf4\u1cf7-\u1cf9\u1dc0-\u1dff\u200c\u200d\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\u30fb\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua82c\ua880\ua881\ua8b4-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f1\ua8ff-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f\uff65";

// This file was generated. Do not modify manually!
var nonASCIIidentifierStartChars = "\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u0870-\u0887\u0889-\u088e\u08a0-\u08c9\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u09fc\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c5d\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cdd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d04-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u1711\u171f-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4c\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c8a\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31bf\u31f0-\u31ff\u3400-\u4dbf\u4e00-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7cd\ua7d0\ua7d1\ua7d3\ua7d5-\ua7dc\ua7f2-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab69\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc";

// These are a run-length and offset encoded representation of the
// >0xffff code points that are a valid part of identifiers. The
// offset starts at 0x10000, and each pair of numbers represents an
// offset to the next range, and then a size of the range.

// Reserved word lists for various dialects of the language

var reservedWords = {
  3: "abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile",
  5: "class enum extends super const export import",
  6: "enum",
  strict: "implements interface let package private protected public static yield",
  strictBind: "eval arguments"
};

// And the keywords

var ecma5AndLessKeywords = "break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this";

var keywords$1 = {
  5: ecma5AndLessKeywords,
  "5module": ecma5AndLessKeywords + " export import",
  6: ecma5AndLessKeywords + " const class extends export import super"
};

var keywordRelationalOperator = /^in(stanceof)?$/;

// ## Character categories

var nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]");
var nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]");

// This has a complexity linear to the value of the code. The
// assumption is that looking up astral identifier characters is
// rare.
function isInAstralSet(code, set) {
  var pos = 0x10000;
  for (var i = 0; i < set.length; i += 2) {
    pos += set[i];
    if (pos > code) { return false }
    pos += set[i + 1];
    if (pos >= code) { return true }
  }
  return false
}

// Test whether a given character code starts an identifier.

function isIdentifierStart(code, astral) {
  if (code < 65) { return code === 36 }
  if (code < 91) { return true }
  if (code < 97) { return code === 95 }
  if (code < 123) { return true }
  if (code <= 0xffff) { return code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code)) }
  if (astral === false) { return false }
  return isInAstralSet(code, astralIdentifierStartCodes)
}

// Test whether a given character is part of an identifier.

function isIdentifierChar(code, astral) {
  if (code < 48) { return code === 36 }
  if (code < 58) { return true }
  if (code < 65) { return false }
  if (code < 91) { return true }
  if (code < 97) { return code === 95 }
  if (code < 123) { return true }
  if (code <= 0xffff) { return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code)) }
  if (astral === false) { return false }
  return isInAstralSet(code, astralIdentifierStartCodes) || isInAstralSet(code, astralIdentifierCodes)
}

// ## Token types

// The assignment of fine-grained, information-carrying type objects
// allows the tokenizer to store the information it has about a
// token in a way that is very cheap for the parser to look up.

// All token type variables start with an underscore, to make them
// easy to recognize.

// The `beforeExpr` property is used to disambiguate between regular
// expressions and divisions. It is set on all token types that can
// be followed by an expression (thus, a slash after them would be a
// regular expression).
//
// The `startsExpr` property is used to check if the token ends a
// `yield` expression. It is set on all token types that either can
// directly start an expression (like a quotation mark) or can
// continue an expression (like the body of a string).
//
// `isLoop` marks a keyword as starting a loop, which is important
// to know when parsing a label, in order to allow or disallow
// continue jumps to that label.

var TokenType = function TokenType(label, conf) {
  if ( conf === void 0 ) conf = {};

  this.label = label;
  this.keyword = conf.keyword;
  this.beforeExpr = !!conf.beforeExpr;
  this.startsExpr = !!conf.startsExpr;
  this.isLoop = !!conf.isLoop;
  this.isAssign = !!conf.isAssign;
  this.prefix = !!conf.prefix;
  this.postfix = !!conf.postfix;
  this.binop = conf.binop || null;
  this.updateContext = null;
};

function binop(name, prec) {
  return new TokenType(name, {beforeExpr: true, binop: prec})
}
var beforeExpr = {beforeExpr: true}, startsExpr = {startsExpr: true};

// Map keyword names to token types.

var keywords = {};

// Succinct definitions of keyword token types
function kw(name, options) {
  if ( options === void 0 ) options = {};

  options.keyword = name;
  return keywords[name] = new TokenType(name, options)
}

var types$1 = {
  num: new TokenType("num", startsExpr),
  regexp: new TokenType("regexp", startsExpr),
  string: new TokenType("string", startsExpr),
  name: new TokenType("name", startsExpr),
  privateId: new TokenType("privateId", startsExpr),
  eof: new TokenType("eof"),

  // Punctuation token types.
  bracketL: new TokenType("[", {beforeExpr: true, startsExpr: true}),
  bracketR: new TokenType("]"),
  braceL: new TokenType("{", {beforeExpr: true, startsExpr: true}),
  braceR: new TokenType("}"),
  parenL: new TokenType("(", {beforeExpr: true, startsExpr: true}),
  parenR: new TokenType(")"),
  comma: new TokenType(",", beforeExpr),
  semi: new TokenType(";", beforeExpr),
  colon: new TokenType(":", beforeExpr),
  dot: new TokenType("."),
  question: new TokenType("?", beforeExpr),
  questionDot: new TokenType("?."),
  arrow: new TokenType("=>", beforeExpr),
  template: new TokenType("template"),
  invalidTemplate: new TokenType("invalidTemplate"),
  ellipsis: new TokenType("...", beforeExpr),
  backQuote: new TokenType("`", startsExpr),
  dollarBraceL: new TokenType("${", {beforeExpr: true, startsExpr: true}),

  // Operators. These carry several kinds of properties to help the
  // parser use them properly (the presence of these properties is
  // what categorizes them as operators).
  //
  // `binop`, when present, specifies that this operator is a binary
  // operator, and will refer to its precedence.
  //
  // `prefix` and `postfix` mark the operator as a prefix or postfix
  // unary operator.
  //
  // `isAssign` marks all of `=`, `+=`, `-=` etcetera, which act as
  // binary operators with a very low precedence, that should result
  // in AssignmentExpression nodes.

  eq: new TokenType("=", {beforeExpr: true, isAssign: true}),
  assign: new TokenType("_=", {beforeExpr: true, isAssign: true}),
  incDec: new TokenType("++/--", {prefix: true, postfix: true, startsExpr: true}),
  prefix: new TokenType("!/~", {beforeExpr: true, prefix: true, startsExpr: true}),
  logicalOR: binop("||", 1),
  logicalAND: binop("&&", 2),
  bitwiseOR: binop("|", 3),
  bitwiseXOR: binop("^", 4),
  bitwiseAND: binop("&", 5),
  equality: binop("==/!=/===/!==", 6),
  relational: binop("</>/<=/>=", 7),
  bitShift: binop("<</>>/>>>", 8),
  plusMin: new TokenType("+/-", {beforeExpr: true, binop: 9, prefix: true, startsExpr: true}),
  modulo: binop("%", 10),
  star: binop("*", 10),
  slash: binop("/", 10),
  starstar: new TokenType("**", {beforeExpr: true}),
  coalesce: binop("??", 1),

  // Keyword token types.
  _break: kw("break"),
  _case: kw("case", beforeExpr),
  _catch: kw("catch"),
  _continue: kw("continue"),
  _debugger: kw("debugger"),
  _default: kw("default", beforeExpr),
  _do: kw("do", {isLoop: true, beforeExpr: true}),
  _else: kw("else", beforeExpr),
  _finally: kw("finally"),
  _for: kw("for", {isLoop: true}),
  _function: kw("function", startsExpr),
  _if: kw("if"),
  _return: kw("return", beforeExpr),
  _switch: kw("switch"),
  _throw: kw("throw", beforeExpr),
  _try: kw("try"),
  _var: kw("var"),
  _const: kw("const"),
  _while: kw("while", {isLoop: true}),
  _with: kw("with"),
  _new: kw("new", {beforeExpr: true, startsExpr: true}),
  _this: kw("this", startsExpr),
  _super: kw("super", startsExpr),
  _class: kw("class", startsExpr),
  _extends: kw("extends", beforeExpr),
  _export: kw("export"),
  _import: kw("import", startsExpr),
  _null: kw("null", startsExpr),
  _true: kw("true", startsExpr),
  _false: kw("false", startsExpr),
  _in: kw("in", {beforeExpr: true, binop: 7}),
  _instanceof: kw("instanceof", {beforeExpr: true, binop: 7}),
  _typeof: kw("typeof", {beforeExpr: true, prefix: true, startsExpr: true}),
  _void: kw("void", {beforeExpr: true, prefix: true, startsExpr: true}),
  _delete: kw("delete", {beforeExpr: true, prefix: true, startsExpr: true})
};

// Matches a whole line break (where CRLF is considered a single
// line break). Used to count lines.

var lineBreak = /\r\n?|\n|\u2028|\u2029/;
var lineBreakG = new RegExp(lineBreak.source, "g");

function isNewLine(code) {
  return code === 10 || code === 13 || code === 0x2028 || code === 0x2029
}

function nextLineBreak(code, from, end) {
  if ( end === void 0 ) end = code.length;

  for (var i = from; i < end; i++) {
    var next = code.charCodeAt(i);
    if (isNewLine(next))
      { return i < end - 1 && next === 13 && code.charCodeAt(i + 1) === 10 ? i + 2 : i + 1 }
  }
  return -1
}

var nonASCIIwhitespace = /[\u1680\u2000-\u200a\u202f\u205f\u3000\ufeff]/;

var skipWhiteSpace = /(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g;

var acorn_ref = Object.prototype;
var acorn_hasOwnProperty = acorn_ref.hasOwnProperty;
var acorn_toString = acorn_ref.toString;

var hasOwn = Object.hasOwn || (function (obj, propName) { return (
  acorn_hasOwnProperty.call(obj, propName)
); });

var acorn_isArray = Array.isArray || (function (obj) { return (
  acorn_toString.call(obj) === "[object Array]"
); });

var regexpCache = Object.create(null);

function wordsRegexp(words) {
  return regexpCache[words] || (regexpCache[words] = new RegExp("^(?:" + words.replace(/ /g, "|") + ")$"))
}

function codePointToString(code) {
  // UTF-16 Decoding
  if (code <= 0xFFFF) { return String.fromCharCode(code) }
  code -= 0x10000;
  return String.fromCharCode((code >> 10) + 0xD800, (code & 1023) + 0xDC00)
}

var loneSurrogate = /(?:[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/;

// These are used when `options.locations` is on, for the
// `startLoc` and `endLoc` properties.

var Position = function Position(line, col) {
  this.line = line;
  this.column = col;
};

Position.prototype.offset = function offset (n) {
  return new Position(this.line, this.column + n)
};

var SourceLocation = function SourceLocation(p, start, end) {
  this.start = start;
  this.end = end;
  if (p.sourceFile !== null) { this.source = p.sourceFile; }
};

// The `getLineInfo` function is mostly useful when the
// `locations` option is off (for performance reasons) and you
// want to find the line/column position for a given character
// offset. `input` should be the code string that the offset refers
// into.

function getLineInfo(input, offset) {
  for (var line = 1, cur = 0;;) {
    var nextBreak = nextLineBreak(input, cur, offset);
    if (nextBreak < 0) { return new Position(line, offset - cur) }
    ++line;
    cur = nextBreak;
  }
}

// A second argument must be given to configure the parser process.
// These options are recognized (only `ecmaVersion` is required):

var defaultOptions = {
  // `ecmaVersion` indicates the ECMAScript version to parse. Must be
  // either 3, 5, 6 (or 2015), 7 (2016), 8 (2017), 9 (2018), 10
  // (2019), 11 (2020), 12 (2021), 13 (2022), 14 (2023), or `"latest"`
  // (the latest version the library supports). This influences
  // support for strict mode, the set of reserved words, and support
  // for new syntax features.
  ecmaVersion: null,
  // `sourceType` indicates the mode the code should be parsed in.
  // Can be either `"script"` or `"module"`. This influences global
  // strict mode and parsing of `import` and `export` declarations.
  sourceType: "script",
  // `onInsertedSemicolon` can be a callback that will be called when
  // a semicolon is automatically inserted. It will be passed the
  // position of the inserted semicolon as an offset, and if
  // `locations` is enabled, it is given the location as a `{line,
  // column}` object as second argument.
  onInsertedSemicolon: null,
  // `onTrailingComma` is similar to `onInsertedSemicolon`, but for
  // trailing commas.
  onTrailingComma: null,
  // By default, reserved words are only enforced if ecmaVersion >= 5.
  // Set `allowReserved` to a boolean value to explicitly turn this on
  // an off. When this option has the value "never", reserved words
  // and keywords can also not be used as property names.
  allowReserved: null,
  // When enabled, a return at the top level is not considered an
  // error.
  allowReturnOutsideFunction: false,
  // When enabled, import/export statements are not constrained to
  // appearing at the top of the program, and an import.meta expression
  // in a script isn't considered an error.
  allowImportExportEverywhere: false,
  // By default, await identifiers are allowed to appear at the top-level scope only if ecmaVersion >= 2022.
  // When enabled, await identifiers are allowed to appear at the top-level scope,
  // but they are still not allowed in non-async functions.
  allowAwaitOutsideFunction: null,
  // When enabled, super identifiers are not constrained to
  // appearing in methods and do not raise an error when they appear elsewhere.
  allowSuperOutsideMethod: null,
  // When enabled, hashbang directive in the beginning of file is
  // allowed and treated as a line comment. Enabled by default when
  // `ecmaVersion` >= 2023.
  allowHashBang: false,
  // By default, the parser will verify that private properties are
  // only used in places where they are valid and have been declared.
  // Set this to false to turn such checks off.
  checkPrivateFields: true,
  // When `locations` is on, `loc` properties holding objects with
  // `start` and `end` properties in `{line, column}` form (with
  // line being 1-based and column 0-based) will be attached to the
  // nodes.
  locations: false,
  // A function can be passed as `onToken` option, which will
  // cause Acorn to call that function with object in the same
  // format as tokens returned from `tokenizer().getToken()`. Note
  // that you are not allowed to call the parser from the
  // callback—that will corrupt its internal state.
  onToken: null,
  // A function can be passed as `onComment` option, which will
  // cause Acorn to call that function with `(block, text, start,
  // end)` parameters whenever a comment is skipped. `block` is a
  // boolean indicating whether this is a block (`/* */`) comment,
  // `text` is the content of the comment, and `start` and `end` are
  // character offsets that denote the start and end of the comment.
  // When the `locations` option is on, two more parameters are
  // passed, the full `{line, column}` locations of the start and
  // end of the comments. Note that you are not allowed to call the
  // parser from the callback—that will corrupt its internal state.
  // When this option has an array as value, objects representing the
  // comments are pushed to it.
  onComment: null,
  // Nodes have their start and end characters offsets recorded in
  // `start` and `end` properties (directly on the node, rather than
  // the `loc` object, which holds line/column data. To also add a
  // [semi-standardized][range] `range` property holding a `[start,
  // end]` array with the same numbers, set the `ranges` option to
  // `true`.
  //
  // [range]: https://bugzilla.mozilla.org/show_bug.cgi?id=745678
  ranges: false,
  // It is possible to parse multiple files into a single AST by
  // passing the tree produced by parsing the first file as
  // `program` option in subsequent parses. This will add the
  // toplevel forms of the parsed file to the `Program` (top) node
  // of an existing parse tree.
  program: null,
  // When `locations` is on, you can pass this to record the source
  // file in every node's `loc` object.
  sourceFile: null,
  // This value, if given, is stored in every node, whether
  // `locations` is on or off.
  directSourceFile: null,
  // When enabled, parenthesized expressions are represented by
  // (non-standard) ParenthesizedExpression nodes
  preserveParens: false
};

// Interpret and default an options object

var warnedAboutEcmaVersion = false;

function getOptions(opts) {
  var options = {};

  for (var opt in defaultOptions)
    { options[opt] = opts && hasOwn(opts, opt) ? opts[opt] : defaultOptions[opt]; }

  if (options.ecmaVersion === "latest") {
    options.ecmaVersion = 1e8;
  } else if (options.ecmaVersion == null) {
    if (!warnedAboutEcmaVersion && typeof console === "object" && console.warn) {
      warnedAboutEcmaVersion = true;
      console.warn("Since Acorn 8.0.0, options.ecmaVersion is required.\nDefaulting to 2020, but this will stop working in the future.");
    }
    options.ecmaVersion = 11;
  } else if (options.ecmaVersion >= 2015) {
    options.ecmaVersion -= 2009;
  }

  if (options.allowReserved == null)
    { options.allowReserved = options.ecmaVersion < 5; }

  if (!opts || opts.allowHashBang == null)
    { options.allowHashBang = options.ecmaVersion >= 14; }

  if (acorn_isArray(options.onToken)) {
    var tokens = options.onToken;
    options.onToken = function (token) { return tokens.push(token); };
  }
  if (acorn_isArray(options.onComment))
    { options.onComment = pushComment(options, options.onComment); }

  return options
}

function pushComment(options, array) {
  return function(block, text, start, end, startLoc, endLoc) {
    var comment = {
      type: block ? "Block" : "Line",
      value: text,
      start: start,
      end: end
    };
    if (options.locations)
      { comment.loc = new SourceLocation(this, startLoc, endLoc); }
    if (options.ranges)
      { comment.range = [start, end]; }
    array.push(comment);
  }
}

// Each scope gets a bitset that may contain these flags
var
    SCOPE_TOP = 1,
    SCOPE_FUNCTION = 2,
    SCOPE_ASYNC = 4,
    SCOPE_GENERATOR = 8,
    SCOPE_ARROW = 16,
    SCOPE_SIMPLE_CATCH = 32,
    SCOPE_SUPER = 64,
    SCOPE_DIRECT_SUPER = 128,
    SCOPE_CLASS_STATIC_BLOCK = 256,
    SCOPE_VAR = SCOPE_TOP | SCOPE_FUNCTION | SCOPE_CLASS_STATIC_BLOCK;

function functionFlags(async, generator) {
  return SCOPE_FUNCTION | (async ? SCOPE_ASYNC : 0) | (generator ? SCOPE_GENERATOR : 0)
}

// Used in checkLVal* and declareName to determine the type of a binding
var
    BIND_NONE = 0, // Not a binding
    BIND_VAR = 1, // Var-style binding
    BIND_LEXICAL = 2, // Let- or const-style binding
    BIND_FUNCTION = 3, // Function declaration
    BIND_SIMPLE_CATCH = 4, // Simple (identifier pattern) catch binding
    BIND_OUTSIDE = 5; // Special case for function names as bound inside the function

var Parser = function Parser(options, input, startPos) {
  this.options = options = getOptions(options);
  this.sourceFile = options.sourceFile;
  this.keywords = wordsRegexp(keywords$1[options.ecmaVersion >= 6 ? 6 : options.sourceType === "module" ? "5module" : 5]);
  var reserved = "";
  if (options.allowReserved !== true) {
    reserved = reservedWords[options.ecmaVersion >= 6 ? 6 : options.ecmaVersion === 5 ? 5 : 3];
    if (options.sourceType === "module") { reserved += " await"; }
  }
  this.reservedWords = wordsRegexp(reserved);
  var reservedStrict = (reserved ? reserved + " " : "") + reservedWords.strict;
  this.reservedWordsStrict = wordsRegexp(reservedStrict);
  this.reservedWordsStrictBind = wordsRegexp(reservedStrict + " " + reservedWords.strictBind);
  this.input = String(input);

  // Used to signal to callers of `readWord1` whether the word
  // contained any escape sequences. This is needed because words with
  // escape sequences must not be interpreted as keywords.
  this.containsEsc = false;

  // Set up token state

  // The current position of the tokenizer in the input.
  if (startPos) {
    this.pos = startPos;
    this.lineStart = this.input.lastIndexOf("\n", startPos - 1) + 1;
    this.curLine = this.input.slice(0, this.lineStart).split(lineBreak).length;
  } else {
    this.pos = this.lineStart = 0;
    this.curLine = 1;
  }

  // Properties of the current token:
  // Its type
  this.type = types$1.eof;
  // For tokens that include more information than their type, the value
  this.value = null;
  // Its start and end offset
  this.start = this.end = this.pos;
  // And, if locations are used, the {line, column} object
  // corresponding to those offsets
  this.startLoc = this.endLoc = this.curPosition();

  // Position information for the previous token
  this.lastTokEndLoc = this.lastTokStartLoc = null;
  this.lastTokStart = this.lastTokEnd = this.pos;

  // The context stack is used to superficially track syntactic
  // context to predict whether a regular expression is allowed in a
  // given position.
  this.context = this.initialContext();
  this.exprAllowed = true;

  // Figure out if it's a module code.
  this.inModule = options.sourceType === "module";
  this.strict = this.inModule || this.strictDirective(this.pos);

  // Used to signify the start of a potential arrow function
  this.potentialArrowAt = -1;
  this.potentialArrowInForAwait = false;

  // Positions to delayed-check that yield/await does not exist in default parameters.
  this.yieldPos = this.awaitPos = this.awaitIdentPos = 0;
  // Labels in scope.
  this.labels = [];
  // Thus-far undefined exports.
  this.undefinedExports = Object.create(null);

  // If enabled, skip leading hashbang line.
  if (this.pos === 0 && options.allowHashBang && this.input.slice(0, 2) === "#!")
    { this.skipLineComment(2); }

  // Scope tracking for duplicate variable names (see scope.js)
  this.scopeStack = [];
  this.enterScope(SCOPE_TOP);

  // For RegExp validation
  this.regexpState = null;

  // The stack of private names.
  // Each element has two properties: 'declared' and 'used'.
  // When it exited from the outermost class definition, all used private names must be declared.
  this.privateNameStack = [];
};

var prototypeAccessors = { inFunction: { configurable: true },inGenerator: { configurable: true },inAsync: { configurable: true },canAwait: { configurable: true },allowSuper: { configurable: true },allowDirectSuper: { configurable: true },treatFunctionsAsVar: { configurable: true },allowNewDotTarget: { configurable: true },inClassStaticBlock: { configurable: true } };

Parser.prototype.parse = function parse () {
  var node = this.options.program || this.startNode();
  this.nextToken();
  return this.parseTopLevel(node)
};

prototypeAccessors.inFunction.get = function () { return (this.currentVarScope().flags & SCOPE_FUNCTION) > 0 };

prototypeAccessors.inGenerator.get = function () { return (this.currentVarScope().flags & SCOPE_GENERATOR) > 0 && !this.currentVarScope().inClassFieldInit };

prototypeAccessors.inAsync.get = function () { return (this.currentVarScope().flags & SCOPE_ASYNC) > 0 && !this.currentVarScope().inClassFieldInit };

prototypeAccessors.canAwait.get = function () {
  for (var i = this.scopeStack.length - 1; i >= 0; i--) {
    var scope = this.scopeStack[i];
    if (scope.inClassFieldInit || scope.flags & SCOPE_CLASS_STATIC_BLOCK) { return false }
    if (scope.flags & SCOPE_FUNCTION) { return (scope.flags & SCOPE_ASYNC) > 0 }
  }
  return (this.inModule && this.options.ecmaVersion >= 13) || this.options.allowAwaitOutsideFunction
};

prototypeAccessors.allowSuper.get = function () {
  var ref = this.currentThisScope();
    var flags = ref.flags;
    var inClassFieldInit = ref.inClassFieldInit;
  return (flags & SCOPE_SUPER) > 0 || inClassFieldInit || this.options.allowSuperOutsideMethod
};

prototypeAccessors.allowDirectSuper.get = function () { return (this.currentThisScope().flags & SCOPE_DIRECT_SUPER) > 0 };

prototypeAccessors.treatFunctionsAsVar.get = function () { return this.treatFunctionsAsVarInScope(this.currentScope()) };

prototypeAccessors.allowNewDotTarget.get = function () {
  var ref = this.currentThisScope();
    var flags = ref.flags;
    var inClassFieldInit = ref.inClassFieldInit;
  return (flags & (SCOPE_FUNCTION | SCOPE_CLASS_STATIC_BLOCK)) > 0 || inClassFieldInit
};

prototypeAccessors.inClassStaticBlock.get = function () {
  return (this.currentVarScope().flags & SCOPE_CLASS_STATIC_BLOCK) > 0
};

Parser.extend = function extend () {
    var plugins = [], len = arguments.length;
    while ( len-- ) plugins[ len ] = arguments[ len ];

  var cls = this;
  for (var i = 0; i < plugins.length; i++) { cls = plugins[i](cls); }
  return cls
};

Parser.parse = function parse (input, options) {
  return new this(options, input).parse()
};

Parser.parseExpressionAt = function parseExpressionAt (input, pos, options) {
  var parser = new this(options, input, pos);
  parser.nextToken();
  return parser.parseExpression()
};

Parser.tokenizer = function tokenizer (input, options) {
  return new this(options, input)
};

Object.defineProperties( Parser.prototype, prototypeAccessors );

var pp$9 = Parser.prototype;

// ## Parser utilities

var literal = /^(?:'((?:\\[^]|[^'\\])*?)'|"((?:\\[^]|[^"\\])*?)")/;
pp$9.strictDirective = function(start) {
  if (this.options.ecmaVersion < 5) { return false }
  for (;;) {
    // Try to find string literal.
    skipWhiteSpace.lastIndex = start;
    start += skipWhiteSpace.exec(this.input)[0].length;
    var match = literal.exec(this.input.slice(start));
    if (!match) { return false }
    if ((match[1] || match[2]) === "use strict") {
      skipWhiteSpace.lastIndex = start + match[0].length;
      var spaceAfter = skipWhiteSpace.exec(this.input), end = spaceAfter.index + spaceAfter[0].length;
      var next = this.input.charAt(end);
      return next === ";" || next === "}" ||
        (lineBreak.test(spaceAfter[0]) &&
         !(/[(`.[+\-/*%<>=,?^&]/.test(next) || next === "!" && this.input.charAt(end + 1) === "="))
    }
    start += match[0].length;

    // Skip semicolon, if any.
    skipWhiteSpace.lastIndex = start;
    start += skipWhiteSpace.exec(this.input)[0].length;
    if (this.input[start] === ";")
      { start++; }
  }
};

// Predicate that tests whether the next token is of the given
// type, and if yes, consumes it as a side effect.

pp$9.eat = function(type) {
  if (this.type === type) {
    this.next();
    return true
  } else {
    return false
  }
};

// Tests whether parsed token is a contextual keyword.

pp$9.isContextual = function(name) {
  return this.type === types$1.name && this.value === name && !this.containsEsc
};

// Consumes contextual keyword if possible.

pp$9.eatContextual = function(name) {
  if (!this.isContextual(name)) { return false }
  this.next();
  return true
};

// Asserts that following token is given contextual keyword.

pp$9.expectContextual = function(name) {
  if (!this.eatContextual(name)) { this.unexpected(); }
};

// Test whether a semicolon can be inserted at the current position.

pp$9.canInsertSemicolon = function() {
  return this.type === types$1.eof ||
    this.type === types$1.braceR ||
    lineBreak.test(this.input.slice(this.lastTokEnd, this.start))
};

pp$9.insertSemicolon = function() {
  if (this.canInsertSemicolon()) {
    if (this.options.onInsertedSemicolon)
      { this.options.onInsertedSemicolon(this.lastTokEnd, this.lastTokEndLoc); }
    return true
  }
};

// Consume a semicolon, or, failing that, see if we are allowed to
// pretend that there is a semicolon at this position.

pp$9.semicolon = function() {
  if (!this.eat(types$1.semi) && !this.insertSemicolon()) { this.unexpected(); }
};

pp$9.afterTrailingComma = function(tokType, notNext) {
  if (this.type === tokType) {
    if (this.options.onTrailingComma)
      { this.options.onTrailingComma(this.lastTokStart, this.lastTokStartLoc); }
    if (!notNext)
      { this.next(); }
    return true
  }
};

// Expect a token of a given type. If found, consume it, otherwise,
// raise an unexpected token error.

pp$9.expect = function(type) {
  this.eat(type) || this.unexpected();
};

// Raise an unexpected token error.

pp$9.unexpected = function(pos) {
  this.raise(pos != null ? pos : this.start, "Unexpected token");
};

var DestructuringErrors = function DestructuringErrors() {
  this.shorthandAssign =
  this.trailingComma =
  this.parenthesizedAssign =
  this.parenthesizedBind =
  this.doubleProto =
    -1;
};

pp$9.checkPatternErrors = function(refDestructuringErrors, isAssign) {
  if (!refDestructuringErrors) { return }
  if (refDestructuringErrors.trailingComma > -1)
    { this.raiseRecoverable(refDestructuringErrors.trailingComma, "Comma is not permitted after the rest element"); }
  var parens = isAssign ? refDestructuringErrors.parenthesizedAssign : refDestructuringErrors.parenthesizedBind;
  if (parens > -1) { this.raiseRecoverable(parens, isAssign ? "Assigning to rvalue" : "Parenthesized pattern"); }
};

pp$9.checkExpressionErrors = function(refDestructuringErrors, andThrow) {
  if (!refDestructuringErrors) { return false }
  var shorthandAssign = refDestructuringErrors.shorthandAssign;
  var doubleProto = refDestructuringErrors.doubleProto;
  if (!andThrow) { return shorthandAssign >= 0 || doubleProto >= 0 }
  if (shorthandAssign >= 0)
    { this.raise(shorthandAssign, "Shorthand property assignments are valid only in destructuring patterns"); }
  if (doubleProto >= 0)
    { this.raiseRecoverable(doubleProto, "Redefinition of __proto__ property"); }
};

pp$9.checkYieldAwaitInDefaultParams = function() {
  if (this.yieldPos && (!this.awaitPos || this.yieldPos < this.awaitPos))
    { this.raise(this.yieldPos, "Yield expression cannot be a default value"); }
  if (this.awaitPos)
    { this.raise(this.awaitPos, "Await expression cannot be a default value"); }
};

pp$9.isSimpleAssignTarget = function(expr) {
  if (expr.type === "ParenthesizedExpression")
    { return this.isSimpleAssignTarget(expr.expression) }
  return expr.type === "Identifier" || expr.type === "MemberExpression"
};

var pp$8 = Parser.prototype;

// ### Statement parsing

// Parse a program. Initializes the parser, reads any number of
// statements, and wraps them in a Program node.  Optionally takes a
// `program` argument.  If present, the statements will be appended
// to its body instead of creating a new node.

pp$8.parseTopLevel = function(node) {
  var exports = Object.create(null);
  if (!node.body) { node.body = []; }
  while (this.type !== types$1.eof) {
    var stmt = this.parseStatement(null, true, exports);
    node.body.push(stmt);
  }
  if (this.inModule)
    { for (var i = 0, list = Object.keys(this.undefinedExports); i < list.length; i += 1)
      {
        var name = list[i];

        this.raiseRecoverable(this.undefinedExports[name].start, ("Export '" + name + "' is not defined"));
      } }
  this.adaptDirectivePrologue(node.body);
  this.next();
  node.sourceType = this.options.sourceType;
  return this.finishNode(node, "Program")
};

var loopLabel = {kind: "loop"}, switchLabel = {kind: "switch"};

pp$8.isLet = function(context) {
  if (this.options.ecmaVersion < 6 || !this.isContextual("let")) { return false }
  skipWhiteSpace.lastIndex = this.pos;
  var skip = skipWhiteSpace.exec(this.input);
  var next = this.pos + skip[0].length, nextCh = this.input.charCodeAt(next);
  // For ambiguous cases, determine if a LexicalDeclaration (or only a
  // Statement) is allowed here. If context is not empty then only a Statement
  // is allowed. However, `let [` is an explicit negative lookahead for
  // ExpressionStatement, so special-case it first.
  if (nextCh === 91 || nextCh === 92) { return true } // '[', '\'
  if (context) { return false }

  if (nextCh === 123 || nextCh > 0xd7ff && nextCh < 0xdc00) { return true } // '{', astral
  if (isIdentifierStart(nextCh, true)) {
    var pos = next + 1;
    while (isIdentifierChar(nextCh = this.input.charCodeAt(pos), true)) { ++pos; }
    if (nextCh === 92 || nextCh > 0xd7ff && nextCh < 0xdc00) { return true }
    var ident = this.input.slice(next, pos);
    if (!keywordRelationalOperator.test(ident)) { return true }
  }
  return false
};

// check 'async [no LineTerminator here] function'
// - 'async /*foo*/ function' is OK.
// - 'async /*\n*/ function' is invalid.
pp$8.isAsyncFunction = function() {
  if (this.options.ecmaVersion < 8 || !this.isContextual("async"))
    { return false }

  skipWhiteSpace.lastIndex = this.pos;
  var skip = skipWhiteSpace.exec(this.input);
  var next = this.pos + skip[0].length, after;
  return !lineBreak.test(this.input.slice(this.pos, next)) &&
    this.input.slice(next, next + 8) === "function" &&
    (next + 8 === this.input.length ||
     !(isIdentifierChar(after = this.input.charCodeAt(next + 8)) || after > 0xd7ff && after < 0xdc00))
};

// Parse a single statement.
//
// If expecting a statement and finding a slash operator, parse a
// regular expression literal. This is to handle cases like
// `if (foo) /blah/.exec(foo)`, where looking at the previous token
// does not help.

pp$8.parseStatement = function(context, topLevel, exports) {
  var starttype = this.type, node = this.startNode(), kind;

  if (this.isLet(context)) {
    starttype = types$1._var;
    kind = "let";
  }

  // Most types of statements are recognized by the keyword they
  // start with. Many are trivial to parse, some require a bit of
  // complexity.

  switch (starttype) {
  case types$1._break: case types$1._continue: return this.parseBreakContinueStatement(node, starttype.keyword)
  case types$1._debugger: return this.parseDebuggerStatement(node)
  case types$1._do: return this.parseDoStatement(node)
  case types$1._for: return this.parseForStatement(node)
  case types$1._function:
    // Function as sole body of either an if statement or a labeled statement
    // works, but not when it is part of a labeled statement that is the sole
    // body of an if statement.
    if ((context && (this.strict || context !== "if" && context !== "label")) && this.options.ecmaVersion >= 6) { this.unexpected(); }
    return this.parseFunctionStatement(node, false, !context)
  case types$1._class:
    if (context) { this.unexpected(); }
    return this.parseClass(node, true)
  case types$1._if: return this.parseIfStatement(node)
  case types$1._return: return this.parseReturnStatement(node)
  case types$1._switch: return this.parseSwitchStatement(node)
  case types$1._throw: return this.parseThrowStatement(node)
  case types$1._try: return this.parseTryStatement(node)
  case types$1._const: case types$1._var:
    kind = kind || this.value;
    if (context && kind !== "var") { this.unexpected(); }
    return this.parseVarStatement(node, kind)
  case types$1._while: return this.parseWhileStatement(node)
  case types$1._with: return this.parseWithStatement(node)
  case types$1.braceL: return this.parseBlock(true, node)
  case types$1.semi: return this.parseEmptyStatement(node)
  case types$1._export:
  case types$1._import:
    if (this.options.ecmaVersion > 10 && starttype === types$1._import) {
      skipWhiteSpace.lastIndex = this.pos;
      var skip = skipWhiteSpace.exec(this.input);
      var next = this.pos + skip[0].length, nextCh = this.input.charCodeAt(next);
      if (nextCh === 40 || nextCh === 46) // '(' or '.'
        { return this.parseExpressionStatement(node, this.parseExpression()) }
    }

    if (!this.options.allowImportExportEverywhere) {
      if (!topLevel)
        { this.raise(this.start, "'import' and 'export' may only appear at the top level"); }
      if (!this.inModule)
        { this.raise(this.start, "'import' and 'export' may appear only with 'sourceType: module'"); }
    }
    return starttype === types$1._import ? this.parseImport(node) : this.parseExport(node, exports)

    // If the statement does not start with a statement keyword or a
    // brace, it's an ExpressionStatement or LabeledStatement. We
    // simply start parsing an expression, and afterwards, if the
    // next token is a colon and the expression was a simple
    // Identifier node, we switch to interpreting it as a label.
  default:
    if (this.isAsyncFunction()) {
      if (context) { this.unexpected(); }
      this.next();
      return this.parseFunctionStatement(node, true, !context)
    }

    var maybeName = this.value, expr = this.parseExpression();
    if (starttype === types$1.name && expr.type === "Identifier" && this.eat(types$1.colon))
      { return this.parseLabeledStatement(node, maybeName, expr, context) }
    else { return this.parseExpressionStatement(node, expr) }
  }
};

pp$8.parseBreakContinueStatement = function(node, keyword) {
  var isBreak = keyword === "break";
  this.next();
  if (this.eat(types$1.semi) || this.insertSemicolon()) { node.label = null; }
  else if (this.type !== types$1.name) { this.unexpected(); }
  else {
    node.label = this.parseIdent();
    this.semicolon();
  }

  // Verify that there is an actual destination to break or
  // continue to.
  var i = 0;
  for (; i < this.labels.length; ++i) {
    var lab = this.labels[i];
    if (node.label == null || lab.name === node.label.name) {
      if (lab.kind != null && (isBreak || lab.kind === "loop")) { break }
      if (node.label && isBreak) { break }
    }
  }
  if (i === this.labels.length) { this.raise(node.start, "Unsyntactic " + keyword); }
  return this.finishNode(node, isBreak ? "BreakStatement" : "ContinueStatement")
};

pp$8.parseDebuggerStatement = function(node) {
  this.next();
  this.semicolon();
  return this.finishNode(node, "DebuggerStatement")
};

pp$8.parseDoStatement = function(node) {
  this.next();
  this.labels.push(loopLabel);
  node.body = this.parseStatement("do");
  this.labels.pop();
  this.expect(types$1._while);
  node.test = this.parseParenExpression();
  if (this.options.ecmaVersion >= 6)
    { this.eat(types$1.semi); }
  else
    { this.semicolon(); }
  return this.finishNode(node, "DoWhileStatement")
};

// Disambiguating between a `for` and a `for`/`in` or `for`/`of`
// loop is non-trivial. Basically, we have to parse the init `var`
// statement or expression, disallowing the `in` operator (see
// the second parameter to `parseExpression`), and then check
// whether the next token is `in` or `of`. When there is no init
// part (semicolon immediately after the opening parenthesis), it
// is a regular `for` loop.

pp$8.parseForStatement = function(node) {
  this.next();
  var awaitAt = (this.options.ecmaVersion >= 9 && this.canAwait && this.eatContextual("await")) ? this.lastTokStart : -1;
  this.labels.push(loopLabel);
  this.enterScope(0);
  this.expect(types$1.parenL);
  if (this.type === types$1.semi) {
    if (awaitAt > -1) { this.unexpected(awaitAt); }
    return this.parseFor(node, null)
  }
  var isLet = this.isLet();
  if (this.type === types$1._var || this.type === types$1._const || isLet) {
    var init$1 = this.startNode(), kind = isLet ? "let" : this.value;
    this.next();
    this.parseVar(init$1, true, kind);
    this.finishNode(init$1, "VariableDeclaration");
    if ((this.type === types$1._in || (this.options.ecmaVersion >= 6 && this.isContextual("of"))) && init$1.declarations.length === 1) {
      if (this.options.ecmaVersion >= 9) {
        if (this.type === types$1._in) {
          if (awaitAt > -1) { this.unexpected(awaitAt); }
        } else { node.await = awaitAt > -1; }
      }
      return this.parseForIn(node, init$1)
    }
    if (awaitAt > -1) { this.unexpected(awaitAt); }
    return this.parseFor(node, init$1)
  }
  var startsWithLet = this.isContextual("let"), isForOf = false;
  var containsEsc = this.containsEsc;
  var refDestructuringErrors = new DestructuringErrors;
  var initPos = this.start;
  var init = awaitAt > -1
    ? this.parseExprSubscripts(refDestructuringErrors, "await")
    : this.parseExpression(true, refDestructuringErrors);
  if (this.type === types$1._in || (isForOf = this.options.ecmaVersion >= 6 && this.isContextual("of"))) {
    if (awaitAt > -1) { // implies `ecmaVersion >= 9` (see declaration of awaitAt)
      if (this.type === types$1._in) { this.unexpected(awaitAt); }
      node.await = true;
    } else if (isForOf && this.options.ecmaVersion >= 8) {
      if (init.start === initPos && !containsEsc && init.type === "Identifier" && init.name === "async") { this.unexpected(); }
      else if (this.options.ecmaVersion >= 9) { node.await = false; }
    }
    if (startsWithLet && isForOf) { this.raise(init.start, "The left-hand side of a for-of loop may not start with 'let'."); }
    this.toAssignable(init, false, refDestructuringErrors);
    this.checkLValPattern(init);
    return this.parseForIn(node, init)
  } else {
    this.checkExpressionErrors(refDestructuringErrors, true);
  }
  if (awaitAt > -1) { this.unexpected(awaitAt); }
  return this.parseFor(node, init)
};

pp$8.parseFunctionStatement = function(node, isAsync, declarationPosition) {
  this.next();
  return this.parseFunction(node, FUNC_STATEMENT | (declarationPosition ? 0 : FUNC_HANGING_STATEMENT), false, isAsync)
};

pp$8.parseIfStatement = function(node) {
  this.next();
  node.test = this.parseParenExpression();
  // allow function declarations in branches, but only in non-strict mode
  node.consequent = this.parseStatement("if");
  node.alternate = this.eat(types$1._else) ? this.parseStatement("if") : null;
  return this.finishNode(node, "IfStatement")
};

pp$8.parseReturnStatement = function(node) {
  if (!this.inFunction && !this.options.allowReturnOutsideFunction)
    { this.raise(this.start, "'return' outside of function"); }
  this.next();

  // In `return` (and `break`/`continue`), the keywords with
  // optional arguments, we eagerly look for a semicolon or the
  // possibility to insert one.

  if (this.eat(types$1.semi) || this.insertSemicolon()) { node.argument = null; }
  else { node.argument = this.parseExpression(); this.semicolon(); }
  return this.finishNode(node, "ReturnStatement")
};

pp$8.parseSwitchStatement = function(node) {
  this.next();
  node.discriminant = this.parseParenExpression();
  node.cases = [];
  this.expect(types$1.braceL);
  this.labels.push(switchLabel);
  this.enterScope(0);

  // Statements under must be grouped (by label) in SwitchCase
  // nodes. `cur` is used to keep the node that we are currently
  // adding statements to.

  var cur;
  for (var sawDefault = false; this.type !== types$1.braceR;) {
    if (this.type === types$1._case || this.type === types$1._default) {
      var isCase = this.type === types$1._case;
      if (cur) { this.finishNode(cur, "SwitchCase"); }
      node.cases.push(cur = this.startNode());
      cur.consequent = [];
      this.next();
      if (isCase) {
        cur.test = this.parseExpression();
      } else {
        if (sawDefault) { this.raiseRecoverable(this.lastTokStart, "Multiple default clauses"); }
        sawDefault = true;
        cur.test = null;
      }
      this.expect(types$1.colon);
    } else {
      if (!cur) { this.unexpected(); }
      cur.consequent.push(this.parseStatement(null));
    }
  }
  this.exitScope();
  if (cur) { this.finishNode(cur, "SwitchCase"); }
  this.next(); // Closing brace
  this.labels.pop();
  return this.finishNode(node, "SwitchStatement")
};

pp$8.parseThrowStatement = function(node) {
  this.next();
  if (lineBreak.test(this.input.slice(this.lastTokEnd, this.start)))
    { this.raise(this.lastTokEnd, "Illegal newline after throw"); }
  node.argument = this.parseExpression();
  this.semicolon();
  return this.finishNode(node, "ThrowStatement")
};

// Reused empty array added for node fields that are always empty.

var empty$1 = [];

pp$8.parseCatchClauseParam = function() {
  var param = this.parseBindingAtom();
  var simple = param.type === "Identifier";
  this.enterScope(simple ? SCOPE_SIMPLE_CATCH : 0);
  this.checkLValPattern(param, simple ? BIND_SIMPLE_CATCH : BIND_LEXICAL);
  this.expect(types$1.parenR);

  return param
};

pp$8.parseTryStatement = function(node) {
  this.next();
  node.block = this.parseBlock();
  node.handler = null;
  if (this.type === types$1._catch) {
    var clause = this.startNode();
    this.next();
    if (this.eat(types$1.parenL)) {
      clause.param = this.parseCatchClauseParam();
    } else {
      if (this.options.ecmaVersion < 10) { this.unexpected(); }
      clause.param = null;
      this.enterScope(0);
    }
    clause.body = this.parseBlock(false);
    this.exitScope();
    node.handler = this.finishNode(clause, "CatchClause");
  }
  node.finalizer = this.eat(types$1._finally) ? this.parseBlock() : null;
  if (!node.handler && !node.finalizer)
    { this.raise(node.start, "Missing catch or finally clause"); }
  return this.finishNode(node, "TryStatement")
};

pp$8.parseVarStatement = function(node, kind, allowMissingInitializer) {
  this.next();
  this.parseVar(node, false, kind, allowMissingInitializer);
  this.semicolon();
  return this.finishNode(node, "VariableDeclaration")
};

pp$8.parseWhileStatement = function(node) {
  this.next();
  node.test = this.parseParenExpression();
  this.labels.push(loopLabel);
  node.body = this.parseStatement("while");
  this.labels.pop();
  return this.finishNode(node, "WhileStatement")
};

pp$8.parseWithStatement = function(node) {
  if (this.strict) { this.raise(this.start, "'with' in strict mode"); }
  this.next();
  node.object = this.parseParenExpression();
  node.body = this.parseStatement("with");
  return this.finishNode(node, "WithStatement")
};

pp$8.parseEmptyStatement = function(node) {
  this.next();
  return this.finishNode(node, "EmptyStatement")
};

pp$8.parseLabeledStatement = function(node, maybeName, expr, context) {
  for (var i$1 = 0, list = this.labels; i$1 < list.length; i$1 += 1)
    {
    var label = list[i$1];

    if (label.name === maybeName)
      { this.raise(expr.start, "Label '" + maybeName + "' is already declared");
  } }
  var kind = this.type.isLoop ? "loop" : this.type === types$1._switch ? "switch" : null;
  for (var i = this.labels.length - 1; i >= 0; i--) {
    var label$1 = this.labels[i];
    if (label$1.statementStart === node.start) {
      // Update information about previous labels on this node
      label$1.statementStart = this.start;
      label$1.kind = kind;
    } else { break }
  }
  this.labels.push({name: maybeName, kind: kind, statementStart: this.start});
  node.body = this.parseStatement(context ? context.indexOf("label") === -1 ? context + "label" : context : "label");
  this.labels.pop();
  node.label = expr;
  return this.finishNode(node, "LabeledStatement")
};

pp$8.parseExpressionStatement = function(node, expr) {
  node.expression = expr;
  this.semicolon();
  return this.finishNode(node, "ExpressionStatement")
};

// Parse a semicolon-enclosed block of statements, handling `"use
// strict"` declarations when `allowStrict` is true (used for
// function bodies).

pp$8.parseBlock = function(createNewLexicalScope, node, exitStrict) {
  if ( createNewLexicalScope === void 0 ) createNewLexicalScope = true;
  if ( node === void 0 ) node = this.startNode();

  node.body = [];
  this.expect(types$1.braceL);
  if (createNewLexicalScope) { this.enterScope(0); }
  while (this.type !== types$1.braceR) {
    var stmt = this.parseStatement(null);
    node.body.push(stmt);
  }
  if (exitStrict) { this.strict = false; }
  this.next();
  if (createNewLexicalScope) { this.exitScope(); }
  return this.finishNode(node, "BlockStatement")
};

// Parse a regular `for` loop. The disambiguation code in
// `parseStatement` will already have parsed the init statement or
// expression.

pp$8.parseFor = function(node, init) {
  node.init = init;
  this.expect(types$1.semi);
  node.test = this.type === types$1.semi ? null : this.parseExpression();
  this.expect(types$1.semi);
  node.update = this.type === types$1.parenR ? null : this.parseExpression();
  this.expect(types$1.parenR);
  node.body = this.parseStatement("for");
  this.exitScope();
  this.labels.pop();
  return this.finishNode(node, "ForStatement")
};

// Parse a `for`/`in` and `for`/`of` loop, which are almost
// same from parser's perspective.

pp$8.parseForIn = function(node, init) {
  var isForIn = this.type === types$1._in;
  this.next();

  if (
    init.type === "VariableDeclaration" &&
    init.declarations[0].init != null &&
    (
      !isForIn ||
      this.options.ecmaVersion < 8 ||
      this.strict ||
      init.kind !== "var" ||
      init.declarations[0].id.type !== "Identifier"
    )
  ) {
    this.raise(
      init.start,
      ((isForIn ? "for-in" : "for-of") + " loop variable declaration may not have an initializer")
    );
  }
  node.left = init;
  node.right = isForIn ? this.parseExpression() : this.parseMaybeAssign();
  this.expect(types$1.parenR);
  node.body = this.parseStatement("for");
  this.exitScope();
  this.labels.pop();
  return this.finishNode(node, isForIn ? "ForInStatement" : "ForOfStatement")
};

// Parse a list of variable declarations.

pp$8.parseVar = function(node, isFor, kind, allowMissingInitializer) {
  node.declarations = [];
  node.kind = kind;
  for (;;) {
    var decl = this.startNode();
    this.parseVarId(decl, kind);
    if (this.eat(types$1.eq)) {
      decl.init = this.parseMaybeAssign(isFor);
    } else if (!allowMissingInitializer && kind === "const" && !(this.type === types$1._in || (this.options.ecmaVersion >= 6 && this.isContextual("of")))) {
      this.unexpected();
    } else if (!allowMissingInitializer && decl.id.type !== "Identifier" && !(isFor && (this.type === types$1._in || this.isContextual("of")))) {
      this.raise(this.lastTokEnd, "Complex binding patterns require an initialization value");
    } else {
      decl.init = null;
    }
    node.declarations.push(this.finishNode(decl, "VariableDeclarator"));
    if (!this.eat(types$1.comma)) { break }
  }
  return node
};

pp$8.parseVarId = function(decl, kind) {
  decl.id = this.parseBindingAtom();
  this.checkLValPattern(decl.id, kind === "var" ? BIND_VAR : BIND_LEXICAL, false);
};

var FUNC_STATEMENT = 1, FUNC_HANGING_STATEMENT = 2, FUNC_NULLABLE_ID = 4;

// Parse a function declaration or literal (depending on the
// `statement & FUNC_STATEMENT`).

// Remove `allowExpressionBody` for 7.0.0, as it is only called with false
pp$8.parseFunction = function(node, statement, allowExpressionBody, isAsync, forInit) {
  this.initFunction(node);
  if (this.options.ecmaVersion >= 9 || this.options.ecmaVersion >= 6 && !isAsync) {
    if (this.type === types$1.star && (statement & FUNC_HANGING_STATEMENT))
      { this.unexpected(); }
    node.generator = this.eat(types$1.star);
  }
  if (this.options.ecmaVersion >= 8)
    { node.async = !!isAsync; }

  if (statement & FUNC_STATEMENT) {
    node.id = (statement & FUNC_NULLABLE_ID) && this.type !== types$1.name ? null : this.parseIdent();
    if (node.id && !(statement & FUNC_HANGING_STATEMENT))
      // If it is a regular function declaration in sloppy mode, then it is
      // subject to Annex B semantics (BIND_FUNCTION). Otherwise, the binding
      // mode depends on properties of the current scope (see
      // treatFunctionsAsVar).
      { this.checkLValSimple(node.id, (this.strict || node.generator || node.async) ? this.treatFunctionsAsVar ? BIND_VAR : BIND_LEXICAL : BIND_FUNCTION); }
  }

  var oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, oldAwaitIdentPos = this.awaitIdentPos;
  this.yieldPos = 0;
  this.awaitPos = 0;
  this.awaitIdentPos = 0;
  this.enterScope(functionFlags(node.async, node.generator));

  if (!(statement & FUNC_STATEMENT))
    { node.id = this.type === types$1.name ? this.parseIdent() : null; }

  this.parseFunctionParams(node);
  this.parseFunctionBody(node, allowExpressionBody, false, forInit);

  this.yieldPos = oldYieldPos;
  this.awaitPos = oldAwaitPos;
  this.awaitIdentPos = oldAwaitIdentPos;
  return this.finishNode(node, (statement & FUNC_STATEMENT) ? "FunctionDeclaration" : "FunctionExpression")
};

pp$8.parseFunctionParams = function(node) {
  this.expect(types$1.parenL);
  node.params = this.parseBindingList(types$1.parenR, false, this.options.ecmaVersion >= 8);
  this.checkYieldAwaitInDefaultParams();
};

// Parse a class declaration or literal (depending on the
// `isStatement` parameter).

pp$8.parseClass = function(node, isStatement) {
  this.next();

  // ecma-262 14.6 Class Definitions
  // A class definition is always strict mode code.
  var oldStrict = this.strict;
  this.strict = true;

  this.parseClassId(node, isStatement);
  this.parseClassSuper(node);
  var privateNameMap = this.enterClassBody();
  var classBody = this.startNode();
  var hadConstructor = false;
  classBody.body = [];
  this.expect(types$1.braceL);
  while (this.type !== types$1.braceR) {
    var element = this.parseClassElement(node.superClass !== null);
    if (element) {
      classBody.body.push(element);
      if (element.type === "MethodDefinition" && element.kind === "constructor") {
        if (hadConstructor) { this.raiseRecoverable(element.start, "Duplicate constructor in the same class"); }
        hadConstructor = true;
      } else if (element.key && element.key.type === "PrivateIdentifier" && isPrivateNameConflicted(privateNameMap, element)) {
        this.raiseRecoverable(element.key.start, ("Identifier '#" + (element.key.name) + "' has already been declared"));
      }
    }
  }
  this.strict = oldStrict;
  this.next();
  node.body = this.finishNode(classBody, "ClassBody");
  this.exitClassBody();
  return this.finishNode(node, isStatement ? "ClassDeclaration" : "ClassExpression")
};

pp$8.parseClassElement = function(constructorAllowsSuper) {
  if (this.eat(types$1.semi)) { return null }

  var ecmaVersion = this.options.ecmaVersion;
  var node = this.startNode();
  var keyName = "";
  var isGenerator = false;
  var isAsync = false;
  var kind = "method";
  var isStatic = false;

  if (this.eatContextual("static")) {
    // Parse static init block
    if (ecmaVersion >= 13 && this.eat(types$1.braceL)) {
      this.parseClassStaticBlock(node);
      return node
    }
    if (this.isClassElementNameStart() || this.type === types$1.star) {
      isStatic = true;
    } else {
      keyName = "static";
    }
  }
  node.static = isStatic;
  if (!keyName && ecmaVersion >= 8 && this.eatContextual("async")) {
    if ((this.isClassElementNameStart() || this.type === types$1.star) && !this.canInsertSemicolon()) {
      isAsync = true;
    } else {
      keyName = "async";
    }
  }
  if (!keyName && (ecmaVersion >= 9 || !isAsync) && this.eat(types$1.star)) {
    isGenerator = true;
  }
  if (!keyName && !isAsync && !isGenerator) {
    var lastValue = this.value;
    if (this.eatContextual("get") || this.eatContextual("set")) {
      if (this.isClassElementNameStart()) {
        kind = lastValue;
      } else {
        keyName = lastValue;
      }
    }
  }

  // Parse element name
  if (keyName) {
    // 'async', 'get', 'set', or 'static' were not a keyword contextually.
    // The last token is any of those. Make it the element name.
    node.computed = false;
    node.key = this.startNodeAt(this.lastTokStart, this.lastTokStartLoc);
    node.key.name = keyName;
    this.finishNode(node.key, "Identifier");
  } else {
    this.parseClassElementName(node);
  }

  // Parse element value
  if (ecmaVersion < 13 || this.type === types$1.parenL || kind !== "method" || isGenerator || isAsync) {
    var isConstructor = !node.static && checkKeyName(node, "constructor");
    var allowsDirectSuper = isConstructor && constructorAllowsSuper;
    // Couldn't move this check into the 'parseClassMethod' method for backward compatibility.
    if (isConstructor && kind !== "method") { this.raise(node.key.start, "Constructor can't have get/set modifier"); }
    node.kind = isConstructor ? "constructor" : kind;
    this.parseClassMethod(node, isGenerator, isAsync, allowsDirectSuper);
  } else {
    this.parseClassField(node);
  }

  return node
};

pp$8.isClassElementNameStart = function() {
  return (
    this.type === types$1.name ||
    this.type === types$1.privateId ||
    this.type === types$1.num ||
    this.type === types$1.string ||
    this.type === types$1.bracketL ||
    this.type.keyword
  )
};

pp$8.parseClassElementName = function(element) {
  if (this.type === types$1.privateId) {
    if (this.value === "constructor") {
      this.raise(this.start, "Classes can't have an element named '#constructor'");
    }
    element.computed = false;
    element.key = this.parsePrivateIdent();
  } else {
    this.parsePropertyName(element);
  }
};

pp$8.parseClassMethod = function(method, isGenerator, isAsync, allowsDirectSuper) {
  // Check key and flags
  var key = method.key;
  if (method.kind === "constructor") {
    if (isGenerator) { this.raise(key.start, "Constructor can't be a generator"); }
    if (isAsync) { this.raise(key.start, "Constructor can't be an async method"); }
  } else if (method.static && checkKeyName(method, "prototype")) {
    this.raise(key.start, "Classes may not have a static property named prototype");
  }

  // Parse value
  var value = method.value = this.parseMethod(isGenerator, isAsync, allowsDirectSuper);

  // Check value
  if (method.kind === "get" && value.params.length !== 0)
    { this.raiseRecoverable(value.start, "getter should have no params"); }
  if (method.kind === "set" && value.params.length !== 1)
    { this.raiseRecoverable(value.start, "setter should have exactly one param"); }
  if (method.kind === "set" && value.params[0].type === "RestElement")
    { this.raiseRecoverable(value.params[0].start, "Setter cannot use rest params"); }

  return this.finishNode(method, "MethodDefinition")
};

pp$8.parseClassField = function(field) {
  if (checkKeyName(field, "constructor")) {
    this.raise(field.key.start, "Classes can't have a field named 'constructor'");
  } else if (field.static && checkKeyName(field, "prototype")) {
    this.raise(field.key.start, "Classes can't have a static field named 'prototype'");
  }

  if (this.eat(types$1.eq)) {
    // To raise SyntaxError if 'arguments' exists in the initializer.
    var scope = this.currentThisScope();
    var inClassFieldInit = scope.inClassFieldInit;
    scope.inClassFieldInit = true;
    field.value = this.parseMaybeAssign();
    scope.inClassFieldInit = inClassFieldInit;
  } else {
    field.value = null;
  }
  this.semicolon();

  return this.finishNode(field, "PropertyDefinition")
};

pp$8.parseClassStaticBlock = function(node) {
  node.body = [];

  var oldLabels = this.labels;
  this.labels = [];
  this.enterScope(SCOPE_CLASS_STATIC_BLOCK | SCOPE_SUPER);
  while (this.type !== types$1.braceR) {
    var stmt = this.parseStatement(null);
    node.body.push(stmt);
  }
  this.next();
  this.exitScope();
  this.labels = oldLabels;

  return this.finishNode(node, "StaticBlock")
};

pp$8.parseClassId = function(node, isStatement) {
  if (this.type === types$1.name) {
    node.id = this.parseIdent();
    if (isStatement)
      { this.checkLValSimple(node.id, BIND_LEXICAL, false); }
  } else {
    if (isStatement === true)
      { this.unexpected(); }
    node.id = null;
  }
};

pp$8.parseClassSuper = function(node) {
  node.superClass = this.eat(types$1._extends) ? this.parseExprSubscripts(null, false) : null;
};

pp$8.enterClassBody = function() {
  var element = {declared: Object.create(null), used: []};
  this.privateNameStack.push(element);
  return element.declared
};

pp$8.exitClassBody = function() {
  var ref = this.privateNameStack.pop();
  var declared = ref.declared;
  var used = ref.used;
  if (!this.options.checkPrivateFields) { return }
  var len = this.privateNameStack.length;
  var parent = len === 0 ? null : this.privateNameStack[len - 1];
  for (var i = 0; i < used.length; ++i) {
    var id = used[i];
    if (!hasOwn(declared, id.name)) {
      if (parent) {
        parent.used.push(id);
      } else {
        this.raiseRecoverable(id.start, ("Private field '#" + (id.name) + "' must be declared in an enclosing class"));
      }
    }
  }
};

function isPrivateNameConflicted(privateNameMap, element) {
  var name = element.key.name;
  var curr = privateNameMap[name];

  var next = "true";
  if (element.type === "MethodDefinition" && (element.kind === "get" || element.kind === "set")) {
    next = (element.static ? "s" : "i") + element.kind;
  }

  // `class { get #a(){}; static set #a(_){} }` is also conflict.
  if (
    curr === "iget" && next === "iset" ||
    curr === "iset" && next === "iget" ||
    curr === "sget" && next === "sset" ||
    curr === "sset" && next === "sget"
  ) {
    privateNameMap[name] = "true";
    return false
  } else if (!curr) {
    privateNameMap[name] = next;
    return false
  } else {
    return true
  }
}

function checkKeyName(node, name) {
  var computed = node.computed;
  var key = node.key;
  return !computed && (
    key.type === "Identifier" && key.name === name ||
    key.type === "Literal" && key.value === name
  )
}

// Parses module export declaration.

pp$8.parseExportAllDeclaration = function(node, exports) {
  if (this.options.ecmaVersion >= 11) {
    if (this.eatContextual("as")) {
      node.exported = this.parseModuleExportName();
      this.checkExport(exports, node.exported, this.lastTokStart);
    } else {
      node.exported = null;
    }
  }
  this.expectContextual("from");
  if (this.type !== types$1.string) { this.unexpected(); }
  node.source = this.parseExprAtom();
  if (this.options.ecmaVersion >= 16)
    { node.attributes = this.parseWithClause(); }
  this.semicolon();
  return this.finishNode(node, "ExportAllDeclaration")
};

pp$8.parseExport = function(node, exports) {
  this.next();
  // export * from '...'
  if (this.eat(types$1.star)) {
    return this.parseExportAllDeclaration(node, exports)
  }
  if (this.eat(types$1._default)) { // export default ...
    this.checkExport(exports, "default", this.lastTokStart);
    node.declaration = this.parseExportDefaultDeclaration();
    return this.finishNode(node, "ExportDefaultDeclaration")
  }
  // export var|const|let|function|class ...
  if (this.shouldParseExportStatement()) {
    node.declaration = this.parseExportDeclaration(node);
    if (node.declaration.type === "VariableDeclaration")
      { this.checkVariableExport(exports, node.declaration.declarations); }
    else
      { this.checkExport(exports, node.declaration.id, node.declaration.id.start); }
    node.specifiers = [];
    node.source = null;
  } else { // export { x, y as z } [from '...']
    node.declaration = null;
    node.specifiers = this.parseExportSpecifiers(exports);
    if (this.eatContextual("from")) {
      if (this.type !== types$1.string) { this.unexpected(); }
      node.source = this.parseExprAtom();
      if (this.options.ecmaVersion >= 16)
        { node.attributes = this.parseWithClause(); }
    } else {
      for (var i = 0, list = node.specifiers; i < list.length; i += 1) {
        // check for keywords used as local names
        var spec = list[i];

        this.checkUnreserved(spec.local);
        // check if export is defined
        this.checkLocalExport(spec.local);

        if (spec.local.type === "Literal") {
          this.raise(spec.local.start, "A string literal cannot be used as an exported binding without `from`.");
        }
      }

      node.source = null;
    }
    this.semicolon();
  }
  return this.finishNode(node, "ExportNamedDeclaration")
};

pp$8.parseExportDeclaration = function(node) {
  return this.parseStatement(null)
};

pp$8.parseExportDefaultDeclaration = function() {
  var isAsync;
  if (this.type === types$1._function || (isAsync = this.isAsyncFunction())) {
    var fNode = this.startNode();
    this.next();
    if (isAsync) { this.next(); }
    return this.parseFunction(fNode, FUNC_STATEMENT | FUNC_NULLABLE_ID, false, isAsync)
  } else if (this.type === types$1._class) {
    var cNode = this.startNode();
    return this.parseClass(cNode, "nullableID")
  } else {
    var declaration = this.parseMaybeAssign();
    this.semicolon();
    return declaration
  }
};

pp$8.checkExport = function(exports, name, pos) {
  if (!exports) { return }
  if (typeof name !== "string")
    { name = name.type === "Identifier" ? name.name : name.value; }
  if (hasOwn(exports, name))
    { this.raiseRecoverable(pos, "Duplicate export '" + name + "'"); }
  exports[name] = true;
};

pp$8.checkPatternExport = function(exports, pat) {
  var type = pat.type;
  if (type === "Identifier")
    { this.checkExport(exports, pat, pat.start); }
  else if (type === "ObjectPattern")
    { for (var i = 0, list = pat.properties; i < list.length; i += 1)
      {
        var prop = list[i];

        this.checkPatternExport(exports, prop);
      } }
  else if (type === "ArrayPattern")
    { for (var i$1 = 0, list$1 = pat.elements; i$1 < list$1.length; i$1 += 1) {
      var elt = list$1[i$1];

        if (elt) { this.checkPatternExport(exports, elt); }
    } }
  else if (type === "Property")
    { this.checkPatternExport(exports, pat.value); }
  else if (type === "AssignmentPattern")
    { this.checkPatternExport(exports, pat.left); }
  else if (type === "RestElement")
    { this.checkPatternExport(exports, pat.argument); }
};

pp$8.checkVariableExport = function(exports, decls) {
  if (!exports) { return }
  for (var i = 0, list = decls; i < list.length; i += 1)
    {
    var decl = list[i];

    this.checkPatternExport(exports, decl.id);
  }
};

pp$8.shouldParseExportStatement = function() {
  return this.type.keyword === "var" ||
    this.type.keyword === "const" ||
    this.type.keyword === "class" ||
    this.type.keyword === "function" ||
    this.isLet() ||
    this.isAsyncFunction()
};

// Parses a comma-separated list of module exports.

pp$8.parseExportSpecifier = function(exports) {
  var node = this.startNode();
  node.local = this.parseModuleExportName();

  node.exported = this.eatContextual("as") ? this.parseModuleExportName() : node.local;
  this.checkExport(
    exports,
    node.exported,
    node.exported.start
  );

  return this.finishNode(node, "ExportSpecifier")
};

pp$8.parseExportSpecifiers = function(exports) {
  var nodes = [], first = true;
  // export { x, y as z } [from '...']
  this.expect(types$1.braceL);
  while (!this.eat(types$1.braceR)) {
    if (!first) {
      this.expect(types$1.comma);
      if (this.afterTrailingComma(types$1.braceR)) { break }
    } else { first = false; }

    nodes.push(this.parseExportSpecifier(exports));
  }
  return nodes
};

// Parses import declaration.

pp$8.parseImport = function(node) {
  this.next();

  // import '...'
  if (this.type === types$1.string) {
    node.specifiers = empty$1;
    node.source = this.parseExprAtom();
  } else {
    node.specifiers = this.parseImportSpecifiers();
    this.expectContextual("from");
    node.source = this.type === types$1.string ? this.parseExprAtom() : this.unexpected();
  }
  if (this.options.ecmaVersion >= 16)
    { node.attributes = this.parseWithClause(); }
  this.semicolon();
  return this.finishNode(node, "ImportDeclaration")
};

// Parses a comma-separated list of module imports.

pp$8.parseImportSpecifier = function() {
  var node = this.startNode();
  node.imported = this.parseModuleExportName();

  if (this.eatContextual("as")) {
    node.local = this.parseIdent();
  } else {
    this.checkUnreserved(node.imported);
    node.local = node.imported;
  }
  this.checkLValSimple(node.local, BIND_LEXICAL);

  return this.finishNode(node, "ImportSpecifier")
};

pp$8.parseImportDefaultSpecifier = function() {
  // import defaultObj, { x, y as z } from '...'
  var node = this.startNode();
  node.local = this.parseIdent();
  this.checkLValSimple(node.local, BIND_LEXICAL);
  return this.finishNode(node, "ImportDefaultSpecifier")
};

pp$8.parseImportNamespaceSpecifier = function() {
  var node = this.startNode();
  this.next();
  this.expectContextual("as");
  node.local = this.parseIdent();
  this.checkLValSimple(node.local, BIND_LEXICAL);
  return this.finishNode(node, "ImportNamespaceSpecifier")
};

pp$8.parseImportSpecifiers = function() {
  var nodes = [], first = true;
  if (this.type === types$1.name) {
    nodes.push(this.parseImportDefaultSpecifier());
    if (!this.eat(types$1.comma)) { return nodes }
  }
  if (this.type === types$1.star) {
    nodes.push(this.parseImportNamespaceSpecifier());
    return nodes
  }
  this.expect(types$1.braceL);
  while (!this.eat(types$1.braceR)) {
    if (!first) {
      this.expect(types$1.comma);
      if (this.afterTrailingComma(types$1.braceR)) { break }
    } else { first = false; }

    nodes.push(this.parseImportSpecifier());
  }
  return nodes
};

pp$8.parseWithClause = function() {
  var nodes = [];
  if (!this.eat(types$1._with)) {
    return nodes
  }
  this.expect(types$1.braceL);
  var attributeKeys = {};
  var first = true;
  while (!this.eat(types$1.braceR)) {
    if (!first) {
      this.expect(types$1.comma);
      if (this.afterTrailingComma(types$1.braceR)) { break }
    } else { first = false; }

    var attr = this.parseImportAttribute();
    var keyName = attr.key.type === "Identifier" ? attr.key.name : attr.key.value;
    if (hasOwn(attributeKeys, keyName))
      { this.raiseRecoverable(attr.key.start, "Duplicate attribute key '" + keyName + "'"); }
    attributeKeys[keyName] = true;
    nodes.push(attr);
  }
  return nodes
};

pp$8.parseImportAttribute = function() {
  var node = this.startNode();
  node.key = this.type === types$1.string ? this.parseExprAtom() : this.parseIdent(this.options.allowReserved !== "never");
  this.expect(types$1.colon);
  if (this.type !== types$1.string) {
    this.unexpected();
  }
  node.value = this.parseExprAtom();
  return this.finishNode(node, "ImportAttribute")
};

pp$8.parseModuleExportName = function() {
  if (this.options.ecmaVersion >= 13 && this.type === types$1.string) {
    var stringLiteral = this.parseLiteral(this.value);
    if (loneSurrogate.test(stringLiteral.value)) {
      this.raise(stringLiteral.start, "An export name cannot include a lone surrogate.");
    }
    return stringLiteral
  }
  return this.parseIdent(true)
};

// Set `ExpressionStatement#directive` property for directive prologues.
pp$8.adaptDirectivePrologue = function(statements) {
  for (var i = 0; i < statements.length && this.isDirectiveCandidate(statements[i]); ++i) {
    statements[i].directive = statements[i].expression.raw.slice(1, -1);
  }
};
pp$8.isDirectiveCandidate = function(statement) {
  return (
    this.options.ecmaVersion >= 5 &&
    statement.type === "ExpressionStatement" &&
    statement.expression.type === "Literal" &&
    typeof statement.expression.value === "string" &&
    // Reject parenthesized strings.
    (this.input[statement.start] === "\"" || this.input[statement.start] === "'")
  )
};

var pp$7 = Parser.prototype;

// Convert existing expression atom to assignable pattern
// if possible.

pp$7.toAssignable = function(node, isBinding, refDestructuringErrors) {
  if (this.options.ecmaVersion >= 6 && node) {
    switch (node.type) {
    case "Identifier":
      if (this.inAsync && node.name === "await")
        { this.raise(node.start, "Cannot use 'await' as identifier inside an async function"); }
      break

    case "ObjectPattern":
    case "ArrayPattern":
    case "AssignmentPattern":
    case "RestElement":
      break

    case "ObjectExpression":
      node.type = "ObjectPattern";
      if (refDestructuringErrors) { this.checkPatternErrors(refDestructuringErrors, true); }
      for (var i = 0, list = node.properties; i < list.length; i += 1) {
        var prop = list[i];

      this.toAssignable(prop, isBinding);
        // Early error:
        //   AssignmentRestProperty[Yield, Await] :
        //     `...` DestructuringAssignmentTarget[Yield, Await]
        //
        //   It is a Syntax Error if |DestructuringAssignmentTarget| is an |ArrayLiteral| or an |ObjectLiteral|.
        if (
          prop.type === "RestElement" &&
          (prop.argument.type === "ArrayPattern" || prop.argument.type === "ObjectPattern")
        ) {
          this.raise(prop.argument.start, "Unexpected token");
        }
      }
      break

    case "Property":
      // AssignmentProperty has type === "Property"
      if (node.kind !== "init") { this.raise(node.key.start, "Object pattern can't contain getter or setter"); }
      this.toAssignable(node.value, isBinding);
      break

    case "ArrayExpression":
      node.type = "ArrayPattern";
      if (refDestructuringErrors) { this.checkPatternErrors(refDestructuringErrors, true); }
      this.toAssignableList(node.elements, isBinding);
      break

    case "SpreadElement":
      node.type = "RestElement";
      this.toAssignable(node.argument, isBinding);
      if (node.argument.type === "AssignmentPattern")
        { this.raise(node.argument.start, "Rest elements cannot have a default value"); }
      break

    case "AssignmentExpression":
      if (node.operator !== "=") { this.raise(node.left.end, "Only '=' operator can be used for specifying default value."); }
      node.type = "AssignmentPattern";
      delete node.operator;
      this.toAssignable(node.left, isBinding);
      break

    case "ParenthesizedExpression":
      this.toAssignable(node.expression, isBinding, refDestructuringErrors);
      break

    case "ChainExpression":
      this.raiseRecoverable(node.start, "Optional chaining cannot appear in left-hand side");
      break

    case "MemberExpression":
      if (!isBinding) { break }

    default:
      this.raise(node.start, "Assigning to rvalue");
    }
  } else if (refDestructuringErrors) { this.checkPatternErrors(refDestructuringErrors, true); }
  return node
};

// Convert list of expression atoms to binding list.

pp$7.toAssignableList = function(exprList, isBinding) {
  var end = exprList.length;
  for (var i = 0; i < end; i++) {
    var elt = exprList[i];
    if (elt) { this.toAssignable(elt, isBinding); }
  }
  if (end) {
    var last = exprList[end - 1];
    if (this.options.ecmaVersion === 6 && isBinding && last && last.type === "RestElement" && last.argument.type !== "Identifier")
      { this.unexpected(last.argument.start); }
  }
  return exprList
};

// Parses spread element.

pp$7.parseSpread = function(refDestructuringErrors) {
  var node = this.startNode();
  this.next();
  node.argument = this.parseMaybeAssign(false, refDestructuringErrors);
  return this.finishNode(node, "SpreadElement")
};

pp$7.parseRestBinding = function() {
  var node = this.startNode();
  this.next();

  // RestElement inside of a function parameter must be an identifier
  if (this.options.ecmaVersion === 6 && this.type !== types$1.name)
    { this.unexpected(); }

  node.argument = this.parseBindingAtom();

  return this.finishNode(node, "RestElement")
};

// Parses lvalue (assignable) atom.

pp$7.parseBindingAtom = function() {
  if (this.options.ecmaVersion >= 6) {
    switch (this.type) {
    case types$1.bracketL:
      var node = this.startNode();
      this.next();
      node.elements = this.parseBindingList(types$1.bracketR, true, true);
      return this.finishNode(node, "ArrayPattern")

    case types$1.braceL:
      return this.parseObj(true)
    }
  }
  return this.parseIdent()
};

pp$7.parseBindingList = function(close, allowEmpty, allowTrailingComma, allowModifiers) {
  var elts = [], first = true;
  while (!this.eat(close)) {
    if (first) { first = false; }
    else { this.expect(types$1.comma); }
    if (allowEmpty && this.type === types$1.comma) {
      elts.push(null);
    } else if (allowTrailingComma && this.afterTrailingComma(close)) {
      break
    } else if (this.type === types$1.ellipsis) {
      var rest = this.parseRestBinding();
      this.parseBindingListItem(rest);
      elts.push(rest);
      if (this.type === types$1.comma) { this.raiseRecoverable(this.start, "Comma is not permitted after the rest element"); }
      this.expect(close);
      break
    } else {
      elts.push(this.parseAssignableListItem(allowModifiers));
    }
  }
  return elts
};

pp$7.parseAssignableListItem = function(allowModifiers) {
  var elem = this.parseMaybeDefault(this.start, this.startLoc);
  this.parseBindingListItem(elem);
  return elem
};

pp$7.parseBindingListItem = function(param) {
  return param
};

// Parses assignment pattern around given atom if possible.

pp$7.parseMaybeDefault = function(startPos, startLoc, left) {
  left = left || this.parseBindingAtom();
  if (this.options.ecmaVersion < 6 || !this.eat(types$1.eq)) { return left }
  var node = this.startNodeAt(startPos, startLoc);
  node.left = left;
  node.right = this.parseMaybeAssign();
  return this.finishNode(node, "AssignmentPattern")
};

// The following three functions all verify that a node is an lvalue —
// something that can be bound, or assigned to. In order to do so, they perform
// a variety of checks:
//
// - Check that none of the bound/assigned-to identifiers are reserved words.
// - Record name declarations for bindings in the appropriate scope.
// - Check duplicate argument names, if checkClashes is set.
//
// If a complex binding pattern is encountered (e.g., object and array
// destructuring), the entire pattern is recursively checked.
//
// There are three versions of checkLVal*() appropriate for different
// circumstances:
//
// - checkLValSimple() shall be used if the syntactic construct supports
//   nothing other than identifiers and member expressions. Parenthesized
//   expressions are also correctly handled. This is generally appropriate for
//   constructs for which the spec says
//
//   > It is a Syntax Error if AssignmentTargetType of [the production] is not
//   > simple.
//
//   It is also appropriate for checking if an identifier is valid and not
//   defined elsewhere, like import declarations or function/class identifiers.
//
//   Examples where this is used include:
//     a += …;
//     import a from '…';
//   where a is the node to be checked.
//
// - checkLValPattern() shall be used if the syntactic construct supports
//   anything checkLValSimple() supports, as well as object and array
//   destructuring patterns. This is generally appropriate for constructs for
//   which the spec says
//
//   > It is a Syntax Error if [the production] is neither an ObjectLiteral nor
//   > an ArrayLiteral and AssignmentTargetType of [the production] is not
//   > simple.
//
//   Examples where this is used include:
//     (a = …);
//     const a = …;
//     try { … } catch (a) { … }
//   where a is the node to be checked.
//
// - checkLValInnerPattern() shall be used if the syntactic construct supports
//   anything checkLValPattern() supports, as well as default assignment
//   patterns, rest elements, and other constructs that may appear within an
//   object or array destructuring pattern.
//
//   As a special case, function parameters also use checkLValInnerPattern(),
//   as they also support defaults and rest constructs.
//
// These functions deliberately support both assignment and binding constructs,
// as the logic for both is exceedingly similar. If the node is the target of
// an assignment, then bindingType should be set to BIND_NONE. Otherwise, it
// should be set to the appropriate BIND_* constant, like BIND_VAR or
// BIND_LEXICAL.
//
// If the function is called with a non-BIND_NONE bindingType, then
// additionally a checkClashes object may be specified to allow checking for
// duplicate argument names. checkClashes is ignored if the provided construct
// is an assignment (i.e., bindingType is BIND_NONE).

pp$7.checkLValSimple = function(expr, bindingType, checkClashes) {
  if ( bindingType === void 0 ) bindingType = BIND_NONE;

  var isBind = bindingType !== BIND_NONE;

  switch (expr.type) {
  case "Identifier":
    if (this.strict && this.reservedWordsStrictBind.test(expr.name))
      { this.raiseRecoverable(expr.start, (isBind ? "Binding " : "Assigning to ") + expr.name + " in strict mode"); }
    if (isBind) {
      if (bindingType === BIND_LEXICAL && expr.name === "let")
        { this.raiseRecoverable(expr.start, "let is disallowed as a lexically bound name"); }
      if (checkClashes) {
        if (hasOwn(checkClashes, expr.name))
          { this.raiseRecoverable(expr.start, "Argument name clash"); }
        checkClashes[expr.name] = true;
      }
      if (bindingType !== BIND_OUTSIDE) { this.declareName(expr.name, bindingType, expr.start); }
    }
    break

  case "ChainExpression":
    this.raiseRecoverable(expr.start, "Optional chaining cannot appear in left-hand side");
    break

  case "MemberExpression":
    if (isBind) { this.raiseRecoverable(expr.start, "Binding member expression"); }
    break

  case "ParenthesizedExpression":
    if (isBind) { this.raiseRecoverable(expr.start, "Binding parenthesized expression"); }
    return this.checkLValSimple(expr.expression, bindingType, checkClashes)

  default:
    this.raise(expr.start, (isBind ? "Binding" : "Assigning to") + " rvalue");
  }
};

pp$7.checkLValPattern = function(expr, bindingType, checkClashes) {
  if ( bindingType === void 0 ) bindingType = BIND_NONE;

  switch (expr.type) {
  case "ObjectPattern":
    for (var i = 0, list = expr.properties; i < list.length; i += 1) {
      var prop = list[i];

    this.checkLValInnerPattern(prop, bindingType, checkClashes);
    }
    break

  case "ArrayPattern":
    for (var i$1 = 0, list$1 = expr.elements; i$1 < list$1.length; i$1 += 1) {
      var elem = list$1[i$1];

    if (elem) { this.checkLValInnerPattern(elem, bindingType, checkClashes); }
    }
    break

  default:
    this.checkLValSimple(expr, bindingType, checkClashes);
  }
};

pp$7.checkLValInnerPattern = function(expr, bindingType, checkClashes) {
  if ( bindingType === void 0 ) bindingType = BIND_NONE;

  switch (expr.type) {
  case "Property":
    // AssignmentProperty has type === "Property"
    this.checkLValInnerPattern(expr.value, bindingType, checkClashes);
    break

  case "AssignmentPattern":
    this.checkLValPattern(expr.left, bindingType, checkClashes);
    break

  case "RestElement":
    this.checkLValPattern(expr.argument, bindingType, checkClashes);
    break

  default:
    this.checkLValPattern(expr, bindingType, checkClashes);
  }
};

// The algorithm used to determine whether a regexp can appear at a
// given point in the program is loosely based on sweet.js' approach.
// See https://github.com/mozilla/sweet.js/wiki/design


var TokContext = function TokContext(token, isExpr, preserveSpace, override, generator) {
  this.token = token;
  this.isExpr = !!isExpr;
  this.preserveSpace = !!preserveSpace;
  this.override = override;
  this.generator = !!generator;
};

var types = {
  b_stat: new TokContext("{", false),
  b_expr: new TokContext("{", true),
  b_tmpl: new TokContext("${", false),
  p_stat: new TokContext("(", false),
  p_expr: new TokContext("(", true),
  q_tmpl: new TokContext("`", true, true, function (p) { return p.tryReadTemplateToken(); }),
  f_stat: new TokContext("function", false),
  f_expr: new TokContext("function", true),
  f_expr_gen: new TokContext("function", true, false, null, true),
  f_gen: new TokContext("function", false, false, null, true)
};

var pp$6 = Parser.prototype;

pp$6.initialContext = function() {
  return [types.b_stat]
};

pp$6.curContext = function() {
  return this.context[this.context.length - 1]
};

pp$6.braceIsBlock = function(prevType) {
  var parent = this.curContext();
  if (parent === types.f_expr || parent === types.f_stat)
    { return true }
  if (prevType === types$1.colon && (parent === types.b_stat || parent === types.b_expr))
    { return !parent.isExpr }

  // The check for `tt.name && exprAllowed` detects whether we are
  // after a `yield` or `of` construct. See the `updateContext` for
  // `tt.name`.
  if (prevType === types$1._return || prevType === types$1.name && this.exprAllowed)
    { return lineBreak.test(this.input.slice(this.lastTokEnd, this.start)) }
  if (prevType === types$1._else || prevType === types$1.semi || prevType === types$1.eof || prevType === types$1.parenR || prevType === types$1.arrow)
    { return true }
  if (prevType === types$1.braceL)
    { return parent === types.b_stat }
  if (prevType === types$1._var || prevType === types$1._const || prevType === types$1.name)
    { return false }
  return !this.exprAllowed
};

pp$6.inGeneratorContext = function() {
  for (var i = this.context.length - 1; i >= 1; i--) {
    var context = this.context[i];
    if (context.token === "function")
      { return context.generator }
  }
  return false
};

pp$6.updateContext = function(prevType) {
  var update, type = this.type;
  if (type.keyword && prevType === types$1.dot)
    { this.exprAllowed = false; }
  else if (update = type.updateContext)
    { update.call(this, prevType); }
  else
    { this.exprAllowed = type.beforeExpr; }
};

// Used to handle edge cases when token context could not be inferred correctly during tokenization phase

pp$6.overrideContext = function(tokenCtx) {
  if (this.curContext() !== tokenCtx) {
    this.context[this.context.length - 1] = tokenCtx;
  }
};

// Token-specific context update code

types$1.parenR.updateContext = types$1.braceR.updateContext = function() {
  if (this.context.length === 1) {
    this.exprAllowed = true;
    return
  }
  var out = this.context.pop();
  if (out === types.b_stat && this.curContext().token === "function") {
    out = this.context.pop();
  }
  this.exprAllowed = !out.isExpr;
};

types$1.braceL.updateContext = function(prevType) {
  this.context.push(this.braceIsBlock(prevType) ? types.b_stat : types.b_expr);
  this.exprAllowed = true;
};

types$1.dollarBraceL.updateContext = function() {
  this.context.push(types.b_tmpl);
  this.exprAllowed = true;
};

types$1.parenL.updateContext = function(prevType) {
  var statementParens = prevType === types$1._if || prevType === types$1._for || prevType === types$1._with || prevType === types$1._while;
  this.context.push(statementParens ? types.p_stat : types.p_expr);
  this.exprAllowed = true;
};

types$1.incDec.updateContext = function() {
  // tokExprAllowed stays unchanged
};

types$1._function.updateContext = types$1._class.updateContext = function(prevType) {
  if (prevType.beforeExpr && prevType !== types$1._else &&
      !(prevType === types$1.semi && this.curContext() !== types.p_stat) &&
      !(prevType === types$1._return && lineBreak.test(this.input.slice(this.lastTokEnd, this.start))) &&
      !((prevType === types$1.colon || prevType === types$1.braceL) && this.curContext() === types.b_stat))
    { this.context.push(types.f_expr); }
  else
    { this.context.push(types.f_stat); }
  this.exprAllowed = false;
};

types$1.colon.updateContext = function() {
  if (this.curContext().token === "function") { this.context.pop(); }
  this.exprAllowed = true;
};

types$1.backQuote.updateContext = function() {
  if (this.curContext() === types.q_tmpl)
    { this.context.pop(); }
  else
    { this.context.push(types.q_tmpl); }
  this.exprAllowed = false;
};

types$1.star.updateContext = function(prevType) {
  if (prevType === types$1._function) {
    var index = this.context.length - 1;
    if (this.context[index] === types.f_expr)
      { this.context[index] = types.f_expr_gen; }
    else
      { this.context[index] = types.f_gen; }
  }
  this.exprAllowed = true;
};

types$1.name.updateContext = function(prevType) {
  var allowed = false;
  if (this.options.ecmaVersion >= 6 && prevType !== types$1.dot) {
    if (this.value === "of" && !this.exprAllowed ||
        this.value === "yield" && this.inGeneratorContext())
      { allowed = true; }
  }
  this.exprAllowed = allowed;
};

// A recursive descent parser operates by defining functions for all
// syntactic elements, and recursively calling those, each function
// advancing the input stream and returning an AST node. Precedence
// of constructs (for example, the fact that `!x[1]` means `!(x[1])`
// instead of `(!x)[1]` is handled by the fact that the parser
// function that parses unary prefix operators is called first, and
// in turn calls the function that parses `[]` subscripts — that
// way, it'll receive the node for `x[1]` already parsed, and wraps
// *that* in the unary operator node.
//
// Acorn uses an [operator precedence parser][opp] to handle binary
// operator precedence, because it is much more compact than using
// the technique outlined above, which uses different, nesting
// functions to specify precedence, for all of the ten binary
// precedence levels that JavaScript defines.
//
// [opp]: http://en.wikipedia.org/wiki/Operator-precedence_parser


var pp$5 = Parser.prototype;

// Check if property name clashes with already added.
// Object/class getters and setters are not allowed to clash —
// either with each other or with an init property — and in
// strict mode, init properties are also not allowed to be repeated.

pp$5.checkPropClash = function(prop, propHash, refDestructuringErrors) {
  if (this.options.ecmaVersion >= 9 && prop.type === "SpreadElement")
    { return }
  if (this.options.ecmaVersion >= 6 && (prop.computed || prop.method || prop.shorthand))
    { return }
  var key = prop.key;
  var name;
  switch (key.type) {
  case "Identifier": name = key.name; break
  case "Literal": name = String(key.value); break
  default: return
  }
  var kind = prop.kind;
  if (this.options.ecmaVersion >= 6) {
    if (name === "__proto__" && kind === "init") {
      if (propHash.proto) {
        if (refDestructuringErrors) {
          if (refDestructuringErrors.doubleProto < 0) {
            refDestructuringErrors.doubleProto = key.start;
          }
        } else {
          this.raiseRecoverable(key.start, "Redefinition of __proto__ property");
        }
      }
      propHash.proto = true;
    }
    return
  }
  name = "$" + name;
  var other = propHash[name];
  if (other) {
    var redefinition;
    if (kind === "init") {
      redefinition = this.strict && other.init || other.get || other.set;
    } else {
      redefinition = other.init || other[kind];
    }
    if (redefinition)
      { this.raiseRecoverable(key.start, "Redefinition of property"); }
  } else {
    other = propHash[name] = {
      init: false,
      get: false,
      set: false
    };
  }
  other[kind] = true;
};

// ### Expression parsing

// These nest, from the most general expression type at the top to
// 'atomic', nondivisible expression types at the bottom. Most of
// the functions will simply let the function(s) below them parse,
// and, *if* the syntactic construct they handle is present, wrap
// the AST node that the inner parser gave them in another node.

// Parse a full expression. The optional arguments are used to
// forbid the `in` operator (in for loops initalization expressions)
// and provide reference for storing '=' operator inside shorthand
// property assignment in contexts where both object expression
// and object pattern might appear (so it's possible to raise
// delayed syntax error at correct position).

pp$5.parseExpression = function(forInit, refDestructuringErrors) {
  var startPos = this.start, startLoc = this.startLoc;
  var expr = this.parseMaybeAssign(forInit, refDestructuringErrors);
  if (this.type === types$1.comma) {
    var node = this.startNodeAt(startPos, startLoc);
    node.expressions = [expr];
    while (this.eat(types$1.comma)) { node.expressions.push(this.parseMaybeAssign(forInit, refDestructuringErrors)); }
    return this.finishNode(node, "SequenceExpression")
  }
  return expr
};

// Parse an assignment expression. This includes applications of
// operators like `+=`.

pp$5.parseMaybeAssign = function(forInit, refDestructuringErrors, afterLeftParse) {
  if (this.isContextual("yield")) {
    if (this.inGenerator) { return this.parseYield(forInit) }
    // The tokenizer will assume an expression is allowed after
    // `yield`, but this isn't that kind of yield
    else { this.exprAllowed = false; }
  }

  var ownDestructuringErrors = false, oldParenAssign = -1, oldTrailingComma = -1, oldDoubleProto = -1;
  if (refDestructuringErrors) {
    oldParenAssign = refDestructuringErrors.parenthesizedAssign;
    oldTrailingComma = refDestructuringErrors.trailingComma;
    oldDoubleProto = refDestructuringErrors.doubleProto;
    refDestructuringErrors.parenthesizedAssign = refDestructuringErrors.trailingComma = -1;
  } else {
    refDestructuringErrors = new DestructuringErrors;
    ownDestructuringErrors = true;
  }

  var startPos = this.start, startLoc = this.startLoc;
  if (this.type === types$1.parenL || this.type === types$1.name) {
    this.potentialArrowAt = this.start;
    this.potentialArrowInForAwait = forInit === "await";
  }
  var left = this.parseMaybeConditional(forInit, refDestructuringErrors);
  if (afterLeftParse) { left = afterLeftParse.call(this, left, startPos, startLoc); }
  if (this.type.isAssign) {
    var node = this.startNodeAt(startPos, startLoc);
    node.operator = this.value;
    if (this.type === types$1.eq)
      { left = this.toAssignable(left, false, refDestructuringErrors); }
    if (!ownDestructuringErrors) {
      refDestructuringErrors.parenthesizedAssign = refDestructuringErrors.trailingComma = refDestructuringErrors.doubleProto = -1;
    }
    if (refDestructuringErrors.shorthandAssign >= left.start)
      { refDestructuringErrors.shorthandAssign = -1; } // reset because shorthand default was used correctly
    if (this.type === types$1.eq)
      { this.checkLValPattern(left); }
    else
      { this.checkLValSimple(left); }
    node.left = left;
    this.next();
    node.right = this.parseMaybeAssign(forInit);
    if (oldDoubleProto > -1) { refDestructuringErrors.doubleProto = oldDoubleProto; }
    return this.finishNode(node, "AssignmentExpression")
  } else {
    if (ownDestructuringErrors) { this.checkExpressionErrors(refDestructuringErrors, true); }
  }
  if (oldParenAssign > -1) { refDestructuringErrors.parenthesizedAssign = oldParenAssign; }
  if (oldTrailingComma > -1) { refDestructuringErrors.trailingComma = oldTrailingComma; }
  return left
};

// Parse a ternary conditional (`?:`) operator.

pp$5.parseMaybeConditional = function(forInit, refDestructuringErrors) {
  var startPos = this.start, startLoc = this.startLoc;
  var expr = this.parseExprOps(forInit, refDestructuringErrors);
  if (this.checkExpressionErrors(refDestructuringErrors)) { return expr }
  if (this.eat(types$1.question)) {
    var node = this.startNodeAt(startPos, startLoc);
    node.test = expr;
    node.consequent = this.parseMaybeAssign();
    this.expect(types$1.colon);
    node.alternate = this.parseMaybeAssign(forInit);
    return this.finishNode(node, "ConditionalExpression")
  }
  return expr
};

// Start the precedence parser.

pp$5.parseExprOps = function(forInit, refDestructuringErrors) {
  var startPos = this.start, startLoc = this.startLoc;
  var expr = this.parseMaybeUnary(refDestructuringErrors, false, false, forInit);
  if (this.checkExpressionErrors(refDestructuringErrors)) { return expr }
  return expr.start === startPos && expr.type === "ArrowFunctionExpression" ? expr : this.parseExprOp(expr, startPos, startLoc, -1, forInit)
};

// Parse binary operators with the operator precedence parsing
// algorithm. `left` is the left-hand side of the operator.
// `minPrec` provides context that allows the function to stop and
// defer further parser to one of its callers when it encounters an
// operator that has a lower precedence than the set it is parsing.

pp$5.parseExprOp = function(left, leftStartPos, leftStartLoc, minPrec, forInit) {
  var prec = this.type.binop;
  if (prec != null && (!forInit || this.type !== types$1._in)) {
    if (prec > minPrec) {
      var logical = this.type === types$1.logicalOR || this.type === types$1.logicalAND;
      var coalesce = this.type === types$1.coalesce;
      if (coalesce) {
        // Handle the precedence of `tt.coalesce` as equal to the range of logical expressions.
        // In other words, `node.right` shouldn't contain logical expressions in order to check the mixed error.
        prec = types$1.logicalAND.binop;
      }
      var op = this.value;
      this.next();
      var startPos = this.start, startLoc = this.startLoc;
      var right = this.parseExprOp(this.parseMaybeUnary(null, false, false, forInit), startPos, startLoc, prec, forInit);
      var node = this.buildBinary(leftStartPos, leftStartLoc, left, right, op, logical || coalesce);
      if ((logical && this.type === types$1.coalesce) || (coalesce && (this.type === types$1.logicalOR || this.type === types$1.logicalAND))) {
        this.raiseRecoverable(this.start, "Logical expressions and coalesce expressions cannot be mixed. Wrap either by parentheses");
      }
      return this.parseExprOp(node, leftStartPos, leftStartLoc, minPrec, forInit)
    }
  }
  return left
};

pp$5.buildBinary = function(startPos, startLoc, left, right, op, logical) {
  if (right.type === "PrivateIdentifier") { this.raise(right.start, "Private identifier can only be left side of binary expression"); }
  var node = this.startNodeAt(startPos, startLoc);
  node.left = left;
  node.operator = op;
  node.right = right;
  return this.finishNode(node, logical ? "LogicalExpression" : "BinaryExpression")
};

// Parse unary operators, both prefix and postfix.

pp$5.parseMaybeUnary = function(refDestructuringErrors, sawUnary, incDec, forInit) {
  var startPos = this.start, startLoc = this.startLoc, expr;
  if (this.isContextual("await") && this.canAwait) {
    expr = this.parseAwait(forInit);
    sawUnary = true;
  } else if (this.type.prefix) {
    var node = this.startNode(), update = this.type === types$1.incDec;
    node.operator = this.value;
    node.prefix = true;
    this.next();
    node.argument = this.parseMaybeUnary(null, true, update, forInit);
    this.checkExpressionErrors(refDestructuringErrors, true);
    if (update) { this.checkLValSimple(node.argument); }
    else if (this.strict && node.operator === "delete" && isLocalVariableAccess(node.argument))
      { this.raiseRecoverable(node.start, "Deleting local variable in strict mode"); }
    else if (node.operator === "delete" && isPrivateFieldAccess(node.argument))
      { this.raiseRecoverable(node.start, "Private fields can not be deleted"); }
    else { sawUnary = true; }
    expr = this.finishNode(node, update ? "UpdateExpression" : "UnaryExpression");
  } else if (!sawUnary && this.type === types$1.privateId) {
    if ((forInit || this.privateNameStack.length === 0) && this.options.checkPrivateFields) { this.unexpected(); }
    expr = this.parsePrivateIdent();
    // only could be private fields in 'in', such as #x in obj
    if (this.type !== types$1._in) { this.unexpected(); }
  } else {
    expr = this.parseExprSubscripts(refDestructuringErrors, forInit);
    if (this.checkExpressionErrors(refDestructuringErrors)) { return expr }
    while (this.type.postfix && !this.canInsertSemicolon()) {
      var node$1 = this.startNodeAt(startPos, startLoc);
      node$1.operator = this.value;
      node$1.prefix = false;
      node$1.argument = expr;
      this.checkLValSimple(expr);
      this.next();
      expr = this.finishNode(node$1, "UpdateExpression");
    }
  }

  if (!incDec && this.eat(types$1.starstar)) {
    if (sawUnary)
      { this.unexpected(this.lastTokStart); }
    else
      { return this.buildBinary(startPos, startLoc, expr, this.parseMaybeUnary(null, false, false, forInit), "**", false) }
  } else {
    return expr
  }
};

function isLocalVariableAccess(node) {
  return (
    node.type === "Identifier" ||
    node.type === "ParenthesizedExpression" && isLocalVariableAccess(node.expression)
  )
}

function isPrivateFieldAccess(node) {
  return (
    node.type === "MemberExpression" && node.property.type === "PrivateIdentifier" ||
    node.type === "ChainExpression" && isPrivateFieldAccess(node.expression) ||
    node.type === "ParenthesizedExpression" && isPrivateFieldAccess(node.expression)
  )
}

// Parse call, dot, and `[]`-subscript expressions.

pp$5.parseExprSubscripts = function(refDestructuringErrors, forInit) {
  var startPos = this.start, startLoc = this.startLoc;
  var expr = this.parseExprAtom(refDestructuringErrors, forInit);
  if (expr.type === "ArrowFunctionExpression" && this.input.slice(this.lastTokStart, this.lastTokEnd) !== ")")
    { return expr }
  var result = this.parseSubscripts(expr, startPos, startLoc, false, forInit);
  if (refDestructuringErrors && result.type === "MemberExpression") {
    if (refDestructuringErrors.parenthesizedAssign >= result.start) { refDestructuringErrors.parenthesizedAssign = -1; }
    if (refDestructuringErrors.parenthesizedBind >= result.start) { refDestructuringErrors.parenthesizedBind = -1; }
    if (refDestructuringErrors.trailingComma >= result.start) { refDestructuringErrors.trailingComma = -1; }
  }
  return result
};

pp$5.parseSubscripts = function(base, startPos, startLoc, noCalls, forInit) {
  var maybeAsyncArrow = this.options.ecmaVersion >= 8 && base.type === "Identifier" && base.name === "async" &&
      this.lastTokEnd === base.end && !this.canInsertSemicolon() && base.end - base.start === 5 &&
      this.potentialArrowAt === base.start;
  var optionalChained = false;

  while (true) {
    var element = this.parseSubscript(base, startPos, startLoc, noCalls, maybeAsyncArrow, optionalChained, forInit);

    if (element.optional) { optionalChained = true; }
    if (element === base || element.type === "ArrowFunctionExpression") {
      if (optionalChained) {
        var chainNode = this.startNodeAt(startPos, startLoc);
        chainNode.expression = element;
        element = this.finishNode(chainNode, "ChainExpression");
      }
      return element
    }

    base = element;
  }
};

pp$5.shouldParseAsyncArrow = function() {
  return !this.canInsertSemicolon() && this.eat(types$1.arrow)
};

pp$5.parseSubscriptAsyncArrow = function(startPos, startLoc, exprList, forInit) {
  return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), exprList, true, forInit)
};

pp$5.parseSubscript = function(base, startPos, startLoc, noCalls, maybeAsyncArrow, optionalChained, forInit) {
  var optionalSupported = this.options.ecmaVersion >= 11;
  var optional = optionalSupported && this.eat(types$1.questionDot);
  if (noCalls && optional) { this.raise(this.lastTokStart, "Optional chaining cannot appear in the callee of new expressions"); }

  var computed = this.eat(types$1.bracketL);
  if (computed || (optional && this.type !== types$1.parenL && this.type !== types$1.backQuote) || this.eat(types$1.dot)) {
    var node = this.startNodeAt(startPos, startLoc);
    node.object = base;
    if (computed) {
      node.property = this.parseExpression();
      this.expect(types$1.bracketR);
    } else if (this.type === types$1.privateId && base.type !== "Super") {
      node.property = this.parsePrivateIdent();
    } else {
      node.property = this.parseIdent(this.options.allowReserved !== "never");
    }
    node.computed = !!computed;
    if (optionalSupported) {
      node.optional = optional;
    }
    base = this.finishNode(node, "MemberExpression");
  } else if (!noCalls && this.eat(types$1.parenL)) {
    var refDestructuringErrors = new DestructuringErrors, oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, oldAwaitIdentPos = this.awaitIdentPos;
    this.yieldPos = 0;
    this.awaitPos = 0;
    this.awaitIdentPos = 0;
    var exprList = this.parseExprList(types$1.parenR, this.options.ecmaVersion >= 8, false, refDestructuringErrors);
    if (maybeAsyncArrow && !optional && this.shouldParseAsyncArrow()) {
      this.checkPatternErrors(refDestructuringErrors, false);
      this.checkYieldAwaitInDefaultParams();
      if (this.awaitIdentPos > 0)
        { this.raise(this.awaitIdentPos, "Cannot use 'await' as identifier inside an async function"); }
      this.yieldPos = oldYieldPos;
      this.awaitPos = oldAwaitPos;
      this.awaitIdentPos = oldAwaitIdentPos;
      return this.parseSubscriptAsyncArrow(startPos, startLoc, exprList, forInit)
    }
    this.checkExpressionErrors(refDestructuringErrors, true);
    this.yieldPos = oldYieldPos || this.yieldPos;
    this.awaitPos = oldAwaitPos || this.awaitPos;
    this.awaitIdentPos = oldAwaitIdentPos || this.awaitIdentPos;
    var node$1 = this.startNodeAt(startPos, startLoc);
    node$1.callee = base;
    node$1.arguments = exprList;
    if (optionalSupported) {
      node$1.optional = optional;
    }
    base = this.finishNode(node$1, "CallExpression");
  } else if (this.type === types$1.backQuote) {
    if (optional || optionalChained) {
      this.raise(this.start, "Optional chaining cannot appear in the tag of tagged template expressions");
    }
    var node$2 = this.startNodeAt(startPos, startLoc);
    node$2.tag = base;
    node$2.quasi = this.parseTemplate({isTagged: true});
    base = this.finishNode(node$2, "TaggedTemplateExpression");
  }
  return base
};

// Parse an atomic expression — either a single token that is an
// expression, an expression started by a keyword like `function` or
// `new`, or an expression wrapped in punctuation like `()`, `[]`,
// or `{}`.

pp$5.parseExprAtom = function(refDestructuringErrors, forInit, forNew) {
  // If a division operator appears in an expression position, the
  // tokenizer got confused, and we force it to read a regexp instead.
  if (this.type === types$1.slash) { this.readRegexp(); }

  var node, canBeArrow = this.potentialArrowAt === this.start;
  switch (this.type) {
  case types$1._super:
    if (!this.allowSuper)
      { this.raise(this.start, "'super' keyword outside a method"); }
    node = this.startNode();
    this.next();
    if (this.type === types$1.parenL && !this.allowDirectSuper)
      { this.raise(node.start, "super() call outside constructor of a subclass"); }
    // The `super` keyword can appear at below:
    // SuperProperty:
    //     super [ Expression ]
    //     super . IdentifierName
    // SuperCall:
    //     super ( Arguments )
    if (this.type !== types$1.dot && this.type !== types$1.bracketL && this.type !== types$1.parenL)
      { this.unexpected(); }
    return this.finishNode(node, "Super")

  case types$1._this:
    node = this.startNode();
    this.next();
    return this.finishNode(node, "ThisExpression")

  case types$1.name:
    var startPos = this.start, startLoc = this.startLoc, containsEsc = this.containsEsc;
    var id = this.parseIdent(false);
    if (this.options.ecmaVersion >= 8 && !containsEsc && id.name === "async" && !this.canInsertSemicolon() && this.eat(types$1._function)) {
      this.overrideContext(types.f_expr);
      return this.parseFunction(this.startNodeAt(startPos, startLoc), 0, false, true, forInit)
    }
    if (canBeArrow && !this.canInsertSemicolon()) {
      if (this.eat(types$1.arrow))
        { return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), [id], false, forInit) }
      if (this.options.ecmaVersion >= 8 && id.name === "async" && this.type === types$1.name && !containsEsc &&
          (!this.potentialArrowInForAwait || this.value !== "of" || this.containsEsc)) {
        id = this.parseIdent(false);
        if (this.canInsertSemicolon() || !this.eat(types$1.arrow))
          { this.unexpected(); }
        return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), [id], true, forInit)
      }
    }
    return id

  case types$1.regexp:
    var value = this.value;
    node = this.parseLiteral(value.value);
    node.regex = {pattern: value.pattern, flags: value.flags};
    return node

  case types$1.num: case types$1.string:
    return this.parseLiteral(this.value)

  case types$1._null: case types$1._true: case types$1._false:
    node = this.startNode();
    node.value = this.type === types$1._null ? null : this.type === types$1._true;
    node.raw = this.type.keyword;
    this.next();
    return this.finishNode(node, "Literal")

  case types$1.parenL:
    var start = this.start, expr = this.parseParenAndDistinguishExpression(canBeArrow, forInit);
    if (refDestructuringErrors) {
      if (refDestructuringErrors.parenthesizedAssign < 0 && !this.isSimpleAssignTarget(expr))
        { refDestructuringErrors.parenthesizedAssign = start; }
      if (refDestructuringErrors.parenthesizedBind < 0)
        { refDestructuringErrors.parenthesizedBind = start; }
    }
    return expr

  case types$1.bracketL:
    node = this.startNode();
    this.next();
    node.elements = this.parseExprList(types$1.bracketR, true, true, refDestructuringErrors);
    return this.finishNode(node, "ArrayExpression")

  case types$1.braceL:
    this.overrideContext(types.b_expr);
    return this.parseObj(false, refDestructuringErrors)

  case types$1._function:
    node = this.startNode();
    this.next();
    return this.parseFunction(node, 0)

  case types$1._class:
    return this.parseClass(this.startNode(), false)

  case types$1._new:
    return this.parseNew()

  case types$1.backQuote:
    return this.parseTemplate()

  case types$1._import:
    if (this.options.ecmaVersion >= 11) {
      return this.parseExprImport(forNew)
    } else {
      return this.unexpected()
    }

  default:
    return this.parseExprAtomDefault()
  }
};

pp$5.parseExprAtomDefault = function() {
  this.unexpected();
};

pp$5.parseExprImport = function(forNew) {
  var node = this.startNode();

  // Consume `import` as an identifier for `import.meta`.
  // Because `this.parseIdent(true)` doesn't check escape sequences, it needs the check of `this.containsEsc`.
  if (this.containsEsc) { this.raiseRecoverable(this.start, "Escape sequence in keyword import"); }
  this.next();

  if (this.type === types$1.parenL && !forNew) {
    return this.parseDynamicImport(node)
  } else if (this.type === types$1.dot) {
    var meta = this.startNodeAt(node.start, node.loc && node.loc.start);
    meta.name = "import";
    node.meta = this.finishNode(meta, "Identifier");
    return this.parseImportMeta(node)
  } else {
    this.unexpected();
  }
};

pp$5.parseDynamicImport = function(node) {
  this.next(); // skip `(`

  // Parse node.source.
  node.source = this.parseMaybeAssign();

  if (this.options.ecmaVersion >= 16) {
    if (!this.eat(types$1.parenR)) {
      this.expect(types$1.comma);
      if (!this.afterTrailingComma(types$1.parenR)) {
        node.options = this.parseMaybeAssign();
        if (!this.eat(types$1.parenR)) {
          this.expect(types$1.comma);
          if (!this.afterTrailingComma(types$1.parenR)) {
            this.unexpected();
          }
        }
      } else {
        node.options = null;
      }
    } else {
      node.options = null;
    }
  } else {
    // Verify ending.
    if (!this.eat(types$1.parenR)) {
      var errorPos = this.start;
      if (this.eat(types$1.comma) && this.eat(types$1.parenR)) {
        this.raiseRecoverable(errorPos, "Trailing comma is not allowed in import()");
      } else {
        this.unexpected(errorPos);
      }
    }
  }

  return this.finishNode(node, "ImportExpression")
};

pp$5.parseImportMeta = function(node) {
  this.next(); // skip `.`

  var containsEsc = this.containsEsc;
  node.property = this.parseIdent(true);

  if (node.property.name !== "meta")
    { this.raiseRecoverable(node.property.start, "The only valid meta property for import is 'import.meta'"); }
  if (containsEsc)
    { this.raiseRecoverable(node.start, "'import.meta' must not contain escaped characters"); }
  if (this.options.sourceType !== "module" && !this.options.allowImportExportEverywhere)
    { this.raiseRecoverable(node.start, "Cannot use 'import.meta' outside a module"); }

  return this.finishNode(node, "MetaProperty")
};

pp$5.parseLiteral = function(value) {
  var node = this.startNode();
  node.value = value;
  node.raw = this.input.slice(this.start, this.end);
  if (node.raw.charCodeAt(node.raw.length - 1) === 110) { node.bigint = node.raw.slice(0, -1).replace(/_/g, ""); }
  this.next();
  return this.finishNode(node, "Literal")
};

pp$5.parseParenExpression = function() {
  this.expect(types$1.parenL);
  var val = this.parseExpression();
  this.expect(types$1.parenR);
  return val
};

pp$5.shouldParseArrow = function(exprList) {
  return !this.canInsertSemicolon()
};

pp$5.parseParenAndDistinguishExpression = function(canBeArrow, forInit) {
  var startPos = this.start, startLoc = this.startLoc, val, allowTrailingComma = this.options.ecmaVersion >= 8;
  if (this.options.ecmaVersion >= 6) {
    this.next();

    var innerStartPos = this.start, innerStartLoc = this.startLoc;
    var exprList = [], first = true, lastIsComma = false;
    var refDestructuringErrors = new DestructuringErrors, oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, spreadStart;
    this.yieldPos = 0;
    this.awaitPos = 0;
    // Do not save awaitIdentPos to allow checking awaits nested in parameters
    while (this.type !== types$1.parenR) {
      first ? first = false : this.expect(types$1.comma);
      if (allowTrailingComma && this.afterTrailingComma(types$1.parenR, true)) {
        lastIsComma = true;
        break
      } else if (this.type === types$1.ellipsis) {
        spreadStart = this.start;
        exprList.push(this.parseParenItem(this.parseRestBinding()));
        if (this.type === types$1.comma) {
          this.raiseRecoverable(
            this.start,
            "Comma is not permitted after the rest element"
          );
        }
        break
      } else {
        exprList.push(this.parseMaybeAssign(false, refDestructuringErrors, this.parseParenItem));
      }
    }
    var innerEndPos = this.lastTokEnd, innerEndLoc = this.lastTokEndLoc;
    this.expect(types$1.parenR);

    if (canBeArrow && this.shouldParseArrow(exprList) && this.eat(types$1.arrow)) {
      this.checkPatternErrors(refDestructuringErrors, false);
      this.checkYieldAwaitInDefaultParams();
      this.yieldPos = oldYieldPos;
      this.awaitPos = oldAwaitPos;
      return this.parseParenArrowList(startPos, startLoc, exprList, forInit)
    }

    if (!exprList.length || lastIsComma) { this.unexpected(this.lastTokStart); }
    if (spreadStart) { this.unexpected(spreadStart); }
    this.checkExpressionErrors(refDestructuringErrors, true);
    this.yieldPos = oldYieldPos || this.yieldPos;
    this.awaitPos = oldAwaitPos || this.awaitPos;

    if (exprList.length > 1) {
      val = this.startNodeAt(innerStartPos, innerStartLoc);
      val.expressions = exprList;
      this.finishNodeAt(val, "SequenceExpression", innerEndPos, innerEndLoc);
    } else {
      val = exprList[0];
    }
  } else {
    val = this.parseParenExpression();
  }

  if (this.options.preserveParens) {
    var par = this.startNodeAt(startPos, startLoc);
    par.expression = val;
    return this.finishNode(par, "ParenthesizedExpression")
  } else {
    return val
  }
};

pp$5.parseParenItem = function(item) {
  return item
};

pp$5.parseParenArrowList = function(startPos, startLoc, exprList, forInit) {
  return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), exprList, false, forInit)
};

// New's precedence is slightly tricky. It must allow its argument to
// be a `[]` or dot subscript expression, but not a call — at least,
// not without wrapping it in parentheses. Thus, it uses the noCalls
// argument to parseSubscripts to prevent it from consuming the
// argument list.

var acorn_empty = [];

pp$5.parseNew = function() {
  if (this.containsEsc) { this.raiseRecoverable(this.start, "Escape sequence in keyword new"); }
  var node = this.startNode();
  this.next();
  if (this.options.ecmaVersion >= 6 && this.type === types$1.dot) {
    var meta = this.startNodeAt(node.start, node.loc && node.loc.start);
    meta.name = "new";
    node.meta = this.finishNode(meta, "Identifier");
    this.next();
    var containsEsc = this.containsEsc;
    node.property = this.parseIdent(true);
    if (node.property.name !== "target")
      { this.raiseRecoverable(node.property.start, "The only valid meta property for new is 'new.target'"); }
    if (containsEsc)
      { this.raiseRecoverable(node.start, "'new.target' must not contain escaped characters"); }
    if (!this.allowNewDotTarget)
      { this.raiseRecoverable(node.start, "'new.target' can only be used in functions and class static block"); }
    return this.finishNode(node, "MetaProperty")
  }
  var startPos = this.start, startLoc = this.startLoc;
  node.callee = this.parseSubscripts(this.parseExprAtom(null, false, true), startPos, startLoc, true, false);
  if (this.eat(types$1.parenL)) { node.arguments = this.parseExprList(types$1.parenR, this.options.ecmaVersion >= 8, false); }
  else { node.arguments = acorn_empty; }
  return this.finishNode(node, "NewExpression")
};

// Parse template expression.

pp$5.parseTemplateElement = function(ref) {
  var isTagged = ref.isTagged;

  var elem = this.startNode();
  if (this.type === types$1.invalidTemplate) {
    if (!isTagged) {
      this.raiseRecoverable(this.start, "Bad escape sequence in untagged template literal");
    }
    elem.value = {
      raw: this.value.replace(/\r\n?/g, "\n"),
      cooked: null
    };
  } else {
    elem.value = {
      raw: this.input.slice(this.start, this.end).replace(/\r\n?/g, "\n"),
      cooked: this.value
    };
  }
  this.next();
  elem.tail = this.type === types$1.backQuote;
  return this.finishNode(elem, "TemplateElement")
};

pp$5.parseTemplate = function(ref) {
  if ( ref === void 0 ) ref = {};
  var isTagged = ref.isTagged; if ( isTagged === void 0 ) isTagged = false;

  var node = this.startNode();
  this.next();
  node.expressions = [];
  var curElt = this.parseTemplateElement({isTagged: isTagged});
  node.quasis = [curElt];
  while (!curElt.tail) {
    if (this.type === types$1.eof) { this.raise(this.pos, "Unterminated template literal"); }
    this.expect(types$1.dollarBraceL);
    node.expressions.push(this.parseExpression());
    this.expect(types$1.braceR);
    node.quasis.push(curElt = this.parseTemplateElement({isTagged: isTagged}));
  }
  this.next();
  return this.finishNode(node, "TemplateLiteral")
};

pp$5.isAsyncProp = function(prop) {
  return !prop.computed && prop.key.type === "Identifier" && prop.key.name === "async" &&
    (this.type === types$1.name || this.type === types$1.num || this.type === types$1.string || this.type === types$1.bracketL || this.type.keyword || (this.options.ecmaVersion >= 9 && this.type === types$1.star)) &&
    !lineBreak.test(this.input.slice(this.lastTokEnd, this.start))
};

// Parse an object literal or binding pattern.

pp$5.parseObj = function(isPattern, refDestructuringErrors) {
  var node = this.startNode(), first = true, propHash = {};
  node.properties = [];
  this.next();
  while (!this.eat(types$1.braceR)) {
    if (!first) {
      this.expect(types$1.comma);
      if (this.options.ecmaVersion >= 5 && this.afterTrailingComma(types$1.braceR)) { break }
    } else { first = false; }

    var prop = this.parseProperty(isPattern, refDestructuringErrors);
    if (!isPattern) { this.checkPropClash(prop, propHash, refDestructuringErrors); }
    node.properties.push(prop);
  }
  return this.finishNode(node, isPattern ? "ObjectPattern" : "ObjectExpression")
};

pp$5.parseProperty = function(isPattern, refDestructuringErrors) {
  var prop = this.startNode(), isGenerator, isAsync, startPos, startLoc;
  if (this.options.ecmaVersion >= 9 && this.eat(types$1.ellipsis)) {
    if (isPattern) {
      prop.argument = this.parseIdent(false);
      if (this.type === types$1.comma) {
        this.raiseRecoverable(this.start, "Comma is not permitted after the rest element");
      }
      return this.finishNode(prop, "RestElement")
    }
    // Parse argument.
    prop.argument = this.parseMaybeAssign(false, refDestructuringErrors);
    // To disallow trailing comma via `this.toAssignable()`.
    if (this.type === types$1.comma && refDestructuringErrors && refDestructuringErrors.trailingComma < 0) {
      refDestructuringErrors.trailingComma = this.start;
    }
    // Finish
    return this.finishNode(prop, "SpreadElement")
  }
  if (this.options.ecmaVersion >= 6) {
    prop.method = false;
    prop.shorthand = false;
    if (isPattern || refDestructuringErrors) {
      startPos = this.start;
      startLoc = this.startLoc;
    }
    if (!isPattern)
      { isGenerator = this.eat(types$1.star); }
  }
  var containsEsc = this.containsEsc;
  this.parsePropertyName(prop);
  if (!isPattern && !containsEsc && this.options.ecmaVersion >= 8 && !isGenerator && this.isAsyncProp(prop)) {
    isAsync = true;
    isGenerator = this.options.ecmaVersion >= 9 && this.eat(types$1.star);
    this.parsePropertyName(prop);
  } else {
    isAsync = false;
  }
  this.parsePropertyValue(prop, isPattern, isGenerator, isAsync, startPos, startLoc, refDestructuringErrors, containsEsc);
  return this.finishNode(prop, "Property")
};

pp$5.parseGetterSetter = function(prop) {
  prop.kind = prop.key.name;
  this.parsePropertyName(prop);
  prop.value = this.parseMethod(false);
  var paramCount = prop.kind === "get" ? 0 : 1;
  if (prop.value.params.length !== paramCount) {
    var start = prop.value.start;
    if (prop.kind === "get")
      { this.raiseRecoverable(start, "getter should have no params"); }
    else
      { this.raiseRecoverable(start, "setter should have exactly one param"); }
  } else {
    if (prop.kind === "set" && prop.value.params[0].type === "RestElement")
      { this.raiseRecoverable(prop.value.params[0].start, "Setter cannot use rest params"); }
  }
};

pp$5.parsePropertyValue = function(prop, isPattern, isGenerator, isAsync, startPos, startLoc, refDestructuringErrors, containsEsc) {
  if ((isGenerator || isAsync) && this.type === types$1.colon)
    { this.unexpected(); }

  if (this.eat(types$1.colon)) {
    prop.value = isPattern ? this.parseMaybeDefault(this.start, this.startLoc) : this.parseMaybeAssign(false, refDestructuringErrors);
    prop.kind = "init";
  } else if (this.options.ecmaVersion >= 6 && this.type === types$1.parenL) {
    if (isPattern) { this.unexpected(); }
    prop.kind = "init";
    prop.method = true;
    prop.value = this.parseMethod(isGenerator, isAsync);
  } else if (!isPattern && !containsEsc &&
             this.options.ecmaVersion >= 5 && !prop.computed && prop.key.type === "Identifier" &&
             (prop.key.name === "get" || prop.key.name === "set") &&
             (this.type !== types$1.comma && this.type !== types$1.braceR && this.type !== types$1.eq)) {
    if (isGenerator || isAsync) { this.unexpected(); }
    this.parseGetterSetter(prop);
  } else if (this.options.ecmaVersion >= 6 && !prop.computed && prop.key.type === "Identifier") {
    if (isGenerator || isAsync) { this.unexpected(); }
    this.checkUnreserved(prop.key);
    if (prop.key.name === "await" && !this.awaitIdentPos)
      { this.awaitIdentPos = startPos; }
    prop.kind = "init";
    if (isPattern) {
      prop.value = this.parseMaybeDefault(startPos, startLoc, this.copyNode(prop.key));
    } else if (this.type === types$1.eq && refDestructuringErrors) {
      if (refDestructuringErrors.shorthandAssign < 0)
        { refDestructuringErrors.shorthandAssign = this.start; }
      prop.value = this.parseMaybeDefault(startPos, startLoc, this.copyNode(prop.key));
    } else {
      prop.value = this.copyNode(prop.key);
    }
    prop.shorthand = true;
  } else { this.unexpected(); }
};

pp$5.parsePropertyName = function(prop) {
  if (this.options.ecmaVersion >= 6) {
    if (this.eat(types$1.bracketL)) {
      prop.computed = true;
      prop.key = this.parseMaybeAssign();
      this.expect(types$1.bracketR);
      return prop.key
    } else {
      prop.computed = false;
    }
  }
  return prop.key = this.type === types$1.num || this.type === types$1.string ? this.parseExprAtom() : this.parseIdent(this.options.allowReserved !== "never")
};

// Initialize empty function node.

pp$5.initFunction = function(node) {
  node.id = null;
  if (this.options.ecmaVersion >= 6) { node.generator = node.expression = false; }
  if (this.options.ecmaVersion >= 8) { node.async = false; }
};

// Parse object or class method.

pp$5.parseMethod = function(isGenerator, isAsync, allowDirectSuper) {
  var node = this.startNode(), oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, oldAwaitIdentPos = this.awaitIdentPos;

  this.initFunction(node);
  if (this.options.ecmaVersion >= 6)
    { node.generator = isGenerator; }
  if (this.options.ecmaVersion >= 8)
    { node.async = !!isAsync; }

  this.yieldPos = 0;
  this.awaitPos = 0;
  this.awaitIdentPos = 0;
  this.enterScope(functionFlags(isAsync, node.generator) | SCOPE_SUPER | (allowDirectSuper ? SCOPE_DIRECT_SUPER : 0));

  this.expect(types$1.parenL);
  node.params = this.parseBindingList(types$1.parenR, false, this.options.ecmaVersion >= 8);
  this.checkYieldAwaitInDefaultParams();
  this.parseFunctionBody(node, false, true, false);

  this.yieldPos = oldYieldPos;
  this.awaitPos = oldAwaitPos;
  this.awaitIdentPos = oldAwaitIdentPos;
  return this.finishNode(node, "FunctionExpression")
};

// Parse arrow function expression with given parameters.

pp$5.parseArrowExpression = function(node, params, isAsync, forInit) {
  var oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, oldAwaitIdentPos = this.awaitIdentPos;

  this.enterScope(functionFlags(isAsync, false) | SCOPE_ARROW);
  this.initFunction(node);
  if (this.options.ecmaVersion >= 8) { node.async = !!isAsync; }

  this.yieldPos = 0;
  this.awaitPos = 0;
  this.awaitIdentPos = 0;

  node.params = this.toAssignableList(params, true);
  this.parseFunctionBody(node, true, false, forInit);

  this.yieldPos = oldYieldPos;
  this.awaitPos = oldAwaitPos;
  this.awaitIdentPos = oldAwaitIdentPos;
  return this.finishNode(node, "ArrowFunctionExpression")
};

// Parse function body and check parameters.

pp$5.parseFunctionBody = function(node, isArrowFunction, isMethod, forInit) {
  var isExpression = isArrowFunction && this.type !== types$1.braceL;
  var oldStrict = this.strict, useStrict = false;

  if (isExpression) {
    node.body = this.parseMaybeAssign(forInit);
    node.expression = true;
    this.checkParams(node, false);
  } else {
    var nonSimple = this.options.ecmaVersion >= 7 && !this.isSimpleParamList(node.params);
    if (!oldStrict || nonSimple) {
      useStrict = this.strictDirective(this.end);
      // If this is a strict mode function, verify that argument names
      // are not repeated, and it does not try to bind the words `eval`
      // or `arguments`.
      if (useStrict && nonSimple)
        { this.raiseRecoverable(node.start, "Illegal 'use strict' directive in function with non-simple parameter list"); }
    }
    // Start a new scope with regard to labels and the `inFunction`
    // flag (restore them to their old value afterwards).
    var oldLabels = this.labels;
    this.labels = [];
    if (useStrict) { this.strict = true; }

    // Add the params to varDeclaredNames to ensure that an error is thrown
    // if a let/const declaration in the function clashes with one of the params.
    this.checkParams(node, !oldStrict && !useStrict && !isArrowFunction && !isMethod && this.isSimpleParamList(node.params));
    // Ensure the function name isn't a forbidden identifier in strict mode, e.g. 'eval'
    if (this.strict && node.id) { this.checkLValSimple(node.id, BIND_OUTSIDE); }
    node.body = this.parseBlock(false, undefined, useStrict && !oldStrict);
    node.expression = false;
    this.adaptDirectivePrologue(node.body.body);
    this.labels = oldLabels;
  }
  this.exitScope();
};

pp$5.isSimpleParamList = function(params) {
  for (var i = 0, list = params; i < list.length; i += 1)
    {
    var param = list[i];

    if (param.type !== "Identifier") { return false
  } }
  return true
};

// Checks function params for various disallowed patterns such as using "eval"
// or "arguments" and duplicate parameters.

pp$5.checkParams = function(node, allowDuplicates) {
  var nameHash = Object.create(null);
  for (var i = 0, list = node.params; i < list.length; i += 1)
    {
    var param = list[i];

    this.checkLValInnerPattern(param, BIND_VAR, allowDuplicates ? null : nameHash);
  }
};

// Parses a comma-separated list of expressions, and returns them as
// an array. `close` is the token type that ends the list, and
// `allowEmpty` can be turned on to allow subsequent commas with
// nothing in between them to be parsed as `null` (which is needed
// for array literals).

pp$5.parseExprList = function(close, allowTrailingComma, allowEmpty, refDestructuringErrors) {
  var elts = [], first = true;
  while (!this.eat(close)) {
    if (!first) {
      this.expect(types$1.comma);
      if (allowTrailingComma && this.afterTrailingComma(close)) { break }
    } else { first = false; }

    var elt = (void 0);
    if (allowEmpty && this.type === types$1.comma)
      { elt = null; }
    else if (this.type === types$1.ellipsis) {
      elt = this.parseSpread(refDestructuringErrors);
      if (refDestructuringErrors && this.type === types$1.comma && refDestructuringErrors.trailingComma < 0)
        { refDestructuringErrors.trailingComma = this.start; }
    } else {
      elt = this.parseMaybeAssign(false, refDestructuringErrors);
    }
    elts.push(elt);
  }
  return elts
};

pp$5.checkUnreserved = function(ref) {
  var start = ref.start;
  var end = ref.end;
  var name = ref.name;

  if (this.inGenerator && name === "yield")
    { this.raiseRecoverable(start, "Cannot use 'yield' as identifier inside a generator"); }
  if (this.inAsync && name === "await")
    { this.raiseRecoverable(start, "Cannot use 'await' as identifier inside an async function"); }
  if (this.currentThisScope().inClassFieldInit && name === "arguments")
    { this.raiseRecoverable(start, "Cannot use 'arguments' in class field initializer"); }
  if (this.inClassStaticBlock && (name === "arguments" || name === "await"))
    { this.raise(start, ("Cannot use " + name + " in class static initialization block")); }
  if (this.keywords.test(name))
    { this.raise(start, ("Unexpected keyword '" + name + "'")); }
  if (this.options.ecmaVersion < 6 &&
    this.input.slice(start, end).indexOf("\\") !== -1) { return }
  var re = this.strict ? this.reservedWordsStrict : this.reservedWords;
  if (re.test(name)) {
    if (!this.inAsync && name === "await")
      { this.raiseRecoverable(start, "Cannot use keyword 'await' outside an async function"); }
    this.raiseRecoverable(start, ("The keyword '" + name + "' is reserved"));
  }
};

// Parse the next token as an identifier. If `liberal` is true (used
// when parsing properties), it will also convert keywords into
// identifiers.

pp$5.parseIdent = function(liberal) {
  var node = this.parseIdentNode();
  this.next(!!liberal);
  this.finishNode(node, "Identifier");
  if (!liberal) {
    this.checkUnreserved(node);
    if (node.name === "await" && !this.awaitIdentPos)
      { this.awaitIdentPos = node.start; }
  }
  return node
};

pp$5.parseIdentNode = function() {
  var node = this.startNode();
  if (this.type === types$1.name) {
    node.name = this.value;
  } else if (this.type.keyword) {
    node.name = this.type.keyword;

    // To fix https://github.com/acornjs/acorn/issues/575
    // `class` and `function` keywords push new context into this.context.
    // But there is no chance to pop the context if the keyword is consumed as an identifier such as a property name.
    // If the previous token is a dot, this does not apply because the context-managing code already ignored the keyword
    if ((node.name === "class" || node.name === "function") &&
      (this.lastTokEnd !== this.lastTokStart + 1 || this.input.charCodeAt(this.lastTokStart) !== 46)) {
      this.context.pop();
    }
    this.type = types$1.name;
  } else {
    this.unexpected();
  }
  return node
};

pp$5.parsePrivateIdent = function() {
  var node = this.startNode();
  if (this.type === types$1.privateId) {
    node.name = this.value;
  } else {
    this.unexpected();
  }
  this.next();
  this.finishNode(node, "PrivateIdentifier");

  // For validating existence
  if (this.options.checkPrivateFields) {
    if (this.privateNameStack.length === 0) {
      this.raise(node.start, ("Private field '#" + (node.name) + "' must be declared in an enclosing class"));
    } else {
      this.privateNameStack[this.privateNameStack.length - 1].used.push(node);
    }
  }

  return node
};

// Parses yield expression inside generator.

pp$5.parseYield = function(forInit) {
  if (!this.yieldPos) { this.yieldPos = this.start; }

  var node = this.startNode();
  this.next();
  if (this.type === types$1.semi || this.canInsertSemicolon() || (this.type !== types$1.star && !this.type.startsExpr)) {
    node.delegate = false;
    node.argument = null;
  } else {
    node.delegate = this.eat(types$1.star);
    node.argument = this.parseMaybeAssign(forInit);
  }
  return this.finishNode(node, "YieldExpression")
};

pp$5.parseAwait = function(forInit) {
  if (!this.awaitPos) { this.awaitPos = this.start; }

  var node = this.startNode();
  this.next();
  node.argument = this.parseMaybeUnary(null, true, false, forInit);
  return this.finishNode(node, "AwaitExpression")
};

var pp$4 = Parser.prototype;

// This function is used to raise exceptions on parse errors. It
// takes an offset integer (into the current `input`) to indicate
// the location of the error, attaches the position to the end
// of the error message, and then raises a `SyntaxError` with that
// message.

pp$4.raise = function(pos, message) {
  var loc = getLineInfo(this.input, pos);
  message += " (" + loc.line + ":" + loc.column + ")";
  var err = new SyntaxError(message);
  err.pos = pos; err.loc = loc; err.raisedAt = this.pos;
  throw err
};

pp$4.raiseRecoverable = pp$4.raise;

pp$4.curPosition = function() {
  if (this.options.locations) {
    return new Position(this.curLine, this.pos - this.lineStart)
  }
};

var pp$3 = Parser.prototype;

var Scope = function Scope(flags) {
  this.flags = flags;
  // A list of var-declared names in the current lexical scope
  this.var = [];
  // A list of lexically-declared names in the current lexical scope
  this.lexical = [];
  // A list of lexically-declared FunctionDeclaration names in the current lexical scope
  this.functions = [];
  // A switch to disallow the identifier reference 'arguments'
  this.inClassFieldInit = false;
};

// The functions in this module keep track of declared variables in the current scope in order to detect duplicate variable names.

pp$3.enterScope = function(flags) {
  this.scopeStack.push(new Scope(flags));
};

pp$3.exitScope = function() {
  this.scopeStack.pop();
};

// The spec says:
// > At the top level of a function, or script, function declarations are
// > treated like var declarations rather than like lexical declarations.
pp$3.treatFunctionsAsVarInScope = function(scope) {
  return (scope.flags & SCOPE_FUNCTION) || !this.inModule && (scope.flags & SCOPE_TOP)
};

pp$3.declareName = function(name, bindingType, pos) {
  var redeclared = false;
  if (bindingType === BIND_LEXICAL) {
    var scope = this.currentScope();
    redeclared = scope.lexical.indexOf(name) > -1 || scope.functions.indexOf(name) > -1 || scope.var.indexOf(name) > -1;
    scope.lexical.push(name);
    if (this.inModule && (scope.flags & SCOPE_TOP))
      { delete this.undefinedExports[name]; }
  } else if (bindingType === BIND_SIMPLE_CATCH) {
    var scope$1 = this.currentScope();
    scope$1.lexical.push(name);
  } else if (bindingType === BIND_FUNCTION) {
    var scope$2 = this.currentScope();
    if (this.treatFunctionsAsVar)
      { redeclared = scope$2.lexical.indexOf(name) > -1; }
    else
      { redeclared = scope$2.lexical.indexOf(name) > -1 || scope$2.var.indexOf(name) > -1; }
    scope$2.functions.push(name);
  } else {
    for (var i = this.scopeStack.length - 1; i >= 0; --i) {
      var scope$3 = this.scopeStack[i];
      if (scope$3.lexical.indexOf(name) > -1 && !((scope$3.flags & SCOPE_SIMPLE_CATCH) && scope$3.lexical[0] === name) ||
          !this.treatFunctionsAsVarInScope(scope$3) && scope$3.functions.indexOf(name) > -1) {
        redeclared = true;
        break
      }
      scope$3.var.push(name);
      if (this.inModule && (scope$3.flags & SCOPE_TOP))
        { delete this.undefinedExports[name]; }
      if (scope$3.flags & SCOPE_VAR) { break }
    }
  }
  if (redeclared) { this.raiseRecoverable(pos, ("Identifier '" + name + "' has already been declared")); }
};

pp$3.checkLocalExport = function(id) {
  // scope.functions must be empty as Module code is always strict.
  if (this.scopeStack[0].lexical.indexOf(id.name) === -1 &&
      this.scopeStack[0].var.indexOf(id.name) === -1) {
    this.undefinedExports[id.name] = id;
  }
};

pp$3.currentScope = function() {
  return this.scopeStack[this.scopeStack.length - 1]
};

pp$3.currentVarScope = function() {
  for (var i = this.scopeStack.length - 1;; i--) {
    var scope = this.scopeStack[i];
    if (scope.flags & SCOPE_VAR) { return scope }
  }
};

// Could be useful for `this`, `new.target`, `super()`, `super.property`, and `super[property]`.
pp$3.currentThisScope = function() {
  for (var i = this.scopeStack.length - 1;; i--) {
    var scope = this.scopeStack[i];
    if (scope.flags & SCOPE_VAR && !(scope.flags & SCOPE_ARROW)) { return scope }
  }
};

var Node = function Node(parser, pos, loc) {
  this.type = "";
  this.start = pos;
  this.end = 0;
  if (parser.options.locations)
    { this.loc = new SourceLocation(parser, loc); }
  if (parser.options.directSourceFile)
    { this.sourceFile = parser.options.directSourceFile; }
  if (parser.options.ranges)
    { this.range = [pos, 0]; }
};

// Start an AST node, attaching a start offset.

var pp$2 = Parser.prototype;

pp$2.startNode = function() {
  return new Node(this, this.start, this.startLoc)
};

pp$2.startNodeAt = function(pos, loc) {
  return new Node(this, pos, loc)
};

// Finish an AST node, adding `type` and `end` properties.

function finishNodeAt(node, type, pos, loc) {
  node.type = type;
  node.end = pos;
  if (this.options.locations)
    { node.loc.end = loc; }
  if (this.options.ranges)
    { node.range[1] = pos; }
  return node
}

pp$2.finishNode = function(node, type) {
  return finishNodeAt.call(this, node, type, this.lastTokEnd, this.lastTokEndLoc)
};

// Finish node at given position

pp$2.finishNodeAt = function(node, type, pos, loc) {
  return finishNodeAt.call(this, node, type, pos, loc)
};

pp$2.copyNode = function(node) {
  var newNode = new Node(this, node.start, this.startLoc);
  for (var prop in node) { newNode[prop] = node[prop]; }
  return newNode
};

// This file was generated by "bin/generate-unicode-script-values.js". Do not modify manually!
var scriptValuesAddedInUnicode = "Gara Garay Gukh Gurung_Khema Hrkt Katakana_Or_Hiragana Kawi Kirat_Rai Krai Nag_Mundari Nagm Ol_Onal Onao Sunu Sunuwar Todhri Todr Tulu_Tigalari Tutg Unknown Zzzz";

// This file contains Unicode properties extracted from the ECMAScript specification.
// The lists are extracted like so:
// $$('#table-binary-unicode-properties > figure > table > tbody > tr > td:nth-child(1) code').map(el => el.innerText)

// #table-binary-unicode-properties
var ecma9BinaryProperties = "ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS";
var ecma10BinaryProperties = ecma9BinaryProperties + " Extended_Pictographic";
var ecma11BinaryProperties = ecma10BinaryProperties;
var ecma12BinaryProperties = ecma11BinaryProperties + " EBase EComp EMod EPres ExtPict";
var ecma13BinaryProperties = ecma12BinaryProperties;
var ecma14BinaryProperties = ecma13BinaryProperties;

var unicodeBinaryProperties = {
  9: ecma9BinaryProperties,
  10: ecma10BinaryProperties,
  11: ecma11BinaryProperties,
  12: ecma12BinaryProperties,
  13: ecma13BinaryProperties,
  14: ecma14BinaryProperties
};

// #table-binary-unicode-properties-of-strings
var ecma14BinaryPropertiesOfStrings = "Basic_Emoji Emoji_Keycap_Sequence RGI_Emoji_Modifier_Sequence RGI_Emoji_Flag_Sequence RGI_Emoji_Tag_Sequence RGI_Emoji_ZWJ_Sequence RGI_Emoji";

var unicodeBinaryPropertiesOfStrings = {
  9: "",
  10: "",
  11: "",
  12: "",
  13: "",
  14: ecma14BinaryPropertiesOfStrings
};

// #table-unicode-general-category-values
var unicodeGeneralCategoryValues = "Cased_Letter LC Close_Punctuation Pe Connector_Punctuation Pc Control Cc cntrl Currency_Symbol Sc Dash_Punctuation Pd Decimal_Number Nd digit Enclosing_Mark Me Final_Punctuation Pf Format Cf Initial_Punctuation Pi Letter L Letter_Number Nl Line_Separator Zl Lowercase_Letter Ll Mark M Combining_Mark Math_Symbol Sm Modifier_Letter Lm Modifier_Symbol Sk Nonspacing_Mark Mn Number N Open_Punctuation Ps Other C Other_Letter Lo Other_Number No Other_Punctuation Po Other_Symbol So Paragraph_Separator Zp Private_Use Co Punctuation P punct Separator Z Space_Separator Zs Spacing_Mark Mc Surrogate Cs Symbol S Titlecase_Letter Lt Unassigned Cn Uppercase_Letter Lu";

// #table-unicode-script-values
var ecma9ScriptValues = "Adlam Adlm Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb";
var ecma10ScriptValues = ecma9ScriptValues + " Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd";
var ecma11ScriptValues = ecma10ScriptValues + " Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho";
var ecma12ScriptValues = ecma11ScriptValues + " Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi";
var ecma13ScriptValues = ecma12ScriptValues + " Cypro_Minoan Cpmn Old_Uyghur Ougr Tangsa Tnsa Toto Vithkuqi Vith";
var ecma14ScriptValues = ecma13ScriptValues + " " + scriptValuesAddedInUnicode;

var unicodeScriptValues = {
  9: ecma9ScriptValues,
  10: ecma10ScriptValues,
  11: ecma11ScriptValues,
  12: ecma12ScriptValues,
  13: ecma13ScriptValues,
  14: ecma14ScriptValues
};

var data = {};
function buildUnicodeData(ecmaVersion) {
  var d = data[ecmaVersion] = {
    binary: wordsRegexp(unicodeBinaryProperties[ecmaVersion] + " " + unicodeGeneralCategoryValues),
    binaryOfStrings: wordsRegexp(unicodeBinaryPropertiesOfStrings[ecmaVersion]),
    nonBinary: {
      General_Category: wordsRegexp(unicodeGeneralCategoryValues),
      Script: wordsRegexp(unicodeScriptValues[ecmaVersion])
    }
  };
  d.nonBinary.Script_Extensions = d.nonBinary.Script;

  d.nonBinary.gc = d.nonBinary.General_Category;
  d.nonBinary.sc = d.nonBinary.Script;
  d.nonBinary.scx = d.nonBinary.Script_Extensions;
}

for (var i = 0, acorn_list = [9, 10, 11, 12, 13, 14]; i < acorn_list.length; i += 1) {
  var ecmaVersion = acorn_list[i];

  buildUnicodeData(ecmaVersion);
}

var pp$1 = Parser.prototype;

// Track disjunction structure to determine whether a duplicate
// capture group name is allowed because it is in a separate branch.
var BranchID = function BranchID(parent, base) {
  // Parent disjunction branch
  this.parent = parent;
  // Identifies this set of sibling branches
  this.base = base || this;
};

BranchID.prototype.separatedFrom = function separatedFrom (alt) {
  // A branch is separate from another branch if they or any of
  // their parents are siblings in a given disjunction
  for (var self = this; self; self = self.parent) {
    for (var other = alt; other; other = other.parent) {
      if (self.base === other.base && self !== other) { return true }
    }
  }
  return false
};

BranchID.prototype.sibling = function sibling () {
  return new BranchID(this.parent, this.base)
};

var RegExpValidationState = function RegExpValidationState(parser) {
  this.parser = parser;
  this.validFlags = "gim" + (parser.options.ecmaVersion >= 6 ? "uy" : "") + (parser.options.ecmaVersion >= 9 ? "s" : "") + (parser.options.ecmaVersion >= 13 ? "d" : "") + (parser.options.ecmaVersion >= 15 ? "v" : "");
  this.unicodeProperties = data[parser.options.ecmaVersion >= 14 ? 14 : parser.options.ecmaVersion];
  this.source = "";
  this.flags = "";
  this.start = 0;
  this.switchU = false;
  this.switchV = false;
  this.switchN = false;
  this.pos = 0;
  this.lastIntValue = 0;
  this.lastStringValue = "";
  this.lastAssertionIsQuantifiable = false;
  this.numCapturingParens = 0;
  this.maxBackReference = 0;
  this.groupNames = Object.create(null);
  this.backReferenceNames = [];
  this.branchID = null;
};

RegExpValidationState.prototype.reset = function reset (start, pattern, flags) {
  var unicodeSets = flags.indexOf("v") !== -1;
  var unicode = flags.indexOf("u") !== -1;
  this.start = start | 0;
  this.source = pattern + "";
  this.flags = flags;
  if (unicodeSets && this.parser.options.ecmaVersion >= 15) {
    this.switchU = true;
    this.switchV = true;
    this.switchN = true;
  } else {
    this.switchU = unicode && this.parser.options.ecmaVersion >= 6;
    this.switchV = false;
    this.switchN = unicode && this.parser.options.ecmaVersion >= 9;
  }
};

RegExpValidationState.prototype.raise = function raise (message) {
  this.parser.raiseRecoverable(this.start, ("Invalid regular expression: /" + (this.source) + "/: " + message));
};

// If u flag is given, this returns the code point at the index (it combines a surrogate pair).
// Otherwise, this returns the code unit of the index (can be a part of a surrogate pair).
RegExpValidationState.prototype.at = function at (i, forceU) {
    if ( forceU === void 0 ) forceU = false;

  var s = this.source;
  var l = s.length;
  if (i >= l) {
    return -1
  }
  var c = s.charCodeAt(i);
  if (!(forceU || this.switchU) || c <= 0xD7FF || c >= 0xE000 || i + 1 >= l) {
    return c
  }
  var next = s.charCodeAt(i + 1);
  return next >= 0xDC00 && next <= 0xDFFF ? (c << 10) + next - 0x35FDC00 : c
};

RegExpValidationState.prototype.nextIndex = function nextIndex (i, forceU) {
    if ( forceU === void 0 ) forceU = false;

  var s = this.source;
  var l = s.length;
  if (i >= l) {
    return l
  }
  var c = s.charCodeAt(i), next;
  if (!(forceU || this.switchU) || c <= 0xD7FF || c >= 0xE000 || i + 1 >= l ||
      (next = s.charCodeAt(i + 1)) < 0xDC00 || next > 0xDFFF) {
    return i + 1
  }
  return i + 2
};

RegExpValidationState.prototype.current = function current (forceU) {
    if ( forceU === void 0 ) forceU = false;

  return this.at(this.pos, forceU)
};

RegExpValidationState.prototype.lookahead = function lookahead (forceU) {
    if ( forceU === void 0 ) forceU = false;

  return this.at(this.nextIndex(this.pos, forceU), forceU)
};

RegExpValidationState.prototype.advance = function advance (forceU) {
    if ( forceU === void 0 ) forceU = false;

  this.pos = this.nextIndex(this.pos, forceU);
};

RegExpValidationState.prototype.eat = function eat (ch, forceU) {
    if ( forceU === void 0 ) forceU = false;

  if (this.current(forceU) === ch) {
    this.advance(forceU);
    return true
  }
  return false
};

RegExpValidationState.prototype.eatChars = function eatChars (chs, forceU) {
    if ( forceU === void 0 ) forceU = false;

  var pos = this.pos;
  for (var i = 0, list = chs; i < list.length; i += 1) {
    var ch = list[i];

      var current = this.at(pos, forceU);
    if (current === -1 || current !== ch) {
      return false
    }
    pos = this.nextIndex(pos, forceU);
  }
  this.pos = pos;
  return true
};

/**
 * Validate the flags part of a given RegExpLiteral.
 *
 * @param {RegExpValidationState} state The state to validate RegExp.
 * @returns {void}
 */
pp$1.validateRegExpFlags = function(state) {
  var validFlags = state.validFlags;
  var flags = state.flags;

  var u = false;
  var v = false;

  for (var i = 0; i < flags.length; i++) {
    var flag = flags.charAt(i);
    if (validFlags.indexOf(flag) === -1) {
      this.raise(state.start, "Invalid regular expression flag");
    }
    if (flags.indexOf(flag, i + 1) > -1) {
      this.raise(state.start, "Duplicate regular expression flag");
    }
    if (flag === "u") { u = true; }
    if (flag === "v") { v = true; }
  }
  if (this.options.ecmaVersion >= 15 && u && v) {
    this.raise(state.start, "Invalid regular expression flag");
  }
};

function hasProp(obj) {
  for (var _ in obj) { return true }
  return false
}

/**
 * Validate the pattern part of a given RegExpLiteral.
 *
 * @param {RegExpValidationState} state The state to validate RegExp.
 * @returns {void}
 */
pp$1.validateRegExpPattern = function(state) {
  this.regexp_pattern(state);

  // The goal symbol for the parse is |Pattern[~U, ~N]|. If the result of
  // parsing contains a |GroupName|, reparse with the goal symbol
  // |Pattern[~U, +N]| and use this result instead. Throw a *SyntaxError*
  // exception if _P_ did not conform to the grammar, if any elements of _P_
  // were not matched by the parse, or if any Early Error conditions exist.
  if (!state.switchN && this.options.ecmaVersion >= 9 && hasProp(state.groupNames)) {
    state.switchN = true;
    this.regexp_pattern(state);
  }
};

// https://www.ecma-international.org/ecma-262/8.0/#prod-Pattern
pp$1.regexp_pattern = function(state) {
  state.pos = 0;
  state.lastIntValue = 0;
  state.lastStringValue = "";
  state.lastAssertionIsQuantifiable = false;
  state.numCapturingParens = 0;
  state.maxBackReference = 0;
  state.groupNames = Object.create(null);
  state.backReferenceNames.length = 0;
  state.branchID = null;

  this.regexp_disjunction(state);

  if (state.pos !== state.source.length) {
    // Make the same messages as V8.
    if (state.eat(0x29 /* ) */)) {
      state.raise("Unmatched ')'");
    }
    if (state.eat(0x5D /* ] */) || state.eat(0x7D /* } */)) {
      state.raise("Lone quantifier brackets");
    }
  }
  if (state.maxBackReference > state.numCapturingParens) {
    state.raise("Invalid escape");
  }
  for (var i = 0, list = state.backReferenceNames; i < list.length; i += 1) {
    var name = list[i];

    if (!state.groupNames[name]) {
      state.raise("Invalid named capture referenced");
    }
  }
};

// https://www.ecma-international.org/ecma-262/8.0/#prod-Disjunction
pp$1.regexp_disjunction = function(state) {
  var trackDisjunction = this.options.ecmaVersion >= 16;
  if (trackDisjunction) { state.branchID = new BranchID(state.branchID, null); }
  this.regexp_alternative(state);
  while (state.eat(0x7C /* | */)) {
    if (trackDisjunction) { state.branchID = state.branchID.sibling(); }
    this.regexp_alternative(state);
  }
  if (trackDisjunction) { state.branchID = state.branchID.parent; }

  // Make the same message as V8.
  if (this.regexp_eatQuantifier(state, true)) {
    state.raise("Nothing to repeat");
  }
  if (state.eat(0x7B /* { */)) {
    state.raise("Lone quantifier brackets");
  }
};

// https://www.ecma-international.org/ecma-262/8.0/#prod-Alternative
pp$1.regexp_alternative = function(state) {
  while (state.pos < state.source.length && this.regexp_eatTerm(state)) {}
};

// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-Term
pp$1.regexp_eatTerm = function(state) {
  if (this.regexp_eatAssertion(state)) {
    // Handle `QuantifiableAssertion Quantifier` alternative.
    // `state.lastAssertionIsQuantifiable` is true if the last eaten Assertion
    // is a QuantifiableAssertion.
    if (state.lastAssertionIsQuantifiable && this.regexp_eatQuantifier(state)) {
      // Make the same message as V8.
      if (state.switchU) {
        state.raise("Invalid quantifier");
      }
    }
    return true
  }

  if (state.switchU ? this.regexp_eatAtom(state) : this.regexp_eatExtendedAtom(state)) {
    this.regexp_eatQuantifier(state);
    return true
  }

  return false
};

// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-Assertion
pp$1.regexp_eatAssertion = function(state) {
  var start = state.pos;
  state.lastAssertionIsQuantifiable = false;

  // ^, $
  if (state.eat(0x5E /* ^ */) || state.eat(0x24 /* $ */)) {
    return true
  }

  // \b \B
  if (state.eat(0x5C /* \ */)) {
    if (state.eat(0x42 /* B */) || state.eat(0x62 /* b */)) {
      return true
    }
    state.pos = start;
  }

  // Lookahead / Lookbehind
  if (state.eat(0x28 /* ( */) && state.eat(0x3F /* ? */)) {
    var lookbehind = false;
    if (this.options.ecmaVersion >= 9) {
      lookbehind = state.eat(0x3C /* < */);
    }
    if (state.eat(0x3D /* = */) || state.eat(0x21 /* ! */)) {
      this.regexp_disjunction(state);
      if (!state.eat(0x29 /* ) */)) {
        state.raise("Unterminated group");
      }
      state.lastAssertionIsQuantifiable = !lookbehind;
      return true
    }
  }

  state.pos = start;
  return false
};

// https://www.ecma-international.org/ecma-262/8.0/#prod-Quantifier
pp$1.regexp_eatQuantifier = function(state, noError) {
  if ( noError === void 0 ) noError = false;

  if (this.regexp_eatQuantifierPrefix(state, noError)) {
    state.eat(0x3F /* ? */);
    return true
  }
  return false
};

// https://www.ecma-international.org/ecma-262/8.0/#prod-QuantifierPrefix
pp$1.regexp_eatQuantifierPrefix = function(state, noError) {
  return (
    state.eat(0x2A /* * */) ||
    state.eat(0x2B /* + */) ||
    state.eat(0x3F /* ? */) ||
    this.regexp_eatBracedQuantifier(state, noError)
  )
};
pp$1.regexp_eatBracedQuantifier = function(state, noError) {
  var start = state.pos;
  if (state.eat(0x7B /* { */)) {
    var min = 0, max = -1;
    if (this.regexp_eatDecimalDigits(state)) {
      min = state.lastIntValue;
      if (state.eat(0x2C /* , */) && this.regexp_eatDecimalDigits(state)) {
        max = state.lastIntValue;
      }
      if (state.eat(0x7D /* } */)) {
        // SyntaxError in https://www.ecma-international.org/ecma-262/8.0/#sec-term
        if (max !== -1 && max < min && !noError) {
          state.raise("numbers out of order in {} quantifier");
        }
        return true
      }
    }
    if (state.switchU && !noError) {
      state.raise("Incomplete quantifier");
    }
    state.pos = start;
  }
  return false
};

// https://www.ecma-international.org/ecma-262/8.0/#prod-Atom
pp$1.regexp_eatAtom = function(state) {
  return (
    this.regexp_eatPatternCharacters(state) ||
    state.eat(0x2E /* . */) ||
    this.regexp_eatReverseSolidusAtomEscape(state) ||
    this.regexp_eatCharacterClass(state) ||
    this.regexp_eatUncapturingGroup(state) ||
    this.regexp_eatCapturingGroup(state)
  )
};
pp$1.regexp_eatReverseSolidusAtomEscape = function(state) {
  var start = state.pos;
  if (state.eat(0x5C /* \ */)) {
    if (this.regexp_eatAtomEscape(state)) {
      return true
    }
    state.pos = start;
  }
  return false
};
pp$1.regexp_eatUncapturingGroup = function(state) {
  var start = state.pos;
  if (state.eat(0x28 /* ( */)) {
    if (state.eat(0x3F /* ? */)) {
      if (this.options.ecmaVersion >= 16) {
        var addModifiers = this.regexp_eatModifiers(state);
        var hasHyphen = state.eat(0x2D /* - */);
        if (addModifiers || hasHyphen) {
          for (var i = 0; i < addModifiers.length; i++) {
            var modifier = addModifiers.charAt(i);
            if (addModifiers.indexOf(modifier, i + 1) > -1) {
              state.raise("Duplicate regular expression modifiers");
            }
          }
          if (hasHyphen) {
            var removeModifiers = this.regexp_eatModifiers(state);
            if (!addModifiers && !removeModifiers && state.current() === 0x3A /* : */) {
              state.raise("Invalid regular expression modifiers");
            }
            for (var i$1 = 0; i$1 < removeModifiers.length; i$1++) {
              var modifier$1 = removeModifiers.charAt(i$1);
              if (
                removeModifiers.indexOf(modifier$1, i$1 + 1) > -1 ||
                addModifiers.indexOf(modifier$1) > -1
              ) {
                state.raise("Duplicate regular expression modifiers");
              }
            }
          }
        }
      }
      if (state.eat(0x3A /* : */)) {
        this.regexp_disjunction(state);
        if (state.eat(0x29 /* ) */)) {
          return true
        }
        state.raise("Unterminated group");
      }
    }
    state.pos = start;
  }
  return false
};
pp$1.regexp_eatCapturingGroup = function(state) {
  if (state.eat(0x28 /* ( */)) {
    if (this.options.ecmaVersion >= 9) {
      this.regexp_groupSpecifier(state);
    } else if (state.current() === 0x3F /* ? */) {
      state.raise("Invalid group");
    }
    this.regexp_disjunction(state);
    if (state.eat(0x29 /* ) */)) {
      state.numCapturingParens += 1;
      return true
    }
    state.raise("Unterminated group");
  }
  return false
};
// RegularExpressionModifiers ::
//   [empty]
//   RegularExpressionModifiers RegularExpressionModifier
pp$1.regexp_eatModifiers = function(state) {
  var modifiers = "";
  var ch = 0;
  while ((ch = state.current()) !== -1 && isRegularExpressionModifier(ch)) {
    modifiers += codePointToString(ch);
    state.advance();
  }
  return modifiers
};
// RegularExpressionModifier :: one of
//   `i` `m` `s`
function isRegularExpressionModifier(ch) {
  return ch === 0x69 /* i */ || ch === 0x6d /* m */ || ch === 0x73 /* s */
}

// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ExtendedAtom
pp$1.regexp_eatExtendedAtom = function(state) {
  return (
    state.eat(0x2E /* . */) ||
    this.regexp_eatReverseSolidusAtomEscape(state) ||
    this.regexp_eatCharacterClass(state) ||
    this.regexp_eatUncapturingGroup(state) ||
    this.regexp_eatCapturingGroup(state) ||
    this.regexp_eatInvalidBracedQuantifier(state) ||
    this.regexp_eatExtendedPatternCharacter(state)
  )
};

// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-InvalidBracedQuantifier
pp$1.regexp_eatInvalidBracedQuantifier = function(state) {
  if (this.regexp_eatBracedQuantifier(state, true)) {
    state.raise("Nothing to repeat");
  }
  return false
};

// https://www.ecma-international.org/ecma-262/8.0/#prod-SyntaxCharacter
pp$1.regexp_eatSyntaxCharacter = function(state) {
  var ch = state.current();
  if (isSyntaxCharacter(ch)) {
    state.lastIntValue = ch;
    state.advance();
    return true
  }
  return false
};
function isSyntaxCharacter(ch) {
  return (
    ch === 0x24 /* $ */ ||
    ch >= 0x28 /* ( */ && ch <= 0x2B /* + */ ||
    ch === 0x2E /* . */ ||
    ch === 0x3F /* ? */ ||
    ch >= 0x5B /* [ */ && ch <= 0x5E /* ^ */ ||
    ch >= 0x7B /* { */ && ch <= 0x7D /* } */
  )
}

// https://www.ecma-international.org/ecma-262/8.0/#prod-PatternCharacter
// But eat eager.
pp$1.regexp_eatPatternCharacters = function(state) {
  var start = state.pos;
  var ch = 0;
  while ((ch = state.current()) !== -1 && !isSyntaxCharacter(ch)) {
    state.advance();
  }
  return state.pos !== start
};

// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ExtendedPatternCharacter
pp$1.regexp_eatExtendedPatternCharacter = function(state) {
  var ch = state.current();
  if (
    ch !== -1 &&
    ch !== 0x24 /* $ */ &&
    !(ch >= 0x28 /* ( */ && ch <= 0x2B /* + */) &&
    ch !== 0x2E /* . */ &&
    ch !== 0x3F /* ? */ &&
    ch !== 0x5B /* [ */ &&
    ch !== 0x5E /* ^ */ &&
    ch !== 0x7C /* | */
  ) {
    state.advance();
    return true
  }
  return false
};

// GroupSpecifier ::
//   [empty]
//   `?` GroupName
pp$1.regexp_groupSpecifier = function(state) {
  if (state.eat(0x3F /* ? */)) {
    if (!this.regexp_eatGroupName(state)) { state.raise("Invalid group"); }
    var trackDisjunction = this.options.ecmaVersion >= 16;
    var known = state.groupNames[state.lastStringValue];
    if (known) {
      if (trackDisjunction) {
        for (var i = 0, list = known; i < list.length; i += 1) {
          var altID = list[i];

          if (!altID.separatedFrom(state.branchID))
            { state.raise("Duplicate capture group name"); }
        }
      } else {
        state.raise("Duplicate capture group name");
      }
    }
    if (trackDisjunction) {
      (known || (state.groupNames[state.lastStringValue] = [])).push(state.branchID);
    } else {
      state.groupNames[state.lastStringValue] = true;
    }
  }
};

// GroupName ::
//   `<` RegExpIdentifierName `>`
// Note: this updates `state.lastStringValue` property with the eaten name.
pp$1.regexp_eatGroupName = function(state) {
  state.lastStringValue = "";
  if (state.eat(0x3C /* < */)) {
    if (this.regexp_eatRegExpIdentifierName(state) && state.eat(0x3E /* > */)) {
      return true
    }
    state.raise("Invalid capture group name");
  }
  return false
};

// RegExpIdentifierName ::
//   RegExpIdentifierStart
//   RegExpIdentifierName RegExpIdentifierPart
// Note: this updates `state.lastStringValue` property with the eaten name.
pp$1.regexp_eatRegExpIdentifierName = function(state) {
  state.lastStringValue = "";
  if (this.regexp_eatRegExpIdentifierStart(state)) {
    state.lastStringValue += codePointToString(state.lastIntValue);
    while (this.regexp_eatRegExpIdentifierPart(state)) {
      state.lastStringValue += codePointToString(state.lastIntValue);
    }
    return true
  }
  return false
};

// RegExpIdentifierStart ::
//   UnicodeIDStart
//   `$`
//   `_`
//   `\` RegExpUnicodeEscapeSequence[+U]
pp$1.regexp_eatRegExpIdentifierStart = function(state) {
  var start = state.pos;
  var forceU = this.options.ecmaVersion >= 11;
  var ch = state.current(forceU);
  state.advance(forceU);

  if (ch === 0x5C /* \ */ && this.regexp_eatRegExpUnicodeEscapeSequence(state, forceU)) {
    ch = state.lastIntValue;
  }
  if (isRegExpIdentifierStart(ch)) {
    state.lastIntValue = ch;
    return true
  }

  state.pos = start;
  return false
};
function isRegExpIdentifierStart(ch) {
  return isIdentifierStart(ch, true) || ch === 0x24 /* $ */ || ch === 0x5F /* _ */
}

// RegExpIdentifierPart ::
//   UnicodeIDContinue
//   `$`
//   `_`
//   `\` RegExpUnicodeEscapeSequence[+U]
//   <ZWNJ>
//   <ZWJ>
pp$1.regexp_eatRegExpIdentifierPart = function(state) {
  var start = state.pos;
  var forceU = this.options.ecmaVersion >= 11;
  var ch = state.current(forceU);
  state.advance(forceU);

  if (ch === 0x5C /* \ */ && this.regexp_eatRegExpUnicodeEscapeSequence(state, forceU)) {
    ch = state.lastIntValue;
  }
  if (isRegExpIdentifierPart(ch)) {
    state.lastIntValue = ch;
    return true
  }

  state.pos = start;
  return false
};
function isRegExpIdentifierPart(ch) {
  return isIdentifierChar(ch, true) || ch === 0x24 /* $ */ || ch === 0x5F /* _ */ || ch === 0x200C /* <ZWNJ> */ || ch === 0x200D /* <ZWJ> */
}

// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-AtomEscape
pp$1.regexp_eatAtomEscape = function(state) {
  if (
    this.regexp_eatBackReference(state) ||
    this.regexp_eatCharacterClassEscape(state) ||
    this.regexp_eatCharacterEscape(state) ||
    (state.switchN && this.regexp_eatKGroupName(state))
  ) {
    return true
  }
  if (state.switchU) {
    // Make the same message as V8.
    if (state.current() === 0x63 /* c */) {
      state.raise("Invalid unicode escape");
    }
    state.raise("Invalid escape");
  }
  return false
};
pp$1.regexp_eatBackReference = function(state) {
  var start = state.pos;
  if (this.regexp_eatDecimalEscape(state)) {
    var n = state.lastIntValue;
    if (state.switchU) {
      // For SyntaxError in https://www.ecma-international.org/ecma-262/8.0/#sec-atomescape
      if (n > state.maxBackReference) {
        state.maxBackReference = n;
      }
      return true
    }
    if (n <= state.numCapturingParens) {
      return true
    }
    state.pos = start;
  }
  return false
};
pp$1.regexp_eatKGroupName = function(state) {
  if (state.eat(0x6B /* k */)) {
    if (this.regexp_eatGroupName(state)) {
      state.backReferenceNames.push(state.lastStringValue);
      return true
    }
    state.raise("Invalid named reference");
  }
  return false
};

// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-CharacterEscape
pp$1.regexp_eatCharacterEscape = function(state) {
  return (
    this.regexp_eatControlEscape(state) ||
    this.regexp_eatCControlLetter(state) ||
    this.regexp_eatZero(state) ||
    this.regexp_eatHexEscapeSequence(state) ||
    this.regexp_eatRegExpUnicodeEscapeSequence(state, false) ||
    (!state.switchU && this.regexp_eatLegacyOctalEscapeSequence(state)) ||
    this.regexp_eatIdentityEscape(state)
  )
};
pp$1.regexp_eatCControlLetter = function(state) {
  var start = state.pos;
  if (state.eat(0x63 /* c */)) {
    if (this.regexp_eatControlLetter(state)) {
      return true
    }
    state.pos = start;
  }
  return false
};
pp$1.regexp_eatZero = function(state) {
  if (state.current() === 0x30 /* 0 */ && !isDecimalDigit(state.lookahead())) {
    state.lastIntValue = 0;
    state.advance();
    return true
  }
  return false
};

// https://www.ecma-international.org/ecma-262/8.0/#prod-ControlEscape
pp$1.regexp_eatControlEscape = function(state) {
  var ch = state.current();
  if (ch === 0x74 /* t */) {
    state.lastIntValue = 0x09; /* \t */
    state.advance();
    return true
  }
  if (ch === 0x6E /* n */) {
    state.lastIntValue = 0x0A; /* \n */
    state.advance();
    return true
  }
  if (ch === 0x76 /* v */) {
    state.lastIntValue = 0x0B; /* \v */
    state.advance();
    return true
  }
  if (ch === 0x66 /* f */) {
    state.lastIntValue = 0x0C; /* \f */
    state.advance();
    return true
  }
  if (ch === 0x72 /* r */) {
    state.lastIntValue = 0x0D; /* \r */
    state.advance();
    return true
  }
  return false
};

// https://www.ecma-international.org/ecma-262/8.0/#prod-ControlLetter
pp$1.regexp_eatControlLetter = function(state) {
  var ch = state.current();
  if (isControlLetter(ch)) {
    state.lastIntValue = ch % 0x20;
    state.advance();
    return true
  }
  return false
};
function isControlLetter(ch) {
  return (
    (ch >= 0x41 /* A */ && ch <= 0x5A /* Z */) ||
    (ch >= 0x61 /* a */ && ch <= 0x7A /* z */)
  )
}

// https://www.ecma-international.org/ecma-262/8.0/#prod-RegExpUnicodeEscapeSequence
pp$1.regexp_eatRegExpUnicodeEscapeSequence = function(state, forceU) {
  if ( forceU === void 0 ) forceU = false;

  var start = state.pos;
  var switchU = forceU || state.switchU;

  if (state.eat(0x75 /* u */)) {
    if (this.regexp_eatFixedHexDigits(state, 4)) {
      var lead = state.lastIntValue;
      if (switchU && lead >= 0xD800 && lead <= 0xDBFF) {
        var leadSurrogateEnd = state.pos;
        if (state.eat(0x5C /* \ */) && state.eat(0x75 /* u */) && this.regexp_eatFixedHexDigits(state, 4)) {
          var trail = state.lastIntValue;
          if (trail >= 0xDC00 && trail <= 0xDFFF) {
            state.lastIntValue = (lead - 0xD800) * 0x400 + (trail - 0xDC00) + 0x10000;
            return true
          }
        }
        state.pos = leadSurrogateEnd;
        state.lastIntValue = lead;
      }
      return true
    }
    if (
      switchU &&
      state.eat(0x7B /* { */) &&
      this.regexp_eatHexDigits(state) &&
      state.eat(0x7D /* } */) &&
      isValidUnicode(state.lastIntValue)
    ) {
      return true
    }
    if (switchU) {
      state.raise("Invalid unicode escape");
    }
    state.pos = start;
  }

  return false
};
function isValidUnicode(ch) {
  return ch >= 0 && ch <= 0x10FFFF
}

// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-IdentityEscape
pp$1.regexp_eatIdentityEscape = function(state) {
  if (state.switchU) {
    if (this.regexp_eatSyntaxCharacter(state)) {
      return true
    }
    if (state.eat(0x2F /* / */)) {
      state.lastIntValue = 0x2F; /* / */
      return true
    }
    return false
  }

  var ch = state.current();
  if (ch !== 0x63 /* c */ && (!state.switchN || ch !== 0x6B /* k */)) {
    state.lastIntValue = ch;
    state.advance();
    return true
  }

  return false
};

// https://www.ecma-international.org/ecma-262/8.0/#prod-DecimalEscape
pp$1.regexp_eatDecimalEscape = function(state) {
  state.lastIntValue = 0;
  var ch = state.current();
  if (ch >= 0x31 /* 1 */ && ch <= 0x39 /* 9 */) {
    do {
      state.lastIntValue = 10 * state.lastIntValue + (ch - 0x30 /* 0 */);
      state.advance();
    } while ((ch = state.current()) >= 0x30 /* 0 */ && ch <= 0x39 /* 9 */)
    return true
  }
  return false
};

// Return values used by character set parsing methods, needed to
// forbid negation of sets that can match strings.
var CharSetNone = 0; // Nothing parsed
var CharSetOk = 1; // Construct parsed, cannot contain strings
var CharSetString = 2; // Construct parsed, can contain strings

// https://www.ecma-international.org/ecma-262/8.0/#prod-CharacterClassEscape
pp$1.regexp_eatCharacterClassEscape = function(state) {
  var ch = state.current();

  if (isCharacterClassEscape(ch)) {
    state.lastIntValue = -1;
    state.advance();
    return CharSetOk
  }

  var negate = false;
  if (
    state.switchU &&
    this.options.ecmaVersion >= 9 &&
    ((negate = ch === 0x50 /* P */) || ch === 0x70 /* p */)
  ) {
    state.lastIntValue = -1;
    state.advance();
    var result;
    if (
      state.eat(0x7B /* { */) &&
      (result = this.regexp_eatUnicodePropertyValueExpression(state)) &&
      state.eat(0x7D /* } */)
    ) {
      if (negate && result === CharSetString) { state.raise("Invalid property name"); }
      return result
    }
    state.raise("Invalid property name");
  }

  return CharSetNone
};

function isCharacterClassEscape(ch) {
  return (
    ch === 0x64 /* d */ ||
    ch === 0x44 /* D */ ||
    ch === 0x73 /* s */ ||
    ch === 0x53 /* S */ ||
    ch === 0x77 /* w */ ||
    ch === 0x57 /* W */
  )
}

// UnicodePropertyValueExpression ::
//   UnicodePropertyName `=` UnicodePropertyValue
//   LoneUnicodePropertyNameOrValue
pp$1.regexp_eatUnicodePropertyValueExpression = function(state) {
  var start = state.pos;

  // UnicodePropertyName `=` UnicodePropertyValue
  if (this.regexp_eatUnicodePropertyName(state) && state.eat(0x3D /* = */)) {
    var name = state.lastStringValue;
    if (this.regexp_eatUnicodePropertyValue(state)) {
      var value = state.lastStringValue;
      this.regexp_validateUnicodePropertyNameAndValue(state, name, value);
      return CharSetOk
    }
  }
  state.pos = start;

  // LoneUnicodePropertyNameOrValue
  if (this.regexp_eatLoneUnicodePropertyNameOrValue(state)) {
    var nameOrValue = state.lastStringValue;
    return this.regexp_validateUnicodePropertyNameOrValue(state, nameOrValue)
  }
  return CharSetNone
};

pp$1.regexp_validateUnicodePropertyNameAndValue = function(state, name, value) {
  if (!hasOwn(state.unicodeProperties.nonBinary, name))
    { state.raise("Invalid property name"); }
  if (!state.unicodeProperties.nonBinary[name].test(value))
    { state.raise("Invalid property value"); }
};

pp$1.regexp_validateUnicodePropertyNameOrValue = function(state, nameOrValue) {
  if (state.unicodeProperties.binary.test(nameOrValue)) { return CharSetOk }
  if (state.switchV && state.unicodeProperties.binaryOfStrings.test(nameOrValue)) { return CharSetString }
  state.raise("Invalid property name");
};

// UnicodePropertyName ::
//   UnicodePropertyNameCharacters
pp$1.regexp_eatUnicodePropertyName = function(state) {
  var ch = 0;
  state.lastStringValue = "";
  while (isUnicodePropertyNameCharacter(ch = state.current())) {
    state.lastStringValue += codePointToString(ch);
    state.advance();
  }
  return state.lastStringValue !== ""
};

function isUnicodePropertyNameCharacter(ch) {
  return isControlLetter(ch) || ch === 0x5F /* _ */
}

// UnicodePropertyValue ::
//   UnicodePropertyValueCharacters
pp$1.regexp_eatUnicodePropertyValue = function(state) {
  var ch = 0;
  state.lastStringValue = "";
  while (isUnicodePropertyValueCharacter(ch = state.current())) {
    state.lastStringValue += codePointToString(ch);
    state.advance();
  }
  return state.lastStringValue !== ""
};
function isUnicodePropertyValueCharacter(ch) {
  return isUnicodePropertyNameCharacter(ch) || isDecimalDigit(ch)
}

// LoneUnicodePropertyNameOrValue ::
//   UnicodePropertyValueCharacters
pp$1.regexp_eatLoneUnicodePropertyNameOrValue = function(state) {
  return this.regexp_eatUnicodePropertyValue(state)
};

// https://www.ecma-international.org/ecma-262/8.0/#prod-CharacterClass
pp$1.regexp_eatCharacterClass = function(state) {
  if (state.eat(0x5B /* [ */)) {
    var negate = state.eat(0x5E /* ^ */);
    var result = this.regexp_classContents(state);
    if (!state.eat(0x5D /* ] */))
      { state.raise("Unterminated character class"); }
    if (negate && result === CharSetString)
      { state.raise("Negated character class may contain strings"); }
    return true
  }
  return false
};

// https://tc39.es/ecma262/#prod-ClassContents
// https://www.ecma-international.org/ecma-262/8.0/#prod-ClassRanges
pp$1.regexp_classContents = function(state) {
  if (state.current() === 0x5D /* ] */) { return CharSetOk }
  if (state.switchV) { return this.regexp_classSetExpression(state) }
  this.regexp_nonEmptyClassRanges(state);
  return CharSetOk
};

// https://www.ecma-international.org/ecma-262/8.0/#prod-NonemptyClassRanges
// https://www.ecma-international.org/ecma-262/8.0/#prod-NonemptyClassRangesNoDash
pp$1.regexp_nonEmptyClassRanges = function(state) {
  while (this.regexp_eatClassAtom(state)) {
    var left = state.lastIntValue;
    if (state.eat(0x2D /* - */) && this.regexp_eatClassAtom(state)) {
      var right = state.lastIntValue;
      if (state.switchU && (left === -1 || right === -1)) {
        state.raise("Invalid character class");
      }
      if (left !== -1 && right !== -1 && left > right) {
        state.raise("Range out of order in character class");
      }
    }
  }
};

// https://www.ecma-international.org/ecma-262/8.0/#prod-ClassAtom
// https://www.ecma-international.org/ecma-262/8.0/#prod-ClassAtomNoDash
pp$1.regexp_eatClassAtom = function(state) {
  var start = state.pos;

  if (state.eat(0x5C /* \ */)) {
    if (this.regexp_eatClassEscape(state)) {
      return true
    }
    if (state.switchU) {
      // Make the same message as V8.
      var ch$1 = state.current();
      if (ch$1 === 0x63 /* c */ || isOctalDigit(ch$1)) {
        state.raise("Invalid class escape");
      }
      state.raise("Invalid escape");
    }
    state.pos = start;
  }

  var ch = state.current();
  if (ch !== 0x5D /* ] */) {
    state.lastIntValue = ch;
    state.advance();
    return true
  }

  return false
};

// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ClassEscape
pp$1.regexp_eatClassEscape = function(state) {
  var start = state.pos;

  if (state.eat(0x62 /* b */)) {
    state.lastIntValue = 0x08; /* <BS> */
    return true
  }

  if (state.switchU && state.eat(0x2D /* - */)) {
    state.lastIntValue = 0x2D; /* - */
    return true
  }

  if (!state.switchU && state.eat(0x63 /* c */)) {
    if (this.regexp_eatClassControlLetter(state)) {
      return true
    }
    state.pos = start;
  }

  return (
    this.regexp_eatCharacterClassEscape(state) ||
    this.regexp_eatCharacterEscape(state)
  )
};

// https://tc39.es/ecma262/#prod-ClassSetExpression
// https://tc39.es/ecma262/#prod-ClassUnion
// https://tc39.es/ecma262/#prod-ClassIntersection
// https://tc39.es/ecma262/#prod-ClassSubtraction
pp$1.regexp_classSetExpression = function(state) {
  var result = CharSetOk, subResult;
  if (this.regexp_eatClassSetRange(state)) ; else if (subResult = this.regexp_eatClassSetOperand(state)) {
    if (subResult === CharSetString) { result = CharSetString; }
    // https://tc39.es/ecma262/#prod-ClassIntersection
    var start = state.pos;
    while (state.eatChars([0x26, 0x26] /* && */)) {
      if (
        state.current() !== 0x26 /* & */ &&
        (subResult = this.regexp_eatClassSetOperand(state))
      ) {
        if (subResult !== CharSetString) { result = CharSetOk; }
        continue
      }
      state.raise("Invalid character in character class");
    }
    if (start !== state.pos) { return result }
    // https://tc39.es/ecma262/#prod-ClassSubtraction
    while (state.eatChars([0x2D, 0x2D] /* -- */)) {
      if (this.regexp_eatClassSetOperand(state)) { continue }
      state.raise("Invalid character in character class");
    }
    if (start !== state.pos) { return result }
  } else {
    state.raise("Invalid character in character class");
  }
  // https://tc39.es/ecma262/#prod-ClassUnion
  for (;;) {
    if (this.regexp_eatClassSetRange(state)) { continue }
    subResult = this.regexp_eatClassSetOperand(state);
    if (!subResult) { return result }
    if (subResult === CharSetString) { result = CharSetString; }
  }
};

// https://tc39.es/ecma262/#prod-ClassSetRange
pp$1.regexp_eatClassSetRange = function(state) {
  var start = state.pos;
  if (this.regexp_eatClassSetCharacter(state)) {
    var left = state.lastIntValue;
    if (state.eat(0x2D /* - */) && this.regexp_eatClassSetCharacter(state)) {
      var right = state.lastIntValue;
      if (left !== -1 && right !== -1 && left > right) {
        state.raise("Range out of order in character class");
      }
      return true
    }
    state.pos = start;
  }
  return false
};

// https://tc39.es/ecma262/#prod-ClassSetOperand
pp$1.regexp_eatClassSetOperand = function(state) {
  if (this.regexp_eatClassSetCharacter(state)) { return CharSetOk }
  return this.regexp_eatClassStringDisjunction(state) || this.regexp_eatNestedClass(state)
};

// https://tc39.es/ecma262/#prod-NestedClass
pp$1.regexp_eatNestedClass = function(state) {
  var start = state.pos;
  if (state.eat(0x5B /* [ */)) {
    var negate = state.eat(0x5E /* ^ */);
    var result = this.regexp_classContents(state);
    if (state.eat(0x5D /* ] */)) {
      if (negate && result === CharSetString) {
        state.raise("Negated character class may contain strings");
      }
      return result
    }
    state.pos = start;
  }
  if (state.eat(0x5C /* \ */)) {
    var result$1 = this.regexp_eatCharacterClassEscape(state);
    if (result$1) {
      return result$1
    }
    state.pos = start;
  }
  return null
};

// https://tc39.es/ecma262/#prod-ClassStringDisjunction
pp$1.regexp_eatClassStringDisjunction = function(state) {
  var start = state.pos;
  if (state.eatChars([0x5C, 0x71] /* \q */)) {
    if (state.eat(0x7B /* { */)) {
      var result = this.regexp_classStringDisjunctionContents(state);
      if (state.eat(0x7D /* } */)) {
        return result
      }
    } else {
      // Make the same message as V8.
      state.raise("Invalid escape");
    }
    state.pos = start;
  }
  return null
};

// https://tc39.es/ecma262/#prod-ClassStringDisjunctionContents
pp$1.regexp_classStringDisjunctionContents = function(state) {
  var result = this.regexp_classString(state);
  while (state.eat(0x7C /* | */)) {
    if (this.regexp_classString(state) === CharSetString) { result = CharSetString; }
  }
  return result
};

// https://tc39.es/ecma262/#prod-ClassString
// https://tc39.es/ecma262/#prod-NonEmptyClassString
pp$1.regexp_classString = function(state) {
  var count = 0;
  while (this.regexp_eatClassSetCharacter(state)) { count++; }
  return count === 1 ? CharSetOk : CharSetString
};

// https://tc39.es/ecma262/#prod-ClassSetCharacter
pp$1.regexp_eatClassSetCharacter = function(state) {
  var start = state.pos;
  if (state.eat(0x5C /* \ */)) {
    if (
      this.regexp_eatCharacterEscape(state) ||
      this.regexp_eatClassSetReservedPunctuator(state)
    ) {
      return true
    }
    if (state.eat(0x62 /* b */)) {
      state.lastIntValue = 0x08; /* <BS> */
      return true
    }
    state.pos = start;
    return false
  }
  var ch = state.current();
  if (ch < 0 || ch === state.lookahead() && isClassSetReservedDoublePunctuatorCharacter(ch)) { return false }
  if (isClassSetSyntaxCharacter(ch)) { return false }
  state.advance();
  state.lastIntValue = ch;
  return true
};

// https://tc39.es/ecma262/#prod-ClassSetReservedDoublePunctuator
function isClassSetReservedDoublePunctuatorCharacter(ch) {
  return (
    ch === 0x21 /* ! */ ||
    ch >= 0x23 /* # */ && ch <= 0x26 /* & */ ||
    ch >= 0x2A /* * */ && ch <= 0x2C /* , */ ||
    ch === 0x2E /* . */ ||
    ch >= 0x3A /* : */ && ch <= 0x40 /* @ */ ||
    ch === 0x5E /* ^ */ ||
    ch === 0x60 /* ` */ ||
    ch === 0x7E /* ~ */
  )
}

// https://tc39.es/ecma262/#prod-ClassSetSyntaxCharacter
function isClassSetSyntaxCharacter(ch) {
  return (
    ch === 0x28 /* ( */ ||
    ch === 0x29 /* ) */ ||
    ch === 0x2D /* - */ ||
    ch === 0x2F /* / */ ||
    ch >= 0x5B /* [ */ && ch <= 0x5D /* ] */ ||
    ch >= 0x7B /* { */ && ch <= 0x7D /* } */
  )
}

// https://tc39.es/ecma262/#prod-ClassSetReservedPunctuator
pp$1.regexp_eatClassSetReservedPunctuator = function(state) {
  var ch = state.current();
  if (isClassSetReservedPunctuator(ch)) {
    state.lastIntValue = ch;
    state.advance();
    return true
  }
  return false
};

// https://tc39.es/ecma262/#prod-ClassSetReservedPunctuator
function isClassSetReservedPunctuator(ch) {
  return (
    ch === 0x21 /* ! */ ||
    ch === 0x23 /* # */ ||
    ch === 0x25 /* % */ ||
    ch === 0x26 /* & */ ||
    ch === 0x2C /* , */ ||
    ch === 0x2D /* - */ ||
    ch >= 0x3A /* : */ && ch <= 0x3E /* > */ ||
    ch === 0x40 /* @ */ ||
    ch === 0x60 /* ` */ ||
    ch === 0x7E /* ~ */
  )
}

// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ClassControlLetter
pp$1.regexp_eatClassControlLetter = function(state) {
  var ch = state.current();
  if (isDecimalDigit(ch) || ch === 0x5F /* _ */) {
    state.lastIntValue = ch % 0x20;
    state.advance();
    return true
  }
  return false
};

// https://www.ecma-international.org/ecma-262/8.0/#prod-HexEscapeSequence
pp$1.regexp_eatHexEscapeSequence = function(state) {
  var start = state.pos;
  if (state.eat(0x78 /* x */)) {
    if (this.regexp_eatFixedHexDigits(state, 2)) {
      return true
    }
    if (state.switchU) {
      state.raise("Invalid escape");
    }
    state.pos = start;
  }
  return false
};

// https://www.ecma-international.org/ecma-262/8.0/#prod-DecimalDigits
pp$1.regexp_eatDecimalDigits = function(state) {
  var start = state.pos;
  var ch = 0;
  state.lastIntValue = 0;
  while (isDecimalDigit(ch = state.current())) {
    state.lastIntValue = 10 * state.lastIntValue + (ch - 0x30 /* 0 */);
    state.advance();
  }
  return state.pos !== start
};
function isDecimalDigit(ch) {
  return ch >= 0x30 /* 0 */ && ch <= 0x39 /* 9 */
}

// https://www.ecma-international.org/ecma-262/8.0/#prod-HexDigits
pp$1.regexp_eatHexDigits = function(state) {
  var start = state.pos;
  var ch = 0;
  state.lastIntValue = 0;
  while (isHexDigit(ch = state.current())) {
    state.lastIntValue = 16 * state.lastIntValue + hexToInt(ch);
    state.advance();
  }
  return state.pos !== start
};
function isHexDigit(ch) {
  return (
    (ch >= 0x30 /* 0 */ && ch <= 0x39 /* 9 */) ||
    (ch >= 0x41 /* A */ && ch <= 0x46 /* F */) ||
    (ch >= 0x61 /* a */ && ch <= 0x66 /* f */)
  )
}
function hexToInt(ch) {
  if (ch >= 0x41 /* A */ && ch <= 0x46 /* F */) {
    return 10 + (ch - 0x41 /* A */)
  }
  if (ch >= 0x61 /* a */ && ch <= 0x66 /* f */) {
    return 10 + (ch - 0x61 /* a */)
  }
  return ch - 0x30 /* 0 */
}

// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-LegacyOctalEscapeSequence
// Allows only 0-377(octal) i.e. 0-255(decimal).
pp$1.regexp_eatLegacyOctalEscapeSequence = function(state) {
  if (this.regexp_eatOctalDigit(state)) {
    var n1 = state.lastIntValue;
    if (this.regexp_eatOctalDigit(state)) {
      var n2 = state.lastIntValue;
      if (n1 <= 3 && this.regexp_eatOctalDigit(state)) {
        state.lastIntValue = n1 * 64 + n2 * 8 + state.lastIntValue;
      } else {
        state.lastIntValue = n1 * 8 + n2;
      }
    } else {
      state.lastIntValue = n1;
    }
    return true
  }
  return false
};

// https://www.ecma-international.org/ecma-262/8.0/#prod-OctalDigit
pp$1.regexp_eatOctalDigit = function(state) {
  var ch = state.current();
  if (isOctalDigit(ch)) {
    state.lastIntValue = ch - 0x30; /* 0 */
    state.advance();
    return true
  }
  state.lastIntValue = 0;
  return false
};
function isOctalDigit(ch) {
  return ch >= 0x30 /* 0 */ && ch <= 0x37 /* 7 */
}

// https://www.ecma-international.org/ecma-262/8.0/#prod-Hex4Digits
// https://www.ecma-international.org/ecma-262/8.0/#prod-HexDigit
// And HexDigit HexDigit in https://www.ecma-international.org/ecma-262/8.0/#prod-HexEscapeSequence
pp$1.regexp_eatFixedHexDigits = function(state, length) {
  var start = state.pos;
  state.lastIntValue = 0;
  for (var i = 0; i < length; ++i) {
    var ch = state.current();
    if (!isHexDigit(ch)) {
      state.pos = start;
      return false
    }
    state.lastIntValue = 16 * state.lastIntValue + hexToInt(ch);
    state.advance();
  }
  return true
};

// Object type used to represent tokens. Note that normally, tokens
// simply exist as properties on the parser object. This is only
// used for the onToken callback and the external tokenizer.

var Token = function Token(p) {
  this.type = p.type;
  this.value = p.value;
  this.start = p.start;
  this.end = p.end;
  if (p.options.locations)
    { this.loc = new SourceLocation(p, p.startLoc, p.endLoc); }
  if (p.options.ranges)
    { this.range = [p.start, p.end]; }
};

// ## Tokenizer

var pp = Parser.prototype;

// Move to the next token

pp.next = function(ignoreEscapeSequenceInKeyword) {
  if (!ignoreEscapeSequenceInKeyword && this.type.keyword && this.containsEsc)
    { this.raiseRecoverable(this.start, "Escape sequence in keyword " + this.type.keyword); }
  if (this.options.onToken)
    { this.options.onToken(new Token(this)); }

  this.lastTokEnd = this.end;
  this.lastTokStart = this.start;
  this.lastTokEndLoc = this.endLoc;
  this.lastTokStartLoc = this.startLoc;
  this.nextToken();
};

pp.getToken = function() {
  this.next();
  return new Token(this)
};

// If we're in an ES6 environment, make parsers iterable
if (typeof Symbol !== "undefined")
  { pp[Symbol.iterator] = function() {
    var this$1$1 = this;

    return {
      next: function () {
        var token = this$1$1.getToken();
        return {
          done: token.type === types$1.eof,
          value: token
        }
      }
    }
  }; }

// Toggle strict mode. Re-reads the next number or string to please
// pedantic tests (`"use strict"; 010;` should fail).

// Read a single token, updating the parser object's token-related
// properties.

pp.nextToken = function() {
  var curContext = this.curContext();
  if (!curContext || !curContext.preserveSpace) { this.skipSpace(); }

  this.start = this.pos;
  if (this.options.locations) { this.startLoc = this.curPosition(); }
  if (this.pos >= this.input.length) { return this.finishToken(types$1.eof) }

  if (curContext.override) { return curContext.override(this) }
  else { this.readToken(this.fullCharCodeAtPos()); }
};

pp.readToken = function(code) {
  // Identifier or keyword. '\uXXXX' sequences are allowed in
  // identifiers, so '\' also dispatches to that.
  if (isIdentifierStart(code, this.options.ecmaVersion >= 6) || code === 92 /* '\' */)
    { return this.readWord() }

  return this.getTokenFromCode(code)
};

pp.fullCharCodeAtPos = function() {
  var code = this.input.charCodeAt(this.pos);
  if (code <= 0xd7ff || code >= 0xdc00) { return code }
  var next = this.input.charCodeAt(this.pos + 1);
  return next <= 0xdbff || next >= 0xe000 ? code : (code << 10) + next - 0x35fdc00
};

pp.skipBlockComment = function() {
  var startLoc = this.options.onComment && this.curPosition();
  var start = this.pos, end = this.input.indexOf("*/", this.pos += 2);
  if (end === -1) { this.raise(this.pos - 2, "Unterminated comment"); }
  this.pos = end + 2;
  if (this.options.locations) {
    for (var nextBreak = (void 0), pos = start; (nextBreak = nextLineBreak(this.input, pos, this.pos)) > -1;) {
      ++this.curLine;
      pos = this.lineStart = nextBreak;
    }
  }
  if (this.options.onComment)
    { this.options.onComment(true, this.input.slice(start + 2, end), start, this.pos,
                           startLoc, this.curPosition()); }
};

pp.skipLineComment = function(startSkip) {
  var start = this.pos;
  var startLoc = this.options.onComment && this.curPosition();
  var ch = this.input.charCodeAt(this.pos += startSkip);
  while (this.pos < this.input.length && !isNewLine(ch)) {
    ch = this.input.charCodeAt(++this.pos);
  }
  if (this.options.onComment)
    { this.options.onComment(false, this.input.slice(start + startSkip, this.pos), start, this.pos,
                           startLoc, this.curPosition()); }
};

// Called at the start of the parse and after every token. Skips
// whitespace and comments, and.

pp.skipSpace = function() {
  loop: while (this.pos < this.input.length) {
    var ch = this.input.charCodeAt(this.pos);
    switch (ch) {
    case 32: case 160: // ' '
      ++this.pos;
      break
    case 13:
      if (this.input.charCodeAt(this.pos + 1) === 10) {
        ++this.pos;
      }
    case 10: case 8232: case 8233:
      ++this.pos;
      if (this.options.locations) {
        ++this.curLine;
        this.lineStart = this.pos;
      }
      break
    case 47: // '/'
      switch (this.input.charCodeAt(this.pos + 1)) {
      case 42: // '*'
        this.skipBlockComment();
        break
      case 47:
        this.skipLineComment(2);
        break
      default:
        break loop
      }
      break
    default:
      if (ch > 8 && ch < 14 || ch >= 5760 && nonASCIIwhitespace.test(String.fromCharCode(ch))) {
        ++this.pos;
      } else {
        break loop
      }
    }
  }
};

// Called at the end of every token. Sets `end`, `val`, and
// maintains `context` and `exprAllowed`, and skips the space after
// the token, so that the next one's `start` will point at the
// right position.

pp.finishToken = function(type, val) {
  this.end = this.pos;
  if (this.options.locations) { this.endLoc = this.curPosition(); }
  var prevType = this.type;
  this.type = type;
  this.value = val;

  this.updateContext(prevType);
};

// ### Token reading

// This is the function that is called to fetch the next token. It
// is somewhat obscure, because it works in character codes rather
// than characters, and because operator parsing has been inlined
// into it.
//
// All in the name of speed.
//
pp.readToken_dot = function() {
  var next = this.input.charCodeAt(this.pos + 1);
  if (next >= 48 && next <= 57) { return this.readNumber(true) }
  var next2 = this.input.charCodeAt(this.pos + 2);
  if (this.options.ecmaVersion >= 6 && next === 46 && next2 === 46) { // 46 = dot '.'
    this.pos += 3;
    return this.finishToken(types$1.ellipsis)
  } else {
    ++this.pos;
    return this.finishToken(types$1.dot)
  }
};

pp.readToken_slash = function() { // '/'
  var next = this.input.charCodeAt(this.pos + 1);
  if (this.exprAllowed) { ++this.pos; return this.readRegexp() }
  if (next === 61) { return this.finishOp(types$1.assign, 2) }
  return this.finishOp(types$1.slash, 1)
};

pp.readToken_mult_modulo_exp = function(code) { // '%*'
  var next = this.input.charCodeAt(this.pos + 1);
  var size = 1;
  var tokentype = code === 42 ? types$1.star : types$1.modulo;

  // exponentiation operator ** and **=
  if (this.options.ecmaVersion >= 7 && code === 42 && next === 42) {
    ++size;
    tokentype = types$1.starstar;
    next = this.input.charCodeAt(this.pos + 2);
  }

  if (next === 61) { return this.finishOp(types$1.assign, size + 1) }
  return this.finishOp(tokentype, size)
};

pp.readToken_pipe_amp = function(code) { // '|&'
  var next = this.input.charCodeAt(this.pos + 1);
  if (next === code) {
    if (this.options.ecmaVersion >= 12) {
      var next2 = this.input.charCodeAt(this.pos + 2);
      if (next2 === 61) { return this.finishOp(types$1.assign, 3) }
    }
    return this.finishOp(code === 124 ? types$1.logicalOR : types$1.logicalAND, 2)
  }
  if (next === 61) { return this.finishOp(types$1.assign, 2) }
  return this.finishOp(code === 124 ? types$1.bitwiseOR : types$1.bitwiseAND, 1)
};

pp.readToken_caret = function() { // '^'
  var next = this.input.charCodeAt(this.pos + 1);
  if (next === 61) { return this.finishOp(types$1.assign, 2) }
  return this.finishOp(types$1.bitwiseXOR, 1)
};

pp.readToken_plus_min = function(code) { // '+-'
  var next = this.input.charCodeAt(this.pos + 1);
  if (next === code) {
    if (next === 45 && !this.inModule && this.input.charCodeAt(this.pos + 2) === 62 &&
        (this.lastTokEnd === 0 || lineBreak.test(this.input.slice(this.lastTokEnd, this.pos)))) {
      // A `-->` line comment
      this.skipLineComment(3);
      this.skipSpace();
      return this.nextToken()
    }
    return this.finishOp(types$1.incDec, 2)
  }
  if (next === 61) { return this.finishOp(types$1.assign, 2) }
  return this.finishOp(types$1.plusMin, 1)
};

pp.readToken_lt_gt = function(code) { // '<>'
  var next = this.input.charCodeAt(this.pos + 1);
  var size = 1;
  if (next === code) {
    size = code === 62 && this.input.charCodeAt(this.pos + 2) === 62 ? 3 : 2;
    if (this.input.charCodeAt(this.pos + size) === 61) { return this.finishOp(types$1.assign, size + 1) }
    return this.finishOp(types$1.bitShift, size)
  }
  if (next === 33 && code === 60 && !this.inModule && this.input.charCodeAt(this.pos + 2) === 45 &&
      this.input.charCodeAt(this.pos + 3) === 45) {
    // `<!--`, an XML-style comment that should be interpreted as a line comment
    this.skipLineComment(4);
    this.skipSpace();
    return this.nextToken()
  }
  if (next === 61) { size = 2; }
  return this.finishOp(types$1.relational, size)
};

pp.readToken_eq_excl = function(code) { // '=!'
  var next = this.input.charCodeAt(this.pos + 1);
  if (next === 61) { return this.finishOp(types$1.equality, this.input.charCodeAt(this.pos + 2) === 61 ? 3 : 2) }
  if (code === 61 && next === 62 && this.options.ecmaVersion >= 6) { // '=>'
    this.pos += 2;
    return this.finishToken(types$1.arrow)
  }
  return this.finishOp(code === 61 ? types$1.eq : types$1.prefix, 1)
};

pp.readToken_question = function() { // '?'
  var ecmaVersion = this.options.ecmaVersion;
  if (ecmaVersion >= 11) {
    var next = this.input.charCodeAt(this.pos + 1);
    if (next === 46) {
      var next2 = this.input.charCodeAt(this.pos + 2);
      if (next2 < 48 || next2 > 57) { return this.finishOp(types$1.questionDot, 2) }
    }
    if (next === 63) {
      if (ecmaVersion >= 12) {
        var next2$1 = this.input.charCodeAt(this.pos + 2);
        if (next2$1 === 61) { return this.finishOp(types$1.assign, 3) }
      }
      return this.finishOp(types$1.coalesce, 2)
    }
  }
  return this.finishOp(types$1.question, 1)
};

pp.readToken_numberSign = function() { // '#'
  var ecmaVersion = this.options.ecmaVersion;
  var code = 35; // '#'
  if (ecmaVersion >= 13) {
    ++this.pos;
    code = this.fullCharCodeAtPos();
    if (isIdentifierStart(code, true) || code === 92 /* '\' */) {
      return this.finishToken(types$1.privateId, this.readWord1())
    }
  }

  this.raise(this.pos, "Unexpected character '" + codePointToString(code) + "'");
};

pp.getTokenFromCode = function(code) {
  switch (code) {
  // The interpretation of a dot depends on whether it is followed
  // by a digit or another two dots.
  case 46: // '.'
    return this.readToken_dot()

  // Punctuation tokens.
  case 40: ++this.pos; return this.finishToken(types$1.parenL)
  case 41: ++this.pos; return this.finishToken(types$1.parenR)
  case 59: ++this.pos; return this.finishToken(types$1.semi)
  case 44: ++this.pos; return this.finishToken(types$1.comma)
  case 91: ++this.pos; return this.finishToken(types$1.bracketL)
  case 93: ++this.pos; return this.finishToken(types$1.bracketR)
  case 123: ++this.pos; return this.finishToken(types$1.braceL)
  case 125: ++this.pos; return this.finishToken(types$1.braceR)
  case 58: ++this.pos; return this.finishToken(types$1.colon)

  case 96: // '`'
    if (this.options.ecmaVersion < 6) { break }
    ++this.pos;
    return this.finishToken(types$1.backQuote)

  case 48: // '0'
    var next = this.input.charCodeAt(this.pos + 1);
    if (next === 120 || next === 88) { return this.readRadixNumber(16) } // '0x', '0X' - hex number
    if (this.options.ecmaVersion >= 6) {
      if (next === 111 || next === 79) { return this.readRadixNumber(8) } // '0o', '0O' - octal number
      if (next === 98 || next === 66) { return this.readRadixNumber(2) } // '0b', '0B' - binary number
    }

  // Anything else beginning with a digit is an integer, octal
  // number, or float.
  case 49: case 50: case 51: case 52: case 53: case 54: case 55: case 56: case 57: // 1-9
    return this.readNumber(false)

  // Quotes produce strings.
  case 34: case 39: // '"', "'"
    return this.readString(code)

  // Operators are parsed inline in tiny state machines. '=' (61) is
  // often referred to. `finishOp` simply skips the amount of
  // characters it is given as second argument, and returns a token
  // of the type given by its first argument.
  case 47: // '/'
    return this.readToken_slash()

  case 37: case 42: // '%*'
    return this.readToken_mult_modulo_exp(code)

  case 124: case 38: // '|&'
    return this.readToken_pipe_amp(code)

  case 94: // '^'
    return this.readToken_caret()

  case 43: case 45: // '+-'
    return this.readToken_plus_min(code)

  case 60: case 62: // '<>'
    return this.readToken_lt_gt(code)

  case 61: case 33: // '=!'
    return this.readToken_eq_excl(code)

  case 63: // '?'
    return this.readToken_question()

  case 126: // '~'
    return this.finishOp(types$1.prefix, 1)

  case 35: // '#'
    return this.readToken_numberSign()
  }

  this.raise(this.pos, "Unexpected character '" + codePointToString(code) + "'");
};

pp.finishOp = function(type, size) {
  var str = this.input.slice(this.pos, this.pos + size);
  this.pos += size;
  return this.finishToken(type, str)
};

pp.readRegexp = function() {
  var escaped, inClass, start = this.pos;
  for (;;) {
    if (this.pos >= this.input.length) { this.raise(start, "Unterminated regular expression"); }
    var ch = this.input.charAt(this.pos);
    if (lineBreak.test(ch)) { this.raise(start, "Unterminated regular expression"); }
    if (!escaped) {
      if (ch === "[") { inClass = true; }
      else if (ch === "]" && inClass) { inClass = false; }
      else if (ch === "/" && !inClass) { break }
      escaped = ch === "\\";
    } else { escaped = false; }
    ++this.pos;
  }
  var pattern = this.input.slice(start, this.pos);
  ++this.pos;
  var flagsStart = this.pos;
  var flags = this.readWord1();
  if (this.containsEsc) { this.unexpected(flagsStart); }

  // Validate pattern
  var state = this.regexpState || (this.regexpState = new RegExpValidationState(this));
  state.reset(start, pattern, flags);
  this.validateRegExpFlags(state);
  this.validateRegExpPattern(state);

  // Create Literal#value property value.
  var value = null;
  try {
    value = new RegExp(pattern, flags);
  } catch (e) {
    // ESTree requires null if it failed to instantiate RegExp object.
    // https://github.com/estree/estree/blob/a27003adf4fd7bfad44de9cef372a2eacd527b1c/es5.md#regexpliteral
  }

  return this.finishToken(types$1.regexp, {pattern: pattern, flags: flags, value: value})
};

// Read an integer in the given radix. Return null if zero digits
// were read, the integer value otherwise. When `len` is given, this
// will return `null` unless the integer has exactly `len` digits.

pp.readInt = function(radix, len, maybeLegacyOctalNumericLiteral) {
  // `len` is used for character escape sequences. In that case, disallow separators.
  var allowSeparators = this.options.ecmaVersion >= 12 && len === undefined;

  // `maybeLegacyOctalNumericLiteral` is true if it doesn't have prefix (0x,0o,0b)
  // and isn't fraction part nor exponent part. In that case, if the first digit
  // is zero then disallow separators.
  var isLegacyOctalNumericLiteral = maybeLegacyOctalNumericLiteral && this.input.charCodeAt(this.pos) === 48;

  var start = this.pos, total = 0, lastCode = 0;
  for (var i = 0, e = len == null ? Infinity : len; i < e; ++i, ++this.pos) {
    var code = this.input.charCodeAt(this.pos), val = (void 0);

    if (allowSeparators && code === 95) {
      if (isLegacyOctalNumericLiteral) { this.raiseRecoverable(this.pos, "Numeric separator is not allowed in legacy octal numeric literals"); }
      if (lastCode === 95) { this.raiseRecoverable(this.pos, "Numeric separator must be exactly one underscore"); }
      if (i === 0) { this.raiseRecoverable(this.pos, "Numeric separator is not allowed at the first of digits"); }
      lastCode = code;
      continue
    }

    if (code >= 97) { val = code - 97 + 10; } // a
    else if (code >= 65) { val = code - 65 + 10; } // A
    else if (code >= 48 && code <= 57) { val = code - 48; } // 0-9
    else { val = Infinity; }
    if (val >= radix) { break }
    lastCode = code;
    total = total * radix + val;
  }

  if (allowSeparators && lastCode === 95) { this.raiseRecoverable(this.pos - 1, "Numeric separator is not allowed at the last of digits"); }
  if (this.pos === start || len != null && this.pos - start !== len) { return null }

  return total
};

function stringToNumber(str, isLegacyOctalNumericLiteral) {
  if (isLegacyOctalNumericLiteral) {
    return parseInt(str, 8)
  }

  // `parseFloat(value)` stops parsing at the first numeric separator then returns a wrong value.
  return parseFloat(str.replace(/_/g, ""))
}

function stringToBigInt(str) {
  if (typeof BigInt !== "function") {
    return null
  }

  // `BigInt(value)` throws syntax error if the string contains numeric separators.
  return BigInt(str.replace(/_/g, ""))
}

pp.readRadixNumber = function(radix) {
  var start = this.pos;
  this.pos += 2; // 0x
  var val = this.readInt(radix);
  if (val == null) { this.raise(this.start + 2, "Expected number in radix " + radix); }
  if (this.options.ecmaVersion >= 11 && this.input.charCodeAt(this.pos) === 110) {
    val = stringToBigInt(this.input.slice(start, this.pos));
    ++this.pos;
  } else if (isIdentifierStart(this.fullCharCodeAtPos())) { this.raise(this.pos, "Identifier directly after number"); }
  return this.finishToken(types$1.num, val)
};

// Read an integer, octal integer, or floating-point number.

pp.readNumber = function(startsWithDot) {
  var start = this.pos;
  if (!startsWithDot && this.readInt(10, undefined, true) === null) { this.raise(start, "Invalid number"); }
  var octal = this.pos - start >= 2 && this.input.charCodeAt(start) === 48;
  if (octal && this.strict) { this.raise(start, "Invalid number"); }
  var next = this.input.charCodeAt(this.pos);
  if (!octal && !startsWithDot && this.options.ecmaVersion >= 11 && next === 110) {
    var val$1 = stringToBigInt(this.input.slice(start, this.pos));
    ++this.pos;
    if (isIdentifierStart(this.fullCharCodeAtPos())) { this.raise(this.pos, "Identifier directly after number"); }
    return this.finishToken(types$1.num, val$1)
  }
  if (octal && /[89]/.test(this.input.slice(start, this.pos))) { octal = false; }
  if (next === 46 && !octal) { // '.'
    ++this.pos;
    this.readInt(10);
    next = this.input.charCodeAt(this.pos);
  }
  if ((next === 69 || next === 101) && !octal) { // 'eE'
    next = this.input.charCodeAt(++this.pos);
    if (next === 43 || next === 45) { ++this.pos; } // '+-'
    if (this.readInt(10) === null) { this.raise(start, "Invalid number"); }
  }
  if (isIdentifierStart(this.fullCharCodeAtPos())) { this.raise(this.pos, "Identifier directly after number"); }

  var val = stringToNumber(this.input.slice(start, this.pos), octal);
  return this.finishToken(types$1.num, val)
};

// Read a string value, interpreting backslash-escapes.

pp.readCodePoint = function() {
  var ch = this.input.charCodeAt(this.pos), code;

  if (ch === 123) { // '{'
    if (this.options.ecmaVersion < 6) { this.unexpected(); }
    var codePos = ++this.pos;
    code = this.readHexChar(this.input.indexOf("}", this.pos) - this.pos);
    ++this.pos;
    if (code > 0x10FFFF) { this.invalidStringToken(codePos, "Code point out of bounds"); }
  } else {
    code = this.readHexChar(4);
  }
  return code
};

pp.readString = function(quote) {
  var out = "", chunkStart = ++this.pos;
  for (;;) {
    if (this.pos >= this.input.length) { this.raise(this.start, "Unterminated string constant"); }
    var ch = this.input.charCodeAt(this.pos);
    if (ch === quote) { break }
    if (ch === 92) { // '\'
      out += this.input.slice(chunkStart, this.pos);
      out += this.readEscapedChar(false);
      chunkStart = this.pos;
    } else if (ch === 0x2028 || ch === 0x2029) {
      if (this.options.ecmaVersion < 10) { this.raise(this.start, "Unterminated string constant"); }
      ++this.pos;
      if (this.options.locations) {
        this.curLine++;
        this.lineStart = this.pos;
      }
    } else {
      if (isNewLine(ch)) { this.raise(this.start, "Unterminated string constant"); }
      ++this.pos;
    }
  }
  out += this.input.slice(chunkStart, this.pos++);
  return this.finishToken(types$1.string, out)
};

// Reads template string tokens.

var INVALID_TEMPLATE_ESCAPE_ERROR = {};

pp.tryReadTemplateToken = function() {
  this.inTemplateElement = true;
  try {
    this.readTmplToken();
  } catch (err) {
    if (err === INVALID_TEMPLATE_ESCAPE_ERROR) {
      this.readInvalidTemplateToken();
    } else {
      throw err
    }
  }

  this.inTemplateElement = false;
};

pp.invalidStringToken = function(position, message) {
  if (this.inTemplateElement && this.options.ecmaVersion >= 9) {
    throw INVALID_TEMPLATE_ESCAPE_ERROR
  } else {
    this.raise(position, message);
  }
};

pp.readTmplToken = function() {
  var out = "", chunkStart = this.pos;
  for (;;) {
    if (this.pos >= this.input.length) { this.raise(this.start, "Unterminated template"); }
    var ch = this.input.charCodeAt(this.pos);
    if (ch === 96 || ch === 36 && this.input.charCodeAt(this.pos + 1) === 123) { // '`', '${'
      if (this.pos === this.start && (this.type === types$1.template || this.type === types$1.invalidTemplate)) {
        if (ch === 36) {
          this.pos += 2;
          return this.finishToken(types$1.dollarBraceL)
        } else {
          ++this.pos;
          return this.finishToken(types$1.backQuote)
        }
      }
      out += this.input.slice(chunkStart, this.pos);
      return this.finishToken(types$1.template, out)
    }
    if (ch === 92) { // '\'
      out += this.input.slice(chunkStart, this.pos);
      out += this.readEscapedChar(true);
      chunkStart = this.pos;
    } else if (isNewLine(ch)) {
      out += this.input.slice(chunkStart, this.pos);
      ++this.pos;
      switch (ch) {
      case 13:
        if (this.input.charCodeAt(this.pos) === 10) { ++this.pos; }
      case 10:
        out += "\n";
        break
      default:
        out += String.fromCharCode(ch);
        break
      }
      if (this.options.locations) {
        ++this.curLine;
        this.lineStart = this.pos;
      }
      chunkStart = this.pos;
    } else {
      ++this.pos;
    }
  }
};

// Reads a template token to search for the end, without validating any escape sequences
pp.readInvalidTemplateToken = function() {
  for (; this.pos < this.input.length; this.pos++) {
    switch (this.input[this.pos]) {
    case "\\":
      ++this.pos;
      break

    case "$":
      if (this.input[this.pos + 1] !== "{") { break }
      // fall through
    case "`":
      return this.finishToken(types$1.invalidTemplate, this.input.slice(this.start, this.pos))

    case "\r":
      if (this.input[this.pos + 1] === "\n") { ++this.pos; }
      // fall through
    case "\n": case "\u2028": case "\u2029":
      ++this.curLine;
      this.lineStart = this.pos + 1;
      break
    }
  }
  this.raise(this.start, "Unterminated template");
};

// Used to read escaped characters

pp.readEscapedChar = function(inTemplate) {
  var ch = this.input.charCodeAt(++this.pos);
  ++this.pos;
  switch (ch) {
  case 110: return "\n" // 'n' -> '\n'
  case 114: return "\r" // 'r' -> '\r'
  case 120: return String.fromCharCode(this.readHexChar(2)) // 'x'
  case 117: return codePointToString(this.readCodePoint()) // 'u'
  case 116: return "\t" // 't' -> '\t'
  case 98: return "\b" // 'b' -> '\b'
  case 118: return "\u000b" // 'v' -> '\u000b'
  case 102: return "\f" // 'f' -> '\f'
  case 13: if (this.input.charCodeAt(this.pos) === 10) { ++this.pos; } // '\r\n'
  case 10: // ' \n'
    if (this.options.locations) { this.lineStart = this.pos; ++this.curLine; }
    return ""
  case 56:
  case 57:
    if (this.strict) {
      this.invalidStringToken(
        this.pos - 1,
        "Invalid escape sequence"
      );
    }
    if (inTemplate) {
      var codePos = this.pos - 1;

      this.invalidStringToken(
        codePos,
        "Invalid escape sequence in template string"
      );
    }
  default:
    if (ch >= 48 && ch <= 55) {
      var octalStr = this.input.substr(this.pos - 1, 3).match(/^[0-7]+/)[0];
      var octal = parseInt(octalStr, 8);
      if (octal > 255) {
        octalStr = octalStr.slice(0, -1);
        octal = parseInt(octalStr, 8);
      }
      this.pos += octalStr.length - 1;
      ch = this.input.charCodeAt(this.pos);
      if ((octalStr !== "0" || ch === 56 || ch === 57) && (this.strict || inTemplate)) {
        this.invalidStringToken(
          this.pos - 1 - octalStr.length,
          inTemplate
            ? "Octal literal in template string"
            : "Octal literal in strict mode"
        );
      }
      return String.fromCharCode(octal)
    }
    if (isNewLine(ch)) {
      // Unicode new line characters after \ get removed from output in both
      // template literals and strings
      if (this.options.locations) { this.lineStart = this.pos; ++this.curLine; }
      return ""
    }
    return String.fromCharCode(ch)
  }
};

// Used to read character escape sequences ('\x', '\u', '\U').

pp.readHexChar = function(len) {
  var codePos = this.pos;
  var n = this.readInt(16, len);
  if (n === null) { this.invalidStringToken(codePos, "Bad character escape sequence"); }
  return n
};

// Read an identifier, and return it as a string. Sets `this.containsEsc`
// to whether the word contained a '\u' escape.
//
// Incrementally adds only escaped chars, adding other chunks as-is
// as a micro-optimization.

pp.readWord1 = function() {
  this.containsEsc = false;
  var word = "", first = true, chunkStart = this.pos;
  var astral = this.options.ecmaVersion >= 6;
  while (this.pos < this.input.length) {
    var ch = this.fullCharCodeAtPos();
    if (isIdentifierChar(ch, astral)) {
      this.pos += ch <= 0xffff ? 1 : 2;
    } else if (ch === 92) { // "\"
      this.containsEsc = true;
      word += this.input.slice(chunkStart, this.pos);
      var escStart = this.pos;
      if (this.input.charCodeAt(++this.pos) !== 117) // "u"
        { this.invalidStringToken(this.pos, "Expecting Unicode escape sequence \\uXXXX"); }
      ++this.pos;
      var esc = this.readCodePoint();
      if (!(first ? isIdentifierStart : isIdentifierChar)(esc, astral))
        { this.invalidStringToken(escStart, "Invalid Unicode escape"); }
      word += codePointToString(esc);
      chunkStart = this.pos;
    } else {
      break
    }
    first = false;
  }
  return word + this.input.slice(chunkStart, this.pos)
};

// Read an identifier or keyword token. Will check for reserved
// words when necessary.

pp.readWord = function() {
  var word = this.readWord1();
  var type = types$1.name;
  if (this.keywords.test(word)) {
    type = keywords[word];
  }
  return this.finishToken(type, word)
};

// Acorn is a tiny, fast JavaScript parser written in JavaScript.
//
// Acorn was written by Marijn Haverbeke, Ingvar Stepanyan, and
// various contributors and released under an MIT license.
//
// Git repositories for Acorn are available at
//
//     http://marijnhaverbeke.nl/git/acorn
//     https://github.com/acornjs/acorn.git
//
// Please use the [github bug tracker][ghbt] to report issues.
//
// [ghbt]: https://github.com/acornjs/acorn/issues
//
// [walk]: util/walk.js


var version = "8.14.0";

Parser.acorn = {
  Parser: Parser,
  version: version,
  defaultOptions: defaultOptions,
  Position: Position,
  SourceLocation: SourceLocation,
  getLineInfo: getLineInfo,
  Node: Node,
  TokenType: TokenType,
  tokTypes: types$1,
  keywordTypes: keywords,
  TokContext: TokContext,
  tokContexts: types,
  isIdentifierChar: isIdentifierChar,
  isIdentifierStart: isIdentifierStart,
  Token: Token,
  isNewLine: isNewLine,
  lineBreak: lineBreak,
  lineBreakG: lineBreakG,
  nonASCIIwhitespace: nonASCIIwhitespace
};

// The main exported interface (under `self.acorn` when in the
// browser) is a `parse` function that takes a code string and returns
// an abstract syntax tree as specified by the [ESTree spec][estree].
//
// [estree]: https://github.com/estree/estree

function parse(input, options) {
  return Parser.parse(input, options)
}

// This function tries to parse a single expression at a given
// offset in a string. Useful for parsing mixed-language formats
// that embed JavaScript expressions.

function parseExpressionAt(input, pos, options) {
  return Parser.parseExpressionAt(input, pos, options)
}

// Acorn is organized as a tokenizer and a recursive-descent parser.
// The `tokenizer` export provides an interface to the tokenizer.

function tokenizer(input, options) {
  return Parser.tokenizer(input, options)
}



;// ../node_modules/arquero/src/expression/constants.js
/* harmony default export */ const constants = ({
  undefined: 'void(0)',
  Infinity:  'Number.POSITIVE_INFINITY',
  NaN:       'Number.NaN',
  E:         'Math.E',
  LN2:       'Math.LN2',
  LN10:      'Math.LN10',
  LOG2E:     'Math.LOG2E',
  LOG10E:    'Math.LOG10E',
  PI:        'Math.PI',
  SQRT1_2:   'Math.SQRT1_2',
  SQRT2:     'Math.SQRT2'
});
;// ../node_modules/arquero/src/expression/parse-expression.js















const PARSER_OPT = { ecmaVersion: 11 };
const DEFAULT_PARAM_ID = '$';
const DEFAULT_TUPLE_ID = 'd';
const DEFAULT_TUPLE_ID1 = 'd1';
const DEFAULT_TUPLE_ID2 = 'd2';

const NO = msg => (node, ctx) => ctx.error(node, msg + ' not allowed');
const ERROR_AGGREGATE = NO('Aggregate function');
const ERROR_WINDOW = NO('Window function');
const ERROR_ARGUMENT = 'Invalid argument';
const ERROR_COLUMN = 'Invalid column reference';
const ERROR_AGGRONLY = ERROR_COLUMN + ' (must be input to an aggregate function)';
const ERROR_FUNCTION = 'Invalid function call';
const ERROR_MEMBER = 'Invalid member expression';
const ERROR_OP_PARAMETER = 'Invalid operator parameter';
const ERROR_PARAM = 'Invalid param reference';
const ERROR_VARIABLE = 'Invalid variable reference';
const ERROR_VARIABLE_OP = 'Variable not accessible in operator call';
const ERROR_DECLARATION = 'Unsupported variable declaration';
const ERROR_DESTRUCTURE = 'Unsupported destructuring pattern';
const ERROR_CLOSURE = 'Table expressions do not support closures';
const ERROR_ESCAPE = 'Use aq.escape(fn) to use a function as-is (including closures)';
const ERROR_USE_PARAMS = 'use table.params({ name: value }) to define dynamic parameters';
const ERROR_ADD_FUNCTION = 'use aq.addFunction(name, fn) to add new op functions';
const ERROR_VARIABLE_NOTE = `\nNote: ${ERROR_CLOSURE}. ${ERROR_ESCAPE}, or ${ERROR_USE_PARAMS}.`;
const ERROR_FUNCTION_NOTE = `\nNote: ${ERROR_CLOSURE}. ${ERROR_ESCAPE}, or ${ERROR_ADD_FUNCTION}.`;
const ERROR_ROW_OBJECT = `The ${row_object_ROW_OBJECT} method is not valid in multi-table expressions.`;

function parseExpression(ctx, spec) {
  const ast = parseAST(spec);
  let node = ctx.root = ast;
  ctx.spec = spec;
  ctx.tuple = null;
  ctx.tuple1 = null;
  ctx.tuple2 = null;
  ctx.$param = null;
  ctx.$op = 0;
  ctx.scope = new Set();
  ctx.paramsRef = new Map();
  ctx.columnRef = new Map();

  // parse input column parameters
  // if no function def, assume default tuple identifiers
  if (isFunctionExpression(node)) {
    parseFunction(node, ctx);
    node = node.body;
  } else if (ctx.join) {
    ctx.scope.add(ctx.tuple1 = DEFAULT_TUPLE_ID1);
    ctx.scope.add(ctx.tuple2 = DEFAULT_TUPLE_ID2);
    ctx.scope.add(ctx.$param = DEFAULT_PARAM_ID);
  } else {
    ctx.scope.add(ctx.tuple = DEFAULT_TUPLE_ID);
    ctx.scope.add(ctx.$param = DEFAULT_PARAM_ID);
  }

  // rewrite column references & function calls
  walk(node, ctx, parse_expression_visitors);

  return ctx.root;
}

function parseAST(expr) {
  try {
    const code = expr.field ? fieldRef(expr)
      : is_array(expr) ? to_string(expr)
      : expr;
    return parse(`expr=(${code})`, PARSER_OPT).body[0].expression.right;
  } catch (err) {
    util_error(`Expression parse error: ${expr+''}`, err);
  }
}

function fieldRef(expr) {
  const col = JSON.stringify(expr+'');
  return !(expr.table || 0) ? `d=>d[${col}]` : `(a,b)=>b[${col}]`;
}

const parse_expression_visitors = {
  FunctionDeclaration: NO('Function definitions'),
  ForStatement: NO('For loops'),
  ForOfStatement: NO('For-of loops'),
  ForInStatement: NO('For-in loops'),
  WhileStatement: NO('While loops'),
  DoWhileStatement: NO('Do-while loops'),
  AwaitExpression: NO('Await expressions'),
  ArrowFunctionExpression: NO('Function definitions'),
  AssignmentExpression: NO('Assignments'),
  FunctionExpression: NO('Function definitions'),
  NewExpression: NO('Use of "new"'),
  UpdateExpression: NO('Update expressions'),

  VariableDeclarator(node, ctx) {
    handleDeclaration(node.id, ctx);
  },
  Identifier(node, ctx, parent) {
    if (handleIdentifier(node, ctx, parent) && !ctx.scope.has(node.name)) {
      // handle identifier passed responsibility here
      // raise error if identifier not defined in scope
      ctx.error(node, ERROR_VARIABLE, ERROR_VARIABLE_NOTE);
    }
  },
  CallExpression(node, ctx) {
    const name = functionName(node.callee);
    const def = getAggregate(name) || getWindow(name);

    // parse operator and rewrite invocation
    if (def) {
      if ((ctx.join || ctx.aggregate === false) && hasAggregate(def)) {
        ERROR_AGGREGATE(node, ctx);
      }
      if ((ctx.join || ctx.window === false) && hasWindow(def)) {
        ERROR_WINDOW(node, ctx);
      }

      ctx.$op = 1;
      if (ctx.ast) {
        updateFunctionNode(node, name, ctx);
        node.arguments.forEach(arg => walk(arg, ctx, opVisitors));
      } else {
        const op = ctx.op(parseOperator(ctx, def, name, node.arguments));
        Object.assign(node, { type: constants_Op, name: op.id });
      }
      ctx.$op = 0;
      return false;
    } else if (hasFunction(name)) {
      updateFunctionNode(node, name, ctx);
    } else {
      ctx.error(node, ERROR_FUNCTION, ERROR_FUNCTION_NOTE);
    }
  },
  MemberExpression(node, ctx, parent) {
    const { object, property } = node;

    // bail if left head is not an identifier
    // in this case we will recurse and handle it later
    if (!is(Identifier, object)) return;
    const { name } = object;

    // allow use of Math prefix to access constant values
    if (isMath(node) && is(Identifier, property)
        && util_has(constants, property.name)) {
      updateConstantNode(node, property.name);
      return;
    }

    const index = name === ctx.tuple ? 0
      : name === ctx.tuple1 ? 1
      : name === ctx.tuple2 ? 2
      : -1;

    if (index >= 0) {
      // replace member expression with column ref
      return spliceMember(node, index, ctx, checkColumn, parent);
    } else if (name === ctx.$param) {
      // replace member expression with param ref
      return spliceMember(node, index, ctx, checkParam);
    } else if (ctx.paramsRef.has(name)) {
      updateParameterNode(node, ctx.paramsRef.get(name));
    } else if (ctx.columnRef.has(name)) {
      updateColumnNode(object, name, ctx, node);
    } else if (util_has(ctx.params, name)) {
      updateParameterNode(object, name);
    }
  }
};

function spliceMember(node, index, ctx, check, parent) {
  const { property, computed } = node;
  let name;

  if (!computed) {
    name = property.name;
  } else if (is(Literal, property)) {
    name = property.value;
  } else try {
    name = ctx.param(property);
  } catch (e) {
    ctx.error(node, ERROR_MEMBER);
  }

  check(node, name, index, ctx, parent);
  return false;
}

const opVisitors = {
  ...parse_expression_visitors,
  VariableDeclarator: NO('Variable declaration in operator call'),
  Identifier(node, ctx, parent) {
    if (handleIdentifier(node, ctx, parent)) {
      ctx.error(node, ERROR_VARIABLE_OP);
    }
  },
  CallExpression(node, ctx) {
    const name = functionName(node.callee);

    // rewrite if built-in function
    if (hasFunction(name)) {
      updateFunctionNode(node, name, ctx);
    } else {
      ctx.error(node, ERROR_FUNCTION, ERROR_FUNCTION_NOTE);
    }
  }
};

function parseFunction(node, ctx) {
  if (node.generator) NO('Generator functions')(node, ctx);
  if (node.async) NO('Async functions')(node, ctx);

  const { params } = node;
  const len = params.length;
  const setc = index => (name, key) => ctx.columnRef.set(name, [key, index]);
  const setp = (name, key) => ctx.paramsRef.set(name, key);

  if (!len) {
    // do nothing
  } else if (ctx.join) {
    parseRef(ctx, params[0], 'tuple1', setc(1));
    if (len > 1) parseRef(ctx, params[1], 'tuple2', setc(2));
    if (len > 2) parseRef(ctx, params[2], '$param', setp);
  } else {
    parseRef(ctx, params[0], 'tuple', setc(0));
    if (len > 1) parseRef(ctx, params[1], '$param', setp);
  }

  ctx.root = node.body;
}

function parseRef(ctx, node, refName, alias) {
  if (is(Identifier, node)) {
    ctx.scope.add(node.name);
    ctx[refName] = node.name;
  } else if (is(ObjectPattern, node)) {
    node.properties.forEach(p => {
      const key = is(Identifier, p.key) ? p.key.name
        : is(Literal, p.key) ? p.key.value
        : ctx.error(p, ERROR_ARGUMENT);
      if (!is(Identifier, p.value)) {
        ctx.error(p.value, ERROR_DESTRUCTURE);
      }
      alias(p.value.name, key);
    });
  }
}

function parseOperator(ctx, def, name, args) {
  const fields = [];
  const params = [];
  const idxFields = def.param[0] || 0;
  const idxParams = idxFields + (def.param[1] || 0);

  args.forEach((arg, index) => {
    if (index < idxFields) {
      walk(arg, ctx, opVisitors);
      fields.push(ctx.field(arg));
    } else if (index < idxParams) {
      walk(arg, ctx, opVisitors);
      params.push(ctx.param(arg));
    } else {
      ctx.error(arg, ERROR_OP_PARAMETER);
    }
  });

  return { name, fields, params, ...(ctx.spec.window || {}) };
}

function functionName(node) {
  return is(Identifier, node) ? node.name
    : !is(MemberExpression, node) ? null
    : isMath(node) ? rewriteMath(node.property.name)
    : node.property.name;
}

function isMath(node) {
  return is(Identifier, node.object) && node.object.name === 'Math';
}

function rewriteMath(name) {
  return name === 'max' ? 'greatest'
    : name === 'min' ? 'least'
    : name;
}

function handleIdentifier(node, ctx, parent) {
  const { name } = node;

  if (is(MemberExpression, parent) && parent.property === node) {
    // do nothing: check head node, not nested properties
  } else if (is(Property, parent) && parent.key === node) {
    // do nothing: identifiers allowed in object expressions
  } else if (ctx.paramsRef.has(name)) {
    updateParameterNode(node, ctx.paramsRef.get(name));
  } else if (ctx.columnRef.has(name)) {
    updateColumnNode(node, name, ctx, parent);
  } else if (util_has(ctx.params, name)) {
    updateParameterNode(node, name);
  } else if (util_has(constants, name)) {
    updateConstantNode(node, name);
  } else {
    return true;
  }
}

function checkColumn(node, name, index, ctx, parent) {
  // check column existence if we have a backing table
  const table = index === 0 ? ctx.table
    : index > 0 ? ctx.join[index - 1]
    : null;
  const col = table && table.column(name);
  if (table && !col) {
    ctx.error(node, ERROR_COLUMN);
  }

  // check if column reference is valid in current context
  if (ctx.aggronly && !ctx.$op) {
    ctx.error(node, ERROR_AGGRONLY);
  }

  // rewrite ast node as a column access
  rewrite(node, name, index, col, parent);
}

function updateColumnNode(node, key, ctx, parent) {
  const [name, index] = ctx.columnRef.get(key);
  checkColumn(node, name, index, ctx, parent);
}

function checkParam(node, name, index, ctx) {
  if (ctx.params && !util_has(ctx.params, name)) {
    ctx.error(node, ERROR_PARAM);
  }
  updateParameterNode(node, name);
}

function updateParameterNode(node, name) {
  node.type = Parameter;
  node.name = name;
}

function updateConstantNode(node, name) {
  node.type = Constant;
  node.name = name;
  node.raw = constants[name];
}

function updateFunctionNode(node, name, ctx) {
  if (name === row_object_ROW_OBJECT) {
    const t = ctx.table;
    if (!t) ctx.error(node, ERROR_ROW_OBJECT);
    rowObjectExpression(node,
      node.arguments.length
        ? node.arguments.map(node => {
            const col = ctx.param(node);
            const name = is_number(col) ? t.columnName(col) : col;
            if (!t.column(name)) ctx.error(node, ERROR_COLUMN);
            return name;
          })
        : t.columnNames()
    );
  } else {
    node.callee = { type: constants_Function, name };
  }
}

function handleDeclaration(node, ctx) {
  if (is(Identifier, node)) {
    ctx.scope.add(node.name);
  } else if (is(ArrayPattern, node)) {
    node.elements.forEach(elm => handleDeclaration(elm, ctx));
  } else if (is(ObjectPattern, node)) {
    node.properties.forEach(prop => handleDeclaration(prop.value, ctx));
  } else {
    ctx.error(node.id, ERROR_DECLARATION);
  }
}
;// ../node_modules/arquero/src/expression/parse.js












const ANNOTATE = { [constants_Column]: 1, [constants_Op]: 1 };

/* harmony default export */ function expression_parse(input, opt = {}) {
  const generate = opt.generate || codegen;
  const compiler = opt.compiler || expression_compile;
  const params = getParams(opt);
  const fields = {};
  const opcall = {};
  const names = [];
  const exprs = [];
  let fieldId = 0;
  let opId = -1;

  const compileExpr = opt.join ? compiler.join
    : opt.index == 1 ? compiler.expr2
    : compiler.expr;

  // parser context
  const ctx = {
    op(op) {
      const key = opKey(op);
      return opcall[key] || (op.id = ++opId, opcall[key] = op);
    },
    field(node) {
      const code = generate(node);
      return fields[code] || (fields[code] = ++fieldId);
    },
    param(node) {
      return is(Literal, node)
        ? node.value
        : compiler.param(generate(node), params);
    },
    value(name, node) {
      names.push(name);
      const e = node.escape || (opt.ast
        ? clean(node)
        : compileExpr(generate(node), params));
      exprs.push(e);
      // annotate expression if it is a direct column or op access
      // this permits downstream optimizations
      if (ANNOTATE[node.type] && e !== node && is_object(e)) {
        e.field = node.name;
      }
    },
    error(node, msg, note = '') {
      // both expresions and fields are parsed
      // with added code prefixes of length 6!
      const i = node.start - 6;
      const j = node.end - 6;
      const snippet = String(ctx.spec).slice(i, j);
      util_error(`${msg}: "${snippet}"${note}`);
    }
  };

  // copy all options to context, potentially overwriting methods
  Object.assign(ctx, opt, { params });

  // parse each expression
  for (const [name, value] of entries(input)) {
    ctx.value(
      name + '',
      value.escape
        ? parse_escape(ctx, value, params)
        : parseExpression(ctx, value)
    );
  }

  // return expression asts if requested
  if (opt.ast) {
    return { names, exprs };
  }

  // compile input field accessors
  const f = [];
  for (const key in fields) {
    f[fields[key]] = compiler.expr(key, params);
  }

  // resolve input fields to operations
  const ops = Object.values(opcall);
  ops.forEach(op => op.fields = op.fields.map(id => f[id]));

  return { names, exprs, ops };
}

function opKey(op) {
  let key = `${op.name}(${op.fields.concat(op.params).join(',')})`;
  if (op.frame) {
    const frame = op.frame.map(v => Number.isFinite(v) ? Math.abs(v) : -1);
    key += `[${frame},${!!op.peers}]`;
  }
  return key;
}

function getParams(opt) {
  return (opt.table ? getTableParams(opt.table)
    : opt.join ? {
        ...getTableParams(opt.join[1]),
        ...getTableParams(opt.join[0])
      }
    : {}) || {};
}

function getTableParams(table) {
  return table && util_is_function(table.params) ? table.params() : {};
}
;// ../node_modules/arquero/src/query/constants.js
const Expr = 'Expr';
const ExprList = 'ExprList';
const ExprNumber = 'ExprNumber';
const ExprObject = 'ExprObject';
const JoinKeys = 'JoinKeys';
const JoinValues = 'JoinValues';
const Options = 'Options';
const OrderbyKeys = 'OrderKeys';
const SelectionList = 'SelectionList';
const TableRef = 'TableRef';
const TableRefList = 'TableRefList';

const Descending = 'Descending';
const constants_Query = 'Query';
const Selection = 'Selection';
const constants_Verb = 'Verb';
const Window = 'Window';
;// ../node_modules/arquero/src/helpers/wrap.js


/**
 * Annotate an expression in an object wrapper.
 * @param {string|Function|object} expr An expression to annotate.
 * @param {object} properties The properties to annotate with.
 * @return {object} A new wrapped expression object.
 */
/* harmony default export */ function wrap(expr, properties) {
  return expr && expr.expr
    ? new Wrapper({ ...expr, ...properties })
    : new Wrapper(properties, expr);
}

class Wrapper {
  constructor(properties, expr) {
    this.expr = expr;
    Object.assign(this, properties);
  }
  toString() {
    return String(this.expr);
  }
  toObject() {
    return {
      ...this,
      expr: this.toString(),
      ...(util_is_function(this.expr) ? { func: true } : {})
    };
  }
}
;// ../node_modules/arquero/src/helpers/desc.js


/**
 * Annotate a table expression to indicate descending sort order.
 * @param {string|Function|object} expr The table expression to annotate.
 * @return {object} A wrapped expression indicating descending sort.
 * @example desc('colA')
 * @example desc(d => d.colA)
 */
/* harmony default export */ function desc(expr) {
  return wrap(expr, { desc: true });
}
;// ../node_modules/arquero/src/helpers/field.js


/**
 * Annotate an expression to indicate it is a string field reference.
 * @param {string|object} expr The column name, or an existing wrapped
 *  expression for a column name.
 * @param {string} [name] The column name to use. If provided, will
 *  overwrite the input expression value.
 * @param {number} [table=0] The table index of the field, in case of
 *  expressions over multiple tables.
 * @return A wrapped expression for a named column.
 * @example field('colA')
 */
/* harmony default export */ function field(expr, name, table = 0) {
  const props = table ? { field: true, table } : { field: true };
  return wrap(
    expr,
    name ? { expr: name, ...props } : props
  );
}
;// ../node_modules/arquero/src/helpers/rolling.js


/**
 * Annotate a table expression to compute rolling aggregate or window
 * functions within a sliding window frame. For example, to specify a
 * rolling 7-day average centered on the current day, use rolling with
 * a frame value of [-3, 3].
 * @param {string|Function|object} expr The table expression to annotate.
 * @param {[number?, number?]} [frame=[-Infinity, 0]] The sliding window frame
 *  offsets. Each entry indicates an offset from the current value. If an
 *  entry is non-finite, the frame will be unbounded in that direction,
 *  including all preceding or following values. If unspecified, the frame
 *  will include the current values and all preceding values.
 * @param {boolean} [includePeers=false] Indicates if the sliding window frame
 *  should ignore peer (tied) values. If false (the default), the window frame
 *  boundaries are insensitive to peer values. If `true`, the window frame
 *  expands to include all peers. This parameter only affects operations that
 *  depend on the window frame: aggregate functions and the first_value,
 *  last_value, and nth_value window functions.
 * @return A new wrapped expression annotated with rolling window parameters.
 * @example rolling(d => mean(d.colA), [-3, 3])
 * @example rolling(d => last_value(d.colA), null, true)
 */
/* harmony default export */ function rolling(expr, frame, includePeers) {
  return wrap(expr, {
    window: {
      frame: frame || [-Infinity, 0],
      peers: !!includePeers
    }
  });
}
;// ../node_modules/arquero/src/query/util.js














function util_func(expr) {
  const f = d => d;
  f.toString = () => expr;
  return f;
}

function getTable(catalog, ref) {
  ref = ref && util_is_function(ref.query) ? ref.query() : ref;
  return ref && util_is_function(ref.evaluate)
    ? ref.evaluate(null, catalog)
    : catalog(ref);
}

function isSelection(value) {
  return is_object(value) && (
    is_array(value.all) ||
    is_array(value.matches) ||
    is_array(value.not) ||
    is_array(value.range)
  );
}

function util_toObject(value) {
  return value && util_is_function(value.toObject) ? value.toObject()
    : util_is_function(value) ? { expr: String(value), func: true }
    : is_array(value) ? value.map(util_toObject)
    : is_object(value) ? map_object(value, _ => util_toObject(_))
    : value;
}

function fromObject(value) {
  return is_array(value) ? value.map(fromObject)
    : !is_object(value) ? value
    : is_array(value.verbs) ? query_Query.from(value)
    : is_array(value.all) ? selection_all()
    : is_array(value.range) ? range(...value.range)
    : is_array(value.match) ? matches(RegExp(...value.match))
    : is_array(value.not) ? not(value.not.map(util_toObject))
    : fromExprObject(value);
}

function fromExprObject(value) {
  let output = value;
  let expr = value.expr;

  if (expr != null) {
    if (value.field === true) {
      output = expr = field(expr);
    } else if (value.func === true) {
      output = expr = util_func(expr);
    }

    if (is_object(value.window)) {
      const { frame, peers } = value.window;
      output = expr = rolling(expr, frame, peers);
    }

    if (value.desc === true) {
      output = desc(expr);
    }
  }

  return value === output
    ? map_object(value, _ => fromObject(_))
    : output;
}

function joinKeys(keys) {
  return is_array(keys) ? keys.map(parseJoinKeys)
    : keys;
}

function parseJoinKeys(keys) {
  const list = [];

  to_array(keys).forEach(param => {
    is_number(param) ? list.push(param)
      : is_string(param) ? list.push(field(param, null))
      : is_object(param) && param.expr ? list.push(param)
      : util_is_function(param) ? list.push(param)
      : util_error(`Invalid key value: ${param+''}`);
  });

  return list;
}

function joinValues(values) {
  return is_array(values)
    ? values.map(parseJoinValues)
    : values;
}

function parseJoinValues(values, index) {
  return index < 2 ? to_array(values) : values;
}

function orderbyKeys(keys) {
  const list = [];

  keys.forEach(param => {
    const expr = param.expr != null ? param.expr : param;
    if (is_object(expr) && !util_is_function(expr)) {
      for (const key in expr) {
        list.push(expr[key]);
      }
    } else {
      param = is_number(expr) ? expr
        : is_string(expr) ? field(param)
        : util_is_function(expr) ? param
        : util_error(`Invalid orderby field: ${param+''}`);
      list.push(param);
    }
  });

  return list;
}
;// ../node_modules/arquero/src/query/to-ast.js













const Methods = {
  [Expr]: astExpr,
  [ExprList]: astExprList,
  [ExprNumber]: astExprNumber,
  [ExprObject]: astExprObject,
  [JoinKeys]: astJoinKeys,
  [JoinValues]: astJoinValues,
  [OrderbyKeys]: astExprList,
  [SelectionList]: astSelectionList
};

/* harmony default export */ function to_ast(value, type, propTypes) {
  return type === TableRef ? astTableRef(value)
    : type === TableRefList ? value.map(astTableRef)
    : ast(util_toObject(value), type, propTypes);
}

function ast(value, type, propTypes) {
  return type === Options
    ? (value ? astOptions(value, propTypes) : value)
    : Methods[type](value);
}

function astOptions(value, types = {}) {
  const output = {};
  for (const key in value) {
    const prop = value[key];
    output[key] = types[key] ? ast(prop, types[key]) : prop;
  }
  return output;
}

function astParse(expr, opt) {
  return expression_parse({ expr }, { ...opt, ast: true }).exprs[0];
}

function astColumn(name) {
  return { type: constants_Column, name };
}

function astColumnIndex(index) {
  return { type: constants_Column, index };
}

function astExprObject(obj, opt) {
  if (is_string(obj)) {
    return astParse(obj, opt);
  }

  if (obj.expr) {
    let ast;
    if (obj.field === true) {
      ast = astColumn(obj.expr);
    } else if (obj.func === true) {
      ast = astExprObject(obj.expr, opt);
    }
    if (ast) {
      if (obj.desc) {
        ast = { type: Descending, expr: ast };
      }
      if (obj.window) {
        ast = { type: Window, expr: ast, ...obj.window };
      }
      return ast;
    }
  }

  return Object.keys(obj)
    .map(key => ({
      ...astExprObject(obj[key], opt),
      as: key
    }));
}

function astSelection(sel) {
  const type = Selection;
  return sel.all ? { type, operator: 'all' }
    : sel.not ? { type, operator: 'not', arguments: astExprList(sel.not) }
    : sel.range ? { type, operator: 'range', arguments: astExprList(sel.range) }
    : sel.matches ? { type, operator: 'matches', arguments: sel.matches }
    : util_error('Invalid input');
}

function astSelectionList(arr) {
  return to_array(arr).map(astSelectionItem).flat();
}

function astSelectionItem(val) {
  return isSelection(val) ? astSelection(val)
    : is_number(val) ? astColumnIndex(val)
    : is_string(val) ? astColumn(val)
    : is_object(val) ? Object.keys(val)
      .map(name => ({ type: constants_Column, name, as: val[name] }))
    : util_error('Invalid input');
}

function astExpr(val) {
  return isSelection(val) ? astSelection(val)
    : is_number(val) ? astColumnIndex(val)
    : is_string(val) ? astColumn(val)
    : is_object(val) ? astExprObject(val)
    : util_error('Invalid input');
}

function astExprList(arr) {
  return to_array(arr).map(astExpr).flat();
}

function astExprNumber(val) {
  return is_number(val) ? val : astExprObject(val);
}

function astJoinKeys(val) {
  return is_array(val)
    ? val.map(astExprList)
    : astExprObject(val, { join: true });
}

function astJoinValues(val) {
  return is_array(val)
    ? val.map((v, i) => i < 2
        ? astExprList(v)
        : astExprObject(v, { join: true })
      )
    : astExprObject(val, { join: true });
}

function astTableRef(value) {
  return value && util_is_function(value.toAST)
    ? value.toAST()
    : value;
}
;// ../node_modules/arquero/src/query/verb.js








/**
 * Model an Arquero verb as a serializable object.
 */
class Verb {

  /**
   * Construct a new verb instance.
   * @param {string} verb The verb name.
   * @param {object[]} schema Schema describing verb parameters.
   * @param {any[]} params Array of parameter values.
   */
  constructor(verb, schema = [], params = []) {
    this.verb = verb;
    this.schema = schema;
    schema.forEach((s, index) => {
      const type = s.type;
      const param = params[index];
      const value = type === JoinKeys ? joinKeys(param)
        : type === JoinValues ? joinValues(param)
        : type === OrderbyKeys ? orderbyKeys(param)
        : param;
      this[s.name] = value !== undefined ? value : s.default;
    });
  }

  /**
   * Create new verb instance from the given serialized object.
   * @param {object} object A serialized verb representation, such as
   *  those generated by Verb.toObject.
   * @returns {Verb} The instantiated verb.
   */
  static from(object) {
    const verb = verb_Verbs[object.verb];
    const params = (verb.schema || [])
      .map(({ name }) => fromObject(object[name]));
    return verb(...params);
  }

  /**
   * Evaluate this verb against a given table and catalog.
   * @param {Table} table The Arquero table to process.
   * @param {Function} catalog A table lookup function that accepts a table
   *  name string as input and returns a corresponding Arquero table.
   * @returns {Table} The resulting Arquero table.
   */
  evaluate(table, catalog) {
    const params = this.schema.map(({ name, type }) => {
      const value = this[name];
      return type === TableRef ? getTable(catalog, value)
        : type === TableRefList ? value.map(t => getTable(catalog, t))
        : value;
    });
    return table[this.verb](...params);
  }

  /**
   * Serialize this verb as a JSON-compatible object. The resulting
   * object can be passed to Verb.from to re-instantiate this verb.
   * @returns {object} A JSON-compatible object representing this verb.
   */
  toObject() {
    const obj = { verb: this.verb };
    this.schema.forEach(({ name }) => {
      obj[name] = util_toObject(this[name]);
    });
    return obj;
  }

  /**
   * Serialize this verb to a JSON-compatible abstract syntax tree.
   * All table expressions will be parsed and represented as AST instances
   * using a modified form of the Mozilla JavaScript AST format.
   * This method can be used to output parsed and serialized representations
   * to translate Arquero verbs to alternative data processing platforms.
   * @returns {object} A JSON-compatible abstract syntax tree object.
   */
  toAST() {
    const obj = { type: constants_Verb, verb: this.verb };
    this.schema.forEach(({ name, type, props }) => {
      obj[name] = to_ast(this[name], type, props);
    });
    return obj;
  }
}

/**
 * Verb parameter type.
 * @typedef {Expr|ExprList|ExprNumber|ExprObject|JoinKeys|JoinValues|Options|OrderbyKeys|SelectionList|TableRef|TableRefList} ParamType
 */

/**
 * Verb parameter schema.
 * @typedef {object} ParamDef
 * @property {string} name The name of the parameter.
 * @property {ParamType} type The type of the parameter.
 * @property {{ [key: string]: ParamType }} [props] Types for non-literal properties.
 */

/**
 * Create a new constructors.
 * @param {string} name The name of the verb.
 * @param {ParamDef[]} schema The verb parameter schema.
 * @return {Function} A verb constructor function.
 */
function verb_createVerb(name, schema) {
  return Object.assign(
    (...params) => new Verb(name, schema, params),
    { schema }
  );
}

/**
 * A lookup table of verb classes.
 */
const verb_Verbs = {
  count:      verb_createVerb('count', [
                { name: 'options', type: Options }
              ]),
  derive:     verb_createVerb('derive', [
                { name: 'values', type: ExprObject },
                { name: 'options', type: Options,
                  props: { before: SelectionList, after: SelectionList }
                }
              ]),
  filter:     verb_createVerb('filter', [
                { name: 'criteria', type: ExprObject }
              ]),
  groupby:    verb_createVerb('groupby', [
                { name: 'keys', type: ExprList }
              ]),
  orderby:    verb_createVerb('orderby', [
                { name: 'keys', type: OrderbyKeys }
              ]),
  relocate:   verb_createVerb('relocate', [
                { name: 'columns', type: SelectionList },
                { name: 'options', type: Options,
                  props: { before: SelectionList, after: SelectionList }
                }
              ]),
  rename:     verb_createVerb('rename', [
                { name: 'columns', type: SelectionList }
              ]),
  rollup:     verb_createVerb('rollup', [
                { name: 'values', type: ExprObject }
              ]),
  sample:     verb_createVerb('sample', [
                { name: 'size', type: ExprNumber },
                { name: 'options', type: Options, props: { weight: Expr } }
              ]),
  select:     verb_createVerb('select', [
                { name: 'columns', type: SelectionList }
              ]),
  ungroup:    verb_createVerb('ungroup'),
  unorder:    verb_createVerb('unorder'),
  reify:      verb_createVerb('reify'),
  dedupe:     verb_createVerb('dedupe', [
                { name: 'keys', type: ExprList, default: [] }
              ]),
  impute:     verb_createVerb('impute', [
                { name: 'values', type: ExprObject },
                { name: 'options', type: Options, props: { expand: ExprList } }
              ]),
  fold:       verb_createVerb('fold', [
                { name: 'values', type: ExprList },
                { name: 'options', type: Options }
              ]),
  pivot:      verb_createVerb('pivot', [
                { name: 'keys', type: ExprList },
                { name: 'values', type: ExprList },
                { name: 'options', type: Options }
              ]),
  spread:     verb_createVerb('spread', [
                { name: 'values', type: ExprList },
                { name: 'options', type: Options }
              ]),
  unroll:     verb_createVerb('unroll', [
                { name: 'values', type: ExprList },
                { name: 'options', type: Options, props: { drop: ExprList } }
              ]),
  lookup:     verb_createVerb('lookup', [
                { name: 'table', type: TableRef },
                { name: 'on', type: JoinKeys },
                { name: 'values', type: ExprList }
              ]),
  join:       verb_createVerb('join', [
                { name: 'table', type: TableRef },
                { name: 'on', type: JoinKeys },
                { name: 'values', type: JoinValues },
                { name: 'options', type: Options }
              ]),
  cross:      verb_createVerb('cross', [
                { name: 'table', type: TableRef },
                { name: 'values', type: JoinValues },
                { name: 'options', type: Options }
              ]),
  semijoin:   verb_createVerb('semijoin', [
                { name: 'table', type: TableRef },
                { name: 'on', type: JoinKeys }
              ]),
  antijoin:   verb_createVerb('antijoin', [
                { name: 'table', type: TableRef },
                { name: 'on', type: JoinKeys }
              ]),
  concat:     verb_createVerb('concat', [
                { name: 'tables', type: TableRefList }
              ]),
  union:      verb_createVerb('union', [
                { name: 'tables', type: TableRefList }
              ]),
  intersect:  verb_createVerb('intersect', [
                { name: 'tables', type: TableRefList }
              ]),
  except:     verb_createVerb('except', [
                { name: 'tables', type: TableRefList }
              ])
};
;// ../node_modules/arquero/src/query/query.js




/**
 * Create a new query instance. The query interface provides
 * a table-like verb API to construct a query that can be
 * serialized or evaluated against Arquero tables.
 * @param {string} [tableName] The name of the table to query. If
 *  provided, will be used as the default input table to pull from
 *  a provided catalog to run the query against.
 * @return {Query} A new builder instance.
 */
function query(tableName) {
  return new query_Query(null, null, tableName);
}

/**
 * Create a new query instance from a serialized object.
 * @param {object} object A serialized query representation, such as
 *  those generated by query(...).toObject().
 * @returns {Query} The instantiated query instance.
 */
function queryFrom(object) {
  return query_Query.from(object);
}

/**
 * Model a query as a collection of serializble verbs.
 * Provides a table-like interface for constructing queries.
 */
class query_Query extends Transformable {

  /**
   * Construct a new query instance.
   * @param {Verb[]} verbs An array of verb instances.
   * @param {object} [params] Optional query parameters, corresponding
   *  to parameter references in table expressions.
   * @param {string} [table] Optional name of the table to query.
   */
  constructor(verbs, params, table) {
    super(params);
    this._verbs = verbs || [];
    this._table = table;
  }

  /**
   * Create a new query instance from the given serialized object.
   * @param {QueryObject} object A serialized query representation, such as
   *  those generated by Query.toObject.
   * @returns {Query} The instantiated query.
   */
  static from({ verbs, table, params }) {
    return new query_Query(verbs.map(Verb.from), params, table);
  }

  /**
   * Provide an informative object string tag.
   */
  get [Symbol.toStringTag]() {
    if (!this._verbs) return 'Object'; // bail if called on prototype
    const ns = this._verbs.length;
    return `Query: ${ns} verbs` + (this._table ? ` on '${this._table}'` : '');
  }

  /**
   * Return the number of verbs in this query.
   */
  get length() {
    return this._verbs.length;
  }

  /**
   * Return the name of the table this query applies to.
   * @return {string} The name of the source table, or undefined.
   */
  get tableName() {
    return this._table;
  }

  /**
   * Get or set table expression parameter values.
   * If called with no arguments, returns the current parameter values
   * as an object. Otherwise, adds the provided parameters to this
   * query's parameter set and returns the table. Any prior parameters
   * with names matching the input parameters are overridden.
   * @param {object} values The parameter values.
   * @return {Query|object} The current parameter values (if called
   *  with no arguments) or this query.
   */
  params(values) {
    if (arguments.length) {
      this._params = { ...this._params, ...values };
      return this;
    } else {
      return this._params;
    }
  }

  /**
   * Evaluate this query against a given table and catalog.
   * @param {Table} table The Arquero table to process.
   * @param {Function} catalog A table lookup function that accepts a table
   *  name string as input and returns a corresponding Arquero table.
   * @returns {Table} The resulting Arquero table.
   */
  evaluate(table, catalog) {
    table = table || catalog(this._table);
    for (const verb of this._verbs) {
      table = verb.evaluate(table.params(this._params), catalog);
    }
    return table;
  }

  /**
   * Serialize this query as a JSON-compatible object. The resulting
   * object can be passed to Query.from to re-instantiate this query.
   * @returns {object} A JSON-compatible object representing this query.
   */
  toObject() {
    return serialize(this, 'toObject');
  }

  /**
   * Serialize this query as a JSON-compatible object. The resulting
   * object can be passed to Query.from to re-instantiate this query.
   * This method simply returns the result of toObject, but is provided
   * as a separate method to allow later customization of JSON export.
   * @returns {object} A JSON-compatible object representing this query.
   */
  toJSON() {
    return this.toObject();
  }

  /**
   * Serialize this query to a JSON-compatible abstract syntax tree.
   * All table expressions will be parsed and represented as AST instances
   * using a modified form of the Mozilla JavaScript AST format.
   * This method can be used to output parsed and serialized representations
   * to translate Arquero queries to alternative data processing platforms.
   * @returns {object} A JSON-compatible abstract syntax tree object.
   */
  toAST() {
    return serialize(this, 'toAST', { type: constants_Query });
  }
}

/**
 * Serialized object representation of a query.
 * @typedef {object} QueryObject
 * @property {object[]} verbs An array of verb definitions.
 * @property {object} [params] An object of parameter values.
 * @property {string} [table] The name of the table to query.
 */

function serialize(query, method, props) {
  return {
    ...props,
    verbs: query._verbs.map(verb => verb[method]()),
    ...(query._params ? { params: query._params } : null),
    ...(query._table ? { table: query._table } : null)
  };
}

function query_append(qb, verb) {
  return new query_Query(
    qb._verbs.concat(verb),
    qb._params,
    qb._table
  );
}

function query_addQueryVerb(name, verb) {
  query_Query.prototype[name] = function(...args) {
    return query_append(this, verb(...args));
  };
}

// Internal verb handlers
for (const name in verb_Verbs) {
  const verb = verb_Verbs[name];
  query_Query.prototype['__' + name] = function(qb, ...args) {
    return query_append(qb, verb(...args));
  };
}
;// ../node_modules/arquero/package.json
const package_namespaceObject = {"rE":"4.8.8"};
;// ../node_modules/arquero/src/arrow/arrow-dictionary.js


/**
 * Create a new Arquero column that proxies access to an
 * Apache Arrow dictionary column.
 * @param {object} vector An Apache Arrow dictionary column.
 */
/* harmony default export */ function arrow_dictionary(vector) {
  const { chunks, dictionary, length, nullCount } = vector;
  const size = dictionary.length;
  const keys = dictKeys(chunks || [vector], length, nullCount, size);
  const values = Array(size);

  const value = k => k == null || k < 0 || k >= size ? null
    : values[k] !== undefined ? values[k]
    : (values[k] = dictionary.get(k));

  return {
    vector,
    length,

    get: row => value(keys[row]),

    key: row => keys[row],

    keyFor(value) {
      if (value === null) return nullCount ? size : -1;
      for (let i = 0; i < size; ++i) {
        if (values[i] === undefined) values[i] = dictionary.get(i);
        if (values[i] === value) return i;
      }
      return -1;
    },

    groups(names) {
      const s = size + (nullCount ? 1 : 0);
      return { keys, get: [value], names, rows: sequence(0, s), size: s };
    },

    [Symbol.iterator]() {
      return vector[Symbol.iterator]();
    }
  };
}

/**
 * Generate a dictionary key array
 * @param {object[]} chunks Arrow column chunks
 * @param {number} length The length of the Arrow column
 * @param {number} nulls The count of column null values
 * @param {number} size The backing dictionary size
 */
function dictKeys(chunks, length, nulls, size) {
  const v = chunks.length > 1 || nulls
    ? flatten(chunks, length, chunks[0].type.indices)
    : chunks[0].values;
  return nulls ? nullKeys(chunks, v, size) : v;
}

/**
 * Flatten Arrow column chunks into a single array.
 */
function flatten(chunks, length, type) {
  const array = new type.ArrayType(length);
  const n = chunks.length;
  for (let i = 0, idx = 0, len; i < n; ++i) {
    len = chunks[i].length;
    array.set(chunks[i].values.subarray(0, len), idx);
    idx += len;
  }
  return array;
}

/**
 * Encode null values as an additional dictionary key.
 * Returns a new key array with null values added.
 * TODO: safeguard against integer overflow?
 */
function nullKeys(chunks, keys, key) {
  // iterate over null bitmaps, encode null values as key
  const n = chunks.length;
  for (let i = 0, idx = 0, m, base, bits, byte; i < n; ++i) {
    bits = chunks[i].nullBitmap;
    m = chunks[i].length >> 3;
    if (bits && bits.length) {
      for (let j = 0; j <= m; ++j) {
        if ((byte = bits[j]) !== 255) {
          base = idx + (j << 3);
          if ((byte & (1 << 0)) === 0) keys[base + 0] = key;
          if ((byte & (1 << 1)) === 0) keys[base + 1] = key;
          if ((byte & (1 << 2)) === 0) keys[base + 2] = key;
          if ((byte & (1 << 3)) === 0) keys[base + 3] = key;
          if ((byte & (1 << 4)) === 0) keys[base + 4] = key;
          if ((byte & (1 << 5)) === 0) keys[base + 5] = key;
          if ((byte & (1 << 6)) === 0) keys[base + 6] = key;
          if ((byte & (1 << 7)) === 0) keys[base + 7] = key;
        }
      }
    }
    idx += chunks[i].length;
  }
  return keys;
}
;// ../node_modules/arquero/src/util/unroll.js
/* harmony default export */ function unroll(args, code, ...lists) {
  const v = ['_', '$'];
  const a = v.slice(0, lists.length);
  a.push('"use strict"; const '
    + lists
        .map((l, j) => l.map((_, i) => `${v[j]}${i} = ${v[j]}[${i}]`).join(', '))
        .join(', ')
    + `; return (${args}) => ${code};`
  );
  return Function(...a)(...lists);
}
;// ../node_modules/arquero/src/arrow/arrow-column.js







const isList = id => id === arrow_types.List || id === arrow_types.FixedSizeList;

/**
 * Create an Arquero column that proxies access to an Arrow column.
 * @param {object} arrow An Apache Arrow column.
 * @return {import('../table/column').ColumnType} An Arquero-compatible column.
 */
function arrowColumn(arrow, nested) {
  if (arrow.dictionary) return arrow_dictionary(arrow);
  const { typeId, chunks, length, numChildren } = arrow;
  const vector = chunks && chunks.length === 1 ? chunks[0] : arrow;
  const get = numChildren && nested ? getNested(vector)
    : numChildren ? memoize(getNested(vector))
    : typeId === arrow_types.Utf8 ? memoize(row => vector.get(row))
    : null;

  return get
    ? { vector, length, get, [Symbol.iterator]: () => iterator(length, get) }
    : vector;
}

function memoize(get) {
  const values = [];
  return row => {
    const v = values[row];
    return v !== undefined ? v : (values[row] = get(row));
  };
}

function* iterator(n, get) {
  for (let i = 0; i < n; ++i) {
    yield get(i);
  }
}

const arrayFrom = vector => vector.numChildren
  ? util_repeat(vector.length, getNested(vector))
  : vector.nullCount ? [...vector]
  : vector.toArray();

const getNested = vector => isList(vector.typeId) ? arrow_column_getList(vector)
  : vector.typeId === arrow_types.Struct ? arrow_column_getStruct(vector)
  : util_error(`Unsupported Arrow type: ${to_string(vector.VectorName)}`);

const arrow_column_getList = vector => vector.nullCount
  ? row => vector.isValid(row) ? arrayFrom(vector.get(row)) : null
  : row => arrayFrom(vector.get(row));

function arrow_column_getStruct(vector) {
  const props = [];
  const code = [];
  vector.type.children.forEach((field, i) => {
    props.push(arrowColumn(vector.getChildAt(i), true));
    code.push(`${to_string(field.name)}:_${i}.get(row)`);
  });
  const get = unroll('row', '({' + code + '})', props);

  return vector.nullCount
    ? row => vector.isValid(row) ? get(row) : null
    : get;
}
;// ../node_modules/arquero/src/table/bit-set.js
const ONE = 0x80000000;
const ALL = 0xFFFFFFFF;

/**
 * Represent an indexable set of bits.
 */
class BitSet {
  /**
   * Instantiate a new BitSet instance.
   * @param {number} size The number of bits.
   */
  constructor(size) {
    this._size = size;
    this._bits = new Uint32Array(Math.ceil(size / 32));
  }

  /**
   * The number of bits.
   * @return {number}
   */
  get length() {
    return this._size;
  }

  /**
   * The number of bits set to one.
   * https://graphics.stanford.edu/~seander/bithacks.html#CountBitsSetKernighan
   * @return {number}
   */
  count() {
    const n = this._bits.length;
    let count = 0;
    for (let i = 0; i < n; ++i) {
      for (let b = this._bits[i]; b; ++count) {
        b &= b - 1;
      }
    }
    return count;
  }

  /**
   * Get the bit at a given index.
   * @param {number} i The bit index.
   */
  get(i) {
    return this._bits[i >> 5] & (ONE >>> i);
  }

  /**
   * Set the bit at a given index to one.
   * @param {number} i The bit index.
   */
  set(i) {
    this._bits[i >> 5] |= (ONE >>> i);
  }

  /**
   * Clear the bit at a given index to zero.
   * @param {number} i The bit index.
   */
  clear(i) {
    this._bits[i >> 5] &= ~(ONE >>> i);
  }

  /**
   * Scan the bits, invoking a callback function with the index of
   * each non-zero bit.
   * @param {(i: number) => void} fn A callback function.
   */
  scan(fn) {
    for (let i = this.next(0); i >= 0; i = this.next(i + 1)) {
      fn(i);
    }
  }

  /**
   * Get the next non-zero bit starting from a given index.
   * @param {number} i The bit index.
   */
  next(i) {
    const bits = this._bits;
    const n = bits.length;

    let index = i >> 5;
    let curr = bits[index] & (ALL >>> i);

    for (; index < n; curr = bits[++index]) {
      if (curr !== 0) {
        return (index << 5) + Math.clz32(curr);
      }
    }

    return -1;
  }

  /**
   * Return the index of the nth non-zero bit.
   * @param {number} n The number of non-zero bits to advance.
   * @return {number} The index of the nth non-zero bit.
   */
  nth(n) {
    let i = this.next(0);
    while (n-- && i >= 0) i = this.next(i + 1);
    return i;
  }

  /**
   * Negate all bits in this bitset.
   * Modifies this BitSet in place.
   * @return {this}
   */
  not() {
    const bits = this._bits;
    const n = bits.length;

    // invert all bits
    for (let i = 0; i < n; ++i) {
      bits[i] = ~bits[i];
    }

    // unset extraneous trailing bits
    const tail = this._size % 32;
    if (tail) {
      bits[n - 1] &= ONE >> (tail - 1);
    }

    return this;
  }

  /**
   * Compute the logical AND of this BitSet and another.
   * @param {BitSet} bitset The BitSet to combine with.
   * @return {BitSet} This BitSet updated with the logical AND.
   */
  and(bitset) {
    if (bitset) {
      const a = this._bits;
      const b = bitset._bits;
      const n = a.length;

      for (let i = 0; i < n; ++i) {
        a[i] &= b[i];
      }
    }
    return this;
  }

  /**
   * Compute the logical OR of this BitSet and another.
   * @param {BitSet} bitset The BitSet to combine with.
   * @return {BitSet} This BitSet updated with the logical OR.
   */
  or(bitset) {
    if (bitset) {
      const a = this._bits;
      const b = bitset._bits;
      const n = a.length;

      for (let i = 0; i < n; ++i) {
        a[i] |= b[i];
      }
    }
    return this;
  }
}
;// ../node_modules/arquero/src/format/from-arrow.js







/**
 * Options for Apache Arrow import.
 * @typedef {object} ArrowOptions
 * @property {import('../table/transformable').Select} columns
 *  An ordered set of columns to import. The input may consist of column name
 *  strings, column integer indices, objects with current column names as keys
 *  and new column names as values (for renaming), or selection helper
 *  functions such as {@link all}, {@link not}, or {@link range}.
 */

/**
 * Create a new table backed by an Apache Arrow table instance.
 * @param {object} arrow An Apache Arrow data table or byte buffer.
 * @param {ArrowOptions} options Options for Arrow import.
 * @return {ColumnTable} A new table containing the imported values.
 */
/* harmony default export */ function from_arrow(arrow, options = {}) {
  arrow = arrow_table_from(arrow);
  const { chunks, length, schema } = arrow;

  // resolve column selection
  const fields = schema.fields.map(f => f.name);
  const sel = resolve({
    columnNames: test => test ? fields.filter(test) : fields.slice(),
    columnIndex: name => fields.indexOf(name)
  }, options.columns || selection_all());

  // build Arquero columns for backing Arrow columns
  const cols = column_set();
  sel.forEach((name, key) => {
    cols.add(name, arrowColumn(arrow.getColumn(key)));
  });

  // build row filter bit mask as needed
  const bits = arrow.count() !== length ? new BitSet(length) : null;
  if (bits) {
    let b = 0;
    let c = 0;
    arrow.scan(
      idx => bits.set(b + idx),
      batch => { while (chunks[c] !== batch) b += chunks[c++].length; }
    );
  }

  return new column_table_ColumnTable(cols.data, cols.names, bits);
}
;// ../node_modules/arquero/src/util/parse-values.js



const parseBoolean = [ // boolean
  v => (v === 'true') || (v === 'false'),
  v => v === 'false' ? false : true
];

const parse_values_parseNumber = [ // number
  v => v === 'NaN' || (v = +v) === v,
  v => +v
];

const parseDate = [ // iso date
  is_iso_date_string,
  v => new Date(Date.parse(v))
];

function numberParser(options) {
  const { decimal } = options;
  return decimal && decimal !== '.'
    ? parse_values_parseNumber.map(f => s => f(s && s.replace(decimal, '.')))
    : parse_values_parseNumber;
}

/* harmony default export */ function parse_values(values, options) {
  const types = [parseBoolean, numberParser(options), parseDate];
  const n = types.length;
  for (let i = 0; i < n; ++i) {
    const [test, parser] = types[i];
    if (check(values, test)) {
      return parser;
    }
  }
  return identity;
}

function check(values, test) {
  const n = values.length;
  for (let i = 0; i < n; ++i) {
    const v = values[i];
    if (v != null && !test(v)) {
      return false;
    }
  }
  return true;
}
;// ../node_modules/arquero/src/format/from-text-rows.js






function defaultNames(n, off = 0) {
  return repeat(n - off, i => `col${i + off + 1}`);
}

/* harmony default export */ function from_text_rows(next, names, options) {
  let row = next();
  const n = row.length;
  const automax = +options.autoMax || 1000;
  const values = repeat(n, () => []);
  names = names
    ? names.length < n ? [...names, defaultNames(n, names.length)] : names
    : defaultNames(n);

  // read in initial rows to guess types
  let idx = 0;
  for (; idx < automax && row; ++idx, row = next()) {
    for (let i = 0; i < n; ++i) {
      values[i].push(row[i] === '' ? null : row[i]);
    }
  }

  // initialize parsers
  const parsers = getParsers(names, values, options);

  // apply parsers
  parsers.forEach((parse, i) => {
    if (parse === identity) return;
    const v = values[i];
    for (let r = 0; r < idx; ++r) {
      if (v[r] != null) v[r] = parse(v[r]);
    }
  });

  // parse remainder of file
  for (; row; row = next()) {
    for (let i = 0; i < n; ++i) {
      values[i].push(row[i] ? parsers[i](row[i]) : null);
    }
  }

  const columns = {};
  names.forEach((name, i) => columns[name] = values[i]);
  return new ColumnTable(columns, names);
}

function getParsers(names, values, options) {
  const { parse = {} } = options;
  const noParse = options.autoType === false;

  return names.map(
    (name, i) => isFunction(parse[name]) ? parse[name]
      : noParse ? identity
      : valueParser(values[i], options)
  );
}
;// ../node_modules/arquero/src/format/parse/constants.js
const constants_EOL = {};
const constants_EOF = {};
const constants_QUOTE = 34;
const constants_NEWLINE = 10;
const constants_RETURN = 13;
;// ../node_modules/arquero/src/format/parse/parse-delimited.js




// Adapted from d3-dsv: https://github.com/d3/d3-dsv/blob/master/src/dsv.js
// Copyright 2013-2016 Mike Bostock
// All rights reserved.
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
// * Redistributions of source code must retain the above copyright notice, this
//   list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above copyright notice,
//   this list of conditions and the following disclaimer in the documentation
//   and/or other materials provided with the distribution.
// * Neither the name of the author nor the names of contributors may be used to
//   endorse or promote products derived from this software without specific prior
//   written permission.
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

/* harmony default export */ function parse_delimited(text, { delimiter = ',', skip, comment }) {
  if (delimiter.length !== 1) {
    error(`Text "delimiter" should be a single character, found "${delimiter}"`);
  }
  const delimCode = delimiter.charCodeAt(0);

  let N = text.length;
  let I = 0; // current character index
  let t; // current token
  let eof = N <= 0; // current token followed by EOF?
  let eol = false; // current token followed by EOL?

  // Strip the trailing newline.
  if (text.charCodeAt(N - 1) === NEWLINE) --N;
  if (text.charCodeAt(N - 1) === RETURN) --N;

  function token() {
    if (eof) return EOF;
    if (eol) return eol = false, EOL;

    // Unescape quotes.
    const j = I;
    let i, c;
    if (text.charCodeAt(j) === QUOTE) {
      while (I++ < N && text.charCodeAt(I) !== QUOTE || text.charCodeAt(++I) === QUOTE);
      if ((i = I) >= N) eof = true;
      else if ((c = text.charCodeAt(I++)) === NEWLINE) eol = true;
      else if (c === RETURN) { eol = true; if (text.charCodeAt(I) === NEWLINE) ++I; }
      return text.slice(j + 1, i - 1).replace(/""/g, '"');
    }

    // Find next delimiter or newline.
    while (I < N) {
      if ((c = text.charCodeAt(i = I++)) === NEWLINE) eol = true;
      else if (c === RETURN) { eol = true; if (text.charCodeAt(I) === NEWLINE) ++I; }
      else if (c !== delimCode) continue;
      return text.slice(j, i);
    }

    // Return last token before EOF.
    return eof = true, text.slice(j, N);
  }

  function next() {
    if ((t = token()) !== EOF) {
      const row = [];
      while (t !== EOL && t !== EOF) row.push(t), t = token();
      return row;
    }
  }

  return filter(
    next, skip,
    comment && (x => (x && x[0] || '').startsWith(comment))
  );
}
;// ../node_modules/arquero/src/format/from-csv.js
 // eslint-disable-line no-unused-vars




/**
 * Options for CSV parsing.
 * @typedef {object} CSVParseOptions
 * @property {string} [delimiter=','] Single-character delimiter between values.
 * @property {string} [decimal='.'] Single-character numeric decimal separator.
 * @property {boolean} [header=true] Flag to specify presence of header row.
 *  If true, assumes the CSV contains a header row with column names. If false,
 *  indicates the CSV does not contain a header row; columns are given the
 *  names 'col1', 'col2', etc unless the *names* option is specified.
 * @property {string[]} [names] An array of column names to use for header-less
 *  CSV files. This option is ignored if the header option is true.
 * @property {number} [skip=0] The number of lines to skip before reading data.
 * @property {string} [comment] A string used to identify comment lines. Any
 *  lines that start with the comment pattern are skipped.
 * @property {boolean} [autoType=true] Flag for automatic type inference.
 * @property {number} [autoMax=1000] Maximum number of initial values to use
 *  for type inference.
 * @property {Object.<string, (value: string) => any>} [parse] Object of
 *  column parsing options. The object keys should be column names. The object
 *  values should be parsing functions that transform values upon input.
 */

/**
 * Parse a comma-separated values (CSV) string into a table. Other
 * delimiters, such as tabs or pipes ('|'), can be specified using
 * the options argument. By default, automatic type inference is performed
 * for input values; string values that match the ISO standard
 * date format are parsed into JavaScript Date objects. To disable this
 * behavior, set the autoType option to false. To perform custom parsing
 * of input column values, use the parse option.
 * @param {string} text A string in a delimited-value format.
 * @param {CSVParseOptions} options The formatting options.
 * @return {ColumnTable} A new table containing the parsed values.
 */
/* harmony default export */ function from_csv(text, options = {}) {
  const next = parseDelimited(text, options);
  return fromTextRows(
    next,
    options.header !== false ? next() : options.names,
    options
  );
}
;// ../node_modules/arquero/src/format/parse/parse-lines.js



/* harmony default export */ function parse_lines(text, { skip, comment }) {
  let N = text.length;
  let I = 0; // current character index

  // Strip the trailing newline.
  if (text.charCodeAt(N - 1) === NEWLINE) --N;
  if (text.charCodeAt(N - 1) === RETURN) --N;

  function read() {
    if (I >= N) return;

    const j = I;
    let eol = false;
    let i, c;

    // Find next newline.
    while (I < N) {
      if ((c = text.charCodeAt(i = I++)) === NEWLINE) eol = true;
      else if (c === RETURN) { eol = true; if (text.charCodeAt(I) === NEWLINE) ++I; }
      if (eol) return text.slice(j, i);
    }

    // Return last line before EOF.
    return text.slice(j, N);
  }

  return filter(
    read, skip,
    comment && (x => (x || '').startsWith(comment))
  );
}
;// ../node_modules/arquero/src/format/from-fixed.js
 // eslint-disable-line no-unused-vars





/**
 * Options for fixed width file parsing.
 * @typedef {object} FixedParseOptions
 * @property {[number, number][]} [positions] Array of start, end indices for
 *  fixed-width columns.
 * @property {number[]} [widths] Array of fixed column widths. This option is
 *  ignored if the positions property is specified.
 * @property {string[]} [names] An array of column names. The array length
 *  should match the length of the positions array. If not specified or
 *  shorter than the positions array, default column names are generated.
 * @property {string} [decimal='.'] Single-character numeric decimal separator.
 * @property {number} [skip=0] The number of lines to skip before reading data.
 * @property {string} [comment] A string used to identify comment lines. Any
 *  lines that start with the comment pattern are skipped.
 * @property {boolean} [autoType=true] Flag for automatic type inference.
 * @property {number} [autoMax=1000] Maximum number of initial values to use
 *  for type inference.
 * @property {Object.<string, (value: string) => any>} [parse] Object of
 *  column parsing options. The object keys should be column names. The object
 *  values should be parsing functions that transform values upon input.
 */

/**
 * Parse a fixed-width file (FWF) string into a table. By default, automatic
 * type inference is performed for input values; string values that match the
 * ISO standard date format are parsed into JavaScript Date objects. To
 * disable this behavior, set the autoType option to false. To perform custom
 * parsing of input column values, use the parse option.
 * @param {string} text A string in a fixed-width file format.
 * @param {FixedParseOptions} options The formatting options.
 * @return {ColumnTable} A new table containing the parsed values.
 */
/* harmony default export */ function from_fixed(text, options = {}) {
  const read = parseLines(text, options);
  const p = positions(options);
  return fromTextRows(
    () => {
      const line = read();
      if (line) {
        return p.map(([i, j]) => line.slice(i, j).trim());
      }
    },
    options.names,
    options
  );
}

function positions({ positions, widths }) {
  if (!positions && !widths) {
    error('Fixed width files require a "positions" or "widths" option');
  }
  let i = 0;
  return positions || widths.map(w => [i, i += w]);
}
;// ../node_modules/arquero/src/format/from-json.js








/**
 * Options for JSON parsing.
 * @typedef {object} JSONParseOptions
 * @property {boolean} [autoType=true] Flag controlling automatic type
 *  inference. If false, date parsing for input JSON strings is disabled.
 * @property {Object.<string, (value: any) => any>} [parse] Object of column
 *  parsing options. The object keys should be column names. The object values
 *  should be parsing functions that transform values upon input.
 */

/**
 * Parse JavaScript Object Notation (JSON) data into a table.
 * The expected JSON data format is an object with column names for keys
 * and column value arrays for values. By default string values that match
 * the ISO standard date format are parsed into JavaScript Date objects.
 * To disable this behavior, set the autoType option to false. To perform
 * custom parsing of input column values, use the parse option. Auto-type
 * parsing is not performed for columns with custom parse options.
 * The data payload can also be provided as the "data" property of an
 * enclosing object, with an optional "schema" property containing table
 * metadata such as a "fields" array of ordered column information.
 * @param {string|object} data A string in JSON format, or pre-parsed object.
 * @param {JSONParseOptions} options The formatting options.
 * @return {ColumnTable} A new table containing the parsed values.
 */
/* harmony default export */ function from_json(json, options = {}) {
  const autoType = defaultTrue(options.autoType);

  // parse string input
  if (isString(json)) {
    json = JSON.parse(json);
  }

  // separate schema and data, as needed
  let data = json.data, names;
  if (isObject(data) && !isArrayType(data)) {
    if (json.schema && json.schema.fields) {
      names = json.schema.fields.map(f => f.name);
    }
  } else {
    data = json;
  }

  // parse values as necessary
  if (autoType || options.parse) {
    const parsers = options.parse || {};
    for (const name in data) {
      const col = data[name];
      const len = col.length;
      if (parsers[name]) {
        // apply custom parser
        for (let i = 0; i < len; ++i) {
          col[i] = parsers[name](col[i]);
        }
      } else if (autoType) {
        // apply autoType parser
        for (let i = 0; i < len; ++i) {
          const val = col[i];
          if (isString(val) && isISODateString(val) && !isDigitString(val)) {
            col[i] = new Date(val);
          }
        }
      }
    }
  }

  return new ColumnTable(data, names);
}
;// ../node_modules/arquero/src/verbs/dedupe.js
/* harmony default export */ function dedupe(table, keys = []) {
  return table
    .groupby(keys.length ? keys : table.columnNames())
    .filter('row_number() === 1')
    .ungroup()
    .reify();
}
;// ../node_modules/arquero/src/engine/select.js




/* harmony default export */ function engine_select(table, columns) {
  const cols = column_set();

  columns.forEach((value, curr) => {
    const next = is_string(value) ? value : curr;
    if (next) {
      const col = table.column(curr) || util_error(`Unrecognized column: ${curr}`);
      cols.add(next, col);
    }
  });

  return table.create(cols);
}
;// ../node_modules/arquero/src/verbs/relocate.js




/* harmony default export */ function relocate(table, columns, { before, after } = {}) {
  const bef = before != null;
  const aft = after != null;

  if (!(bef || aft)) {
    util_error('relocate requires a before or after option.');
  }
  if (bef && aft) {
    util_error('relocate accepts only one of the before or after options.');
  }

  columns = resolve(table, columns);
  const anchors = [...resolve(table, bef ? before : after).keys()];
  const anchor = bef ? anchors[0] : anchors.pop();
  const select = new Map();

  // marshal inputs to select in desired order
  table.columnNames().forEach(name => {
    // check if we should assign the current column
    const assign = !columns.has(name);

    // at anchor column, insert relocated columns
    if (name === anchor) {
      if (aft && assign) select.set(name, name);
      for (const [key, value] of columns) {
        select.set(key, value);
      }
      if (aft) return; // exit if current column has been handled
    }

    if (assign) select.set(name, name);
  });

  return engine_select(table, select);
}
;// ../node_modules/arquero/src/util/concat.js
/* harmony default export */ function concat(list, fn = (x => x), delim = '') {
  const n = list.length;
  if (!n) return '';

  let s = fn(list[0], 0);
  for (let i = 1; i < n; ++i) {
    s += delim + fn(list[i], i);
  }

  return s;
}
;// ../node_modules/arquero/src/util/ascending.js
/* harmony default export */ function ascending(a, b) {
  return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;
}
;// ../node_modules/arquero/src/util/min.js


/* harmony default export */ function min(values, start = 0, stop = values.length) {
  let min = stop ? values[start++] : util_null;

  for (let i = start; i < stop; ++i) {
    if (min > values[i]) {
      min = values[i];
    }
  }

  return min;
}
;// ../node_modules/arquero/src/util/max.js


/* harmony default export */ function max(values, start = 0, stop = values.length) {
  let max = stop ? values[start++] : util_null;

  for (let i = start; i < stop; ++i) {
    if (max < values[i]) {
      max = values[i];
    }
  }

  return max;
}
;// ../node_modules/arquero/src/util/to-numeric.js


/* harmony default export */ function to_numeric(value) {
  return is_bigint(value) ? value : +value;
}
;// ../node_modules/arquero/src/util/quantile.js




function quantile(values, p) {
  const n = values.length;

  if (!n) return util_null;
  if ((p = +p) <= 0 || n < 2) return to_numeric(values[0]);
  if (p >= 1) return to_numeric(values[n - 1]);

  const i = (n - 1) * p;
  const i0 = Math.floor(i);
  const v0 = to_numeric(values[i0]);
  return is_bigint(v0)
    ? v0
    : v0 + (to_numeric(values[i0 + 1]) - v0) * (i - i0);
}
;// ../node_modules/arquero/src/util/value-list.js





class ValueList {
  constructor(values) {
    this._values = values || [];
    this._sorted = null;
    this._start = 0;
  }

  values(copy) {
    if (this._start) {
      this._values = this._values.slice(this._start);
      this._start = 0;
    }
    return copy
      ? this._values.slice()
      : this._values;
  }

  add(value) {
    this._values.push(value);
    this._sorted = null;
  }

  rem() {
    this._start += 1;
    this._sorted = null;
  }

  min() {
    return this._sorted && this._sorted.length
      ? this._sorted[0]
      : min(this._values, this._start);
  }

  max() {
    return this._sorted && this._sorted.length
      ? this._sorted[this._sorted.length - 1]
      : max(this._values, this._start);
  }

  quantile(p) {
    if (!this._sorted) {
      this._sorted = this.values(true);
      this._sorted.sort(ascending);
    }
    return quantile(this._sorted, p);
  }
}
;// ../node_modules/arquero/src/engine/reduce/field-reducer.js








const field_reducer_update = (ops, args, fn) => unroll(
  args,
  '{' + concat(ops, (_, i) => `_${i}.${fn}(${args});`) + '}',
  ops
);

/* harmony default export */ function field_reducer(oplist, stream) {
  const { ops, output } = expand(oplist, stream);
  const fields = oplist[0].fields;
  const n = fields.length;
  const cls = n === 0 ? FieldReducer
    : n === 1 ? Field1Reducer
    : n === 2 ? Field2Reducer
    : util_error('Unsupported field count: ' + n);
  return new cls(fields, ops, output, stream);
}

function expand(oplist, stream) {
  const has = {};
  const ops = [];

  function add(name, params = []) {
    // check key
    const key = name + ':' + params;
    if (has[key]) return has[key];

    // get op instance
    const def = getAggregate(name);
    const op = def.create(...params);

    // add required dependencies
    if (stream < 0 && def.stream) {
      def.stream.forEach(name => add(name, []));
    }
    if (def.req) {
      def.req.forEach(name => add(name, []));
    }

    // update state
    has[key] = op;
    ops.push(op);

    return op;
  }

  const output = oplist.map(item => {
    const op = add(item.name, item.params);
    op.output = item.id;
    return op;
  });

  return { ops, output };
}

class FieldReducer extends Reducer {
  constructor(fields, ops, outputs, stream) {
    super(outputs);
    this._op = ops;
    this._fields = fields;
    this._stream = !!stream;
  }

  init() {
    const state = { count: 0, valid: 0, stream: this._stream };
    this._op.forEach(op => op.init(state));

    // value list requested
    if (state.values) {
      state.list = new ValueList();
    }

    return state;
  }

  write(state, values, index) {
    const op = this._outputs;
    const n = op.length;
    for (let i = 0; i < n; ++i) {
      values[op[i].output][index] = op[i].value(state);
    }
    return 1;
  }

  _add() {
  }

  _rem() {
  }

  add(state) {
    ++state.count;
  }

  rem(state) {
    --state.count;
  }
}

class Field1Reducer extends FieldReducer {
  constructor(fields, ops, outputs, stream) {
    super(fields, ops, outputs, stream);

    // unroll op invocations for performance
    const args = ['state', 'v1', 'v2'];
    this._add = field_reducer_update(ops, args, 'add');
    this._rem = field_reducer_update(ops, args, 'rem');
  }

  add(state, row, data) {
    const value = this._fields[0](row, data);
    ++state.count;
    if (is_valid(value)) {
      ++state.valid;
      if (state.list) state.list.add(value);
      this._add(state, value);
    }
  }

  rem(state, row, data) {
    const value = this._fields[0](row, data);
    --state.count;
    if (is_valid(value)) {
      --state.valid;
      if (state.list) state.list.rem();
      this._rem(state, value);
    }
  }
}

class Field2Reducer extends FieldReducer {
  constructor(fields, ops, outputs, stream) {
    super(fields, ops, outputs, stream);

    // unroll op invocations for performance
    const args = ['state', 'v1', 'v2'];
    this._add = field_reducer_update(ops, args, 'add');
    this._rem = field_reducer_update(ops, args, 'rem');
  }

  add(state, row, data) {
    const value1 = this._fields[0](row, data);
    const value2 = this._fields[1](row, data);
    ++state.count;
    if (is_valid(value1) && is_valid(value2)) {
      ++state.valid;
      if (state.list) state.list.add([value1, value2]);
      this._add(state, value1, value2);
    }
  }

  rem(state, row, data) {
    const value1 = this._fields[0](row, data);
    const value2 = this._fields[1](row, data);
    --state.count;
    if (is_valid(value1) && is_valid(value2)) {
      --state.valid;
      if (state.list) state.list.rem();
      this._rem(state, value1, value2);
    }
  }
}
;// ../node_modules/arquero/src/engine/reduce/util.js



function aggregateGet(table, ops, get) {
  if (ops.length) {
    const data = table.data();
    const { keys } = table.groups() || {};
    const result = aggregate(table, ops);
    const op = keys
      ? (name, row) => result[name][keys[row]]
      : name => result[name][0];
    get = get.map(f => row => f(row, data, op));
  }

  return get;
}

function aggregate(table, ops, result) {
  if (!ops.length) return result; // early exit

  // instantiate aggregators and result store
  const aggrs = reducers(ops);
  const groups = table.groups();
  const size = groups ? groups.size : 1;
  result = result || util_repeat(ops.length, () => Array(size));

  // compute aggregates, extract results
  if (size > 1) {
    aggrs.forEach(aggr => {
      const cells = reduceGroups(table, aggr, groups);
      for (let i = 0; i < size; ++i) {
        aggr.write(cells[i], result, i);
      }
    });
  } else {
    aggrs.forEach(aggr => {
      const cell = reduceFlat(table, aggr);
      aggr.write(cell, result, 0);
    });
  }

  return result;
}

function reducers(ops, stream) {
  const aggrs = [];
  const fields = {};

  // group operators by field inputs
  for (const op of ops) {
    const key = op.fields.map(f => f + '').join(',');
    (fields[key] || (fields[key] = [])).push(op);
  }

  // generate a field reducer for each field
  for (const key in fields) {
    aggrs.push(field_reducer(fields[key], stream));
  }

  return aggrs;
}

function reduceFlat(table, reducer) {
  // initialize aggregation cell
  const cell = reducer.init();

  // compute aggregate values
  // inline the following for performance:
  // table.scan((row, data) => reducer.add(cell, row, data));
  const n = table.totalRows();
  const data = table.data();
  const bits = table.mask();

  if (table.isOrdered()) {
    const idx = table.indices();
    for (let i = 0; i < n; ++i) {
      reducer.add(cell, idx[i], data);
    }
  } else if (bits) {
    for (let i = bits.next(0); i >= 0; i = bits.next(i + 1)) {
      reducer.add(cell, i, data);
    }
  } else {
    for (let i = 0; i < n; ++i) {
      reducer.add(cell, i, data);
    }
  }

  return cell;
}

function reduceGroups(table, reducer, groups) {
  const { keys, size } = groups;

  // initialize aggregation cells
  const cells = util_repeat(size, () => reducer.init());

  // compute aggregate values
  // inline the following for performance:
  // table.scan((row, data) => reducer.add(cells[keys[row]], row, data));
  const data = table.data();

  if (table.isOrdered()) {
    const idx = table.indices();
    const m = idx.length;
    for (let i = 0; i < m; ++i) {
      const row = idx[i];
      reducer.add(cells[keys[row]], row, data);
    }
  } else if (table.isFiltered()) {
    const bits = table.mask();
    for (let i = bits.next(0); i >= 0; i = bits.next(i + 1)) {
      reducer.add(cells[keys[i]], i, data);
    }
  } else {
    const n = table.totalRows();
    for (let i = 0; i < n; ++i) {
      reducer.add(cells[keys[i]], i, data);
    }
  }

  return cells;
}

function groupOutput(cols, groups) {
  const { get, names, rows, size } = groups;

  // write group values to output columns
  const m = names.length;
  for (let j = 0; j < m; ++j) {
    const col = cols.add(names[j], Array(size));
    const val = get[j];
    for (let i = 0; i < size; ++i) {
      col[i] = val(rows[i]);
    }
  }
}
;// ../node_modules/arquero/src/util/bisector.js
/* harmony default export */ function bisector(compare) {
  return {
    left(a, x, lo, hi) {
      if (lo == null) lo = 0;
      if (hi == null) hi = a.length;
      while (lo < hi) {
        const mid = lo + hi >>> 1;
        if (compare(a[mid], x) < 0) lo = mid + 1;
        else hi = mid;
      }
      return lo;
    },
    right(a, x, lo, hi) {
      if (lo == null) lo = 0;
      if (hi == null) hi = a.length;
      while (lo < hi) {
        const mid = lo + hi >>> 1;
        if (compare(a[mid], x) > 0) hi = mid;
        else lo = mid + 1;
      }
      return lo;
    }
  };
}

;// ../node_modules/arquero/src/engine/window/window-state.js





const bisect = bisector(ascending);

/* harmony default export */ function window_state(data, frame, adjust, ops, aggrs) {
  let rows, peer, cells, result, key;
  const isPeer = index => peer[index - 1] === peer[index];
  const numOps = ops.length;
  const numAgg = aggrs.length;

  const evaluate = ops.length
    ? unroll(
        ['w', 'r', 'k'],
        '{' + concat(ops, (_, i) => `r[_${i}.id][k]=_${i}.value(w,_${i}.get);`) + '}',
        ops
      )
    : () => {};

  const w = {
    i0: 0,
    i1: 0,
    index: 0,
    size: 0,
    peer: isPeer,

    init(partition, peers, results, group) {
      w.index = w.i0 = w.i1 = 0;
      w.size = peers.length;
      rows = partition;
      peer = peers;
      result = results;
      key = group;

      // initialize aggregates
      cells = aggrs ? aggrs.map(aggr => aggr.init()) : null;

      // initialize window ops
      for (let i = 0; i < numOps; ++i) {
        ops[i].init();
      }

      return w;
    },

    value(index, get) {
      return get(rows[index], data);
    },

    step(idx) {
      const [f0, f1] = frame;
      const n = w.size;
      const p0 = w.i0;
      const p1 = w.i1;

      w.i0 = f0 != null ? Math.max(0, idx - Math.abs(f0)) : 0;
      w.i1 = f1 != null ? Math.min(n, idx + Math.abs(f1) + 1) : n;
      w.index = idx;

      if (adjust) {
        if (w.i0 > 0 && isPeer(w.i0)) {
          w.i0 = bisect.left(peer, peer[w.i0]);
        }
        if (w.i1 < n && isPeer(w.i1)) {
          w.i1 = bisect.right(peer, peer[w.i1 - 1]);
        }
      }

      // evaluate aggregates
      for (let i = 0; i < numAgg; ++i) {
        const aggr = aggrs[i];
        const cell = cells[i];
        for (let j = p0; j < w.i0; ++j) {
          aggr.rem(cell, rows[j], data);
        }
        for (let j = p1; j < w.i1; ++j) {
          aggr.add(cell, rows[j], data);
        }
        aggr.write(cell, result, key);
      }

      // evaluate window ops
      evaluate(w, result, key);

      return result;
    }
  };

  return w;
}
;// ../node_modules/arquero/src/engine/window/window.js






const frameValue = op =>
  (op.frame || [null, null]).map(v => Number.isFinite(v) ? Math.abs(v) : null);

const peersValue = op => !!op.peers;

function windowOp(spec) {
  const { id, name, fields = [], params = [] } = spec;
  const op = getWindow(name).create(...params);
  if (fields.length) op.get = fields[0];
  op.id = id;
  return op;
}

function window_window(table, cols, exprs, result = {}, ops) {
  // instantiate window states
  const data = table.data();
  const states = windowStates(ops, data);
  const nstate = states.length;

  const write = unroll(
    ['r', 'd', 'op'],
    '{' + concat(cols, (_, i) => `_${i}[r] = $${i}(r, d, op);`) + '}',
    cols, exprs
  );

  // scan each ordered partition
  table.partitions().forEach((rows, key) => {
    const size = rows.length;
    const peers = windowPeers(table, rows);

    // initialize window states
    for (let i = 0; i < nstate; ++i) {
      states[i].init(rows, peers, result, key);
    }

    // calculate window values per-row
    const op = id => result[id][key];
    for (let index = 0; index < size; ++index) {
      // advance window frame, updates result object
      for (let i = 0; i < nstate; ++i) {
        states[i].step(index);
      }
      write(rows[index], data, op);
    }
  });
}

function windowStates(ops, data) {
  const map = {};

  // group operations by window frame parameters
  ops.forEach(op => {
    const frame = frameValue(op);
    const peers = peersValue(op);
    const key = `${frame},${peers}`;
    const { aggOps, winOps } = map[key] || (map[key] = {
      frame,
      peers,
      aggOps: [],
      winOps: []
    });
    hasAggregate(op.name)
      ? aggOps.push(op)
      : winOps.push(windowOp(op));
  });

  return Object.values(map).map(_ => window_state(
    data, _.frame, _.peers, _.winOps,
    reducers(_.aggOps, _.frame[0] != null ? -1 : 1)
  ));
}

function windowPeers(table, rows) {
  if (table.isOrdered()) {
    // generate peer ids for sort equality checking
    const compare = table.comparator();
    const data = table.data();
    const nrows = rows.length;
    const peers = new Uint32Array(nrows);
    for (let i = 1, index = 0; i < nrows; ++i) {
      peers[i] = compare(rows[i - 1], rows[i], data) ? ++index : index;
    }
    return peers;
  } else {
    // no sort, no peers: reuse row indices as peer ids
    return rows;
  }
}
;// ../node_modules/arquero/src/engine/derive.js






function isWindowed(op) {
  return hasWindow(op.name) ||
    op.frame && (
      Number.isFinite(op.frame[0]) ||
      Number.isFinite(op.frame[1])
    );
}

/* harmony default export */ function derive(table, { names, exprs, ops }, options = {}) {
  // instantiate output data
  const total = table.totalRows();
  const cols = column_set(options.drop ? null : table);
  const data = names.map(name => cols.add(name, Array(total)));

  // analyze operations, compute non-windowed aggregates
  const [ aggOps, winOps ] = segmentOps(ops);

  const size = table.isGrouped() ? table.groups().size : 1;
  const result = aggregate(
    table, aggOps,
    util_repeat(ops.length, () => Array(size))
  );

  // perform table scans to generate output values
  winOps.length
    ? window_window(table, data, exprs, result, winOps)
    : output(table, data, exprs, result);

  return table.create(cols);
}

function segmentOps(ops) {
  const aggOps = [];
  const winOps = [];
  const n = ops.length;

  for (let i = 0; i < n; ++i) {
    const op = ops[i];
    op.id = i;
    (isWindowed(op) ? winOps : aggOps).push(op);
  }

  return [aggOps, winOps];
}

function output(table, cols, exprs, result) {
  const bits = table.mask();
  const data = table.data();
  const { keys } = table.groups() || {};
  const op = keys
    ? (id, row) => result[id][keys[row]]
    : id => result[id][0];

  const m = cols.length;
  for (let j = 0; j < m; ++j) {
    const get = exprs[j];
    const col = cols[j];

    // inline the following for performance:
    // table.scan((i, data) => col[i] = get(i, data, op));
    if (bits) {
      for (let i = bits.next(0); i >= 0; i = bits.next(i + 1)) {
        col[i] = get(i, data, op);
      }
    } else {
      const n = table.totalRows();
      for (let i = 0; i < n; ++i) {
        col[i] = get(i, data, op);
      }
    }
  }
}
;// ../node_modules/arquero/src/verbs/derive.js




/* harmony default export */ function verbs_derive(table, values, options = {}) {
  const dt = derive(table, expression_parse(values, { table }), options);

  return options.drop || (options.before == null && options.after == null)
    ? dt
    : relocate(dt,
        Object.keys(values).filter(name => !table.column(name)),
        options
      );
}
;// ../node_modules/arquero/src/verbs/except.js
/* harmony default export */ function except(table, others) {
  if (others.length === 0) return table;
  const names = table.columnNames();
  return others.reduce((a, b) => a.antijoin(b.select(names)), table).dedupe();
}
;// ../node_modules/arquero/src/engine/filter.js


/* harmony default export */ function engine_filter(table, predicate) {
  const n = table.totalRows();
  const bits = table.mask();
  const data = table.data();
  const filter = new BitSet(n);

  // inline the following for performance:
  // table.scan((row, data) => { if (predicate(row, data)) filter.set(row); });
  if (bits) {
    for (let i = bits.next(0); i >= 0; i = bits.next(i + 1)) {
      if (predicate(i, data)) filter.set(i);
    }
  } else {
    for (let i = 0; i < n; ++i) {
      if (predicate(i, data)) filter.set(i);
    }
  }

  return table.create({ filter });
}
;// ../node_modules/arquero/src/verbs/filter.js




/* harmony default export */ function verbs_filter(table, criteria) {
  const test = expression_parse({ p: criteria }, { table });
  let predicate = test.exprs[0];
  if (test.ops.length) {
    const { data } = derive(table, test, { drop: true }).column('p');
    predicate = row => data[row];
  }
  return engine_filter(table, predicate);
}
;// ../node_modules/arquero/src/engine/unroll.js




/* harmony default export */ function engine_unroll(table, { names = [], exprs = [], ops = [] }, options = {}) {
  if (!names.length) return table;

  const limit = options.limit > 0 ? +options.limit : Infinity;
  const index = options.index
    ? options.index === true ? 'index' : options.index + ''
    : null;
  const drop = new Set(options.drop);
  const get = aggregateGet(table, ops, exprs);

  // initialize output columns
  const cols = column_set();
  const nset = new Set(names);
  const priors = [];
  const copies = [];
  const unroll = [];

  // original and copied columns
  table.columnNames().forEach(name => {
    if (!drop.has(name)) {
      const col = cols.add(name, []);
      if (!nset.has(name)) {
        priors.push(table.column(name));
        copies.push(col);
      }
    }
  });

  // unrolled output columns
  names.forEach(name => {
    if (!drop.has(name)) {
      if (!cols.has(name)) cols.add(name, []);
      unroll.push(cols.data[name]);
    }
  });

  // index column, if requested
  const icol = index ? cols.add(index, []) : null;

  let start = 0;
  const m = priors.length;
  const n = unroll.length;

  const copy = (row, maxlen) => {
    for (let i = 0; i < m; ++i) {
      copies[i].length = start + maxlen;
      copies[i].fill(priors[i].get(row), start, start + maxlen);
    }
  };

  const indices = icol
    ? (row, maxlen) => {
        for (let i = 0; i < maxlen; ++i) {
          icol[row + i] = i;
        }
      }
    : () => {};

  if (n === 1) {
    // optimize common case of one array-valued column
    const fn = get[0];
    const col = unroll[0];

    table.scan((row, data) => {
      // extract array data
      const array = to_array(fn(row, data));
      const maxlen = Math.min(array.length, limit);

      // copy original table data
      copy(row, maxlen);

      // copy unrolled array data
      for (let j = 0; j < maxlen; ++j) {
        col[start + j] = array[j];
      }

      // fill in array indices
      indices(start, maxlen);

      start += maxlen;
    });
  } else {
    table.scan((row, data) => {
      let maxlen = 0;

      // extract parallel array data
      const arrays = get.map(fn => {
        const value = to_array(fn(row, data));
        maxlen = Math.min(Math.max(maxlen, value.length), limit);
        return value;
      });

      // copy original table data
      copy(row, maxlen);

      // copy unrolled array data
      for (let i = 0; i < n; ++i) {
        const col = unroll[i];
        const arr = arrays[i];
        for (let j = 0; j < maxlen; ++j) {
          col[start + j] = arr[j];
        }
      }

      // fill in array indices
      indices(start, maxlen);

      start += maxlen;
    });
  }

  return table.create(cols.new());
}
;// ../node_modules/arquero/src/engine/fold.js



/* harmony default export */ function fold(table, { names = [], exprs = [], ops = [] }, options = {}) {
  if (names.length === 0) return table;

  const [k = 'key', v = 'value'] = options.as || [];
  const vals = aggregateGet(table, ops, exprs);

  return engine_unroll(
    table,
    {
      names: [k, v],
      exprs: [() => names, (row, data) => vals.map(fn => fn(row, data))]
    },
    { ...options, drop: names }
  );
}
;// ../node_modules/arquero/src/verbs/util/parse.js











/* harmony default export */ function util_parse(name, table, params, options = { window: false }) {
  const exprs = new Map();

  const marshal = param => {
    param = is_number(param) ? table.columnName(param) : param;
    is_string(param) ? exprs.set(param, field(param))
      : util_is_function(param) ? resolve(table, param).forEach(marshal)
      : is_object(param) ? util_assign(exprs, param)
      : util_error(`Invalid ${name} value: ${param+''}`);
  };

  to_array(params).forEach(marshal);

  if (options.preparse) {
    options.preparse(exprs);
  }

  return expression_parse(exprs, { table, ...options });
}
;// ../node_modules/arquero/src/verbs/fold.js



/* harmony default export */ function verbs_fold(table, values, options) {
  return fold(table, util_parse('fold', table, values), options);
}
;// ../node_modules/arquero/src/engine/impute.js






/* harmony default export */ function impute(table, values, keys, arrays) {
  const write = keys && keys.length;
  return impute_impute(
    write ? impute_expand(table, keys, arrays) : table,
    values,
    write
  );
}

function impute_impute(table, { names, exprs, ops }, write) {
  const gets = aggregateGet(table, ops, exprs);
  const cols = write ? null : column_set(table);
  const rows = table.totalRows();

  names.forEach((name, i) => {
    const col = table.column(name);
    const out = write ? col.data : cols.add(name, Array(rows));
    const get = gets[i];

    table.scan(idx => {
      const v = col.get(idx);
      out[idx] = !is_valid(v) ? get(idx) : v;
    });
  });

  return write ? table : table.create(cols);
}

function impute_expand(table, keys, values) {
  const groups = table.groups();
  const data = table.data();

  // expansion keys and accessors
  const keyNames = (groups ? groups.names : []).concat(keys);
  const keyGet = (groups ? groups.get : [])
    .concat(keys.map(key => table.getter(key)));

  // build hash of existing rows
  const hash = new Set();
  const keyTable = key_function(keyGet);
  table.scan((idx, data) => hash.add(keyTable(idx, data)));

  // initialize output table data
  const names = table.columnNames();
  const cols = column_set();
  const out = names.map(name => cols.add(name, []));
  names.forEach((name, i) => {
    const old = data[name];
    const col = out[i];
    table.scan(row => col.push(old.get(row)));
  });

  // enumerate expanded value sets and augment output table
  const keyEnum = key_function(keyGet.map((k, i) => a => a[i]));
  const set = unroll(
    'v',
    '{' + out.map((_, i) => `_${i}.push(v[$${i}]);`).join('') + '}',
    out, names.map(name => keyNames.indexOf(name))
  );

  if (groups) {
    let row = groups.keys.length;
    const prod = values.reduce((p, a) => p * a.length, groups.size);
    const keys = new Uint32Array(prod + (row - hash.size));
    keys.set(groups.keys);
    enumerate(groups, values, (vec, idx) => {
      if (!hash.has(keyEnum(vec))) {
        set(vec);
        keys[row++] = idx[0];
      }
    });
    cols.groupby({ ...groups, keys });
  } else {
    enumerate(groups, values, vec => {
      if (!hash.has(keyEnum(vec))) set(vec);
    });
  }

  return table.create(cols.new());
}

function enumerate(groups, values, callback) {
  const offset = groups ? groups.get.length : 0;
  const pad = groups ? 1 : 0;
  const len = pad + values.length;
  const lens = new Int32Array(len);
  const idxs = new Int32Array(len);
  const set = [];

  if (groups) {
    const { get, rows, size } = groups;
    lens[0] = size;
    set.push((vec, idx) => {
      const row = rows[idx];
      for (let i = 0; i < offset; ++i) {
        vec[i] = get[i](row);
      }
    });
  }

  values.forEach((a, i) => {
    const j = i + offset;
    lens[i + pad] = a.length;
    set.push((vec, idx) => vec[j] = a[idx]);
  });

  const vec = Array(offset + values.length);

  // initialize value vector
  for (let i = 0; i < len; ++i) {
    set[i](vec, 0);
  }
  callback(vec, idxs);

  // enumerate all combinations of values
  for (let i = len - 1; i >= 0;) {
    const idx = ++idxs[i];
    if (idx < lens[i]) {
      set[i](vec, idx);
      callback(vec, idxs);
      i = len - 1;
    } else {
      idxs[i] = 0;
      set[i](vec, 0);
      --i;
    }
  }
}
;// ../node_modules/arquero/src/engine/rollup.js



/* harmony default export */ function rollup(table, { names, exprs, ops }) {
  // output data
  const cols = column_set();
  const groups = table.groups();

  // write groupby fields to output
  if (groups) groupOutput(cols, groups);

  // compute and write aggregate output
  rollup_output(names, exprs, groups, aggregate(table, ops), cols);

  // return output table
  return table.create(cols.new());
}

function rollup_output(names, exprs, groups, result = [], cols) {
  if (!exprs.length) return;
  const size = groups ? groups.size : 1;
  const op = (id, row) => result[id][row];
  const n = names.length;

  for (let i = 0; i < n; ++i) {
    const get = exprs[i];
    if (get.field != null) {
      // if expression is op only, use aggregates directly
      cols.add(names[i], result[get.field]);
    } else if (size > 1) {
      // if multiple groups, evaluate expression for each
      const col = cols.add(names[i], Array(size));
      for (let j = 0; j < size; ++j) {
        col[j] = get(j, null, op);
      }
    } else {
      // if only one group, no need to loop
      cols.add(names[i], [ get(0, null, op) ]);
    }
  }
}
;// ../node_modules/arquero/src/verbs/impute.js








/* harmony default export */ function verbs_impute(table, values, options = {}) {
  values = expression_parse(values, { table });

  values.names.forEach(name =>
    table.column(name) ? 0 : util_error(`Invalid impute column ${to_string(name)}`)
  );

  if (options.expand) {
    const opt = { preparse, aggronly: true };
    const params = util_parse('impute', table, options.expand, opt);
    const result = rollup(table.ungroup(), params);
    return impute(
      table, values, params.names,
      params.names.map(name => result.get(name, 0))
    );
  } else {
    return impute(table, values);
  }
}

// map direct field reference to "unique" aggregate
function preparse(map) {
  map.forEach((value, key) =>
    value.field ? map.set(key, array_agg_distinct(value + '')) : 0
  );
}
;// ../node_modules/arquero/src/verbs/intersect.js
/* harmony default export */ function intersect(table, others) {
  const names = table.columnNames();
  return others.length
    ? others.reduce((a, b) => a.semijoin(b.select(names)), table).dedupe()
    : table.reify([]);
}
;// ../node_modules/arquero/src/engine/join/lookup.js
function rowLookup(table, hash) {
  const lut = new Map();
  table.scan((row, data) => {
    const key = hash(row, data);
    if (key != null && key === key) {
      lut.set(key, row);
    }
  });
  return lut;
}

function indexLookup(idx, data, hash) {
  const lut = new Map();
  const n = idx.length;
  for (let i = 0; i < n; ++i) {
    const row = idx[i];
    const key = hash(row, data);
    if (key != null && key === key) {
      lut.has(key)
        ? lut.get(key).push(i)
        : lut.set(key, [i]);
    }
  }
  return lut;
}
;// ../node_modules/arquero/src/engine/join.js






function emitter(columns, getters) {
  const args = ['i', 'a', 'j', 'b'];
  return unroll(
    args,
    '{' + concat(columns, (_, i) => `_${i}.push($${i}(${args}));`) + '}',
    columns, getters
  );
}

/* harmony default export */ function join(tableL, tableR, predicate, { names, exprs }, options = {}) {
  // initialize data for left table
  const dataL = tableL.data();
  const idxL = tableL.indices(false);
  const nL = idxL.length;
  const hitL = new Int32Array(nL);

  // initialize data for right table
  const dataR = tableR.data();
  const idxR = tableR.indices(false);
  const nR = idxR.length;
  const hitR = new Int32Array(nR);

  // initialize output data
  const ncols = names.length;
  const cols = column_set();
  const columns = Array(ncols);
  const getters = Array(ncols);
  for (let i = 0; i < names.length; ++i) {
    columns[i] = cols.add(names[i], []);
    getters[i] = exprs[i];
  }
  const emit = emitter(columns, getters);

  // perform join
  const join = is_array(predicate) ? hashJoin : loopJoin;
  join(emit, predicate, dataL, dataR, idxL, idxR, hitL, hitR, nL, nR);

  if (options.left) {
    for (let i = 0; i < nL; ++i) {
      if (!hitL[i]) {
        emit(idxL[i], dataL, -1, dataR);
      }
    }
  }

  if (options.right) {
    for (let j = 0; j < nR; ++j) {
      if (!hitR[j]) {
        emit(-1, dataL, idxR[j], dataR);
      }
    }
  }

  return tableL.create(cols.new());
}

function loopJoin(emit, predicate, dataL, dataR, idxL, idxR, hitL, hitR, nL, nR) {
  // perform nested-loops join
  for (let i = 0; i < nL; ++i) {
    const rowL = idxL[i];
    for (let j = 0; j < nR; ++j) {
      const rowR = idxR[j];
      if (predicate(rowL, dataL, rowR, dataR)) {
        emit(rowL, dataL, rowR, dataR);
        hitL[i] = 1;
        hitR[j] = 1;
      }
    }
  }
}

function hashJoin(emit, [keyL, keyR], dataL, dataR, idxL, idxR, hitL, hitR, nL, nR) {
  // determine which table to hash
  let dataScan, keyScan, hitScan, idxScan;
  let dataHash, keyHash, hitHash, idxHash;
  let emitScan = emit;
  if (nL >= nR) {
    dataScan = dataL; keyScan = keyL; hitScan = hitL; idxScan = idxL;
    dataHash = dataR; keyHash = keyR; hitHash = hitR; idxHash = idxR;
  } else {
    dataScan = dataR; keyScan = keyR; hitScan = hitR; idxScan = idxR;
    dataHash = dataL; keyHash = keyL; hitHash = hitL; idxHash = idxL;
    emitScan = (i, a, j, b) => emit(j, b, i, a);
  }

  // build lookup table
  const lut = indexLookup(idxHash, dataHash, keyHash);

  // scan other table
  const m = idxScan.length;
  for (let j = 0; j < m; ++j) {
    const rowScan = idxScan[j];
    const list = lut.get(keyScan(rowScan, dataScan));
    if (list) {
      const n = list.length;
      for (let k = 0; k < n; ++k) {
        const i = list[k];
        emitScan(rowScan, dataScan, idxHash[i], dataHash);
        hitHash[i] = 1;
      }
      hitScan[j] = 1;
    }
  }
}
;// ../node_modules/arquero/src/verbs/util/parse-key.js










/* harmony default export */ function parse_key(name, table, params) {
  const exprs = new Map();

  to_array(params).forEach((param, i) => {
    param = is_number(param) ? table.columnName(param) : param;
    is_string(param) ? exprs.set(i, field(param))
      : util_is_function(param) || is_object(param) && param.expr ? exprs.set(i, param)
      : util_error(`Invalid ${name} key value: ${param+''}`);
  });

  const fn = expression_parse(exprs, { table, aggregate: false, window: false });
  return key_function(fn.exprs, true);
}
;// ../node_modules/arquero/src/util/intersect.js
function intersect_intersect(a, b) {
  const set = new Set(b);
  return a.filter(x => set.has(x));
}
;// ../node_modules/arquero/src/verbs/util/join-keys.js






function inferKeys(tableL, tableR, on) {
  if (!on) {
    // perform natural join if join condition not provided
    const isect = intersect_intersect(tableL.columnNames(), tableR.columnNames());
    if (!isect.length) util_error('Natural join requires shared column names.');
    on = [isect, isect];
  } else if (is_string(on)) {
    on = [on, on];
  } else if (is_array(on) && on.length === 1) {
    on = [on[0], on[0]];
  }

  return on;
}

function keyPredicate(tableL, tableR, onL, onR) {
  if (onL.length !== onR.length) {
    util_error('Mismatched number of join keys');
  }
  return [
    parse_key('join', tableL, onL),
    parse_key('join', tableR, onR)
  ];
}
;// ../node_modules/arquero/src/verbs/join.js










const OPT_L = { aggregate: false, window: false };
const OPT_R = { ...OPT_L, index: 1 };

/* harmony default export */ function verbs_join(tableL, tableR, on, values, options = {}) {
  on = inferKeys(tableL, tableR, on);
  const optParse = { join: [tableL, tableR] };
  let predicate;

  if (is_array(on)) {
    const [onL, onR] = on.map(to_array);
    predicate = keyPredicate(tableL, tableR, onL, onR);

    if (!values) {
      // infer output columns, suppress duplicated key columns
      values = inferValues(tableL, onL, onR, options);
    }
  } else {
    predicate = expression_parse({ on }, optParse).exprs[0];

    if (!values) {
      // include all table columns if values not provided
      values = [selection_all(), selection_all()];
    }
  }

  return join(
    tableL, tableR, predicate,
    parseValues(tableL, tableR, values, optParse, options && options.suffix),
    options
  );
}

function inferValues(tableL, onL, onR, options) {
  const isect = [];
  onL.forEach((s, i) => is_string(s) && s === onR[i] ? isect.push(s) : 0);
  const vR = not(isect);

  if (options.left && options.right) {
    // for full join, merge shared key columns together
    const shared = new Set(isect);
    return [
      tableL.columnNames().map(s => {
        const c = `[${to_string(s)}]`;
        return shared.has(s)
          ? { [s]: `(a, b) => a${c} == null ? b${c} : a${c}` }
          : s;
      }),
      vR
    ];
  }

  return options.right ? [vR, selection_all()] : [selection_all(), vR];
}

function parseValues(tableL, tableR, values, optParse, suffix = []) {
  if (is_array(values)) {
    let vL, vR, vJ, n = values.length;
    vL = vR = vJ = { names: [], exprs: [] };

    if (n--) {
      vL = util_parse('join', tableL, values[0], optParse);
    }
    if (n--) {
      vR = util_parse('join', tableR, values[1], OPT_R);
    }
    if (n--) {
      vJ = expression_parse(values[2], optParse);
    }

    // handle name collisions
    const rename = new Set();
    const namesL = new Set(vL.names);
    vR.names.forEach(name => {
      if (namesL.has(name)) {
        rename.add(name);
      }
    });
    if (rename.size) {
      rekey(vL.names, rename, suffix[0] || '_1');
      rekey(vR.names, rename, suffix[1] || '_2');
    }

    return {
      names: vL.names.concat(vR.names, vJ.names),
      exprs: vL.exprs.concat(vR.exprs, vJ.exprs)
    };
  } else {
    return expression_parse(values, optParse);
  }
}

function rekey(names, rename, suffix) {
  names.forEach((name, i) => rename.has(name)
    ? (names[i] = name + suffix)
    : 0);
}
;// ../node_modules/arquero/src/engine/join-filter.js




/* harmony default export */ function join_filter(tableL, tableR, predicate, options = {}) {
  // calculate semi-join filter mask
  const filter = new BitSet(tableL.totalRows());
  const join = is_array(predicate) ? hashSemiJoin : loopSemiJoin;
  join(filter, tableL, tableR, predicate);

  // if anti-join, negate the filter
  if (options.anti) {
    filter.not().and(tableL.mask());
  }

  return tableL.create({ filter });
}

function hashSemiJoin(filter, tableL, tableR, [keyL, keyR]) {
  // build lookup table
  const lut = rowLookup(tableR, keyR);

  // scan table, update filter with matches
  tableL.scan((rowL, data) => {
    const rowR = lut.get(keyL(rowL, data));
    if (rowR >= 0) filter.set(rowL);
  });
}

function loopSemiJoin(filter, tableL, tableR, predicate) {
  const nL = tableL.numRows();
  const nR = tableR.numRows();
  const dataL = tableL.data();
  const dataR = tableR.data();

  if (tableL.isFiltered() || tableR.isFiltered()) {
    // use indices as at least one table is filtered
    const idxL = tableL.indices(false);
    const idxR = tableR.indices(false);
    for (let i = 0; i < nL; ++i) {
      const rowL = idxL[i];
      for (let j = 0; j < nR; ++j) {
        if (predicate(rowL, dataL, idxR[j], dataR)) {
          filter.set(rowL);
          break;
        }
      }
    }
  } else {
    // no filters, enumerate row indices directly
    for (let i = 0; i < nL; ++i) {
      for (let j = 0; j < nR; ++j) {
        if (predicate(i, dataL, j, dataR)) {
          filter.set(i);
          break;
        }
      }
    }
  }
}

// export default function(tableL, tableR, predicate, options = {}) {
//   const filter = new BitSet(tableL.totalRows());
//   const nL = tableL.numRows();
//   const nR = tableR.numRows();
//   const dataL = tableL.data();
//   const dataR = tableR.data();

//   if (tableL.isFiltered() || tableR.isFiltered()) {
//     // use indices as at least one table is filtered
//     const idxL = tableL.indices(false);
//     const idxR = tableR.indices(false);
//     for (let i = 0; i < nL; ++i) {
//       const rowL = idxL[i];
//       for (let j = 0; j < nR; ++j) {
//         if (predicate(rowL, dataL, idxR[j], dataR)) {
//           filter.set(rowL);
//           break;
//         }
//       }
//     }
//   } else {
//     // no filters, enumerate row indices directly
//     for (let i = 0; i < nL; ++i) {
//       for (let j = 0; j < nR; ++j) {
//         if (predicate(i, dataL, j, dataR)) {
//           filter.set(i);
//           break;
//         }
//       }
//     }
//   }

//   // if anti-join, negate the filter
//   if (options.anti) {
//     filter.not().and(tableL.mask());
//   }

//   return tableL.create({ filter });
// }
;// ../node_modules/arquero/src/verbs/join-filter.js






/* harmony default export */ function verbs_join_filter(tableL, tableR, on, options) {
  on = inferKeys(tableL, tableR, on);

  const predicate = is_array(on)
    ? keyPredicate(tableL, tableR, ...on.map(to_array))
    : expression_parse({ on }, { join: [tableL, tableR] }).exprs[0];

  return join_filter(tableL, tableR, predicate, options);
}
;// ../node_modules/arquero/src/engine/lookup.js







/* harmony default export */ function lookup(tableL, tableR, [keyL, keyR], { names, exprs, ops }) {
  // instantiate output data
  const cols = column_set(tableL);
  const total = tableL.totalRows();
  names.forEach(name => cols.add(name, Array(total).fill(util_null)));

  // build lookup table
  const lut = rowLookup(tableR, keyR);

  // generate setter function for lookup match
  const set = unroll(
    ['lr', 'rr', 'data'],
    '{' + concat(names, (_, i) => `_[${i}][lr] = $[${i}](rr, data);`) + '}',
    names.map(name => cols.data[name]),
    aggregateGet(tableR, ops, exprs)
  );

  // find matching rows, set values on match
  const dataR = tableR.data();
  tableL.scan((lrow, data) => {
    const rrow = lut.get(keyL(lrow, data));
    if (rrow >= 0) set(lrow, rrow, dataR);
  });

  return tableL.create(cols);
}
;// ../node_modules/arquero/src/verbs/lookup.js





/* harmony default export */ function verbs_lookup(tableL, tableR, on, values) {
  on = inferKeys(tableL, tableR, on);
  return lookup(
    tableL,
    tableR,
    [ parse_key('lookup', tableL, on[0]), parse_key('lookup', tableR, on[1]) ],
    util_parse('lookup', tableR, values)
  );
}
;// ../node_modules/arquero/src/engine/pivot.js



const opt = (value, defaultValue) => value != null ? value : defaultValue;

/* harmony default export */ function pivot(table, on, values, options = {}) {
  const { keys, keyColumn } = pivotKeys(table, on, options);
  const vsep = opt(options.valueSeparator, '_');
  const namefn = values.names.length > 1
    ? (i, name) => name + vsep + keys[i]
    : i => keys[i];

  // perform separate aggregate operations for each key
  // if keys do not match, emit NaN so aggregate skips it
  // use custom toString method for proper field resolution
  const results = keys.map(
    k => aggregate(table, values.ops.map(op => {
      const fields = op.fields.map(f => {
        const fn = (r, d) => k === keyColumn[r] ? f(r, d) : NaN;
        fn.toString = () => k + ':' + f + '';
        return fn;
      });
      return { ...op, fields };
    }))
  );

  return table.create(pivot_output(values, namefn, table.groups(), results));
}

function pivotKeys(table, on, options) {
  const limit = options.limit > 0 ? +options.limit : Infinity;
  const sort = opt(options.sort, true);
  const ksep = opt(options.keySeparator, '_');

  // construct key accessor function
  const get = aggregateGet(table, on.ops, on.exprs);
  const key = get.length === 1
    ? get[0]
    : (row, data) => get.map(fn => fn(row, data)).join(ksep);

  // generate vector of per-row key values
  const kcol = Array(table.totalRows());
  table.scan((row, data) => kcol[row] = key(row, data));

  // collect unique key values
  const uniq = aggregate(
    table.ungroup(),
    [ {
      id: 0,
      name: 'array_agg_distinct',
      fields: [(row => kcol[row])], params: []
    } ]
  )[0][0];

  // get ordered set of unique key values
  const keys = sort ? uniq.sort() : uniq;

  // return key values
  return {
    keys: Number.isFinite(limit) ? keys.slice(0, limit) : keys,
    keyColumn: kcol
  };
}

function pivot_output({ names, exprs }, namefn, groups, results) {
  const size = groups ? groups.size : 1;
  const cols = column_set();
  const m = results.length;
  const n = names.length;

  let result;
  const op = (id, row) => result[id][row];

  // write groupby fields to output
  if (groups) groupOutput(cols, groups);

  // write pivot values to output
  for (let i = 0; i < n; ++i) {
    const get = exprs[i];
    if (get.field != null) {
      // if expression is op only, use aggregates directly
      for (let j = 0; j < m; ++j) {
        cols.add(namefn(j, names[i]), results[j][get.field]);
      }
    } else if (size > 1) {
      // if multiple groups, evaluate expression for each
      for (let j = 0; j < m; ++j) {
        result = results[j];
        const col = cols.add(namefn(j, names[i]), Array(size));
        for (let k = 0; k < size; ++k) {
          col[k] = get(k, null, op);
        }
      }
    } else {
      // if only one group, no need to loop
      for (let j = 0; j < m; ++j) {
        result = results[j];
        cols.add(namefn(j, names[i]), [ get(0, null, op) ]);
      }
    }
  }

  return cols.new();
}
;// ../node_modules/arquero/src/verbs/pivot.js




// TODO: enforce aggregates only (no output changes) for values
/* harmony default export */ function verbs_pivot(table, on, values, options) {
  return pivot(
    table,
    util_parse('fold', table, on),
    util_parse('fold', table, values, { preparse: pivot_preparse, aggronly: true }),
    options
  );
}

// map direct field reference to "any" aggregate
function pivot_preparse(map) {
  map.forEach((value, key) =>
    value.field ? map.set(key, any(value + '')) : 0
  );
}
;// ../node_modules/arquero/src/verbs/rename.js



/* harmony default export */ function rename(table, columns) {
  const map = new Map();
  table.columnNames(x => (map.set(x, x), 0));
  return engine_select(table, resolve(table, columns, map));
}
;// ../node_modules/arquero/src/verbs/rollup.js



/* harmony default export */ function verbs_rollup(table, values) {
  return rollup(table, expression_parse(values, { table, aggronly: true }));
}
;// ../node_modules/arquero/src/util/sample.js




/* harmony default export */ function sample(buffer, replace, index, weight) {
  return (
    replace
      ? (weight ? sampleRW : sampleRU)
      : (weight ? sampleNW : sampleNU)
  )(buffer.length, buffer, index, weight);
}

// uniform sampling with replacement
// uses straightforward uniform sampling
function sampleRU(size, buffer, index) {
  const n = index.length;
  for (let i = 0; i < size; ++i) {
    buffer[i] = index[(n * random()) | 0];
  }
  return buffer;
}

// weighted sampling with replacement
// uses binary search lookup against cumulative weight
function sampleRW(size, buffer, index, weight) {
  const n = index.length;
  const w = new Float64Array(n);

  let sum = 0;
  for (let i = 0; i < n; ++i) {
    w[i] = (sum += weight(index[i]));
  }

  const bisect = bisector(ascending).right;
  for (let i = 0; i < size; ++i) {
    buffer[i] = index[bisect(w, sum * random())];
  }
  return buffer;
}

// uniform sampling without replacement
// uses reservoir sampling to build out the sample
// https://en.wikipedia.org/wiki/Reservoir_sampling
function sampleNU(size, buffer, index) {
  const n = index.length;
  if (size >= n) return index;

  for (let i = 0; i < size; ++i) {
    buffer[i] = index[i];
  }

  for (let i = size; i < n; ++i) {
    const j = i * random();
    if (j < size) {
      buffer[j | 0] = index[i];
    }
  }

  return buffer;
}

// weighted sample without replacement
// uses method of Efraimidis and Spirakis
// TODO: could use min-heap to improve efficiency
function sampleNW(size, buffer, index, weight) {
  const n = index.length;
  if (size >= n) return index;

  const w = new Float32Array(n);
  const k = new Uint32Array(n);
  for (let i = 0; i < n; ++i) {
    k[i] = i;
    w[i] = -Math.log(random()) / weight(index[i]);
  }

  k.sort((a, b) => w[a] - w[b]);
  for (let i = 0; i < size; ++i) {
    buffer[i] = index[k[i]];
  }
  return buffer;
}
;// ../node_modules/arquero/src/util/shuffle.js


/* harmony default export */ function util_shuffle(array, lo = 0, hi = array.length) {
  let n = hi - (lo = +lo);

  while (n) {
    const i = random() * n-- | 0;
    const v = array[n + lo];
    array[n + lo] = array[i + lo];
    array[i + lo] = v;
  }

  return array;
}
;// ../node_modules/arquero/src/engine/sample.js



/* harmony default export */ function engine_sample(table, size, weight, options = {}) {
  const { replace, shuffle } = options;
  const parts = table.partitions(false);

  let total = 0;
  size = parts.map((idx, group) => {
    let s = size(group);
    total += (s = (replace ? s : Math.min(idx.length, s)));
    return s;
  });

  const samples = new Uint32Array(total);
  let curr = 0;

  parts.forEach((idx, group) => {
    const sz = size[group];
    const buf = samples.subarray(curr, curr += sz);

    if (!replace && sz === idx.length) {
      // sample size === data size, no replacement
      // no need to sample, just copy indices
      buf.set(idx);
    } else {
      sample(buf, replace, idx, weight);
    }
  });

  if (shuffle !== false && (parts.length > 1 || !replace)) {
    // sampling with replacement methods shuffle, so in
    // that case a single partition is already good to go
    util_shuffle(samples);
  }

  return table.reify(samples);
}
;// ../node_modules/arquero/src/verbs/sample.js







/* harmony default export */ function verbs_sample(table, size, options = {}) {
  return engine_sample(
    table,
    parseSize(table, size),
    parseWeight(table, options.weight),
    options
  );
}

const get = col => row => col.get(row) || 0;

function parseSize(table, size) {
  return is_number(size)
    ? () => size
    : get(rollup(table, expression_parse({ size }, { table })).column('size'));
}

function parseWeight(table, w) {
  if (w == null) return null;
  w = is_number(w) ? table.columnName(w) : w;
  return get(
    is_string(w)
      ? table.column(w)
      : derive(table, expression_parse({ w }, { table }), { drop: true }).column('w')
  );
}
;// ../node_modules/arquero/src/verbs/select.js



/* harmony default export */ function verbs_select(table, columns) {
  return engine_select(table, resolve(table, columns));
}
;// ../node_modules/arquero/src/engine/spread.js





/* harmony default export */ function engine_spread(table, { names, exprs, ops = [] }, options = {}) {
  if (names.length === 0) return table;

  // ignore 'as' if there are multiple field names
  const as = (names.length === 1 && options.as) || [];
  const drop = options.drop == null ? true : !!options.drop;
  const limit = options.limit == null
    ? as.length || Infinity
    : Math.max(1, +options.limit || 1);

  const get = aggregateGet(table, ops, exprs);
  const cols = column_set();
  const map = names.reduce((map, name, i) => map.set(name, i), new Map());

  const add = (index, name) => {
    const columns = spread_spread(table, get[index], limit);
    const n = columns.length;
    for (let i = 0; i < n; ++i) {
      cols.add(as[i] || `${name}_${i + 1}`, columns[i]);
    }
  };

  table.columnNames().forEach(name => {
    if (map.has(name)) {
      if (!drop) cols.add(name, table.column(name));
      add(map.get(name), name);
      map.delete(name);
    } else {
      cols.add(name, table.column(name));
    }
  });

  map.forEach(add);

  return table.create(cols);
}

function spread_spread(table, get, limit) {
  const nrows = table.totalRows();
  const columns = [];

  table.scan((row, data) => {
    const values = to_array(get(row, data));
    const n = Math.min(values.length, limit);
    while (columns.length < n) {
      columns.push(Array(nrows).fill(util_null));
    }
    for (let i = 0; i < n; ++i) {
      columns[i][row] = values[i];
    }
  });

  return columns;
}
;// ../node_modules/arquero/src/verbs/spread.js



/* harmony default export */ function verbs_spread(table, values, options) {
  return engine_spread(table, util_parse('spread', table, values), options);
}
;// ../node_modules/arquero/src/verbs/union.js
/* harmony default export */ function union(table, others) {
  return table.concat(others).dedupe();
}
;// ../node_modules/arquero/src/verbs/unroll.js



/* harmony default export */ function verbs_unroll(table, values, options) {
  return engine_unroll(
    table,
    util_parse('unroll', table, values),
    options && options.drop
      ? { ...options, drop: util_parse('unroll', table, options.drop).names }
      : options
  );
}
;// ../node_modules/arquero/src/engine/groupby.js



/* harmony default export */ function groupby(table, exprs) {
  return table.create({
    groups: createGroups(table, exprs)
  });
}

function createGroups(table, { names = [], exprs = [], ops = [] }) {
  const n = names.length;
  if (n === 0) return null;

  // check for optimized path when grouping by a single field
  // use pre-calculated groups if available
  if (n === 1 && !table.isFiltered() && exprs[0].field) {
    const col = table.column(exprs[0].field);
    if (col.groups) return col.groups(names);
  }

  let get = aggregateGet(table, ops, exprs);
  const getKey = key_function(get);
  const nrows = table.totalRows();
  const keys = new Uint32Array(nrows);
  const index = {};
  const rows = [];

  // inline table scan for performance
  const data = table.data();
  const bits = table.mask();
  if (bits) {
    for (let i = bits.next(0); i >= 0; i = bits.next(i + 1)) {
      const key = getKey(i, data) + '';
      const val = index[key];
      keys[i] = val != null ? val : (index[key] = rows.push(i) - 1);
    }
  } else {
    for (let i = 0; i < nrows; ++i) {
      const key = getKey(i, data) + '';
      const val = index[key];
      keys[i] = val != null ? val : (index[key] = rows.push(i) - 1);
    }
  }

  if (!ops.length) {
    // capture data in closure, so no interaction with select
    get = get.map(f => row => f(row, data));
  }

  return { keys, get, names, rows, size: rows.length };
}
;// ../node_modules/arquero/src/verbs/groupby.js



/* harmony default export */ function verbs_groupby(table, values) {
  return groupby(table, util_parse('groupby', table, values));
}
;// ../node_modules/arquero/src/engine/orderby.js
/* harmony default export */ function orderby(table, comparator) {
  return table.create({ order: comparator });
}

;// ../node_modules/arquero/src/expression/compare.js




// generate code to compare a single field
const _compare = (u, v, lt, gt) =>
  `((u = ${u}) < (v = ${v}) || u == null) && v != null ? ${lt}
    : (u > v || v == null) && u != null ? ${gt}
    : ((v = v instanceof Date ? +v : v), (u = u instanceof Date ? +u : u)) !== u && v === v ? ${lt}
    : v !== v && u === u ? ${gt} : `;

/* harmony default export */ function compare(table, fields) {
  // parse expressions, generate code for both a and b values
  const names = [];
  const exprs = [];
  const fn = [];
  let keys = null, opA = '0', opB = '0';
  if (table.isGrouped()) {
    keys = table.groups().keys;
    opA = 'ka';
    opB = 'kb';
  }
  const { ops } = expression_parse(fields, {
    table,
    value: (name, node) => {
      names.push(name);
      if (node.escape) {
        // if an escaped function, invoke it directly
        const f = i => `fn[${fn.length}](${i}, data)`;
        exprs.push([f('a'), f('b')]);
        fn.push(node.escape);
      } else {
        // generate code to extract values to compare
        exprs.push([
          codegen(node, { index: 'a', op: opA }),
          codegen(node, { index: 'b', op: opB })
        ]);
      }
    },
    window: false
  });

  // calculate aggregate values if needed
  const result = aggregate(table, ops);
  const op = (id, row) => result[id][row];

  // generate comparison code for each field
  const n = names.length;
  let code = 'return (a, b) => {'
    + (op && table.isGrouped() ? 'const ka = keys[a], kb = keys[b];' : '')
    + 'let u, v; return ';
  for (let i = 0; i < n; ++i) {
    const o = fields.get(names[i]).desc ? -1 : 1;
    const [u, v] = exprs[i];
    code += _compare(u, v, -o, o);
  }
  code += '0;};';

  // instantiate and return comparator function
  return Function('op', 'keys', 'fn', 'data', code)(op, keys, fn, table.data());
}
;// ../node_modules/arquero/src/verbs/orderby.js









/* harmony default export */ function verbs_orderby(table, values) {
  return orderby(table, orderby_parseValues(table, values));
}

function orderby_parseValues(table, params) {
  let index = -1;
  const exprs = new Map();
  const add = val => exprs.set(++index + '', val);

  params.forEach(param => {
    const expr = param.expr != null ? param.expr : param;

    if (is_object(expr) && !util_is_function(expr)) {
      for (const key in expr) add(expr[key]);
    } else {
      add(
        is_number(expr) ? field(param, table.columnName(expr))
          : is_string(expr) ? field(param)
          : util_is_function(expr) ? param
          : util_error(`Invalid orderby field: ${param+''}`)
      );
    }
  });

  return compare(table, exprs);
}
;// ../node_modules/arquero/src/engine/concat.js



/* harmony default export */ function engine_concat(table, others) {
  const trows = table.numRows();
  const nrows = trows + others.reduce((n, t) => n + t.numRows(), 0);
  if (trows === nrows) return table;

  const tables = [table, ...others];
  const cols = column_set();

  table.columnNames().forEach(name => {
    const arr = Array(nrows);
    let row = 0;
    tables.forEach(table => {
      const col = table.column(name) || { get: () => util_null };
      table.scan(trow => arr[row++] = col.get(trow));
    });
    cols.add(name, arr);
  });

  return table.create(cols.new());
}
;// ../node_modules/arquero/src/engine/reduce.js



/* harmony default export */ function reduce(table, reducer) {
  const cols = column_set();
  const groups = table.groups();

  // initialize groups
  const { get, names = [], rows, size = 1 } = groups || {};
  const counts = new Uint32Array(size + 1);
  names.forEach(name => cols.add(name, null));

  // compute reduced values
  const cells = groups
    ? reduceGroups(table, reducer, groups)
    : [ reduceFlat(table, reducer) ];

  // initialize output columns
  reducer.outputs().map(name => cols.add(name, []));

  // write reduced values to output columns
  const n = counts.length - 1;
  let len = 0;
  for (let i = 0; i < n; ++i) {
    len += counts[i + 1] = reducer.write(cells[i], cols.data, counts[i]);
  }

  // write group values to output columns
  if (groups) {
    const data = table.data();
    names.forEach((name, index) => {
      const column = cols.data[name] = Array(len);
      const getter = get[index];
      for (let i = 0, j = 0; i < size; ++i) {
        column.fill(getter(rows[i], data), j, j += counts[i + 1]);
      }
    });
  }

  return table.create(cols.new());
}
;// ../node_modules/arquero/src/engine/ungroup.js
/* harmony default export */ function ungroup(table) {
  return table.isGrouped()
    ? table.create({ groups: null })
    : table;
}
;// ../node_modules/arquero/src/engine/unorder.js
/* harmony default export */ function unorder(table) {
  return table.isOrdered()
    ? table.create({ order: null })
    : table;
}
;// ../node_modules/arquero/src/verbs/index.js





























/* harmony default export */ const verbs = ({
  __antijoin: (table, other, on) =>
    verbs_join_filter(table, other, on, { anti: true }),
  __count: (table, options = {}) =>
    verbs_rollup(table, { [options.as || 'count']: count() }),
  __cross: (table, other, values, options) =>
    verbs_join(table, other, () => true, values, {
      ...options, left: true, right: true
    }),
  __concat: engine_concat,
  __dedupe: dedupe,
  __derive: verbs_derive,
  __except: except,
  __filter: verbs_filter,
  __fold: verbs_fold,
  __impute: verbs_impute,
  __intersect: intersect,
  __join: verbs_join,
  __lookup: verbs_lookup,
  __pivot: verbs_pivot,
  __relocate: relocate,
  __rename: rename,
  __rollup: verbs_rollup,
  __sample: verbs_sample,
  __select: verbs_select,
  __semijoin: verbs_join_filter,
  __spread: verbs_spread,
  __union: union,
  __unroll: verbs_unroll,
  __groupby: verbs_groupby,
  __orderby: verbs_orderby,
  __ungroup: ungroup,
  __unorder: unorder,
  __reduce: reduce
});
;// ../node_modules/arquero/src/table/index.js



// Add verb implementations to ColumnTable prototype
Object.assign(column_table_ColumnTable.prototype, verbs);

/**
 * Create a new table for a set of named columns.
 * @param {object|Map} columns
 *  The set of named column arrays. Keys are column names.
 *  The enumeration order of the keys determines the column indices,
 *  unless the names parameter is specified.
 *  Values must be arrays (or array-like values) of identical length.
 * @param {string[]} [names] Ordered list of column names. If specified,
 *  this array determines the column indices. If not specified, the
 *  key enumeration order of the columns object is used.
 * @return {ColumnTable} the instantiated table
 * @example table({ colA: ['a', 'b', 'c'], colB: [3, 4, 5] })
 */
function table_table(columns, names) {
  return column_table_ColumnTable.new(columns, names);
}

/**
 * Create a new table from an existing object, such as an array of
 * objects or a set of key-value pairs.
 * @param {object|Array|Map} values Data values to populate the table.
 *  If array-valued or iterable, imports rows for each non-null value,
 *  using the provided column names as keys for each row object. If no
 *  names are provided, the first non-null object's own keys are used.
 *  If object- or Map-valued, create columns for the keys and values.
 * @param {string[]} [names] Column names to include.
 *  For object or Map values, specifies the key and value column names.
 *  Otherwise, specifies the keys to look up on each row object.
 * @return {ColumnTable} the instantiated table.
 * @example from([ { colA: 1, colB: 2 }, { colA: 3, colB: 4 } ])
 */
function table_from(values, names) {
  return ColumnTable.from(values, names);
}
;// ../node_modules/arquero/src/format/load-url.js
 // eslint-disable-line no-unused-vars








/**
 * Options for file loading.
 * @typedef {object} LoadOptions
 * @property {'arrayBuffer'|'text'|'json'} [as='text'] A string indicating
 *  the data type of the file. One of 'arrayBuffer', 'json', or 'text'.
 * @property {(data: *, options?: object) => ColumnTable} [using] A function
 *  that accepts a data payload (e.g., string or buffer) and an options object
 *  as input and returns an Arquero table (such as fromCSV or fromJSON).
 * @property {object} [fetch] Options to pass to the HTTP fetch method
 *  when loading a URL.
 */

/**
 * Load data from a file and return a Promise for an Arquero table.
 * A specific format parser can be provided with the *using* option,
 * otherwise CSV format is assumed. The options to this method are
 * passed as the second argument to the format parser.
 * @param {string} url The URL to load.
 * @param {LoadOptions & object} options The loading and formatting options.
 * @return {Promise<ColumnTable>} A Promise for an Arquero table.
 * @example aq.load('data/table.csv')
 * @example aq.load('data/table.json', { using: aq.fromJSON })
 * @example aq.load('data/table.json', { using: aq.from })
 */
function load(url, options = {}) {
  const parse = options.using || fromCSV;
  return fetch(url, options.fetch)
    .then(res => res[options.as || 'text']())
    .then(data => parse(data, options));
}

/**
 * Load an Arrow file from a URL and return a Promise for an Arquero table.
 * @param {string} url The URL to load.
 * @param {LoadOptions & import('./from-arrow').ArrowOptions} options Arrow format options.
 * @return {Promise<ColumnTable>} A Promise for an Arquero table.
 * @example aq.loadArrow('data/table.arrow')
 */
function loadArrow(url, options) {
  return load(url, { ...options, as: 'arrayBuffer', using: fromArrow });
}

/**
 * Load a CSV file from a URL and return a Promise for an Arquero table.
 * @param {string} url The URL to load.
 * @param {LoadOptions & import('./from-csv').CSVParseOptions} options CSV format options.
 * @return {Promise<ColumnTable>} A Promise for an Arquero table.
 * @example aq.loadCSV('data/table.csv')
 * @example aq.loadTSV('data/table.tsv', { delimiter: '\t' })
 */
function loadCSV(url, options) {
  return load(url, { ...options, as: 'text', using: fromCSV });
}

/**
 * Load a fixed width file from a URL and return a Promise for an Arquero table.
 * @param {string} url The URL to load.
 * @param {LoadOptions & import('./from-fixed').FixedParseOptions} options Fixed width format options.
 * @return {Promise<ColumnTable>} A Promise for an Arquero table.
 * @example aq.loadFixedWidth('data/table.txt', { names: ['name', 'city', state'], widths: [10, 20, 2] })
 */
 function loadFixed(url, options) {
  return load(url, { ...options, as: 'text', using: fromFixed });
}

/**
 * Load a JSON file from a URL and return a Promise for an Arquero table.
 * If the loaded JSON is array-valued, an array-of-objects format is assumed
 * and the aq.from method is used to construct the table. Otherwise, a
 * column object format is assumed and aq.fromJSON is applied.
 * @param {string} url The URL to load.
 * @param {LoadOptions & import('./from-json').JSONParseOptions} options JSON format options.
 * @return {Promise<ColumnTable>} A Promise for an Arquero table.
 * @example aq.loadJSON('data/table.json')
 */
function loadJSON(url, options) {
  return load(url, { ...options, as: 'json', using: parseJSON });
}

function parseJSON(data, options) {
  return isArray(data) ? from(data) : fromJSON(data, options);
}
;// ../node_modules/arquero/src/verbs/helpers/agg.js
 // eslint-disable-line no-unused-vars

/**
 * Convenience function for computing a single aggregate value for
 * a table. Equivalent to ungrouping a table, applying a rollup verb
 * for a single aggregate, and extracting the resulting value.
 * @param {Table} table A table instance.
 * @param {import('../../table/transformable').TableExpr} expr An
 *   aggregate table expression to evaluate.
 * @return {import('../../table/table').DataValue} The aggregate value.
 * @example agg(table, op.max('colA'))
 * @example agg(table, d => [op.min('colA'), op.max('colA')])
 */
function agg(table, expr) {
  return table.ungroup().rollup({ _: expr }).get('_');
}
;// ../node_modules/arquero/src/register.js













const onIllegal = (name, type) =>
  error(`Illegal ${type} name: ${toString(name)}`);

const onDefined = (name, type) =>
  error(`The ${type} ${toString(name)} is already defined. Use override option?`);

const onReserve = (name, type) =>
  error(`The ${type} name ${toString(name)} is reserved and can not be overridden.`);

function register_check(name, options, obj = ops, type = 'function') {
  if (!name) onIllegal(name, type);
  if (!options.override && has(obj, name)) onDefined(name, type);
}

// -- Op Functions --------------------------------------------------

function verifyFunction(name, def, object, options) {
  return object[name] === def || register_check(name, options);
}

/**
 * Register an aggregate or window operation.
 * @param {string} name The name of the operation
 * @param {AggregateDef|WindowDef} def The operation definition.
 * @param {object} object The registry object to add the definition to.
 * @param {RegisterOptions} [options] Registration options.
 */
function addOp(name, def, object, options = {}) {
  if (verifyFunction(name, def, object, options)) return;
  const [nf = 0, np = 0] = def.param;
  object[name] = def;
  ops[name] = (...params) => op(
    name,
    params.slice(0, nf),
    params.slice(nf, nf + np)
  );
}

/**
 * Register a custom aggregate function.
 * @param {string} name The name to use for the aggregate function.
 * @param {AggregateDef} def The aggregate operator definition.
 * @param {RegisterOptions} [options] Function registration options.
 * @throws If a function with the same name is already registered and
 *  the override option is not specified.
 */
function addAggregateFunction(name, def, options) {
  addOp(name, def, aggregateFunctions, options);
}

/**
 * Register a custom window function.
 * @param {string} name The name to use for the window function.
 * @param {WindowDef} def The window operator definition.
 * @param {RegisterOptions} [options] Function registration options.
 * @throws If a function with the same name is already registered and
 *  the override option is not specified.
 */
function addWindowFunction(name, def, options) {
  addOp(name, def, windowFunctions, options);
}

/**
 * Register a function for use within table expressions.
 * If only a single argument is provided, it will be assumed to be a
 * function and the system will try to extract its name.
 * @param {string} name The name to use for the function.
 * @param {Function} fn A standard JavaScript function.
 * @param {RegisterOptions} [options] Function registration options.
 * @throws If a function with the same name is already registered and
 *  the override option is not specified, or if no name is provided
 *  and the input function is anonymous.
 */
function addFunction(name, fn, options = {}) {
  if (arguments.length === 1) {
    fn = name;
    name = fn.name;
    if (name === '' || name === 'anonymous') {
      error('Anonymous function provided, please include a name argument.');
    } else if (name === ROW_OBJECT) {
      onReserve(ROW_OBJECT, 'function');
    }
  }
  if (verifyFunction(name, fn, functions, options)) return;
  functions[name] = fn;
  ops[name] = fn;
}

// -- Table Methods and Verbs ---------------------------------------

const proto = column_table_ColumnTable.prototype;

/**
 * Reserved table/query methods that must not be overwritten.
 */
let RESERVED;

function addReserved(obj) {
  for (; obj; obj = Object.getPrototypeOf(obj)) {
    Object.getOwnPropertyNames(obj).forEach(name => RESERVED[name] = 1);
  }
}

function verifyTableMethod(name, fn, options) {
  const type = 'method';

  // exit early if duplicate re-assignment
  if (proto[name] && proto[name].fn === fn) return true;

  // initialize reserved properties to avoid overriding internals
  if (!RESERVED) {
    RESERVED = {};
    addReserved(proto);
    addReserved(Query.prototype);
  }

  // perform name checks
  if (RESERVED[name]) onReserve(name, type);
  if ((name + '')[0] === '_') onIllegal(name, type);
  register_check(name, options, proto, type);
}

/**
 * Register a new table method. A new method will be added to the column
 * table prototype. When invoked from a table, the registered method will
 * be invoked with the table as the first argument, followed by all the
 * provided arguments.
 * @param {string} name The name of the table method.
 * @param {Function} method The table method.
 * @param {RegisterOptions} options
 */
function addTableMethod(name, method, options = {}) {
  if (verifyTableMethod(name, method, options)) return;
  proto[name] = function(...args) { return method(this, ...args); };
  proto[name].fn = method;
}

/**
 * Register a new transformation verb.
 * @param {string} name The name of the verb.
 * @param {Function} method The verb implementation.
 * @param {ParamDef[]} params The verb parameter schema.
 * @param {RegisterOptions} options Function registration options.
 */
function addVerb(name, method, params, options = {}) {
  // register table method first
  // if that doesn't throw, add serializable verb entry
  addTableMethod(name, method, options);
  addQueryVerb(name, Verbs[name] = createVerb(name, params));
}

// -- Package Bundles -----------------------------------------------

const PACKAGE = 'arquero_package';

/**
 * Add an extension package of functions, table methods, and/or verbs.
 * @param {Package|PackageBundle} bundle The package of extensions.
 * @throws If package validation fails.
 */
function addPackage(bundle, options = {}) {
  const pkg = bundle && bundle[PACKAGE] || bundle;
  const parts = {
    functions: [
      (name, def, opt) => verifyFunction(name, def, functions, opt),
      addFunction
    ],
    aggregateFunctions: [
      (name, def, opt) => verifyFunction(name, def, aggregateFunctions, opt),
      addAggregateFunction
    ],
    windowFunctions: [
      (name, def, opt) => verifyFunction(name, def, windowFunctions, opt),
      addWindowFunction
    ],
    tableMethods: [
      verifyTableMethod,
      addTableMethod
    ],
    verbs: [
      (name, obj, opt) => verifyTableMethod(name, obj.method, opt),
      (name, obj, opt) => addVerb(name, obj.method, obj.params, opt)
    ]
  };

  function scan(index) {
    for (const key in parts) {
      const part = parts[key];
      const p = pkg[key];
      for (const name in p) part[index](name, p[name], options);
    }
  }
  scan(0); // first validate package, throw if validation fails
  scan(1); // then add package content
}

/**
 * Aggregate function definition.
 * @typedef {import('./op/aggregate-functions').AggregateDef} AggregateDef
 */

/**
 * Window function definition.
 * @typedef {import('./op/window-functions').WindowDef} WindowDef
 */

/**
 * Verb parameter definition.
 * @typedef {import('./query/verb').ParamDef} ParamDef
 */

/**
 * Verb definition.
 * @typedef {object} VerbDef
 * @property {Function} method A function implementing the verb.
 * @property {ParamDef[]} params The verb parameter schema.
 */

/**
 * Verb parameter definition.
 * @typedef {object} ParamDef
 * @property {string} name The verb parameter name.
 * @property {ParamType} type The verb parameter type.
 */

/**
 * A package of op function and table method definitions.
 * @typedef {object} Package
 * @property {{[name: string]: Function}} [functions] Standard function entries.
 * @property {{[name: string]: AggregateDef}} [aggregateFunctions] Aggregate function entries.
 * @property {{[name: string]: WindowDef}} [windowFunctions] Window function entries.
 * @property {{[name: string]: Function}} [tableMethods] Table method entries.
 * @property {{[name: string]: VerbDef}} [verbs] Verb entries.
 */

/**
 * An object containing an extension package.
 * @typedef {object} PackageBundle
 * @property {Package} arquero.package The package bundle.
 */

/**
 * Options for registering new functions.
 * @typedef {object} RegisterOptions
 * @property {boolean} [override=false] Flag indicating if the added
 *  function can override an existing function with the same name.
 */
;// ../node_modules/arquero/src/index.js
// export internal class definitions










const internal = {
  Table: Table,
  ColumnTable: column_table_ColumnTable,
  Transformable: Transformable,
  Query: query_Query,
  Reducer: Reducer,
  Verb: Verb,
  Verbs: verb_Verbs,
  columnFactory: columnFactory,
  parse: expression_parse,
  walk_ast: walk
};

// export public API

const src_version = package_namespaceObject.rE;






















;// ../node_modules/svelte/store/index.mjs



const subscriber_queue = [];
/**
 * Creates a `Readable` store that allows reading by subscription.
 * @param value initial value
 * @param {StartStopNotifier} [start]
 */
function readable(value, start) {
    return {
        subscribe: writable(value, start).subscribe
    };
}
/**
 * Create a `Writable` store that allows both updating and reading by subscription.
 * @param {*=}value initial value
 * @param {StartStopNotifier=} start
 */
function writable(value, start = noop) {
    let stop;
    const subscribers = new Set();
    function set(new_value) {
        if (safe_not_equal(value, new_value)) {
            value = new_value;
            if (stop) { // store is ready
                const run_queue = !subscriber_queue.length;
                for (const subscriber of subscribers) {
                    subscriber[1]();
                    subscriber_queue.push(subscriber, value);
                }
                if (run_queue) {
                    for (let i = 0; i < subscriber_queue.length; i += 2) {
                        subscriber_queue[i][0](subscriber_queue[i + 1]);
                    }
                    subscriber_queue.length = 0;
                }
            }
        }
    }
    function update(fn) {
        set(fn(value));
    }
    function subscribe(run, invalidate = noop) {
        const subscriber = [run, invalidate];
        subscribers.add(subscriber);
        if (subscribers.size === 1) {
            stop = start(set) || noop;
        }
        run(value);
        return () => {
            subscribers.delete(subscriber);
            if (subscribers.size === 0 && stop) {
                stop();
                stop = null;
            }
        };
    }
    return { set, update, subscribe };
}
function derived(stores, fn, initial_value) {
    const single = !Array.isArray(stores);
    const stores_array = single
        ? [stores]
        : stores;
    const auto = fn.length < 2;
    return readable(initial_value, (set) => {
        let started = false;
        const values = [];
        let pending = 0;
        let cleanup = noop;
        const sync = () => {
            if (pending) {
                return;
            }
            cleanup();
            const result = fn(single ? values[0] : values, set);
            if (auto) {
                set(result);
            }
            else {
                cleanup = internal_is_function(result) ? result : noop;
            }
        };
        const unsubscribers = stores_array.map((store, i) => subscribe(store, (value) => {
            values[i] = value;
            pending &= ~(1 << i);
            if (started) {
                sync();
            }
        }, () => {
            pending |= (1 << i);
        }));
        started = true;
        sync();
        return function stop() {
            run_all(unsubscribers);
            cleanup();
            // We need to set this to false because callbacks can still happen despite having unsubscribed:
            // Callbacks might already be placed in the queue which doesn't know it should no longer
            // invoke this derived store.
            started = false;
        };
    });
}
/**
 * Takes a store and returns a new one derived from the old one that is readable.
 *
 * @param store - store to make readonly
 */
function readonly(store) {
    return {
        subscribe: store.subscribe.bind(store)
    };
}



;// ../canvas_viz/dist/helpers/table.js
/**
 * Copyright 2024 BetterWithData
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
const UNIQUE_COLS_PCTG = 0.1;
function getColumnType(table, columnName) {
    const col = table.column(columnName);
    if (col === undefined) {
        return undefined;
    }
    const firstValue = col.get(0);
    if (firstValue.constructor.name === "SignedBigNum") {
        return "number";
    }
    if (typeof firstValue === "object") {
        const objectClass = firstValue.constructor.name;
        if (objectClass.includes("Array")) {
            return "array";
        }
    }
    return typeof firstValue;
}
function getBinnableStringColumns(table) {
    const colNames = table.columnNames();
    const binnnableStringColumns = [];
    for (const colName of colNames) {
        const columnType = getColumnType(table, colName);
        if (columnType === "string") {
            if (isStringColumnBinnable(colName, table)) {
                binnnableStringColumns.push(colName);
            }
        }
    }
    return binnnableStringColumns;
}
function isStringColumnBinnable(columnName, table) {
    /** If more than UNIQUE_COLS_PCTG percent of the column are unique strings, likely an ID, don't bin. */
    const unique = table.groupby(columnName).count().numRows();
    if (unique < UNIQUE_COLS_PCTG * table.numRows()) {
        return true;
    }
    return false;
}
const cartesian = (...a) => a.reduce((a, b) => a.flatMap((d) => b.map((e) => [d, e].reduce((acc, val) => acc.concat(val), []))));

;// ../canvas_viz/dist/stores.js
/**
 * Copyright 2024 BetterWithData
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */




function widgetWritable(name_, value_) {
    const name = name_;
    const curVal = writable(value_);
    let model;
    return {
        set: (v) => {
            curVal.set(v);
            if (model) {
                model.set(name, v);
                model.save_changes();
            }
        },
        setModel: (m) => {
            model = m;
            curVal.set(model.get(name));
            model.on("change:" + name, () => curVal.set(model.get(name)), null);
        },
        subscribe: curVal.subscribe,
        update: (func) => {
            curVal.update((v) => {
                const out = func(v);
                // TODO: figure out why spread operator isn't enough to update model.
                if (model) {
                    model.set(name, "");
                    model.set(name, out);
                    model.save_changes();
                }
                return out;
            });
        },
    };
}
const canvasSpec = widgetWritable("canvas_spec", {});
const widgetSpecs = widgetWritable("widgetSpecs", {});
const dataTable = widgetWritable("table", new DataView(new ArrayBuffer(0)));
const selected = widgetWritable("selected", []);
const groupColumns = widgetWritable("group_columns", []);
const stores_filter = widgetWritable("filter", "");
const filterError = widgetWritable("filter_error", "");
const tooltip = widgetWritable("tooltip", {
    hover: false,
    mousePos: { x: 0, y: 0 },
    fetchPrefix: "",
    instance: undefined,
    number: 0,
});
const stores_table = derived(dataTable, (d) => from_arrow(d));
const filteredTable = derived([stores_table, stores_filter], ([table, filter]) => {
    filterError.set("");
    let filteredTable = table;
    if (filter) {
        try {
            filteredTable = filteredTable.filter(filter);
        }
        catch (err) {
            filterError.set(err);
        }
    }
    return filteredTable;
});
const groupNames = derived([filteredTable, groupColumns], ([filteredTable, groupColumns]) => {
    if (groupColumns.length > 0) {
        const uniqueColumnValues = groupColumns.map((col) => filteredTable
            .rollup({ col: op_api.array_agg_distinct(col) })
            .object().col);
        // If just one column, don't do cartesian product and make it a 2D array.
        if (uniqueColumnValues.length === 1) {
            return uniqueColumnValues[0].map((group) => [group]);
        }
        return cartesian(...uniqueColumnValues);
    }
    else
        return [];
});
const groupedTables = derived([filteredTable, groupColumns, groupNames, canvasSpec], ([filteredTable, groupColumns, groupNames, canvasSpec]) => {
    if (groupColumns !== undefined &&
        filteredTable !== undefined &&
        groupNames !== undefined &&
        groupColumns.length > 0 &&
        groupNames.length > 0) {
        let groupedTable = filteredTable.groupby(...groupColumns);
        let partitions = groupedTable.partitions();
        let groupedTables = partitions.map((partition) => filteredTable.reify(partition));
        return groupedTables;
    }
    else {
        return [];
    }
});
function initializeStores(model) {
    selected.setModel(model);
    stores_filter.setModel(model);
    groupColumns.setModel(model);
    canvasSpec.setModel(model);
    dataTable.setModel(model);
}

;// ../node_modules/svelte/easing/index.mjs


/*
Adapted from https://github.com/mattdesl
Distributed under MIT License https://github.com/mattdesl/eases/blob/master/LICENSE.md
*/
function backInOut(t) {
    const s = 1.70158 * 1.525;
    if ((t *= 2) < 1)
        return 0.5 * (t * t * ((s + 1) * t - s));
    return 0.5 * ((t -= 2) * t * ((s + 1) * t + s) + 2);
}
function backIn(t) {
    const s = 1.70158;
    return t * t * ((s + 1) * t - s);
}
function backOut(t) {
    const s = 1.70158;
    return --t * t * ((s + 1) * t + s) + 1;
}
function bounceOut(t) {
    const a = 4.0 / 11.0;
    const b = 8.0 / 11.0;
    const c = 9.0 / 10.0;
    const ca = 4356.0 / 361.0;
    const cb = 35442.0 / 1805.0;
    const cc = 16061.0 / 1805.0;
    const t2 = t * t;
    return t < a
        ? 7.5625 * t2
        : t < b
            ? 9.075 * t2 - 9.9 * t + 3.4
            : t < c
                ? ca * t2 - cb * t + cc
                : 10.8 * t * t - 20.52 * t + 10.72;
}
function bounceInOut(t) {
    return t < 0.5
        ? 0.5 * (1.0 - bounceOut(1.0 - t * 2.0))
        : 0.5 * bounceOut(t * 2.0 - 1.0) + 0.5;
}
function bounceIn(t) {
    return 1.0 - bounceOut(1.0 - t);
}
function circInOut(t) {
    if ((t *= 2) < 1)
        return -0.5 * (Math.sqrt(1 - t * t) - 1);
    return 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1);
}
function circIn(t) {
    return 1.0 - Math.sqrt(1.0 - t * t);
}
function circOut(t) {
    return Math.sqrt(1 - --t * t);
}
function easing_cubicInOut(t) {
    return t < 0.5 ? 4.0 * t * t * t : 0.5 * Math.pow(2.0 * t - 2.0, 3.0) + 1.0;
}
function cubicIn(t) {
    return t * t * t;
}
function easing_cubicOut(t) {
    const f = t - 1.0;
    return f * f * f + 1.0;
}
function elasticInOut(t) {
    return t < 0.5
        ? 0.5 *
            Math.sin(((+13.0 * Math.PI) / 2) * 2.0 * t) *
            Math.pow(2.0, 10.0 * (2.0 * t - 1.0))
        : 0.5 *
            Math.sin(((-13.0 * Math.PI) / 2) * (2.0 * t - 1.0 + 1.0)) *
            Math.pow(2.0, -10.0 * (2.0 * t - 1.0)) +
            1.0;
}
function elasticIn(t) {
    return Math.sin((13.0 * t * Math.PI) / 2) * Math.pow(2.0, 10.0 * (t - 1.0));
}
function elasticOut(t) {
    return (Math.sin((-13.0 * (t + 1.0) * Math.PI) / 2) * Math.pow(2.0, -10.0 * t) + 1.0);
}
function expoInOut(t) {
    return t === 0.0 || t === 1.0
        ? t
        : t < 0.5
            ? +0.5 * Math.pow(2.0, 20.0 * t - 10.0)
            : -0.5 * Math.pow(2.0, 10.0 - t * 20.0) + 1.0;
}
function expoIn(t) {
    return t === 0.0 ? t : Math.pow(2.0, 10.0 * (t - 1.0));
}
function expoOut(t) {
    return t === 1.0 ? t : 1.0 - Math.pow(2.0, -10.0 * t);
}
function quadInOut(t) {
    t /= 0.5;
    if (t < 1)
        return 0.5 * t * t;
    t--;
    return -0.5 * (t * (t - 2) - 1);
}
function quadIn(t) {
    return t * t;
}
function quadOut(t) {
    return -t * (t - 2.0);
}
function quartInOut(t) {
    return t < 0.5
        ? +8.0 * Math.pow(t, 4.0)
        : -8.0 * Math.pow(t - 1.0, 4.0) + 1.0;
}
function quartIn(t) {
    return Math.pow(t, 4.0);
}
function quartOut(t) {
    return Math.pow(t - 1.0, 3.0) * (1.0 - t) + 1.0;
}
function quintInOut(t) {
    if ((t *= 2) < 1)
        return 0.5 * t * t * t * t * t;
    return 0.5 * ((t -= 2) * t * t * t * t + 2);
}
function quintIn(t) {
    return t * t * t * t * t;
}
function quintOut(t) {
    return --t * t * t * t * t + 1;
}
function sineInOut(t) {
    return -0.5 * (Math.cos(Math.PI * t) - 1);
}
function sineIn(t) {
    const v = Math.cos(t * Math.PI * 0.5);
    if (Math.abs(v) < 1e-14)
        return 1;
    else
        return 1 - v;
}
function sineOut(t) {
    return Math.sin((t * Math.PI) / 2);
}



;// ../node_modules/svelte/transition/index.mjs



/******************************************************************************
Copyright (c) Microsoft Corporation.

Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */

function __rest(s, e) {
    var t = {};
    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
        t[p] = s[p];
    if (s != null && typeof Object.getOwnPropertySymbols === "function")
        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
                t[p[i]] = s[p[i]];
        }
    return t;
}

function transition_blur(node, { delay = 0, duration = 400, easing = cubicInOut, amount = 5, opacity = 0 } = {}) {
    const style = getComputedStyle(node);
    const target_opacity = +style.opacity;
    const f = style.filter === 'none' ? '' : style.filter;
    const od = target_opacity * (1 - opacity);
    const [value, unit] = split_css_unit(amount);
    return {
        delay,
        duration,
        easing,
        css: (_t, u) => `opacity: ${target_opacity - (od * u)}; filter: ${f} blur(${u * value}${unit});`
    };
}
function fade(node, { delay = 0, duration = 400, easing = internal_identity } = {}) {
    const o = +getComputedStyle(node).opacity;
    return {
        delay,
        duration,
        easing,
        css: t => `opacity: ${t * o}`
    };
}
function fly(node, { delay = 0, duration = 400, easing = cubicOut, x = 0, y = 0, opacity = 0 } = {}) {
    const style = getComputedStyle(node);
    const target_opacity = +style.opacity;
    const transform = style.transform === 'none' ? '' : style.transform;
    const od = target_opacity * (1 - opacity);
    const [xValue, xUnit] = split_css_unit(x);
    const [yValue, yUnit] = split_css_unit(y);
    return {
        delay,
        duration,
        easing,
        css: (t, u) => `
			transform: ${transform} translate(${(1 - t) * xValue}${xUnit}, ${(1 - t) * yValue}${yUnit});
			opacity: ${target_opacity - (od * u)}`
    };
}
function slide(node, { delay = 0, duration = 400, easing = cubicOut, axis = 'y' } = {}) {
    const style = getComputedStyle(node);
    const opacity = +style.opacity;
    const primary_property = axis === 'y' ? 'height' : 'width';
    const primary_property_value = parseFloat(style[primary_property]);
    const secondary_properties = axis === 'y' ? ['top', 'bottom'] : ['left', 'right'];
    const capitalized_secondary_properties = secondary_properties.map((e) => `${e[0].toUpperCase()}${e.slice(1)}`);
    const padding_start_value = parseFloat(style[`padding${capitalized_secondary_properties[0]}`]);
    const padding_end_value = parseFloat(style[`padding${capitalized_secondary_properties[1]}`]);
    const margin_start_value = parseFloat(style[`margin${capitalized_secondary_properties[0]}`]);
    const margin_end_value = parseFloat(style[`margin${capitalized_secondary_properties[1]}`]);
    const border_width_start_value = parseFloat(style[`border${capitalized_secondary_properties[0]}Width`]);
    const border_width_end_value = parseFloat(style[`border${capitalized_secondary_properties[1]}Width`]);
    return {
        delay,
        duration,
        easing,
        css: t => 'overflow: hidden;' +
            `opacity: ${Math.min(t * 20, 1) * opacity};` +
            `${primary_property}: ${t * primary_property_value}px;` +
            `padding-${secondary_properties[0]}: ${t * padding_start_value}px;` +
            `padding-${secondary_properties[1]}: ${t * padding_end_value}px;` +
            `margin-${secondary_properties[0]}: ${t * margin_start_value}px;` +
            `margin-${secondary_properties[1]}: ${t * margin_end_value}px;` +
            `border-${secondary_properties[0]}-width: ${t * border_width_start_value}px;` +
            `border-${secondary_properties[1]}-width: ${t * border_width_end_value}px;`
    };
}
function scale(node, { delay = 0, duration = 400, easing = cubicOut, start = 0, opacity = 0 } = {}) {
    const style = getComputedStyle(node);
    const target_opacity = +style.opacity;
    const transform = style.transform === 'none' ? '' : style.transform;
    const sd = 1 - start;
    const od = target_opacity * (1 - opacity);
    return {
        delay,
        duration,
        easing,
        css: (_t, u) => `
			transform: ${transform} scale(${1 - (sd * u)});
			opacity: ${target_opacity - (od * u)}
		`
    };
}
function draw(node, { delay = 0, speed, duration, easing = cubicInOut } = {}) {
    let len = node.getTotalLength();
    const style = getComputedStyle(node);
    if (style.strokeLinecap !== 'butt') {
        len += parseInt(style.strokeWidth);
    }
    if (duration === undefined) {
        if (speed === undefined) {
            duration = 800;
        }
        else {
            duration = len / speed;
        }
    }
    else if (typeof duration === 'function') {
        duration = duration(len);
    }
    return {
        delay,
        duration,
        easing,
        css: (_, u) => `
			stroke-dasharray: ${len};
			stroke-dashoffset: ${u * len};
		`
    };
}
function crossfade(_a) {
    var { fallback } = _a, defaults = __rest(_a, ["fallback"]);
    const to_receive = new Map();
    const to_send = new Map();
    function crossfade(from_node, node, params) {
        const { delay = 0, duration = d => Math.sqrt(d) * 30, easing = cubicOut } = assign(assign({}, defaults), params);
        const from = from_node.getBoundingClientRect();
        const to = node.getBoundingClientRect();
        const dx = from.left - to.left;
        const dy = from.top - to.top;
        const dw = from.width / to.width;
        const dh = from.height / to.height;
        const d = Math.sqrt(dx * dx + dy * dy);
        const style = getComputedStyle(node);
        const transform = style.transform === 'none' ? '' : style.transform;
        const opacity = +style.opacity;
        return {
            delay,
            duration: is_function(duration) ? duration(d) : duration,
            easing,
            css: (t, u) => `
				opacity: ${t * opacity};
				transform-origin: top left;
				transform: ${transform} translate(${u * dx}px,${u * dy}px) scale(${t + (1 - t) * dw}, ${t + (1 - t) * dh});
			`
        };
    }
    function transition(items, counterparts, intro) {
        return (node, params) => {
            items.set(params.key, node);
            return () => {
                if (counterparts.has(params.key)) {
                    const other_node = counterparts.get(params.key);
                    counterparts.delete(params.key);
                    return crossfade(other_node, node, params);
                }
                // if the node is disappearing altogether
                // (i.e. wasn't claimed by the other list)
                // then we need to supply an outro
                items.delete(params.key);
                return fallback && fallback(node, params, intro);
            };
        };
    }
    return [
        transition(to_send, to_receive, false),
        transition(to_receive, to_send, true)
    ];
}



// EXTERNAL MODULE: ../node_modules/@fortawesome/free-solid-svg-icons/faChartBar.js
var faChartBar = __webpack_require__(6876);
;// ../canvas_viz/dist/types.js
/**
 * Copyright 2024 BetterWithData
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
var CanvasDataType;
(function (CanvasDataType) {
    CanvasDataType[CanvasDataType["TABULAR"] = 1] = "TABULAR";
    CanvasDataType[CanvasDataType["IMAGE"] = 2] = "IMAGE";
    CanvasDataType[CanvasDataType["AUDIO"] = 3] = "AUDIO";
})(CanvasDataType || (CanvasDataType = {}));
var ResolverType;
(function (ResolverType) {
    ResolverType[ResolverType["BINNED_STRING"] = 0] = "BINNED_STRING";
    ResolverType[ResolverType["NUMBER"] = 1] = "NUMBER";
})(ResolverType || (ResolverType = {}));

;// ../node_modules/@fireflysemantics/join/fesm2015/fireflysemantics-join.js
/**
MIT License

Copyright (c) Firefly Semantics Corporation
Copyright (c) 2020 Ole K. Ersoy
Copyright (c) 2015 José F. Romaniello

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE. */
/**
 * @param args The components of the URL
 * @throws TypeError if the args URL components are not all of type string
 * @return The URL string
 */
function fireflysemantics_join_join(...args) {
    let components = [];
    /**
     * If an empty array is received then
     * the URL is just ''.
     */
    if (args.length === 0) {
        return '';
    }
    /** The args values must be of type string */
    args.forEach(component => {
        if (typeof component !== 'string') {
            throw new TypeError(`Url components must be of type string. 
                    The ${component} component is of type ${typeof component}`);
        }
    });
    /**
     * If the protocol is specified by itself,
     * then the protocol is combined with the
     * subsequent array value.
     */
    const protocol = args[0];
    if (protocol.match(/^[^/:]+:\/*$/) && args.length > 1) {
        var first = args.shift();
        args[0] = first + args[0];
    }
    /**
     * The file protocol should have two or three slashes.
     * Other protocols should have 2.
     */
    if (args[0].match(/^file:\/\/\//)) {
        args[0] = args[0].replace(/^([^/:]+):\/*/, '$1:///');
    }
    else {
        args[0] = args[0].replace(/^([^/:]+):\/*/, '$1://');
    }
    /** The args values must be of type string */
    args.forEach((component, i) => {
        if (component === '') {
            return;
        }
        /**
         * Remove starting slashes for all but the first component
         */
        if (i > 0) {
            component = component.replace(/^[\/]+/, '');
        }
        /**
         * Remove the ending slashes for each component but the last.
         */
        if (i < args.length - 1) {
            component = component.replace(/[\/]+$/, '');
        }
        else {
            // For the last combine multiple slashes into one.
            component = component.replace(/[\/]+$/, '/');
        }
        components.push(component);
    });
    /**
     * Separate all the components by a single /
     */
    let url = components.join('/');
    // remove trailing slash before parameters or hash
    url = url.replace(/\/(\?|&|#[^!])/g, '$1');
    // replace ? in parameters with &
    var parts = url.split('?');
    url = parts.shift() + (parts.length > 0 ? '?' : '') + parts.join('&');
    return url;
}

/*
 * Public API Surface of join
 */

/**
 * Generated bundle index. Do not edit.
 */


//# sourceMappingURL=fireflysemantics-join.js.map

// EXTERNAL MODULE: ../node_modules/@jupyterlab/services/lib/index.js
var lib = __webpack_require__(6492);
;// ../canvas_viz/dist/helpers/contentservice.js
/**
 * Copyright 2024 BetterWithData
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/**
 * Singleton contentsService class for managing file operations
 */
class ContentsService {
    constructor() {
        var _a;
        const contentsManager = new lib.ContentsManager();
        this.contentsManager = contentsManager;
        // Get the server root from the contents manager settings
        this.baseServerPath = ((_a = contentsManager.serverSettings) === null || _a === void 0 ? void 0 : _a.baseUrl) || process.env.JUPYTER_SERVER_ROOT || '';
    }
    static getInstance() {
        if (!this.instance) {
            this.instance = new ContentsService();
        }
        return this.instance;
    }
    /**
     * Create a file/directory if it does not exist. Otherwise, save the change in a file/directory in the given path
     * @param path path to a file/directory
     * @param options options that specify if it's a file or directory and additial information
     * Usage: save('snippets', { type: 'directory' }) to create/save a directory
     *        save('snippets/test.json', {type: 'file', format: 'text', content: 'Lorem ipsum dolor sit amet'})
     */
    async save(path, options) {
        try {
            const changedModel = await this.contentsManager.save(path, options);
            return changedModel;
        }
        catch (error) {
            console.error('Error saving file/directory:', error);
            throw error; // Re-throw the error instead of returning it
        }
    }
    async readContent(path) {
        try {
            const getFileResult = await this.contentsManager.get(path);
            if (typeof getFileResult.content !== 'string') {
                throw new Error('Unable to read the image');
            }
            return `data:${getFileResult.mimetype};${getFileResult.format},${getFileResult.content}`;
        }
        catch (error) {
            console.error('Error reading file/directory:', error);
            throw error; // Re-throw the error instead of returning it
        }
    }
    async readAudioContent(path) {
        try {
            const getFileResult = await this.contentsManager.get(path);
            if (typeof getFileResult.content !== 'string') {
                throw new Error('Unable to read the Audio data');
            }
            return `${getFileResult.content}`;
        }
        catch (error) {
            console.error('Error reading file/directory:', error);
            throw error; // Re-throw the error instead of returning it
        }
    }
    /**
     * Convert a server path to a local filesystem path
     * @param path - Server path (e.g., '/notebooks/example.ipynb')
     * @returns Local filesystem path (e.g., '/home/user/notebooks/example.ipynb')
     *
     * Usage:
     * ```typescript
     * const serverPath = '/notebooks/example.ipynb';
     * const localPath = contentsService.getLocalPath(serverPath);
     * console.log(localPath); // '/home/user/notebooks/example.ipynb'
     * ```
     */
    getLocalPath(path) {
        const relativePath = this.contentsManager.localPath(path);
        if (!this.baseServerPath) {
            console.warn('Base server path not available, returning relative path');
            return relativePath;
        }
        return `${this.baseServerPath}/${relativePath}`.replace(/\/+/g, '/'); // Clean up any double slashes
    }
    /**
     * Convert a local filesystem path to a server path
     * @param localPath - Local filesystem path (e.g., '/home/user/notebooks/example.ipynb')
     * @returns Server path (e.g., '/notebooks/example.ipynb')
     *
     * Usage:
     * ```typescript
     * const localPath = '/home/user/notebooks/example.ipynb';
     * const serverPath = contentsService.getServerPath(localPath);
     * console.log(serverPath); // '/notebooks/example.ipynb'
     * ```
     */
    getServerPath(localPath) {
        return this.contentsManager.normalize(localPath);
    }
    /**
     * Resolve a relative path against a parent directory
     * @param relativePath - Relative path to resolve (e.g., '../data/file.csv')
     * @param parent - Parent directory to resolve against (e.g., '/notebooks/project')
     * @returns Resolved absolute server path
     *
     * Usage:
     * ```typescript
     * // When in /notebooks/project/analysis
     * const relativePath = '../data/file.csv';
     * const parent = '/notebooks/project/analysis';
     * const resolved = contentsService.resolvePath(relativePath, parent);
     * console.log(resolved); // '/notebooks/project/data/file.csv'
     *
     * // Handle special cases
     * contentsService.resolvePath('.', '/home');        // Returns '/home'
     * contentsService.resolvePath('..', '/home/user');  // Returns '/home'
     * contentsService.resolvePath('file.txt', '/dir');  // Returns '/dir/file.txt'
     * ```
     */
    resolvePath(relativePath, parent) {
        return this.contentsManager.resolvePath(relativePath, parent);
    }
}

;// ../canvas_viz/dist/elements/ImageSample.svelte
/* media/satish/Development/workspace/projects/exploratory_data_analysis/deepview/src/deepview_canvas/canvas_viz/dist/elements/ImageSample.svelte generated by Svelte v3.59.2 */





function create_catch_block(ctx) {
	let p;
	let t_value = /*error*/ ctx[9].message + "";
	let t;

	return {
		c() {
			p = internal_element("p");
			t = internal_text(t_value);
			attr(p, "class", "error");
		},
		m(target, anchor) {
			insert(target, p, anchor);
			append(p, t);
		},
		p(ctx, dirty) {
			if (dirty & /*imagePromise*/ 8 && t_value !== (t_value = /*error*/ ctx[9].message + "")) set_data(t, t_value);
		},
		d(detaching) {
			if (detaching) detach(p);
		}
	};
}

// (55:2) {:then src}
function create_then_block(ctx) {
	let img;
	let img_src_value;
	let img_alt_value;
	let img_class_value;
	let img_style_value;
	let mounted;
	let dispose;

	return {
		c() {
			img = internal_element("img");
			attr(img, "id", "imageSample");
			if (!src_url_equal(img.src, img_src_value = /*src*/ ctx[8])) attr(img, "src", img_src_value);
			attr(img, "alt", img_alt_value = "Image with title: " + /*id*/ ctx[0]);
			attr(img, "class", img_class_value = /*large*/ ctx[2] ? "mx-1" : "w-12 m-1");
			attr(img, "style", img_style_value = `background: black; max-width: ${/*large*/ ctx[2] ? '256px' : '128px'}`);
		},
		m(target, anchor) {
			insert(target, img, anchor);

			if (!mounted) {
				dispose = listen(img, "error", handleImageError);
				mounted = true;
			}
		},
		p(ctx, dirty) {
			if (dirty & /*imagePromise*/ 8 && !src_url_equal(img.src, img_src_value = /*src*/ ctx[8])) {
				attr(img, "src", img_src_value);
			}

			if (dirty & /*id*/ 1 && img_alt_value !== (img_alt_value = "Image with title: " + /*id*/ ctx[0])) {
				attr(img, "alt", img_alt_value);
			}

			if (dirty & /*large*/ 4 && img_class_value !== (img_class_value = /*large*/ ctx[2] ? "mx-1" : "w-12 m-1")) {
				attr(img, "class", img_class_value);
			}

			if (dirty & /*large*/ 4 && img_style_value !== (img_style_value = `background: black; max-width: ${/*large*/ ctx[2] ? '256px' : '128px'}`)) {
				attr(img, "style", img_style_value);
			}
		},
		d(detaching) {
			if (detaching) detach(img);
			mounted = false;
			dispose();
		}
	};
}

// (53:23)      <p class="loading">Loading...</p>   {:then src}
function create_pending_block(ctx) {
	let p;

	return {
		c() {
			p = internal_element("p");
			p.textContent = "Loading...";
			attr(p, "class", "loading");
		},
		m(target, anchor) {
			insert(target, p, anchor);
		},
		p: noop,
		d(detaching) {
			if (detaching) detach(p);
		}
	};
}

function ImageSample_svelte_create_fragment(ctx) {
	let div;
	let promise;

	let info = {
		ctx,
		current: null,
		token: null,
		hasCatch: true,
		pending: create_pending_block,
		then: create_then_block,
		catch: create_catch_block,
		value: 8,
		error: 9
	};

	handle_promise(promise = /*imagePromise*/ ctx[3], info);

	return {
		c() {
			div = internal_element("div");
			info.block.c();
		},
		m(target, anchor) {
			insert(target, div, anchor);
			info.block.m(div, info.anchor = null);
			info.mount = () => div;
			info.anchor = null;
		},
		p(new_ctx, [dirty]) {
			ctx = new_ctx;
			info.ctx = ctx;

			if (dirty & /*imagePromise*/ 8 && promise !== (promise = /*imagePromise*/ ctx[3]) && handle_promise(promise, info)) {
				
			} else {
				update_await_block_branch(info, ctx, dirty);
			}
		},
		i: noop,
		o: noop,
		d(detaching) {
			if (detaching) detach(div);
			info.block.d();
			info.token = null;
			info = null;
		}
	};
}

function handleImageError(event) {
	console.error("Error loading image:", event);
	const target = event.target;
	target.alt = 'Image failed to load';
}

function ImageSample_svelte_instance($$self, $$props, $$invalidate) {
	let $canvasSpec,
		$$unsubscribe_canvasSpec = noop,
		$$subscribe_canvasSpec = () => ($$unsubscribe_canvasSpec(), $$unsubscribe_canvasSpec = subscribe(canvasSpec, $$value => $$invalidate(5, $canvasSpec = $$value)), canvasSpec);

	$$self.$$.on_destroy.push(() => $$unsubscribe_canvasSpec());
	let { id } = $$props;
	let { canvasSpec } = $$props;
	$$subscribe_canvasSpec();
	let { large = false } = $$props;
	let { storybook = false } = $$props;
	let imagePromise;
	const contentsManager = ContentsService.getInstance();

	async function loadImage(filesPath, imageId) {
		// console.log("Loading image:", imageId);
		if (storybook) {
			// console.log("Loading image from storybook:", join(filesPath, imageId));
			return fireflysemantics_join_join(filesPath, imageId);
		} else {
			try {
				const filePath = fireflysemantics_join_join(filesPath, imageId);
				const result = await contentsManager.readContent(filePath);

				if (typeof result !== 'string') {
					throw new Error('Unexpected content type');
				}

				return result;
			} catch(error) {
				console.error('Error reading image file:', error);
				throw new Error(`Failed to load image: ${imageId}`);
			}
		}
	}

	$$self.$$set = $$props => {
		if ('id' in $$props) $$invalidate(0, id = $$props.id);
		if ('canvasSpec' in $$props) $$subscribe_canvasSpec($$invalidate(1, canvasSpec = $$props.canvasSpec));
		if ('large' in $$props) $$invalidate(2, large = $$props.large);
		if ('storybook' in $$props) $$invalidate(4, storybook = $$props.storybook);
	};

	$$self.$$.update = () => {
		if ($$self.$$.dirty & /*$canvasSpec, id*/ 33) {
			$: $$invalidate(3, imagePromise = loadImage($canvasSpec.filesPath, id));
		}
	};

	return [id, canvasSpec, large, imagePromise, storybook, $canvasSpec];
}

class ImageSample extends SvelteComponent {
	constructor(options) {
		super();

		init(this, options, ImageSample_svelte_instance, ImageSample_svelte_create_fragment, safe_not_equal, {
			id: 0,
			canvasSpec: 1,
			large: 2,
			storybook: 4
		});
	}
}

/* harmony default export */ const ImageSample_svelte = (ImageSample);
// EXTERNAL MODULE: ../node_modules/wavesurfer.js/dist/wavesurfer.js
var dist_wavesurfer = __webpack_require__(379);
var wavesurfer_default = /*#__PURE__*/__webpack_require__.n(dist_wavesurfer);
// EXTERNAL MODULE: ../node_modules/@fortawesome/free-solid-svg-icons/faPlay.js
var faPlay = __webpack_require__(3155);
// EXTERNAL MODULE: ../node_modules/@fortawesome/free-solid-svg-icons/faPause.js
var faPause = __webpack_require__(2251);
;// ../canvas_viz/dist/elements/AudioSample.svelte
/* media/satish/Development/workspace/projects/exploratory_data_analysis/deepview/src/deepview_canvas/canvas_viz/dist/elements/AudioSample.svelte generated by Svelte v3.59.2 */











function AudioSample_svelte_create_icon_slot(ctx) {
	let fa;
	let current;

	fa = new fa_svelte({
			props: {
				icon: /*playing*/ ctx[3] ? faPause/* faPause */.G1 : faPlay/* faPlay */.ij,
				slot: "icon"
			}
		});

	return {
		c() {
			create_component(fa.$$.fragment);
		},
		m(target, anchor) {
			mount_component(fa, target, anchor);
			current = true;
		},
		p(ctx, dirty) {
			const fa_changes = {};
			if (dirty & /*playing*/ 8) fa_changes.icon = /*playing*/ ctx[3] ? faPause/* faPause */.G1 : faPlay/* faPlay */.ij;
			fa.$set(fa_changes);
		},
		i(local) {
			if (current) return;
			transition_in(fa.$$.fragment, local);
			current = true;
		},
		o(local) {
			transition_out(fa.$$.fragment, local);
			current = false;
		},
		d(detaching) {
			destroy_component(fa, detaching);
		}
	};
}

function AudioSample_svelte_create_fragment(ctx) {
	let div2;
	let div0;
	let t;
	let div1;
	let iconbutton;
	let div2_class_value;
	let current;
	let mounted;
	let dispose;

	iconbutton = new IconButton_svelte({
			props: {
				$$slots: { icon: [AudioSample_svelte_create_icon_slot] },
				$$scope: { ctx }
			}
		});

	iconbutton.$on("click", /*changePlayStatus*/ ctx[4]);

	return {
		c() {
			div2 = internal_element("div");
			div0 = internal_element("div");
			t = space();
			div1 = internal_element("div");
			create_component(iconbutton.$$.fragment);
			attr(div2, "class", div2_class_value = "flex flex-col " + (/*large*/ ctx[1] ? 'w-48 mx-1' : 'w-24 m-1'));
		},
		m(target, anchor) {
			insert(target, div2, anchor);
			append(div2, div0);
			/*div0_binding*/ ctx[11](div0);
			append(div2, t);
			append(div2, div1);
			mount_component(iconbutton, div1, null);
			current = true;

			if (!mounted) {
				dispose = listen(div0, "click", /*click_handler*/ ctx[10]);
				mounted = true;
			}
		},
		p(ctx, [dirty]) {
			const iconbutton_changes = {};

			if (dirty & /*$$scope, playing*/ 8200) {
				iconbutton_changes.$$scope = { dirty, ctx };
			}

			iconbutton.$set(iconbutton_changes);

			if (!current || dirty & /*large*/ 2 && div2_class_value !== (div2_class_value = "flex flex-col " + (/*large*/ ctx[1] ? 'w-48 mx-1' : 'w-24 m-1'))) {
				attr(div2, "class", div2_class_value);
			}
		},
		i(local) {
			if (current) return;
			transition_in(iconbutton.$$.fragment, local);
			current = true;
		},
		o(local) {
			transition_out(iconbutton.$$.fragment, local);
			current = false;
		},
		d(detaching) {
			if (detaching) detach(div2);
			/*div0_binding*/ ctx[11](null);
			destroy_component(iconbutton);
			mounted = false;
			dispose();
		}
	};
}

function base64ToArrayBuffer(base64) {
	try {
		const trimmedBase64 = base64.trim();
		const binaryString = atob(trimmedBase64);
		const bytes = new Uint8Array(binaryString.length);

		for (let i = 0; i < binaryString.length; i++) {
			bytes[i] = binaryString.charCodeAt(i);
		}

		return bytes.buffer;
	} catch(error) {
		console.error("Failed to decode base64 string:", error);
		console.log("Problematic base64 string:", base64);
		throw error;
	}
}

function AudioSample_svelte_instance($$self, $$props, $$invalidate) {
	let $canvasSpec,
		$$unsubscribe_canvasSpec = noop,
		$$subscribe_canvasSpec = () => ($$unsubscribe_canvasSpec(), $$unsubscribe_canvasSpec = subscribe(canvasSpec, $$value => $$invalidate(9, $canvasSpec = $$value)), canvasSpec);

	$$self.$$.on_destroy.push(() => $$unsubscribe_canvasSpec());
	let { id } = $$props;
	let { canvasSpec } = $$props;
	$$subscribe_canvasSpec();
	let { large = false } = $$props;
	let { storybook = false } = $$props;
	const contentsManager = ContentsService.getInstance();
	let container;
	let wavesurfer;
	let playing = false;
	let oldId = "";

	function changePlayStatus() {
		if (playing) {
			wavesurfer.pause();
			$$invalidate(3, playing = false);
		} else {
			wavesurfer.play();
			$$invalidate(3, playing = true);
		}
	}

	onDestroy(() => {
		if (wavesurfer) {
			wavesurfer.destroy();
		}
	});

	function click_handler(event) {
		bubble.call(this, $$self, event);
	}

	function div0_binding($$value) {
		binding_callbacks[$$value ? 'unshift' : 'push'](() => {
			container = $$value;
			((((($$invalidate(2, container), $$invalidate(5, id)), $$invalidate(8, oldId)), $$invalidate(7, wavesurfer)), $$invalidate(9, $canvasSpec)), $$invalidate(6, storybook));
		});
	}

	$$self.$$set = $$props => {
		if ('id' in $$props) $$invalidate(5, id = $$props.id);
		if ('canvasSpec' in $$props) $$subscribe_canvasSpec($$invalidate(0, canvasSpec = $$props.canvasSpec));
		if ('large' in $$props) $$invalidate(1, large = $$props.large);
		if ('storybook' in $$props) $$invalidate(6, storybook = $$props.storybook);
	};

	$$self.$$.update = () => {
		if ($$self.$$.dirty & /*container, id, oldId, wavesurfer, $canvasSpec, storybook*/ 996) {
			$: if (container !== undefined && id !== oldId) {
				if (wavesurfer !== undefined) wavesurfer.destroy();
				$$invalidate(2, container.innerHTML = "", container);

				$$invalidate(7, wavesurfer = wavesurfer_default().create({
					container,
					waveColor: "#cfcfcf",
					progressColor: "#0071e3"
				}));

				const filePath = fireflysemantics_join_join($canvasSpec.filesPath, id);

				if (storybook) {
					wavesurfer.load(filePath);
				} else {
					contentsManager.readAudioContent(filePath).then(result => {
						const arrayBuffer = base64ToArrayBuffer(result);
						wavesurfer.loadArrayBuffer(arrayBuffer);
					}).catch(error => {
						console.error("Unable to load the audio data", error);
					});
				}

				$$invalidate(3, playing = false);
				$$invalidate(8, oldId = id);
			}
		}
	};

	return [
		canvasSpec,
		large,
		container,
		playing,
		changePlayStatus,
		id,
		storybook,
		wavesurfer,
		oldId,
		$canvasSpec,
		click_handler,
		div0_binding
	];
}

class AudioSample extends SvelteComponent {
	constructor(options) {
		super();

		init(this, options, AudioSample_svelte_instance, AudioSample_svelte_create_fragment, safe_not_equal, {
			id: 5,
			canvasSpec: 0,
			large: 1,
			storybook: 6
		});
	}
}

/* harmony default export */ const AudioSample_svelte = (AudioSample);
// EXTERNAL MODULE: ../node_modules/@fortawesome/free-solid-svg-icons/faTable.js
var faTable = __webpack_require__(1849);
;// ../canvas_viz/dist/elements/TabularSample.svelte
/* media/satish/Development/workspace/projects/exploratory_data_analysis/deepview/src/deepview_canvas/canvas_viz/dist/elements/TabularSample.svelte generated by Svelte v3.59.2 */





function TabularSample_svelte_create_fragment(ctx) {
	let div;
	let fa;
	let current;
	let mounted;
	let dispose;
	fa = new fa_svelte({ props: { icon: faTable/* faTable */.w9 } });

	return {
		c() {
			div = internal_element("div");
			create_component(fa.$$.fragment);
			attr(div, "class", "p-2");
		},
		m(target, anchor) {
			insert(target, div, anchor);
			mount_component(fa, div, null);
			current = true;

			if (!mounted) {
				dispose = listen(div, "click", /*click_handler*/ ctx[1]);
				mounted = true;
			}
		},
		p: noop,
		i(local) {
			if (current) return;
			transition_in(fa.$$.fragment, local);
			current = true;
		},
		o(local) {
			transition_out(fa.$$.fragment, local);
			current = false;
		},
		d(detaching) {
			if (detaching) detach(div);
			destroy_component(fa);
			mounted = false;
			dispose();
		}
	};
}

function TabularSample_svelte_instance($$self, $$props, $$invalidate) {
	let { storybook = false } = $$props;

	function click_handler(event) {
		bubble.call(this, $$self, event);
	}

	$$self.$$set = $$props => {
		if ('storybook' in $$props) $$invalidate(0, storybook = $$props.storybook);
	};

	return [storybook, click_handler];
}

class TabularSample extends SvelteComponent {
	constructor(options) {
		super();
		init(this, options, TabularSample_svelte_instance, TabularSample_svelte_create_fragment, safe_not_equal, { storybook: 0 });
	}
}

/* harmony default export */ const TabularSample_svelte = (TabularSample);
;// ../canvas_viz/dist/helpers/filetype.js
/**
 * Copyright 2024 BetterWithData
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */




function getComponentForType(type) {
    switch (type) {
        case CanvasDataType.AUDIO:
            return AudioSample_svelte;
        case CanvasDataType.IMAGE:
            return ImageSample_svelte;
        default:
            return TabularSample_svelte;
    }
}

;// ../canvas_viz/dist/elements/DataSampleDetail.svelte
/* media/satish/Development/workspace/projects/exploratory_data_analysis/deepview/src/deepview_canvas/canvas_viz/dist/elements/DataSampleDetail.svelte generated by Svelte v3.59.2 */







function DataSampleDetail_svelte_get_each_context(ctx, list, i) {
	const child_ctx = ctx.slice();
	child_ctx[15] = list[i][0];
	child_ctx[16] = list[i][1];
	return child_ctx;
}

// (46:0) {#if $tooltip.hover && $tooltip.instance !== undefined}
function DataSampleDetail_svelte_create_if_block(ctx) {
	let div3;
	let div0;
	let switch_instance;
	let t0;
	let div2;
	let div1;
	let t1_value = /*$tooltip*/ ctx[7].instance[/*$canvasSpec*/ ctx[9].idColumn] + "";
	let t1;
	let t2;
	let t3;
	let div3_resize_listener;
	let div3_transition;
	let current;
	var switch_value = getComponentForType(/*$canvasSpec*/ ctx[9].dataType);

	function switch_props(ctx) {
		return {
			props: {
				id: /*$tooltip*/ ctx[7].instance[/*$canvasSpec*/ ctx[9].idColumn],
				canvasSpec: /*canvasSpec*/ ctx[0],
				storybook: /*storybook*/ ctx[2],
				large: true
			}
		};
	}

	if (switch_value) {
		switch_instance = construct_svelte_component(switch_value, switch_props(ctx));
	}

	let if_block = /*$tooltip*/ ctx[7].number !== undefined && create_if_block_2(ctx);
	let each_value = Object.entries(/*$tooltip*/ ctx[7].instance);
	let each_blocks = [];

	for (let i = 0; i < each_value.length; i += 1) {
		each_blocks[i] = DataSampleDetail_svelte_create_each_block(DataSampleDetail_svelte_get_each_context(ctx, each_value, i));
	}

	return {
		c() {
			div3 = internal_element("div");
			div0 = internal_element("div");
			if (switch_instance) create_component(switch_instance.$$.fragment);
			t0 = space();
			div2 = internal_element("div");
			div1 = internal_element("div");
			t1 = internal_text(t1_value);
			t2 = space();
			if (if_block) if_block.c();
			t3 = space();

			for (let i = 0; i < each_blocks.length; i += 1) {
				each_blocks[i].c();
			}

			attr(div0, "class", "flex flex-shrink-0");
			attr(div1, "class", "flex font-bold");
			attr(div2, "class", "flex flex-col pl-2 pr-4 m-2 mt-0 break-all");
			attr(div3, "class", "text-sm fixed p-1 rounded text-text-dark shadow z-10 flex mt-4 mb-4");
			attr(div3, "style", /*style*/ ctx[8]);
			add_render_callback(() => /*div3_elementresize_handler*/ ctx[14].call(div3));
		},
		m(target, anchor) {
			insert(target, div3, anchor);
			append(div3, div0);
			if (switch_instance) mount_component(switch_instance, div0, null);
			append(div3, t0);
			append(div3, div2);
			append(div2, div1);
			append(div1, t1);
			append(div2, t2);
			if (if_block) if_block.m(div2, null);
			append(div2, t3);

			for (let i = 0; i < each_blocks.length; i += 1) {
				if (each_blocks[i]) {
					each_blocks[i].m(div2, null);
				}
			}

			div3_resize_listener = add_iframe_resize_listener(div3, /*div3_elementresize_handler*/ ctx[14].bind(div3));
			current = true;
		},
		p(ctx, dirty) {
			const switch_instance_changes = {};
			if (dirty & /*$tooltip, $canvasSpec*/ 640) switch_instance_changes.id = /*$tooltip*/ ctx[7].instance[/*$canvasSpec*/ ctx[9].idColumn];
			if (dirty & /*canvasSpec*/ 1) switch_instance_changes.canvasSpec = /*canvasSpec*/ ctx[0];
			if (dirty & /*storybook*/ 4) switch_instance_changes.storybook = /*storybook*/ ctx[2];

			if (dirty & /*$canvasSpec*/ 512 && switch_value !== (switch_value = getComponentForType(/*$canvasSpec*/ ctx[9].dataType))) {
				if (switch_instance) {
					group_outros();
					const old_component = switch_instance;

					transition_out(old_component.$$.fragment, 1, 0, () => {
						destroy_component(old_component, 1);
					});

					check_outros();
				}

				if (switch_value) {
					switch_instance = construct_svelte_component(switch_value, switch_props(ctx));
					create_component(switch_instance.$$.fragment);
					transition_in(switch_instance.$$.fragment, 1);
					mount_component(switch_instance, div0, null);
				} else {
					switch_instance = null;
				}
			} else if (switch_value) {
				switch_instance.$set(switch_instance_changes);
			}

			if ((!current || dirty & /*$tooltip, $canvasSpec*/ 640) && t1_value !== (t1_value = /*$tooltip*/ ctx[7].instance[/*$canvasSpec*/ ctx[9].idColumn] + "")) set_data(t1, t1_value);

			if (/*$tooltip*/ ctx[7].number !== undefined) {
				if (if_block) {
					if_block.p(ctx, dirty);

					if (dirty & /*$tooltip*/ 128) {
						transition_in(if_block, 1);
					}
				} else {
					if_block = create_if_block_2(ctx);
					if_block.c();
					transition_in(if_block, 1);
					if_block.m(div2, t3);
				}
			} else if (if_block) {
				group_outros();

				transition_out(if_block, 1, 1, () => {
					if_block = null;
				});

				check_outros();
			}

			if (dirty & /*formatValue, Object, $tooltip, $canvasSpec*/ 1664) {
				each_value = Object.entries(/*$tooltip*/ ctx[7].instance);
				let i;

				for (i = 0; i < each_value.length; i += 1) {
					const child_ctx = DataSampleDetail_svelte_get_each_context(ctx, each_value, i);

					if (each_blocks[i]) {
						each_blocks[i].p(child_ctx, dirty);
					} else {
						each_blocks[i] = DataSampleDetail_svelte_create_each_block(child_ctx);
						each_blocks[i].c();
						each_blocks[i].m(div2, null);
					}
				}

				for (; i < each_blocks.length; i += 1) {
					each_blocks[i].d(1);
				}

				each_blocks.length = each_value.length;
			}

			if (!current || dirty & /*style*/ 256) {
				attr(div3, "style", /*style*/ ctx[8]);
			}
		},
		i(local) {
			if (current) return;
			if (switch_instance) transition_in(switch_instance.$$.fragment, local);
			transition_in(if_block);

			add_render_callback(() => {
				if (!current) return;
				if (!div3_transition) div3_transition = create_bidirectional_transition(div3, fade, {}, true);
				div3_transition.run(1);
			});

			current = true;
		},
		o(local) {
			if (switch_instance) transition_out(switch_instance.$$.fragment, local);
			transition_out(if_block);
			if (!div3_transition) div3_transition = create_bidirectional_transition(div3, fade, {}, false);
			div3_transition.run(0);
			current = false;
		},
		d(detaching) {
			if (detaching) detach(div3);
			if (switch_instance) destroy_component(switch_instance);
			if (if_block) if_block.d();
			destroy_each(each_blocks, detaching);
			div3_resize_listener();
			if (detaching && div3_transition) div3_transition.end();
		}
	};
}

// (67:6) {#if $tooltip.number !== undefined}
function create_if_block_2(ctx) {
	let div;
	let fa;
	let t0;
	let span;
	let t1_value = /*$tooltip*/ ctx[7].number + "";
	let t1;
	let current;
	fa = new fa_svelte({ props: { icon: faChartBar/* faChartBar */.$F } });

	return {
		c() {
			div = internal_element("div");
			create_component(fa.$$.fragment);
			t0 = space();
			span = internal_element("span");
			t1 = internal_text(t1_value);
			attr(span, "class", "ml-2");
			attr(div, "class", "flex flex-nowrap");
		},
		m(target, anchor) {
			insert(target, div, anchor);
			mount_component(fa, div, null);
			append(div, t0);
			append(div, span);
			append(span, t1);
			current = true;
		},
		p(ctx, dirty) {
			if ((!current || dirty & /*$tooltip*/ 128) && t1_value !== (t1_value = /*$tooltip*/ ctx[7].number + "")) set_data(t1, t1_value);
		},
		i(local) {
			if (current) return;
			transition_in(fa.$$.fragment, local);
			current = true;
		},
		o(local) {
			transition_out(fa.$$.fragment, local);
			current = false;
		},
		d(detaching) {
			if (detaching) detach(div);
			destroy_component(fa);
		}
	};
}

// (74:8) {#if key !== $canvasSpec.idColumn && !key.startsWith("familiarity_") && !key.startsWith("duplicates_") && !key.startsWith("projection_") && !key.startsWith("splitFamiliarity")}
function DataSampleDetail_svelte_create_if_block_1(ctx) {
	let div;
	let span0;
	let t0_value = /*key*/ ctx[15] + "";
	let t0;
	let t1;
	let t2;
	let span1;
	let t3_value = /*formatValue*/ ctx[10](/*val*/ ctx[16]) + "";
	let t3;
	let t4;

	return {
		c() {
			div = internal_element("div");
			span0 = internal_element("span");
			t0 = internal_text(t0_value);
			t1 = internal_text(":");
			t2 = space();
			span1 = internal_element("span");
			t3 = internal_text(t3_value);
			t4 = space();
			attr(span0, "class", "font-bold");
			attr(span1, "class", "ml-2");
			attr(div, "class", "flex flex-nowrap");
		},
		m(target, anchor) {
			insert(target, div, anchor);
			append(div, span0);
			append(span0, t0);
			append(span0, t1);
			append(div, t2);
			append(div, span1);
			append(span1, t3);
			append(div, t4);
		},
		p(ctx, dirty) {
			if (dirty & /*$tooltip*/ 128 && t0_value !== (t0_value = /*key*/ ctx[15] + "")) set_data(t0, t0_value);
			if (dirty & /*$tooltip*/ 128 && t3_value !== (t3_value = /*formatValue*/ ctx[10](/*val*/ ctx[16]) + "")) set_data(t3, t3_value);
		},
		d(detaching) {
			if (detaching) detach(div);
		}
	};
}

// (73:6) {#each Object.entries($tooltip.instance) as [key, val]}
function DataSampleDetail_svelte_create_each_block(ctx) {
	let show_if = /*key*/ ctx[15] !== /*$canvasSpec*/ ctx[9].idColumn && !/*key*/ ctx[15].startsWith("familiarity_") && !/*key*/ ctx[15].startsWith("duplicates_") && !/*key*/ ctx[15].startsWith("projection_") && !/*key*/ ctx[15].startsWith("splitFamiliarity");
	let if_block_anchor;
	let if_block = show_if && DataSampleDetail_svelte_create_if_block_1(ctx);

	return {
		c() {
			if (if_block) if_block.c();
			if_block_anchor = empty();
		},
		m(target, anchor) {
			if (if_block) if_block.m(target, anchor);
			insert(target, if_block_anchor, anchor);
		},
		p(ctx, dirty) {
			if (dirty & /*$tooltip, $canvasSpec*/ 640) show_if = /*key*/ ctx[15] !== /*$canvasSpec*/ ctx[9].idColumn && !/*key*/ ctx[15].startsWith("familiarity_") && !/*key*/ ctx[15].startsWith("duplicates_") && !/*key*/ ctx[15].startsWith("projection_") && !/*key*/ ctx[15].startsWith("splitFamiliarity");

			if (show_if) {
				if (if_block) {
					if_block.p(ctx, dirty);
				} else {
					if_block = DataSampleDetail_svelte_create_if_block_1(ctx);
					if_block.c();
					if_block.m(if_block_anchor.parentNode, if_block_anchor);
				}
			} else if (if_block) {
				if_block.d(1);
				if_block = null;
			}
		},
		d(detaching) {
			if (if_block) if_block.d(detaching);
			if (detaching) detach(if_block_anchor);
		}
	};
}

function DataSampleDetail_svelte_create_fragment(ctx) {
	let if_block_anchor;
	let current;
	let mounted;
	let dispose;
	add_render_callback(/*onwindowresize*/ ctx[13]);
	let if_block = /*$tooltip*/ ctx[7].hover && /*$tooltip*/ ctx[7].instance !== undefined && DataSampleDetail_svelte_create_if_block(ctx);

	return {
		c() {
			if (if_block) if_block.c();
			if_block_anchor = empty();
		},
		m(target, anchor) {
			if (if_block) if_block.m(target, anchor);
			insert(target, if_block_anchor, anchor);
			current = true;

			if (!mounted) {
				dispose = listen(window, "resize", /*onwindowresize*/ ctx[13]);
				mounted = true;
			}
		},
		p(ctx, [dirty]) {
			if (/*$tooltip*/ ctx[7].hover && /*$tooltip*/ ctx[7].instance !== undefined) {
				if (if_block) {
					if_block.p(ctx, dirty);

					if (dirty & /*$tooltip*/ 128) {
						transition_in(if_block, 1);
					}
				} else {
					if_block = DataSampleDetail_svelte_create_if_block(ctx);
					if_block.c();
					transition_in(if_block, 1);
					if_block.m(if_block_anchor.parentNode, if_block_anchor);
				}
			} else if (if_block) {
				group_outros();

				transition_out(if_block, 1, 1, () => {
					if_block = null;
				});

				check_outros();
			}
		},
		i(local) {
			if (current) return;
			transition_in(if_block);
			current = true;
		},
		o(local) {
			transition_out(if_block);
			current = false;
		},
		d(detaching) {
			if (if_block) if_block.d(detaching);
			if (detaching) detach(if_block_anchor);
			mounted = false;
			dispose();
		}
	};
}

function DataSampleDetail_svelte_instance($$self, $$props, $$invalidate) {
	let yPos;
	let xStyle;
	let style;

	let $tooltip,
		$$unsubscribe_tooltip = noop,
		$$subscribe_tooltip = () => ($$unsubscribe_tooltip(), $$unsubscribe_tooltip = subscribe(tooltip, $$value => $$invalidate(7, $tooltip = $$value)), tooltip);

	let $canvasSpec,
		$$unsubscribe_canvasSpec = noop,
		$$subscribe_canvasSpec = () => ($$unsubscribe_canvasSpec(), $$unsubscribe_canvasSpec = subscribe(canvasSpec, $$value => $$invalidate(9, $canvasSpec = $$value)), canvasSpec);

	$$self.$$.on_destroy.push(() => $$unsubscribe_tooltip());
	$$self.$$.on_destroy.push(() => $$unsubscribe_canvasSpec());

	const formatValue = val => {
		if (Array.isArray(val)) return val.toString();
		if (typeof val === 'number') return val.toFixed(2);
		return val;
	};

	let { canvasSpec } = $$props;
	$$subscribe_canvasSpec();
	let { tooltip } = $$props;
	$$subscribe_tooltip();
	let { storybook = false } = $$props;
	let windowWidth = 0;
	let windowHeight = 0;
	let tooltipWidth = 0;
	let tooltipHeight = 0;

	function onwindowresize() {
		$$invalidate(3, windowWidth = window.innerWidth)
		$$invalidate(4, windowHeight = window.innerHeight)
	}

	function div3_elementresize_handler() {
		tooltipWidth = this.offsetWidth;
		tooltipHeight = this.offsetHeight;
		$$invalidate(5, tooltipWidth);
		$$invalidate(6, tooltipHeight);
	}

	$$self.$$set = $$props => {
		if ('canvasSpec' in $$props) $$subscribe_canvasSpec($$invalidate(0, canvasSpec = $$props.canvasSpec));
		if ('tooltip' in $$props) $$subscribe_tooltip($$invalidate(1, tooltip = $$props.tooltip));
		if ('storybook' in $$props) $$invalidate(2, storybook = $$props.storybook);
	};

	$$self.$$.update = () => {
		if ($$self.$$.dirty & /*windowHeight, $tooltip, tooltipHeight*/ 208) {
			$: $$invalidate(12, yPos = windowHeight > $tooltip.mousePos.y + tooltipHeight
			? $tooltip.mousePos.y
			: $tooltip.mousePos.y - tooltipHeight - 20);
		}

		if ($$self.$$.dirty & /*windowWidth, $tooltip, tooltipWidth*/ 168) {
			$: $$invalidate(11, xStyle = windowWidth > $tooltip.mousePos.x + tooltipWidth + 10
			? `left: ${$tooltip.mousePos.x}px;`
			: `right: 10px;`);
		}

		if ($$self.$$.dirty & /*yPos, xStyle*/ 6144) {
			$: $$invalidate(8, style = `top: ${yPos}px; ${xStyle}; background: black`);
		}
	};

	return [
		canvasSpec,
		tooltip,
		storybook,
		windowWidth,
		windowHeight,
		tooltipWidth,
		tooltipHeight,
		$tooltip,
		style,
		$canvasSpec,
		formatValue,
		xStyle,
		yPos,
		onwindowresize,
		div3_elementresize_handler
	];
}

class DataSampleDetail extends SvelteComponent {
	constructor(options) {
		super();
		init(this, options, DataSampleDetail_svelte_instance, DataSampleDetail_svelte_create_fragment, safe_not_equal, { canvasSpec: 0, tooltip: 1, storybook: 2 });
	}
}

/* harmony default export */ const DataSampleDetail_svelte = (DataSampleDetail);
;// ../canvas_viz/dist/helpers/dimensions.js
/**
 * Copyright 2024 BetterWithData
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
function mapWidth(width) {
    switch (width) {
        case 'XS':
            return 'col-span-1';
        case 'S':
            return 'col-span-2';
        case 'M':
            return 'col-span-3';
        case 'L':
            return 'col-span-4';
        case 'XL':
            return 'col-span-5';
        case 'XXL':
            return 'col-span-6';
        default:
            return 'col-span-2';
    }
}
function mapHeight(height, grid = false) {
    switch (height) {
        case 'XS':
            return grid ? 'row-span-1' : 'max-h-XS';
        case 'S':
            return grid ? 'row-span-2' : 'max-h-S';
        case 'M':
            return grid ? 'row-span-3' : 'max-h-M';
        case 'L':
            return grid ? 'row-span-4' : 'max-h-L';
        case 'XL':
            return grid ? 'row-span-5' : 'max-h-XL';
        case 'XXL':
            return grid ? 'row-span-6' : 'max-h-XXL';
        default:
            return grid ? 'row-span-2' : 'max-h-S';
    }
}
function mapHeightFixed(height, grid = false) {
    switch (height) {
        case 'XS':
            return grid ? 'row-span-1' : 'h-XS';
        case 'S':
            return grid ? 'row-span-2' : 'h-S';
        case 'M':
            return grid ? 'row-span-3' : 'h-M';
        case 'L':
            return grid ? 'row-span-4' : 'h-L';
        case 'XL':
            return grid ? 'row-span-5' : 'h-XL';
        case 'XXL':
            return grid ? 'row-span-6' : 'h-XXL';
        default:
            return grid ? 'row-span-2' : 'h-S';
    }
}

;// ./src/StandaloneWidget.svelte
/* src/StandaloneWidget.svelte generated by Svelte v3.59.2 */





function StandaloneWidget_svelte_create_fragment(ctx) {
	let div;
	let div_class_value;

	return {
		c() {
			div = internal_element("div");

			attr(div, "class", div_class_value = /*fullSize*/ ctx[1]
			? 'h-full w-full'
			: `${mapHeight(/*widget*/ ctx[0].height)} ${mapWidth(/*widget*/ ctx[0].width)}`);
		},
		m(target, anchor) {
			insert(target, div, anchor);
			/*div_binding*/ ctx[21](div);
		},
		p(ctx, [dirty]) {
			if (dirty & /*fullSize, widget*/ 3 && div_class_value !== (div_class_value = /*fullSize*/ ctx[1]
			? 'h-full w-full'
			: `${mapHeight(/*widget*/ ctx[0].height)} ${mapWidth(/*widget*/ ctx[0].width)}`)) {
				attr(div, "class", div_class_value);
			}
		},
		i: noop,
		o: noop,
		d(detaching) {
			if (detaching) detach(div);
			/*div_binding*/ ctx[21](null);
		}
	};
}

function StandaloneWidget_svelte_instance($$self, $$props, $$invalidate) {
	let component;

	let $widgetSpecs,
		$$unsubscribe_widgetSpecs = noop,
		$$subscribe_widgetSpecs = () => ($$unsubscribe_widgetSpecs(), $$unsubscribe_widgetSpecs = subscribe(widgetSpecs, $$value => $$invalidate(20, $widgetSpecs = $$value)), widgetSpecs);

	$$self.$$.on_destroy.push(() => $$unsubscribe_widgetSpecs());
	let { widget } = $$props;
	let { fullSize } = $$props;
	let { filter } = $$props;
	let { filterError } = $$props;
	let { table } = $$props;
	let { canvasSpec } = $$props;
	let { groupColumns } = $$props;
	let { groupNames } = $$props;
	let { groupedTables } = $$props;
	let { filteredTable } = $$props;
	let { selected } = $$props;
	let { tooltip } = $$props;
	let { components } = $$props;
	let { storybook = true } = $$props;
	let { widgetSpecs } = $$props;
	$$subscribe_widgetSpecs();
	let widgetSpec;
	let oldWidgetType;
	let target;
	let cmp;

	async function loadSpec(widget) {
		const infoQuery = await fetch(`data/${widget.name}.json`);
		const preparsedData = await infoQuery.json();
		$$invalidate(16, widgetSpec = preparsedData);
		$$invalidate(17, oldWidgetType = widget.name);
	}

	function handleSpecChanged(event) {
		$$invalidate(16, widgetSpec = event.detail.spec);
		let changedSpec = $widgetSpecs;
		changedSpec[widget.name] = event.detail.spec;
		widgetSpecs.set({ ...changedSpec });
	}

	function cleanup() {
		if (cmp === undefined) return;
		cmp.$destroy();
		$$invalidate(18, cmp = undefined);
	}

	function create() {
		$$invalidate(18, cmp = new component({
				target,
				props: {
					widgetSpec,
					fullSize,
					filter,
					filterError,
					table,
					vertical: true,
					canvasSpec,
					groupColumns,
					groupNames,
					groupedTables,
					filteredTable,
					selected,
					tooltip,
					storybook
				}
			}));

		cmp.$on('specChanged', handleSpecChanged);
	}

	onDestroy(cleanup);

	function div_binding($$value) {
		binding_callbacks[$$value ? 'unshift' : 'push'](() => {
			target = $$value;
			$$invalidate(3, target);
		});
	}

	$$self.$$set = $$props => {
		if ('widget' in $$props) $$invalidate(0, widget = $$props.widget);
		if ('fullSize' in $$props) $$invalidate(1, fullSize = $$props.fullSize);
		if ('filter' in $$props) $$invalidate(4, filter = $$props.filter);
		if ('filterError' in $$props) $$invalidate(5, filterError = $$props.filterError);
		if ('table' in $$props) $$invalidate(6, table = $$props.table);
		if ('canvasSpec' in $$props) $$invalidate(7, canvasSpec = $$props.canvasSpec);
		if ('groupColumns' in $$props) $$invalidate(8, groupColumns = $$props.groupColumns);
		if ('groupNames' in $$props) $$invalidate(9, groupNames = $$props.groupNames);
		if ('groupedTables' in $$props) $$invalidate(10, groupedTables = $$props.groupedTables);
		if ('filteredTable' in $$props) $$invalidate(11, filteredTable = $$props.filteredTable);
		if ('selected' in $$props) $$invalidate(12, selected = $$props.selected);
		if ('tooltip' in $$props) $$invalidate(13, tooltip = $$props.tooltip);
		if ('components' in $$props) $$invalidate(14, components = $$props.components);
		if ('storybook' in $$props) $$invalidate(15, storybook = $$props.storybook);
		if ('widgetSpecs' in $$props) $$subscribe_widgetSpecs($$invalidate(2, widgetSpecs = $$props.widgetSpecs));
	};

	$$self.$$.update = () => {
		if ($$self.$$.dirty & /*$widgetSpecs, widget*/ 1048577) {
			$: {
				if ($widgetSpecs[widget.name] !== undefined) {
					$$invalidate(16, widgetSpec = $widgetSpecs[widget.name]);
					$$invalidate(17, oldWidgetType = widget.name);
				} else {
					// Need to reload if the widget changes while this view is reused.
					loadSpec(widget);
				}
			}
		}

		if ($$self.$$.dirty & /*components, widget*/ 16385) {
			$: $$invalidate(19, component = components[widget.name]);
		}

		if ($$self.$$.dirty & /*target, component, oldWidgetType, widget*/ 655369) {
			$: if (target && component && oldWidgetType == widget.name) {
				cleanup();
				create();
			}
		}

		if ($$self.$$.dirty & /*cmp, widgetSpec, fullSize, filter, filterError, table, canvasSpec, groupColumns, groupNames, groupedTables, filteredTable, selected, tooltip, storybook*/ 376818) {
			$: if (cmp) {
				cmp.$set({
					widgetSpec,
					fullSize,
					filter,
					filterError,
					table,
					vertical: true,
					canvasSpec,
					groupColumns,
					groupNames,
					groupedTables,
					filteredTable,
					selected,
					tooltip,
					storybook
				});
			}
		}
	};

	return [
		widget,
		fullSize,
		widgetSpecs,
		target,
		filter,
		filterError,
		table,
		canvasSpec,
		groupColumns,
		groupNames,
		groupedTables,
		filteredTable,
		selected,
		tooltip,
		components,
		storybook,
		widgetSpec,
		oldWidgetType,
		cmp,
		component,
		$widgetSpecs,
		div_binding
	];
}

class StandaloneWidget extends SvelteComponent {
	constructor(options) {
		super();

		init(this, options, StandaloneWidget_svelte_instance, StandaloneWidget_svelte_create_fragment, safe_not_equal, {
			widget: 0,
			fullSize: 1,
			filter: 4,
			filterError: 5,
			table: 6,
			canvasSpec: 7,
			groupColumns: 8,
			groupNames: 9,
			groupedTables: 10,
			filteredTable: 11,
			selected: 12,
			tooltip: 13,
			components: 14,
			storybook: 15,
			widgetSpecs: 2
		});
	}
}

/* harmony default export */ const StandaloneWidget_svelte = (StandaloneWidget);
;// ./src/StandalonePage.svelte
/* src/StandalonePage.svelte generated by Svelte v3.59.2 */





function StandalonePage_svelte_get_each_context(ctx, list, i) {
	const child_ctx = ctx.slice();
	child_ctx[15] = list[i];
	return child_ctx;
}

// (36:2) {#each widgets as widget}
function StandalonePage_svelte_create_each_block(ctx) {
	let div;
	let standalonewidget;
	let t;
	let div_class_value;
	let current;

	standalonewidget = new StandaloneWidget_svelte({
			props: {
				widget: /*widget*/ ctx[15],
				fullSize: false,
				filter: /*filter*/ ctx[0],
				filterError: /*filterError*/ ctx[1],
				table: /*table*/ ctx[2],
				canvasSpec: /*canvasSpec*/ ctx[3],
				groupColumns: /*groupColumns*/ ctx[4],
				groupNames: /*groupNames*/ ctx[5],
				groupedTables: /*groupedTables*/ ctx[6],
				filteredTable: /*filteredTable*/ ctx[7],
				selected: /*selected*/ ctx[8],
				tooltip: /*tooltip*/ ctx[9],
				components: /*components*/ ctx[11],
				storybook: /*storybook*/ ctx[13],
				widgetSpecs: /*widgetSpecs*/ ctx[12]
			}
		});

	return {
		c() {
			div = internal_element("div");
			create_component(standalonewidget.$$.fragment);
			t = space();

			attr(div, "class", div_class_value = /*fullSize*/ ctx[14]
			? 'h-full w-full'
			: `${mapHeight(/*widget*/ ctx[15].height)} ${mapWidth(/*widget*/ ctx[15].width)} border-2 border-midgrey rounded`);
		},
		m(target, anchor) {
			insert(target, div, anchor);
			mount_component(standalonewidget, div, null);
			append(div, t);
			current = true;
		},
		p(ctx, dirty) {
			const standalonewidget_changes = {};
			if (dirty & /*widgets*/ 1024) standalonewidget_changes.widget = /*widget*/ ctx[15];
			if (dirty & /*filter*/ 1) standalonewidget_changes.filter = /*filter*/ ctx[0];
			if (dirty & /*filterError*/ 2) standalonewidget_changes.filterError = /*filterError*/ ctx[1];
			if (dirty & /*table*/ 4) standalonewidget_changes.table = /*table*/ ctx[2];
			if (dirty & /*canvasSpec*/ 8) standalonewidget_changes.canvasSpec = /*canvasSpec*/ ctx[3];
			if (dirty & /*groupColumns*/ 16) standalonewidget_changes.groupColumns = /*groupColumns*/ ctx[4];
			if (dirty & /*groupNames*/ 32) standalonewidget_changes.groupNames = /*groupNames*/ ctx[5];
			if (dirty & /*groupedTables*/ 64) standalonewidget_changes.groupedTables = /*groupedTables*/ ctx[6];
			if (dirty & /*filteredTable*/ 128) standalonewidget_changes.filteredTable = /*filteredTable*/ ctx[7];
			if (dirty & /*selected*/ 256) standalonewidget_changes.selected = /*selected*/ ctx[8];
			if (dirty & /*tooltip*/ 512) standalonewidget_changes.tooltip = /*tooltip*/ ctx[9];
			if (dirty & /*components*/ 2048) standalonewidget_changes.components = /*components*/ ctx[11];
			if (dirty & /*storybook*/ 8192) standalonewidget_changes.storybook = /*storybook*/ ctx[13];
			if (dirty & /*widgetSpecs*/ 4096) standalonewidget_changes.widgetSpecs = /*widgetSpecs*/ ctx[12];
			standalonewidget.$set(standalonewidget_changes);

			if (!current || dirty & /*fullSize, widgets*/ 17408 && div_class_value !== (div_class_value = /*fullSize*/ ctx[14]
			? 'h-full w-full'
			: `${mapHeight(/*widget*/ ctx[15].height)} ${mapWidth(/*widget*/ ctx[15].width)} border-2 border-midgrey rounded`)) {
				attr(div, "class", div_class_value);
			}
		},
		i(local) {
			if (current) return;
			transition_in(standalonewidget.$$.fragment, local);
			current = true;
		},
		o(local) {
			transition_out(standalonewidget.$$.fragment, local);
			current = false;
		},
		d(detaching) {
			if (detaching) detach(div);
			destroy_component(standalonewidget);
		}
	};
}

function StandalonePage_svelte_create_fragment(ctx) {
	let div;
	let div_class_value;
	let current;
	let each_value = /*widgets*/ ctx[10];
	let each_blocks = [];

	for (let i = 0; i < each_value.length; i += 1) {
		each_blocks[i] = StandalonePage_svelte_create_each_block(StandalonePage_svelte_get_each_context(ctx, each_value, i));
	}

	const out = i => transition_out(each_blocks[i], 1, 1, () => {
		each_blocks[i] = null;
	});

	return {
		c() {
			div = internal_element("div");

			for (let i = 0; i < each_blocks.length; i += 1) {
				each_blocks[i].c();
			}

			attr(div, "class", div_class_value = /*fullSize*/ ctx[14]
			? 'h-full w-full'
			: 'grid grid-cols-6 main-grid gap-2');
		},
		m(target, anchor) {
			insert(target, div, anchor);

			for (let i = 0; i < each_blocks.length; i += 1) {
				if (each_blocks[i]) {
					each_blocks[i].m(div, null);
				}
			}

			current = true;
		},
		p(ctx, [dirty]) {
			if (dirty & /*fullSize, mapHeight, widgets, mapWidth, filter, filterError, table, canvasSpec, groupColumns, groupNames, groupedTables, filteredTable, selected, tooltip, components, storybook, widgetSpecs*/ 32767) {
				each_value = /*widgets*/ ctx[10];
				let i;

				for (i = 0; i < each_value.length; i += 1) {
					const child_ctx = StandalonePage_svelte_get_each_context(ctx, each_value, i);

					if (each_blocks[i]) {
						each_blocks[i].p(child_ctx, dirty);
						transition_in(each_blocks[i], 1);
					} else {
						each_blocks[i] = StandalonePage_svelte_create_each_block(child_ctx);
						each_blocks[i].c();
						transition_in(each_blocks[i], 1);
						each_blocks[i].m(div, null);
					}
				}

				group_outros();

				for (i = each_value.length; i < each_blocks.length; i += 1) {
					out(i);
				}

				check_outros();
			}

			if (!current || dirty & /*fullSize*/ 16384 && div_class_value !== (div_class_value = /*fullSize*/ ctx[14]
			? 'h-full w-full'
			: 'grid grid-cols-6 main-grid gap-2')) {
				attr(div, "class", div_class_value);
			}
		},
		i(local) {
			if (current) return;

			for (let i = 0; i < each_value.length; i += 1) {
				transition_in(each_blocks[i]);
			}

			current = true;
		},
		o(local) {
			each_blocks = each_blocks.filter(Boolean);

			for (let i = 0; i < each_blocks.length; i += 1) {
				transition_out(each_blocks[i]);
			}

			current = false;
		},
		d(detaching) {
			if (detaching) detach(div);
			destroy_each(each_blocks, detaching);
		}
	};
}

function StandalonePage_svelte_instance($$self, $$props, $$invalidate) {
	let fullSize;
	let { filter } = $$props;
	let { filterError } = $$props;
	let { table } = $$props;
	let { canvasSpec } = $$props;
	let { groupColumns } = $$props;
	let { groupNames } = $$props;
	let { groupedTables } = $$props;
	let { filteredTable } = $$props;
	let { selected } = $$props;
	let { tooltip } = $$props;
	let { widgets } = $$props;
	let { components } = $$props;
	let { widgetSpecs } = $$props;
	let { storybook = true } = $$props;

	$$self.$$set = $$props => {
		if ('filter' in $$props) $$invalidate(0, filter = $$props.filter);
		if ('filterError' in $$props) $$invalidate(1, filterError = $$props.filterError);
		if ('table' in $$props) $$invalidate(2, table = $$props.table);
		if ('canvasSpec' in $$props) $$invalidate(3, canvasSpec = $$props.canvasSpec);
		if ('groupColumns' in $$props) $$invalidate(4, groupColumns = $$props.groupColumns);
		if ('groupNames' in $$props) $$invalidate(5, groupNames = $$props.groupNames);
		if ('groupedTables' in $$props) $$invalidate(6, groupedTables = $$props.groupedTables);
		if ('filteredTable' in $$props) $$invalidate(7, filteredTable = $$props.filteredTable);
		if ('selected' in $$props) $$invalidate(8, selected = $$props.selected);
		if ('tooltip' in $$props) $$invalidate(9, tooltip = $$props.tooltip);
		if ('widgets' in $$props) $$invalidate(10, widgets = $$props.widgets);
		if ('components' in $$props) $$invalidate(11, components = $$props.components);
		if ('widgetSpecs' in $$props) $$invalidate(12, widgetSpecs = $$props.widgetSpecs);
		if ('storybook' in $$props) $$invalidate(13, storybook = $$props.storybook);
	};

	$$self.$$.update = () => {
		if ($$self.$$.dirty & /*widgets*/ 1024) {
			$: $$invalidate(14, fullSize = widgets.length === 1);
		}
	};

	return [
		filter,
		filterError,
		table,
		canvasSpec,
		groupColumns,
		groupNames,
		groupedTables,
		filteredTable,
		selected,
		tooltip,
		widgets,
		components,
		widgetSpecs,
		storybook,
		fullSize
	];
}

class StandalonePage extends SvelteComponent {
	constructor(options) {
		super();

		init(this, options, StandalonePage_svelte_instance, StandalonePage_svelte_create_fragment, safe_not_equal, {
			filter: 0,
			filterError: 1,
			table: 2,
			canvasSpec: 3,
			groupColumns: 4,
			groupNames: 5,
			groupedTables: 6,
			filteredTable: 7,
			selected: 8,
			tooltip: 9,
			widgets: 10,
			components: 11,
			widgetSpecs: 12,
			storybook: 13
		});
	}
}

/* harmony default export */ const StandalonePage_svelte = (StandalonePage);
// EXTERNAL MODULE: ../node_modules/brace/index.js
var brace = __webpack_require__(8820);
// EXTERNAL MODULE: ../node_modules/brace/ext/emmet.js
var emmet = __webpack_require__(9556);
;// ./src/toolbar/AceEditor.svelte
/* src/toolbar/AceEditor.svelte generated by Svelte v3.59.2 */






function AceEditor_svelte_create_fragment(ctx) {
	let div1;
	let div0;

	return {
		c() {
			div1 = internal_element("div");
			div0 = internal_element("div");
			set_style(div0, "width", px(/*width*/ ctx[1]));
			set_style(div0, "height", px(/*height*/ ctx[0]));
			set_style(div1, "width", px(/*width*/ ctx[1]));
			set_style(div1, "height", px(/*height*/ ctx[0]));
		},
		m(target, anchor) {
			insert(target, div1, anchor);
			append(div1, div0);
			/*div0_binding*/ ctx[9](div0);
		},
		p(ctx, [dirty]) {
			if (dirty & /*width*/ 2) {
				set_style(div0, "width", px(/*width*/ ctx[1]));
			}

			if (dirty & /*height*/ 1) {
				set_style(div0, "height", px(/*height*/ ctx[0]));
			}

			if (dirty & /*width*/ 2) {
				set_style(div1, "width", px(/*width*/ ctx[1]));
			}

			if (dirty & /*height*/ 1) {
				set_style(div1, "height", px(/*height*/ ctx[0]));
			}
		},
		i: noop,
		o: noop,
		d(detaching) {
			if (detaching) detach(div1);
			/*div0_binding*/ ctx[9](null);
		}
	};
}

const ValidPxDigitsRegEx = /^\d*$/;

function px(n) {
	if (ValidPxDigitsRegEx.test(n)) {
		return n + "px";
	}

	return n;
}

function AceEditor_svelte_instance($$self, $$props, $$invalidate) {
	const dispatch = createEventDispatcher();
	let { value = "" } = $$props;
	let { lang = "json" } = $$props;
	let { theme = "chrome" } = $$props;
	let { height = "100%" } = $$props;
	let { width = "100%" } = $$props;
	let { options = {} } = $$props;
	let { readonly = false } = $$props;
	let { keybindings = null } = $$props;
	let editorElement;
	let editor;
	let contentBackup = "";

	const requireEditorPlugins = () => {
		
	};

	requireEditorPlugins();

	onDestroy(() => {
		if (editor) {
			editor.destroy();
			editor.container.remove();
		}
	});

	function watchValue(val) {
		if (contentBackup !== val && editor && typeof val === "string") {
			editor.session.setValue(val);
			contentBackup = val;
		}
	}

	function watchTheme(newTheme) {
		if (editor) {
			editor.setTheme("ace/theme/" + newTheme);
		}
	}

	function watchMode(newOption) {
		if (editor) {
			editor.getSession().setMode("ace/mode/" + newOption);
		}
	}

	function watchOptions(newOption) {
		if (editor) {
			editor.setOptions(newOption);
		}
	}

	function watchReadOnlyFlag(flag) {
		if (editor) {
			editor.setReadOnly(flag);
		}
	}

	const resizeOnNextTick = () => tick().then(() => {
		if (editor) {
			editor.resize();
		}
	});

	onMount(() => {
		$$invalidate(4, lang = lang || "text");
		$$invalidate(5, theme = theme || "chrome");
		editor = brace.edit(editorElement);
		dispatch("init", editor);
		editor.$blockScrolling = Infinity;

		// editor.setOption("enableEmmet", true);
		editor.getSession().setMode("ace/mode/" + lang);

		editor.setTheme("ace/theme/" + theme);
		editor.setValue(value, 1);
		editor.setReadOnly(readonly);
		contentBackup = value;
		setEventCallBacks();

		if (options) {
			editor.setOptions(options);
		}
	});

	function setEventCallBacks() {
		editor.onBlur = () => dispatch("blur");
		editor.onChangeMode = obj => dispatch("changeMode", obj);
		editor.onCommandKey = (err, hashId, keyCode) => dispatch("commandKey", { err, hashId, keyCode });
		editor.onCopy = () => dispatch("copy");
		editor.onCursorChange = () => dispatch("cursorChange");

		editor.onCut = () => {
			const copyText = editor.getCopyText();
			console.log("cut event : ", copyText);
			editor.insert("");
			dispatch("cut");
		};

		editor.onDocumentChange = obj => dispatch("documentChange", obj);
		editor.onFocus = () => dispatch("focus");

		editor.onPaste = text => {
			console.log("paste event : ", text);
			editor.insert(text);
			dispatch("paste", text);
		};

		editor.onSelectionChange = obj => dispatch("selectionChange", obj);

		editor.on("change", function () {
			const content = editor.getValue();
			$$invalidate(3, value = content);
			dispatch("input", content);
			contentBackup = content;
		});

		if (keybindings != null) {
			editor.setKeyboardHandler("ace/keyboard/" + keybindings);
		}
	}

	function div0_binding($$value) {
		binding_callbacks[$$value ? 'unshift' : 'push'](() => {
			editorElement = $$value;
			$$invalidate(2, editorElement);
		});
	}

	$$self.$$set = $$props => {
		if ('value' in $$props) $$invalidate(3, value = $$props.value);
		if ('lang' in $$props) $$invalidate(4, lang = $$props.lang);
		if ('theme' in $$props) $$invalidate(5, theme = $$props.theme);
		if ('height' in $$props) $$invalidate(0, height = $$props.height);
		if ('width' in $$props) $$invalidate(1, width = $$props.width);
		if ('options' in $$props) $$invalidate(6, options = $$props.options);
		if ('readonly' in $$props) $$invalidate(7, readonly = $$props.readonly);
		if ('keybindings' in $$props) $$invalidate(8, keybindings = $$props.keybindings);
	};

	$$self.$$.update = () => {
		if ($$self.$$.dirty & /*value*/ 8) {
			$: watchValue(value);
		}

		if ($$self.$$.dirty & /*theme*/ 32) {
			$: watchTheme(theme);
		}

		if ($$self.$$.dirty & /*lang*/ 16) {
			$: watchMode(lang);
		}

		if ($$self.$$.dirty & /*options*/ 64) {
			$: watchOptions(options);
		}

		if ($$self.$$.dirty & /*readonly*/ 128) {
			$: watchReadOnlyFlag(readonly);
		}

		if ($$self.$$.dirty & /*height, width*/ 3) {
			$: if (height !== null && width !== null) {
				resizeOnNextTick();
			}
		}
	};

	return [
		height,
		width,
		editorElement,
		value,
		lang,
		theme,
		options,
		readonly,
		keybindings,
		div0_binding
	];
}

class AceEditor extends SvelteComponent {
	constructor(options) {
		super();

		init(this, options, AceEditor_svelte_instance, AceEditor_svelte_create_fragment, safe_not_equal, {
			value: 3,
			lang: 4,
			theme: 5,
			height: 0,
			width: 1,
			options: 6,
			readonly: 7,
			keybindings: 8
		});
	}
}

/* harmony default export */ const AceEditor_svelte = (AceEditor);
// EXTERNAL MODULE: ../node_modules/@fortawesome/free-solid-svg-icons/faFilter.js
var faFilter = __webpack_require__(731);
// EXTERNAL MODULE: ../node_modules/@fortawesome/free-solid-svg-icons/faTimes.js
var faTimes = __webpack_require__(9751);
// EXTERNAL MODULE: ../node_modules/brace/ext/language_tools.js
var language_tools = __webpack_require__(2652);
// EXTERNAL MODULE: ../node_modules/brace/theme/xcode.js
var xcode = __webpack_require__(9031);
;// ./src/toolbar/filter_editor_mode.js
/**
 * Copyright 2024 BetterWithData
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *     http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License. 
 */



brace.define(
  'ace/mode/filter_highlight_rules',
  [
    'require',
    'exports',
    'module',
    'ace/lib/oop',
    'ace/mode/text_highlight_rules',
  ],
  (acequire, exports, module) => {
    'use strict';

    var oop = acequire('../lib/oop');
    var TextHighlightRules = acequire(
      './text_highlight_rules'
    ).TextHighlightRules;

    var FilterHighlightRules = function () {
      this.$rules = {
        start: [
          {
            token: 'keyword',
            regex: 'd\\.([a-zA-Z]*)',
          },
          {
            token: 'string',
            regex: '"[\\w\\d\\s]*"',
          },
          {
            token: 'string',
            regex: "'[\\w\\d\\s]*'",
          },
          {
            token: 'constant.numeric',
            regex: '[\\d]+',
          },
        ],
      };

      this.normalizeRules();
    };

    FilterHighlightRules.metaData = {
      fileTypes: ['filter'],
      name: 'Filter',
    };

    oop.inherits(FilterHighlightRules, TextHighlightRules);

    exports.FilterHighlightRules = FilterHighlightRules;
  }
);

brace.define(
  'ace/mode/filter',
  [
    'require',
    'exports',
    'module',
    'ace/lib/oop',
    'ace/mode/text',
    'ace/mode/filter_highlight_rules',
  ],
  (acequire, exports, module) => {
    'use strict';

    var oop = acequire('../lib/oop');
    var TextMode = acequire('./text').Mode;
    var FilterHighlightRules = acequire(
      './filter_highlight_rules'
    ).FilterHighlightRules;

    var Mode = function () {
      this.HighlightRules = FilterHighlightRules;
      this.$behaviour = this.$defaultBehaviour;
    };
    oop.inherits(Mode, TextMode);

    (function () {
      this.lineCommentStart = '#';
      this.$id = 'ace/mode/filter';
    }.call(Mode.prototype));

    exports.Mode = Mode;
  }
);

;// ../canvas_viz/dist/elements/SubHeading.svelte
/* media/satish/Development/workspace/projects/exploratory_data_analysis/deepview/src/deepview_canvas/canvas_viz/dist/elements/SubHeading.svelte generated by Svelte v3.59.2 */


function SubHeading_svelte_create_fragment(ctx) {
	let h2;
	let t;

	return {
		c() {
			h2 = internal_element("h2");
			t = internal_text(/*heading*/ ctx[0]);
			attr(h2, "class", "text-xl font-bold leading-7 pr-2 mt-2");
		},
		m(target, anchor) {
			insert(target, h2, anchor);
			append(h2, t);
		},
		p(ctx, [dirty]) {
			if (dirty & /*heading*/ 1) set_data(t, /*heading*/ ctx[0]);
		},
		i: noop,
		o: noop,
		d(detaching) {
			if (detaching) detach(h2);
		}
	};
}

function SubHeading_svelte_instance($$self, $$props, $$invalidate) {
	let { heading } = $$props;

	$$self.$$set = $$props => {
		if ('heading' in $$props) $$invalidate(0, heading = $$props.heading);
	};

	return [heading];
}

class SubHeading extends SvelteComponent {
	constructor(options) {
		super();
		init(this, options, SubHeading_svelte_instance, SubHeading_svelte_create_fragment, safe_not_equal, { heading: 0 });
	}
}

/* harmony default export */ const SubHeading_svelte = (SubHeading);
;// ./src/toolbar/FilterBar.svelte
/* src/toolbar/FilterBar.svelte generated by Svelte v3.59.2 */













function FilterBar_svelte_create_if_block_1(ctx) {
	let div;
	let iconbutton;
	let div_transition;
	let current;

	iconbutton = new IconButton_svelte({
			props: {
				$$slots: {
					text: [create_text_slot_1],
					icon: [create_icon_slot_1]
				},
				$$scope: { ctx }
			}
		});

	iconbutton.$on("click", /*clearFilter*/ ctx[7]);

	return {
		c() {
			div = internal_element("div");
			create_component(iconbutton.$$.fragment);
			attr(div, "class", "pr-2");
		},
		m(target, anchor) {
			insert(target, div, anchor);
			mount_component(iconbutton, div, null);
			current = true;
		},
		p(ctx, dirty) {
			const iconbutton_changes = {};

			if (dirty & /*$$scope*/ 16384) {
				iconbutton_changes.$$scope = { dirty, ctx };
			}

			iconbutton.$set(iconbutton_changes);
		},
		i(local) {
			if (current) return;
			transition_in(iconbutton.$$.fragment, local);

			add_render_callback(() => {
				if (!current) return;
				if (!div_transition) div_transition = create_bidirectional_transition(div, fade, {}, true);
				div_transition.run(1);
			});

			current = true;
		},
		o(local) {
			transition_out(iconbutton.$$.fragment, local);
			if (!div_transition) div_transition = create_bidirectional_transition(div, fade, {}, false);
			div_transition.run(0);
			current = false;
		},
		d(detaching) {
			if (detaching) detach(div);
			destroy_component(iconbutton);
			if (detaching && div_transition) div_transition.end();
		}
	};
}

// (96:12) 
function create_icon_slot_1(ctx) {
	let fa;
	let current;
	fa = new fa_svelte({ props: { icon: faTimes/* faTimes */.GR, slot: "icon" } });

	return {
		c() {
			create_component(fa.$$.fragment);
		},
		m(target, anchor) {
			mount_component(fa, target, anchor);
			current = true;
		},
		p: noop,
		i(local) {
			if (current) return;
			transition_in(fa.$$.fragment, local);
			current = true;
		},
		o(local) {
			transition_out(fa.$$.fragment, local);
			current = false;
		},
		d(detaching) {
			destroy_component(fa, detaching);
		}
	};
}

// (97:12) 
function create_text_slot_1(ctx) {
	let span;

	return {
		c() {
			span = internal_element("span");
			span.textContent = "Clear";
			attr(span, "slot", "text");
		},
		m(target, anchor) {
			insert(target, span, anchor);
		},
		p: noop,
		d(detaching) {
			if (detaching) detach(span);
		}
	};
}

// (102:8) 
function FilterBar_svelte_create_icon_slot(ctx) {
	let fa;
	let current;
	fa = new fa_svelte({ props: { icon: faFilter/* faFilter */.mR, slot: "icon" } });

	return {
		c() {
			create_component(fa.$$.fragment);
		},
		m(target, anchor) {
			mount_component(fa, target, anchor);
			current = true;
		},
		p: noop,
		i(local) {
			if (current) return;
			transition_in(fa.$$.fragment, local);
			current = true;
		},
		o(local) {
			transition_out(fa.$$.fragment, local);
			current = false;
		},
		d(detaching) {
			destroy_component(fa, detaching);
		}
	};
}

// (103:8) 
function FilterBar_svelte_create_text_slot(ctx) {
	let span;

	return {
		c() {
			span = internal_element("span");
			span.textContent = "Apply";
			attr(span, "slot", "text");
		},
		m(target, anchor) {
			insert(target, span, anchor);
		},
		p: noop,
		d(detaching) {
			if (detaching) detach(span);
		}
	};
}

// (107:2) {#if $filterError}
function FilterBar_svelte_create_if_block(ctx) {
	let p;
	let t;

	return {
		c() {
			p = internal_element("p");
			t = internal_text(/*$filterError*/ ctx[5]);
			attr(p, "class", "text-error m-2");
		},
		m(target, anchor) {
			insert(target, p, anchor);
			append(p, t);
		},
		p(ctx, dirty) {
			if (dirty & /*$filterError*/ 32) set_data(t, /*$filterError*/ ctx[5]);
		},
		d(detaching) {
			if (detaching) detach(p);
		}
	};
}

function FilterBar_svelte_create_fragment(ctx) {
	let div4;
	let div0;
	let subheading;
	let t0;
	let div3;
	let div1;
	let aceeditor;
	let updating_value;
	let t1;
	let div2;
	let t2;
	let iconbutton;
	let t3;
	let current;
	subheading = new SubHeading_svelte({ props: { heading: 'Filter' } });

	function aceeditor_value_binding(value) {
		/*aceeditor_value_binding*/ ctx[13](value);
	}

	let aceeditor_props = {
		id: "filter-ace-editor",
		width: "100%",
		height: "auto",
		lang: "filter",
		theme: "xcode",
		options: {
			enableBasicAutocompletion: true,
			enableLiveAutocompletion: true,
			wrap: true,
			showGutter: false,
			showPrintMargin: false,
			showLineNumbers: false,
			maxLines: 'Infinity'
		}
	};

	if (/*filterString*/ ctx[4] !== void 0) {
		aceeditor_props.value = /*filterString*/ ctx[4];
	}

	aceeditor = new AceEditor_svelte({ props: aceeditor_props });
	binding_callbacks.push(() => bind(aceeditor, 'value', aceeditor_value_binding));
	aceeditor.$on("init", /*initEditor*/ ctx[8]);
	let if_block0 = /*$filter*/ ctx[3] !== '' && FilterBar_svelte_create_if_block_1(ctx);

	iconbutton = new IconButton_svelte({
			props: {
				$$slots: {
					text: [FilterBar_svelte_create_text_slot],
					icon: [FilterBar_svelte_create_icon_slot]
				},
				$$scope: { ctx }
			}
		});

	iconbutton.$on("click", /*addFilter*/ ctx[6]);
	let if_block1 = /*$filterError*/ ctx[5] && FilterBar_svelte_create_if_block(ctx);

	return {
		c() {
			div4 = internal_element("div");
			div0 = internal_element("div");
			create_component(subheading.$$.fragment);
			t0 = space();
			div3 = internal_element("div");
			div1 = internal_element("div");
			create_component(aceeditor.$$.fragment);
			t1 = space();
			div2 = internal_element("div");
			if (if_block0) if_block0.c();
			t2 = space();
			create_component(iconbutton.$$.fragment);
			t3 = space();
			if (if_block1) if_block1.c();
			attr(div0, "class", "px-2 pt-2");
			attr(div1, "class", "flex flex-col p-2 w-full h-auto bg-white border border-midgrey rounded justify-center");
			attr(div2, "class", "pt-2 flex items-center justify-end");
			attr(div3, "class", "p-2 w-full h-auto");
			attr(div4, "class", "flex flex-col");
		},
		m(target, anchor) {
			insert(target, div4, anchor);
			append(div4, div0);
			mount_component(subheading, div0, null);
			append(div4, t0);
			append(div4, div3);
			append(div3, div1);
			mount_component(aceeditor, div1, null);
			append(div3, t1);
			append(div3, div2);
			if (if_block0) if_block0.m(div2, null);
			append(div2, t2);
			mount_component(iconbutton, div2, null);
			append(div4, t3);
			if (if_block1) if_block1.m(div4, null);
			current = true;
		},
		p(ctx, [dirty]) {
			const aceeditor_changes = {};

			if (!updating_value && dirty & /*filterString*/ 16) {
				updating_value = true;
				aceeditor_changes.value = /*filterString*/ ctx[4];
				add_flush_callback(() => updating_value = false);
			}

			aceeditor.$set(aceeditor_changes);

			if (/*$filter*/ ctx[3] !== '') {
				if (if_block0) {
					if_block0.p(ctx, dirty);

					if (dirty & /*$filter*/ 8) {
						transition_in(if_block0, 1);
					}
				} else {
					if_block0 = FilterBar_svelte_create_if_block_1(ctx);
					if_block0.c();
					transition_in(if_block0, 1);
					if_block0.m(div2, t2);
				}
			} else if (if_block0) {
				group_outros();

				transition_out(if_block0, 1, 1, () => {
					if_block0 = null;
				});

				check_outros();
			}

			const iconbutton_changes = {};

			if (dirty & /*$$scope*/ 16384) {
				iconbutton_changes.$$scope = { dirty, ctx };
			}

			iconbutton.$set(iconbutton_changes);

			if (/*$filterError*/ ctx[5]) {
				if (if_block1) {
					if_block1.p(ctx, dirty);
				} else {
					if_block1 = FilterBar_svelte_create_if_block(ctx);
					if_block1.c();
					if_block1.m(div4, null);
				}
			} else if (if_block1) {
				if_block1.d(1);
				if_block1 = null;
			}
		},
		i(local) {
			if (current) return;
			transition_in(subheading.$$.fragment, local);
			transition_in(aceeditor.$$.fragment, local);
			transition_in(if_block0);
			transition_in(iconbutton.$$.fragment, local);
			current = true;
		},
		o(local) {
			transition_out(subheading.$$.fragment, local);
			transition_out(aceeditor.$$.fragment, local);
			transition_out(if_block0);
			transition_out(iconbutton.$$.fragment, local);
			current = false;
		},
		d(detaching) {
			if (detaching) detach(div4);
			destroy_component(subheading);
			destroy_component(aceeditor);
			if (if_block0) if_block0.d();
			destroy_component(iconbutton);
			if (if_block1) if_block1.d();
		}
	};
}

function FilterBar_svelte_instance($$self, $$props, $$invalidate) {
	let cols;
	let customCompleter;
	let filterString;

	let $filter,
		$$unsubscribe_filter = noop,
		$$subscribe_filter = () => ($$unsubscribe_filter(), $$unsubscribe_filter = subscribe(filter, $$value => $$invalidate(3, $filter = $$value)), filter);

	let $table,
		$$unsubscribe_table = noop,
		$$subscribe_table = () => ($$unsubscribe_table(), $$unsubscribe_table = subscribe(table, $$value => $$invalidate(12, $table = $$value)), table);

	let $filterError,
		$$unsubscribe_filterError = noop,
		$$subscribe_filterError = () => ($$unsubscribe_filterError(), $$unsubscribe_filterError = subscribe(filterError, $$value => $$invalidate(5, $filterError = $$value)), filterError);

	$$self.$$.on_destroy.push(() => $$unsubscribe_filter());
	$$self.$$.on_destroy.push(() => $$unsubscribe_table());
	$$self.$$.on_destroy.push(() => $$unsubscribe_filterError());
	let { filter } = $$props;
	$$subscribe_filter();
	let { filterError } = $$props;
	$$subscribe_filterError();
	let { table } = $$props;
	$$subscribe_table();
	let langTools = undefined;

	function addFilter() {
		filter.set(filterString.replace(/(\r\n|\n|\r)/gm, ''));
	}

	function clearFilter() {
		filter.set('');
	}

	function initEditor(editor) {
		$$invalidate(9, langTools = brace.acequire('ace/ext/language_tools'));

		editor.detail.commands.addCommand({
			name: 'enter',
			exec() {
				addFilter();
			},
			bindKey: { mac: 'enter', windows: 'enter' }
		});
	}

	function aceeditor_value_binding(value) {
		filterString = value;
		($$invalidate(4, filterString), $$invalidate(3, $filter));
	}

	$$self.$$set = $$props => {
		if ('filter' in $$props) $$subscribe_filter($$invalidate(0, filter = $$props.filter));
		if ('filterError' in $$props) $$subscribe_filterError($$invalidate(1, filterError = $$props.filterError));
		if ('table' in $$props) $$subscribe_table($$invalidate(2, table = $$props.table));
	};

	$$self.$$.update = () => {
		if ($$self.$$.dirty & /*$table*/ 4096) {
			$: $$invalidate(11, cols = $table.columnNames().map(name => `d.${name}`));
		}

		if ($$self.$$.dirty & /*cols*/ 2048) {
			$: $$invalidate(10, customCompleter = {
				getCompletions: (editor, session, pos, prefix, callback) => {
					if (prefix === 'd') {
						callback(null, cols.map(column => ({
							caption: `${column}: column from arrow`,
							value: column,
							meta: 'Table'
						})));
					}
				}
			});
		}

		if ($$self.$$.dirty & /*langTools, customCompleter*/ 1536) {
			$: {
				if (langTools !== undefined) {
					langTools.addCompleter(customCompleter);
				}
			}
		}

		if ($$self.$$.dirty & /*$filter*/ 8) {
			$: $$invalidate(4, filterString = $filter);
		}
	};

	return [
		filter,
		filterError,
		table,
		$filter,
		filterString,
		$filterError,
		addFilter,
		clearFilter,
		initEditor,
		langTools,
		customCompleter,
		cols,
		$table,
		aceeditor_value_binding
	];
}

class FilterBar extends SvelteComponent {
	constructor(options) {
		super();
		init(this, options, FilterBar_svelte_instance, FilterBar_svelte_create_fragment, safe_not_equal, { filter: 0, filterError: 1, table: 2 });
	}
}

/* harmony default export */ const FilterBar_svelte = (FilterBar);
// EXTERNAL MODULE: ../node_modules/@fortawesome/free-solid-svg-icons/faCopy.js
var faCopy = __webpack_require__(1404);
// EXTERNAL MODULE: ../node_modules/@fortawesome/free-solid-svg-icons/faCheckSquare.js
var faCheckSquare = __webpack_require__(9458);
;// ../canvas_viz/dist/elements/DataSample.svelte
/* media/satish/Development/workspace/projects/exploratory_data_analysis/deepview/src/deepview_canvas/canvas_viz/dist/elements/DataSample.svelte generated by Svelte v3.59.2 */






function DataSample_svelte_create_if_block(ctx) {
	let icon;
	let current;

	icon = new fa_svelte({
			props: {
				class: "absolute top-0 right-0 bg-white border-2 border-white",
				icon: faCheckSquare/* faCheckSquare */.rQ
			}
		});

	return {
		c() {
			create_component(icon.$$.fragment);
		},
		m(target, anchor) {
			mount_component(icon, target, anchor);
			current = true;
		},
		p: noop,
		i(local) {
			if (current) return;
			transition_in(icon.$$.fragment, local);
			current = true;
		},
		o(local) {
			transition_out(icon.$$.fragment, local);
			current = false;
		},
		d(detaching) {
			destroy_component(icon, detaching);
		}
	};
}

function DataSample_svelte_create_fragment(ctx) {
	let div;
	let switch_instance;
	let t;
	let show_if = /*$selected*/ ctx[6].includes(/*id*/ ctx[5]);
	let current;
	let mounted;
	let dispose;
	var switch_value = getComponentForType(/*$canvasSpec*/ ctx[3].dataType);

	function switch_props(ctx) {
		return {
			props: {
				id: /*id*/ ctx[5],
				canvasSpec: /*canvasSpec*/ ctx[0],
				storybook: /*storybook*/ ctx[2]
			}
		};
	}

	if (switch_value) {
		switch_instance = construct_svelte_component(switch_value, switch_props(ctx));
		switch_instance.$on("click", /*click_handler*/ ctx[13]);
	}

	let if_block = show_if && DataSample_svelte_create_if_block(ctx);

	return {
		c() {
			div = internal_element("div");
			if (switch_instance) create_component(switch_instance.$$.fragment);
			t = space();
			if (if_block) if_block.c();
			attr(div, "class", "relative");
		},
		m(target, anchor) {
			insert(target, div, anchor);
			if (switch_instance) mount_component(switch_instance, div, null);
			append(div, t);
			if (if_block) if_block.m(div, null);
			current = true;

			if (!mounted) {
				dispose = [
					listen(div, "mouseenter", /*mouseenter_handler*/ ctx[14]),
					listen(div, "mouseleave", /*mouseleave_handler*/ ctx[15]),
					listen(div, "mousemove", /*handleMousemove*/ ctx[8])
				];

				mounted = true;
			}
		},
		p(ctx, [dirty]) {
			const switch_instance_changes = {};
			if (dirty & /*id*/ 32) switch_instance_changes.id = /*id*/ ctx[5];
			if (dirty & /*canvasSpec*/ 1) switch_instance_changes.canvasSpec = /*canvasSpec*/ ctx[0];
			if (dirty & /*storybook*/ 4) switch_instance_changes.storybook = /*storybook*/ ctx[2];

			if (dirty & /*$canvasSpec*/ 8 && switch_value !== (switch_value = getComponentForType(/*$canvasSpec*/ ctx[3].dataType))) {
				if (switch_instance) {
					group_outros();
					const old_component = switch_instance;

					transition_out(old_component.$$.fragment, 1, 0, () => {
						destroy_component(old_component, 1);
					});

					check_outros();
				}

				if (switch_value) {
					switch_instance = construct_svelte_component(switch_value, switch_props(ctx));
					switch_instance.$on("click", /*click_handler*/ ctx[13]);
					create_component(switch_instance.$$.fragment);
					transition_in(switch_instance.$$.fragment, 1);
					mount_component(switch_instance, div, t);
				} else {
					switch_instance = null;
				}
			} else if (switch_value) {
				switch_instance.$set(switch_instance_changes);
			}

			if (dirty & /*$selected, id*/ 96) show_if = /*$selected*/ ctx[6].includes(/*id*/ ctx[5]);

			if (show_if) {
				if (if_block) {
					if_block.p(ctx, dirty);

					if (dirty & /*$selected, id*/ 96) {
						transition_in(if_block, 1);
					}
				} else {
					if_block = DataSample_svelte_create_if_block(ctx);
					if_block.c();
					transition_in(if_block, 1);
					if_block.m(div, null);
				}
			} else if (if_block) {
				group_outros();

				transition_out(if_block, 1, 1, () => {
					if_block = null;
				});

				check_outros();
			}
		},
		i(local) {
			if (current) return;
			if (switch_instance) transition_in(switch_instance.$$.fragment, local);
			transition_in(if_block);
			current = true;
		},
		o(local) {
			if (switch_instance) transition_out(switch_instance.$$.fragment, local);
			transition_out(if_block);
			current = false;
		},
		d(detaching) {
			if (detaching) detach(div);
			if (switch_instance) destroy_component(switch_instance);
			if (if_block) if_block.d();
			mounted = false;
			run_all(dispose);
		}
	};
}

function DataSample_svelte_instance($$self, $$props, $$invalidate) {
	let id;

	let $canvasSpec,
		$$unsubscribe_canvasSpec = noop,
		$$subscribe_canvasSpec = () => ($$unsubscribe_canvasSpec(), $$unsubscribe_canvasSpec = subscribe(canvasSpec, $$value => $$invalidate(3, $canvasSpec = $$value)), canvasSpec);

	let $selected,
		$$unsubscribe_selected = noop,
		$$subscribe_selected = () => ($$unsubscribe_selected(), $$unsubscribe_selected = subscribe(selected, $$value => $$invalidate(6, $selected = $$value)), selected);

	$$self.$$.on_destroy.push(() => $$unsubscribe_canvasSpec());
	$$self.$$.on_destroy.push(() => $$unsubscribe_selected());
	let { dataPoint } = $$props;
	let { canvasSpec } = $$props;
	$$subscribe_canvasSpec();
	let { selected } = $$props;
	$$subscribe_selected();
	let { tooltip } = $$props;
	let { number = undefined } = $$props;
	let { storybook = false } = $$props;
	let hover = false;
	let m = { x: 0, y: 0 };

	function select() {
		const index = $selected.indexOf(id);

		if (index > -1) {
			selected.update(d => {
				d.splice(index, 1);
				return [...d];
			});
		} else {
			selected.set([...$selected, id]);
		}
	}

	function handleMousemove(event) {
		m.x = event.clientX;
		m.y = event.clientY;
		updateSampleTooltip();
	}

	function updateSampleTooltip() {
		tooltip.set({
			hover,
			mousePos: m,
			fetchPrefix: $canvasSpec.filesPath,
			instance: dataPoint,
			number
		});
	}

	const click_handler = () => select();

	const mouseenter_handler = () => {
		$$invalidate(4, hover = true);
		updateSampleTooltip();
	};

	const mouseleave_handler = () => {
		$$invalidate(4, hover = false);
		updateSampleTooltip();
	};

	$$self.$$set = $$props => {
		if ('dataPoint' in $$props) $$invalidate(10, dataPoint = $$props.dataPoint);
		if ('canvasSpec' in $$props) $$subscribe_canvasSpec($$invalidate(0, canvasSpec = $$props.canvasSpec));
		if ('selected' in $$props) $$subscribe_selected($$invalidate(1, selected = $$props.selected));
		if ('tooltip' in $$props) $$invalidate(11, tooltip = $$props.tooltip);
		if ('number' in $$props) $$invalidate(12, number = $$props.number);
		if ('storybook' in $$props) $$invalidate(2, storybook = $$props.storybook);
	};

	$$self.$$.update = () => {
		if ($$self.$$.dirty & /*dataPoint, $canvasSpec*/ 1032) {
			$: $$invalidate(5, id = dataPoint[$canvasSpec.idColumn]);
		}
	};

	return [
		canvasSpec,
		selected,
		storybook,
		$canvasSpec,
		hover,
		id,
		$selected,
		select,
		handleMousemove,
		updateSampleTooltip,
		dataPoint,
		tooltip,
		number,
		click_handler,
		mouseenter_handler,
		mouseleave_handler
	];
}

class DataSample extends SvelteComponent {
	constructor(options) {
		super();

		init(this, options, DataSample_svelte_instance, DataSample_svelte_create_fragment, safe_not_equal, {
			dataPoint: 10,
			canvasSpec: 0,
			selected: 1,
			tooltip: 11,
			number: 12,
			storybook: 2
		});
	}
}

/* harmony default export */ const DataSample_svelte = (DataSample);
;// ../canvas_viz/dist/ts/elements/PaginationControls.svelte
/* media/satish/Development/workspace/projects/exploratory_data_analysis/deepview/src/deepview_canvas/canvas_viz/dist/ts/elements/PaginationControls.svelte generated by Svelte v3.59.2 */


function PaginationControls_svelte_create_fragment(ctx) {
	let div3;
	let div2;
	let div0;
	let p0;
	let t0;
	let span0;
	let t1_value = /*page*/ ctx[0] * /*instancesPerPage*/ ctx[1] + 1 + "";
	let t1;
	let t2;
	let span1;
	let t3_value = Math.min(/*page*/ ctx[0] * /*instancesPerPage*/ ctx[1] + /*instancesPerPage*/ ctx[1], /*size*/ ctx[2]) + "";
	let t3;
	let t4;
	let span2;
	let t5;
	let t6;
	let t7;
	let div1;
	let nav;
	let p1;
	let t10;
	let p2;
	let t11;
	let t12_value = /*page*/ ctx[0] + 1 + "";
	let t12;
	let t13;
	let t14;
	let t15;
	let p3;
	let mounted;
	let dispose;

	return {
		c() {
			div3 = internal_element("div");
			div2 = internal_element("div");
			div0 = internal_element("div");
			p0 = internal_element("p");
			t0 = internal_text("Showing\n        ");
			span0 = internal_element("span");
			t1 = internal_text(t1_value);
			t2 = internal_text("\n        to\n        ");
			span1 = internal_element("span");
			t3 = internal_text(t3_value);
			t4 = internal_text("\n        of\n        ");
			span2 = internal_element("span");
			t5 = internal_text(/*size*/ ctx[2]);
			t6 = internal_text("\n        results");
			t7 = space();
			div1 = internal_element("div");
			nav = internal_element("nav");
			p1 = internal_element("p");

			p1.innerHTML = `<span class="sr-only">Previous</span> 
          
          <svg class="h-5 w-5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true"><path fill-rule="evenodd" d="M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z" clip-rule="evenodd"></path></svg>`;

			t10 = space();
			p2 = internal_element("p");
			t11 = internal_text("Page ");
			t12 = internal_text(t12_value);
			t13 = internal_text(" of ");
			t14 = internal_text(/*maxPage*/ ctx[3]);
			t15 = space();
			p3 = internal_element("p");

			p3.innerHTML = `<span class="sr-only">Next</span> 
          
          <svg class="h-5 w-5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true"><path fill-rule="evenodd" d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z" clip-rule="evenodd"></path></svg>`;

			attr(span0, "class", "font-medium");
			attr(span1, "class", "font-medium");
			attr(span2, "class", "font-medium");
			attr(p0, "class", "text-sm text-gray-700");
			attr(p1, "class", "bg-white relative cursor-pointer inline-flex items-center px-2 py-2 rounded-l-md border border-lightgrey text-sm font-medium text-gray-500 hover:bg-lightgrey");
			attr(p2, "aria-current", "page");
			attr(p2, "class", "z-10 bg-indigo-50 border-lightgrey text-indigo-600 relative inline-flex items-center px-4 py-2 border text-sm font-medium bg-white");
			attr(p3, "class", "bg-white relative cursor-pointer inline-flex items-center px-2 py-2 rounded-r-md border border-lightgrey text-sm font-medium text-gray-500 hover:bg-lightgrey");
			attr(nav, "class", "relative z-0 inline-flex rounded-md shadow-sm -space-x-px");
			attr(nav, "aria-label", "Pagination");
			attr(div2, "class", "sm:flex-1 sm:flex sm:items-center sm:justify-between");
			attr(div3, "class", "pt-2 flex items-center justify-between");
		},
		m(target, anchor) {
			insert(target, div3, anchor);
			append(div3, div2);
			append(div2, div0);
			append(div0, p0);
			append(p0, t0);
			append(p0, span0);
			append(span0, t1);
			append(p0, t2);
			append(p0, span1);
			append(span1, t3);
			append(p0, t4);
			append(p0, span2);
			append(span2, t5);
			append(p0, t6);
			append(div2, t7);
			append(div2, div1);
			append(div1, nav);
			append(nav, p1);
			append(nav, t10);
			append(nav, p2);
			append(p2, t11);
			append(p2, t12);
			append(p2, t13);
			append(p2, t14);
			append(nav, t15);
			append(nav, p3);

			if (!mounted) {
				dispose = [
					listen(p1, "click", /*click_handler*/ ctx[4]),
					listen(p3, "click", /*click_handler_1*/ ctx[5])
				];

				mounted = true;
			}
		},
		p(ctx, [dirty]) {
			if (dirty & /*page, instancesPerPage*/ 3 && t1_value !== (t1_value = /*page*/ ctx[0] * /*instancesPerPage*/ ctx[1] + 1 + "")) set_data(t1, t1_value);
			if (dirty & /*page, instancesPerPage, size*/ 7 && t3_value !== (t3_value = Math.min(/*page*/ ctx[0] * /*instancesPerPage*/ ctx[1] + /*instancesPerPage*/ ctx[1], /*size*/ ctx[2]) + "")) set_data(t3, t3_value);
			if (dirty & /*size*/ 4) set_data(t5, /*size*/ ctx[2]);
			if (dirty & /*page*/ 1 && t12_value !== (t12_value = /*page*/ ctx[0] + 1 + "")) set_data(t12, t12_value);
			if (dirty & /*maxPage*/ 8) set_data(t14, /*maxPage*/ ctx[3]);
		},
		i: noop,
		o: noop,
		d(detaching) {
			if (detaching) detach(div3);
			mounted = false;
			run_all(dispose);
		}
	};
}

function PaginationControls_svelte_instance($$self, $$props, $$invalidate) {
	let maxPage;
	let { instancesPerPage } = $$props;
	let { size } = $$props;
	let { page = 0 } = $$props;
	const click_handler = () => page !== 0 ? $$invalidate(0, page--, page) : "";
	const click_handler_1 = () => page < maxPage - 1 ? $$invalidate(0, page++, page) : "";

	$$self.$$set = $$props => {
		if ('instancesPerPage' in $$props) $$invalidate(1, instancesPerPage = $$props.instancesPerPage);
		if ('size' in $$props) $$invalidate(2, size = $$props.size);
		if ('page' in $$props) $$invalidate(0, page = $$props.page);
	};

	$$self.$$.update = () => {
		if ($$self.$$.dirty & /*size, instancesPerPage*/ 6) {
			$: $$invalidate(3, maxPage = Math.ceil(size / instancesPerPage));
		}
	};

	return [page, instancesPerPage, size, maxPage, click_handler, click_handler_1];
}

class PaginationControls extends SvelteComponent {
	constructor(options) {
		super();
		init(this, options, PaginationControls_svelte_instance, PaginationControls_svelte_create_fragment, safe_not_equal, { instancesPerPage: 1, size: 2, page: 0 });
	}
}

/* harmony default export */ const PaginationControls_svelte = (PaginationControls);
;// ./src/toolbar/SelectedItems.svelte
/* src/toolbar/SelectedItems.svelte generated by Svelte v3.59.2 */









function SelectedItems_svelte_get_each_context(ctx, list, i) {
	const child_ctx = ctx.slice();
	child_ctx[15] = list[i];
	return child_ctx;
}

// (51:2) {#if elements.length > 0}
function SelectedItems_svelte_create_if_block(ctx) {
	let div2;
	let subheading;
	let t0;
	let div1;
	let div0;
	let iconbutton0;
	let t1;
	let iconbutton1;
	let t2;
	let div3;
	let t3;
	let paginationcontrols;
	let updating_page;
	let current;

	subheading = new SubHeading_svelte({
			props: {
				heading: `Selected (${/*$selected*/ ctx[8].length})`
			}
		});

	iconbutton0 = new IconButton_svelte({
			props: {
				$$slots: {
					text: [SelectedItems_svelte_create_text_slot_1],
					icon: [SelectedItems_svelte_create_icon_slot_1]
				},
				$$scope: { ctx }
			}
		});

	iconbutton0.$on("click", /*clearSelection*/ ctx[9]);

	iconbutton1 = new IconButton_svelte({
			props: {
				$$slots: {
					text: [SelectedItems_svelte_create_text_slot],
					icon: [SelectedItems_svelte_create_icon_slot]
				},
				$$scope: { ctx }
			}
		});

	iconbutton1.$on("mouseleave", /*mouseleave_handler*/ ctx[10]);
	iconbutton1.$on("click", /*click_handler*/ ctx[11]);
	let each_value = /*elements*/ ctx[6].slice(/*page*/ ctx[5] * /*$canvasSpec*/ ctx[7].instancesPerPage, Math.min(/*page*/ ctx[5] * /*$canvasSpec*/ ctx[7].instancesPerPage + /*$canvasSpec*/ ctx[7].instancesPerPage, /*$selected*/ ctx[8].length));
	let each_blocks = [];

	for (let i = 0; i < each_value.length; i += 1) {
		each_blocks[i] = SelectedItems_svelte_create_each_block(SelectedItems_svelte_get_each_context(ctx, each_value, i));
	}

	const out = i => transition_out(each_blocks[i], 1, 1, () => {
		each_blocks[i] = null;
	});

	function paginationcontrols_page_binding(value) {
		/*paginationcontrols_page_binding*/ ctx[12](value);
	}

	let paginationcontrols_props = {
		instancesPerPage: /*$canvasSpec*/ ctx[7].instancesPerPage,
		size: /*$selected*/ ctx[8].length
	};

	if (/*page*/ ctx[5] !== void 0) {
		paginationcontrols_props.page = /*page*/ ctx[5];
	}

	paginationcontrols = new PaginationControls_svelte({ props: paginationcontrols_props });
	binding_callbacks.push(() => bind(paginationcontrols, 'page', paginationcontrols_page_binding));

	return {
		c() {
			div2 = internal_element("div");
			create_component(subheading.$$.fragment);
			t0 = space();
			div1 = internal_element("div");
			div0 = internal_element("div");
			create_component(iconbutton0.$$.fragment);
			t1 = space();
			create_component(iconbutton1.$$.fragment);
			t2 = space();
			div3 = internal_element("div");

			for (let i = 0; i < each_blocks.length; i += 1) {
				each_blocks[i].c();
			}

			t3 = space();
			create_component(paginationcontrols.$$.fragment);
			attr(div0, "class", "pr-2");
			attr(div1, "class", "flex");
			attr(div2, "class", "px-2 pt-2 flex items-center justify-between");
			attr(div3, "class", "flex flex-wrap mt-3");
		},
		m(target, anchor) {
			insert(target, div2, anchor);
			mount_component(subheading, div2, null);
			append(div2, t0);
			append(div2, div1);
			append(div1, div0);
			mount_component(iconbutton0, div0, null);
			append(div1, t1);
			mount_component(iconbutton1, div1, null);
			insert(target, t2, anchor);
			insert(target, div3, anchor);

			for (let i = 0; i < each_blocks.length; i += 1) {
				if (each_blocks[i]) {
					each_blocks[i].m(div3, null);
				}
			}

			insert(target, t3, anchor);
			mount_component(paginationcontrols, target, anchor);
			current = true;
		},
		p(ctx, dirty) {
			const subheading_changes = {};
			if (dirty & /*$selected*/ 256) subheading_changes.heading = `Selected (${/*$selected*/ ctx[8].length})`;
			subheading.$set(subheading_changes);
			const iconbutton0_changes = {};

			if (dirty & /*$$scope*/ 262144) {
				iconbutton0_changes.$$scope = { dirty, ctx };
			}

			iconbutton0.$set(iconbutton0_changes);
			const iconbutton1_changes = {};

			if (dirty & /*$$scope, copyText*/ 262160) {
				iconbutton1_changes.$$scope = { dirty, ctx };
			}

			iconbutton1.$set(iconbutton1_changes);

			if (dirty & /*elements, page, $canvasSpec, Math, $selected, canvasSpec, selected, tooltip*/ 494) {
				each_value = /*elements*/ ctx[6].slice(/*page*/ ctx[5] * /*$canvasSpec*/ ctx[7].instancesPerPage, Math.min(/*page*/ ctx[5] * /*$canvasSpec*/ ctx[7].instancesPerPage + /*$canvasSpec*/ ctx[7].instancesPerPage, /*$selected*/ ctx[8].length));
				let i;

				for (i = 0; i < each_value.length; i += 1) {
					const child_ctx = SelectedItems_svelte_get_each_context(ctx, each_value, i);

					if (each_blocks[i]) {
						each_blocks[i].p(child_ctx, dirty);
						transition_in(each_blocks[i], 1);
					} else {
						each_blocks[i] = SelectedItems_svelte_create_each_block(child_ctx);
						each_blocks[i].c();
						transition_in(each_blocks[i], 1);
						each_blocks[i].m(div3, null);
					}
				}

				group_outros();

				for (i = each_value.length; i < each_blocks.length; i += 1) {
					out(i);
				}

				check_outros();
			}

			const paginationcontrols_changes = {};
			if (dirty & /*$canvasSpec*/ 128) paginationcontrols_changes.instancesPerPage = /*$canvasSpec*/ ctx[7].instancesPerPage;
			if (dirty & /*$selected*/ 256) paginationcontrols_changes.size = /*$selected*/ ctx[8].length;

			if (!updating_page && dirty & /*page*/ 32) {
				updating_page = true;
				paginationcontrols_changes.page = /*page*/ ctx[5];
				add_flush_callback(() => updating_page = false);
			}

			paginationcontrols.$set(paginationcontrols_changes);
		},
		i(local) {
			if (current) return;
			transition_in(subheading.$$.fragment, local);
			transition_in(iconbutton0.$$.fragment, local);
			transition_in(iconbutton1.$$.fragment, local);

			for (let i = 0; i < each_value.length; i += 1) {
				transition_in(each_blocks[i]);
			}

			transition_in(paginationcontrols.$$.fragment, local);
			current = true;
		},
		o(local) {
			transition_out(subheading.$$.fragment, local);
			transition_out(iconbutton0.$$.fragment, local);
			transition_out(iconbutton1.$$.fragment, local);
			each_blocks = each_blocks.filter(Boolean);

			for (let i = 0; i < each_blocks.length; i += 1) {
				transition_out(each_blocks[i]);
			}

			transition_out(paginationcontrols.$$.fragment, local);
			current = false;
		},
		d(detaching) {
			if (detaching) detach(div2);
			destroy_component(subheading);
			destroy_component(iconbutton0);
			destroy_component(iconbutton1);
			if (detaching) detach(t2);
			if (detaching) detach(div3);
			destroy_each(each_blocks, detaching);
			if (detaching) detach(t3);
			destroy_component(paginationcontrols, detaching);
		}
	};
}

// (57:12) 
function SelectedItems_svelte_create_icon_slot_1(ctx) {
	let fa;
	let current;
	fa = new fa_svelte({ props: { icon: faTimes/* faTimes */.GR, slot: "icon" } });

	return {
		c() {
			create_component(fa.$$.fragment);
		},
		m(target, anchor) {
			mount_component(fa, target, anchor);
			current = true;
		},
		p: noop,
		i(local) {
			if (current) return;
			transition_in(fa.$$.fragment, local);
			current = true;
		},
		o(local) {
			transition_out(fa.$$.fragment, local);
			current = false;
		},
		d(detaching) {
			destroy_component(fa, detaching);
		}
	};
}

// (58:12) 
function SelectedItems_svelte_create_text_slot_1(ctx) {
	let span;

	return {
		c() {
			span = internal_element("span");
			span.textContent = "Clear";
			attr(span, "slot", "text");
		},
		m(target, anchor) {
			insert(target, span, anchor);
		},
		p: noop,
		d(detaching) {
			if (detaching) detach(span);
		}
	};
}

// (70:10) 
function SelectedItems_svelte_create_icon_slot(ctx) {
	let fa;
	let current;
	fa = new fa_svelte({ props: { icon: faCopy/* faCopy */.jP, slot: "icon" } });

	return {
		c() {
			create_component(fa.$$.fragment);
		},
		m(target, anchor) {
			mount_component(fa, target, anchor);
			current = true;
		},
		p: noop,
		i(local) {
			if (current) return;
			transition_in(fa.$$.fragment, local);
			current = true;
		},
		o(local) {
			transition_out(fa.$$.fragment, local);
			current = false;
		},
		d(detaching) {
			destroy_component(fa, detaching);
		}
	};
}

// (71:10) 
function SelectedItems_svelte_create_text_slot(ctx) {
	let span;
	let t;

	return {
		c() {
			span = internal_element("span");
			t = internal_text(/*copyText*/ ctx[4]);
			attr(span, "slot", "text");
		},
		m(target, anchor) {
			insert(target, span, anchor);
			append(span, t);
		},
		p(ctx, dirty) {
			if (dirty & /*copyText*/ 16) set_data(t, /*copyText*/ ctx[4]);
		},
		d(detaching) {
			if (detaching) detach(span);
		}
	};
}

// (76:6) {#each elements.slice(page * $canvasSpec.instancesPerPage, Math.min(page * $canvasSpec.instancesPerPage + $canvasSpec.instancesPerPage, $selected.length)) as row}
function SelectedItems_svelte_create_each_block(ctx) {
	let datasample;
	let current;

	datasample = new DataSample_svelte({
			props: {
				dataPoint: /*row*/ ctx[15],
				canvasSpec: /*canvasSpec*/ ctx[2],
				selected: /*selected*/ ctx[1],
				tooltip: /*tooltip*/ ctx[3]
			}
		});

	return {
		c() {
			create_component(datasample.$$.fragment);
		},
		m(target, anchor) {
			mount_component(datasample, target, anchor);
			current = true;
		},
		p(ctx, dirty) {
			const datasample_changes = {};
			if (dirty & /*elements, page, $canvasSpec, $selected*/ 480) datasample_changes.dataPoint = /*row*/ ctx[15];
			if (dirty & /*canvasSpec*/ 4) datasample_changes.canvasSpec = /*canvasSpec*/ ctx[2];
			if (dirty & /*selected*/ 2) datasample_changes.selected = /*selected*/ ctx[1];
			if (dirty & /*tooltip*/ 8) datasample_changes.tooltip = /*tooltip*/ ctx[3];
			datasample.$set(datasample_changes);
		},
		i(local) {
			if (current) return;
			transition_in(datasample.$$.fragment, local);
			current = true;
		},
		o(local) {
			transition_out(datasample.$$.fragment, local);
			current = false;
		},
		d(detaching) {
			destroy_component(datasample, detaching);
		}
	};
}

function SelectedItems_svelte_create_fragment(ctx) {
	let div;
	let current;
	let if_block = /*elements*/ ctx[6].length > 0 && SelectedItems_svelte_create_if_block(ctx);

	return {
		c() {
			div = internal_element("div");
			if (if_block) if_block.c();
			attr(div, "class", "flex flex-col overflow-hidden");
		},
		m(target, anchor) {
			insert(target, div, anchor);
			if (if_block) if_block.m(div, null);
			current = true;
		},
		p(ctx, [dirty]) {
			if (/*elements*/ ctx[6].length > 0) {
				if (if_block) {
					if_block.p(ctx, dirty);

					if (dirty & /*elements*/ 64) {
						transition_in(if_block, 1);
					}
				} else {
					if_block = SelectedItems_svelte_create_if_block(ctx);
					if_block.c();
					transition_in(if_block, 1);
					if_block.m(div, null);
				}
			} else if (if_block) {
				group_outros();

				transition_out(if_block, 1, 1, () => {
					if_block = null;
				});

				check_outros();
			}
		},
		i(local) {
			if (current) return;
			transition_in(if_block);
			current = true;
		},
		o(local) {
			transition_out(if_block);
			current = false;
		},
		d(detaching) {
			if (detaching) detach(div);
			if (if_block) if_block.d();
		}
	};
}

let baseCopyText = 'Copy';

function SelectedItems_svelte_instance($$self, $$props, $$invalidate) {
	let $table,
		$$unsubscribe_table = noop,
		$$subscribe_table = () => ($$unsubscribe_table(), $$unsubscribe_table = subscribe(table, $$value => $$invalidate(13, $table = $$value)), table);

	let $canvasSpec,
		$$unsubscribe_canvasSpec = noop,
		$$subscribe_canvasSpec = () => ($$unsubscribe_canvasSpec(), $$unsubscribe_canvasSpec = subscribe(canvasSpec, $$value => $$invalidate(7, $canvasSpec = $$value)), canvasSpec);

	let $selected,
		$$unsubscribe_selected = noop,
		$$subscribe_selected = () => ($$unsubscribe_selected(), $$unsubscribe_selected = subscribe(selected, $$value => $$invalidate(8, $selected = $$value)), selected);

	$$self.$$.on_destroy.push(() => $$unsubscribe_table());
	$$self.$$.on_destroy.push(() => $$unsubscribe_canvasSpec());
	$$self.$$.on_destroy.push(() => $$unsubscribe_selected());
	let { table } = $$props;
	$$subscribe_table();
	let { selected } = $$props;
	$$subscribe_selected();
	let { canvasSpec } = $$props;
	$$subscribe_canvasSpec();
	let { tooltip } = $$props;
	let copyText = baseCopyText;
	let page = 0;
	let elements = [];

	selected.subscribe(sel => {
		if (sel.length > 0) {
			updateElements(sel);
		} else {
			$$invalidate(6, elements = []);
		}
	});

	async function updateElements(selected) {
		let selObject = {};
		selObject[$canvasSpec.idColumn] = selected;
		let selTable = table_table(selObject);
		let filtTable = $table.semijoin(selTable);
		$$invalidate(6, elements = filtTable.objects());
	}

	function clearSelection() {
		selected.set([]);
	}

	const mouseleave_handler = () => $$invalidate(4, copyText = baseCopyText);

	const click_handler = () => {
		$$invalidate(4, copyText = 'Copied!');
		navigator.clipboard.writeText(JSON.stringify(elements.map(d => d[$canvasSpec.idColumn])));
	};

	function paginationcontrols_page_binding(value) {
		page = value;
		$$invalidate(5, page);
	}

	$$self.$$set = $$props => {
		if ('table' in $$props) $$subscribe_table($$invalidate(0, table = $$props.table));
		if ('selected' in $$props) $$subscribe_selected($$invalidate(1, selected = $$props.selected));
		if ('canvasSpec' in $$props) $$subscribe_canvasSpec($$invalidate(2, canvasSpec = $$props.canvasSpec));
		if ('tooltip' in $$props) $$invalidate(3, tooltip = $$props.tooltip);
	};

	return [
		table,
		selected,
		canvasSpec,
		tooltip,
		copyText,
		page,
		elements,
		$canvasSpec,
		$selected,
		clearSelection,
		mouseleave_handler,
		click_handler,
		paginationcontrols_page_binding
	];
}

class SelectedItems extends SvelteComponent {
	constructor(options) {
		super();

		init(this, options, SelectedItems_svelte_instance, SelectedItems_svelte_create_fragment, safe_not_equal, {
			table: 0,
			selected: 1,
			canvasSpec: 2,
			tooltip: 3
		});
	}
}

/* harmony default export */ const SelectedItems_svelte = (SelectedItems);
;// ../canvas_viz/dist/elements/ToggleButton.svelte
/* media/satish/Development/workspace/projects/exploratory_data_analysis/deepview/src/deepview_canvas/canvas_viz/dist/elements/ToggleButton.svelte generated by Svelte v3.59.2 */


function ToggleButton_svelte_create_fragment(ctx) {
	let div2;
	let span;
	let t0;
	let t1;
	let div1;
	let div0;
	let div0_class_value;
	let div1_class_value;
	let mounted;
	let dispose;

	return {
		c() {
			div2 = internal_element("div");
			span = internal_element("span");
			t0 = internal_text(/*title*/ ctx[1]);
			t1 = space();
			div1 = internal_element("div");
			div0 = internal_element("div");
			attr(span, "class", "pr-1");
			attr(div0, "class", div0_class_value = "bg-white w-4 h-4 rounded-full shadow-md transform duration-100 ease-in-out " + (/*active*/ ctx[0] ? 'translate-x-4' : ''));
			attr(div1, "class", div1_class_value = "w-10 h-6 flex items-center bg-midgrey rounded-full p-1 duration-100 ease-in-out " + (/*active*/ ctx[0] ? 'bg-highlight' : ''));
			attr(div2, "class", "flex justify-between items-center");
		},
		m(target, anchor) {
			insert(target, div2, anchor);
			append(div2, span);
			append(span, t0);
			append(div2, t1);
			append(div2, div1);
			append(div1, div0);

			if (!mounted) {
				dispose = listen(div2, "click", /*click_handler*/ ctx[2]);
				mounted = true;
			}
		},
		p(ctx, [dirty]) {
			if (dirty & /*title*/ 2) set_data(t0, /*title*/ ctx[1]);

			if (dirty & /*active*/ 1 && div0_class_value !== (div0_class_value = "bg-white w-4 h-4 rounded-full shadow-md transform duration-100 ease-in-out " + (/*active*/ ctx[0] ? 'translate-x-4' : ''))) {
				attr(div0, "class", div0_class_value);
			}

			if (dirty & /*active*/ 1 && div1_class_value !== (div1_class_value = "w-10 h-6 flex items-center bg-midgrey rounded-full p-1 duration-100 ease-in-out " + (/*active*/ ctx[0] ? 'bg-highlight' : ''))) {
				attr(div1, "class", div1_class_value);
			}
		},
		i: noop,
		o: noop,
		d(detaching) {
			if (detaching) detach(div2);
			mounted = false;
			dispose();
		}
	};
}

function ToggleButton_svelte_instance($$self, $$props, $$invalidate) {
	let { active = true } = $$props;
	let { title } = $$props;
	const click_handler = () => $$invalidate(0, active = !active);

	$$self.$$set = $$props => {
		if ('active' in $$props) $$invalidate(0, active = $$props.active);
		if ('title' in $$props) $$invalidate(1, title = $$props.title);
	};

	return [active, title, click_handler];
}

class ToggleButton extends SvelteComponent {
	constructor(options) {
		super();
		init(this, options, ToggleButton_svelte_instance, ToggleButton_svelte_create_fragment, safe_not_equal, { active: 0, title: 1 });
	}
}

/* harmony default export */ const ToggleButton_svelte = (ToggleButton);
;// ../canvas_viz/dist/elements/NumberInput.svelte
/* media/satish/Development/workspace/projects/exploratory_data_analysis/deepview/src/deepview_canvas/canvas_viz/dist/elements/NumberInput.svelte generated by Svelte v3.59.2 */


function NumberInput_svelte_create_fragment(ctx) {
	let div;
	let span;
	let t0;
	let t1;
	let input;
	let mounted;
	let dispose;

	return {
		c() {
			div = internal_element("div");
			span = internal_element("span");
			t0 = internal_text(/*title*/ ctx[1]);
			t1 = space();
			input = internal_element("input");
			attr(span, "class", "pr-1");
			attr(input, "class", "rounded border border-midgrey w-24");
			attr(input, "type", "number");
			attr(div, "class", "flex justify-between items-center");
		},
		m(target, anchor) {
			insert(target, div, anchor);
			append(div, span);
			append(span, t0);
			append(div, t1);
			append(div, input);
			set_input_value(input, /*value*/ ctx[0]);

			if (!mounted) {
				dispose = listen(input, "input", /*input_input_handler*/ ctx[2]);
				mounted = true;
			}
		},
		p(ctx, [dirty]) {
			if (dirty & /*title*/ 2) set_data(t0, /*title*/ ctx[1]);

			if (dirty & /*value*/ 1 && to_number(input.value) !== /*value*/ ctx[0]) {
				set_input_value(input, /*value*/ ctx[0]);
			}
		},
		i: noop,
		o: noop,
		d(detaching) {
			if (detaching) detach(div);
			mounted = false;
			dispose();
		}
	};
}

function NumberInput_svelte_instance($$self, $$props, $$invalidate) {
	let { value } = $$props;
	let { title } = $$props;

	function input_input_handler() {
		value = to_number(this.value);
		$$invalidate(0, value);
	}

	$$self.$$set = $$props => {
		if ('value' in $$props) $$invalidate(0, value = $$props.value);
		if ('title' in $$props) $$invalidate(1, title = $$props.title);
	};

	return [value, title, input_input_handler];
}

class NumberInput extends SvelteComponent {
	constructor(options) {
		super();
		init(this, options, NumberInput_svelte_instance, NumberInput_svelte_create_fragment, safe_not_equal, { value: 0, title: 1 });
	}
}

/* harmony default export */ const NumberInput_svelte = (NumberInput);
;// ./src/toolbar/Settings.svelte
/* src/toolbar/Settings.svelte generated by Svelte v3.59.2 */




function Settings_svelte_create_fragment(ctx) {
	let div3;
	let div0;
	let subheading;
	let t0;
	let div2;
	let togglebutton;
	let updating_active;
	let t1;
	let div1;
	let numberinput;
	let updating_value;
	let current;
	subheading = new SubHeading_svelte({ props: { heading: 'Settings' } });

	function togglebutton_active_binding(value) {
		/*togglebutton_active_binding*/ ctx[3](value);
	}

	let togglebutton_props = { title: "Show unfiltered charts" };

	if (/*showUnfilteredData*/ ctx[1] !== void 0) {
		togglebutton_props.active = /*showUnfilteredData*/ ctx[1];
	}

	togglebutton = new ToggleButton_svelte({ props: togglebutton_props });
	binding_callbacks.push(() => bind(togglebutton, 'active', togglebutton_active_binding));

	function numberinput_value_binding(value) {
		/*numberinput_value_binding*/ ctx[4](value);
	}

	let numberinput_props = { title: "Samples per page" };

	if (/*instancesPerPage*/ ctx[2] !== void 0) {
		numberinput_props.value = /*instancesPerPage*/ ctx[2];
	}

	numberinput = new NumberInput_svelte({ props: numberinput_props });
	binding_callbacks.push(() => bind(numberinput, 'value', numberinput_value_binding));

	return {
		c() {
			div3 = internal_element("div");
			div0 = internal_element("div");
			create_component(subheading.$$.fragment);
			t0 = space();
			div2 = internal_element("div");
			create_component(togglebutton.$$.fragment);
			t1 = space();
			div1 = internal_element("div");
			create_component(numberinput.$$.fragment);
			attr(div0, "class", "px-2 pt-2");
			attr(div1, "class", "pt-1");
			attr(div2, "class", "p-2 flex flex-col");
			attr(div3, "class", "flex flex-col");
		},
		m(target, anchor) {
			insert(target, div3, anchor);
			append(div3, div0);
			mount_component(subheading, div0, null);
			append(div3, t0);
			append(div3, div2);
			mount_component(togglebutton, div2, null);
			append(div2, t1);
			append(div2, div1);
			mount_component(numberinput, div1, null);
			current = true;
		},
		p(ctx, [dirty]) {
			const togglebutton_changes = {};

			if (!updating_active && dirty & /*showUnfilteredData*/ 2) {
				updating_active = true;
				togglebutton_changes.active = /*showUnfilteredData*/ ctx[1];
				add_flush_callback(() => updating_active = false);
			}

			togglebutton.$set(togglebutton_changes);
			const numberinput_changes = {};

			if (!updating_value && dirty & /*instancesPerPage*/ 4) {
				updating_value = true;
				numberinput_changes.value = /*instancesPerPage*/ ctx[2];
				add_flush_callback(() => updating_value = false);
			}

			numberinput.$set(numberinput_changes);
		},
		i(local) {
			if (current) return;
			transition_in(subheading.$$.fragment, local);
			transition_in(togglebutton.$$.fragment, local);
			transition_in(numberinput.$$.fragment, local);
			current = true;
		},
		o(local) {
			transition_out(subheading.$$.fragment, local);
			transition_out(togglebutton.$$.fragment, local);
			transition_out(numberinput.$$.fragment, local);
			current = false;
		},
		d(detaching) {
			if (detaching) detach(div3);
			destroy_component(subheading);
			destroy_component(togglebutton);
			destroy_component(numberinput);
		}
	};
}

function Settings_svelte_instance($$self, $$props, $$invalidate) {
	let $canvasSpec,
		$$unsubscribe_canvasSpec = noop,
		$$subscribe_canvasSpec = () => ($$unsubscribe_canvasSpec(), $$unsubscribe_canvasSpec = subscribe(canvasSpec, $$value => $$invalidate(5, $canvasSpec = $$value)), canvasSpec);

	$$self.$$.on_destroy.push(() => $$unsubscribe_canvasSpec());
	let { canvasSpec } = $$props;
	$$subscribe_canvasSpec();
	let showUnfilteredData = $canvasSpec.showUnfilteredData;
	let instancesPerPage = $canvasSpec.instancesPerPage;

	function togglebutton_active_binding(value) {
		showUnfilteredData = value;
		$$invalidate(1, showUnfilteredData);
	}

	function numberinput_value_binding(value) {
		instancesPerPage = value;
		$$invalidate(2, instancesPerPage);
	}

	$$self.$$set = $$props => {
		if ('canvasSpec' in $$props) $$subscribe_canvasSpec($$invalidate(0, canvasSpec = $$props.canvasSpec));
	};

	$$self.$$.update = () => {
		if ($$self.$$.dirty & /*canvasSpec, showUnfilteredData, instancesPerPage*/ 7) {
			$: canvasSpec.update(spec => {
				spec.showUnfilteredData = showUnfilteredData;
				spec.instancesPerPage = instancesPerPage;
				return { ...spec };
			});
		}
	};

	return [
		canvasSpec,
		showUnfilteredData,
		instancesPerPage,
		togglebutton_active_binding,
		numberinput_value_binding
	];
}

class Settings extends SvelteComponent {
	constructor(options) {
		super();
		init(this, options, Settings_svelte_instance, Settings_svelte_create_fragment, safe_not_equal, { canvasSpec: 0 });
	}
}

/* harmony default export */ const Settings_svelte = (Settings);
// EXTERNAL MODULE: ../node_modules/@fortawesome/free-solid-svg-icons/faLayerGroup.js
var faLayerGroup = __webpack_require__(2881);
;// ../canvas_viz/dist/elements/GroupChip.svelte
/* media/satish/Development/workspace/projects/exploratory_data_analysis/deepview/src/deepview_canvas/canvas_viz/dist/elements/GroupChip.svelte generated by Svelte v3.59.2 */






function GroupChip_svelte_get_each_context(ctx, list, i) {
	const child_ctx = ctx.slice();
	child_ctx[4] = list[i];
	child_ctx[6] = i;
	return child_ctx;
}

// (30:4) {#each values as value, i}
function GroupChip_svelte_create_each_block(ctx) {
	let div;
	let t0_value = /*value*/ ctx[4] + "";
	let t0;
	let t1;
	let t2_value = (/*i*/ ctx[6] !== /*values*/ ctx[0].length - 1 ? "|" : "") + "";
	let t2;
	let t3;

	return {
		c() {
			div = internal_element("div");
			t0 = internal_text(t0_value);
			t1 = space();
			t2 = internal_text(t2_value);
			t3 = space();
			attr(div, "class", "text-s pr-0.5 pl-0.5 font-normal max-w-full flex-initial");
		},
		m(target, anchor) {
			insert(target, div, anchor);
			append(div, t0);
			append(div, t1);
			append(div, t2);
			append(div, t3);
		},
		p(ctx, dirty) {
			if (dirty & /*values*/ 1 && t0_value !== (t0_value = /*value*/ ctx[4] + "")) set_data(t0, t0_value);
			if (dirty & /*values*/ 1 && t2_value !== (t2_value = (/*i*/ ctx[6] !== /*values*/ ctx[0].length - 1 ? "|" : "") + "")) set_data(t2, t2_value);
		},
		d(detaching) {
			if (detaching) detach(div);
		}
	};
}

function GroupChip_svelte_create_fragment(ctx) {
	let div3;
	let div0;
	let t0;
	let div1;
	let t1;
	let t2_value = /*groupSize*/ ctx[1].toLocaleString() + "";
	let t2;
	let t3;
	let t4;
	let div2;
	let button;
	let icon;
	let div3_class_value;
	let current;
	let mounted;
	let dispose;
	let each_value = /*values*/ ctx[0];
	let each_blocks = [];

	for (let i = 0; i < each_value.length; i += 1) {
		each_blocks[i] = GroupChip_svelte_create_each_block(GroupChip_svelte_get_each_context(ctx, each_value, i));
	}

	icon = new fa_svelte({ props: { icon: faTimes/* faTimes */.GR } });

	return {
		c() {
			div3 = internal_element("div");
			div0 = internal_element("div");

			for (let i = 0; i < each_blocks.length; i += 1) {
				each_blocks[i].c();
			}

			t0 = space();
			div1 = internal_element("div");
			t1 = internal_text("(");
			t2 = internal_text(t2_value);
			t3 = internal_text(")");
			t4 = space();
			div2 = internal_element("div");
			button = internal_element("button");
			create_component(icon.$$.fragment);
			attr(div0, "class", "flex h-full pr-0.5 pl-0.5 items-center");
			attr(div1, "class", "text-s text-text-dimmed pr-0.5 pl-0.5");
			attr(div2, "class", "flex flex-auto pl-1 text-s");
			attr(div3, "class", div3_class_value = "flex items-center m-1 px-2 h-8 w-max border border-button_outline rounded " + (/*groupSize*/ ctx[1] > 0 ? 'bg-body-light' : ''));
		},
		m(target, anchor) {
			insert(target, div3, anchor);
			append(div3, div0);

			for (let i = 0; i < each_blocks.length; i += 1) {
				if (each_blocks[i]) {
					each_blocks[i].m(div0, null);
				}
			}

			append(div3, t0);
			append(div3, div1);
			append(div1, t1);
			append(div1, t2);
			append(div1, t3);
			append(div3, t4);
			append(div3, div2);
			append(div2, button);
			mount_component(icon, button, null);
			current = true;

			if (!mounted) {
				dispose = listen(button, "click", /*click_handler*/ ctx[3]);
				mounted = true;
			}
		},
		p(ctx, [dirty]) {
			if (dirty & /*values*/ 1) {
				each_value = /*values*/ ctx[0];
				let i;

				for (i = 0; i < each_value.length; i += 1) {
					const child_ctx = GroupChip_svelte_get_each_context(ctx, each_value, i);

					if (each_blocks[i]) {
						each_blocks[i].p(child_ctx, dirty);
					} else {
						each_blocks[i] = GroupChip_svelte_create_each_block(child_ctx);
						each_blocks[i].c();
						each_blocks[i].m(div0, null);
					}
				}

				for (; i < each_blocks.length; i += 1) {
					each_blocks[i].d(1);
				}

				each_blocks.length = each_value.length;
			}

			if ((!current || dirty & /*groupSize*/ 2) && t2_value !== (t2_value = /*groupSize*/ ctx[1].toLocaleString() + "")) set_data(t2, t2_value);

			if (!current || dirty & /*groupSize*/ 2 && div3_class_value !== (div3_class_value = "flex items-center m-1 px-2 h-8 w-max border border-button_outline rounded " + (/*groupSize*/ ctx[1] > 0 ? 'bg-body-light' : ''))) {
				attr(div3, "class", div3_class_value);
			}
		},
		i(local) {
			if (current) return;
			transition_in(icon.$$.fragment, local);
			current = true;
		},
		o(local) {
			transition_out(icon.$$.fragment, local);
			current = false;
		},
		d(detaching) {
			if (detaching) detach(div3);
			destroy_each(each_blocks, detaching);
			destroy_component(icon);
			mounted = false;
			dispose();
		}
	};
}

function GroupChip_svelte_instance($$self, $$props, $$invalidate) {
	let { values } = $$props;
	let { groupSize } = $$props;
	const dispatch = createEventDispatcher();

	const click_handler = () => {
		dispatch("remove", { values });
		$$invalidate(0, values = []); // clear the value list
	};

	$$self.$$set = $$props => {
		if ('values' in $$props) $$invalidate(0, values = $$props.values);
		if ('groupSize' in $$props) $$invalidate(1, groupSize = $$props.groupSize);
	};

	return [values, groupSize, dispatch, click_handler];
}

class GroupChip extends SvelteComponent {
	constructor(options) {
		super();
		init(this, options, GroupChip_svelte_instance, GroupChip_svelte_create_fragment, safe_not_equal, { values: 0, groupSize: 1 });
	}
}

/* harmony default export */ const GroupChip_svelte = (GroupChip);
;// ../node_modules/svelte-select/src/utils/isOutOfViewport.js
/* harmony default export */ function isOutOfViewport(elem) {
    const bounding = elem.getBoundingClientRect();
    const out = {};

    out.top = bounding.top < 0;
    out.left = bounding.left < 0;
    out.bottom =
        bounding.bottom >
        (window.innerHeight || document.documentElement.clientHeight);
    out.right =
        bounding.right >
        (window.innerWidth || document.documentElement.clientWidth);
    out.any = out.top || out.left || out.bottom || out.right;

    return out;
}

;// ../node_modules/svelte-select/src/Item.svelte
/* media/satish/Development/workspace/projects/exploratory_data_analysis/deepview/src/deepview_canvas/node_modules/svelte-select/src/Item.svelte generated by Svelte v3.59.2 */


function Item_svelte_add_css(target) {
	append_styles(target, "svelte-sslmxq", ".item.svelte-sslmxq{cursor:default;height:42px;height:var(--height, 42px);line-height:42px;line-height:var(--height, 42px);padding:0 20px;padding:var(--itemPadding, 0 20px);color:inherit;color:var(--itemColor, inherit);text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.groupHeader.svelte-sslmxq{text-transform:uppercase;text-transform:var(--groupTitleTextTransform, uppercase)}.groupItem.svelte-sslmxq{padding-left:40px;padding-left:var(--groupItemPaddingLeft, 40px)}.item.svelte-sslmxq:active{background:#b9daff;background:var(--itemActiveBackground, #b9daff)}.item.active.svelte-sslmxq{background:#007aff;background:var(--itemIsActiveBG, #007aff);color:#fff;color:var(--itemIsActiveColor, #fff)}.item.notSelectable.svelte-sslmxq{color:#999;color:var(--itemIsNotSelectableColor, #999)}.item.first.svelte-sslmxq{border-radius:4px 4px 0 0;border-radius:var(--itemFirstBorderRadius, 4px 4px 0 0)}.item.hover.svelte-sslmxq:not(.active){background:#e7f2ff;background:var(--itemHoverBG, #e7f2ff);color:inherit;color:var(--itemHoverColor, inherit)}");
}

function Item_svelte_create_fragment(ctx) {
	let div;
	let raw_value = /*getOptionLabel*/ ctx[0](/*item*/ ctx[1], /*filterText*/ ctx[2]) + "";
	let div_class_value;

	return {
		c() {
			div = internal_element("div");
			attr(div, "class", div_class_value = "item " + /*itemClasses*/ ctx[3] + " svelte-sslmxq");
		},
		m(target, anchor) {
			insert(target, div, anchor);
			div.innerHTML = raw_value;
		},
		p(ctx, [dirty]) {
			if (dirty & /*getOptionLabel, item, filterText*/ 7 && raw_value !== (raw_value = /*getOptionLabel*/ ctx[0](/*item*/ ctx[1], /*filterText*/ ctx[2]) + "")) div.innerHTML = raw_value;;

			if (dirty & /*itemClasses*/ 8 && div_class_value !== (div_class_value = "item " + /*itemClasses*/ ctx[3] + " svelte-sslmxq")) {
				attr(div, "class", div_class_value);
			}
		},
		i: noop,
		o: noop,
		d(detaching) {
			if (detaching) detach(div);
		}
	};
}

function Item_svelte_instance($$self, $$props, $$invalidate) {
	let { isActive = false } = $$props;
	let { isFirst = false } = $$props;
	let { isHover = false } = $$props;
	let { isSelectable = false } = $$props;
	let { getOptionLabel = undefined } = $$props;
	let { item = undefined } = $$props;
	let { filterText = '' } = $$props;
	let itemClasses = '';

	$$self.$$set = $$props => {
		if ('isActive' in $$props) $$invalidate(4, isActive = $$props.isActive);
		if ('isFirst' in $$props) $$invalidate(5, isFirst = $$props.isFirst);
		if ('isHover' in $$props) $$invalidate(6, isHover = $$props.isHover);
		if ('isSelectable' in $$props) $$invalidate(7, isSelectable = $$props.isSelectable);
		if ('getOptionLabel' in $$props) $$invalidate(0, getOptionLabel = $$props.getOptionLabel);
		if ('item' in $$props) $$invalidate(1, item = $$props.item);
		if ('filterText' in $$props) $$invalidate(2, filterText = $$props.filterText);
	};

	$$self.$$.update = () => {
		if ($$self.$$.dirty & /*isActive, isFirst, isHover, item, isSelectable*/ 242) {
			$: {
				const classes = [];

				if (isActive) {
					classes.push('active');
				}

				if (isFirst) {
					classes.push('first');
				}

				if (isHover) {
					classes.push('hover');
				}

				if (item.isGroupHeader) {
					classes.push('groupHeader');
				}

				if (item.isGroupItem) {
					classes.push('groupItem');
				}

				if (!isSelectable) {
					classes.push('notSelectable');
				}

				$$invalidate(3, itemClasses = classes.join(' '));
			}
		}
	};

	return [
		getOptionLabel,
		item,
		filterText,
		itemClasses,
		isActive,
		isFirst,
		isHover,
		isSelectable
	];
}

class Item extends SvelteComponent {
	constructor(options) {
		super();

		init(
			this,
			options,
			Item_svelte_instance,
			Item_svelte_create_fragment,
			safe_not_equal,
			{
				isActive: 4,
				isFirst: 5,
				isHover: 6,
				isSelectable: 7,
				getOptionLabel: 0,
				item: 1,
				filterText: 2
			},
			Item_svelte_add_css
		);
	}
}

/* harmony default export */ const Item_svelte = (Item);
;// ../node_modules/svelte-select/src/List.svelte
/* media/satish/Development/workspace/projects/exploratory_data_analysis/deepview/src/deepview_canvas/node_modules/svelte-select/src/List.svelte generated by Svelte v3.59.2 */






function List_svelte_add_css(target) {
	append_styles(target, "svelte-16rwnjl", ".listContainer.svelte-16rwnjl{box-shadow:0 2px 3px 0 rgba(44, 62, 80, 0.24);box-shadow:var(--listShadow, 0 2px 3px 0 rgba(44, 62, 80, 0.24));border-radius:4px;border-radius:var(--listBorderRadius, 4px);max-height:250px;max-height:var(--listMaxHeight, 250px);overflow-y:auto;background:#fff;background:var(--listBackground, #fff);border:none;border:var(--listBorder, none);position:absolute;position:var(--listPosition, absolute);z-index:2;z-index:var(--listZIndex, 2);width:100%;left:0;left:var(--listLeft, 0);right:0;right:var(--listRight, 0)}.virtualList.svelte-16rwnjl{height:200px;height:var(--virtualListHeight, 200px)}.listGroupTitle.svelte-16rwnjl{color:#8f8f8f;color:var(--groupTitleColor, #8f8f8f);cursor:default;font-size:12px;font-size:var(--groupTitleFontSize, 12px);font-weight:600;font-weight:var(--groupTitleFontWeight, 600);height:42px;height:var(--height, 42px);line-height:42px;line-height:var(--height, 42px);padding:0 20px;padding:var(--groupTitlePadding, 0 20px);text-overflow:ellipsis;overflow-x:hidden;white-space:nowrap;text-transform:uppercase;text-transform:var(--groupTitleTextTransform, uppercase)}.empty.svelte-16rwnjl{text-align:center;text-align:var(--listEmptyTextAlign, center);padding:20px 0;padding:var(--listEmptyPadding, 20px 0);color:#78848f;color:var(--listEmptyColor, #78848f)}");
}

function List_svelte_get_each_context(ctx, list, i) {
	const child_ctx = ctx.slice();
	child_ctx[41] = list[i];
	child_ctx[42] = i;
	return child_ctx;
}

// (327:4) {:else}
function List_svelte_create_else_block(ctx) {
	let each_1_anchor;
	let current;
	let each_value = /*items*/ ctx[1];
	let each_blocks = [];

	for (let i = 0; i < each_value.length; i += 1) {
		each_blocks[i] = List_svelte_create_each_block(List_svelte_get_each_context(ctx, each_value, i));
	}

	const out = i => transition_out(each_blocks[i], 1, 1, () => {
		each_blocks[i] = null;
	});

	let each_1_else = null;

	if (!each_value.length) {
		each_1_else = create_else_block_2(ctx);
	}

	return {
		c() {
			for (let i = 0; i < each_blocks.length; i += 1) {
				each_blocks[i].c();
			}

			each_1_anchor = empty();

			if (each_1_else) {
				each_1_else.c();
			}
		},
		m(target, anchor) {
			for (let i = 0; i < each_blocks.length; i += 1) {
				if (each_blocks[i]) {
					each_blocks[i].m(target, anchor);
				}
			}

			insert(target, each_1_anchor, anchor);

			if (each_1_else) {
				each_1_else.m(target, anchor);
			}

			current = true;
		},
		p(ctx, dirty) {
			if (dirty[0] & /*getGroupHeaderLabel, items, handleHover, handleClick, Item, filterText, getOptionLabel, value, optionIdentifier, hoverItemIndex, noOptionsMessage, hideEmptyState*/ 114390) {
				each_value = /*items*/ ctx[1];
				let i;

				for (i = 0; i < each_value.length; i += 1) {
					const child_ctx = List_svelte_get_each_context(ctx, each_value, i);

					if (each_blocks[i]) {
						each_blocks[i].p(child_ctx, dirty);
						transition_in(each_blocks[i], 1);
					} else {
						each_blocks[i] = List_svelte_create_each_block(child_ctx);
						each_blocks[i].c();
						transition_in(each_blocks[i], 1);
						each_blocks[i].m(each_1_anchor.parentNode, each_1_anchor);
					}
				}

				group_outros();

				for (i = each_value.length; i < each_blocks.length; i += 1) {
					out(i);
				}

				check_outros();

				if (!each_value.length && each_1_else) {
					each_1_else.p(ctx, dirty);
				} else if (!each_value.length) {
					each_1_else = create_else_block_2(ctx);
					each_1_else.c();
					each_1_else.m(each_1_anchor.parentNode, each_1_anchor);
				} else if (each_1_else) {
					each_1_else.d(1);
					each_1_else = null;
				}
			}
		},
		i(local) {
			if (current) return;

			for (let i = 0; i < each_value.length; i += 1) {
				transition_in(each_blocks[i]);
			}

			current = true;
		},
		o(local) {
			each_blocks = each_blocks.filter(Boolean);

			for (let i = 0; i < each_blocks.length; i += 1) {
				transition_out(each_blocks[i]);
			}

			current = false;
		},
		d(detaching) {
			destroy_each(each_blocks, detaching);
			if (detaching) detach(each_1_anchor);
			if (each_1_else) each_1_else.d(detaching);
		}
	};
}

// (304:4) {#if isVirtualList}
function List_svelte_create_if_block(ctx) {
	let switch_instance;
	let switch_instance_anchor;
	let current;
	var switch_value = /*VirtualList*/ ctx[3];

	function switch_props(ctx) {
		return {
			props: {
				items: /*items*/ ctx[1],
				itemHeight: /*itemHeight*/ ctx[8],
				$$slots: {
					default: [
						create_default_slot,
						({ item, i }) => ({ 41: item, 42: i }),
						({ item, i }) => [0, (item ? 1024 : 0) | (i ? 2048 : 0)]
					]
				},
				$$scope: { ctx }
			}
		};
	}

	if (switch_value) {
		switch_instance = construct_svelte_component(switch_value, switch_props(ctx));
	}

	return {
		c() {
			if (switch_instance) create_component(switch_instance.$$.fragment);
			switch_instance_anchor = empty();
		},
		m(target, anchor) {
			if (switch_instance) mount_component(switch_instance, target, anchor);
			insert(target, switch_instance_anchor, anchor);
			current = true;
		},
		p(ctx, dirty) {
			const switch_instance_changes = {};
			if (dirty[0] & /*items*/ 2) switch_instance_changes.items = /*items*/ ctx[1];
			if (dirty[0] & /*itemHeight*/ 256) switch_instance_changes.itemHeight = /*itemHeight*/ ctx[8];

			if (dirty[0] & /*Item, filterText, getOptionLabel, value, optionIdentifier, hoverItemIndex, items*/ 9814 | dirty[1] & /*$$scope, i, item*/ 11264) {
				switch_instance_changes.$$scope = { dirty, ctx };
			}

			if (dirty[0] & /*VirtualList*/ 8 && switch_value !== (switch_value = /*VirtualList*/ ctx[3])) {
				if (switch_instance) {
					group_outros();
					const old_component = switch_instance;

					transition_out(old_component.$$.fragment, 1, 0, () => {
						destroy_component(old_component, 1);
					});

					check_outros();
				}

				if (switch_value) {
					switch_instance = construct_svelte_component(switch_value, switch_props(ctx));
					create_component(switch_instance.$$.fragment);
					transition_in(switch_instance.$$.fragment, 1);
					mount_component(switch_instance, switch_instance_anchor.parentNode, switch_instance_anchor);
				} else {
					switch_instance = null;
				}
			} else if (switch_value) {
				switch_instance.$set(switch_instance_changes);
			}
		},
		i(local) {
			if (current) return;
			if (switch_instance) transition_in(switch_instance.$$.fragment, local);
			current = true;
		},
		o(local) {
			if (switch_instance) transition_out(switch_instance.$$.fragment, local);
			current = false;
		},
		d(detaching) {
			if (detaching) detach(switch_instance_anchor);
			if (switch_instance) destroy_component(switch_instance, detaching);
		}
	};
}

// (349:8) {:else}
function create_else_block_2(ctx) {
	let if_block_anchor;
	let if_block = !/*hideEmptyState*/ ctx[11] && List_svelte_create_if_block_2(ctx);

	return {
		c() {
			if (if_block) if_block.c();
			if_block_anchor = empty();
		},
		m(target, anchor) {
			if (if_block) if_block.m(target, anchor);
			insert(target, if_block_anchor, anchor);
		},
		p(ctx, dirty) {
			if (!/*hideEmptyState*/ ctx[11]) {
				if (if_block) {
					if_block.p(ctx, dirty);
				} else {
					if_block = List_svelte_create_if_block_2(ctx);
					if_block.c();
					if_block.m(if_block_anchor.parentNode, if_block_anchor);
				}
			} else if (if_block) {
				if_block.d(1);
				if_block = null;
			}
		},
		d(detaching) {
			if (if_block) if_block.d(detaching);
			if (detaching) detach(if_block_anchor);
		}
	};
}

// (350:12) {#if !hideEmptyState}
function List_svelte_create_if_block_2(ctx) {
	let div;
	let t;

	return {
		c() {
			div = internal_element("div");
			t = internal_text(/*noOptionsMessage*/ ctx[12]);
			attr(div, "class", "empty svelte-16rwnjl");
		},
		m(target, anchor) {
			insert(target, div, anchor);
			append(div, t);
		},
		p(ctx, dirty) {
			if (dirty[0] & /*noOptionsMessage*/ 4096) set_data(t, /*noOptionsMessage*/ ctx[12]);
		},
		d(detaching) {
			if (detaching) detach(div);
		}
	};
}

// (331:12) {:else}
function create_else_block_1(ctx) {
	let div;
	let switch_instance;
	let t;
	let current;
	let mounted;
	let dispose;
	var switch_value = /*Item*/ ctx[4];

	function switch_props(ctx) {
		return {
			props: {
				item: /*item*/ ctx[41],
				filterText: /*filterText*/ ctx[13],
				getOptionLabel: /*getOptionLabel*/ ctx[6],
				isFirst: isItemFirst(/*i*/ ctx[42]),
				isActive: isItemActive(/*item*/ ctx[41], /*value*/ ctx[9], /*optionIdentifier*/ ctx[10]),
				isHover: isItemHover(/*hoverItemIndex*/ ctx[2], /*item*/ ctx[41], /*i*/ ctx[42], /*items*/ ctx[1]),
				isSelectable: isItemSelectable(/*item*/ ctx[41])
			}
		};
	}

	if (switch_value) {
		switch_instance = construct_svelte_component(switch_value, switch_props(ctx));
	}

	function mouseover_handler_1() {
		return /*mouseover_handler_1*/ ctx[29](/*i*/ ctx[42]);
	}

	function focus_handler_1() {
		return /*focus_handler_1*/ ctx[30](/*i*/ ctx[42]);
	}

	function click_handler_1(...args) {
		return /*click_handler_1*/ ctx[31](/*item*/ ctx[41], /*i*/ ctx[42], ...args);
	}

	return {
		c() {
			div = internal_element("div");
			if (switch_instance) create_component(switch_instance.$$.fragment);
			t = space();
			attr(div, "class", "listItem");
			attr(div, "tabindex", "-1");
		},
		m(target, anchor) {
			insert(target, div, anchor);
			if (switch_instance) mount_component(switch_instance, div, null);
			append(div, t);
			current = true;

			if (!mounted) {
				dispose = [
					listen(div, "mouseover", mouseover_handler_1),
					listen(div, "focus", focus_handler_1),
					listen(div, "click", click_handler_1)
				];

				mounted = true;
			}
		},
		p(new_ctx, dirty) {
			ctx = new_ctx;
			const switch_instance_changes = {};
			if (dirty[0] & /*items*/ 2) switch_instance_changes.item = /*item*/ ctx[41];
			if (dirty[0] & /*filterText*/ 8192) switch_instance_changes.filterText = /*filterText*/ ctx[13];
			if (dirty[0] & /*getOptionLabel*/ 64) switch_instance_changes.getOptionLabel = /*getOptionLabel*/ ctx[6];
			if (dirty[0] & /*items, value, optionIdentifier*/ 1538) switch_instance_changes.isActive = isItemActive(/*item*/ ctx[41], /*value*/ ctx[9], /*optionIdentifier*/ ctx[10]);
			if (dirty[0] & /*hoverItemIndex, items*/ 6) switch_instance_changes.isHover = isItemHover(/*hoverItemIndex*/ ctx[2], /*item*/ ctx[41], /*i*/ ctx[42], /*items*/ ctx[1]);
			if (dirty[0] & /*items*/ 2) switch_instance_changes.isSelectable = isItemSelectable(/*item*/ ctx[41]);

			if (dirty[0] & /*Item*/ 16 && switch_value !== (switch_value = /*Item*/ ctx[4])) {
				if (switch_instance) {
					group_outros();
					const old_component = switch_instance;

					transition_out(old_component.$$.fragment, 1, 0, () => {
						destroy_component(old_component, 1);
					});

					check_outros();
				}

				if (switch_value) {
					switch_instance = construct_svelte_component(switch_value, switch_props(ctx));
					create_component(switch_instance.$$.fragment);
					transition_in(switch_instance.$$.fragment, 1);
					mount_component(switch_instance, div, t);
				} else {
					switch_instance = null;
				}
			} else if (switch_value) {
				switch_instance.$set(switch_instance_changes);
			}
		},
		i(local) {
			if (current) return;
			if (switch_instance) transition_in(switch_instance.$$.fragment, local);
			current = true;
		},
		o(local) {
			if (switch_instance) transition_out(switch_instance.$$.fragment, local);
			current = false;
		},
		d(detaching) {
			if (detaching) detach(div);
			if (switch_instance) destroy_component(switch_instance);
			mounted = false;
			run_all(dispose);
		}
	};
}

// (329:12) {#if item.isGroupHeader && !item.isSelectable}
function List_svelte_create_if_block_1(ctx) {
	let div;
	let t_value = /*getGroupHeaderLabel*/ ctx[7](/*item*/ ctx[41]) + "";
	let t;

	return {
		c() {
			div = internal_element("div");
			t = internal_text(t_value);
			attr(div, "class", "listGroupTitle svelte-16rwnjl");
		},
		m(target, anchor) {
			insert(target, div, anchor);
			append(div, t);
		},
		p(ctx, dirty) {
			if (dirty[0] & /*getGroupHeaderLabel, items*/ 130 && t_value !== (t_value = /*getGroupHeaderLabel*/ ctx[7](/*item*/ ctx[41]) + "")) set_data(t, t_value);
		},
		i: noop,
		o: noop,
		d(detaching) {
			if (detaching) detach(div);
		}
	};
}

// (328:8) {#each items as item, i}
function List_svelte_create_each_block(ctx) {
	let current_block_type_index;
	let if_block;
	let if_block_anchor;
	let current;
	const if_block_creators = [List_svelte_create_if_block_1, create_else_block_1];
	const if_blocks = [];

	function select_block_type_1(ctx, dirty) {
		if (/*item*/ ctx[41].isGroupHeader && !/*item*/ ctx[41].isSelectable) return 0;
		return 1;
	}

	current_block_type_index = select_block_type_1(ctx, [-1, -1]);
	if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx);

	return {
		c() {
			if_block.c();
			if_block_anchor = empty();
		},
		m(target, anchor) {
			if_blocks[current_block_type_index].m(target, anchor);
			insert(target, if_block_anchor, anchor);
			current = true;
		},
		p(ctx, dirty) {
			let previous_block_index = current_block_type_index;
			current_block_type_index = select_block_type_1(ctx, dirty);

			if (current_block_type_index === previous_block_index) {
				if_blocks[current_block_type_index].p(ctx, dirty);
			} else {
				group_outros();

				transition_out(if_blocks[previous_block_index], 1, 1, () => {
					if_blocks[previous_block_index] = null;
				});

				check_outros();
				if_block = if_blocks[current_block_type_index];

				if (!if_block) {
					if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx);
					if_block.c();
				} else {
					if_block.p(ctx, dirty);
				}

				transition_in(if_block, 1);
				if_block.m(if_block_anchor.parentNode, if_block_anchor);
			}
		},
		i(local) {
			if (current) return;
			transition_in(if_block);
			current = true;
		},
		o(local) {
			transition_out(if_block);
			current = false;
		},
		d(detaching) {
			if_blocks[current_block_type_index].d(detaching);
			if (detaching) detach(if_block_anchor);
		}
	};
}

// (305:8) <svelte:component             this={VirtualList}             {items}             {itemHeight}             let:item             let:i>
function create_default_slot(ctx) {
	let div;
	let switch_instance;
	let current;
	let mounted;
	let dispose;
	var switch_value = /*Item*/ ctx[4];

	function switch_props(ctx) {
		return {
			props: {
				item: /*item*/ ctx[41],
				filterText: /*filterText*/ ctx[13],
				getOptionLabel: /*getOptionLabel*/ ctx[6],
				isFirst: isItemFirst(/*i*/ ctx[42]),
				isActive: isItemActive(/*item*/ ctx[41], /*value*/ ctx[9], /*optionIdentifier*/ ctx[10]),
				isHover: isItemHover(/*hoverItemIndex*/ ctx[2], /*item*/ ctx[41], /*i*/ ctx[42], /*items*/ ctx[1]),
				isSelectable: isItemSelectable(/*item*/ ctx[41])
			}
		};
	}

	if (switch_value) {
		switch_instance = construct_svelte_component(switch_value, switch_props(ctx));
	}

	function mouseover_handler() {
		return /*mouseover_handler*/ ctx[26](/*i*/ ctx[42]);
	}

	function focus_handler() {
		return /*focus_handler*/ ctx[27](/*i*/ ctx[42]);
	}

	function click_handler(...args) {
		return /*click_handler*/ ctx[28](/*item*/ ctx[41], /*i*/ ctx[42], ...args);
	}

	return {
		c() {
			div = internal_element("div");
			if (switch_instance) create_component(switch_instance.$$.fragment);
			attr(div, "class", "listItem");
		},
		m(target, anchor) {
			insert(target, div, anchor);
			if (switch_instance) mount_component(switch_instance, div, null);
			current = true;

			if (!mounted) {
				dispose = [
					listen(div, "mouseover", mouseover_handler),
					listen(div, "focus", focus_handler),
					listen(div, "click", click_handler)
				];

				mounted = true;
			}
		},
		p(new_ctx, dirty) {
			ctx = new_ctx;
			const switch_instance_changes = {};
			if (dirty[1] & /*item*/ 1024) switch_instance_changes.item = /*item*/ ctx[41];
			if (dirty[0] & /*filterText*/ 8192) switch_instance_changes.filterText = /*filterText*/ ctx[13];
			if (dirty[0] & /*getOptionLabel*/ 64) switch_instance_changes.getOptionLabel = /*getOptionLabel*/ ctx[6];
			if (dirty[1] & /*i*/ 2048) switch_instance_changes.isFirst = isItemFirst(/*i*/ ctx[42]);
			if (dirty[0] & /*value, optionIdentifier*/ 1536 | dirty[1] & /*item*/ 1024) switch_instance_changes.isActive = isItemActive(/*item*/ ctx[41], /*value*/ ctx[9], /*optionIdentifier*/ ctx[10]);
			if (dirty[0] & /*hoverItemIndex, items*/ 6 | dirty[1] & /*item, i*/ 3072) switch_instance_changes.isHover = isItemHover(/*hoverItemIndex*/ ctx[2], /*item*/ ctx[41], /*i*/ ctx[42], /*items*/ ctx[1]);
			if (dirty[1] & /*item*/ 1024) switch_instance_changes.isSelectable = isItemSelectable(/*item*/ ctx[41]);

			if (dirty[0] & /*Item*/ 16 && switch_value !== (switch_value = /*Item*/ ctx[4])) {
				if (switch_instance) {
					group_outros();
					const old_component = switch_instance;

					transition_out(old_component.$$.fragment, 1, 0, () => {
						destroy_component(old_component, 1);
					});

					check_outros();
				}

				if (switch_value) {
					switch_instance = construct_svelte_component(switch_value, switch_props(ctx));
					create_component(switch_instance.$$.fragment);
					transition_in(switch_instance.$$.fragment, 1);
					mount_component(switch_instance, div, null);
				} else {
					switch_instance = null;
				}
			} else if (switch_value) {
				switch_instance.$set(switch_instance_changes);
			}
		},
		i(local) {
			if (current) return;
			if (switch_instance) transition_in(switch_instance.$$.fragment, local);
			current = true;
		},
		o(local) {
			if (switch_instance) transition_out(switch_instance.$$.fragment, local);
			current = false;
		},
		d(detaching) {
			if (detaching) detach(div);
			if (switch_instance) destroy_component(switch_instance);
			mounted = false;
			run_all(dispose);
		}
	};
}

function List_svelte_create_fragment(ctx) {
	let div;
	let current_block_type_index;
	let if_block;
	let current;
	let mounted;
	let dispose;
	const if_block_creators = [List_svelte_create_if_block, List_svelte_create_else_block];
	const if_blocks = [];

	function select_block_type(ctx, dirty) {
		if (/*isVirtualList*/ ctx[5]) return 0;
		return 1;
	}

	current_block_type_index = select_block_type(ctx, [-1, -1]);
	if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx);

	return {
		c() {
			div = internal_element("div");
			if_block.c();
			attr(div, "class", "listContainer svelte-16rwnjl");
			attr(div, "style", /*listStyle*/ ctx[14]);
			toggle_class(div, "virtualList", /*isVirtualList*/ ctx[5]);
		},
		m(target, anchor) {
			insert(target, div, anchor);
			if_blocks[current_block_type_index].m(div, null);
			/*div_binding*/ ctx[32](div);
			current = true;

			if (!mounted) {
				dispose = [
					listen(window, "keydown", /*handleKeyDown*/ ctx[17]),
					listen(window, "resize", /*computePlacement*/ ctx[18])
				];

				mounted = true;
			}
		},
		p(ctx, dirty) {
			let previous_block_index = current_block_type_index;
			current_block_type_index = select_block_type(ctx, dirty);

			if (current_block_type_index === previous_block_index) {
				if_blocks[current_block_type_index].p(ctx, dirty);
			} else {
				group_outros();

				transition_out(if_blocks[previous_block_index], 1, 1, () => {
					if_blocks[previous_block_index] = null;
				});

				check_outros();
				if_block = if_blocks[current_block_type_index];

				if (!if_block) {
					if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx);
					if_block.c();
				} else {
					if_block.p(ctx, dirty);
				}

				transition_in(if_block, 1);
				if_block.m(div, null);
			}

			if (!current || dirty[0] & /*listStyle*/ 16384) {
				attr(div, "style", /*listStyle*/ ctx[14]);
			}

			if (!current || dirty[0] & /*isVirtualList*/ 32) {
				toggle_class(div, "virtualList", /*isVirtualList*/ ctx[5]);
			}
		},
		i(local) {
			if (current) return;
			transition_in(if_block);
			current = true;
		},
		o(local) {
			transition_out(if_block);
			current = false;
		},
		d(detaching) {
			if (detaching) detach(div);
			if_blocks[current_block_type_index].d();
			/*div_binding*/ ctx[32](null);
			mounted = false;
			run_all(dispose);
		}
	};
}

function isItemActive(item, value, optionIdentifier) {
	return value && value[optionIdentifier] === item[optionIdentifier];
}

function isItemFirst(itemIndex) {
	return itemIndex === 0;
}

function isItemHover(hoverItemIndex, item, itemIndex, items) {
	return isItemSelectable(item) && (hoverItemIndex === itemIndex || items.length === 1);
}

function isItemSelectable(item) {
	return item.isGroupHeader && item.isSelectable || item.selectable || !item.hasOwnProperty('selectable'); // Default; if `selectable` was not specified, the object is selectable
}

function List_svelte_instance($$self, $$props, $$invalidate) {
	const dispatch = createEventDispatcher();
	let { container = undefined } = $$props;
	let { VirtualList = null } = $$props;
	let { Item = Item_svelte } = $$props;
	let { isVirtualList = false } = $$props;
	let { items = [] } = $$props;
	let { labelIdentifier = 'label' } = $$props;

	let { getOptionLabel = (option, filterText) => {
		if (option) return option.isCreator
		? `Create \"${filterText}\"`
		: option[labelIdentifier];
	} } = $$props;

	let { getGroupHeaderLabel = null } = $$props;
	let { itemHeight = 40 } = $$props;
	let { hoverItemIndex = 0 } = $$props;
	let { value = undefined } = $$props;
	let { optionIdentifier = 'value' } = $$props;
	let { hideEmptyState = false } = $$props;
	let { noOptionsMessage = 'No options' } = $$props;
	let { isMulti = false } = $$props;
	let { activeItemIndex = 0 } = $$props;
	let { filterText = '' } = $$props;
	let { parent = null } = $$props;
	let { listPlacement = null } = $$props;
	let { listAutoWidth = null } = $$props;
	let { listOffset = 5 } = $$props;
	let isScrollingTimer = 0;
	let isScrolling = false;
	let prev_items;

	onMount(() => {
		if (items.length > 0 && !isMulti && value) {
			const _hoverItemIndex = items.findIndex(item => item[optionIdentifier] === value[optionIdentifier]);

			if (_hoverItemIndex) {
				$$invalidate(2, hoverItemIndex = _hoverItemIndex);
			}
		}

		scrollToActiveItem('active');

		container.addEventListener(
			'scroll',
			() => {
				clearTimeout(isScrollingTimer);

				isScrollingTimer = setTimeout(
					() => {
						isScrolling = false;
					},
					100
				);
			},
			false
		);
	});

	beforeUpdate(() => {
		if (!items) $$invalidate(1, items = []);

		if (items !== prev_items && items.length > 0) {
			$$invalidate(2, hoverItemIndex = 0);
		}

		prev_items = items;
	});

	function handleSelect(item) {
		if (item.isCreator) return;
		dispatch('itemSelected', item);
	}

	function handleHover(i) {
		if (isScrolling) return;
		$$invalidate(2, hoverItemIndex = i);
	}

	function handleClick(args) {
		const { item, i, event } = args;
		event.stopPropagation();
		if (value && !isMulti && value[optionIdentifier] === item[optionIdentifier]) return closeList();

		if (item.isCreator) {
			dispatch('itemCreated', filterText);
		} else if (isItemSelectable(item)) {
			$$invalidate(19, activeItemIndex = i);
			$$invalidate(2, hoverItemIndex = i);
			handleSelect(item);
		}
	}

	function closeList() {
		dispatch('closeList');
	}

	async function updateHoverItem(increment) {
		if (isVirtualList) return;
		let isNonSelectableItem = true;

		while (isNonSelectableItem) {
			if (increment > 0 && hoverItemIndex === items.length - 1) {
				$$invalidate(2, hoverItemIndex = 0);
			} else if (increment < 0 && hoverItemIndex === 0) {
				$$invalidate(2, hoverItemIndex = items.length - 1);
			} else {
				$$invalidate(2, hoverItemIndex = hoverItemIndex + increment);
			}

			isNonSelectableItem = !isItemSelectable(items[hoverItemIndex]);
		}

		await tick();
		scrollToActiveItem('hover');
	}

	function handleKeyDown(e) {
		switch (e.key) {
			case 'Escape':
				e.preventDefault();
				closeList();
				break;
			case 'ArrowDown':
				e.preventDefault();
				items.length && updateHoverItem(1);
				break;
			case 'ArrowUp':
				e.preventDefault();
				items.length && updateHoverItem(-1);
				break;
			case 'Enter':
				e.preventDefault();
				if (items.length === 0) break;
				const hoverItem = items[hoverItemIndex];
				if (value && !isMulti && value[optionIdentifier] === hoverItem[optionIdentifier]) {
					closeList();
					break;
				}
				if (hoverItem.isCreator) {
					dispatch('itemCreated', filterText);
				} else {
					$$invalidate(19, activeItemIndex = hoverItemIndex);
					handleSelect(items[hoverItemIndex]);
				}
				break;
			case 'Tab':
				e.preventDefault();
				if (items.length === 0) {
					return closeList();
				}
				if (value && value[optionIdentifier] === items[hoverItemIndex][optionIdentifier]) return closeList();
				$$invalidate(19, activeItemIndex = hoverItemIndex);
				handleSelect(items[hoverItemIndex]);
				break;
		}
	}

	function scrollToActiveItem(className) {
		if (isVirtualList || !container) return;
		let offsetBounding;
		const focusedElemBounding = container.querySelector(`.listItem .${className}`);

		if (focusedElemBounding) {
			offsetBounding = container.getBoundingClientRect().bottom - focusedElemBounding.getBoundingClientRect().bottom;
		}

		$$invalidate(0, container.scrollTop -= offsetBounding, container);
	}

	let listStyle;

	function computePlacement() {
		const { top, height, width } = parent.getBoundingClientRect();
		$$invalidate(14, listStyle = '');
		$$invalidate(14, listStyle += `min-width:${width}px;width:${listAutoWidth ? 'auto' : '100%'};`);

		if (listPlacement === 'top' || listPlacement === 'auto' && isOutOfViewport(parent).bottom) {
			$$invalidate(14, listStyle += `bottom:${height + listOffset}px;`);
		} else {
			$$invalidate(14, listStyle += `top:${height + listOffset}px;`);
		}
	}

	const mouseover_handler = i => handleHover(i);
	const focus_handler = i => handleHover(i);
	const click_handler = (item, i, event) => handleClick({ item, i, event });
	const mouseover_handler_1 = i => handleHover(i);
	const focus_handler_1 = i => handleHover(i);
	const click_handler_1 = (item, i, event) => handleClick({ item, i, event });

	function div_binding($$value) {
		binding_callbacks[$$value ? 'unshift' : 'push'](() => {
			container = $$value;
			$$invalidate(0, container);
		});
	}

	$$self.$$set = $$props => {
		if ('container' in $$props) $$invalidate(0, container = $$props.container);
		if ('VirtualList' in $$props) $$invalidate(3, VirtualList = $$props.VirtualList);
		if ('Item' in $$props) $$invalidate(4, Item = $$props.Item);
		if ('isVirtualList' in $$props) $$invalidate(5, isVirtualList = $$props.isVirtualList);
		if ('items' in $$props) $$invalidate(1, items = $$props.items);
		if ('labelIdentifier' in $$props) $$invalidate(20, labelIdentifier = $$props.labelIdentifier);
		if ('getOptionLabel' in $$props) $$invalidate(6, getOptionLabel = $$props.getOptionLabel);
		if ('getGroupHeaderLabel' in $$props) $$invalidate(7, getGroupHeaderLabel = $$props.getGroupHeaderLabel);
		if ('itemHeight' in $$props) $$invalidate(8, itemHeight = $$props.itemHeight);
		if ('hoverItemIndex' in $$props) $$invalidate(2, hoverItemIndex = $$props.hoverItemIndex);
		if ('value' in $$props) $$invalidate(9, value = $$props.value);
		if ('optionIdentifier' in $$props) $$invalidate(10, optionIdentifier = $$props.optionIdentifier);
		if ('hideEmptyState' in $$props) $$invalidate(11, hideEmptyState = $$props.hideEmptyState);
		if ('noOptionsMessage' in $$props) $$invalidate(12, noOptionsMessage = $$props.noOptionsMessage);
		if ('isMulti' in $$props) $$invalidate(21, isMulti = $$props.isMulti);
		if ('activeItemIndex' in $$props) $$invalidate(19, activeItemIndex = $$props.activeItemIndex);
		if ('filterText' in $$props) $$invalidate(13, filterText = $$props.filterText);
		if ('parent' in $$props) $$invalidate(22, parent = $$props.parent);
		if ('listPlacement' in $$props) $$invalidate(23, listPlacement = $$props.listPlacement);
		if ('listAutoWidth' in $$props) $$invalidate(24, listAutoWidth = $$props.listAutoWidth);
		if ('listOffset' in $$props) $$invalidate(25, listOffset = $$props.listOffset);
	};

	$$self.$$.update = () => {
		if ($$self.$$.dirty[0] & /*parent, container*/ 4194305) {
			$: {
				if (parent && container) computePlacement();
			}
		}
	};

	return [
		container,
		items,
		hoverItemIndex,
		VirtualList,
		Item,
		isVirtualList,
		getOptionLabel,
		getGroupHeaderLabel,
		itemHeight,
		value,
		optionIdentifier,
		hideEmptyState,
		noOptionsMessage,
		filterText,
		listStyle,
		handleHover,
		handleClick,
		handleKeyDown,
		computePlacement,
		activeItemIndex,
		labelIdentifier,
		isMulti,
		parent,
		listPlacement,
		listAutoWidth,
		listOffset,
		mouseover_handler,
		focus_handler,
		click_handler,
		mouseover_handler_1,
		focus_handler_1,
		click_handler_1,
		div_binding
	];
}

class List_svelte_List extends SvelteComponent {
	constructor(options) {
		super();

		init(
			this,
			options,
			List_svelte_instance,
			List_svelte_create_fragment,
			safe_not_equal,
			{
				container: 0,
				VirtualList: 3,
				Item: 4,
				isVirtualList: 5,
				items: 1,
				labelIdentifier: 20,
				getOptionLabel: 6,
				getGroupHeaderLabel: 7,
				itemHeight: 8,
				hoverItemIndex: 2,
				value: 9,
				optionIdentifier: 10,
				hideEmptyState: 11,
				noOptionsMessage: 12,
				isMulti: 21,
				activeItemIndex: 19,
				filterText: 13,
				parent: 22,
				listPlacement: 23,
				listAutoWidth: 24,
				listOffset: 25
			},
			List_svelte_add_css,
			[-1, -1]
		);
	}
}

/* harmony default export */ const List_svelte = (List_svelte_List);
;// ../node_modules/svelte-select/src/Selection.svelte
/* media/satish/Development/workspace/projects/exploratory_data_analysis/deepview/src/deepview_canvas/node_modules/svelte-select/src/Selection.svelte generated by Svelte v3.59.2 */


function Selection_svelte_add_css(target) {
	append_styles(target, "svelte-1plzgc3", ".selection.svelte-1plzgc3{text-overflow:ellipsis;overflow-x:hidden;white-space:nowrap}");
}

function Selection_svelte_create_fragment(ctx) {
	let div;
	let raw_value = /*getSelectionLabel*/ ctx[0](/*item*/ ctx[1]) + "";

	return {
		c() {
			div = internal_element("div");
			attr(div, "class", "selection svelte-1plzgc3");
		},
		m(target, anchor) {
			insert(target, div, anchor);
			div.innerHTML = raw_value;
		},
		p(ctx, [dirty]) {
			if (dirty & /*getSelectionLabel, item*/ 3 && raw_value !== (raw_value = /*getSelectionLabel*/ ctx[0](/*item*/ ctx[1]) + "")) div.innerHTML = raw_value;;
		},
		i: noop,
		o: noop,
		d(detaching) {
			if (detaching) detach(div);
		}
	};
}

function Selection_svelte_instance($$self, $$props, $$invalidate) {
	let { getSelectionLabel = undefined } = $$props;
	let { item = undefined } = $$props;

	$$self.$$set = $$props => {
		if ('getSelectionLabel' in $$props) $$invalidate(0, getSelectionLabel = $$props.getSelectionLabel);
		if ('item' in $$props) $$invalidate(1, item = $$props.item);
	};

	return [getSelectionLabel, item];
}

class Selection_svelte_Selection extends SvelteComponent {
	constructor(options) {
		super();
		init(this, options, Selection_svelte_instance, Selection_svelte_create_fragment, safe_not_equal, { getSelectionLabel: 0, item: 1 }, Selection_svelte_add_css);
	}
}

/* harmony default export */ const Selection_svelte = (Selection_svelte_Selection);
;// ../node_modules/svelte-select/src/MultiSelection.svelte
/* media/satish/Development/workspace/projects/exploratory_data_analysis/deepview/src/deepview_canvas/node_modules/svelte-select/src/MultiSelection.svelte generated by Svelte v3.59.2 */




function MultiSelection_svelte_add_css(target) {
	append_styles(target, "svelte-1ugzku0", ".multiSelectItem.svelte-1ugzku0.svelte-1ugzku0{background:#ebedef;background:var(--multiItemBG, #ebedef);margin:5px 5px 0 0;margin:var(--multiItemMargin, 5px 5px 0 0);border-radius:16px;border-radius:var(--multiItemBorderRadius, 16px);height:32px;height:var(--multiItemHeight, 32px);line-height:32px;line-height:var(--multiItemHeight, 32px);display:-webkit-box;display:-ms-flexbox;display:flex;cursor:default;padding:0 10px 0 15px;padding:var(--multiItemPadding, 0 10px 0 15px);max-width:100%}.multiSelectItem_label.svelte-1ugzku0.svelte-1ugzku0{margin:0 5px 0 0;margin:var(--multiLabelMargin, 0 5px 0 0);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multiSelectItem.svelte-1ugzku0.svelte-1ugzku0:hover,.multiSelectItem.active.svelte-1ugzku0.svelte-1ugzku0{background-color:#006fff;background-color:var(--multiItemActiveBG, #006fff);color:#fff;color:var(--multiItemActiveColor, #fff)}.multiSelectItem.disabled.svelte-1ugzku0.svelte-1ugzku0:hover{background:#ebedef;background:var(--multiItemDisabledHoverBg, #ebedef);color:#c1c6cc;color:var(--multiItemDisabledHoverColor, #c1c6cc)}.multiSelectItem_clear.svelte-1ugzku0.svelte-1ugzku0{border-radius:50%;border-radius:var(--multiClearRadius, 50%);background:#52616f;background:var(--multiClearBG, #52616f);min-width:16px;min-width:var(--multiClearWidth, 16px);max-width:16px;max-width:var(--multiClearWidth, 16px);height:16px;height:var(--multiClearHeight, 16px);position:relative;top:8px;top:var(--multiClearTop, 8px);text-align:center;text-align:var(--multiClearTextAlign, center);padding:1px;padding:var(--multiClearPadding, 1px)}.multiSelectItem_clear.svelte-1ugzku0.svelte-1ugzku0:hover,.active.svelte-1ugzku0 .multiSelectItem_clear.svelte-1ugzku0{background:#fff;background:var(--multiClearHoverBG, #fff)}.multiSelectItem_clear.svelte-1ugzku0:hover svg.svelte-1ugzku0,.active.svelte-1ugzku0 .multiSelectItem_clear svg.svelte-1ugzku0{fill:#006fff;fill:var(--multiClearHoverFill, #006fff)}.multiSelectItem_clear.svelte-1ugzku0 svg.svelte-1ugzku0{fill:#ebedef;fill:var(--multiClearFill, #ebedef);vertical-align:top}");
}

function MultiSelection_svelte_get_each_context(ctx, list, i) {
	const child_ctx = ctx.slice();
	child_ctx[9] = list[i];
	child_ctx[11] = i;
	return child_ctx;
}

// (106:8) {#if !isDisabled && !multiFullItemClearable}
function MultiSelection_svelte_create_if_block(ctx) {
	let div;
	let mounted;
	let dispose;

	function click_handler(...args) {
		return /*click_handler*/ ctx[6](/*i*/ ctx[11], ...args);
	}

	return {
		c() {
			div = internal_element("div");
			div.innerHTML = `<svg width="100%" height="100%" viewBox="-2 -2 50 50" focusable="false" aria-hidden="true" role="presentation" class="svelte-1ugzku0"><path d="M34.923,37.251L24,26.328L13.077,37.251L9.436,33.61l10.923-10.923L9.436,11.765l3.641-3.641L24,19.047L34.923,8.124 l3.641,3.641L27.641,22.688L38.564,33.61L34.923,37.251z"></path></svg>`;
			attr(div, "class", "multiSelectItem_clear svelte-1ugzku0");
		},
		m(target, anchor) {
			insert(target, div, anchor);

			if (!mounted) {
				dispose = listen(div, "click", click_handler);
				mounted = true;
			}
		},
		p(new_ctx, dirty) {
			ctx = new_ctx;
		},
		d(detaching) {
			if (detaching) detach(div);
			mounted = false;
			dispose();
		}
	};
}

// (96:0) {#each value as item, i}
function MultiSelection_svelte_create_each_block(ctx) {
	let div1;
	let div0;
	let raw_value = /*getSelectionLabel*/ ctx[4](/*item*/ ctx[9]) + "";
	let t0;
	let t1;
	let div1_class_value;
	let mounted;
	let dispose;
	let if_block = !/*isDisabled*/ ctx[2] && !/*multiFullItemClearable*/ ctx[3] && MultiSelection_svelte_create_if_block(ctx);

	function click_handler_1(...args) {
		return /*click_handler_1*/ ctx[7](/*i*/ ctx[11], ...args);
	}

	return {
		c() {
			div1 = internal_element("div");
			div0 = internal_element("div");
			t0 = space();
			if (if_block) if_block.c();
			t1 = space();
			attr(div0, "class", "multiSelectItem_label svelte-1ugzku0");
			attr(div1, "class", div1_class_value = "multiSelectItem " + (/*activeValue*/ ctx[1] === /*i*/ ctx[11] ? 'active' : '') + " " + (/*isDisabled*/ ctx[2] ? 'disabled' : '') + " svelte-1ugzku0");
		},
		m(target, anchor) {
			insert(target, div1, anchor);
			append(div1, div0);
			div0.innerHTML = raw_value;
			append(div1, t0);
			if (if_block) if_block.m(div1, null);
			append(div1, t1);

			if (!mounted) {
				dispose = listen(div1, "click", click_handler_1);
				mounted = true;
			}
		},
		p(new_ctx, dirty) {
			ctx = new_ctx;
			if (dirty & /*getSelectionLabel, value*/ 17 && raw_value !== (raw_value = /*getSelectionLabel*/ ctx[4](/*item*/ ctx[9]) + "")) div0.innerHTML = raw_value;;

			if (!/*isDisabled*/ ctx[2] && !/*multiFullItemClearable*/ ctx[3]) {
				if (if_block) {
					if_block.p(ctx, dirty);
				} else {
					if_block = MultiSelection_svelte_create_if_block(ctx);
					if_block.c();
					if_block.m(div1, t1);
				}
			} else if (if_block) {
				if_block.d(1);
				if_block = null;
			}

			if (dirty & /*activeValue, isDisabled*/ 6 && div1_class_value !== (div1_class_value = "multiSelectItem " + (/*activeValue*/ ctx[1] === /*i*/ ctx[11] ? 'active' : '') + " " + (/*isDisabled*/ ctx[2] ? 'disabled' : '') + " svelte-1ugzku0")) {
				attr(div1, "class", div1_class_value);
			}
		},
		d(detaching) {
			if (detaching) detach(div1);
			if (if_block) if_block.d();
			mounted = false;
			dispose();
		}
	};
}

function MultiSelection_svelte_create_fragment(ctx) {
	let each_1_anchor;
	let each_value = /*value*/ ctx[0];
	let each_blocks = [];

	for (let i = 0; i < each_value.length; i += 1) {
		each_blocks[i] = MultiSelection_svelte_create_each_block(MultiSelection_svelte_get_each_context(ctx, each_value, i));
	}

	return {
		c() {
			for (let i = 0; i < each_blocks.length; i += 1) {
				each_blocks[i].c();
			}

			each_1_anchor = empty();
		},
		m(target, anchor) {
			for (let i = 0; i < each_blocks.length; i += 1) {
				if (each_blocks[i]) {
					each_blocks[i].m(target, anchor);
				}
			}

			insert(target, each_1_anchor, anchor);
		},
		p(ctx, [dirty]) {
			if (dirty & /*activeValue, isDisabled, multiFullItemClearable, handleClear, getSelectionLabel, value*/ 63) {
				each_value = /*value*/ ctx[0];
				let i;

				for (i = 0; i < each_value.length; i += 1) {
					const child_ctx = MultiSelection_svelte_get_each_context(ctx, each_value, i);

					if (each_blocks[i]) {
						each_blocks[i].p(child_ctx, dirty);
					} else {
						each_blocks[i] = MultiSelection_svelte_create_each_block(child_ctx);
						each_blocks[i].c();
						each_blocks[i].m(each_1_anchor.parentNode, each_1_anchor);
					}
				}

				for (; i < each_blocks.length; i += 1) {
					each_blocks[i].d(1);
				}

				each_blocks.length = each_value.length;
			}
		},
		i: noop,
		o: noop,
		d(detaching) {
			destroy_each(each_blocks, detaching);
			if (detaching) detach(each_1_anchor);
		}
	};
}

function MultiSelection_svelte_instance($$self, $$props, $$invalidate) {
	const dispatch = createEventDispatcher();
	let { value = [] } = $$props;
	let { activeValue = undefined } = $$props;
	let { isDisabled = false } = $$props;
	let { multiFullItemClearable = false } = $$props;
	let { getSelectionLabel = undefined } = $$props;

	function handleClear(i, event) {
		event.stopPropagation();
		dispatch('multiItemClear', { i });
	}

	const click_handler = (i, event) => handleClear(i, event);
	const click_handler_1 = (i, event) => multiFullItemClearable ? handleClear(i, event) : {};

	$$self.$$set = $$props => {
		if ('value' in $$props) $$invalidate(0, value = $$props.value);
		if ('activeValue' in $$props) $$invalidate(1, activeValue = $$props.activeValue);
		if ('isDisabled' in $$props) $$invalidate(2, isDisabled = $$props.isDisabled);
		if ('multiFullItemClearable' in $$props) $$invalidate(3, multiFullItemClearable = $$props.multiFullItemClearable);
		if ('getSelectionLabel' in $$props) $$invalidate(4, getSelectionLabel = $$props.getSelectionLabel);
	};

	return [
		value,
		activeValue,
		isDisabled,
		multiFullItemClearable,
		getSelectionLabel,
		handleClear,
		click_handler,
		click_handler_1
	];
}

class MultiSelection extends SvelteComponent {
	constructor(options) {
		super();

		init(
			this,
			options,
			MultiSelection_svelte_instance,
			MultiSelection_svelte_create_fragment,
			safe_not_equal,
			{
				value: 0,
				activeValue: 1,
				isDisabled: 2,
				multiFullItemClearable: 3,
				getSelectionLabel: 4
			},
			MultiSelection_svelte_add_css
		);
	}
}

/* harmony default export */ const MultiSelection_svelte = (MultiSelection);
;// ../node_modules/svelte-select/src/VirtualList.svelte
/* media/satish/Development/workspace/projects/exploratory_data_analysis/deepview/src/deepview_canvas/node_modules/svelte-select/src/VirtualList.svelte generated by Svelte v3.59.2 */




function VirtualList_svelte_add_css(target) {
	append_styles(target, "svelte-1wlzs1s", "svelte-virtual-list-viewport.svelte-1wlzs1s{position:relative;overflow-y:auto;-webkit-overflow-scrolling:touch;display:block}svelte-virtual-list-contents.svelte-1wlzs1s,svelte-virtual-list-row.svelte-1wlzs1s{display:block}svelte-virtual-list-row.svelte-1wlzs1s{overflow:hidden}");
}

function VirtualList_svelte_get_each_context(ctx, list, i) {
	const child_ctx = ctx.slice();
	child_ctx[23] = list[i];
	return child_ctx;
}

const get_default_slot_changes = dirty => ({
	item: dirty & /*visible*/ 32,
	i: dirty & /*visible*/ 32,
	hoverItemIndex: dirty & /*hoverItemIndex*/ 2
});

const get_default_slot_context = ctx => ({
	item: /*row*/ ctx[23].data,
	i: /*row*/ ctx[23].index,
	hoverItemIndex: /*hoverItemIndex*/ ctx[1]
});

// (151:69) Missing template
function fallback_block(ctx) {
	let t;

	return {
		c() {
			t = internal_text("Missing template");
		},
		m(target, anchor) {
			insert(target, t, anchor);
		},
		d(detaching) {
			if (detaching) detach(t);
		}
	};
}

// (149:8) {#each visible as row (row.index)}
function VirtualList_svelte_create_each_block(key_1, ctx) {
	let svelte_virtual_list_row;
	let t;
	let current;
	const default_slot_template = /*#slots*/ ctx[15].default;
	const default_slot = create_slot(default_slot_template, ctx, /*$$scope*/ ctx[14], get_default_slot_context);
	const default_slot_or_fallback = default_slot || fallback_block(ctx);

	return {
		key: key_1,
		first: null,
		c() {
			svelte_virtual_list_row = internal_element("svelte-virtual-list-row");
			if (default_slot_or_fallback) default_slot_or_fallback.c();
			t = space();
			set_custom_element_data(svelte_virtual_list_row, "class", "svelte-1wlzs1s");
			this.first = svelte_virtual_list_row;
		},
		m(target, anchor) {
			insert(target, svelte_virtual_list_row, anchor);

			if (default_slot_or_fallback) {
				default_slot_or_fallback.m(svelte_virtual_list_row, null);
			}

			append(svelte_virtual_list_row, t);
			current = true;
		},
		p(new_ctx, dirty) {
			ctx = new_ctx;

			if (default_slot) {
				if (default_slot.p && (!current || dirty & /*$$scope, visible, hoverItemIndex*/ 16418)) {
					update_slot_base(
						default_slot,
						default_slot_template,
						ctx,
						/*$$scope*/ ctx[14],
						!current
						? get_all_dirty_from_scope(/*$$scope*/ ctx[14])
						: get_slot_changes(default_slot_template, /*$$scope*/ ctx[14], dirty, get_default_slot_changes),
						get_default_slot_context
					);
				}
			}
		},
		i(local) {
			if (current) return;
			transition_in(default_slot_or_fallback, local);
			current = true;
		},
		o(local) {
			transition_out(default_slot_or_fallback, local);
			current = false;
		},
		d(detaching) {
			if (detaching) detach(svelte_virtual_list_row);
			if (default_slot_or_fallback) default_slot_or_fallback.d(detaching);
		}
	};
}

function VirtualList_svelte_create_fragment(ctx) {
	let svelte_virtual_list_viewport;
	let svelte_virtual_list_contents;
	let each_blocks = [];
	let each_1_lookup = new Map();
	let svelte_virtual_list_viewport_resize_listener;
	let current;
	let mounted;
	let dispose;
	let each_value = /*visible*/ ctx[5];
	const get_key = ctx => /*row*/ ctx[23].index;

	for (let i = 0; i < each_value.length; i += 1) {
		let child_ctx = VirtualList_svelte_get_each_context(ctx, each_value, i);
		let key = get_key(child_ctx);
		each_1_lookup.set(key, each_blocks[i] = VirtualList_svelte_create_each_block(key, child_ctx));
	}

	return {
		c() {
			svelte_virtual_list_viewport = internal_element("svelte-virtual-list-viewport");
			svelte_virtual_list_contents = internal_element("svelte-virtual-list-contents");

			for (let i = 0; i < each_blocks.length; i += 1) {
				each_blocks[i].c();
			}

			set_style(svelte_virtual_list_contents, "padding-top", /*top*/ ctx[6] + "px");
			set_style(svelte_virtual_list_contents, "padding-bottom", /*bottom*/ ctx[7] + "px");
			set_custom_element_data(svelte_virtual_list_contents, "class", "svelte-1wlzs1s");
			set_style(svelte_virtual_list_viewport, "height", /*height*/ ctx[0]);
			set_custom_element_data(svelte_virtual_list_viewport, "class", "svelte-1wlzs1s");
			add_render_callback(() => /*svelte_virtual_list_viewport_elementresize_handler*/ ctx[18].call(svelte_virtual_list_viewport));
		},
		m(target, anchor) {
			insert(target, svelte_virtual_list_viewport, anchor);
			append(svelte_virtual_list_viewport, svelte_virtual_list_contents);

			for (let i = 0; i < each_blocks.length; i += 1) {
				if (each_blocks[i]) {
					each_blocks[i].m(svelte_virtual_list_contents, null);
				}
			}

			/*svelte_virtual_list_contents_binding*/ ctx[16](svelte_virtual_list_contents);
			/*svelte_virtual_list_viewport_binding*/ ctx[17](svelte_virtual_list_viewport);
			svelte_virtual_list_viewport_resize_listener = add_iframe_resize_listener(svelte_virtual_list_viewport, /*svelte_virtual_list_viewport_elementresize_handler*/ ctx[18].bind(svelte_virtual_list_viewport));
			current = true;

			if (!mounted) {
				dispose = listen(svelte_virtual_list_viewport, "scroll", /*handle_scroll*/ ctx[8]);
				mounted = true;
			}
		},
		p(ctx, [dirty]) {
			if (dirty & /*$$scope, visible, hoverItemIndex*/ 16418) {
				each_value = /*visible*/ ctx[5];
				group_outros();
				each_blocks = update_keyed_each(each_blocks, dirty, get_key, 1, ctx, each_value, each_1_lookup, svelte_virtual_list_contents, outro_and_destroy_block, VirtualList_svelte_create_each_block, null, VirtualList_svelte_get_each_context);
				check_outros();
			}

			if (!current || dirty & /*top*/ 64) {
				set_style(svelte_virtual_list_contents, "padding-top", /*top*/ ctx[6] + "px");
			}

			if (!current || dirty & /*bottom*/ 128) {
				set_style(svelte_virtual_list_contents, "padding-bottom", /*bottom*/ ctx[7] + "px");
			}

			if (!current || dirty & /*height*/ 1) {
				set_style(svelte_virtual_list_viewport, "height", /*height*/ ctx[0]);
			}
		},
		i(local) {
			if (current) return;

			for (let i = 0; i < each_value.length; i += 1) {
				transition_in(each_blocks[i]);
			}

			current = true;
		},
		o(local) {
			for (let i = 0; i < each_blocks.length; i += 1) {
				transition_out(each_blocks[i]);
			}

			current = false;
		},
		d(detaching) {
			if (detaching) detach(svelte_virtual_list_viewport);

			for (let i = 0; i < each_blocks.length; i += 1) {
				each_blocks[i].d();
			}

			/*svelte_virtual_list_contents_binding*/ ctx[16](null);
			/*svelte_virtual_list_viewport_binding*/ ctx[17](null);
			svelte_virtual_list_viewport_resize_listener();
			mounted = false;
			dispose();
		}
	};
}

function VirtualList_svelte_instance($$self, $$props, $$invalidate) {
	let { $$slots: slots = {}, $$scope } = $$props;
	let { items = undefined } = $$props;
	let { height = '100%' } = $$props;
	let { itemHeight = 40 } = $$props;
	let { hoverItemIndex = 0 } = $$props;
	let { start = 0 } = $$props;
	let { end = 0 } = $$props;
	let height_map = [];
	let rows;
	let viewport;
	let contents;
	let viewport_height = 0;
	let visible;
	let mounted;
	let top = 0;
	let bottom = 0;
	let average_height;

	async function refresh(items, viewport_height, itemHeight) {
		const { scrollTop } = viewport;
		await tick();
		let content_height = top - scrollTop;
		let i = start;

		while (content_height < viewport_height && i < items.length) {
			let row = rows[i - start];

			if (!row) {
				$$invalidate(10, end = i + 1);
				await tick();
				row = rows[i - start];
			}

			const row_height = height_map[i] = itemHeight || row.offsetHeight;
			content_height += row_height;
			i += 1;
		}

		$$invalidate(10, end = i);
		const remaining = items.length - end;
		average_height = (top + content_height) / end;
		$$invalidate(7, bottom = remaining * average_height);
		height_map.length = items.length;
		if (viewport) $$invalidate(3, viewport.scrollTop = 0, viewport);
	}

	async function handle_scroll() {
		const { scrollTop } = viewport;
		const old_start = start;

		for (let v = 0; v < rows.length; v += 1) {
			height_map[start + v] = itemHeight || rows[v].offsetHeight;
		}

		let i = 0;
		let y = 0;

		while (i < items.length) {
			const row_height = height_map[i] || average_height;

			if (y + row_height > scrollTop) {
				$$invalidate(9, start = i);
				$$invalidate(6, top = y);
				break;
			}

			y += row_height;
			i += 1;
		}

		while (i < items.length) {
			y += height_map[i] || average_height;
			i += 1;
			if (y > scrollTop + viewport_height) break;
		}

		$$invalidate(10, end = i);
		const remaining = items.length - end;
		average_height = y / end;
		while (i < items.length) height_map[i++] = average_height;
		$$invalidate(7, bottom = remaining * average_height);

		if (start < old_start) {
			await tick();
			let expected_height = 0;
			let actual_height = 0;

			for (let i = start; i < old_start; i += 1) {
				if (rows[i - start]) {
					expected_height += height_map[i];
					actual_height += itemHeight || rows[i - start].offsetHeight;
				}
			}

			const d = actual_height - expected_height;
			viewport.scrollTo(0, scrollTop + d);
		}
	}

	onMount(() => {
		rows = contents.getElementsByTagName('svelte-virtual-list-row');
		$$invalidate(13, mounted = true);
	});

	function svelte_virtual_list_contents_binding($$value) {
		binding_callbacks[$$value ? 'unshift' : 'push'](() => {
			contents = $$value;
			$$invalidate(4, contents);
		});
	}

	function svelte_virtual_list_viewport_binding($$value) {
		binding_callbacks[$$value ? 'unshift' : 'push'](() => {
			viewport = $$value;
			$$invalidate(3, viewport);
		});
	}

	function svelte_virtual_list_viewport_elementresize_handler() {
		viewport_height = this.offsetHeight;
		$$invalidate(2, viewport_height);
	}

	$$self.$$set = $$props => {
		if ('items' in $$props) $$invalidate(11, items = $$props.items);
		if ('height' in $$props) $$invalidate(0, height = $$props.height);
		if ('itemHeight' in $$props) $$invalidate(12, itemHeight = $$props.itemHeight);
		if ('hoverItemIndex' in $$props) $$invalidate(1, hoverItemIndex = $$props.hoverItemIndex);
		if ('start' in $$props) $$invalidate(9, start = $$props.start);
		if ('end' in $$props) $$invalidate(10, end = $$props.end);
		if ('$$scope' in $$props) $$invalidate(14, $$scope = $$props.$$scope);
	};

	$$self.$$.update = () => {
		if ($$self.$$.dirty & /*items, start, end*/ 3584) {
			$: $$invalidate(5, visible = items.slice(start, end).map((data, i) => {
				return { index: i + start, data };
			}));
		}

		if ($$self.$$.dirty & /*mounted, items, viewport_height, itemHeight*/ 14340) {
			$: if (mounted) refresh(items, viewport_height, itemHeight);
		}
	};

	return [
		height,
		hoverItemIndex,
		viewport_height,
		viewport,
		contents,
		visible,
		top,
		bottom,
		handle_scroll,
		start,
		end,
		items,
		itemHeight,
		mounted,
		$$scope,
		slots,
		svelte_virtual_list_contents_binding,
		svelte_virtual_list_viewport_binding,
		svelte_virtual_list_viewport_elementresize_handler
	];
}

class VirtualList extends SvelteComponent {
	constructor(options) {
		super();

		init(
			this,
			options,
			VirtualList_svelte_instance,
			VirtualList_svelte_create_fragment,
			safe_not_equal,
			{
				items: 11,
				height: 0,
				itemHeight: 12,
				hoverItemIndex: 1,
				start: 9,
				end: 10
			},
			VirtualList_svelte_add_css
		);
	}
}

/* harmony default export */ const VirtualList_svelte = (VirtualList);
;// ../node_modules/svelte-select/src/ClearIcon.svelte
/* media/satish/Development/workspace/projects/exploratory_data_analysis/deepview/src/deepview_canvas/node_modules/svelte-select/src/ClearIcon.svelte generated by Svelte v3.59.2 */


function ClearIcon_svelte_create_fragment(ctx) {
	let svg;
	let path;

	return {
		c() {
			svg = svg_element("svg");
			path = svg_element("path");
			attr(path, "fill", "currentColor");
			attr(path, "d", "M34.923,37.251L24,26.328L13.077,37.251L9.436,33.61l10.923-10.923L9.436,11.765l3.641-3.641L24,19.047L34.923,8.124\n    l3.641,3.641L27.641,22.688L38.564,33.61L34.923,37.251z");
			attr(svg, "width", "100%");
			attr(svg, "height", "100%");
			attr(svg, "viewBox", "-2 -2 50 50");
			attr(svg, "focusable", "false");
			attr(svg, "aria-hidden", "true");
			attr(svg, "role", "presentation");
		},
		m(target, anchor) {
			insert(target, svg, anchor);
			append(svg, path);
		},
		p: noop,
		i: noop,
		o: noop,
		d(detaching) {
			if (detaching) detach(svg);
		}
	};
}

class ClearIcon extends SvelteComponent {
	constructor(options) {
		super();
		init(this, options, null, ClearIcon_svelte_create_fragment, safe_not_equal, {});
	}
}

/* harmony default export */ const ClearIcon_svelte = (ClearIcon);
;// ../node_modules/svelte-select/src/utils/debounce.js
function debounce(func, wait, immediate) {
    let timeout;

    return function executedFunction() {
        let context = this;
        let args = arguments;

        let later = function () {
            timeout = null;
            if (!immediate) func.apply(context, args);
        };

        let callNow = immediate && !timeout;

        clearTimeout(timeout);

        timeout = setTimeout(later, wait);

        if (callNow) func.apply(context, args);
    };
}

;// ../node_modules/svelte-select/src/Select.svelte
/* media/satish/Development/workspace/projects/exploratory_data_analysis/deepview/src/deepview_canvas/node_modules/svelte-select/src/Select.svelte generated by Svelte v3.59.2 */











function Select_svelte_add_css(target) {
	append_styles(target, "svelte-1m9h0jf", ".selectContainer.svelte-1m9h0jf.svelte-1m9h0jf{--internalPadding:0 16px;border:1px solid #d8dbdf;border:var(--border, 1px solid #d8dbdf);border-radius:3px;border-radius:var(--borderRadius, 3px);box-sizing:border-box;height:42px;height:var(--height, 42px);position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;align-items:center;padding:var(--internalPadding);padding:var(--padding, var(--internalPadding));background:#fff;background:var(--background, #fff);margin:0;margin:var(--margin, 0)}.selectContainer.svelte-1m9h0jf input.svelte-1m9h0jf{cursor:default;border:none;color:#3f4f5f;color:var(--inputColor, #3f4f5f);height:42px;height:var(--height, 42px);line-height:42px;line-height:var(--height, 42px);padding:var(--internalPadding);padding:var(--inputPadding, var(--padding, var(--internalPadding)));width:100%;background:transparent;font-size:14px;font-size:var(--inputFontSize, 14px);letter-spacing:-0.08px;letter-spacing:var(--inputLetterSpacing, -0.08px);position:absolute;left:0;left:var(--inputLeft, 0);margin:0;margin:var(--inputMargin, 0)}.selectContainer.svelte-1m9h0jf input.svelte-1m9h0jf::placeholder{color:#78848f;color:var(--placeholderColor, #78848f);opacity:1;opacity:var(--placeholderOpacity, 1)}.selectContainer.svelte-1m9h0jf input.svelte-1m9h0jf:focus{outline:none}.selectContainer.svelte-1m9h0jf.svelte-1m9h0jf:hover{border-color:#b2b8bf;border-color:var(--borderHoverColor, #b2b8bf)}.selectContainer.focused.svelte-1m9h0jf.svelte-1m9h0jf{border-color:#006fe8;border-color:var(--borderFocusColor, #006fe8)}.selectContainer.disabled.svelte-1m9h0jf.svelte-1m9h0jf{background:#ebedef;background:var(--disabledBackground, #ebedef);border-color:#ebedef;border-color:var(--disabledBorderColor, #ebedef);color:#c1c6cc;color:var(--disabledColor, #c1c6cc)}.selectContainer.disabled.svelte-1m9h0jf input.svelte-1m9h0jf::placeholder{color:#c1c6cc;color:var(--disabledPlaceholderColor, #c1c6cc);opacity:1;opacity:var(--disabledPlaceholderOpacity, 1)}.selectedItem.svelte-1m9h0jf.svelte-1m9h0jf{line-height:42px;line-height:var(--height, 42px);height:42px;height:var(--height, 42px);overflow-x:hidden;padding:0 20px 0 0;padding:var(--selectedItemPadding, 0 20px 0 0)}.selectedItem.svelte-1m9h0jf.svelte-1m9h0jf:focus{outline:none}.clearSelect.svelte-1m9h0jf.svelte-1m9h0jf{position:absolute;right:10px;right:var(--clearSelectRight, 10px);top:11px;top:var(--clearSelectTop, 11px);bottom:11px;bottom:var(--clearSelectBottom, 11px);width:20px;width:var(--clearSelectWidth, 20px);color:#c5cacf;color:var(--clearSelectColor, #c5cacf);flex:none !important}.clearSelect.svelte-1m9h0jf.svelte-1m9h0jf:hover{color:#2c3e50;color:var(--clearSelectHoverColor, #2c3e50)}.selectContainer.focused.svelte-1m9h0jf .clearSelect.svelte-1m9h0jf{color:#3f4f5f;color:var(--clearSelectFocusColor, #3f4f5f)}.indicator.svelte-1m9h0jf.svelte-1m9h0jf{position:absolute;right:10px;right:var(--indicatorRight, 10px);top:11px;top:var(--indicatorTop, 11px);width:20px;width:var(--indicatorWidth, 20px);height:20px;height:var(--indicatorHeight, 20px);color:#c5cacf;color:var(--indicatorColor, #c5cacf)}.indicator.svelte-1m9h0jf svg.svelte-1m9h0jf{display:inline-block;fill:currentcolor;fill:var(--indicatorFill, currentcolor);line-height:1;stroke:currentcolor;stroke:var(--indicatorStroke, currentcolor);stroke-width:0}.spinner.svelte-1m9h0jf.svelte-1m9h0jf{position:absolute;right:10px;right:var(--spinnerRight, 10px);top:11px;top:var(--spinnerLeft, 11px);width:20px;width:var(--spinnerWidth, 20px);height:20px;height:var(--spinnerHeight, 20px);color:#51ce6c;color:var(--spinnerColor, #51ce6c);animation:svelte-1m9h0jf-rotate 0.75s linear infinite}.spinner_icon.svelte-1m9h0jf.svelte-1m9h0jf{display:block;height:100%;transform-origin:center center;width:100%;position:absolute;top:0;bottom:0;left:0;right:0;margin:auto;-webkit-transform:none}.spinner_path.svelte-1m9h0jf.svelte-1m9h0jf{stroke-dasharray:90;stroke-linecap:round}.multiSelect.svelte-1m9h0jf.svelte-1m9h0jf{display:-webkit-box;display:-ms-flexbox;display:flex;padding:0 35px 0 16px;padding:var(--multiSelectPadding, 0 35px 0 16px);height:auto;flex-wrap:wrap;align-items:stretch}.multiSelect.svelte-1m9h0jf>.svelte-1m9h0jf{flex:1 1 50px}.selectContainer.multiSelect.svelte-1m9h0jf input.svelte-1m9h0jf{padding:0;padding:var(--multiSelectInputPadding, 0);position:relative;margin:0;margin:var(--multiSelectInputMargin, 0)}.hasError.svelte-1m9h0jf.svelte-1m9h0jf{border:1px solid #ff2d55;border:var(--errorBorder, 1px solid #ff2d55);background:#fff;background:var(--errorBackground, #fff)}.a11yText.svelte-1m9h0jf.svelte-1m9h0jf{z-index:9999;border:0px;clip:rect(1px, 1px, 1px, 1px);height:1px;width:1px;position:absolute;overflow:hidden;padding:0px;white-space:nowrap}@keyframes svelte-1m9h0jf-rotate{100%{transform:rotate(360deg)}}");
}

function Select_svelte_get_each_context(ctx, list, i) {
	const child_ctx = ctx.slice();
	child_ctx[103] = list[i];
	return child_ctx;
}

// (926:8) {#if isFocused}
function create_if_block_10(ctx) {
	let span0;
	let t0;
	let t1;
	let span1;
	let t2;

	return {
		c() {
			span0 = internal_element("span");
			t0 = internal_text(/*ariaSelection*/ ctx[33]);
			t1 = space();
			span1 = internal_element("span");
			t2 = internal_text(/*ariaContext*/ ctx[32]);
			attr(span0, "id", "aria-selection");
			attr(span1, "id", "aria-context");
		},
		m(target, anchor) {
			insert(target, span0, anchor);
			append(span0, t0);
			insert(target, t1, anchor);
			insert(target, span1, anchor);
			append(span1, t2);
		},
		p(ctx, dirty) {
			if (dirty[1] & /*ariaSelection*/ 4) set_data(t0, /*ariaSelection*/ ctx[33]);
			if (dirty[1] & /*ariaContext*/ 2) set_data(t2, /*ariaContext*/ ctx[32]);
		},
		d(detaching) {
			if (detaching) detach(span0);
			if (detaching) detach(t1);
			if (detaching) detach(span1);
		}
	};
}

// (934:4) {#if Icon}
function create_if_block_9(ctx) {
	let switch_instance;
	let switch_instance_anchor;
	let current;
	const switch_instance_spread_levels = [/*iconProps*/ ctx[18]];
	var switch_value = /*Icon*/ ctx[17];

	function switch_props(ctx) {
		let switch_instance_props = {};

		for (let i = 0; i < switch_instance_spread_levels.length; i += 1) {
			switch_instance_props = internal_assign(switch_instance_props, switch_instance_spread_levels[i]);
		}

		return { props: switch_instance_props };
	}

	if (switch_value) {
		switch_instance = construct_svelte_component(switch_value, switch_props(ctx));
	}

	return {
		c() {
			if (switch_instance) create_component(switch_instance.$$.fragment);
			switch_instance_anchor = empty();
		},
		m(target, anchor) {
			if (switch_instance) mount_component(switch_instance, target, anchor);
			insert(target, switch_instance_anchor, anchor);
			current = true;
		},
		p(ctx, dirty) {
			const switch_instance_changes = (dirty[0] & /*iconProps*/ 262144)
			? get_spread_update(switch_instance_spread_levels, [get_spread_object(/*iconProps*/ ctx[18])])
			: {};

			if (dirty[0] & /*Icon*/ 131072 && switch_value !== (switch_value = /*Icon*/ ctx[17])) {
				if (switch_instance) {
					group_outros();
					const old_component = switch_instance;

					transition_out(old_component.$$.fragment, 1, 0, () => {
						destroy_component(old_component, 1);
					});

					check_outros();
				}

				if (switch_value) {
					switch_instance = construct_svelte_component(switch_value, switch_props(ctx));
					create_component(switch_instance.$$.fragment);
					transition_in(switch_instance.$$.fragment, 1);
					mount_component(switch_instance, switch_instance_anchor.parentNode, switch_instance_anchor);
				} else {
					switch_instance = null;
				}
			} else if (switch_value) {
				switch_instance.$set(switch_instance_changes);
			}
		},
		i(local) {
			if (current) return;
			if (switch_instance) transition_in(switch_instance.$$.fragment, local);
			current = true;
		},
		o(local) {
			if (switch_instance) transition_out(switch_instance.$$.fragment, local);
			current = false;
		},
		d(detaching) {
			if (detaching) detach(switch_instance_anchor);
			if (switch_instance) destroy_component(switch_instance, detaching);
		}
	};
}

// (938:4) {#if showMultiSelect}
function create_if_block_8(ctx) {
	let switch_instance;
	let switch_instance_anchor;
	let current;
	var switch_value = /*MultiSelection*/ ctx[26];

	function switch_props(ctx) {
		return {
			props: {
				value: /*value*/ ctx[2],
				getSelectionLabel: /*getSelectionLabel*/ ctx[12],
				activeValue: /*activeValue*/ ctx[30],
				isDisabled: /*isDisabled*/ ctx[9],
				multiFullItemClearable: /*multiFullItemClearable*/ ctx[8]
			}
		};
	}

	if (switch_value) {
		switch_instance = construct_svelte_component(switch_value, switch_props(ctx));
		switch_instance.$on("multiItemClear", /*handleMultiItemClear*/ ctx[38]);
		switch_instance.$on("focus", /*handleFocus*/ ctx[40]);
	}

	return {
		c() {
			if (switch_instance) create_component(switch_instance.$$.fragment);
			switch_instance_anchor = empty();
		},
		m(target, anchor) {
			if (switch_instance) mount_component(switch_instance, target, anchor);
			insert(target, switch_instance_anchor, anchor);
			current = true;
		},
		p(ctx, dirty) {
			const switch_instance_changes = {};
			if (dirty[0] & /*value*/ 4) switch_instance_changes.value = /*value*/ ctx[2];
			if (dirty[0] & /*getSelectionLabel*/ 4096) switch_instance_changes.getSelectionLabel = /*getSelectionLabel*/ ctx[12];
			if (dirty[0] & /*activeValue*/ 1073741824) switch_instance_changes.activeValue = /*activeValue*/ ctx[30];
			if (dirty[0] & /*isDisabled*/ 512) switch_instance_changes.isDisabled = /*isDisabled*/ ctx[9];
			if (dirty[0] & /*multiFullItemClearable*/ 256) switch_instance_changes.multiFullItemClearable = /*multiFullItemClearable*/ ctx[8];

			if (dirty[0] & /*MultiSelection*/ 67108864 && switch_value !== (switch_value = /*MultiSelection*/ ctx[26])) {
				if (switch_instance) {
					group_outros();
					const old_component = switch_instance;

					transition_out(old_component.$$.fragment, 1, 0, () => {
						destroy_component(old_component, 1);
					});

					check_outros();
				}

				if (switch_value) {
					switch_instance = construct_svelte_component(switch_value, switch_props(ctx));
					switch_instance.$on("multiItemClear", /*handleMultiItemClear*/ ctx[38]);
					switch_instance.$on("focus", /*handleFocus*/ ctx[40]);
					create_component(switch_instance.$$.fragment);
					transition_in(switch_instance.$$.fragment, 1);
					mount_component(switch_instance, switch_instance_anchor.parentNode, switch_instance_anchor);
				} else {
					switch_instance = null;
				}
			} else if (switch_value) {
				switch_instance.$set(switch_instance_changes);
			}
		},
		i(local) {
			if (current) return;
			if (switch_instance) transition_in(switch_instance.$$.fragment, local);
			current = true;
		},
		o(local) {
			if (switch_instance) transition_out(switch_instance.$$.fragment, local);
			current = false;
		},
		d(detaching) {
			if (detaching) detach(switch_instance_anchor);
			if (switch_instance) destroy_component(switch_instance, detaching);
		}
	};
}

// (960:4) {#if !isMulti && showSelectedItem}
function create_if_block_7(ctx) {
	let div;
	let switch_instance;
	let current;
	let mounted;
	let dispose;
	var switch_value = /*Selection*/ ctx[25];

	function switch_props(ctx) {
		return {
			props: {
				item: /*value*/ ctx[2],
				getSelectionLabel: /*getSelectionLabel*/ ctx[12]
			}
		};
	}

	if (switch_value) {
		switch_instance = construct_svelte_component(switch_value, switch_props(ctx));
	}

	return {
		c() {
			div = internal_element("div");
			if (switch_instance) create_component(switch_instance.$$.fragment);
			attr(div, "class", "selectedItem svelte-1m9h0jf");
		},
		m(target, anchor) {
			insert(target, div, anchor);
			if (switch_instance) mount_component(switch_instance, div, null);
			current = true;

			if (!mounted) {
				dispose = listen(div, "focus", /*handleFocus*/ ctx[40]);
				mounted = true;
			}
		},
		p(ctx, dirty) {
			const switch_instance_changes = {};
			if (dirty[0] & /*value*/ 4) switch_instance_changes.item = /*value*/ ctx[2];
			if (dirty[0] & /*getSelectionLabel*/ 4096) switch_instance_changes.getSelectionLabel = /*getSelectionLabel*/ ctx[12];

			if (dirty[0] & /*Selection*/ 33554432 && switch_value !== (switch_value = /*Selection*/ ctx[25])) {
				if (switch_instance) {
					group_outros();
					const old_component = switch_instance;

					transition_out(old_component.$$.fragment, 1, 0, () => {
						destroy_component(old_component, 1);
					});

					check_outros();
				}

				if (switch_value) {
					switch_instance = construct_svelte_component(switch_value, switch_props(ctx));
					create_component(switch_instance.$$.fragment);
					transition_in(switch_instance.$$.fragment, 1);
					mount_component(switch_instance, div, null);
				} else {
					switch_instance = null;
				}
			} else if (switch_value) {
				switch_instance.$set(switch_instance_changes);
			}
		},
		i(local) {
			if (current) return;
			if (switch_instance) transition_in(switch_instance.$$.fragment, local);
			current = true;
		},
		o(local) {
			if (switch_instance) transition_out(switch_instance.$$.fragment, local);
			current = false;
		},
		d(detaching) {
			if (detaching) detach(div);
			if (switch_instance) destroy_component(switch_instance);
			mounted = false;
			dispose();
		}
	};
}

// (969:4) {#if showClearIcon}
function create_if_block_6(ctx) {
	let div;
	let switch_instance;
	let current;
	let mounted;
	let dispose;
	var switch_value = /*ClearIcon*/ ctx[23];

	function switch_props(ctx) {
		return {};
	}

	if (switch_value) {
		switch_instance = construct_svelte_component(switch_value, switch_props(ctx));
	}

	return {
		c() {
			div = internal_element("div");
			if (switch_instance) create_component(switch_instance.$$.fragment);
			attr(div, "class", "clearSelect svelte-1m9h0jf");
			attr(div, "aria-hidden", "true");
		},
		m(target, anchor) {
			insert(target, div, anchor);
			if (switch_instance) mount_component(switch_instance, div, null);
			current = true;

			if (!mounted) {
				dispose = listen(div, "click", prevent_default(/*handleClear*/ ctx[27]));
				mounted = true;
			}
		},
		p(ctx, dirty) {
			if (dirty[0] & /*ClearIcon*/ 8388608 && switch_value !== (switch_value = /*ClearIcon*/ ctx[23])) {
				if (switch_instance) {
					group_outros();
					const old_component = switch_instance;

					transition_out(old_component.$$.fragment, 1, 0, () => {
						destroy_component(old_component, 1);
					});

					check_outros();
				}

				if (switch_value) {
					switch_instance = construct_svelte_component(switch_value, switch_props(ctx));
					create_component(switch_instance.$$.fragment);
					transition_in(switch_instance.$$.fragment, 1);
					mount_component(switch_instance, div, null);
				} else {
					switch_instance = null;
				}
			} else if (switch_value) {
				
			}
		},
		i(local) {
			if (current) return;
			if (switch_instance) transition_in(switch_instance.$$.fragment, local);
			current = true;
		},
		o(local) {
			if (switch_instance) transition_out(switch_instance.$$.fragment, local);
			current = false;
		},
		d(detaching) {
			if (detaching) detach(div);
			if (switch_instance) destroy_component(switch_instance);
			mounted = false;
			dispose();
		}
	};
}

// (978:4) {#if !showClearIcon && (showIndicator || (showChevron && !value) || (!isSearchable && !isDisabled && !isWaiting && ((showSelectedItem && !isClearable) || !showSelectedItem)))}
function create_if_block_4(ctx) {
	let div;

	function select_block_type(ctx, dirty) {
		if (/*indicatorSvg*/ ctx[22]) return create_if_block_5;
		return Select_svelte_create_else_block;
	}

	let current_block_type = select_block_type(ctx, [-1, -1, -1, -1]);
	let if_block = current_block_type(ctx);

	return {
		c() {
			div = internal_element("div");
			if_block.c();
			attr(div, "class", "indicator svelte-1m9h0jf");
			attr(div, "aria-hidden", "true");
		},
		m(target, anchor) {
			insert(target, div, anchor);
			if_block.m(div, null);
		},
		p(ctx, dirty) {
			if (current_block_type === (current_block_type = select_block_type(ctx, dirty)) && if_block) {
				if_block.p(ctx, dirty);
			} else {
				if_block.d(1);
				if_block = current_block_type(ctx);

				if (if_block) {
					if_block.c();
					if_block.m(div, null);
				}
			}
		},
		d(detaching) {
			if (detaching) detach(div);
			if_block.d();
		}
	};
}

// (982:12) {:else}
function Select_svelte_create_else_block(ctx) {
	let svg;
	let path;

	return {
		c() {
			svg = svg_element("svg");
			path = svg_element("path");
			attr(path, "d", "M4.516 7.548c0.436-0.446 1.043-0.481 1.576 0l3.908 3.747\n          3.908-3.747c0.533-0.481 1.141-0.446 1.574 0 0.436 0.445 0.408 1.197 0\n          1.615-0.406 0.418-4.695 4.502-4.695 4.502-0.217 0.223-0.502\n          0.335-0.787 0.335s-0.57-0.112-0.789-0.335c0\n          0-4.287-4.084-4.695-4.502s-0.436-1.17 0-1.615z");
			attr(svg, "width", "100%");
			attr(svg, "height", "100%");
			attr(svg, "viewBox", "0 0 20 20");
			attr(svg, "focusable", "false");
			attr(svg, "aria-hidden", "true");
			attr(svg, "class", "svelte-1m9h0jf");
		},
		m(target, anchor) {
			insert(target, svg, anchor);
			append(svg, path);
		},
		p: noop,
		d(detaching) {
			if (detaching) detach(svg);
		}
	};
}

// (980:12) {#if indicatorSvg}
function create_if_block_5(ctx) {
	let html_tag;
	let html_anchor;

	return {
		c() {
			html_tag = new HtmlTag(false);
			html_anchor = empty();
			html_tag.a = html_anchor;
		},
		m(target, anchor) {
			html_tag.m(/*indicatorSvg*/ ctx[22], target, anchor);
			insert(target, html_anchor, anchor);
		},
		p(ctx, dirty) {
			if (dirty[0] & /*indicatorSvg*/ 4194304) html_tag.p(/*indicatorSvg*/ ctx[22]);
		},
		d(detaching) {
			if (detaching) detach(html_anchor);
			if (detaching) html_tag.d();
		}
	};
}

// (1000:4) {#if isWaiting}
function create_if_block_3(ctx) {
	let div;

	return {
		c() {
			div = internal_element("div");
			div.innerHTML = `<svg class="spinner_icon svelte-1m9h0jf" viewBox="25 25 50 50"><circle class="spinner_path svelte-1m9h0jf" cx="50" cy="50" r="20" fill="none" stroke="currentColor" stroke-width="5" stroke-miterlimit="10"></circle></svg>`;
			attr(div, "class", "spinner svelte-1m9h0jf");
		},
		m(target, anchor) {
			insert(target, div, anchor);
		},
		d(detaching) {
			if (detaching) detach(div);
		}
	};
}

// (1016:4) {#if listOpen}
function Select_svelte_create_if_block_2(ctx) {
	let switch_instance;
	let updating_hoverItemIndex;
	let switch_instance_anchor;
	let current;
	const switch_instance_spread_levels = [/*listProps*/ ctx[34]];

	function switch_instance_hoverItemIndex_binding(value) {
		/*switch_instance_hoverItemIndex_binding*/ ctx[84](value);
	}

	var switch_value = /*List*/ ctx[24];

	function switch_props(ctx) {
		let switch_instance_props = {};

		for (let i = 0; i < switch_instance_spread_levels.length; i += 1) {
			switch_instance_props = internal_assign(switch_instance_props, switch_instance_spread_levels[i]);
		}

		if (/*hoverItemIndex*/ ctx[28] !== void 0) {
			switch_instance_props.hoverItemIndex = /*hoverItemIndex*/ ctx[28];
		}

		return { props: switch_instance_props };
	}

	if (switch_value) {
		switch_instance = construct_svelte_component(switch_value, switch_props(ctx));
		binding_callbacks.push(() => bind(switch_instance, 'hoverItemIndex', switch_instance_hoverItemIndex_binding));
		switch_instance.$on("itemSelected", /*itemSelected*/ ctx[43]);
		switch_instance.$on("itemCreated", /*itemCreated*/ ctx[44]);
		switch_instance.$on("closeList", /*closeList*/ ctx[45]);
	}

	return {
		c() {
			if (switch_instance) create_component(switch_instance.$$.fragment);
			switch_instance_anchor = empty();
		},
		m(target, anchor) {
			if (switch_instance) mount_component(switch_instance, target, anchor);
			insert(target, switch_instance_anchor, anchor);
			current = true;
		},
		p(ctx, dirty) {
			const switch_instance_changes = (dirty[1] & /*listProps*/ 8)
			? get_spread_update(switch_instance_spread_levels, [get_spread_object(/*listProps*/ ctx[34])])
			: {};

			if (!updating_hoverItemIndex && dirty[0] & /*hoverItemIndex*/ 268435456) {
				updating_hoverItemIndex = true;
				switch_instance_changes.hoverItemIndex = /*hoverItemIndex*/ ctx[28];
				add_flush_callback(() => updating_hoverItemIndex = false);
			}

			if (dirty[0] & /*List*/ 16777216 && switch_value !== (switch_value = /*List*/ ctx[24])) {
				if (switch_instance) {
					group_outros();
					const old_component = switch_instance;

					transition_out(old_component.$$.fragment, 1, 0, () => {
						destroy_component(old_component, 1);
					});

					check_outros();
				}

				if (switch_value) {
					switch_instance = construct_svelte_component(switch_value, switch_props(ctx));
					binding_callbacks.push(() => bind(switch_instance, 'hoverItemIndex', switch_instance_hoverItemIndex_binding));
					switch_instance.$on("itemSelected", /*itemSelected*/ ctx[43]);
					switch_instance.$on("itemCreated", /*itemCreated*/ ctx[44]);
					switch_instance.$on("closeList", /*closeList*/ ctx[45]);
					create_component(switch_instance.$$.fragment);
					transition_in(switch_instance.$$.fragment, 1);
					mount_component(switch_instance, switch_instance_anchor.parentNode, switch_instance_anchor);
				} else {
					switch_instance = null;
				}
			} else if (switch_value) {
				switch_instance.$set(switch_instance_changes);
			}
		},
		i(local) {
			if (current) return;
			if (switch_instance) transition_in(switch_instance.$$.fragment, local);
			current = true;
		},
		o(local) {
			if (switch_instance) transition_out(switch_instance.$$.fragment, local);
			current = false;
		},
		d(detaching) {
			if (detaching) detach(switch_instance_anchor);
			if (switch_instance) destroy_component(switch_instance, detaching);
		}
	};
}

// (1026:4) {#if !isMulti || (isMulti && !showMultiSelect)}
function Select_svelte_create_if_block_1(ctx) {
	let input_1;
	let input_1_name_value;
	let input_1_value_value;

	return {
		c() {
			input_1 = internal_element("input");
			attr(input_1, "name", input_1_name_value = /*inputAttributes*/ ctx[16].name);
			attr(input_1, "type", "hidden");

			input_1.value = input_1_value_value = /*value*/ ctx[2]
			? /*getSelectionLabel*/ ctx[12](/*value*/ ctx[2])
			: null;

			attr(input_1, "class", "svelte-1m9h0jf");
		},
		m(target, anchor) {
			insert(target, input_1, anchor);
		},
		p(ctx, dirty) {
			if (dirty[0] & /*inputAttributes*/ 65536 && input_1_name_value !== (input_1_name_value = /*inputAttributes*/ ctx[16].name)) {
				attr(input_1, "name", input_1_name_value);
			}

			if (dirty[0] & /*value, getSelectionLabel*/ 4100 && input_1_value_value !== (input_1_value_value = /*value*/ ctx[2]
			? /*getSelectionLabel*/ ctx[12](/*value*/ ctx[2])
			: null)) {
				input_1.value = input_1_value_value;
			}
		},
		d(detaching) {
			if (detaching) detach(input_1);
		}
	};
}

// (1033:4) {#if isMulti && showMultiSelect}
function Select_svelte_create_if_block(ctx) {
	let each_1_anchor;
	let each_value = /*value*/ ctx[2];
	let each_blocks = [];

	for (let i = 0; i < each_value.length; i += 1) {
		each_blocks[i] = Select_svelte_create_each_block(Select_svelte_get_each_context(ctx, each_value, i));
	}

	return {
		c() {
			for (let i = 0; i < each_blocks.length; i += 1) {
				each_blocks[i].c();
			}

			each_1_anchor = empty();
		},
		m(target, anchor) {
			for (let i = 0; i < each_blocks.length; i += 1) {
				if (each_blocks[i]) {
					each_blocks[i].m(target, anchor);
				}
			}

			insert(target, each_1_anchor, anchor);
		},
		p(ctx, dirty) {
			if (dirty[0] & /*inputAttributes, value, getSelectionLabel*/ 69636) {
				each_value = /*value*/ ctx[2];
				let i;

				for (i = 0; i < each_value.length; i += 1) {
					const child_ctx = Select_svelte_get_each_context(ctx, each_value, i);

					if (each_blocks[i]) {
						each_blocks[i].p(child_ctx, dirty);
					} else {
						each_blocks[i] = Select_svelte_create_each_block(child_ctx);
						each_blocks[i].c();
						each_blocks[i].m(each_1_anchor.parentNode, each_1_anchor);
					}
				}

				for (; i < each_blocks.length; i += 1) {
					each_blocks[i].d(1);
				}

				each_blocks.length = each_value.length;
			}
		},
		d(detaching) {
			destroy_each(each_blocks, detaching);
			if (detaching) detach(each_1_anchor);
		}
	};
}

// (1034:8) {#each value as item}
function Select_svelte_create_each_block(ctx) {
	let input_1;
	let input_1_name_value;
	let input_1_value_value;

	return {
		c() {
			input_1 = internal_element("input");
			attr(input_1, "name", input_1_name_value = /*inputAttributes*/ ctx[16].name);
			attr(input_1, "type", "hidden");

			input_1.value = input_1_value_value = /*item*/ ctx[103]
			? /*getSelectionLabel*/ ctx[12](/*item*/ ctx[103])
			: null;

			attr(input_1, "class", "svelte-1m9h0jf");
		},
		m(target, anchor) {
			insert(target, input_1, anchor);
		},
		p(ctx, dirty) {
			if (dirty[0] & /*inputAttributes*/ 65536 && input_1_name_value !== (input_1_name_value = /*inputAttributes*/ ctx[16].name)) {
				attr(input_1, "name", input_1_name_value);
			}

			if (dirty[0] & /*value, getSelectionLabel*/ 4100 && input_1_value_value !== (input_1_value_value = /*item*/ ctx[103]
			? /*getSelectionLabel*/ ctx[12](/*item*/ ctx[103])
			: null)) {
				input_1.value = input_1_value_value;
			}
		},
		d(detaching) {
			if (detaching) detach(input_1);
		}
	};
}

function Select_svelte_create_fragment(ctx) {
	let div;
	let span;
	let t0;
	let t1;
	let t2;
	let input_1;
	let input_1_readonly_value;
	let t3;
	let t4;
	let t5;
	let t6;
	let t7;
	let t8;
	let t9;
	let div_class_value;
	let current;
	let mounted;
	let dispose;
	let if_block0 = /*isFocused*/ ctx[1] && create_if_block_10(ctx);
	let if_block1 = /*Icon*/ ctx[17] && create_if_block_9(ctx);
	let if_block2 = /*showMultiSelect*/ ctx[35] && create_if_block_8(ctx);

	let input_1_levels = [
		{
			readOnly: input_1_readonly_value = !/*isSearchable*/ ctx[13]
		},
		/*_inputAttributes*/ ctx[31],
		{ placeholder: /*placeholderText*/ ctx[36] },
		{ style: /*inputStyles*/ ctx[14] },
		{ disabled: /*isDisabled*/ ctx[9] }
	];

	let input_data = {};

	for (let i = 0; i < input_1_levels.length; i += 1) {
		input_data = internal_assign(input_data, input_1_levels[i]);
	}

	let if_block3 = !/*isMulti*/ ctx[7] && /*showSelectedItem*/ ctx[29] && create_if_block_7(ctx);
	let if_block4 = /*showClearIcon*/ ctx[37] && create_if_block_6(ctx);
	let if_block5 = !/*showClearIcon*/ ctx[37] && (/*showIndicator*/ ctx[20] || /*showChevron*/ ctx[19] && !/*value*/ ctx[2] || !/*isSearchable*/ ctx[13] && !/*isDisabled*/ ctx[9] && !/*isWaiting*/ ctx[4] && (/*showSelectedItem*/ ctx[29] && !/*isClearable*/ ctx[15] || !/*showSelectedItem*/ ctx[29])) && create_if_block_4(ctx);
	let if_block6 = /*isWaiting*/ ctx[4] && create_if_block_3(ctx);
	let if_block7 = /*listOpen*/ ctx[5] && Select_svelte_create_if_block_2(ctx);
	let if_block8 = (!/*isMulti*/ ctx[7] || /*isMulti*/ ctx[7] && !/*showMultiSelect*/ ctx[35]) && Select_svelte_create_if_block_1(ctx);
	let if_block9 = /*isMulti*/ ctx[7] && /*showMultiSelect*/ ctx[35] && Select_svelte_create_if_block(ctx);

	return {
		c() {
			div = internal_element("div");
			span = internal_element("span");
			if (if_block0) if_block0.c();
			t0 = space();
			if (if_block1) if_block1.c();
			t1 = space();
			if (if_block2) if_block2.c();
			t2 = space();
			input_1 = internal_element("input");
			t3 = space();
			if (if_block3) if_block3.c();
			t4 = space();
			if (if_block4) if_block4.c();
			t5 = space();
			if (if_block5) if_block5.c();
			t6 = space();
			if (if_block6) if_block6.c();
			t7 = space();
			if (if_block7) if_block7.c();
			t8 = space();
			if (if_block8) if_block8.c();
			t9 = space();
			if (if_block9) if_block9.c();
			attr(span, "aria-live", "polite");
			attr(span, "aria-atomic", "false");
			attr(span, "aria-relevant", "additions text");
			attr(span, "class", "a11yText svelte-1m9h0jf");
			set_attributes(input_1, input_data);
			toggle_class(input_1, "svelte-1m9h0jf", true);
			attr(div, "class", div_class_value = "selectContainer " + /*containerClasses*/ ctx[21] + " svelte-1m9h0jf");
			attr(div, "style", /*containerStyles*/ ctx[11]);
			toggle_class(div, "hasError", /*hasError*/ ctx[10]);
			toggle_class(div, "multiSelect", /*isMulti*/ ctx[7]);
			toggle_class(div, "disabled", /*isDisabled*/ ctx[9]);
			toggle_class(div, "focused", /*isFocused*/ ctx[1]);
		},
		m(target, anchor) {
			insert(target, div, anchor);
			append(div, span);
			if (if_block0) if_block0.m(span, null);
			append(div, t0);
			if (if_block1) if_block1.m(div, null);
			append(div, t1);
			if (if_block2) if_block2.m(div, null);
			append(div, t2);
			append(div, input_1);
			if (input_1.autofocus) input_1.focus();
			/*input_1_binding*/ ctx[82](input_1);
			set_input_value(input_1, /*filterText*/ ctx[3]);
			append(div, t3);
			if (if_block3) if_block3.m(div, null);
			append(div, t4);
			if (if_block4) if_block4.m(div, null);
			append(div, t5);
			if (if_block5) if_block5.m(div, null);
			append(div, t6);
			if (if_block6) if_block6.m(div, null);
			append(div, t7);
			if (if_block7) if_block7.m(div, null);
			append(div, t8);
			if (if_block8) if_block8.m(div, null);
			append(div, t9);
			if (if_block9) if_block9.m(div, null);
			/*div_binding*/ ctx[85](div);
			current = true;

			if (!mounted) {
				dispose = [
					listen(window, "click", /*handleWindowEvent*/ ctx[41]),
					listen(window, "focusin", /*handleWindowEvent*/ ctx[41]),
					listen(window, "keydown", /*handleKeyDown*/ ctx[39]),
					listen(input_1, "focus", /*handleFocus*/ ctx[40]),
					listen(input_1, "input", /*input_1_input_handler*/ ctx[83]),
					listen(div, "click", /*handleClick*/ ctx[42])
				];

				mounted = true;
			}
		},
		p(ctx, dirty) {
			if (/*isFocused*/ ctx[1]) {
				if (if_block0) {
					if_block0.p(ctx, dirty);
				} else {
					if_block0 = create_if_block_10(ctx);
					if_block0.c();
					if_block0.m(span, null);
				}
			} else if (if_block0) {
				if_block0.d(1);
				if_block0 = null;
			}

			if (/*Icon*/ ctx[17]) {
				if (if_block1) {
					if_block1.p(ctx, dirty);

					if (dirty[0] & /*Icon*/ 131072) {
						transition_in(if_block1, 1);
					}
				} else {
					if_block1 = create_if_block_9(ctx);
					if_block1.c();
					transition_in(if_block1, 1);
					if_block1.m(div, t1);
				}
			} else if (if_block1) {
				group_outros();

				transition_out(if_block1, 1, 1, () => {
					if_block1 = null;
				});

				check_outros();
			}

			if (/*showMultiSelect*/ ctx[35]) {
				if (if_block2) {
					if_block2.p(ctx, dirty);

					if (dirty[1] & /*showMultiSelect*/ 16) {
						transition_in(if_block2, 1);
					}
				} else {
					if_block2 = create_if_block_8(ctx);
					if_block2.c();
					transition_in(if_block2, 1);
					if_block2.m(div, t2);
				}
			} else if (if_block2) {
				group_outros();

				transition_out(if_block2, 1, 1, () => {
					if_block2 = null;
				});

				check_outros();
			}

			set_attributes(input_1, input_data = get_spread_update(input_1_levels, [
				(!current || dirty[0] & /*isSearchable*/ 8192 && input_1_readonly_value !== (input_1_readonly_value = !/*isSearchable*/ ctx[13])) && { readOnly: input_1_readonly_value },
				dirty[1] & /*_inputAttributes*/ 1 && /*_inputAttributes*/ ctx[31],
				(!current || dirty[1] & /*placeholderText*/ 32) && { placeholder: /*placeholderText*/ ctx[36] },
				(!current || dirty[0] & /*inputStyles*/ 16384) && { style: /*inputStyles*/ ctx[14] },
				(!current || dirty[0] & /*isDisabled*/ 512) && { disabled: /*isDisabled*/ ctx[9] }
			]));

			if (dirty[0] & /*filterText*/ 8 && input_1.value !== /*filterText*/ ctx[3]) {
				set_input_value(input_1, /*filterText*/ ctx[3]);
			}

			toggle_class(input_1, "svelte-1m9h0jf", true);

			if (!/*isMulti*/ ctx[7] && /*showSelectedItem*/ ctx[29]) {
				if (if_block3) {
					if_block3.p(ctx, dirty);

					if (dirty[0] & /*isMulti, showSelectedItem*/ 536871040) {
						transition_in(if_block3, 1);
					}
				} else {
					if_block3 = create_if_block_7(ctx);
					if_block3.c();
					transition_in(if_block3, 1);
					if_block3.m(div, t4);
				}
			} else if (if_block3) {
				group_outros();

				transition_out(if_block3, 1, 1, () => {
					if_block3 = null;
				});

				check_outros();
			}

			if (/*showClearIcon*/ ctx[37]) {
				if (if_block4) {
					if_block4.p(ctx, dirty);

					if (dirty[1] & /*showClearIcon*/ 64) {
						transition_in(if_block4, 1);
					}
				} else {
					if_block4 = create_if_block_6(ctx);
					if_block4.c();
					transition_in(if_block4, 1);
					if_block4.m(div, t5);
				}
			} else if (if_block4) {
				group_outros();

				transition_out(if_block4, 1, 1, () => {
					if_block4 = null;
				});

				check_outros();
			}

			if (!/*showClearIcon*/ ctx[37] && (/*showIndicator*/ ctx[20] || /*showChevron*/ ctx[19] && !/*value*/ ctx[2] || !/*isSearchable*/ ctx[13] && !/*isDisabled*/ ctx[9] && !/*isWaiting*/ ctx[4] && (/*showSelectedItem*/ ctx[29] && !/*isClearable*/ ctx[15] || !/*showSelectedItem*/ ctx[29]))) {
				if (if_block5) {
					if_block5.p(ctx, dirty);
				} else {
					if_block5 = create_if_block_4(ctx);
					if_block5.c();
					if_block5.m(div, t6);
				}
			} else if (if_block5) {
				if_block5.d(1);
				if_block5 = null;
			}

			if (/*isWaiting*/ ctx[4]) {
				if (if_block6) {
					
				} else {
					if_block6 = create_if_block_3(ctx);
					if_block6.c();
					if_block6.m(div, t7);
				}
			} else if (if_block6) {
				if_block6.d(1);
				if_block6 = null;
			}

			if (/*listOpen*/ ctx[5]) {
				if (if_block7) {
					if_block7.p(ctx, dirty);

					if (dirty[0] & /*listOpen*/ 32) {
						transition_in(if_block7, 1);
					}
				} else {
					if_block7 = Select_svelte_create_if_block_2(ctx);
					if_block7.c();
					transition_in(if_block7, 1);
					if_block7.m(div, t8);
				}
			} else if (if_block7) {
				group_outros();

				transition_out(if_block7, 1, 1, () => {
					if_block7 = null;
				});

				check_outros();
			}

			if (!/*isMulti*/ ctx[7] || /*isMulti*/ ctx[7] && !/*showMultiSelect*/ ctx[35]) {
				if (if_block8) {
					if_block8.p(ctx, dirty);
				} else {
					if_block8 = Select_svelte_create_if_block_1(ctx);
					if_block8.c();
					if_block8.m(div, t9);
				}
			} else if (if_block8) {
				if_block8.d(1);
				if_block8 = null;
			}

			if (/*isMulti*/ ctx[7] && /*showMultiSelect*/ ctx[35]) {
				if (if_block9) {
					if_block9.p(ctx, dirty);
				} else {
					if_block9 = Select_svelte_create_if_block(ctx);
					if_block9.c();
					if_block9.m(div, null);
				}
			} else if (if_block9) {
				if_block9.d(1);
				if_block9 = null;
			}

			if (!current || dirty[0] & /*containerClasses*/ 2097152 && div_class_value !== (div_class_value = "selectContainer " + /*containerClasses*/ ctx[21] + " svelte-1m9h0jf")) {
				attr(div, "class", div_class_value);
			}

			if (!current || dirty[0] & /*containerStyles*/ 2048) {
				attr(div, "style", /*containerStyles*/ ctx[11]);
			}

			if (!current || dirty[0] & /*containerClasses, hasError*/ 2098176) {
				toggle_class(div, "hasError", /*hasError*/ ctx[10]);
			}

			if (!current || dirty[0] & /*containerClasses, isMulti*/ 2097280) {
				toggle_class(div, "multiSelect", /*isMulti*/ ctx[7]);
			}

			if (!current || dirty[0] & /*containerClasses, isDisabled*/ 2097664) {
				toggle_class(div, "disabled", /*isDisabled*/ ctx[9]);
			}

			if (!current || dirty[0] & /*containerClasses, isFocused*/ 2097154) {
				toggle_class(div, "focused", /*isFocused*/ ctx[1]);
			}
		},
		i(local) {
			if (current) return;
			transition_in(if_block1);
			transition_in(if_block2);
			transition_in(if_block3);
			transition_in(if_block4);
			transition_in(if_block7);
			current = true;
		},
		o(local) {
			transition_out(if_block1);
			transition_out(if_block2);
			transition_out(if_block3);
			transition_out(if_block4);
			transition_out(if_block7);
			current = false;
		},
		d(detaching) {
			if (detaching) detach(div);
			if (if_block0) if_block0.d();
			if (if_block1) if_block1.d();
			if (if_block2) if_block2.d();
			/*input_1_binding*/ ctx[82](null);
			if (if_block3) if_block3.d();
			if (if_block4) if_block4.d();
			if (if_block5) if_block5.d();
			if (if_block6) if_block6.d();
			if (if_block7) if_block7.d();
			if (if_block8) if_block8.d();
			if (if_block9) if_block9.d();
			/*div_binding*/ ctx[85](null);
			mounted = false;
			run_all(dispose);
		}
	};
}

function convertStringItemsToObjects(_items) {
	return _items.map((item, index) => {
		return { index, value: item, label: `${item}` };
	});
}

function Select_svelte_instance($$self, $$props, $$invalidate) {
	let filteredItems;
	let showSelectedItem;
	let showClearIcon;
	let placeholderText;
	let showMultiSelect;
	let listProps;
	let ariaSelection;
	let ariaContext;
	const dispatch = createEventDispatcher();
	let { id = null } = $$props;
	let { container = undefined } = $$props;
	let { input = undefined } = $$props;
	let { isMulti = false } = $$props;
	let { multiFullItemClearable = false } = $$props;
	let { isDisabled = false } = $$props;
	let { isCreatable = false } = $$props;
	let { isFocused = false } = $$props;
	let { value = null } = $$props;
	let { filterText = '' } = $$props;
	let { placeholder = 'Select...' } = $$props;
	let { placeholderAlwaysShow = false } = $$props;
	let { items = null } = $$props;
	let { itemFilter = (label, filterText, option) => `${label}`.toLowerCase().includes(filterText.toLowerCase()) } = $$props;
	let { groupBy = undefined } = $$props;
	let { groupFilter = groups => groups } = $$props;
	let { isGroupHeaderSelectable = false } = $$props;

	let { getGroupHeaderLabel = option => {
		return option[labelIdentifier] || option.id;
	} } = $$props;

	let { labelIdentifier = 'label' } = $$props;

	let { getOptionLabel = (option, filterText) => {
		return option.isCreator
		? `Create \"${filterText}\"`
		: option[labelIdentifier];
	} } = $$props;

	let { optionIdentifier = 'value' } = $$props;
	let { loadOptions = undefined } = $$props;
	let { hasError = false } = $$props;
	let { containerStyles = '' } = $$props;

	let { getSelectionLabel = option => {
		if (option) return option[labelIdentifier]; else return null;
	} } = $$props;

	let { createGroupHeaderItem = groupValue => {
		return { value: groupValue, label: groupValue };
	} } = $$props;

	let { createItem = filterText => {
		return { value: filterText, label: filterText };
	} } = $$props;

	const getFilteredItems = () => {
		return filteredItems;
	};

	let { isSearchable = true } = $$props;
	let { inputStyles = '' } = $$props;
	let { isClearable = true } = $$props;
	let { isWaiting = false } = $$props;
	let { listPlacement = 'auto' } = $$props;
	let { listOpen = false } = $$props;
	let { isVirtualList = false } = $$props;
	let { loadOptionsInterval = 300 } = $$props;
	let { noOptionsMessage = 'No options' } = $$props;
	let { hideEmptyState = false } = $$props;
	let { inputAttributes = {} } = $$props;
	let { listAutoWidth = true } = $$props;
	let { itemHeight = 40 } = $$props;
	let { Icon = undefined } = $$props;
	let { iconProps = {} } = $$props;
	let { showChevron = false } = $$props;
	let { showIndicator = false } = $$props;
	let { containerClasses = '' } = $$props;
	let { indicatorSvg = undefined } = $$props;
	let { listOffset = 5 } = $$props;
	let { ClearIcon = ClearIcon_svelte } = $$props;
	let { Item = Item_svelte } = $$props;
	let { List = List_svelte } = $$props;
	let { Selection = Selection_svelte } = $$props;
	let { MultiSelection = MultiSelection_svelte } = $$props;
	let { VirtualList = VirtualList_svelte } = $$props;

	function filterMethod(args) {
		if (args.loadOptions && args.filterText.length > 0) return;
		if (!args.items) return [];

		if (args.items && args.items.length > 0 && typeof args.items[0] !== 'object') {
			args.items = convertStringItemsToObjects(args.items);
		}

		let filterResults = args.items.filter(item => {
			let matchesFilter = itemFilter(getOptionLabel(item, args.filterText), args.filterText, item);

			if (matchesFilter && args.isMulti && args.value && Array.isArray(args.value)) {
				matchesFilter = !args.value.some(x => {
					return x[args.optionIdentifier] === item[args.optionIdentifier];
				});
			}

			return matchesFilter;
		});

		if (args.groupBy) {
			filterResults = filterGroupedItems(filterResults);
		}

		if (args.isCreatable) {
			filterResults = addCreatableItem(filterResults, args.filterText);
		}

		return filterResults;
	}

	function addCreatableItem(_items, _filterText) {
		if (_filterText.length === 0) return _items;
		const itemToCreate = createItem(_filterText);
		if (_items[0] && _filterText === _items[0][labelIdentifier]) return _items;
		itemToCreate.isCreator = true;
		return [..._items, itemToCreate];
	}

	let { selectedValue = null } = $$props;
	let activeValue;
	let prev_value;
	let prev_filterText;
	let prev_isFocused;
	let prev_isMulti;
	let hoverItemIndex;

	const getItems = debounce(
		async () => {
			$$invalidate(4, isWaiting = true);

			let res = await loadOptions(filterText).catch(err => {
				console.warn('svelte-select loadOptions error :>> ', err);
				dispatch('error', { type: 'loadOptions', details: err });
			});

			if (res && !res.cancelled) {
				if (res) {
					if (res && res.length > 0 && typeof res[0] !== 'object') {
						res = convertStringItemsToObjects(res);
					}

					$$invalidate(81, filteredItems = [...res]);
					dispatch('loaded', { items: filteredItems });
				} else {
					$$invalidate(81, filteredItems = []);
				}

				if (isCreatable) {
					$$invalidate(81, filteredItems = addCreatableItem(filteredItems, filterText));
				}

				$$invalidate(4, isWaiting = false);
				$$invalidate(1, isFocused = true);
				$$invalidate(5, listOpen = true);
			}
		},
		loadOptionsInterval
	);

	function setValue() {
		if (typeof value === 'string') {
			$$invalidate(2, value = { [optionIdentifier]: value, label: value });
		} else if (isMulti && Array.isArray(value) && value.length > 0) {
			$$invalidate(2, value = value.map(item => typeof item === 'string'
			? { value: item, label: item }
			: item));
		}
	}

	let _inputAttributes;

	function assignInputAttributes() {
		$$invalidate(31, _inputAttributes = Object.assign(
			{
				autocapitalize: 'none',
				autocomplete: 'off',
				autocorrect: 'off',
				spellcheck: false,
				tabindex: 0,
				type: 'text',
				'aria-autocomplete': 'list'
			},
			inputAttributes
		));

		if (id) {
			$$invalidate(31, _inputAttributes.id = id, _inputAttributes);
		}

		if (!isSearchable) {
			$$invalidate(31, _inputAttributes.readonly = true, _inputAttributes);
		}
	}

	function filterGroupedItems(_items) {
		const groupValues = [];
		const groups = {};

		_items.forEach(item => {
			const groupValue = groupBy(item);

			if (!groupValues.includes(groupValue)) {
				groupValues.push(groupValue);
				groups[groupValue] = [];

				if (groupValue) {
					groups[groupValue].push(Object.assign(createGroupHeaderItem(groupValue, item), {
						id: groupValue,
						isGroupHeader: true,
						isSelectable: isGroupHeaderSelectable
					}));
				}
			}

			groups[groupValue].push(Object.assign({ isGroupItem: !!groupValue }, item));
		});

		const sortedGroupedItems = [];

		groupFilter(groupValues).forEach(groupValue => {
			sortedGroupedItems.push(...groups[groupValue]);
		});

		return sortedGroupedItems;
	}

	function dispatchSelectedItem() {
		if (isMulti) {
			if (JSON.stringify(value) !== JSON.stringify(prev_value)) {
				if (checkValueForDuplicates()) {
					dispatch('select', value);
				}
			}

			return;
		}

		if (!prev_value || JSON.stringify(value[optionIdentifier]) !== JSON.stringify(prev_value[optionIdentifier])) {
			dispatch('select', value);
		}
	}

	function setupFocus() {
		if (isFocused || listOpen) {
			handleFocus();
		} else {
			if (input) input.blur();
		}
	}

	function setupMulti() {
		if (value) {
			if (Array.isArray(value)) {
				$$invalidate(2, value = [...value]);
			} else {
				$$invalidate(2, value = [value]);
			}
		}
	}

	function setupSingle() {
		if (value) $$invalidate(2, value = null);
	}

	function setupFilterText() {
		if (filterText.length === 0) return;
		$$invalidate(1, isFocused = true);
		$$invalidate(5, listOpen = true);

		if (loadOptions) {
			getItems();
		} else {
			$$invalidate(5, listOpen = true);

			if (isMulti) {
				$$invalidate(30, activeValue = undefined);
			}
		}
	}

	beforeUpdate(async () => {
		$$invalidate(77, prev_value = value);
		$$invalidate(78, prev_filterText = filterText);
		$$invalidate(79, prev_isFocused = isFocused);
		$$invalidate(80, prev_isMulti = isMulti);
	});

	function checkValueForDuplicates() {
		let noDuplicates = true;

		if (value) {
			const ids = [];
			const uniqueValues = [];

			value.forEach(val => {
				if (!ids.includes(val[optionIdentifier])) {
					ids.push(val[optionIdentifier]);
					uniqueValues.push(val);
				} else {
					noDuplicates = false;
				}
			});

			if (!noDuplicates) $$invalidate(2, value = uniqueValues);
		}

		return noDuplicates;
	}

	function findItem(selection) {
		let matchTo = selection
		? selection[optionIdentifier]
		: value[optionIdentifier];

		return items.find(item => item[optionIdentifier] === matchTo);
	}

	function updateValueDisplay(items) {
		if (!items || items.length === 0 || items.some(item => typeof item !== 'object')) return;

		if (!value || (isMulti
		? value.some(selection => !selection || !selection[optionIdentifier])
		: !value[optionIdentifier])) return;

		if (Array.isArray(value)) {
			$$invalidate(2, value = value.map(selection => findItem(selection) || selection));
		} else {
			$$invalidate(2, value = findItem() || value);
		}
	}

	function handleMultiItemClear(event) {
		const { detail } = event;
		const itemToRemove = value[detail ? detail.i : value.length - 1];

		if (value.length === 1) {
			$$invalidate(2, value = undefined);
		} else {
			$$invalidate(2, value = value.filter(item => {
				return item !== itemToRemove;
			}));
		}

		dispatch('clear', itemToRemove);
	}

	function handleKeyDown(e) {
		if (!isFocused) return;

		switch (e.key) {
			case 'ArrowDown':
				e.preventDefault();
				$$invalidate(5, listOpen = true);
				$$invalidate(30, activeValue = undefined);
				break;
			case 'ArrowUp':
				e.preventDefault();
				$$invalidate(5, listOpen = true);
				$$invalidate(30, activeValue = undefined);
				break;
			case 'Tab':
				if (!listOpen) $$invalidate(1, isFocused = false);
				break;
			case 'Backspace':
				if (!isMulti || filterText.length > 0) return;
				if (isMulti && value && value.length > 0) {
					handleMultiItemClear(activeValue !== undefined
					? activeValue
					: value.length - 1);

					if (activeValue === 0 || activeValue === undefined) break;
					$$invalidate(30, activeValue = value.length > activeValue ? activeValue - 1 : undefined);
				}
				break;
			case 'ArrowLeft':
				if (!isMulti || filterText.length > 0) return;
				if (activeValue === undefined) {
					$$invalidate(30, activeValue = value.length - 1);
				} else if (value.length > activeValue && activeValue !== 0) {
					$$invalidate(30, activeValue -= 1);
				}
				break;
			case 'ArrowRight':
				if (!isMulti || filterText.length > 0 || activeValue === undefined) return;
				if (activeValue === value.length - 1) {
					$$invalidate(30, activeValue = undefined);
				} else if (activeValue < value.length - 1) {
					$$invalidate(30, activeValue += 1);
				}
				break;
		}
	}

	function handleFocus() {
		$$invalidate(1, isFocused = true);
		if (input) input.focus();
	}

	function handleWindowEvent(event) {
		if (!container) return;

		const eventTarget = event.path && event.path.length > 0
		? event.path[0]
		: event.target;

		if (container.contains(eventTarget)) return;
		$$invalidate(1, isFocused = false);
		$$invalidate(5, listOpen = false);
		$$invalidate(30, activeValue = undefined);
		if (input) input.blur();
	}

	function handleClick() {
		if (isDisabled) return;
		$$invalidate(1, isFocused = true);
		$$invalidate(5, listOpen = !listOpen);
	}

	function handleClear() {
		$$invalidate(2, value = undefined);
		$$invalidate(5, listOpen = false);
		dispatch('clear', value);
		handleFocus();
	}

	onMount(() => {
		if (isFocused && input) input.focus();
	});

	function itemSelected(event) {
		const { detail } = event;

		if (detail) {
			$$invalidate(3, filterText = '');
			const item = Object.assign({}, detail);

			if (!item.isGroupHeader || item.isSelectable) {
				if (isMulti) {
					$$invalidate(2, value = value ? value.concat([item]) : [item]);
				} else {
					$$invalidate(2, value = item);
				}

				$$invalidate(2, value);

				setTimeout(() => {
					$$invalidate(5, listOpen = false);
					$$invalidate(30, activeValue = undefined);
				});
			}
		}
	}

	function itemCreated(event) {
		const { detail } = event;

		if (isMulti) {
			$$invalidate(2, value = value || []);
			$$invalidate(2, value = [...value, createItem(detail)]);
		} else {
			$$invalidate(2, value = createItem(detail));
		}

		dispatch('itemCreated', detail);
		$$invalidate(3, filterText = '');
		$$invalidate(5, listOpen = false);
		$$invalidate(30, activeValue = undefined);
	}

	function closeList() {
		$$invalidate(3, filterText = '');
		$$invalidate(5, listOpen = false);
	}

	let { ariaValues = values => {
		return `Option ${values}, selected.`;
	} } = $$props;

	let { ariaListOpen = (label, count) => {
		return `You are currently focused on option ${label}. There are ${count} results available.`;
	} } = $$props;

	let { ariaFocused = () => {
		return `Select is focused, type to refine list, press down to open the menu.`;
	} } = $$props;

	function handleAriaSelection() {
		let selected = undefined;

		if (isMulti && value.length > 0) {
			selected = value.map(v => getSelectionLabel(v)).join(', ');
		} else {
			selected = getSelectionLabel(value);
		}

		return ariaValues(selected);
	}

	function handleAriaContent() {
		if (!isFocused || !filteredItems || filteredItems.length === 0) return '';
		let _item = filteredItems[hoverItemIndex];

		if (listOpen && _item) {
			let label = getSelectionLabel(_item);
			let count = filteredItems ? filteredItems.length : 0;
			return ariaListOpen(label, count);
		} else {
			return ariaFocused();
		}
	}

	function input_1_binding($$value) {
		binding_callbacks[$$value ? 'unshift' : 'push'](() => {
			input = $$value;
			$$invalidate(6, input);
		});
	}

	function input_1_input_handler() {
		filterText = this.value;
		$$invalidate(3, filterText);
	}

	function switch_instance_hoverItemIndex_binding(value) {
		hoverItemIndex = value;
		$$invalidate(28, hoverItemIndex);
	}

	function div_binding($$value) {
		binding_callbacks[$$value ? 'unshift' : 'push'](() => {
			container = $$value;
			$$invalidate(0, container);
		});
	}

	$$self.$$set = $$props => {
		if ('id' in $$props) $$invalidate(46, id = $$props.id);
		if ('container' in $$props) $$invalidate(0, container = $$props.container);
		if ('input' in $$props) $$invalidate(6, input = $$props.input);
		if ('isMulti' in $$props) $$invalidate(7, isMulti = $$props.isMulti);
		if ('multiFullItemClearable' in $$props) $$invalidate(8, multiFullItemClearable = $$props.multiFullItemClearable);
		if ('isDisabled' in $$props) $$invalidate(9, isDisabled = $$props.isDisabled);
		if ('isCreatable' in $$props) $$invalidate(47, isCreatable = $$props.isCreatable);
		if ('isFocused' in $$props) $$invalidate(1, isFocused = $$props.isFocused);
		if ('value' in $$props) $$invalidate(2, value = $$props.value);
		if ('filterText' in $$props) $$invalidate(3, filterText = $$props.filterText);
		if ('placeholder' in $$props) $$invalidate(48, placeholder = $$props.placeholder);
		if ('placeholderAlwaysShow' in $$props) $$invalidate(49, placeholderAlwaysShow = $$props.placeholderAlwaysShow);
		if ('items' in $$props) $$invalidate(50, items = $$props.items);
		if ('itemFilter' in $$props) $$invalidate(51, itemFilter = $$props.itemFilter);
		if ('groupBy' in $$props) $$invalidate(52, groupBy = $$props.groupBy);
		if ('groupFilter' in $$props) $$invalidate(53, groupFilter = $$props.groupFilter);
		if ('isGroupHeaderSelectable' in $$props) $$invalidate(54, isGroupHeaderSelectable = $$props.isGroupHeaderSelectable);
		if ('getGroupHeaderLabel' in $$props) $$invalidate(55, getGroupHeaderLabel = $$props.getGroupHeaderLabel);
		if ('labelIdentifier' in $$props) $$invalidate(56, labelIdentifier = $$props.labelIdentifier);
		if ('getOptionLabel' in $$props) $$invalidate(57, getOptionLabel = $$props.getOptionLabel);
		if ('optionIdentifier' in $$props) $$invalidate(58, optionIdentifier = $$props.optionIdentifier);
		if ('loadOptions' in $$props) $$invalidate(59, loadOptions = $$props.loadOptions);
		if ('hasError' in $$props) $$invalidate(10, hasError = $$props.hasError);
		if ('containerStyles' in $$props) $$invalidate(11, containerStyles = $$props.containerStyles);
		if ('getSelectionLabel' in $$props) $$invalidate(12, getSelectionLabel = $$props.getSelectionLabel);
		if ('createGroupHeaderItem' in $$props) $$invalidate(60, createGroupHeaderItem = $$props.createGroupHeaderItem);
		if ('createItem' in $$props) $$invalidate(61, createItem = $$props.createItem);
		if ('isSearchable' in $$props) $$invalidate(13, isSearchable = $$props.isSearchable);
		if ('inputStyles' in $$props) $$invalidate(14, inputStyles = $$props.inputStyles);
		if ('isClearable' in $$props) $$invalidate(15, isClearable = $$props.isClearable);
		if ('isWaiting' in $$props) $$invalidate(4, isWaiting = $$props.isWaiting);
		if ('listPlacement' in $$props) $$invalidate(63, listPlacement = $$props.listPlacement);
		if ('listOpen' in $$props) $$invalidate(5, listOpen = $$props.listOpen);
		if ('isVirtualList' in $$props) $$invalidate(64, isVirtualList = $$props.isVirtualList);
		if ('loadOptionsInterval' in $$props) $$invalidate(65, loadOptionsInterval = $$props.loadOptionsInterval);
		if ('noOptionsMessage' in $$props) $$invalidate(66, noOptionsMessage = $$props.noOptionsMessage);
		if ('hideEmptyState' in $$props) $$invalidate(67, hideEmptyState = $$props.hideEmptyState);
		if ('inputAttributes' in $$props) $$invalidate(16, inputAttributes = $$props.inputAttributes);
		if ('listAutoWidth' in $$props) $$invalidate(68, listAutoWidth = $$props.listAutoWidth);
		if ('itemHeight' in $$props) $$invalidate(69, itemHeight = $$props.itemHeight);
		if ('Icon' in $$props) $$invalidate(17, Icon = $$props.Icon);
		if ('iconProps' in $$props) $$invalidate(18, iconProps = $$props.iconProps);
		if ('showChevron' in $$props) $$invalidate(19, showChevron = $$props.showChevron);
		if ('showIndicator' in $$props) $$invalidate(20, showIndicator = $$props.showIndicator);
		if ('containerClasses' in $$props) $$invalidate(21, containerClasses = $$props.containerClasses);
		if ('indicatorSvg' in $$props) $$invalidate(22, indicatorSvg = $$props.indicatorSvg);
		if ('listOffset' in $$props) $$invalidate(70, listOffset = $$props.listOffset);
		if ('ClearIcon' in $$props) $$invalidate(23, ClearIcon = $$props.ClearIcon);
		if ('Item' in $$props) $$invalidate(71, Item = $$props.Item);
		if ('List' in $$props) $$invalidate(24, List = $$props.List);
		if ('Selection' in $$props) $$invalidate(25, Selection = $$props.Selection);
		if ('MultiSelection' in $$props) $$invalidate(26, MultiSelection = $$props.MultiSelection);
		if ('VirtualList' in $$props) $$invalidate(72, VirtualList = $$props.VirtualList);
		if ('selectedValue' in $$props) $$invalidate(73, selectedValue = $$props.selectedValue);
		if ('ariaValues' in $$props) $$invalidate(74, ariaValues = $$props.ariaValues);
		if ('ariaListOpen' in $$props) $$invalidate(75, ariaListOpen = $$props.ariaListOpen);
		if ('ariaFocused' in $$props) $$invalidate(76, ariaFocused = $$props.ariaFocused);
	};

	$$self.$$.update = () => {
		if ($$self.$$.dirty[0] & /*filterText, value, isMulti*/ 140 | $$self.$$.dirty[1] & /*loadOptions, items, optionIdentifier, groupBy, isCreatable*/ 405340160) {
			$: $$invalidate(81, filteredItems = filterMethod({
				loadOptions,
				filterText,
				items,
				value,
				isMulti,
				optionIdentifier,
				groupBy,
				isCreatable
			}));
		}

		if ($$self.$$.dirty[2] & /*selectedValue*/ 2048) {
			$: {
				if (selectedValue) console.warn('selectedValue is no longer used. Please use value instead.');
			}
		}

		if ($$self.$$.dirty[1] & /*items*/ 524288) {
			$: updateValueDisplay(items);
		}

		if ($$self.$$.dirty[0] & /*value*/ 4) {
			$: {
				if (value) setValue();
			}
		}

		if ($$self.$$.dirty[0] & /*inputAttributes, isSearchable*/ 73728) {
			$: {
				if (inputAttributes || !isSearchable) assignInputAttributes();
			}
		}

		if ($$self.$$.dirty[0] & /*isMulti*/ 128 | $$self.$$.dirty[2] & /*prev_isMulti*/ 262144) {
			$: {
				if (isMulti) {
					setupMulti();
				}

				if (prev_isMulti && !isMulti) {
					setupSingle();
				}
			}
		}

		if ($$self.$$.dirty[0] & /*isMulti, value*/ 132) {
			$: {
				if (isMulti && value && value.length > 1) {
					checkValueForDuplicates();
				}
			}
		}

		if ($$self.$$.dirty[0] & /*value*/ 4) {
			$: {
				if (value) dispatchSelectedItem();
			}
		}

		if ($$self.$$.dirty[0] & /*value, isMulti*/ 132 | $$self.$$.dirty[2] & /*prev_value*/ 32768) {
			$: {
				if (!value && isMulti && prev_value) {
					dispatch('select', value);
				}
			}
		}

		if ($$self.$$.dirty[0] & /*isFocused*/ 2 | $$self.$$.dirty[2] & /*prev_isFocused*/ 131072) {
			$: {
				if (isFocused !== prev_isFocused) {
					setupFocus();
				}
			}
		}

		if ($$self.$$.dirty[0] & /*filterText*/ 8 | $$self.$$.dirty[2] & /*prev_filterText*/ 65536) {
			$: {
				if (filterText !== prev_filterText) {
					setupFilterText();
				}
			}
		}

		if ($$self.$$.dirty[0] & /*value, filterText*/ 12) {
			$: $$invalidate(29, showSelectedItem = value && filterText.length === 0);
		}

		if ($$self.$$.dirty[0] & /*showSelectedItem, isClearable, isDisabled, isWaiting*/ 536904208) {
			$: $$invalidate(37, showClearIcon = showSelectedItem && isClearable && !isDisabled && !isWaiting);
		}

		if ($$self.$$.dirty[0] & /*isMulti, value*/ 132 | $$self.$$.dirty[1] & /*placeholderAlwaysShow, placeholder*/ 393216) {
			$: $$invalidate(36, placeholderText = placeholderAlwaysShow && isMulti
			? placeholder
			: value ? '' : placeholder);
		}

		if ($$self.$$.dirty[0] & /*isMulti, value*/ 132) {
			$: $$invalidate(35, showMultiSelect = isMulti && value && value.length > 0);
		}

		if ($$self.$$.dirty[0] & /*filterText, value, isMulti, container*/ 141 | $$self.$$.dirty[1] & /*optionIdentifier, getGroupHeaderLabel, getOptionLabel*/ 218103808 | $$self.$$.dirty[2] & /*Item, noOptionsMessage, hideEmptyState, isVirtualList, VirtualList, filteredItems, itemHeight, listPlacement, listAutoWidth, listOffset*/ 526326) {
			$: $$invalidate(34, listProps = {
				Item,
				filterText,
				optionIdentifier,
				noOptionsMessage,
				hideEmptyState,
				isVirtualList,
				VirtualList,
				value,
				isMulti,
				getGroupHeaderLabel,
				items: filteredItems,
				itemHeight,
				getOptionLabel,
				listPlacement,
				parent: container,
				listAutoWidth,
				listOffset
			});
		}

		if ($$self.$$.dirty[0] & /*value, isMulti*/ 132) {
			$: $$invalidate(33, ariaSelection = value ? handleAriaSelection(isMulti) : '');
		}

		if ($$self.$$.dirty[0] & /*hoverItemIndex, isFocused, listOpen*/ 268435490 | $$self.$$.dirty[2] & /*filteredItems*/ 524288) {
			$: $$invalidate(32, ariaContext = handleAriaContent(filteredItems, hoverItemIndex, isFocused, listOpen));
		}
	};

	return [
		container,
		isFocused,
		value,
		filterText,
		isWaiting,
		listOpen,
		input,
		isMulti,
		multiFullItemClearable,
		isDisabled,
		hasError,
		containerStyles,
		getSelectionLabel,
		isSearchable,
		inputStyles,
		isClearable,
		inputAttributes,
		Icon,
		iconProps,
		showChevron,
		showIndicator,
		containerClasses,
		indicatorSvg,
		ClearIcon,
		List,
		Selection,
		MultiSelection,
		handleClear,
		hoverItemIndex,
		showSelectedItem,
		activeValue,
		_inputAttributes,
		ariaContext,
		ariaSelection,
		listProps,
		showMultiSelect,
		placeholderText,
		showClearIcon,
		handleMultiItemClear,
		handleKeyDown,
		handleFocus,
		handleWindowEvent,
		handleClick,
		itemSelected,
		itemCreated,
		closeList,
		id,
		isCreatable,
		placeholder,
		placeholderAlwaysShow,
		items,
		itemFilter,
		groupBy,
		groupFilter,
		isGroupHeaderSelectable,
		getGroupHeaderLabel,
		labelIdentifier,
		getOptionLabel,
		optionIdentifier,
		loadOptions,
		createGroupHeaderItem,
		createItem,
		getFilteredItems,
		listPlacement,
		isVirtualList,
		loadOptionsInterval,
		noOptionsMessage,
		hideEmptyState,
		listAutoWidth,
		itemHeight,
		listOffset,
		Item,
		VirtualList,
		selectedValue,
		ariaValues,
		ariaListOpen,
		ariaFocused,
		prev_value,
		prev_filterText,
		prev_isFocused,
		prev_isMulti,
		filteredItems,
		input_1_binding,
		input_1_input_handler,
		switch_instance_hoverItemIndex_binding,
		div_binding
	];
}

class Select extends SvelteComponent {
	constructor(options) {
		super();

		init(
			this,
			options,
			Select_svelte_instance,
			Select_svelte_create_fragment,
			safe_not_equal,
			{
				id: 46,
				container: 0,
				input: 6,
				isMulti: 7,
				multiFullItemClearable: 8,
				isDisabled: 9,
				isCreatable: 47,
				isFocused: 1,
				value: 2,
				filterText: 3,
				placeholder: 48,
				placeholderAlwaysShow: 49,
				items: 50,
				itemFilter: 51,
				groupBy: 52,
				groupFilter: 53,
				isGroupHeaderSelectable: 54,
				getGroupHeaderLabel: 55,
				labelIdentifier: 56,
				getOptionLabel: 57,
				optionIdentifier: 58,
				loadOptions: 59,
				hasError: 10,
				containerStyles: 11,
				getSelectionLabel: 12,
				createGroupHeaderItem: 60,
				createItem: 61,
				getFilteredItems: 62,
				isSearchable: 13,
				inputStyles: 14,
				isClearable: 15,
				isWaiting: 4,
				listPlacement: 63,
				listOpen: 5,
				isVirtualList: 64,
				loadOptionsInterval: 65,
				noOptionsMessage: 66,
				hideEmptyState: 67,
				inputAttributes: 16,
				listAutoWidth: 68,
				itemHeight: 69,
				Icon: 17,
				iconProps: 18,
				showChevron: 19,
				showIndicator: 20,
				containerClasses: 21,
				indicatorSvg: 22,
				listOffset: 70,
				ClearIcon: 23,
				Item: 71,
				List: 24,
				Selection: 25,
				MultiSelection: 26,
				VirtualList: 72,
				selectedValue: 73,
				handleClear: 27,
				ariaValues: 74,
				ariaListOpen: 75,
				ariaFocused: 76
			},
			Select_svelte_add_css,
			[-1, -1, -1, -1]
		);
	}

	get getFilteredItems() {
		return this.$$.ctx[62];
	}

	get handleClear() {
		return this.$$.ctx[27];
	}
}

/* harmony default export */ const Select_svelte = (Select);
;// ../node_modules/svelte-select/src/index.js


;// ../canvas_viz/dist/elements/MultiSelect.svelte
/* media/satish/Development/workspace/projects/exploratory_data_analysis/deepview/src/deepview_canvas/canvas_viz/dist/elements/MultiSelect.svelte generated by Svelte v3.59.2 */




function MultiSelect_svelte_create_fragment(ctx) {
	let select;
	let current;

	select = new Select_svelte({
			props: {
				value: /*value*/ ctx[2],
				placeholder: /*placeholder*/ ctx[0],
				items: /*items*/ ctx[1],
				isMulti: true
			}
		});

	select.$on("select", /*select_handler*/ ctx[3]);
	select.$on("clear", /*clear_handler*/ ctx[4]);

	return {
		c() {
			create_component(select.$$.fragment);
		},
		m(target, anchor) {
			mount_component(select, target, anchor);
			current = true;
		},
		p(ctx, [dirty]) {
			const select_changes = {};
			if (dirty & /*value*/ 4) select_changes.value = /*value*/ ctx[2];
			if (dirty & /*placeholder*/ 1) select_changes.placeholder = /*placeholder*/ ctx[0];
			if (dirty & /*items*/ 2) select_changes.items = /*items*/ ctx[1];
			select.$set(select_changes);
		},
		i(local) {
			if (current) return;
			transition_in(select.$$.fragment, local);
			current = true;
		},
		o(local) {
			transition_out(select.$$.fragment, local);
			current = false;
		},
		d(detaching) {
			destroy_component(select, detaching);
		}
	};
}

function MultiSelect_svelte_instance($$self, $$props, $$invalidate) {
	let { placeholder } = $$props;
	let { items } = $$props;
	let { value } = $$props;

	function select_handler(event) {
		bubble.call(this, $$self, event);
	}

	function clear_handler(event) {
		bubble.call(this, $$self, event);
	}

	$$self.$$set = $$props => {
		if ('placeholder' in $$props) $$invalidate(0, placeholder = $$props.placeholder);
		if ('items' in $$props) $$invalidate(1, items = $$props.items);
		if ('value' in $$props) $$invalidate(2, value = $$props.value);
	};

	return [placeholder, items, value, select_handler, clear_handler];
}

class MultiSelect extends SvelteComponent {
	constructor(options) {
		super();
		init(this, options, MultiSelect_svelte_instance, MultiSelect_svelte_create_fragment, safe_not_equal, { placeholder: 0, items: 1, value: 2 });
	}
}

/* harmony default export */ const MultiSelect_svelte = (MultiSelect);
;// ./src/toolbar/Grouping.svelte
/* src/toolbar/Grouping.svelte generated by Svelte v3.59.2 */









function Grouping_svelte_get_each_context(ctx, list, i) {
	const child_ctx = ctx.slice();
	child_ctx[18] = list[i];
	child_ctx[20] = i;
	return child_ctx;
}

// (70:4) {#if $groupColumns.length !== 0}
function Grouping_svelte_create_if_block_2(ctx) {
	let div;
	let iconbutton;
	let div_transition;
	let current;

	iconbutton = new IconButton_svelte({
			props: {
				$$slots: {
					text: [Grouping_svelte_create_text_slot_1],
					icon: [Grouping_svelte_create_icon_slot_1]
				},
				$$scope: { ctx }
			}
		});

	iconbutton.$on("click", /*click_handler*/ ctx[14]);

	return {
		c() {
			div = internal_element("div");
			create_component(iconbutton.$$.fragment);
			attr(div, "class", "pr-2");
		},
		m(target, anchor) {
			insert(target, div, anchor);
			mount_component(iconbutton, div, null);
			current = true;
		},
		p(ctx, dirty) {
			const iconbutton_changes = {};

			if (dirty & /*$$scope*/ 2097152) {
				iconbutton_changes.$$scope = { dirty, ctx };
			}

			iconbutton.$set(iconbutton_changes);
		},
		i(local) {
			if (current) return;
			transition_in(iconbutton.$$.fragment, local);

			add_render_callback(() => {
				if (!current) return;
				if (!div_transition) div_transition = create_bidirectional_transition(div, fade, {}, true);
				div_transition.run(1);
			});

			current = true;
		},
		o(local) {
			transition_out(iconbutton.$$.fragment, local);
			if (!div_transition) div_transition = create_bidirectional_transition(div, fade, {}, false);
			div_transition.run(0);
			current = false;
		},
		d(detaching) {
			if (detaching) detach(div);
			destroy_component(iconbutton);
			if (detaching && div_transition) div_transition.end();
		}
	};
}

// (73:10) 
function Grouping_svelte_create_icon_slot_1(ctx) {
	let fa;
	let current;
	fa = new fa_svelte({ props: { icon: faTimes/* faTimes */.GR, slot: "icon" } });

	return {
		c() {
			create_component(fa.$$.fragment);
		},
		m(target, anchor) {
			mount_component(fa, target, anchor);
			current = true;
		},
		p: noop,
		i(local) {
			if (current) return;
			transition_in(fa.$$.fragment, local);
			current = true;
		},
		o(local) {
			transition_out(fa.$$.fragment, local);
			current = false;
		},
		d(detaching) {
			destroy_component(fa, detaching);
		}
	};
}

// (74:10) 
function Grouping_svelte_create_text_slot_1(ctx) {
	let span;

	return {
		c() {
			span = internal_element("span");
			span.textContent = "Clear";
			attr(span, "slot", "text");
		},
		m(target, anchor) {
			insert(target, span, anchor);
		},
		p: noop,
		d(detaching) {
			if (detaching) detach(span);
		}
	};
}

// (83:6) 
function Grouping_svelte_create_icon_slot(ctx) {
	let fa;
	let current;

	fa = new fa_svelte({
			props: { icon: faLayerGroup/* faLayerGroup */.qI, slot: "icon" }
		});

	return {
		c() {
			create_component(fa.$$.fragment);
		},
		m(target, anchor) {
			mount_component(fa, target, anchor);
			current = true;
		},
		p: noop,
		i(local) {
			if (current) return;
			transition_in(fa.$$.fragment, local);
			current = true;
		},
		o(local) {
			transition_out(fa.$$.fragment, local);
			current = false;
		},
		d(detaching) {
			destroy_component(fa, detaching);
		}
	};
}

// (84:6) 
function Grouping_svelte_create_text_slot(ctx) {
	let span;

	return {
		c() {
			span = internal_element("span");
			span.textContent = "Group";
			attr(span, "slot", "text");
		},
		m(target, anchor) {
			insert(target, span, anchor);
		},
		p: noop,
		d(detaching) {
			if (detaching) detach(span);
		}
	};
}

// (87:2) {#if $groupNames.length > 0}
function Grouping_svelte_create_if_block(ctx) {
	let div;
	let current;
	let each_value = /*$groupNames*/ ctx[8];
	let each_blocks = [];

	for (let i = 0; i < each_value.length; i += 1) {
		each_blocks[i] = Grouping_svelte_create_each_block(Grouping_svelte_get_each_context(ctx, each_value, i));
	}

	const out = i => transition_out(each_blocks[i], 1, 1, () => {
		each_blocks[i] = null;
	});

	return {
		c() {
			div = internal_element("div");

			for (let i = 0; i < each_blocks.length; i += 1) {
				each_blocks[i].c();
			}

			attr(div, "class", "flex flex-row flex-wrap overflow-auto mt-2");
		},
		m(target, anchor) {
			insert(target, div, anchor);

			for (let i = 0; i < each_blocks.length; i += 1) {
				if (each_blocks[i]) {
					each_blocks[i].m(div, null);
				}
			}

			current = true;
		},
		p(ctx, dirty) {
			if (dirty & /*$groupedTables, $groupNames, handleRemove*/ 2816) {
				each_value = /*$groupNames*/ ctx[8];
				let i;

				for (i = 0; i < each_value.length; i += 1) {
					const child_ctx = Grouping_svelte_get_each_context(ctx, each_value, i);

					if (each_blocks[i]) {
						each_blocks[i].p(child_ctx, dirty);
						transition_in(each_blocks[i], 1);
					} else {
						each_blocks[i] = Grouping_svelte_create_each_block(child_ctx);
						each_blocks[i].c();
						transition_in(each_blocks[i], 1);
						each_blocks[i].m(div, null);
					}
				}

				group_outros();

				for (i = each_value.length; i < each_blocks.length; i += 1) {
					out(i);
				}

				check_outros();
			}
		},
		i(local) {
			if (current) return;

			for (let i = 0; i < each_value.length; i += 1) {
				transition_in(each_blocks[i]);
			}

			current = true;
		},
		o(local) {
			each_blocks = each_blocks.filter(Boolean);

			for (let i = 0; i < each_blocks.length; i += 1) {
				transition_out(each_blocks[i]);
			}

			current = false;
		},
		d(detaching) {
			if (detaching) detach(div);
			destroy_each(each_blocks, detaching);
		}
	};
}

// (90:8) {#if $groupedTables[i].size > 0}
function Grouping_svelte_create_if_block_1(ctx) {
	let groupchip;
	let current;

	groupchip = new GroupChip_svelte({
			props: {
				groupSize: /*$groupedTables*/ ctx[9][/*i*/ ctx[20]].size,
				values: /*col*/ ctx[18]
			}
		});

	groupchip.$on("remove", /*handleRemove*/ ctx[11]);

	return {
		c() {
			create_component(groupchip.$$.fragment);
		},
		m(target, anchor) {
			mount_component(groupchip, target, anchor);
			current = true;
		},
		p(ctx, dirty) {
			const groupchip_changes = {};
			if (dirty & /*$groupedTables*/ 512) groupchip_changes.groupSize = /*$groupedTables*/ ctx[9][/*i*/ ctx[20]].size;
			if (dirty & /*$groupNames*/ 256) groupchip_changes.values = /*col*/ ctx[18];
			groupchip.$set(groupchip_changes);
		},
		i(local) {
			if (current) return;
			transition_in(groupchip.$$.fragment, local);
			current = true;
		},
		o(local) {
			transition_out(groupchip.$$.fragment, local);
			current = false;
		},
		d(detaching) {
			destroy_component(groupchip, detaching);
		}
	};
}

// (89:6) {#each $groupNames as col, i}
function Grouping_svelte_create_each_block(ctx) {
	let if_block_anchor;
	let current;
	let if_block = /*$groupedTables*/ ctx[9][/*i*/ ctx[20]].size > 0 && Grouping_svelte_create_if_block_1(ctx);

	return {
		c() {
			if (if_block) if_block.c();
			if_block_anchor = empty();
		},
		m(target, anchor) {
			if (if_block) if_block.m(target, anchor);
			insert(target, if_block_anchor, anchor);
			current = true;
		},
		p(ctx, dirty) {
			if (/*$groupedTables*/ ctx[9][/*i*/ ctx[20]].size > 0) {
				if (if_block) {
					if_block.p(ctx, dirty);

					if (dirty & /*$groupedTables*/ 512) {
						transition_in(if_block, 1);
					}
				} else {
					if_block = Grouping_svelte_create_if_block_1(ctx);
					if_block.c();
					transition_in(if_block, 1);
					if_block.m(if_block_anchor.parentNode, if_block_anchor);
				}
			} else if (if_block) {
				group_outros();

				transition_out(if_block, 1, 1, () => {
					if_block = null;
				});

				check_outros();
			}
		},
		i(local) {
			if (current) return;
			transition_in(if_block);
			current = true;
		},
		o(local) {
			transition_out(if_block);
			current = false;
		},
		d(detaching) {
			if (if_block) if_block.d(detaching);
			if (detaching) detach(if_block_anchor);
		}
	};
}

function Grouping_svelte_create_fragment(ctx) {
	let div3;
	let div0;
	let subheading;
	let t0;
	let div1;
	let multiselect;
	let t1;
	let div2;
	let t2;
	let iconbutton;
	let t3;
	let current;
	subheading = new SubHeading_svelte({ props: { heading: 'Group' } });

	multiselect = new MultiSelect_svelte({
			props: {
				placeholder: "Select columns to group by",
				items: /*items*/ ctx[6],
				value: /*value*/ ctx[5]
			}
		});

	multiselect.$on("select", /*select_handler*/ ctx[12]);
	multiselect.$on("clear", /*clear_handler*/ ctx[13]);
	let if_block0 = /*$groupColumns*/ ctx[7].length !== 0 && Grouping_svelte_create_if_block_2(ctx);

	iconbutton = new IconButton_svelte({
			props: {
				$$slots: {
					text: [Grouping_svelte_create_text_slot],
					icon: [Grouping_svelte_create_icon_slot]
				},
				$$scope: { ctx }
			}
		});

	iconbutton.$on("click", /*click_handler_1*/ ctx[15]);
	let if_block1 = /*$groupNames*/ ctx[8].length > 0 && Grouping_svelte_create_if_block(ctx);

	return {
		c() {
			div3 = internal_element("div");
			div0 = internal_element("div");
			create_component(subheading.$$.fragment);
			t0 = space();
			div1 = internal_element("div");
			create_component(multiselect.$$.fragment);
			t1 = space();
			div2 = internal_element("div");
			if (if_block0) if_block0.c();
			t2 = space();
			create_component(iconbutton.$$.fragment);
			t3 = space();
			if (if_block1) if_block1.c();
			attr(div1, "class", "mt-1 toolbar-select");
			attr(div2, "class", "pt-2 flex justify-end");
			attr(div3, "class", "flex flex-col p-2 flex-grow");
		},
		m(target, anchor) {
			insert(target, div3, anchor);
			append(div3, div0);
			mount_component(subheading, div0, null);
			append(div3, t0);
			append(div3, div1);
			mount_component(multiselect, div1, null);
			append(div3, t1);
			append(div3, div2);
			if (if_block0) if_block0.m(div2, null);
			append(div2, t2);
			mount_component(iconbutton, div2, null);
			append(div3, t3);
			if (if_block1) if_block1.m(div3, null);
			current = true;
		},
		p(ctx, [dirty]) {
			const multiselect_changes = {};
			if (dirty & /*items*/ 64) multiselect_changes.items = /*items*/ ctx[6];
			if (dirty & /*value*/ 32) multiselect_changes.value = /*value*/ ctx[5];
			multiselect.$set(multiselect_changes);

			if (/*$groupColumns*/ ctx[7].length !== 0) {
				if (if_block0) {
					if_block0.p(ctx, dirty);

					if (dirty & /*$groupColumns*/ 128) {
						transition_in(if_block0, 1);
					}
				} else {
					if_block0 = Grouping_svelte_create_if_block_2(ctx);
					if_block0.c();
					transition_in(if_block0, 1);
					if_block0.m(div2, t2);
				}
			} else if (if_block0) {
				group_outros();

				transition_out(if_block0, 1, 1, () => {
					if_block0 = null;
				});

				check_outros();
			}

			const iconbutton_changes = {};

			if (dirty & /*$$scope*/ 2097152) {
				iconbutton_changes.$$scope = { dirty, ctx };
			}

			iconbutton.$set(iconbutton_changes);

			if (/*$groupNames*/ ctx[8].length > 0) {
				if (if_block1) {
					if_block1.p(ctx, dirty);

					if (dirty & /*$groupNames*/ 256) {
						transition_in(if_block1, 1);
					}
				} else {
					if_block1 = Grouping_svelte_create_if_block(ctx);
					if_block1.c();
					transition_in(if_block1, 1);
					if_block1.m(div3, null);
				}
			} else if (if_block1) {
				group_outros();

				transition_out(if_block1, 1, 1, () => {
					if_block1 = null;
				});

				check_outros();
			}
		},
		i(local) {
			if (current) return;
			transition_in(subheading.$$.fragment, local);
			transition_in(multiselect.$$.fragment, local);
			transition_in(if_block0);
			transition_in(iconbutton.$$.fragment, local);
			transition_in(if_block1);
			current = true;
		},
		o(local) {
			transition_out(subheading.$$.fragment, local);
			transition_out(multiselect.$$.fragment, local);
			transition_out(if_block0);
			transition_out(iconbutton.$$.fragment, local);
			transition_out(if_block1);
			current = false;
		},
		d(detaching) {
			if (detaching) detach(div3);
			destroy_component(subheading);
			destroy_component(multiselect);
			if (if_block0) if_block0.d();
			destroy_component(iconbutton);
			if (if_block1) if_block1.d();
		}
	};
}

function Grouping_svelte_instance($$self, $$props, $$invalidate) {
	let $filter,
		$$unsubscribe_filter = noop,
		$$subscribe_filter = () => ($$unsubscribe_filter(), $$unsubscribe_filter = subscribe(filter, $$value => $$invalidate(16, $filter = $$value)), filter);

	let $groupColumns,
		$$unsubscribe_groupColumns = noop,
		$$subscribe_groupColumns = () => ($$unsubscribe_groupColumns(), $$unsubscribe_groupColumns = subscribe(groupColumns, $$value => $$invalidate(7, $groupColumns = $$value)), groupColumns);

	let $table,
		$$unsubscribe_table = noop,
		$$subscribe_table = () => ($$unsubscribe_table(), $$unsubscribe_table = subscribe(table, $$value => $$invalidate(17, $table = $$value)), table);

	let $groupNames,
		$$unsubscribe_groupNames = noop,
		$$subscribe_groupNames = () => ($$unsubscribe_groupNames(), $$unsubscribe_groupNames = subscribe(groupNames, $$value => $$invalidate(8, $groupNames = $$value)), groupNames);

	let $groupedTables,
		$$unsubscribe_groupedTables = noop,
		$$subscribe_groupedTables = () => ($$unsubscribe_groupedTables(), $$unsubscribe_groupedTables = subscribe(groupedTables, $$value => $$invalidate(9, $groupedTables = $$value)), groupedTables);

	$$self.$$.on_destroy.push(() => $$unsubscribe_filter());
	$$self.$$.on_destroy.push(() => $$unsubscribe_groupColumns());
	$$self.$$.on_destroy.push(() => $$unsubscribe_table());
	$$self.$$.on_destroy.push(() => $$unsubscribe_groupNames());
	$$self.$$.on_destroy.push(() => $$unsubscribe_groupedTables());
	let { table } = $$props;
	$$subscribe_table();
	let { groupColumns } = $$props;
	$$subscribe_groupColumns();
	let { groupNames } = $$props;
	$$subscribe_groupNames();
	let { groupedTables } = $$props;
	$$subscribe_groupedTables();
	let { filter } = $$props;
	$$subscribe_filter();
	let value = $groupColumns;
	let items = getBinnableStringColumns($table);
	table.subscribe(table => $$invalidate(6, items = getBinnableStringColumns(table)));

	function handleClear(event) {
		if (event) {
			groupColumns.update(cols => cols.filter(d => d !== event.detail.value));
		} else {
			groupColumns.set([]);
			$$invalidate(5, value = []);
		}
	}

	function handleRemove(event) {
		let addedFilter = '(';

		for (const [i, value] of event.detail.values.entries()) {
			if (i !== 0) {
				addedFilter = addedFilter + ' || ';
			}

			addedFilter = addedFilter + `d.${$groupColumns[i]} != '${value}'`;
		}

		addedFilter = addedFilter + ')';

		if ($filter === '') {
			filter.set(addedFilter);
		} else {
			filter.set($filter + ' && ' + addedFilter);
		}
	}

	const select_handler = ev => $$invalidate(5, value = ev.detail);
	const clear_handler = () => handleClear();
	const click_handler = () => handleClear();

	const click_handler_1 = () => {
		groupColumns.set(value.map(d => d.value));
	};

	$$self.$$set = $$props => {
		if ('table' in $$props) $$subscribe_table($$invalidate(0, table = $$props.table));
		if ('groupColumns' in $$props) $$subscribe_groupColumns($$invalidate(1, groupColumns = $$props.groupColumns));
		if ('groupNames' in $$props) $$subscribe_groupNames($$invalidate(2, groupNames = $$props.groupNames));
		if ('groupedTables' in $$props) $$subscribe_groupedTables($$invalidate(3, groupedTables = $$props.groupedTables));
		if ('filter' in $$props) $$subscribe_filter($$invalidate(4, filter = $$props.filter));
	};

	return [
		table,
		groupColumns,
		groupNames,
		groupedTables,
		filter,
		value,
		items,
		$groupColumns,
		$groupNames,
		$groupedTables,
		handleClear,
		handleRemove,
		select_handler,
		clear_handler,
		click_handler,
		click_handler_1
	];
}

class Grouping extends SvelteComponent {
	constructor(options) {
		super();

		init(this, options, Grouping_svelte_instance, Grouping_svelte_create_fragment, safe_not_equal, {
			table: 0,
			groupColumns: 1,
			groupNames: 2,
			groupedTables: 3,
			filter: 4
		});
	}
}

/* harmony default export */ const Grouping_svelte = (Grouping);
;// ./src/toolbar/Toolbar.svelte
/* src/toolbar/Toolbar.svelte generated by Svelte v3.59.2 */







function Toolbar_svelte_add_css(target) {
	append_styles(target, "svelte-18opq74", "*,::before,::after{box-sizing:border-box}html{tab-size:4}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}body{font-family:system-ui,\n\t\t-apple-system, /* Firefox supports this but not yet `system-ui` */\n\t\t'Segoe UI',\n\t\tRoboto,\n\t\tHelvetica,\n\t\tArial,\n\t\tsans-serif,\n\t\t'Apple Color Emoji',\n\t\t'Segoe UI Emoji'}hr{height:0;color:inherit}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,\n\t\tSFMono-Regular,\n\t\tConsolas,\n\t\t'Liberation Mono',\n\t\tMenlo,\n\t\tmonospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}table{text-indent:0;border-color:inherit}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}button,[type='button'],[type='reset'],[type='submit']{-webkit-appearance:button}::-moz-focus-inner{border-style:none;padding:0}:-moz-focusring{outline:1px dotted ButtonText}:-moz-ui-invalid{box-shadow:none}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type='search']{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}button{background-color:transparent;background-image:none}fieldset{margin:0;padding:0}ol,ul{list-style:none;margin:0;padding:0}html{font-family:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";line-height:1.5}body{font-family:inherit;line-height:inherit}*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:currentColor}hr{border-top-width:1px}img{border-style:solid}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#a1a1aa}button,[role=\"button\"]{cursor:pointer}:-moz-focusring{outline:auto}table{border-collapse:collapse}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}button,input,optgroup,select,textarea{padding:0;line-height:inherit;color:inherit}pre,code,kbd,samp{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,::before,::after{border-color:currentColor}[type='text'],[type='email'],[type='url'],[type='password'],[type='number'],[type='date'],[type='datetime-local'],[type='month'],[type='search'],[type='tel'],[type='time'],[type='week'],[multiple],textarea,select{appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0px;padding-top:0.5rem;padding-right:0.75rem;padding-bottom:0.5rem;padding-left:0.75rem;font-size:1rem;line-height:1.5rem;--tw-shadow:0 0 #0000}[type='text']:focus,[type='email']:focus,[type='url']:focus,[type='password']:focus,[type='number']:focus,[type='date']:focus,[type='datetime-local']:focus,[type='month']:focus,[type='search']:focus,[type='tel']:focus,[type='time']:focus,[type='week']:focus,[multiple]:focus,textarea:focus,select:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);border-color:#2563eb}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}select{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e\");background-position:right 0.5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;color-adjust:exact}[multiple]{background-image:initial;background-position:initial;background-repeat:unset;background-size:initial;padding-right:0.75rem;-webkit-print-color-adjust:unset;color-adjust:unset}[type='checkbox'],[type='radio']{appearance:none;padding:0;-webkit-print-color-adjust:exact;color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#2563eb;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow:0 0 #0000}[type='checkbox']{border-radius:0px}[type='radio']{border-radius:100%}[type='checkbox']:focus,[type='radio']:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}[type='checkbox']:checked,[type='radio']:checked{border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat}[type='checkbox']:checked{background-image:url(\"data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e\")}[type='radio']:checked{background-image:url(\"data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e\")}[type='checkbox']:checked:hover,[type='checkbox']:checked:focus,[type='radio']:checked:hover,[type='radio']:checked:focus{border-color:transparent;background-color:currentColor}[type='checkbox']:indeterminate{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e\");border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat}[type='checkbox']:indeterminate:hover,[type='checkbox']:indeterminate:focus{border-color:transparent;background-color:currentColor}[type='file']{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type='file']:focus{outline:1px auto -webkit-focus-ring-color}.container{width:100%}@media(min-width: 640px){.container{max-width:640px}}@media(min-width: 768px){.container{max-width:768px}}@media(min-width: 1024px){.container{max-width:1024px}}@media(min-width: 1280px){.container{max-width:1280px}}@media(min-width: 1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.focus-within\\:sr-only:focus-within{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.focus-within\\:not-sr-only:focus-within{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.focus\\:sr-only:focus{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.focus\\:not-sr-only:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0px;right:0px;bottom:0px;left:0px}.inset-1{top:0.25rem;right:0.25rem;bottom:0.25rem;left:0.25rem}.inset-2{top:0.5rem;right:0.5rem;bottom:0.5rem;left:0.5rem}.inset-3{top:0.75rem;right:0.75rem;bottom:0.75rem;left:0.75rem}.inset-4{top:1rem;right:1rem;bottom:1rem;left:1rem}.inset-5{top:1.25rem;right:1.25rem;bottom:1.25rem;left:1.25rem}.inset-6{top:1.5rem;right:1.5rem;bottom:1.5rem;left:1.5rem}.inset-7{top:1.75rem;right:1.75rem;bottom:1.75rem;left:1.75rem}.inset-8{top:2rem;right:2rem;bottom:2rem;left:2rem}.inset-9{top:2.25rem;right:2.25rem;bottom:2.25rem;left:2.25rem}.inset-10{top:2.5rem;right:2.5rem;bottom:2.5rem;left:2.5rem}.inset-11{top:2.75rem;right:2.75rem;bottom:2.75rem;left:2.75rem}.inset-12{top:3rem;right:3rem;bottom:3rem;left:3rem}.inset-14{top:3.5rem;right:3.5rem;bottom:3.5rem;left:3.5rem}.inset-16{top:4rem;right:4rem;bottom:4rem;left:4rem}.inset-20{top:5rem;right:5rem;bottom:5rem;left:5rem}.inset-24{top:6rem;right:6rem;bottom:6rem;left:6rem}.inset-28{top:7rem;right:7rem;bottom:7rem;left:7rem}.inset-32{top:8rem;right:8rem;bottom:8rem;left:8rem}.inset-36{top:9rem;right:9rem;bottom:9rem;left:9rem}.inset-40{top:10rem;right:10rem;bottom:10rem;left:10rem}.inset-44{top:11rem;right:11rem;bottom:11rem;left:11rem}.inset-48{top:12rem;right:12rem;bottom:12rem;left:12rem}.inset-52{top:13rem;right:13rem;bottom:13rem;left:13rem}.inset-56{top:14rem;right:14rem;bottom:14rem;left:14rem}.inset-60{top:15rem;right:15rem;bottom:15rem;left:15rem}.inset-64{top:16rem;right:16rem;bottom:16rem;left:16rem}.inset-72{top:18rem;right:18rem;bottom:18rem;left:18rem}.inset-80{top:20rem;right:20rem;bottom:20rem;left:20rem}.inset-96{top:24rem;right:24rem;bottom:24rem;left:24rem}.inset-auto{top:auto;right:auto;bottom:auto;left:auto}.inset-px{top:1px;right:1px;bottom:1px;left:1px}.inset-0\\.5{top:0.125rem;right:0.125rem;bottom:0.125rem;left:0.125rem}.inset-1\\.5{top:0.375rem;right:0.375rem;bottom:0.375rem;left:0.375rem}.inset-2\\.5{top:0.625rem;right:0.625rem;bottom:0.625rem;left:0.625rem}.inset-3\\.5{top:0.875rem;right:0.875rem;bottom:0.875rem;left:0.875rem}.-inset-0{top:0px;right:0px;bottom:0px;left:0px}.-inset-1{top:-0.25rem;right:-0.25rem;bottom:-0.25rem;left:-0.25rem}.-inset-2{top:-0.5rem;right:-0.5rem;bottom:-0.5rem;left:-0.5rem}.-inset-3{top:-0.75rem;right:-0.75rem;bottom:-0.75rem;left:-0.75rem}.-inset-4{top:-1rem;right:-1rem;bottom:-1rem;left:-1rem}.-inset-5{top:-1.25rem;right:-1.25rem;bottom:-1.25rem;left:-1.25rem}.-inset-6{top:-1.5rem;right:-1.5rem;bottom:-1.5rem;left:-1.5rem}.-inset-7{top:-1.75rem;right:-1.75rem;bottom:-1.75rem;left:-1.75rem}.-inset-8{top:-2rem;right:-2rem;bottom:-2rem;left:-2rem}.-inset-9{top:-2.25rem;right:-2.25rem;bottom:-2.25rem;left:-2.25rem}.-inset-10{top:-2.5rem;right:-2.5rem;bottom:-2.5rem;left:-2.5rem}.-inset-11{top:-2.75rem;right:-2.75rem;bottom:-2.75rem;left:-2.75rem}.-inset-12{top:-3rem;right:-3rem;bottom:-3rem;left:-3rem}.-inset-14{top:-3.5rem;right:-3.5rem;bottom:-3.5rem;left:-3.5rem}.-inset-16{top:-4rem;right:-4rem;bottom:-4rem;left:-4rem}.-inset-20{top:-5rem;right:-5rem;bottom:-5rem;left:-5rem}.-inset-24{top:-6rem;right:-6rem;bottom:-6rem;left:-6rem}.-inset-28{top:-7rem;right:-7rem;bottom:-7rem;left:-7rem}.-inset-32{top:-8rem;right:-8rem;bottom:-8rem;left:-8rem}.-inset-36{top:-9rem;right:-9rem;bottom:-9rem;left:-9rem}.-inset-40{top:-10rem;right:-10rem;bottom:-10rem;left:-10rem}.-inset-44{top:-11rem;right:-11rem;bottom:-11rem;left:-11rem}.-inset-48{top:-12rem;right:-12rem;bottom:-12rem;left:-12rem}.-inset-52{top:-13rem;right:-13rem;bottom:-13rem;left:-13rem}.-inset-56{top:-14rem;right:-14rem;bottom:-14rem;left:-14rem}.-inset-60{top:-15rem;right:-15rem;bottom:-15rem;left:-15rem}.-inset-64{top:-16rem;right:-16rem;bottom:-16rem;left:-16rem}.-inset-72{top:-18rem;right:-18rem;bottom:-18rem;left:-18rem}.-inset-80{top:-20rem;right:-20rem;bottom:-20rem;left:-20rem}.-inset-96{top:-24rem;right:-24rem;bottom:-24rem;left:-24rem}.-inset-px{top:-1px;right:-1px;bottom:-1px;left:-1px}.-inset-0\\.5{top:-0.125rem;right:-0.125rem;bottom:-0.125rem;left:-0.125rem}.-inset-1\\.5{top:-0.375rem;right:-0.375rem;bottom:-0.375rem;left:-0.375rem}.-inset-2\\.5{top:-0.625rem;right:-0.625rem;bottom:-0.625rem;left:-0.625rem}.-inset-3\\.5{top:-0.875rem;right:-0.875rem;bottom:-0.875rem;left:-0.875rem}.inset-1\\/2{top:50%;right:50%;bottom:50%;left:50%}.inset-1\\/3{top:33.333333%;right:33.333333%;bottom:33.333333%;left:33.333333%}.inset-2\\/3{top:66.666667%;right:66.666667%;bottom:66.666667%;left:66.666667%}.inset-1\\/4{top:25%;right:25%;bottom:25%;left:25%}.inset-2\\/4{top:50%;right:50%;bottom:50%;left:50%}.inset-3\\/4{top:75%;right:75%;bottom:75%;left:75%}.inset-full{top:100%;right:100%;bottom:100%;left:100%}.-inset-1\\/2{top:-50%;right:-50%;bottom:-50%;left:-50%}.-inset-1\\/3{top:-33.333333%;right:-33.333333%;bottom:-33.333333%;left:-33.333333%}.-inset-2\\/3{top:-66.666667%;right:-66.666667%;bottom:-66.666667%;left:-66.666667%}.-inset-1\\/4{top:-25%;right:-25%;bottom:-25%;left:-25%}.-inset-2\\/4{top:-50%;right:-50%;bottom:-50%;left:-50%}.-inset-3\\/4{top:-75%;right:-75%;bottom:-75%;left:-75%}.-inset-full{top:-100%;right:-100%;bottom:-100%;left:-100%}.inset-x-0{left:0px;right:0px}.inset-x-1{left:0.25rem;right:0.25rem}.inset-x-2{left:0.5rem;right:0.5rem}.inset-x-3{left:0.75rem;right:0.75rem}.inset-x-4{left:1rem;right:1rem}.inset-x-5{left:1.25rem;right:1.25rem}.inset-x-6{left:1.5rem;right:1.5rem}.inset-x-7{left:1.75rem;right:1.75rem}.inset-x-8{left:2rem;right:2rem}.inset-x-9{left:2.25rem;right:2.25rem}.inset-x-10{left:2.5rem;right:2.5rem}.inset-x-11{left:2.75rem;right:2.75rem}.inset-x-12{left:3rem;right:3rem}.inset-x-14{left:3.5rem;right:3.5rem}.inset-x-16{left:4rem;right:4rem}.inset-x-20{left:5rem;right:5rem}.inset-x-24{left:6rem;right:6rem}.inset-x-28{left:7rem;right:7rem}.inset-x-32{left:8rem;right:8rem}.inset-x-36{left:9rem;right:9rem}.inset-x-40{left:10rem;right:10rem}.inset-x-44{left:11rem;right:11rem}.inset-x-48{left:12rem;right:12rem}.inset-x-52{left:13rem;right:13rem}.inset-x-56{left:14rem;right:14rem}.inset-x-60{left:15rem;right:15rem}.inset-x-64{left:16rem;right:16rem}.inset-x-72{left:18rem;right:18rem}.inset-x-80{left:20rem;right:20rem}.inset-x-96{left:24rem;right:24rem}.inset-x-auto{left:auto;right:auto}.inset-x-px{left:1px;right:1px}.inset-x-0\\.5{left:0.125rem;right:0.125rem}.inset-x-1\\.5{left:0.375rem;right:0.375rem}.inset-x-2\\.5{left:0.625rem;right:0.625rem}.inset-x-3\\.5{left:0.875rem;right:0.875rem}.-inset-x-0{left:0px;right:0px}.-inset-x-1{left:-0.25rem;right:-0.25rem}.-inset-x-2{left:-0.5rem;right:-0.5rem}.-inset-x-3{left:-0.75rem;right:-0.75rem}.-inset-x-4{left:-1rem;right:-1rem}.-inset-x-5{left:-1.25rem;right:-1.25rem}.-inset-x-6{left:-1.5rem;right:-1.5rem}.-inset-x-7{left:-1.75rem;right:-1.75rem}.-inset-x-8{left:-2rem;right:-2rem}.-inset-x-9{left:-2.25rem;right:-2.25rem}.-inset-x-10{left:-2.5rem;right:-2.5rem}.-inset-x-11{left:-2.75rem;right:-2.75rem}.-inset-x-12{left:-3rem;right:-3rem}.-inset-x-14{left:-3.5rem;right:-3.5rem}.-inset-x-16{left:-4rem;right:-4rem}.-inset-x-20{left:-5rem;right:-5rem}.-inset-x-24{left:-6rem;right:-6rem}.-inset-x-28{left:-7rem;right:-7rem}.-inset-x-32{left:-8rem;right:-8rem}.-inset-x-36{left:-9rem;right:-9rem}.-inset-x-40{left:-10rem;right:-10rem}.-inset-x-44{left:-11rem;right:-11rem}.-inset-x-48{left:-12rem;right:-12rem}.-inset-x-52{left:-13rem;right:-13rem}.-inset-x-56{left:-14rem;right:-14rem}.-inset-x-60{left:-15rem;right:-15rem}.-inset-x-64{left:-16rem;right:-16rem}.-inset-x-72{left:-18rem;right:-18rem}.-inset-x-80{left:-20rem;right:-20rem}.-inset-x-96{left:-24rem;right:-24rem}.-inset-x-px{left:-1px;right:-1px}.-inset-x-0\\.5{left:-0.125rem;right:-0.125rem}.-inset-x-1\\.5{left:-0.375rem;right:-0.375rem}.-inset-x-2\\.5{left:-0.625rem;right:-0.625rem}.-inset-x-3\\.5{left:-0.875rem;right:-0.875rem}.inset-x-1\\/2{left:50%;right:50%}.inset-x-1\\/3{left:33.333333%;right:33.333333%}.inset-x-2\\/3{left:66.666667%;right:66.666667%}.inset-x-1\\/4{left:25%;right:25%}.inset-x-2\\/4{left:50%;right:50%}.inset-x-3\\/4{left:75%;right:75%}.inset-x-full{left:100%;right:100%}.-inset-x-1\\/2{left:-50%;right:-50%}.-inset-x-1\\/3{left:-33.333333%;right:-33.333333%}.-inset-x-2\\/3{left:-66.666667%;right:-66.666667%}.-inset-x-1\\/4{left:-25%;right:-25%}.-inset-x-2\\/4{left:-50%;right:-50%}.-inset-x-3\\/4{left:-75%;right:-75%}.-inset-x-full{left:-100%;right:-100%}.inset-y-0{top:0px;bottom:0px}.inset-y-1{top:0.25rem;bottom:0.25rem}.inset-y-2{top:0.5rem;bottom:0.5rem}.inset-y-3{top:0.75rem;bottom:0.75rem}.inset-y-4{top:1rem;bottom:1rem}.inset-y-5{top:1.25rem;bottom:1.25rem}.inset-y-6{top:1.5rem;bottom:1.5rem}.inset-y-7{top:1.75rem;bottom:1.75rem}.inset-y-8{top:2rem;bottom:2rem}.inset-y-9{top:2.25rem;bottom:2.25rem}.inset-y-10{top:2.5rem;bottom:2.5rem}.inset-y-11{top:2.75rem;bottom:2.75rem}.inset-y-12{top:3rem;bottom:3rem}.inset-y-14{top:3.5rem;bottom:3.5rem}.inset-y-16{top:4rem;bottom:4rem}.inset-y-20{top:5rem;bottom:5rem}.inset-y-24{top:6rem;bottom:6rem}.inset-y-28{top:7rem;bottom:7rem}.inset-y-32{top:8rem;bottom:8rem}.inset-y-36{top:9rem;bottom:9rem}.inset-y-40{top:10rem;bottom:10rem}.inset-y-44{top:11rem;bottom:11rem}.inset-y-48{top:12rem;bottom:12rem}.inset-y-52{top:13rem;bottom:13rem}.inset-y-56{top:14rem;bottom:14rem}.inset-y-60{top:15rem;bottom:15rem}.inset-y-64{top:16rem;bottom:16rem}.inset-y-72{top:18rem;bottom:18rem}.inset-y-80{top:20rem;bottom:20rem}.inset-y-96{top:24rem;bottom:24rem}.inset-y-auto{top:auto;bottom:auto}.inset-y-px{top:1px;bottom:1px}.inset-y-0\\.5{top:0.125rem;bottom:0.125rem}.inset-y-1\\.5{top:0.375rem;bottom:0.375rem}.inset-y-2\\.5{top:0.625rem;bottom:0.625rem}.inset-y-3\\.5{top:0.875rem;bottom:0.875rem}.-inset-y-0{top:0px;bottom:0px}.-inset-y-1{top:-0.25rem;bottom:-0.25rem}.-inset-y-2{top:-0.5rem;bottom:-0.5rem}.-inset-y-3{top:-0.75rem;bottom:-0.75rem}.-inset-y-4{top:-1rem;bottom:-1rem}.-inset-y-5{top:-1.25rem;bottom:-1.25rem}.-inset-y-6{top:-1.5rem;bottom:-1.5rem}.-inset-y-7{top:-1.75rem;bottom:-1.75rem}.-inset-y-8{top:-2rem;bottom:-2rem}.-inset-y-9{top:-2.25rem;bottom:-2.25rem}.-inset-y-10{top:-2.5rem;bottom:-2.5rem}.-inset-y-11{top:-2.75rem;bottom:-2.75rem}.-inset-y-12{top:-3rem;bottom:-3rem}.-inset-y-14{top:-3.5rem;bottom:-3.5rem}.-inset-y-16{top:-4rem;bottom:-4rem}.-inset-y-20{top:-5rem;bottom:-5rem}.-inset-y-24{top:-6rem;bottom:-6rem}.-inset-y-28{top:-7rem;bottom:-7rem}.-inset-y-32{top:-8rem;bottom:-8rem}.-inset-y-36{top:-9rem;bottom:-9rem}.-inset-y-40{top:-10rem;bottom:-10rem}.-inset-y-44{top:-11rem;bottom:-11rem}.-inset-y-48{top:-12rem;bottom:-12rem}.-inset-y-52{top:-13rem;bottom:-13rem}.-inset-y-56{top:-14rem;bottom:-14rem}.-inset-y-60{top:-15rem;bottom:-15rem}.-inset-y-64{top:-16rem;bottom:-16rem}.-inset-y-72{top:-18rem;bottom:-18rem}.-inset-y-80{top:-20rem;bottom:-20rem}.-inset-y-96{top:-24rem;bottom:-24rem}.-inset-y-px{top:-1px;bottom:-1px}.-inset-y-0\\.5{top:-0.125rem;bottom:-0.125rem}.-inset-y-1\\.5{top:-0.375rem;bottom:-0.375rem}.-inset-y-2\\.5{top:-0.625rem;bottom:-0.625rem}.-inset-y-3\\.5{top:-0.875rem;bottom:-0.875rem}.inset-y-1\\/2{top:50%;bottom:50%}.inset-y-1\\/3{top:33.333333%;bottom:33.333333%}.inset-y-2\\/3{top:66.666667%;bottom:66.666667%}.inset-y-1\\/4{top:25%;bottom:25%}.inset-y-2\\/4{top:50%;bottom:50%}.inset-y-3\\/4{top:75%;bottom:75%}.inset-y-full{top:100%;bottom:100%}.-inset-y-1\\/2{top:-50%;bottom:-50%}.-inset-y-1\\/3{top:-33.333333%;bottom:-33.333333%}.-inset-y-2\\/3{top:-66.666667%;bottom:-66.666667%}.-inset-y-1\\/4{top:-25%;bottom:-25%}.-inset-y-2\\/4{top:-50%;bottom:-50%}.-inset-y-3\\/4{top:-75%;bottom:-75%}.-inset-y-full{top:-100%;bottom:-100%}.top-0{top:0px}.top-1{top:0.25rem}.top-2{top:0.5rem}.top-3{top:0.75rem}.top-4{top:1rem}.top-5{top:1.25rem}.top-6{top:1.5rem}.top-7{top:1.75rem}.top-8{top:2rem}.top-9{top:2.25rem}.top-10{top:2.5rem}.top-11{top:2.75rem}.top-12{top:3rem}.top-14{top:3.5rem}.top-16{top:4rem}.top-20{top:5rem}.top-24{top:6rem}.top-28{top:7rem}.top-32{top:8rem}.top-36{top:9rem}.top-40{top:10rem}.top-44{top:11rem}.top-48{top:12rem}.top-52{top:13rem}.top-56{top:14rem}.top-60{top:15rem}.top-64{top:16rem}.top-72{top:18rem}.top-80{top:20rem}.top-96{top:24rem}.top-auto{top:auto}.top-px{top:1px}.top-0\\.5{top:0.125rem}.top-1\\.5{top:0.375rem}.top-2\\.5{top:0.625rem}.top-3\\.5{top:0.875rem}.-top-0{top:0px}.-top-1{top:-0.25rem}.-top-2{top:-0.5rem}.-top-3{top:-0.75rem}.-top-4{top:-1rem}.-top-5{top:-1.25rem}.-top-6{top:-1.5rem}.-top-7{top:-1.75rem}.-top-8{top:-2rem}.-top-9{top:-2.25rem}.-top-10{top:-2.5rem}.-top-11{top:-2.75rem}.-top-12{top:-3rem}.-top-14{top:-3.5rem}.-top-16{top:-4rem}.-top-20{top:-5rem}.-top-24{top:-6rem}.-top-28{top:-7rem}.-top-32{top:-8rem}.-top-36{top:-9rem}.-top-40{top:-10rem}.-top-44{top:-11rem}.-top-48{top:-12rem}.-top-52{top:-13rem}.-top-56{top:-14rem}.-top-60{top:-15rem}.-top-64{top:-16rem}.-top-72{top:-18rem}.-top-80{top:-20rem}.-top-96{top:-24rem}.-top-px{top:-1px}.-top-0\\.5{top:-0.125rem}.-top-1\\.5{top:-0.375rem}.-top-2\\.5{top:-0.625rem}.-top-3\\.5{top:-0.875rem}.top-1\\/2{top:50%}.top-1\\/3{top:33.333333%}.top-2\\/3{top:66.666667%}.top-1\\/4{top:25%}.top-2\\/4{top:50%}.top-3\\/4{top:75%}.top-full{top:100%}.-top-1\\/2{top:-50%}.-top-1\\/3{top:-33.333333%}.-top-2\\/3{top:-66.666667%}.-top-1\\/4{top:-25%}.-top-2\\/4{top:-50%}.-top-3\\/4{top:-75%}.-top-full{top:-100%}.right-0{right:0px}.right-1{right:0.25rem}.right-2{right:0.5rem}.right-3{right:0.75rem}.right-4{right:1rem}.right-5{right:1.25rem}.right-6{right:1.5rem}.right-7{right:1.75rem}.right-8{right:2rem}.right-9{right:2.25rem}.right-10{right:2.5rem}.right-11{right:2.75rem}.right-12{right:3rem}.right-14{right:3.5rem}.right-16{right:4rem}.right-20{right:5rem}.right-24{right:6rem}.right-28{right:7rem}.right-32{right:8rem}.right-36{right:9rem}.right-40{right:10rem}.right-44{right:11rem}.right-48{right:12rem}.right-52{right:13rem}.right-56{right:14rem}.right-60{right:15rem}.right-64{right:16rem}.right-72{right:18rem}.right-80{right:20rem}.right-96{right:24rem}.right-auto{right:auto}.right-px{right:1px}.right-0\\.5{right:0.125rem}.right-1\\.5{right:0.375rem}.right-2\\.5{right:0.625rem}.right-3\\.5{right:0.875rem}.-right-0{right:0px}.-right-1{right:-0.25rem}.-right-2{right:-0.5rem}.-right-3{right:-0.75rem}.-right-4{right:-1rem}.-right-5{right:-1.25rem}.-right-6{right:-1.5rem}.-right-7{right:-1.75rem}.-right-8{right:-2rem}.-right-9{right:-2.25rem}.-right-10{right:-2.5rem}.-right-11{right:-2.75rem}.-right-12{right:-3rem}.-right-14{right:-3.5rem}.-right-16{right:-4rem}.-right-20{right:-5rem}.-right-24{right:-6rem}.-right-28{right:-7rem}.-right-32{right:-8rem}.-right-36{right:-9rem}.-right-40{right:-10rem}.-right-44{right:-11rem}.-right-48{right:-12rem}.-right-52{right:-13rem}.-right-56{right:-14rem}.-right-60{right:-15rem}.-right-64{right:-16rem}.-right-72{right:-18rem}.-right-80{right:-20rem}.-right-96{right:-24rem}.-right-px{right:-1px}.-right-0\\.5{right:-0.125rem}.-right-1\\.5{right:-0.375rem}.-right-2\\.5{right:-0.625rem}.-right-3\\.5{right:-0.875rem}.right-1\\/2{right:50%}.right-1\\/3{right:33.333333%}.right-2\\/3{right:66.666667%}.right-1\\/4{right:25%}.right-2\\/4{right:50%}.right-3\\/4{right:75%}.right-full{right:100%}.-right-1\\/2{right:-50%}.-right-1\\/3{right:-33.333333%}.-right-2\\/3{right:-66.666667%}.-right-1\\/4{right:-25%}.-right-2\\/4{right:-50%}.-right-3\\/4{right:-75%}.-right-full{right:-100%}.bottom-0{bottom:0px}.bottom-1{bottom:0.25rem}.bottom-2{bottom:0.5rem}.bottom-3{bottom:0.75rem}.bottom-4{bottom:1rem}.bottom-5{bottom:1.25rem}.bottom-6{bottom:1.5rem}.bottom-7{bottom:1.75rem}.bottom-8{bottom:2rem}.bottom-9{bottom:2.25rem}.bottom-10{bottom:2.5rem}.bottom-11{bottom:2.75rem}.bottom-12{bottom:3rem}.bottom-14{bottom:3.5rem}.bottom-16{bottom:4rem}.bottom-20{bottom:5rem}.bottom-24{bottom:6rem}.bottom-28{bottom:7rem}.bottom-32{bottom:8rem}.bottom-36{bottom:9rem}.bottom-40{bottom:10rem}.bottom-44{bottom:11rem}.bottom-48{bottom:12rem}.bottom-52{bottom:13rem}.bottom-56{bottom:14rem}.bottom-60{bottom:15rem}.bottom-64{bottom:16rem}.bottom-72{bottom:18rem}.bottom-80{bottom:20rem}.bottom-96{bottom:24rem}.bottom-auto{bottom:auto}.bottom-px{bottom:1px}.bottom-0\\.5{bottom:0.125rem}.bottom-1\\.5{bottom:0.375rem}.bottom-2\\.5{bottom:0.625rem}.bottom-3\\.5{bottom:0.875rem}.-bottom-0{bottom:0px}.-bottom-1{bottom:-0.25rem}.-bottom-2{bottom:-0.5rem}.-bottom-3{bottom:-0.75rem}.-bottom-4{bottom:-1rem}.-bottom-5{bottom:-1.25rem}.-bottom-6{bottom:-1.5rem}.-bottom-7{bottom:-1.75rem}.-bottom-8{bottom:-2rem}.-bottom-9{bottom:-2.25rem}.-bottom-10{bottom:-2.5rem}.-bottom-11{bottom:-2.75rem}.-bottom-12{bottom:-3rem}.-bottom-14{bottom:-3.5rem}.-bottom-16{bottom:-4rem}.-bottom-20{bottom:-5rem}.-bottom-24{bottom:-6rem}.-bottom-28{bottom:-7rem}.-bottom-32{bottom:-8rem}.-bottom-36{bottom:-9rem}.-bottom-40{bottom:-10rem}.-bottom-44{bottom:-11rem}.-bottom-48{bottom:-12rem}.-bottom-52{bottom:-13rem}.-bottom-56{bottom:-14rem}.-bottom-60{bottom:-15rem}.-bottom-64{bottom:-16rem}.-bottom-72{bottom:-18rem}.-bottom-80{bottom:-20rem}.-bottom-96{bottom:-24rem}.-bottom-px{bottom:-1px}.-bottom-0\\.5{bottom:-0.125rem}.-bottom-1\\.5{bottom:-0.375rem}.-bottom-2\\.5{bottom:-0.625rem}.-bottom-3\\.5{bottom:-0.875rem}.bottom-1\\/2{bottom:50%}.bottom-1\\/3{bottom:33.333333%}.bottom-2\\/3{bottom:66.666667%}.bottom-1\\/4{bottom:25%}.bottom-2\\/4{bottom:50%}.bottom-3\\/4{bottom:75%}.bottom-full{bottom:100%}.-bottom-1\\/2{bottom:-50%}.-bottom-1\\/3{bottom:-33.333333%}.-bottom-2\\/3{bottom:-66.666667%}.-bottom-1\\/4{bottom:-25%}.-bottom-2\\/4{bottom:-50%}.-bottom-3\\/4{bottom:-75%}.-bottom-full{bottom:-100%}.left-0{left:0px}.left-1{left:0.25rem}.left-2{left:0.5rem}.left-3{left:0.75rem}.left-4{left:1rem}.left-5{left:1.25rem}.left-6{left:1.5rem}.left-7{left:1.75rem}.left-8{left:2rem}.left-9{left:2.25rem}.left-10{left:2.5rem}.left-11{left:2.75rem}.left-12{left:3rem}.left-14{left:3.5rem}.left-16{left:4rem}.left-20{left:5rem}.left-24{left:6rem}.left-28{left:7rem}.left-32{left:8rem}.left-36{left:9rem}.left-40{left:10rem}.left-44{left:11rem}.left-48{left:12rem}.left-52{left:13rem}.left-56{left:14rem}.left-60{left:15rem}.left-64{left:16rem}.left-72{left:18rem}.left-80{left:20rem}.left-96{left:24rem}.left-auto{left:auto}.left-px{left:1px}.left-0\\.5{left:0.125rem}.left-1\\.5{left:0.375rem}.left-2\\.5{left:0.625rem}.left-3\\.5{left:0.875rem}.-left-0{left:0px}.-left-1{left:-0.25rem}.-left-2{left:-0.5rem}.-left-3{left:-0.75rem}.-left-4{left:-1rem}.-left-5{left:-1.25rem}.-left-6{left:-1.5rem}.-left-7{left:-1.75rem}.-left-8{left:-2rem}.-left-9{left:-2.25rem}.-left-10{left:-2.5rem}.-left-11{left:-2.75rem}.-left-12{left:-3rem}.-left-14{left:-3.5rem}.-left-16{left:-4rem}.-left-20{left:-5rem}.-left-24{left:-6rem}.-left-28{left:-7rem}.-left-32{left:-8rem}.-left-36{left:-9rem}.-left-40{left:-10rem}.-left-44{left:-11rem}.-left-48{left:-12rem}.-left-52{left:-13rem}.-left-56{left:-14rem}.-left-60{left:-15rem}.-left-64{left:-16rem}.-left-72{left:-18rem}.-left-80{left:-20rem}.-left-96{left:-24rem}.-left-px{left:-1px}.-left-0\\.5{left:-0.125rem}.-left-1\\.5{left:-0.375rem}.-left-2\\.5{left:-0.625rem}.-left-3\\.5{left:-0.875rem}.left-1\\/2{left:50%}.left-1\\/3{left:33.333333%}.left-2\\/3{left:66.666667%}.left-1\\/4{left:25%}.left-2\\/4{left:50%}.left-3\\/4{left:75%}.left-full{left:100%}.-left-1\\/2{left:-50%}.-left-1\\/3{left:-33.333333%}.-left-2\\/3{left:-66.666667%}.-left-1\\/4{left:-25%}.-left-2\\/4{left:-50%}.-left-3\\/4{left:-75%}.-left-full{left:-100%}.isolate{isolation:isolate}.isolation-auto{isolation:auto}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-auto{z-index:auto}.focus-within\\:z-0:focus-within{z-index:0}.focus-within\\:z-10:focus-within{z-index:10}.focus-within\\:z-20:focus-within{z-index:20}.focus-within\\:z-30:focus-within{z-index:30}.focus-within\\:z-40:focus-within{z-index:40}.focus-within\\:z-50:focus-within{z-index:50}.focus-within\\:z-auto:focus-within{z-index:auto}.focus\\:z-0:focus{z-index:0}.focus\\:z-10:focus{z-index:10}.focus\\:z-20:focus{z-index:20}.focus\\:z-30:focus{z-index:30}.focus\\:z-40:focus{z-index:40}.focus\\:z-50:focus{z-index:50}.focus\\:z-auto:focus{z-index:auto}.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}.order-first{order:-9999}.order-last{order:9999}.order-none{order:0}.col-auto{grid-column:auto}.col-span-1{grid-column:span 1 / span 1}.col-span-2{grid-column:span 2 / span 2}.col-span-3{grid-column:span 3 / span 3}.col-span-4{grid-column:span 4 / span 4}.col-span-5{grid-column:span 5 / span 5}.col-span-6{grid-column:span 6 / span 6}.col-span-7{grid-column:span 7 / span 7}.col-span-8{grid-column:span 8 / span 8}.col-span-9{grid-column:span 9 / span 9}.col-span-10{grid-column:span 10 / span 10}.col-span-11{grid-column:span 11 / span 11}.col-span-12{grid-column:span 12 / span 12}.col-span-full{grid-column:1 / -1}.col-start-1{grid-column-start:1}.col-start-2{grid-column-start:2}.col-start-3{grid-column-start:3}.col-start-4{grid-column-start:4}.col-start-5{grid-column-start:5}.col-start-6{grid-column-start:6}.col-start-7{grid-column-start:7}.col-start-8{grid-column-start:8}.col-start-9{grid-column-start:9}.col-start-10{grid-column-start:10}.col-start-11{grid-column-start:11}.col-start-12{grid-column-start:12}.col-start-13{grid-column-start:13}.col-start-auto{grid-column-start:auto}.col-end-1{grid-column-end:1}.col-end-2{grid-column-end:2}.col-end-3{grid-column-end:3}.col-end-4{grid-column-end:4}.col-end-5{grid-column-end:5}.col-end-6{grid-column-end:6}.col-end-7{grid-column-end:7}.col-end-8{grid-column-end:8}.col-end-9{grid-column-end:9}.col-end-10{grid-column-end:10}.col-end-11{grid-column-end:11}.col-end-12{grid-column-end:12}.col-end-13{grid-column-end:13}.col-end-auto{grid-column-end:auto}.row-auto{grid-row:auto}.row-span-1{grid-row:span 1 / span 1}.row-span-2{grid-row:span 2 / span 2}.row-span-3{grid-row:span 3 / span 3}.row-span-4{grid-row:span 4 / span 4}.row-span-5{grid-row:span 5 / span 5}.row-span-6{grid-row:span 6 / span 6}.row-span-full{grid-row:1 / -1}.row-start-1{grid-row-start:1}.row-start-2{grid-row-start:2}.row-start-3{grid-row-start:3}.row-start-4{grid-row-start:4}.row-start-5{grid-row-start:5}.row-start-6{grid-row-start:6}.row-start-7{grid-row-start:7}.row-start-auto{grid-row-start:auto}.row-end-1{grid-row-end:1}.row-end-2{grid-row-end:2}.row-end-3{grid-row-end:3}.row-end-4{grid-row-end:4}.row-end-5{grid-row-end:5}.row-end-6{grid-row-end:6}.row-end-7{grid-row-end:7}.row-end-auto{grid-row-end:auto}.float-right{float:right}.float-left{float:left}.float-none{float:none}.clear-left{clear:left}.clear-right{clear:right}.clear-both{clear:both}.clear-none{clear:none}.m-0{margin:0px}.m-1{margin:0.25rem}.m-2{margin:0.5rem}.m-3{margin:0.75rem}.m-4{margin:1rem}.m-5{margin:1.25rem}.m-6{margin:1.5rem}.m-7{margin:1.75rem}.m-8{margin:2rem}.m-9{margin:2.25rem}.m-10{margin:2.5rem}.m-11{margin:2.75rem}.m-12{margin:3rem}.m-14{margin:3.5rem}.m-16{margin:4rem}.m-20{margin:5rem}.m-24{margin:6rem}.m-28{margin:7rem}.m-32{margin:8rem}.m-36{margin:9rem}.m-40{margin:10rem}.m-44{margin:11rem}.m-48{margin:12rem}.m-52{margin:13rem}.m-56{margin:14rem}.m-60{margin:15rem}.m-64{margin:16rem}.m-72{margin:18rem}.m-80{margin:20rem}.m-96{margin:24rem}.m-auto{margin:auto}.m-px{margin:1px}.m-0\\.5{margin:0.125rem}.m-1\\.5{margin:0.375rem}.m-2\\.5{margin:0.625rem}.m-3\\.5{margin:0.875rem}.-m-0{margin:0px}.-m-1{margin:-0.25rem}.-m-2{margin:-0.5rem}.-m-3{margin:-0.75rem}.-m-4{margin:-1rem}.-m-5{margin:-1.25rem}.-m-6{margin:-1.5rem}.-m-7{margin:-1.75rem}.-m-8{margin:-2rem}.-m-9{margin:-2.25rem}.-m-10{margin:-2.5rem}.-m-11{margin:-2.75rem}.-m-12{margin:-3rem}.-m-14{margin:-3.5rem}.-m-16{margin:-4rem}.-m-20{margin:-5rem}.-m-24{margin:-6rem}.-m-28{margin:-7rem}.-m-32{margin:-8rem}.-m-36{margin:-9rem}.-m-40{margin:-10rem}.-m-44{margin:-11rem}.-m-48{margin:-12rem}.-m-52{margin:-13rem}.-m-56{margin:-14rem}.-m-60{margin:-15rem}.-m-64{margin:-16rem}.-m-72{margin:-18rem}.-m-80{margin:-20rem}.-m-96{margin:-24rem}.-m-px{margin:-1px}.-m-0\\.5{margin:-0.125rem}.-m-1\\.5{margin:-0.375rem}.-m-2\\.5{margin:-0.625rem}.-m-3\\.5{margin:-0.875rem}.mx-0{margin-left:0px;margin-right:0px}.mx-1{margin-left:0.25rem;margin-right:0.25rem}.mx-2{margin-left:0.5rem;margin-right:0.5rem}.mx-3{margin-left:0.75rem;margin-right:0.75rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-5{margin-left:1.25rem;margin-right:1.25rem}.mx-6{margin-left:1.5rem;margin-right:1.5rem}.mx-7{margin-left:1.75rem;margin-right:1.75rem}.mx-8{margin-left:2rem;margin-right:2rem}.mx-9{margin-left:2.25rem;margin-right:2.25rem}.mx-10{margin-left:2.5rem;margin-right:2.5rem}.mx-11{margin-left:2.75rem;margin-right:2.75rem}.mx-12{margin-left:3rem;margin-right:3rem}.mx-14{margin-left:3.5rem;margin-right:3.5rem}.mx-16{margin-left:4rem;margin-right:4rem}.mx-20{margin-left:5rem;margin-right:5rem}.mx-24{margin-left:6rem;margin-right:6rem}.mx-28{margin-left:7rem;margin-right:7rem}.mx-32{margin-left:8rem;margin-right:8rem}.mx-36{margin-left:9rem;margin-right:9rem}.mx-40{margin-left:10rem;margin-right:10rem}.mx-44{margin-left:11rem;margin-right:11rem}.mx-48{margin-left:12rem;margin-right:12rem}.mx-52{margin-left:13rem;margin-right:13rem}.mx-56{margin-left:14rem;margin-right:14rem}.mx-60{margin-left:15rem;margin-right:15rem}.mx-64{margin-left:16rem;margin-right:16rem}.mx-72{margin-left:18rem;margin-right:18rem}.mx-80{margin-left:20rem;margin-right:20rem}.mx-96{margin-left:24rem;margin-right:24rem}.mx-auto{margin-left:auto;margin-right:auto}.mx-px{margin-left:1px;margin-right:1px}.mx-0\\.5{margin-left:0.125rem;margin-right:0.125rem}.mx-1\\.5{margin-left:0.375rem;margin-right:0.375rem}.mx-2\\.5{margin-left:0.625rem;margin-right:0.625rem}.mx-3\\.5{margin-left:0.875rem;margin-right:0.875rem}.-mx-0{margin-left:0px;margin-right:0px}.-mx-1{margin-left:-0.25rem;margin-right:-0.25rem}.-mx-2{margin-left:-0.5rem;margin-right:-0.5rem}.-mx-3{margin-left:-0.75rem;margin-right:-0.75rem}.-mx-4{margin-left:-1rem;margin-right:-1rem}.-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.-mx-7{margin-left:-1.75rem;margin-right:-1.75rem}.-mx-8{margin-left:-2rem;margin-right:-2rem}.-mx-9{margin-left:-2.25rem;margin-right:-2.25rem}.-mx-10{margin-left:-2.5rem;margin-right:-2.5rem}.-mx-11{margin-left:-2.75rem;margin-right:-2.75rem}.-mx-12{margin-left:-3rem;margin-right:-3rem}.-mx-14{margin-left:-3.5rem;margin-right:-3.5rem}.-mx-16{margin-left:-4rem;margin-right:-4rem}.-mx-20{margin-left:-5rem;margin-right:-5rem}.-mx-24{margin-left:-6rem;margin-right:-6rem}.-mx-28{margin-left:-7rem;margin-right:-7rem}.-mx-32{margin-left:-8rem;margin-right:-8rem}.-mx-36{margin-left:-9rem;margin-right:-9rem}.-mx-40{margin-left:-10rem;margin-right:-10rem}.-mx-44{margin-left:-11rem;margin-right:-11rem}.-mx-48{margin-left:-12rem;margin-right:-12rem}.-mx-52{margin-left:-13rem;margin-right:-13rem}.-mx-56{margin-left:-14rem;margin-right:-14rem}.-mx-60{margin-left:-15rem;margin-right:-15rem}.-mx-64{margin-left:-16rem;margin-right:-16rem}.-mx-72{margin-left:-18rem;margin-right:-18rem}.-mx-80{margin-left:-20rem;margin-right:-20rem}.-mx-96{margin-left:-24rem;margin-right:-24rem}.-mx-px{margin-left:-1px;margin-right:-1px}.-mx-0\\.5{margin-left:-0.125rem;margin-right:-0.125rem}.-mx-1\\.5{margin-left:-0.375rem;margin-right:-0.375rem}.-mx-2\\.5{margin-left:-0.625rem;margin-right:-0.625rem}.-mx-3\\.5{margin-left:-0.875rem;margin-right:-0.875rem}.my-0{margin-top:0px;margin-bottom:0px}.my-1{margin-top:0.25rem;margin-bottom:0.25rem}.my-2{margin-top:0.5rem;margin-bottom:0.5rem}.my-3{margin-top:0.75rem;margin-bottom:0.75rem}.my-4{margin-top:1rem;margin-bottom:1rem}.my-5{margin-top:1.25rem;margin-bottom:1.25rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.my-7{margin-top:1.75rem;margin-bottom:1.75rem}.my-8{margin-top:2rem;margin-bottom:2rem}.my-9{margin-top:2.25rem;margin-bottom:2.25rem}.my-10{margin-top:2.5rem;margin-bottom:2.5rem}.my-11{margin-top:2.75rem;margin-bottom:2.75rem}.my-12{margin-top:3rem;margin-bottom:3rem}.my-14{margin-top:3.5rem;margin-bottom:3.5rem}.my-16{margin-top:4rem;margin-bottom:4rem}.my-20{margin-top:5rem;margin-bottom:5rem}.my-24{margin-top:6rem;margin-bottom:6rem}.my-28{margin-top:7rem;margin-bottom:7rem}.my-32{margin-top:8rem;margin-bottom:8rem}.my-36{margin-top:9rem;margin-bottom:9rem}.my-40{margin-top:10rem;margin-bottom:10rem}.my-44{margin-top:11rem;margin-bottom:11rem}.my-48{margin-top:12rem;margin-bottom:12rem}.my-52{margin-top:13rem;margin-bottom:13rem}.my-56{margin-top:14rem;margin-bottom:14rem}.my-60{margin-top:15rem;margin-bottom:15rem}.my-64{margin-top:16rem;margin-bottom:16rem}.my-72{margin-top:18rem;margin-bottom:18rem}.my-80{margin-top:20rem;margin-bottom:20rem}.my-96{margin-top:24rem;margin-bottom:24rem}.my-auto{margin-top:auto;margin-bottom:auto}.my-px{margin-top:1px;margin-bottom:1px}.my-0\\.5{margin-top:0.125rem;margin-bottom:0.125rem}.my-1\\.5{margin-top:0.375rem;margin-bottom:0.375rem}.my-2\\.5{margin-top:0.625rem;margin-bottom:0.625rem}.my-3\\.5{margin-top:0.875rem;margin-bottom:0.875rem}.-my-0{margin-top:0px;margin-bottom:0px}.-my-1{margin-top:-0.25rem;margin-bottom:-0.25rem}.-my-2{margin-top:-0.5rem;margin-bottom:-0.5rem}.-my-3{margin-top:-0.75rem;margin-bottom:-0.75rem}.-my-4{margin-top:-1rem;margin-bottom:-1rem}.-my-5{margin-top:-1.25rem;margin-bottom:-1.25rem}.-my-6{margin-top:-1.5rem;margin-bottom:-1.5rem}.-my-7{margin-top:-1.75rem;margin-bottom:-1.75rem}.-my-8{margin-top:-2rem;margin-bottom:-2rem}.-my-9{margin-top:-2.25rem;margin-bottom:-2.25rem}.-my-10{margin-top:-2.5rem;margin-bottom:-2.5rem}.-my-11{margin-top:-2.75rem;margin-bottom:-2.75rem}.-my-12{margin-top:-3rem;margin-bottom:-3rem}.-my-14{margin-top:-3.5rem;margin-bottom:-3.5rem}.-my-16{margin-top:-4rem;margin-bottom:-4rem}.-my-20{margin-top:-5rem;margin-bottom:-5rem}.-my-24{margin-top:-6rem;margin-bottom:-6rem}.-my-28{margin-top:-7rem;margin-bottom:-7rem}.-my-32{margin-top:-8rem;margin-bottom:-8rem}.-my-36{margin-top:-9rem;margin-bottom:-9rem}.-my-40{margin-top:-10rem;margin-bottom:-10rem}.-my-44{margin-top:-11rem;margin-bottom:-11rem}.-my-48{margin-top:-12rem;margin-bottom:-12rem}.-my-52{margin-top:-13rem;margin-bottom:-13rem}.-my-56{margin-top:-14rem;margin-bottom:-14rem}.-my-60{margin-top:-15rem;margin-bottom:-15rem}.-my-64{margin-top:-16rem;margin-bottom:-16rem}.-my-72{margin-top:-18rem;margin-bottom:-18rem}.-my-80{margin-top:-20rem;margin-bottom:-20rem}.-my-96{margin-top:-24rem;margin-bottom:-24rem}.-my-px{margin-top:-1px;margin-bottom:-1px}.-my-0\\.5{margin-top:-0.125rem;margin-bottom:-0.125rem}.-my-1\\.5{margin-top:-0.375rem;margin-bottom:-0.375rem}.-my-2\\.5{margin-top:-0.625rem;margin-bottom:-0.625rem}.-my-3\\.5{margin-top:-0.875rem;margin-bottom:-0.875rem}.mt-0{margin-top:0px}.mt-1{margin-top:0.25rem}.mt-2{margin-top:0.5rem}.mt-3{margin-top:0.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-7{margin-top:1.75rem}.mt-8{margin-top:2rem}.mt-9{margin-top:2.25rem}.mt-10{margin-top:2.5rem}.mt-11{margin-top:2.75rem}.mt-12{margin-top:3rem}.mt-14{margin-top:3.5rem}.mt-16{margin-top:4rem}.mt-20{margin-top:5rem}.mt-24{margin-top:6rem}.mt-28{margin-top:7rem}.mt-32{margin-top:8rem}.mt-36{margin-top:9rem}.mt-40{margin-top:10rem}.mt-44{margin-top:11rem}.mt-48{margin-top:12rem}.mt-52{margin-top:13rem}.mt-56{margin-top:14rem}.mt-60{margin-top:15rem}.mt-64{margin-top:16rem}.mt-72{margin-top:18rem}.mt-80{margin-top:20rem}.mt-96{margin-top:24rem}.mt-auto{margin-top:auto}.mt-px{margin-top:1px}.mt-0\\.5{margin-top:0.125rem}.mt-1\\.5{margin-top:0.375rem}.mt-2\\.5{margin-top:0.625rem}.mt-3\\.5{margin-top:0.875rem}.-mt-0{margin-top:0px}.-mt-1{margin-top:-0.25rem}.-mt-2{margin-top:-0.5rem}.-mt-3{margin-top:-0.75rem}.-mt-4{margin-top:-1rem}.-mt-5{margin-top:-1.25rem}.-mt-6{margin-top:-1.5rem}.-mt-7{margin-top:-1.75rem}.-mt-8{margin-top:-2rem}.-mt-9{margin-top:-2.25rem}.-mt-10{margin-top:-2.5rem}.-mt-11{margin-top:-2.75rem}.-mt-12{margin-top:-3rem}.-mt-14{margin-top:-3.5rem}.-mt-16{margin-top:-4rem}.-mt-20{margin-top:-5rem}.-mt-24{margin-top:-6rem}.-mt-28{margin-top:-7rem}.-mt-32{margin-top:-8rem}.-mt-36{margin-top:-9rem}.-mt-40{margin-top:-10rem}.-mt-44{margin-top:-11rem}.-mt-48{margin-top:-12rem}.-mt-52{margin-top:-13rem}.-mt-56{margin-top:-14rem}.-mt-60{margin-top:-15rem}.-mt-64{margin-top:-16rem}.-mt-72{margin-top:-18rem}.-mt-80{margin-top:-20rem}.-mt-96{margin-top:-24rem}.-mt-px{margin-top:-1px}.-mt-0\\.5{margin-top:-0.125rem}.-mt-1\\.5{margin-top:-0.375rem}.-mt-2\\.5{margin-top:-0.625rem}.-mt-3\\.5{margin-top:-0.875rem}.mr-0{margin-right:0px}.mr-1{margin-right:0.25rem}.mr-2{margin-right:0.5rem}.mr-3{margin-right:0.75rem}.mr-4{margin-right:1rem}.mr-5{margin-right:1.25rem}.mr-6{margin-right:1.5rem}.mr-7{margin-right:1.75rem}.mr-8{margin-right:2rem}.mr-9{margin-right:2.25rem}.mr-10{margin-right:2.5rem}.mr-11{margin-right:2.75rem}.mr-12{margin-right:3rem}.mr-14{margin-right:3.5rem}.mr-16{margin-right:4rem}.mr-20{margin-right:5rem}.mr-24{margin-right:6rem}.mr-28{margin-right:7rem}.mr-32{margin-right:8rem}.mr-36{margin-right:9rem}.mr-40{margin-right:10rem}.mr-44{margin-right:11rem}.mr-48{margin-right:12rem}.mr-52{margin-right:13rem}.mr-56{margin-right:14rem}.mr-60{margin-right:15rem}.mr-64{margin-right:16rem}.mr-72{margin-right:18rem}.mr-80{margin-right:20rem}.mr-96{margin-right:24rem}.mr-auto{margin-right:auto}.mr-px{margin-right:1px}.mr-0\\.5{margin-right:0.125rem}.mr-1\\.5{margin-right:0.375rem}.mr-2\\.5{margin-right:0.625rem}.mr-3\\.5{margin-right:0.875rem}.-mr-0{margin-right:0px}.-mr-1{margin-right:-0.25rem}.-mr-2{margin-right:-0.5rem}.-mr-3{margin-right:-0.75rem}.-mr-4{margin-right:-1rem}.-mr-5{margin-right:-1.25rem}.-mr-6{margin-right:-1.5rem}.-mr-7{margin-right:-1.75rem}.-mr-8{margin-right:-2rem}.-mr-9{margin-right:-2.25rem}.-mr-10{margin-right:-2.5rem}.-mr-11{margin-right:-2.75rem}.-mr-12{margin-right:-3rem}.-mr-14{margin-right:-3.5rem}.-mr-16{margin-right:-4rem}.-mr-20{margin-right:-5rem}.-mr-24{margin-right:-6rem}.-mr-28{margin-right:-7rem}.-mr-32{margin-right:-8rem}.-mr-36{margin-right:-9rem}.-mr-40{margin-right:-10rem}.-mr-44{margin-right:-11rem}.-mr-48{margin-right:-12rem}.-mr-52{margin-right:-13rem}.-mr-56{margin-right:-14rem}.-mr-60{margin-right:-15rem}.-mr-64{margin-right:-16rem}.-mr-72{margin-right:-18rem}.-mr-80{margin-right:-20rem}.-mr-96{margin-right:-24rem}.-mr-px{margin-right:-1px}.-mr-0\\.5{margin-right:-0.125rem}.-mr-1\\.5{margin-right:-0.375rem}.-mr-2\\.5{margin-right:-0.625rem}.-mr-3\\.5{margin-right:-0.875rem}.mb-0{margin-bottom:0px}.mb-1{margin-bottom:0.25rem}.mb-2{margin-bottom:0.5rem}.mb-3{margin-bottom:0.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-7{margin-bottom:1.75rem}.mb-8{margin-bottom:2rem}.mb-9{margin-bottom:2.25rem}.mb-10{margin-bottom:2.5rem}.mb-11{margin-bottom:2.75rem}.mb-12{margin-bottom:3rem}.mb-14{margin-bottom:3.5rem}.mb-16{margin-bottom:4rem}.mb-20{margin-bottom:5rem}.mb-24{margin-bottom:6rem}.mb-28{margin-bottom:7rem}.mb-32{margin-bottom:8rem}.mb-36{margin-bottom:9rem}.mb-40{margin-bottom:10rem}.mb-44{margin-bottom:11rem}.mb-48{margin-bottom:12rem}.mb-52{margin-bottom:13rem}.mb-56{margin-bottom:14rem}.mb-60{margin-bottom:15rem}.mb-64{margin-bottom:16rem}.mb-72{margin-bottom:18rem}.mb-80{margin-bottom:20rem}.mb-96{margin-bottom:24rem}.mb-auto{margin-bottom:auto}.mb-px{margin-bottom:1px}.mb-0\\.5{margin-bottom:0.125rem}.mb-1\\.5{margin-bottom:0.375rem}.mb-2\\.5{margin-bottom:0.625rem}.mb-3\\.5{margin-bottom:0.875rem}.-mb-0{margin-bottom:0px}.-mb-1{margin-bottom:-0.25rem}.-mb-2{margin-bottom:-0.5rem}.-mb-3{margin-bottom:-0.75rem}.-mb-4{margin-bottom:-1rem}.-mb-5{margin-bottom:-1.25rem}.-mb-6{margin-bottom:-1.5rem}.-mb-7{margin-bottom:-1.75rem}.-mb-8{margin-bottom:-2rem}.-mb-9{margin-bottom:-2.25rem}.-mb-10{margin-bottom:-2.5rem}.-mb-11{margin-bottom:-2.75rem}.-mb-12{margin-bottom:-3rem}.-mb-14{margin-bottom:-3.5rem}.-mb-16{margin-bottom:-4rem}.-mb-20{margin-bottom:-5rem}.-mb-24{margin-bottom:-6rem}.-mb-28{margin-bottom:-7rem}.-mb-32{margin-bottom:-8rem}.-mb-36{margin-bottom:-9rem}.-mb-40{margin-bottom:-10rem}.-mb-44{margin-bottom:-11rem}.-mb-48{margin-bottom:-12rem}.-mb-52{margin-bottom:-13rem}.-mb-56{margin-bottom:-14rem}.-mb-60{margin-bottom:-15rem}.-mb-64{margin-bottom:-16rem}.-mb-72{margin-bottom:-18rem}.-mb-80{margin-bottom:-20rem}.-mb-96{margin-bottom:-24rem}.-mb-px{margin-bottom:-1px}.-mb-0\\.5{margin-bottom:-0.125rem}.-mb-1\\.5{margin-bottom:-0.375rem}.-mb-2\\.5{margin-bottom:-0.625rem}.-mb-3\\.5{margin-bottom:-0.875rem}.ml-0{margin-left:0px}.ml-1{margin-left:0.25rem}.ml-2{margin-left:0.5rem}.ml-3{margin-left:0.75rem}.ml-4{margin-left:1rem}.ml-5{margin-left:1.25rem}.ml-6{margin-left:1.5rem}.ml-7{margin-left:1.75rem}.ml-8{margin-left:2rem}.ml-9{margin-left:2.25rem}.ml-10{margin-left:2.5rem}.ml-11{margin-left:2.75rem}.ml-12{margin-left:3rem}.ml-14{margin-left:3.5rem}.ml-16{margin-left:4rem}.ml-20{margin-left:5rem}.ml-24{margin-left:6rem}.ml-28{margin-left:7rem}.ml-32{margin-left:8rem}.ml-36{margin-left:9rem}.ml-40{margin-left:10rem}.ml-44{margin-left:11rem}.ml-48{margin-left:12rem}.ml-52{margin-left:13rem}.ml-56{margin-left:14rem}.ml-60{margin-left:15rem}.ml-64{margin-left:16rem}.ml-72{margin-left:18rem}.ml-80{margin-left:20rem}.ml-96{margin-left:24rem}.ml-auto{margin-left:auto}.ml-px{margin-left:1px}.ml-0\\.5{margin-left:0.125rem}.ml-1\\.5{margin-left:0.375rem}.ml-2\\.5{margin-left:0.625rem}.ml-3\\.5{margin-left:0.875rem}.-ml-0{margin-left:0px}.-ml-1{margin-left:-0.25rem}.-ml-2{margin-left:-0.5rem}.-ml-3{margin-left:-0.75rem}.-ml-4{margin-left:-1rem}.-ml-5{margin-left:-1.25rem}.-ml-6{margin-left:-1.5rem}.-ml-7{margin-left:-1.75rem}.-ml-8{margin-left:-2rem}.-ml-9{margin-left:-2.25rem}.-ml-10{margin-left:-2.5rem}.-ml-11{margin-left:-2.75rem}.-ml-12{margin-left:-3rem}.-ml-14{margin-left:-3.5rem}.-ml-16{margin-left:-4rem}.-ml-20{margin-left:-5rem}.-ml-24{margin-left:-6rem}.-ml-28{margin-left:-7rem}.-ml-32{margin-left:-8rem}.-ml-36{margin-left:-9rem}.-ml-40{margin-left:-10rem}.-ml-44{margin-left:-11rem}.-ml-48{margin-left:-12rem}.-ml-52{margin-left:-13rem}.-ml-56{margin-left:-14rem}.-ml-60{margin-left:-15rem}.-ml-64{margin-left:-16rem}.-ml-72{margin-left:-18rem}.-ml-80{margin-left:-20rem}.-ml-96{margin-left:-24rem}.-ml-px{margin-left:-1px}.-ml-0\\.5{margin-left:-0.125rem}.-ml-1\\.5{margin-left:-0.375rem}.-ml-2\\.5{margin-left:-0.625rem}.-ml-3\\.5{margin-left:-0.875rem}.box-border{box-sizing:border-box}.box-content{box-sizing:content-box}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.inline-table{display:inline-table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row-group{display:table-row-group}.table-row{display:table-row}.flow-root{display:flow-root}.grid{display:grid}.inline-grid{display:inline-grid}.contents{display:contents}.list-item{display:list-item}.hidden{display:none}.h-0{height:0px}.h-1{height:0.25rem}.h-2{height:0.5rem}.h-3{height:0.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-20{height:5rem}.h-24{height:6rem}.h-28{height:7rem}.h-32{height:8rem}.h-36{height:9rem}.h-40{height:10rem}.h-44{height:11rem}.h-48{height:12rem}.h-52{height:13rem}.h-56{height:14rem}.h-60{height:15rem}.h-64{height:16rem}.h-72{height:18rem}.h-80{height:20rem}.h-96{height:24rem}.h-auto{height:auto}.h-px{height:1px}.h-0\\.5{height:0.125rem}.h-1\\.5{height:0.375rem}.h-2\\.5{height:0.625rem}.h-3\\.5{height:0.875rem}.h-1\\/2{height:50%}.h-1\\/3{height:33.333333%}.h-2\\/3{height:66.666667%}.h-1\\/4{height:25%}.h-2\\/4{height:50%}.h-3\\/4{height:75%}.h-1\\/5{height:20%}.h-2\\/5{height:40%}.h-3\\/5{height:60%}.h-4\\/5{height:80%}.h-1\\/6{height:16.666667%}.h-2\\/6{height:33.333333%}.h-3\\/6{height:50%}.h-4\\/6{height:66.666667%}.h-5\\/6{height:83.333333%}.h-full{height:100%}.h-screen{height:100vh}.h-XS{height:250px}.h-S{height:500px}.h-M{height:750px}.h-L{height:1000px}.h-XL{height:1250px}.h-XXL{height:1500px}.max-h-0{max-height:0px}.max-h-1{max-height:0.25rem}.max-h-2{max-height:0.5rem}.max-h-3{max-height:0.75rem}.max-h-4{max-height:1rem}.max-h-5{max-height:1.25rem}.max-h-6{max-height:1.5rem}.max-h-7{max-height:1.75rem}.max-h-8{max-height:2rem}.max-h-9{max-height:2.25rem}.max-h-10{max-height:2.5rem}.max-h-11{max-height:2.75rem}.max-h-12{max-height:3rem}.max-h-14{max-height:3.5rem}.max-h-16{max-height:4rem}.max-h-20{max-height:5rem}.max-h-24{max-height:6rem}.max-h-28{max-height:7rem}.max-h-32{max-height:8rem}.max-h-36{max-height:9rem}.max-h-40{max-height:10rem}.max-h-44{max-height:11rem}.max-h-48{max-height:12rem}.max-h-52{max-height:13rem}.max-h-56{max-height:14rem}.max-h-60{max-height:15rem}.max-h-64{max-height:16rem}.max-h-72{max-height:18rem}.max-h-80{max-height:20rem}.max-h-96{max-height:24rem}.max-h-px{max-height:1px}.max-h-0\\.5{max-height:0.125rem}.max-h-1\\.5{max-height:0.375rem}.max-h-2\\.5{max-height:0.625rem}.max-h-3\\.5{max-height:0.875rem}.max-h-full{max-height:100%}.max-h-screen{max-height:100vh}.max-h-XS{max-height:250px}.max-h-S{max-height:500px}.max-h-M{max-height:750px}.max-h-L{max-height:1000px}.max-h-XL{max-height:1250px}.max-h-XXL{max-height:1500px}.min-h-0{min-height:0px}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-0{width:0px}.w-1{width:0.25rem}.w-2{width:0.5rem}.w-3{width:0.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-32{width:8rem}.w-36{width:9rem}.w-40{width:10rem}.w-44{width:11rem}.w-48{width:12rem}.w-52{width:13rem}.w-56{width:14rem}.w-60{width:15rem}.w-64{width:16rem}.w-72{width:18rem}.w-80{width:20rem}.w-96{width:24rem}.w-auto{width:auto}.w-px{width:1px}.w-0\\.5{width:0.125rem}.w-1\\.5{width:0.375rem}.w-2\\.5{width:0.625rem}.w-3\\.5{width:0.875rem}.w-1\\/2{width:50%}.w-1\\/3{width:33.333333%}.w-2\\/3{width:66.666667%}.w-1\\/4{width:25%}.w-2\\/4{width:50%}.w-3\\/4{width:75%}.w-1\\/5{width:20%}.w-2\\/5{width:40%}.w-3\\/5{width:60%}.w-4\\/5{width:80%}.w-1\\/6{width:16.666667%}.w-2\\/6{width:33.333333%}.w-3\\/6{width:50%}.w-4\\/6{width:66.666667%}.w-5\\/6{width:83.333333%}.w-1\\/12{width:8.333333%}.w-2\\/12{width:16.666667%}.w-3\\/12{width:25%}.w-4\\/12{width:33.333333%}.w-5\\/12{width:41.666667%}.w-6\\/12{width:50%}.w-7\\/12{width:58.333333%}.w-8\\/12{width:66.666667%}.w-9\\/12{width:75%}.w-10\\/12{width:83.333333%}.w-11\\/12{width:91.666667%}.w-full{width:100%}.w-screen{width:100vw}.w-min{width:min-content}.w-max{width:max-content}.min-w-0{min-width:0px}.min-w-full{min-width:100%}.min-w-min{min-width:min-content}.min-w-max{min-width:max-content}.max-w-0{max-width:0rem}.max-w-none{max-width:none}.max-w-xs{max-width:20rem}.max-w-sm{max-width:24rem}.max-w-md{max-width:28rem}.max-w-lg{max-width:32rem}.max-w-xl{max-width:36rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-full{max-width:100%}.max-w-min{max-width:min-content}.max-w-max{max-width:max-content}.max-w-prose{max-width:65ch}.max-w-screen-sm{max-width:640px}.max-w-screen-md{max-width:768px}.max-w-screen-lg{max-width:1024px}.max-w-screen-xl{max-width:1280px}.max-w-screen-2xl{max-width:1536px}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-initial{flex:0 1 auto}.flex-none{flex:none}.flex-shrink-0{flex-shrink:0}.flex-shrink{flex-shrink:1}.flex-grow-0{flex-grow:0}.flex-grow{flex-grow:1}.table-auto{table-layout:auto}.table-fixed{table-layout:fixed}.border-collapse{border-collapse:collapse}.border-separate{border-collapse:separate}.origin-center{transform-origin:center}.origin-top{transform-origin:top}.origin-top-right{transform-origin:top right}.origin-right{transform-origin:right}.origin-bottom-right{transform-origin:bottom right}.origin-bottom{transform-origin:bottom}.origin-bottom-left{transform-origin:bottom left}.origin-left{transform-origin:left}.origin-top-left{transform-origin:top left}.transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform-gpu{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translate3d(var(--tw-translate-x), var(--tw-translate-y), 0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform-none{transform:none}.translate-x-0{--tw-translate-x:0px}.translate-x-1{--tw-translate-x:0.25rem}.translate-x-2{--tw-translate-x:0.5rem}.translate-x-3{--tw-translate-x:0.75rem}.translate-x-4{--tw-translate-x:1rem}.translate-x-5{--tw-translate-x:1.25rem}.translate-x-6{--tw-translate-x:1.5rem}.translate-x-7{--tw-translate-x:1.75rem}.translate-x-8{--tw-translate-x:2rem}.translate-x-9{--tw-translate-x:2.25rem}.translate-x-10{--tw-translate-x:2.5rem}.translate-x-11{--tw-translate-x:2.75rem}.translate-x-12{--tw-translate-x:3rem}.translate-x-14{--tw-translate-x:3.5rem}.translate-x-16{--tw-translate-x:4rem}.translate-x-20{--tw-translate-x:5rem}.translate-x-24{--tw-translate-x:6rem}.translate-x-28{--tw-translate-x:7rem}.translate-x-32{--tw-translate-x:8rem}.translate-x-36{--tw-translate-x:9rem}.translate-x-40{--tw-translate-x:10rem}.translate-x-44{--tw-translate-x:11rem}.translate-x-48{--tw-translate-x:12rem}.translate-x-52{--tw-translate-x:13rem}.translate-x-56{--tw-translate-x:14rem}.translate-x-60{--tw-translate-x:15rem}.translate-x-64{--tw-translate-x:16rem}.translate-x-72{--tw-translate-x:18rem}.translate-x-80{--tw-translate-x:20rem}.translate-x-96{--tw-translate-x:24rem}.translate-x-px{--tw-translate-x:1px}.translate-x-0\\.5{--tw-translate-x:0.125rem}.translate-x-1\\.5{--tw-translate-x:0.375rem}.translate-x-2\\.5{--tw-translate-x:0.625rem}.translate-x-3\\.5{--tw-translate-x:0.875rem}.-translate-x-0{--tw-translate-x:0px}.-translate-x-1{--tw-translate-x:-0.25rem}.-translate-x-2{--tw-translate-x:-0.5rem}.-translate-x-3{--tw-translate-x:-0.75rem}.-translate-x-4{--tw-translate-x:-1rem}.-translate-x-5{--tw-translate-x:-1.25rem}.-translate-x-6{--tw-translate-x:-1.5rem}.-translate-x-7{--tw-translate-x:-1.75rem}.-translate-x-8{--tw-translate-x:-2rem}.-translate-x-9{--tw-translate-x:-2.25rem}.-translate-x-10{--tw-translate-x:-2.5rem}.-translate-x-11{--tw-translate-x:-2.75rem}.-translate-x-12{--tw-translate-x:-3rem}.-translate-x-14{--tw-translate-x:-3.5rem}.-translate-x-16{--tw-translate-x:-4rem}.-translate-x-20{--tw-translate-x:-5rem}.-translate-x-24{--tw-translate-x:-6rem}.-translate-x-28{--tw-translate-x:-7rem}.-translate-x-32{--tw-translate-x:-8rem}.-translate-x-36{--tw-translate-x:-9rem}.-translate-x-40{--tw-translate-x:-10rem}.-translate-x-44{--tw-translate-x:-11rem}.-translate-x-48{--tw-translate-x:-12rem}.-translate-x-52{--tw-translate-x:-13rem}.-translate-x-56{--tw-translate-x:-14rem}.-translate-x-60{--tw-translate-x:-15rem}.-translate-x-64{--tw-translate-x:-16rem}.-translate-x-72{--tw-translate-x:-18rem}.-translate-x-80{--tw-translate-x:-20rem}.-translate-x-96{--tw-translate-x:-24rem}.-translate-x-px{--tw-translate-x:-1px}.-translate-x-0\\.5{--tw-translate-x:-0.125rem}.-translate-x-1\\.5{--tw-translate-x:-0.375rem}.-translate-x-2\\.5{--tw-translate-x:-0.625rem}.-translate-x-3\\.5{--tw-translate-x:-0.875rem}.translate-x-1\\/2{--tw-translate-x:50%}.translate-x-1\\/3{--tw-translate-x:33.333333%}.translate-x-2\\/3{--tw-translate-x:66.666667%}.translate-x-1\\/4{--tw-translate-x:25%}.translate-x-2\\/4{--tw-translate-x:50%}.translate-x-3\\/4{--tw-translate-x:75%}.translate-x-full{--tw-translate-x:100%}.-translate-x-1\\/2{--tw-translate-x:-50%}.-translate-x-1\\/3{--tw-translate-x:-33.333333%}.-translate-x-2\\/3{--tw-translate-x:-66.666667%}.-translate-x-1\\/4{--tw-translate-x:-25%}.-translate-x-2\\/4{--tw-translate-x:-50%}.-translate-x-3\\/4{--tw-translate-x:-75%}.-translate-x-full{--tw-translate-x:-100%}.translate-y-0{--tw-translate-y:0px}.translate-y-1{--tw-translate-y:0.25rem}.translate-y-2{--tw-translate-y:0.5rem}.translate-y-3{--tw-translate-y:0.75rem}.translate-y-4{--tw-translate-y:1rem}.translate-y-5{--tw-translate-y:1.25rem}.translate-y-6{--tw-translate-y:1.5rem}.translate-y-7{--tw-translate-y:1.75rem}.translate-y-8{--tw-translate-y:2rem}.translate-y-9{--tw-translate-y:2.25rem}.translate-y-10{--tw-translate-y:2.5rem}.translate-y-11{--tw-translate-y:2.75rem}.translate-y-12{--tw-translate-y:3rem}.translate-y-14{--tw-translate-y:3.5rem}.translate-y-16{--tw-translate-y:4rem}.translate-y-20{--tw-translate-y:5rem}.translate-y-24{--tw-translate-y:6rem}.translate-y-28{--tw-translate-y:7rem}.translate-y-32{--tw-translate-y:8rem}.translate-y-36{--tw-translate-y:9rem}.translate-y-40{--tw-translate-y:10rem}.translate-y-44{--tw-translate-y:11rem}.translate-y-48{--tw-translate-y:12rem}.translate-y-52{--tw-translate-y:13rem}.translate-y-56{--tw-translate-y:14rem}.translate-y-60{--tw-translate-y:15rem}.translate-y-64{--tw-translate-y:16rem}.translate-y-72{--tw-translate-y:18rem}.translate-y-80{--tw-translate-y:20rem}.translate-y-96{--tw-translate-y:24rem}.translate-y-px{--tw-translate-y:1px}.translate-y-0\\.5{--tw-translate-y:0.125rem}.translate-y-1\\.5{--tw-translate-y:0.375rem}.translate-y-2\\.5{--tw-translate-y:0.625rem}.translate-y-3\\.5{--tw-translate-y:0.875rem}.-translate-y-0{--tw-translate-y:0px}.-translate-y-1{--tw-translate-y:-0.25rem}.-translate-y-2{--tw-translate-y:-0.5rem}.-translate-y-3{--tw-translate-y:-0.75rem}.-translate-y-4{--tw-translate-y:-1rem}.-translate-y-5{--tw-translate-y:-1.25rem}.-translate-y-6{--tw-translate-y:-1.5rem}.-translate-y-7{--tw-translate-y:-1.75rem}.-translate-y-8{--tw-translate-y:-2rem}.-translate-y-9{--tw-translate-y:-2.25rem}.-translate-y-10{--tw-translate-y:-2.5rem}.-translate-y-11{--tw-translate-y:-2.75rem}.-translate-y-12{--tw-translate-y:-3rem}.-translate-y-14{--tw-translate-y:-3.5rem}.-translate-y-16{--tw-translate-y:-4rem}.-translate-y-20{--tw-translate-y:-5rem}.-translate-y-24{--tw-translate-y:-6rem}.-translate-y-28{--tw-translate-y:-7rem}.-translate-y-32{--tw-translate-y:-8rem}.-translate-y-36{--tw-translate-y:-9rem}.-translate-y-40{--tw-translate-y:-10rem}.-translate-y-44{--tw-translate-y:-11rem}.-translate-y-48{--tw-translate-y:-12rem}.-translate-y-52{--tw-translate-y:-13rem}.-translate-y-56{--tw-translate-y:-14rem}.-translate-y-60{--tw-translate-y:-15rem}.-translate-y-64{--tw-translate-y:-16rem}.-translate-y-72{--tw-translate-y:-18rem}.-translate-y-80{--tw-translate-y:-20rem}.-translate-y-96{--tw-translate-y:-24rem}.-translate-y-px{--tw-translate-y:-1px}.-translate-y-0\\.5{--tw-translate-y:-0.125rem}.-translate-y-1\\.5{--tw-translate-y:-0.375rem}.-translate-y-2\\.5{--tw-translate-y:-0.625rem}.-translate-y-3\\.5{--tw-translate-y:-0.875rem}.translate-y-1\\/2{--tw-translate-y:50%}.translate-y-1\\/3{--tw-translate-y:33.333333%}.translate-y-2\\/3{--tw-translate-y:66.666667%}.translate-y-1\\/4{--tw-translate-y:25%}.translate-y-2\\/4{--tw-translate-y:50%}.translate-y-3\\/4{--tw-translate-y:75%}.translate-y-full{--tw-translate-y:100%}.-translate-y-1\\/2{--tw-translate-y:-50%}.-translate-y-1\\/3{--tw-translate-y:-33.333333%}.-translate-y-2\\/3{--tw-translate-y:-66.666667%}.-translate-y-1\\/4{--tw-translate-y:-25%}.-translate-y-2\\/4{--tw-translate-y:-50%}.-translate-y-3\\/4{--tw-translate-y:-75%}.-translate-y-full{--tw-translate-y:-100%}.hover\\:translate-x-0:hover{--tw-translate-x:0px}.hover\\:translate-x-1:hover{--tw-translate-x:0.25rem}.hover\\:translate-x-2:hover{--tw-translate-x:0.5rem}.hover\\:translate-x-3:hover{--tw-translate-x:0.75rem}.hover\\:translate-x-4:hover{--tw-translate-x:1rem}.hover\\:translate-x-5:hover{--tw-translate-x:1.25rem}.hover\\:translate-x-6:hover{--tw-translate-x:1.5rem}.hover\\:translate-x-7:hover{--tw-translate-x:1.75rem}.hover\\:translate-x-8:hover{--tw-translate-x:2rem}.hover\\:translate-x-9:hover{--tw-translate-x:2.25rem}.hover\\:translate-x-10:hover{--tw-translate-x:2.5rem}.hover\\:translate-x-11:hover{--tw-translate-x:2.75rem}.hover\\:translate-x-12:hover{--tw-translate-x:3rem}.hover\\:translate-x-14:hover{--tw-translate-x:3.5rem}.hover\\:translate-x-16:hover{--tw-translate-x:4rem}.hover\\:translate-x-20:hover{--tw-translate-x:5rem}.hover\\:translate-x-24:hover{--tw-translate-x:6rem}.hover\\:translate-x-28:hover{--tw-translate-x:7rem}.hover\\:translate-x-32:hover{--tw-translate-x:8rem}.hover\\:translate-x-36:hover{--tw-translate-x:9rem}.hover\\:translate-x-40:hover{--tw-translate-x:10rem}.hover\\:translate-x-44:hover{--tw-translate-x:11rem}.hover\\:translate-x-48:hover{--tw-translate-x:12rem}.hover\\:translate-x-52:hover{--tw-translate-x:13rem}.hover\\:translate-x-56:hover{--tw-translate-x:14rem}.hover\\:translate-x-60:hover{--tw-translate-x:15rem}.hover\\:translate-x-64:hover{--tw-translate-x:16rem}.hover\\:translate-x-72:hover{--tw-translate-x:18rem}.hover\\:translate-x-80:hover{--tw-translate-x:20rem}.hover\\:translate-x-96:hover{--tw-translate-x:24rem}.hover\\:translate-x-px:hover{--tw-translate-x:1px}.hover\\:translate-x-0\\.5:hover{--tw-translate-x:0.125rem}.hover\\:translate-x-1\\.5:hover{--tw-translate-x:0.375rem}.hover\\:translate-x-2\\.5:hover{--tw-translate-x:0.625rem}.hover\\:translate-x-3\\.5:hover{--tw-translate-x:0.875rem}.hover\\:-translate-x-0:hover{--tw-translate-x:0px}.hover\\:-translate-x-1:hover{--tw-translate-x:-0.25rem}.hover\\:-translate-x-2:hover{--tw-translate-x:-0.5rem}.hover\\:-translate-x-3:hover{--tw-translate-x:-0.75rem}.hover\\:-translate-x-4:hover{--tw-translate-x:-1rem}.hover\\:-translate-x-5:hover{--tw-translate-x:-1.25rem}.hover\\:-translate-x-6:hover{--tw-translate-x:-1.5rem}.hover\\:-translate-x-7:hover{--tw-translate-x:-1.75rem}.hover\\:-translate-x-8:hover{--tw-translate-x:-2rem}.hover\\:-translate-x-9:hover{--tw-translate-x:-2.25rem}.hover\\:-translate-x-10:hover{--tw-translate-x:-2.5rem}.hover\\:-translate-x-11:hover{--tw-translate-x:-2.75rem}.hover\\:-translate-x-12:hover{--tw-translate-x:-3rem}.hover\\:-translate-x-14:hover{--tw-translate-x:-3.5rem}.hover\\:-translate-x-16:hover{--tw-translate-x:-4rem}.hover\\:-translate-x-20:hover{--tw-translate-x:-5rem}.hover\\:-translate-x-24:hover{--tw-translate-x:-6rem}.hover\\:-translate-x-28:hover{--tw-translate-x:-7rem}.hover\\:-translate-x-32:hover{--tw-translate-x:-8rem}.hover\\:-translate-x-36:hover{--tw-translate-x:-9rem}.hover\\:-translate-x-40:hover{--tw-translate-x:-10rem}.hover\\:-translate-x-44:hover{--tw-translate-x:-11rem}.hover\\:-translate-x-48:hover{--tw-translate-x:-12rem}.hover\\:-translate-x-52:hover{--tw-translate-x:-13rem}.hover\\:-translate-x-56:hover{--tw-translate-x:-14rem}.hover\\:-translate-x-60:hover{--tw-translate-x:-15rem}.hover\\:-translate-x-64:hover{--tw-translate-x:-16rem}.hover\\:-translate-x-72:hover{--tw-translate-x:-18rem}.hover\\:-translate-x-80:hover{--tw-translate-x:-20rem}.hover\\:-translate-x-96:hover{--tw-translate-x:-24rem}.hover\\:-translate-x-px:hover{--tw-translate-x:-1px}.hover\\:-translate-x-0\\.5:hover{--tw-translate-x:-0.125rem}.hover\\:-translate-x-1\\.5:hover{--tw-translate-x:-0.375rem}.hover\\:-translate-x-2\\.5:hover{--tw-translate-x:-0.625rem}.hover\\:-translate-x-3\\.5:hover{--tw-translate-x:-0.875rem}.hover\\:translate-x-1\\/2:hover{--tw-translate-x:50%}.hover\\:translate-x-1\\/3:hover{--tw-translate-x:33.333333%}.hover\\:translate-x-2\\/3:hover{--tw-translate-x:66.666667%}.hover\\:translate-x-1\\/4:hover{--tw-translate-x:25%}.hover\\:translate-x-2\\/4:hover{--tw-translate-x:50%}.hover\\:translate-x-3\\/4:hover{--tw-translate-x:75%}.hover\\:translate-x-full:hover{--tw-translate-x:100%}.hover\\:-translate-x-1\\/2:hover{--tw-translate-x:-50%}.hover\\:-translate-x-1\\/3:hover{--tw-translate-x:-33.333333%}.hover\\:-translate-x-2\\/3:hover{--tw-translate-x:-66.666667%}.hover\\:-translate-x-1\\/4:hover{--tw-translate-x:-25%}.hover\\:-translate-x-2\\/4:hover{--tw-translate-x:-50%}.hover\\:-translate-x-3\\/4:hover{--tw-translate-x:-75%}.hover\\:-translate-x-full:hover{--tw-translate-x:-100%}.hover\\:translate-y-0:hover{--tw-translate-y:0px}.hover\\:translate-y-1:hover{--tw-translate-y:0.25rem}.hover\\:translate-y-2:hover{--tw-translate-y:0.5rem}.hover\\:translate-y-3:hover{--tw-translate-y:0.75rem}.hover\\:translate-y-4:hover{--tw-translate-y:1rem}.hover\\:translate-y-5:hover{--tw-translate-y:1.25rem}.hover\\:translate-y-6:hover{--tw-translate-y:1.5rem}.hover\\:translate-y-7:hover{--tw-translate-y:1.75rem}.hover\\:translate-y-8:hover{--tw-translate-y:2rem}.hover\\:translate-y-9:hover{--tw-translate-y:2.25rem}.hover\\:translate-y-10:hover{--tw-translate-y:2.5rem}.hover\\:translate-y-11:hover{--tw-translate-y:2.75rem}.hover\\:translate-y-12:hover{--tw-translate-y:3rem}.hover\\:translate-y-14:hover{--tw-translate-y:3.5rem}.hover\\:translate-y-16:hover{--tw-translate-y:4rem}.hover\\:translate-y-20:hover{--tw-translate-y:5rem}.hover\\:translate-y-24:hover{--tw-translate-y:6rem}.hover\\:translate-y-28:hover{--tw-translate-y:7rem}.hover\\:translate-y-32:hover{--tw-translate-y:8rem}.hover\\:translate-y-36:hover{--tw-translate-y:9rem}.hover\\:translate-y-40:hover{--tw-translate-y:10rem}.hover\\:translate-y-44:hover{--tw-translate-y:11rem}.hover\\:translate-y-48:hover{--tw-translate-y:12rem}.hover\\:translate-y-52:hover{--tw-translate-y:13rem}.hover\\:translate-y-56:hover{--tw-translate-y:14rem}.hover\\:translate-y-60:hover{--tw-translate-y:15rem}.hover\\:translate-y-64:hover{--tw-translate-y:16rem}.hover\\:translate-y-72:hover{--tw-translate-y:18rem}.hover\\:translate-y-80:hover{--tw-translate-y:20rem}.hover\\:translate-y-96:hover{--tw-translate-y:24rem}.hover\\:translate-y-px:hover{--tw-translate-y:1px}.hover\\:translate-y-0\\.5:hover{--tw-translate-y:0.125rem}.hover\\:translate-y-1\\.5:hover{--tw-translate-y:0.375rem}.hover\\:translate-y-2\\.5:hover{--tw-translate-y:0.625rem}.hover\\:translate-y-3\\.5:hover{--tw-translate-y:0.875rem}.hover\\:-translate-y-0:hover{--tw-translate-y:0px}.hover\\:-translate-y-1:hover{--tw-translate-y:-0.25rem}.hover\\:-translate-y-2:hover{--tw-translate-y:-0.5rem}.hover\\:-translate-y-3:hover{--tw-translate-y:-0.75rem}.hover\\:-translate-y-4:hover{--tw-translate-y:-1rem}.hover\\:-translate-y-5:hover{--tw-translate-y:-1.25rem}.hover\\:-translate-y-6:hover{--tw-translate-y:-1.5rem}.hover\\:-translate-y-7:hover{--tw-translate-y:-1.75rem}.hover\\:-translate-y-8:hover{--tw-translate-y:-2rem}.hover\\:-translate-y-9:hover{--tw-translate-y:-2.25rem}.hover\\:-translate-y-10:hover{--tw-translate-y:-2.5rem}.hover\\:-translate-y-11:hover{--tw-translate-y:-2.75rem}.hover\\:-translate-y-12:hover{--tw-translate-y:-3rem}.hover\\:-translate-y-14:hover{--tw-translate-y:-3.5rem}.hover\\:-translate-y-16:hover{--tw-translate-y:-4rem}.hover\\:-translate-y-20:hover{--tw-translate-y:-5rem}.hover\\:-translate-y-24:hover{--tw-translate-y:-6rem}.hover\\:-translate-y-28:hover{--tw-translate-y:-7rem}.hover\\:-translate-y-32:hover{--tw-translate-y:-8rem}.hover\\:-translate-y-36:hover{--tw-translate-y:-9rem}.hover\\:-translate-y-40:hover{--tw-translate-y:-10rem}.hover\\:-translate-y-44:hover{--tw-translate-y:-11rem}.hover\\:-translate-y-48:hover{--tw-translate-y:-12rem}.hover\\:-translate-y-52:hover{--tw-translate-y:-13rem}.hover\\:-translate-y-56:hover{--tw-translate-y:-14rem}.hover\\:-translate-y-60:hover{--tw-translate-y:-15rem}.hover\\:-translate-y-64:hover{--tw-translate-y:-16rem}.hover\\:-translate-y-72:hover{--tw-translate-y:-18rem}.hover\\:-translate-y-80:hover{--tw-translate-y:-20rem}.hover\\:-translate-y-96:hover{--tw-translate-y:-24rem}.hover\\:-translate-y-px:hover{--tw-translate-y:-1px}.hover\\:-translate-y-0\\.5:hover{--tw-translate-y:-0.125rem}.hover\\:-translate-y-1\\.5:hover{--tw-translate-y:-0.375rem}.hover\\:-translate-y-2\\.5:hover{--tw-translate-y:-0.625rem}.hover\\:-translate-y-3\\.5:hover{--tw-translate-y:-0.875rem}.hover\\:translate-y-1\\/2:hover{--tw-translate-y:50%}.hover\\:translate-y-1\\/3:hover{--tw-translate-y:33.333333%}.hover\\:translate-y-2\\/3:hover{--tw-translate-y:66.666667%}.hover\\:translate-y-1\\/4:hover{--tw-translate-y:25%}.hover\\:translate-y-2\\/4:hover{--tw-translate-y:50%}.hover\\:translate-y-3\\/4:hover{--tw-translate-y:75%}.hover\\:translate-y-full:hover{--tw-translate-y:100%}.hover\\:-translate-y-1\\/2:hover{--tw-translate-y:-50%}.hover\\:-translate-y-1\\/3:hover{--tw-translate-y:-33.333333%}.hover\\:-translate-y-2\\/3:hover{--tw-translate-y:-66.666667%}.hover\\:-translate-y-1\\/4:hover{--tw-translate-y:-25%}.hover\\:-translate-y-2\\/4:hover{--tw-translate-y:-50%}.hover\\:-translate-y-3\\/4:hover{--tw-translate-y:-75%}.hover\\:-translate-y-full:hover{--tw-translate-y:-100%}.focus\\:translate-x-0:focus{--tw-translate-x:0px}.focus\\:translate-x-1:focus{--tw-translate-x:0.25rem}.focus\\:translate-x-2:focus{--tw-translate-x:0.5rem}.focus\\:translate-x-3:focus{--tw-translate-x:0.75rem}.focus\\:translate-x-4:focus{--tw-translate-x:1rem}.focus\\:translate-x-5:focus{--tw-translate-x:1.25rem}.focus\\:translate-x-6:focus{--tw-translate-x:1.5rem}.focus\\:translate-x-7:focus{--tw-translate-x:1.75rem}.focus\\:translate-x-8:focus{--tw-translate-x:2rem}.focus\\:translate-x-9:focus{--tw-translate-x:2.25rem}.focus\\:translate-x-10:focus{--tw-translate-x:2.5rem}.focus\\:translate-x-11:focus{--tw-translate-x:2.75rem}.focus\\:translate-x-12:focus{--tw-translate-x:3rem}.focus\\:translate-x-14:focus{--tw-translate-x:3.5rem}.focus\\:translate-x-16:focus{--tw-translate-x:4rem}.focus\\:translate-x-20:focus{--tw-translate-x:5rem}.focus\\:translate-x-24:focus{--tw-translate-x:6rem}.focus\\:translate-x-28:focus{--tw-translate-x:7rem}.focus\\:translate-x-32:focus{--tw-translate-x:8rem}.focus\\:translate-x-36:focus{--tw-translate-x:9rem}.focus\\:translate-x-40:focus{--tw-translate-x:10rem}.focus\\:translate-x-44:focus{--tw-translate-x:11rem}.focus\\:translate-x-48:focus{--tw-translate-x:12rem}.focus\\:translate-x-52:focus{--tw-translate-x:13rem}.focus\\:translate-x-56:focus{--tw-translate-x:14rem}.focus\\:translate-x-60:focus{--tw-translate-x:15rem}.focus\\:translate-x-64:focus{--tw-translate-x:16rem}.focus\\:translate-x-72:focus{--tw-translate-x:18rem}.focus\\:translate-x-80:focus{--tw-translate-x:20rem}.focus\\:translate-x-96:focus{--tw-translate-x:24rem}.focus\\:translate-x-px:focus{--tw-translate-x:1px}.focus\\:translate-x-0\\.5:focus{--tw-translate-x:0.125rem}.focus\\:translate-x-1\\.5:focus{--tw-translate-x:0.375rem}.focus\\:translate-x-2\\.5:focus{--tw-translate-x:0.625rem}.focus\\:translate-x-3\\.5:focus{--tw-translate-x:0.875rem}.focus\\:-translate-x-0:focus{--tw-translate-x:0px}.focus\\:-translate-x-1:focus{--tw-translate-x:-0.25rem}.focus\\:-translate-x-2:focus{--tw-translate-x:-0.5rem}.focus\\:-translate-x-3:focus{--tw-translate-x:-0.75rem}.focus\\:-translate-x-4:focus{--tw-translate-x:-1rem}.focus\\:-translate-x-5:focus{--tw-translate-x:-1.25rem}.focus\\:-translate-x-6:focus{--tw-translate-x:-1.5rem}.focus\\:-translate-x-7:focus{--tw-translate-x:-1.75rem}.focus\\:-translate-x-8:focus{--tw-translate-x:-2rem}.focus\\:-translate-x-9:focus{--tw-translate-x:-2.25rem}.focus\\:-translate-x-10:focus{--tw-translate-x:-2.5rem}.focus\\:-translate-x-11:focus{--tw-translate-x:-2.75rem}.focus\\:-translate-x-12:focus{--tw-translate-x:-3rem}.focus\\:-translate-x-14:focus{--tw-translate-x:-3.5rem}.focus\\:-translate-x-16:focus{--tw-translate-x:-4rem}.focus\\:-translate-x-20:focus{--tw-translate-x:-5rem}.focus\\:-translate-x-24:focus{--tw-translate-x:-6rem}.focus\\:-translate-x-28:focus{--tw-translate-x:-7rem}.focus\\:-translate-x-32:focus{--tw-translate-x:-8rem}.focus\\:-translate-x-36:focus{--tw-translate-x:-9rem}.focus\\:-translate-x-40:focus{--tw-translate-x:-10rem}.focus\\:-translate-x-44:focus{--tw-translate-x:-11rem}.focus\\:-translate-x-48:focus{--tw-translate-x:-12rem}.focus\\:-translate-x-52:focus{--tw-translate-x:-13rem}.focus\\:-translate-x-56:focus{--tw-translate-x:-14rem}.focus\\:-translate-x-60:focus{--tw-translate-x:-15rem}.focus\\:-translate-x-64:focus{--tw-translate-x:-16rem}.focus\\:-translate-x-72:focus{--tw-translate-x:-18rem}.focus\\:-translate-x-80:focus{--tw-translate-x:-20rem}.focus\\:-translate-x-96:focus{--tw-translate-x:-24rem}.focus\\:-translate-x-px:focus{--tw-translate-x:-1px}.focus\\:-translate-x-0\\.5:focus{--tw-translate-x:-0.125rem}.focus\\:-translate-x-1\\.5:focus{--tw-translate-x:-0.375rem}.focus\\:-translate-x-2\\.5:focus{--tw-translate-x:-0.625rem}.focus\\:-translate-x-3\\.5:focus{--tw-translate-x:-0.875rem}.focus\\:translate-x-1\\/2:focus{--tw-translate-x:50%}.focus\\:translate-x-1\\/3:focus{--tw-translate-x:33.333333%}.focus\\:translate-x-2\\/3:focus{--tw-translate-x:66.666667%}.focus\\:translate-x-1\\/4:focus{--tw-translate-x:25%}.focus\\:translate-x-2\\/4:focus{--tw-translate-x:50%}.focus\\:translate-x-3\\/4:focus{--tw-translate-x:75%}.focus\\:translate-x-full:focus{--tw-translate-x:100%}.focus\\:-translate-x-1\\/2:focus{--tw-translate-x:-50%}.focus\\:-translate-x-1\\/3:focus{--tw-translate-x:-33.333333%}.focus\\:-translate-x-2\\/3:focus{--tw-translate-x:-66.666667%}.focus\\:-translate-x-1\\/4:focus{--tw-translate-x:-25%}.focus\\:-translate-x-2\\/4:focus{--tw-translate-x:-50%}.focus\\:-translate-x-3\\/4:focus{--tw-translate-x:-75%}.focus\\:-translate-x-full:focus{--tw-translate-x:-100%}.focus\\:translate-y-0:focus{--tw-translate-y:0px}.focus\\:translate-y-1:focus{--tw-translate-y:0.25rem}.focus\\:translate-y-2:focus{--tw-translate-y:0.5rem}.focus\\:translate-y-3:focus{--tw-translate-y:0.75rem}.focus\\:translate-y-4:focus{--tw-translate-y:1rem}.focus\\:translate-y-5:focus{--tw-translate-y:1.25rem}.focus\\:translate-y-6:focus{--tw-translate-y:1.5rem}.focus\\:translate-y-7:focus{--tw-translate-y:1.75rem}.focus\\:translate-y-8:focus{--tw-translate-y:2rem}.focus\\:translate-y-9:focus{--tw-translate-y:2.25rem}.focus\\:translate-y-10:focus{--tw-translate-y:2.5rem}.focus\\:translate-y-11:focus{--tw-translate-y:2.75rem}.focus\\:translate-y-12:focus{--tw-translate-y:3rem}.focus\\:translate-y-14:focus{--tw-translate-y:3.5rem}.focus\\:translate-y-16:focus{--tw-translate-y:4rem}.focus\\:translate-y-20:focus{--tw-translate-y:5rem}.focus\\:translate-y-24:focus{--tw-translate-y:6rem}.focus\\:translate-y-28:focus{--tw-translate-y:7rem}.focus\\:translate-y-32:focus{--tw-translate-y:8rem}.focus\\:translate-y-36:focus{--tw-translate-y:9rem}.focus\\:translate-y-40:focus{--tw-translate-y:10rem}.focus\\:translate-y-44:focus{--tw-translate-y:11rem}.focus\\:translate-y-48:focus{--tw-translate-y:12rem}.focus\\:translate-y-52:focus{--tw-translate-y:13rem}.focus\\:translate-y-56:focus{--tw-translate-y:14rem}.focus\\:translate-y-60:focus{--tw-translate-y:15rem}.focus\\:translate-y-64:focus{--tw-translate-y:16rem}.focus\\:translate-y-72:focus{--tw-translate-y:18rem}.focus\\:translate-y-80:focus{--tw-translate-y:20rem}.focus\\:translate-y-96:focus{--tw-translate-y:24rem}.focus\\:translate-y-px:focus{--tw-translate-y:1px}.focus\\:translate-y-0\\.5:focus{--tw-translate-y:0.125rem}.focus\\:translate-y-1\\.5:focus{--tw-translate-y:0.375rem}.focus\\:translate-y-2\\.5:focus{--tw-translate-y:0.625rem}.focus\\:translate-y-3\\.5:focus{--tw-translate-y:0.875rem}.focus\\:-translate-y-0:focus{--tw-translate-y:0px}.focus\\:-translate-y-1:focus{--tw-translate-y:-0.25rem}.focus\\:-translate-y-2:focus{--tw-translate-y:-0.5rem}.focus\\:-translate-y-3:focus{--tw-translate-y:-0.75rem}.focus\\:-translate-y-4:focus{--tw-translate-y:-1rem}.focus\\:-translate-y-5:focus{--tw-translate-y:-1.25rem}.focus\\:-translate-y-6:focus{--tw-translate-y:-1.5rem}.focus\\:-translate-y-7:focus{--tw-translate-y:-1.75rem}.focus\\:-translate-y-8:focus{--tw-translate-y:-2rem}.focus\\:-translate-y-9:focus{--tw-translate-y:-2.25rem}.focus\\:-translate-y-10:focus{--tw-translate-y:-2.5rem}.focus\\:-translate-y-11:focus{--tw-translate-y:-2.75rem}.focus\\:-translate-y-12:focus{--tw-translate-y:-3rem}.focus\\:-translate-y-14:focus{--tw-translate-y:-3.5rem}.focus\\:-translate-y-16:focus{--tw-translate-y:-4rem}.focus\\:-translate-y-20:focus{--tw-translate-y:-5rem}.focus\\:-translate-y-24:focus{--tw-translate-y:-6rem}.focus\\:-translate-y-28:focus{--tw-translate-y:-7rem}.focus\\:-translate-y-32:focus{--tw-translate-y:-8rem}.focus\\:-translate-y-36:focus{--tw-translate-y:-9rem}.focus\\:-translate-y-40:focus{--tw-translate-y:-10rem}.focus\\:-translate-y-44:focus{--tw-translate-y:-11rem}.focus\\:-translate-y-48:focus{--tw-translate-y:-12rem}.focus\\:-translate-y-52:focus{--tw-translate-y:-13rem}.focus\\:-translate-y-56:focus{--tw-translate-y:-14rem}.focus\\:-translate-y-60:focus{--tw-translate-y:-15rem}.focus\\:-translate-y-64:focus{--tw-translate-y:-16rem}.focus\\:-translate-y-72:focus{--tw-translate-y:-18rem}.focus\\:-translate-y-80:focus{--tw-translate-y:-20rem}.focus\\:-translate-y-96:focus{--tw-translate-y:-24rem}.focus\\:-translate-y-px:focus{--tw-translate-y:-1px}.focus\\:-translate-y-0\\.5:focus{--tw-translate-y:-0.125rem}.focus\\:-translate-y-1\\.5:focus{--tw-translate-y:-0.375rem}.focus\\:-translate-y-2\\.5:focus{--tw-translate-y:-0.625rem}.focus\\:-translate-y-3\\.5:focus{--tw-translate-y:-0.875rem}.focus\\:translate-y-1\\/2:focus{--tw-translate-y:50%}.focus\\:translate-y-1\\/3:focus{--tw-translate-y:33.333333%}.focus\\:translate-y-2\\/3:focus{--tw-translate-y:66.666667%}.focus\\:translate-y-1\\/4:focus{--tw-translate-y:25%}.focus\\:translate-y-2\\/4:focus{--tw-translate-y:50%}.focus\\:translate-y-3\\/4:focus{--tw-translate-y:75%}.focus\\:translate-y-full:focus{--tw-translate-y:100%}.focus\\:-translate-y-1\\/2:focus{--tw-translate-y:-50%}.focus\\:-translate-y-1\\/3:focus{--tw-translate-y:-33.333333%}.focus\\:-translate-y-2\\/3:focus{--tw-translate-y:-66.666667%}.focus\\:-translate-y-1\\/4:focus{--tw-translate-y:-25%}.focus\\:-translate-y-2\\/4:focus{--tw-translate-y:-50%}.focus\\:-translate-y-3\\/4:focus{--tw-translate-y:-75%}.focus\\:-translate-y-full:focus{--tw-translate-y:-100%}.rotate-0{--tw-rotate:0deg}.rotate-1{--tw-rotate:1deg}.rotate-2{--tw-rotate:2deg}.rotate-3{--tw-rotate:3deg}.rotate-6{--tw-rotate:6deg}.rotate-12{--tw-rotate:12deg}.rotate-45{--tw-rotate:45deg}.rotate-90{--tw-rotate:90deg}.rotate-180{--tw-rotate:180deg}.-rotate-180{--tw-rotate:-180deg}.-rotate-90{--tw-rotate:-90deg}.-rotate-45{--tw-rotate:-45deg}.-rotate-12{--tw-rotate:-12deg}.-rotate-6{--tw-rotate:-6deg}.-rotate-3{--tw-rotate:-3deg}.-rotate-2{--tw-rotate:-2deg}.-rotate-1{--tw-rotate:-1deg}.hover\\:rotate-0:hover{--tw-rotate:0deg}.hover\\:rotate-1:hover{--tw-rotate:1deg}.hover\\:rotate-2:hover{--tw-rotate:2deg}.hover\\:rotate-3:hover{--tw-rotate:3deg}.hover\\:rotate-6:hover{--tw-rotate:6deg}.hover\\:rotate-12:hover{--tw-rotate:12deg}.hover\\:rotate-45:hover{--tw-rotate:45deg}.hover\\:rotate-90:hover{--tw-rotate:90deg}.hover\\:rotate-180:hover{--tw-rotate:180deg}.hover\\:-rotate-180:hover{--tw-rotate:-180deg}.hover\\:-rotate-90:hover{--tw-rotate:-90deg}.hover\\:-rotate-45:hover{--tw-rotate:-45deg}.hover\\:-rotate-12:hover{--tw-rotate:-12deg}.hover\\:-rotate-6:hover{--tw-rotate:-6deg}.hover\\:-rotate-3:hover{--tw-rotate:-3deg}.hover\\:-rotate-2:hover{--tw-rotate:-2deg}.hover\\:-rotate-1:hover{--tw-rotate:-1deg}.focus\\:rotate-0:focus{--tw-rotate:0deg}.focus\\:rotate-1:focus{--tw-rotate:1deg}.focus\\:rotate-2:focus{--tw-rotate:2deg}.focus\\:rotate-3:focus{--tw-rotate:3deg}.focus\\:rotate-6:focus{--tw-rotate:6deg}.focus\\:rotate-12:focus{--tw-rotate:12deg}.focus\\:rotate-45:focus{--tw-rotate:45deg}.focus\\:rotate-90:focus{--tw-rotate:90deg}.focus\\:rotate-180:focus{--tw-rotate:180deg}.focus\\:-rotate-180:focus{--tw-rotate:-180deg}.focus\\:-rotate-90:focus{--tw-rotate:-90deg}.focus\\:-rotate-45:focus{--tw-rotate:-45deg}.focus\\:-rotate-12:focus{--tw-rotate:-12deg}.focus\\:-rotate-6:focus{--tw-rotate:-6deg}.focus\\:-rotate-3:focus{--tw-rotate:-3deg}.focus\\:-rotate-2:focus{--tw-rotate:-2deg}.focus\\:-rotate-1:focus{--tw-rotate:-1deg}.skew-x-0{--tw-skew-x:0deg}.skew-x-1{--tw-skew-x:1deg}.skew-x-2{--tw-skew-x:2deg}.skew-x-3{--tw-skew-x:3deg}.skew-x-6{--tw-skew-x:6deg}.skew-x-12{--tw-skew-x:12deg}.-skew-x-12{--tw-skew-x:-12deg}.-skew-x-6{--tw-skew-x:-6deg}.-skew-x-3{--tw-skew-x:-3deg}.-skew-x-2{--tw-skew-x:-2deg}.-skew-x-1{--tw-skew-x:-1deg}.skew-y-0{--tw-skew-y:0deg}.skew-y-1{--tw-skew-y:1deg}.skew-y-2{--tw-skew-y:2deg}.skew-y-3{--tw-skew-y:3deg}.skew-y-6{--tw-skew-y:6deg}.skew-y-12{--tw-skew-y:12deg}.-skew-y-12{--tw-skew-y:-12deg}.-skew-y-6{--tw-skew-y:-6deg}.-skew-y-3{--tw-skew-y:-3deg}.-skew-y-2{--tw-skew-y:-2deg}.-skew-y-1{--tw-skew-y:-1deg}.hover\\:skew-x-0:hover{--tw-skew-x:0deg}.hover\\:skew-x-1:hover{--tw-skew-x:1deg}.hover\\:skew-x-2:hover{--tw-skew-x:2deg}.hover\\:skew-x-3:hover{--tw-skew-x:3deg}.hover\\:skew-x-6:hover{--tw-skew-x:6deg}.hover\\:skew-x-12:hover{--tw-skew-x:12deg}.hover\\:-skew-x-12:hover{--tw-skew-x:-12deg}.hover\\:-skew-x-6:hover{--tw-skew-x:-6deg}.hover\\:-skew-x-3:hover{--tw-skew-x:-3deg}.hover\\:-skew-x-2:hover{--tw-skew-x:-2deg}.hover\\:-skew-x-1:hover{--tw-skew-x:-1deg}.hover\\:skew-y-0:hover{--tw-skew-y:0deg}.hover\\:skew-y-1:hover{--tw-skew-y:1deg}.hover\\:skew-y-2:hover{--tw-skew-y:2deg}.hover\\:skew-y-3:hover{--tw-skew-y:3deg}.hover\\:skew-y-6:hover{--tw-skew-y:6deg}.hover\\:skew-y-12:hover{--tw-skew-y:12deg}.hover\\:-skew-y-12:hover{--tw-skew-y:-12deg}.hover\\:-skew-y-6:hover{--tw-skew-y:-6deg}.hover\\:-skew-y-3:hover{--tw-skew-y:-3deg}.hover\\:-skew-y-2:hover{--tw-skew-y:-2deg}.hover\\:-skew-y-1:hover{--tw-skew-y:-1deg}.focus\\:skew-x-0:focus{--tw-skew-x:0deg}.focus\\:skew-x-1:focus{--tw-skew-x:1deg}.focus\\:skew-x-2:focus{--tw-skew-x:2deg}.focus\\:skew-x-3:focus{--tw-skew-x:3deg}.focus\\:skew-x-6:focus{--tw-skew-x:6deg}.focus\\:skew-x-12:focus{--tw-skew-x:12deg}.focus\\:-skew-x-12:focus{--tw-skew-x:-12deg}.focus\\:-skew-x-6:focus{--tw-skew-x:-6deg}.focus\\:-skew-x-3:focus{--tw-skew-x:-3deg}.focus\\:-skew-x-2:focus{--tw-skew-x:-2deg}.focus\\:-skew-x-1:focus{--tw-skew-x:-1deg}.focus\\:skew-y-0:focus{--tw-skew-y:0deg}.focus\\:skew-y-1:focus{--tw-skew-y:1deg}.focus\\:skew-y-2:focus{--tw-skew-y:2deg}.focus\\:skew-y-3:focus{--tw-skew-y:3deg}.focus\\:skew-y-6:focus{--tw-skew-y:6deg}.focus\\:skew-y-12:focus{--tw-skew-y:12deg}.focus\\:-skew-y-12:focus{--tw-skew-y:-12deg}.focus\\:-skew-y-6:focus{--tw-skew-y:-6deg}.focus\\:-skew-y-3:focus{--tw-skew-y:-3deg}.focus\\:-skew-y-2:focus{--tw-skew-y:-2deg}.focus\\:-skew-y-1:focus{--tw-skew-y:-1deg}.scale-0{--tw-scale-x:0;--tw-scale-y:0}.scale-50{--tw-scale-x:.5;--tw-scale-y:.5}.scale-75{--tw-scale-x:.75;--tw-scale-y:.75}.scale-90{--tw-scale-x:.9;--tw-scale-y:.9}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05}.scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1}.scale-125{--tw-scale-x:1.25;--tw-scale-y:1.25}.scale-150{--tw-scale-x:1.5;--tw-scale-y:1.5}.hover\\:scale-0:hover{--tw-scale-x:0;--tw-scale-y:0}.hover\\:scale-50:hover{--tw-scale-x:.5;--tw-scale-y:.5}.hover\\:scale-75:hover{--tw-scale-x:.75;--tw-scale-y:.75}.hover\\:scale-90:hover{--tw-scale-x:.9;--tw-scale-y:.9}.hover\\:scale-95:hover{--tw-scale-x:.95;--tw-scale-y:.95}.hover\\:scale-100:hover{--tw-scale-x:1;--tw-scale-y:1}.hover\\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.hover\\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.hover\\:scale-125:hover{--tw-scale-x:1.25;--tw-scale-y:1.25}.hover\\:scale-150:hover{--tw-scale-x:1.5;--tw-scale-y:1.5}.focus\\:scale-0:focus{--tw-scale-x:0;--tw-scale-y:0}.focus\\:scale-50:focus{--tw-scale-x:.5;--tw-scale-y:.5}.focus\\:scale-75:focus{--tw-scale-x:.75;--tw-scale-y:.75}.focus\\:scale-90:focus{--tw-scale-x:.9;--tw-scale-y:.9}.focus\\:scale-95:focus{--tw-scale-x:.95;--tw-scale-y:.95}.focus\\:scale-100:focus{--tw-scale-x:1;--tw-scale-y:1}.focus\\:scale-105:focus{--tw-scale-x:1.05;--tw-scale-y:1.05}.focus\\:scale-110:focus{--tw-scale-x:1.1;--tw-scale-y:1.1}.focus\\:scale-125:focus{--tw-scale-x:1.25;--tw-scale-y:1.25}.focus\\:scale-150:focus{--tw-scale-x:1.5;--tw-scale-y:1.5}.scale-x-0{--tw-scale-x:0}.scale-x-50{--tw-scale-x:.5}.scale-x-75{--tw-scale-x:.75}.scale-x-90{--tw-scale-x:.9}.scale-x-95{--tw-scale-x:.95}.scale-x-100{--tw-scale-x:1}.scale-x-105{--tw-scale-x:1.05}.scale-x-110{--tw-scale-x:1.1}.scale-x-125{--tw-scale-x:1.25}.scale-x-150{--tw-scale-x:1.5}.scale-y-0{--tw-scale-y:0}.scale-y-50{--tw-scale-y:.5}.scale-y-75{--tw-scale-y:.75}.scale-y-90{--tw-scale-y:.9}.scale-y-95{--tw-scale-y:.95}.scale-y-100{--tw-scale-y:1}.scale-y-105{--tw-scale-y:1.05}.scale-y-110{--tw-scale-y:1.1}.scale-y-125{--tw-scale-y:1.25}.scale-y-150{--tw-scale-y:1.5}.hover\\:scale-x-0:hover{--tw-scale-x:0}.hover\\:scale-x-50:hover{--tw-scale-x:.5}.hover\\:scale-x-75:hover{--tw-scale-x:.75}.hover\\:scale-x-90:hover{--tw-scale-x:.9}.hover\\:scale-x-95:hover{--tw-scale-x:.95}.hover\\:scale-x-100:hover{--tw-scale-x:1}.hover\\:scale-x-105:hover{--tw-scale-x:1.05}.hover\\:scale-x-110:hover{--tw-scale-x:1.1}.hover\\:scale-x-125:hover{--tw-scale-x:1.25}.hover\\:scale-x-150:hover{--tw-scale-x:1.5}.hover\\:scale-y-0:hover{--tw-scale-y:0}.hover\\:scale-y-50:hover{--tw-scale-y:.5}.hover\\:scale-y-75:hover{--tw-scale-y:.75}.hover\\:scale-y-90:hover{--tw-scale-y:.9}.hover\\:scale-y-95:hover{--tw-scale-y:.95}.hover\\:scale-y-100:hover{--tw-scale-y:1}.hover\\:scale-y-105:hover{--tw-scale-y:1.05}.hover\\:scale-y-110:hover{--tw-scale-y:1.1}.hover\\:scale-y-125:hover{--tw-scale-y:1.25}.hover\\:scale-y-150:hover{--tw-scale-y:1.5}.focus\\:scale-x-0:focus{--tw-scale-x:0}.focus\\:scale-x-50:focus{--tw-scale-x:.5}.focus\\:scale-x-75:focus{--tw-scale-x:.75}.focus\\:scale-x-90:focus{--tw-scale-x:.9}.focus\\:scale-x-95:focus{--tw-scale-x:.95}.focus\\:scale-x-100:focus{--tw-scale-x:1}.focus\\:scale-x-105:focus{--tw-scale-x:1.05}.focus\\:scale-x-110:focus{--tw-scale-x:1.1}.focus\\:scale-x-125:focus{--tw-scale-x:1.25}.focus\\:scale-x-150:focus{--tw-scale-x:1.5}.focus\\:scale-y-0:focus{--tw-scale-y:0}.focus\\:scale-y-50:focus{--tw-scale-y:.5}.focus\\:scale-y-75:focus{--tw-scale-y:.75}.focus\\:scale-y-90:focus{--tw-scale-y:.9}.focus\\:scale-y-95:focus{--tw-scale-y:.95}.focus\\:scale-y-100:focus{--tw-scale-y:1}.focus\\:scale-y-105:focus{--tw-scale-y:1.05}.focus\\:scale-y-110:focus{--tw-scale-y:1.1}.focus\\:scale-y-125:focus{--tw-scale-y:1.25}.focus\\:scale-y-150:focus{--tw-scale-y:1.5}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,100%{transform:scale(2);opacity:0}}@keyframes pulse{50%{opacity:.5}}@keyframes bounce{0%,100%{transform:translateY(-25%);animation-timing-function:cubic-bezier(0.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,0.2,1)}}.animate-none{animation:none}.animate-spin{animation:spin 1s linear infinite}.animate-ping{animation:ping 1s cubic-bezier(0, 0, 0.2, 1) infinite}.animate-pulse{animation:pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite}.animate-bounce{animation:bounce 1s infinite}.cursor-auto{cursor:auto}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.cursor-wait{cursor:wait}.cursor-text{cursor:text}.cursor-move{cursor:move}.cursor-help{cursor:help}.cursor-not-allowed{cursor:not-allowed}.select-none{-webkit-user-select:none;user-select:none}.select-text{-webkit-user-select:text;user-select:text}.select-all{-webkit-user-select:all;user-select:all}.select-auto{-webkit-user-select:auto;user-select:auto}.resize-none{resize:none}.resize-y{resize:vertical}.resize-x{resize:horizontal}.resize{resize:both}.list-inside{list-style-position:inside}.list-outside{list-style-position:outside}.list-none{list-style-type:none}.list-disc{list-style-type:disc}.list-decimal{list-style-type:decimal}.appearance-none{appearance:none}.auto-cols-auto{grid-auto-columns:auto}.auto-cols-min{grid-auto-columns:min-content}.auto-cols-max{grid-auto-columns:max-content}.auto-cols-fr{grid-auto-columns:minmax(0, 1fr)}.grid-flow-row{grid-auto-flow:row}.grid-flow-col{grid-auto-flow:column}.grid-flow-row-dense{grid-auto-flow:row dense}.grid-flow-col-dense{grid-auto-flow:column dense}.auto-rows-auto{grid-auto-rows:auto}.auto-rows-min{grid-auto-rows:min-content}.auto-rows-max{grid-auto-rows:max-content}.auto-rows-fr{grid-auto-rows:minmax(0, 1fr)}.grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}.grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}.grid-cols-5{grid-template-columns:repeat(5, minmax(0, 1fr))}.grid-cols-6{grid-template-columns:repeat(6, minmax(0, 1fr))}.grid-cols-7{grid-template-columns:repeat(7, minmax(0, 1fr))}.grid-cols-8{grid-template-columns:repeat(8, minmax(0, 1fr))}.grid-cols-9{grid-template-columns:repeat(9, minmax(0, 1fr))}.grid-cols-10{grid-template-columns:repeat(10, minmax(0, 1fr))}.grid-cols-11{grid-template-columns:repeat(11, minmax(0, 1fr))}.grid-cols-12{grid-template-columns:repeat(12, minmax(0, 1fr))}.grid-cols-none{grid-template-columns:none}.grid-rows-1{grid-template-rows:repeat(1, minmax(0, 1fr))}.grid-rows-2{grid-template-rows:repeat(2, minmax(0, 1fr))}.grid-rows-3{grid-template-rows:repeat(3, minmax(0, 1fr))}.grid-rows-4{grid-template-rows:repeat(4, minmax(0, 1fr))}.grid-rows-5{grid-template-rows:repeat(5, minmax(0, 1fr))}.grid-rows-6{grid-template-rows:repeat(6, minmax(0, 1fr))}.grid-rows-none{grid-template-rows:none}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.flex-nowrap{flex-wrap:nowrap}.place-content-center{place-content:center}.place-content-start{place-content:start}.place-content-end{place-content:end}.place-content-between{place-content:space-between}.place-content-around{place-content:space-around}.place-content-evenly{place-content:space-evenly}.place-content-stretch{place-content:stretch}.place-items-start{place-items:start}.place-items-end{place-items:end}.place-items-center{place-items:center}.place-items-stretch{place-items:stretch}.content-center{align-content:center}.content-start{align-content:flex-start}.content-end{align-content:flex-end}.content-between{align-content:space-between}.content-around{align-content:space-around}.content-evenly{align-content:space-evenly}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.justify-items-start{justify-items:start}.justify-items-end{justify-items:end}.justify-items-center{justify-items:center}.justify-items-stretch{justify-items:stretch}.gap-0{gap:0px}.gap-1{gap:0.25rem}.gap-2{gap:0.5rem}.gap-3{gap:0.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-7{gap:1.75rem}.gap-8{gap:2rem}.gap-9{gap:2.25rem}.gap-10{gap:2.5rem}.gap-11{gap:2.75rem}.gap-12{gap:3rem}.gap-14{gap:3.5rem}.gap-16{gap:4rem}.gap-20{gap:5rem}.gap-24{gap:6rem}.gap-28{gap:7rem}.gap-32{gap:8rem}.gap-36{gap:9rem}.gap-40{gap:10rem}.gap-44{gap:11rem}.gap-48{gap:12rem}.gap-52{gap:13rem}.gap-56{gap:14rem}.gap-60{gap:15rem}.gap-64{gap:16rem}.gap-72{gap:18rem}.gap-80{gap:20rem}.gap-96{gap:24rem}.gap-px{gap:1px}.gap-0\\.5{gap:0.125rem}.gap-1\\.5{gap:0.375rem}.gap-2\\.5{gap:0.625rem}.gap-3\\.5{gap:0.875rem}.gap-x-0{column-gap:0px}.gap-x-1{column-gap:0.25rem}.gap-x-2{column-gap:0.5rem}.gap-x-3{column-gap:0.75rem}.gap-x-4{column-gap:1rem}.gap-x-5{column-gap:1.25rem}.gap-x-6{column-gap:1.5rem}.gap-x-7{column-gap:1.75rem}.gap-x-8{column-gap:2rem}.gap-x-9{column-gap:2.25rem}.gap-x-10{column-gap:2.5rem}.gap-x-11{column-gap:2.75rem}.gap-x-12{column-gap:3rem}.gap-x-14{column-gap:3.5rem}.gap-x-16{column-gap:4rem}.gap-x-20{column-gap:5rem}.gap-x-24{column-gap:6rem}.gap-x-28{column-gap:7rem}.gap-x-32{column-gap:8rem}.gap-x-36{column-gap:9rem}.gap-x-40{column-gap:10rem}.gap-x-44{column-gap:11rem}.gap-x-48{column-gap:12rem}.gap-x-52{column-gap:13rem}.gap-x-56{column-gap:14rem}.gap-x-60{column-gap:15rem}.gap-x-64{column-gap:16rem}.gap-x-72{column-gap:18rem}.gap-x-80{column-gap:20rem}.gap-x-96{column-gap:24rem}.gap-x-px{column-gap:1px}.gap-x-0\\.5{column-gap:0.125rem}.gap-x-1\\.5{column-gap:0.375rem}.gap-x-2\\.5{column-gap:0.625rem}.gap-x-3\\.5{column-gap:0.875rem}.gap-y-0{row-gap:0px}.gap-y-1{row-gap:0.25rem}.gap-y-2{row-gap:0.5rem}.gap-y-3{row-gap:0.75rem}.gap-y-4{row-gap:1rem}.gap-y-5{row-gap:1.25rem}.gap-y-6{row-gap:1.5rem}.gap-y-7{row-gap:1.75rem}.gap-y-8{row-gap:2rem}.gap-y-9{row-gap:2.25rem}.gap-y-10{row-gap:2.5rem}.gap-y-11{row-gap:2.75rem}.gap-y-12{row-gap:3rem}.gap-y-14{row-gap:3.5rem}.gap-y-16{row-gap:4rem}.gap-y-20{row-gap:5rem}.gap-y-24{row-gap:6rem}.gap-y-28{row-gap:7rem}.gap-y-32{row-gap:8rem}.gap-y-36{row-gap:9rem}.gap-y-40{row-gap:10rem}.gap-y-44{row-gap:11rem}.gap-y-48{row-gap:12rem}.gap-y-52{row-gap:13rem}.gap-y-56{row-gap:14rem}.gap-y-60{row-gap:15rem}.gap-y-64{row-gap:16rem}.gap-y-72{row-gap:18rem}.gap-y-80{row-gap:20rem}.gap-y-96{row-gap:24rem}.gap-y-px{row-gap:1px}.gap-y-0\\.5{row-gap:0.125rem}.gap-y-1\\.5{row-gap:0.375rem}.gap-y-2\\.5{row-gap:0.625rem}.gap-y-3\\.5{row-gap:0.875rem}.space-x-0>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0px * var(--tw-space-x-reverse));margin-left:calc(0px * calc(1 - var(--tw-space-x-reverse)))}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.25rem * var(--tw-space-x-reverse));margin-left:calc(0.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.5rem * var(--tw-space-x-reverse));margin-left:calc(0.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.75rem * var(--tw-space-x-reverse));margin-left:calc(0.75rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.25rem * var(--tw-space-x-reverse));margin-left:calc(1.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.5rem * var(--tw-space-x-reverse));margin-left:calc(1.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-7>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.75rem * var(--tw-space-x-reverse));margin-left:calc(1.75rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2rem * var(--tw-space-x-reverse));margin-left:calc(2rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-9>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2.25rem * var(--tw-space-x-reverse));margin-left:calc(2.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-10>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2.5rem * var(--tw-space-x-reverse));margin-left:calc(2.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-11>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2.75rem * var(--tw-space-x-reverse));margin-left:calc(2.75rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-12>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(3rem * var(--tw-space-x-reverse));margin-left:calc(3rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-14>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(3.5rem * var(--tw-space-x-reverse));margin-left:calc(3.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-16>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(4rem * var(--tw-space-x-reverse));margin-left:calc(4rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-20>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(5rem * var(--tw-space-x-reverse));margin-left:calc(5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-24>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(6rem * var(--tw-space-x-reverse));margin-left:calc(6rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-28>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(7rem * var(--tw-space-x-reverse));margin-left:calc(7rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-32>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(8rem * var(--tw-space-x-reverse));margin-left:calc(8rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-36>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(9rem * var(--tw-space-x-reverse));margin-left:calc(9rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-40>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(10rem * var(--tw-space-x-reverse));margin-left:calc(10rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-44>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(11rem * var(--tw-space-x-reverse));margin-left:calc(11rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-48>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(12rem * var(--tw-space-x-reverse));margin-left:calc(12rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-52>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(13rem * var(--tw-space-x-reverse));margin-left:calc(13rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-56>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(14rem * var(--tw-space-x-reverse));margin-left:calc(14rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-60>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(15rem * var(--tw-space-x-reverse));margin-left:calc(15rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-64>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(16rem * var(--tw-space-x-reverse));margin-left:calc(16rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-72>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(18rem * var(--tw-space-x-reverse));margin-left:calc(18rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-80>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(20rem * var(--tw-space-x-reverse));margin-left:calc(20rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-96>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(24rem * var(--tw-space-x-reverse));margin-left:calc(24rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1px * var(--tw-space-x-reverse));margin-left:calc(1px * calc(1 - var(--tw-space-x-reverse)))}.space-x-0\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.125rem * var(--tw-space-x-reverse));margin-left:calc(0.125rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-1\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.375rem * var(--tw-space-x-reverse));margin-left:calc(0.375rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-2\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.625rem * var(--tw-space-x-reverse));margin-left:calc(0.625rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-3\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.875rem * var(--tw-space-x-reverse));margin-left:calc(0.875rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-0>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0px * var(--tw-space-x-reverse));margin-left:calc(0px * calc(1 - var(--tw-space-x-reverse)))}.-space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.25rem * var(--tw-space-x-reverse));margin-left:calc(-0.25rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.5rem * var(--tw-space-x-reverse));margin-left:calc(-0.5rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.75rem * var(--tw-space-x-reverse));margin-left:calc(-0.75rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1rem * var(--tw-space-x-reverse));margin-left:calc(-1rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1.25rem * var(--tw-space-x-reverse));margin-left:calc(-1.25rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1.5rem * var(--tw-space-x-reverse));margin-left:calc(-1.5rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-7>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1.75rem * var(--tw-space-x-reverse));margin-left:calc(-1.75rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2rem * var(--tw-space-x-reverse));margin-left:calc(-2rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-9>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2.25rem * var(--tw-space-x-reverse));margin-left:calc(-2.25rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-10>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2.5rem * var(--tw-space-x-reverse));margin-left:calc(-2.5rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-11>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2.75rem * var(--tw-space-x-reverse));margin-left:calc(-2.75rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-12>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-3rem * var(--tw-space-x-reverse));margin-left:calc(-3rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-14>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-3.5rem * var(--tw-space-x-reverse));margin-left:calc(-3.5rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-16>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-4rem * var(--tw-space-x-reverse));margin-left:calc(-4rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-20>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-5rem * var(--tw-space-x-reverse));margin-left:calc(-5rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-24>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-6rem * var(--tw-space-x-reverse));margin-left:calc(-6rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-28>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-7rem * var(--tw-space-x-reverse));margin-left:calc(-7rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-32>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-8rem * var(--tw-space-x-reverse));margin-left:calc(-8rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-36>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-9rem * var(--tw-space-x-reverse));margin-left:calc(-9rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-40>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-10rem * var(--tw-space-x-reverse));margin-left:calc(-10rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-44>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-11rem * var(--tw-space-x-reverse));margin-left:calc(-11rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-48>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-12rem * var(--tw-space-x-reverse));margin-left:calc(-12rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-52>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-13rem * var(--tw-space-x-reverse));margin-left:calc(-13rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-56>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-14rem * var(--tw-space-x-reverse));margin-left:calc(-14rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-60>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-15rem * var(--tw-space-x-reverse));margin-left:calc(-15rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-64>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-16rem * var(--tw-space-x-reverse));margin-left:calc(-16rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-72>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-18rem * var(--tw-space-x-reverse));margin-left:calc(-18rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-80>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-20rem * var(--tw-space-x-reverse));margin-left:calc(-20rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-96>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-24rem * var(--tw-space-x-reverse));margin-left:calc(-24rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1px * var(--tw-space-x-reverse));margin-left:calc(-1px * calc(1 - var(--tw-space-x-reverse)))}.-space-x-0\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.125rem * var(--tw-space-x-reverse));margin-left:calc(-0.125rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-1\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.375rem * var(--tw-space-x-reverse));margin-left:calc(-0.375rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-2\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.625rem * var(--tw-space-x-reverse));margin-left:calc(-0.625rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-3\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.875rem * var(--tw-space-x-reverse));margin-left:calc(-0.875rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-7>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.75rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.space-y-9>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.25rem * var(--tw-space-y-reverse))}.space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.5rem * var(--tw-space-y-reverse))}.space-y-11>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.75rem * var(--tw-space-y-reverse))}.space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3rem * var(--tw-space-y-reverse))}.space-y-14>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(3.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3.5rem * var(--tw-space-y-reverse))}.space-y-16>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(4rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(4rem * var(--tw-space-y-reverse))}.space-y-20>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(5rem * var(--tw-space-y-reverse))}.space-y-24>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(6rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(6rem * var(--tw-space-y-reverse))}.space-y-28>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(7rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(7rem * var(--tw-space-y-reverse))}.space-y-32>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(8rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(8rem * var(--tw-space-y-reverse))}.space-y-36>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(9rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(9rem * var(--tw-space-y-reverse))}.space-y-40>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(10rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(10rem * var(--tw-space-y-reverse))}.space-y-44>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(11rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(11rem * var(--tw-space-y-reverse))}.space-y-48>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(12rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(12rem * var(--tw-space-y-reverse))}.space-y-52>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(13rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(13rem * var(--tw-space-y-reverse))}.space-y-56>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(14rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(14rem * var(--tw-space-y-reverse))}.space-y-60>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(15rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(15rem * var(--tw-space-y-reverse))}.space-y-64>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(16rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(16rem * var(--tw-space-y-reverse))}.space-y-72>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(18rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(18rem * var(--tw-space-y-reverse))}.space-y-80>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(20rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(20rem * var(--tw-space-y-reverse))}.space-y-96>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(24rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(24rem * var(--tw-space-y-reverse))}.space-y-px>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1px * var(--tw-space-y-reverse))}.space-y-0\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.125rem * var(--tw-space-y-reverse))}.space-y-1\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.375rem * var(--tw-space-y-reverse))}.space-y-2\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.625rem * var(--tw-space-y-reverse))}.space-y-3\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.875rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.875rem * var(--tw-space-y-reverse))}.-space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.-space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.25rem * var(--tw-space-y-reverse))}.-space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.5rem * var(--tw-space-y-reverse))}.-space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.75rem * var(--tw-space-y-reverse))}.-space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1rem * var(--tw-space-y-reverse))}.-space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1.25rem * var(--tw-space-y-reverse))}.-space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1.5rem * var(--tw-space-y-reverse))}.-space-y-7>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1.75rem * var(--tw-space-y-reverse))}.-space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2rem * var(--tw-space-y-reverse))}.-space-y-9>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2.25rem * var(--tw-space-y-reverse))}.-space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2.5rem * var(--tw-space-y-reverse))}.-space-y-11>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2.75rem * var(--tw-space-y-reverse))}.-space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-3rem * var(--tw-space-y-reverse))}.-space-y-14>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-3.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-3.5rem * var(--tw-space-y-reverse))}.-space-y-16>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-4rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-4rem * var(--tw-space-y-reverse))}.-space-y-20>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-5rem * var(--tw-space-y-reverse))}.-space-y-24>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-6rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-6rem * var(--tw-space-y-reverse))}.-space-y-28>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-7rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-7rem * var(--tw-space-y-reverse))}.-space-y-32>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-8rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-8rem * var(--tw-space-y-reverse))}.-space-y-36>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-9rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-9rem * var(--tw-space-y-reverse))}.-space-y-40>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-10rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-10rem * var(--tw-space-y-reverse))}.-space-y-44>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-11rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-11rem * var(--tw-space-y-reverse))}.-space-y-48>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-12rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-12rem * var(--tw-space-y-reverse))}.-space-y-52>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-13rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-13rem * var(--tw-space-y-reverse))}.-space-y-56>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-14rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-14rem * var(--tw-space-y-reverse))}.-space-y-60>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-15rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-15rem * var(--tw-space-y-reverse))}.-space-y-64>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-16rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-16rem * var(--tw-space-y-reverse))}.-space-y-72>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-18rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-18rem * var(--tw-space-y-reverse))}.-space-y-80>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-20rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-20rem * var(--tw-space-y-reverse))}.-space-y-96>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-24rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-24rem * var(--tw-space-y-reverse))}.-space-y-px>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1px * var(--tw-space-y-reverse))}.-space-y-0\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.125rem * var(--tw-space-y-reverse))}.-space-y-1\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.375rem * var(--tw-space-y-reverse))}.-space-y-2\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.625rem * var(--tw-space-y-reverse))}.-space-y-3\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.875rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.875rem * var(--tw-space-y-reverse))}.space-y-reverse>:not([hidden])~:not([hidden]){--tw-space-y-reverse:1}.space-x-reverse>:not([hidden])~:not([hidden]){--tw-space-x-reverse:1}.divide-x-0>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(0px * var(--tw-divide-x-reverse));border-left-width:calc(0px * calc(1 - var(--tw-divide-x-reverse)))}.divide-x-2>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(2px * var(--tw-divide-x-reverse));border-left-width:calc(2px * calc(1 - var(--tw-divide-x-reverse)))}.divide-x-4>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(4px * var(--tw-divide-x-reverse));border-left-width:calc(4px * calc(1 - var(--tw-divide-x-reverse)))}.divide-x-8>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(8px * var(--tw-divide-x-reverse));border-left-width:calc(8px * calc(1 - var(--tw-divide-x-reverse)))}.divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(1px * var(--tw-divide-x-reverse));border-left-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}.divide-y-0>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(0px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(0px * var(--tw-divide-y-reverse))}.divide-y-2>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(2px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(2px * var(--tw-divide-y-reverse))}.divide-y-4>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(4px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(4px * var(--tw-divide-y-reverse))}.divide-y-8>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(8px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(8px * var(--tw-divide-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-y-reverse>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:1}.divide-x-reverse>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:1}.divide-solid>:not([hidden])~:not([hidden]){border-style:solid}.divide-dashed>:not([hidden])~:not([hidden]){border-style:dashed}.divide-dotted>:not([hidden])~:not([hidden]){border-style:dotted}.divide-double>:not([hidden])~:not([hidden]){border-style:double}.divide-none>:not([hidden])~:not([hidden]){border-style:none}.divide-transparent>:not([hidden])~:not([hidden]){border-color:transparent}.divide-current>:not([hidden])~:not([hidden]){border-color:currentColor}.divide-white>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.divide-lightgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(247, 247, 247, var(--tw-divide-opacity))}.divide-midgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.divide-darkgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(127, 127, 127, var(--tw-divide-opacity))}.divide-grey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(30, 30, 30, var(--tw-divide-opacity))}.divide-black>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(15, 15, 15, var(--tw-divide-opacity))}.divide-highlight>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 113, 227, var(--tw-divide-opacity))}.divide-highlight_hover>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 119, 237, var(--tw-divide-opacity))}.divide-button_outline>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.divide-error>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 69, 58, var(--tw-divide-opacity))}.divide-text-light>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(15, 15, 15, var(--tw-divide-opacity))}.divide-text-dimmed>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.divide-text-dark>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.divide-body-light>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.divide-body-dark>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(30, 30, 30, var(--tw-divide-opacity))}.divide-button>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 113, 227, var(--tw-divide-opacity))}.divide-button_hover>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 119, 237, var(--tw-divide-opacity))}@media(prefers-color-scheme: dark){.dark\\:divide-transparent>:not([hidden])~:not([hidden]){border-color:transparent}.dark\\:divide-current>:not([hidden])~:not([hidden]){border-color:currentColor}.dark\\:divide-white>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.dark\\:divide-lightgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(247, 247, 247, var(--tw-divide-opacity))}.dark\\:divide-midgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.dark\\:divide-darkgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(127, 127, 127, var(--tw-divide-opacity))}.dark\\:divide-grey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(30, 30, 30, var(--tw-divide-opacity))}.dark\\:divide-black>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(15, 15, 15, var(--tw-divide-opacity))}.dark\\:divide-highlight>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 113, 227, var(--tw-divide-opacity))}.dark\\:divide-highlight_hover>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 119, 237, var(--tw-divide-opacity))}.dark\\:divide-button_outline>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.dark\\:divide-error>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 69, 58, var(--tw-divide-opacity))}.dark\\:divide-text-light>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(15, 15, 15, var(--tw-divide-opacity))}.dark\\:divide-text-dimmed>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.dark\\:divide-text-dark>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.dark\\:divide-body-light>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.dark\\:divide-body-dark>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(30, 30, 30, var(--tw-divide-opacity))}.dark\\:divide-button>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 113, 227, var(--tw-divide-opacity))}.dark\\:divide-button_hover>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 119, 237, var(--tw-divide-opacity))}}.divide-opacity-0>:not([hidden])~:not([hidden]){--tw-divide-opacity:0}.divide-opacity-5>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.05}.divide-opacity-10>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.1}.divide-opacity-20>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.2}.divide-opacity-25>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.25}.divide-opacity-30>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.3}.divide-opacity-40>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.4}.divide-opacity-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.5}.divide-opacity-60>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.6}.divide-opacity-70>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.7}.divide-opacity-75>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.75}.divide-opacity-80>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.8}.divide-opacity-90>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.9}.divide-opacity-95>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.95}.divide-opacity-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1}@media(prefers-color-scheme: dark){.dark\\:divide-opacity-0>:not([hidden])~:not([hidden]){--tw-divide-opacity:0}.dark\\:divide-opacity-5>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.05}.dark\\:divide-opacity-10>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.1}.dark\\:divide-opacity-20>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.2}.dark\\:divide-opacity-25>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.25}.dark\\:divide-opacity-30>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.3}.dark\\:divide-opacity-40>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.4}.dark\\:divide-opacity-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.5}.dark\\:divide-opacity-60>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.6}.dark\\:divide-opacity-70>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.7}.dark\\:divide-opacity-75>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.75}.dark\\:divide-opacity-80>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.8}.dark\\:divide-opacity-90>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.9}.dark\\:divide-opacity-95>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.95}.dark\\:divide-opacity-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1}}.place-self-auto{place-self:auto}.place-self-start{place-self:start}.place-self-end{place-self:end}.place-self-center{place-self:center}.place-self-stretch{place-self:stretch}.self-auto{align-self:auto}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.self-center{align-self:center}.self-stretch{align-self:stretch}.self-baseline{align-self:baseline}.justify-self-auto{justify-self:auto}.justify-self-start{justify-self:start}.justify-self-end{justify-self:end}.justify-self-center{justify-self:center}.justify-self-stretch{justify-self:stretch}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.overflow-x-visible{overflow-x:visible}.overflow-y-visible{overflow-y:visible}.overflow-x-scroll{overflow-x:scroll}.overflow-y-scroll{overflow-y:scroll}.overscroll-auto{overscroll-behavior:auto}.overscroll-contain{overscroll-behavior:contain}.overscroll-none{overscroll-behavior:none}.overscroll-y-auto{overscroll-behavior-y:auto}.overscroll-y-contain{overscroll-behavior-y:contain}.overscroll-y-none{overscroll-behavior-y:none}.overscroll-x-auto{overscroll-behavior-x:auto}.overscroll-x-contain{overscroll-behavior-x:contain}.overscroll-x-none{overscroll-behavior-x:none}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overflow-ellipsis{text-overflow:ellipsis}.overflow-clip{text-overflow:clip}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.break-normal{overflow-wrap:normal;word-break:normal}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded-none{border-radius:0px}.rounded-sm{border-radius:0.125rem}.rounded{border-radius:0.25rem}.rounded-md{border-radius:0.375rem}.rounded-lg{border-radius:0.5rem}.rounded-xl{border-radius:0.75rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.rounded-t-none{border-top-left-radius:0px;border-top-right-radius:0px}.rounded-t-sm{border-top-left-radius:0.125rem;border-top-right-radius:0.125rem}.rounded-t{border-top-left-radius:0.25rem;border-top-right-radius:0.25rem}.rounded-t-md{border-top-left-radius:0.375rem;border-top-right-radius:0.375rem}.rounded-t-lg{border-top-left-radius:0.5rem;border-top-right-radius:0.5rem}.rounded-t-xl{border-top-left-radius:0.75rem;border-top-right-radius:0.75rem}.rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.rounded-t-3xl{border-top-left-radius:1.5rem;border-top-right-radius:1.5rem}.rounded-t-full{border-top-left-radius:9999px;border-top-right-radius:9999px}.rounded-r-none{border-top-right-radius:0px;border-bottom-right-radius:0px}.rounded-r-sm{border-top-right-radius:0.125rem;border-bottom-right-radius:0.125rem}.rounded-r{border-top-right-radius:0.25rem;border-bottom-right-radius:0.25rem}.rounded-r-md{border-top-right-radius:0.375rem;border-bottom-right-radius:0.375rem}.rounded-r-lg{border-top-right-radius:0.5rem;border-bottom-right-radius:0.5rem}.rounded-r-xl{border-top-right-radius:0.75rem;border-bottom-right-radius:0.75rem}.rounded-r-2xl{border-top-right-radius:1rem;border-bottom-right-radius:1rem}.rounded-r-3xl{border-top-right-radius:1.5rem;border-bottom-right-radius:1.5rem}.rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.rounded-b-none{border-bottom-right-radius:0px;border-bottom-left-radius:0px}.rounded-b-sm{border-bottom-right-radius:0.125rem;border-bottom-left-radius:0.125rem}.rounded-b{border-bottom-right-radius:0.25rem;border-bottom-left-radius:0.25rem}.rounded-b-md{border-bottom-right-radius:0.375rem;border-bottom-left-radius:0.375rem}.rounded-b-lg{border-bottom-right-radius:0.5rem;border-bottom-left-radius:0.5rem}.rounded-b-xl{border-bottom-right-radius:0.75rem;border-bottom-left-radius:0.75rem}.rounded-b-2xl{border-bottom-right-radius:1rem;border-bottom-left-radius:1rem}.rounded-b-3xl{border-bottom-right-radius:1.5rem;border-bottom-left-radius:1.5rem}.rounded-b-full{border-bottom-right-radius:9999px;border-bottom-left-radius:9999px}.rounded-l-none{border-top-left-radius:0px;border-bottom-left-radius:0px}.rounded-l-sm{border-top-left-radius:0.125rem;border-bottom-left-radius:0.125rem}.rounded-l{border-top-left-radius:0.25rem;border-bottom-left-radius:0.25rem}.rounded-l-md{border-top-left-radius:0.375rem;border-bottom-left-radius:0.375rem}.rounded-l-lg{border-top-left-radius:0.5rem;border-bottom-left-radius:0.5rem}.rounded-l-xl{border-top-left-radius:0.75rem;border-bottom-left-radius:0.75rem}.rounded-l-2xl{border-top-left-radius:1rem;border-bottom-left-radius:1rem}.rounded-l-3xl{border-top-left-radius:1.5rem;border-bottom-left-radius:1.5rem}.rounded-l-full{border-top-left-radius:9999px;border-bottom-left-radius:9999px}.rounded-tl-none{border-top-left-radius:0px}.rounded-tl-sm{border-top-left-radius:0.125rem}.rounded-tl{border-top-left-radius:0.25rem}.rounded-tl-md{border-top-left-radius:0.375rem}.rounded-tl-lg{border-top-left-radius:0.5rem}.rounded-tl-xl{border-top-left-radius:0.75rem}.rounded-tl-2xl{border-top-left-radius:1rem}.rounded-tl-3xl{border-top-left-radius:1.5rem}.rounded-tl-full{border-top-left-radius:9999px}.rounded-tr-none{border-top-right-radius:0px}.rounded-tr-sm{border-top-right-radius:0.125rem}.rounded-tr{border-top-right-radius:0.25rem}.rounded-tr-md{border-top-right-radius:0.375rem}.rounded-tr-lg{border-top-right-radius:0.5rem}.rounded-tr-xl{border-top-right-radius:0.75rem}.rounded-tr-2xl{border-top-right-radius:1rem}.rounded-tr-3xl{border-top-right-radius:1.5rem}.rounded-tr-full{border-top-right-radius:9999px}.rounded-br-none{border-bottom-right-radius:0px}.rounded-br-sm{border-bottom-right-radius:0.125rem}.rounded-br{border-bottom-right-radius:0.25rem}.rounded-br-md{border-bottom-right-radius:0.375rem}.rounded-br-lg{border-bottom-right-radius:0.5rem}.rounded-br-xl{border-bottom-right-radius:0.75rem}.rounded-br-2xl{border-bottom-right-radius:1rem}.rounded-br-3xl{border-bottom-right-radius:1.5rem}.rounded-br-full{border-bottom-right-radius:9999px}.rounded-bl-none{border-bottom-left-radius:0px}.rounded-bl-sm{border-bottom-left-radius:0.125rem}.rounded-bl{border-bottom-left-radius:0.25rem}.rounded-bl-md{border-bottom-left-radius:0.375rem}.rounded-bl-lg{border-bottom-left-radius:0.5rem}.rounded-bl-xl{border-bottom-left-radius:0.75rem}.rounded-bl-2xl{border-bottom-left-radius:1rem}.rounded-bl-3xl{border-bottom-left-radius:1.5rem}.rounded-bl-full{border-bottom-left-radius:9999px}.border-0{border-width:0px}.border-2{border-width:2px}.border-4{border-width:4px}.border-8{border-width:8px}.border{border-width:1px}.border-t-0{border-top-width:0px}.border-t-2{border-top-width:2px}.border-t-4{border-top-width:4px}.border-t-8{border-top-width:8px}.border-t{border-top-width:1px}.border-r-0{border-right-width:0px}.border-r-2{border-right-width:2px}.border-r-4{border-right-width:4px}.border-r-8{border-right-width:8px}.border-r{border-right-width:1px}.border-b-0{border-bottom-width:0px}.border-b-2{border-bottom-width:2px}.border-b-4{border-bottom-width:4px}.border-b-8{border-bottom-width:8px}.border-b{border-bottom-width:1px}.border-l-0{border-left-width:0px}.border-l-2{border-left-width:2px}.border-l-4{border-left-width:4px}.border-l-8{border-left-width:8px}.border-l{border-left-width:1px}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-double{border-style:double}.border-none{border-style:none}.border-transparent{border-color:transparent}.border-current{border-color:currentColor}.border-white{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.border-lightgrey{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.border-midgrey{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.border-darkgrey{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.border-grey{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.border-black{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.border-highlight{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.border-highlight_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.border-button_outline{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.border-error{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.border-text-light{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.border-text-dimmed{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.border-text-dark{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.border-body-light{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.border-body-dark{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.border-button{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.border-button_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.group:hover .group-hover\\:border-transparent{border-color:transparent}.group:hover .group-hover\\:border-current{border-color:currentColor}.group:hover .group-hover\\:border-white{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .group-hover\\:border-lightgrey{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.group:hover .group-hover\\:border-midgrey{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .group-hover\\:border-darkgrey{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.group:hover .group-hover\\:border-grey{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.group:hover .group-hover\\:border-black{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.group:hover .group-hover\\:border-highlight{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.group:hover .group-hover\\:border-highlight_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.group:hover .group-hover\\:border-button_outline{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .group-hover\\:border-error{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.group:hover .group-hover\\:border-text-light{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.group:hover .group-hover\\:border-text-dimmed{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .group-hover\\:border-text-dark{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .group-hover\\:border-body-light{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .group-hover\\:border-body-dark{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.group:hover .group-hover\\:border-button{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.group:hover .group-hover\\:border-button_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.focus-within\\:border-transparent:focus-within{border-color:transparent}.focus-within\\:border-current:focus-within{border-color:currentColor}.focus-within\\:border-white:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.focus-within\\:border-lightgrey:focus-within{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.focus-within\\:border-midgrey:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.focus-within\\:border-darkgrey:focus-within{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.focus-within\\:border-grey:focus-within{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.focus-within\\:border-black:focus-within{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.focus-within\\:border-highlight:focus-within{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.focus-within\\:border-highlight_hover:focus-within{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.focus-within\\:border-button_outline:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.focus-within\\:border-error:focus-within{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.focus-within\\:border-text-light:focus-within{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.focus-within\\:border-text-dimmed:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.focus-within\\:border-text-dark:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.focus-within\\:border-body-light:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.focus-within\\:border-body-dark:focus-within{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.focus-within\\:border-button:focus-within{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.focus-within\\:border-button_hover:focus-within{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.hover\\:border-transparent:hover{border-color:transparent}.hover\\:border-current:hover{border-color:currentColor}.hover\\:border-white:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.hover\\:border-lightgrey:hover{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.hover\\:border-midgrey:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.hover\\:border-darkgrey:hover{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.hover\\:border-grey:hover{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.hover\\:border-black:hover{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.hover\\:border-highlight:hover{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.hover\\:border-highlight_hover:hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.hover\\:border-button_outline:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.hover\\:border-error:hover{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.hover\\:border-text-light:hover{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.hover\\:border-text-dimmed:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.hover\\:border-text-dark:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.hover\\:border-body-light:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.hover\\:border-body-dark:hover{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.hover\\:border-button:hover{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.hover\\:border-button_hover:hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.focus\\:border-transparent:focus{border-color:transparent}.focus\\:border-current:focus{border-color:currentColor}.focus\\:border-white:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.focus\\:border-lightgrey:focus{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.focus\\:border-midgrey:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.focus\\:border-darkgrey:focus{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.focus\\:border-grey:focus{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.focus\\:border-black:focus{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.focus\\:border-highlight:focus{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.focus\\:border-highlight_hover:focus{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.focus\\:border-button_outline:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.focus\\:border-error:focus{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.focus\\:border-text-light:focus{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.focus\\:border-text-dimmed:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.focus\\:border-text-dark:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.focus\\:border-body-light:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.focus\\:border-body-dark:focus{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.focus\\:border-button:focus{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.focus\\:border-button_hover:focus{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}@media(prefers-color-scheme: dark){.dark\\:border-transparent{border-color:transparent}.dark\\:border-current{border-color:currentColor}.dark\\:border-white{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.dark\\:border-lightgrey{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.dark\\:border-midgrey{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.dark\\:border-darkgrey{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.dark\\:border-grey{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.dark\\:border-black{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.dark\\:border-highlight{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.dark\\:border-highlight_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.dark\\:border-button_outline{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.dark\\:border-error{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.dark\\:border-text-light{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.dark\\:border-text-dimmed{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.dark\\:border-text-dark{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.dark\\:border-body-light{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.dark\\:border-body-dark{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.dark\\:border-button{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.dark\\:border-button_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.group:hover .dark\\:group-hover\\:border-transparent{border-color:transparent}.group:hover .dark\\:group-hover\\:border-current{border-color:currentColor}.group:hover .dark\\:group-hover\\:border-white{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .dark\\:group-hover\\:border-lightgrey{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.group:hover .dark\\:group-hover\\:border-midgrey{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .dark\\:group-hover\\:border-darkgrey{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.group:hover .dark\\:group-hover\\:border-grey{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.group:hover .dark\\:group-hover\\:border-black{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.group:hover .dark\\:group-hover\\:border-highlight{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.group:hover .dark\\:group-hover\\:border-highlight_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.group:hover .dark\\:group-hover\\:border-button_outline{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .dark\\:group-hover\\:border-error{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.group:hover .dark\\:group-hover\\:border-text-light{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.group:hover .dark\\:group-hover\\:border-text-dimmed{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .dark\\:group-hover\\:border-text-dark{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .dark\\:group-hover\\:border-body-light{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .dark\\:group-hover\\:border-body-dark{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.group:hover .dark\\:group-hover\\:border-button{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.group:hover .dark\\:group-hover\\:border-button_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.dark\\:focus-within\\:border-transparent:focus-within{border-color:transparent}.dark\\:focus-within\\:border-current:focus-within{border-color:currentColor}.dark\\:focus-within\\:border-white:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.dark\\:focus-within\\:border-lightgrey:focus-within{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.dark\\:focus-within\\:border-midgrey:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.dark\\:focus-within\\:border-darkgrey:focus-within{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.dark\\:focus-within\\:border-grey:focus-within{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.dark\\:focus-within\\:border-black:focus-within{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.dark\\:focus-within\\:border-highlight:focus-within{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.dark\\:focus-within\\:border-highlight_hover:focus-within{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.dark\\:focus-within\\:border-button_outline:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.dark\\:focus-within\\:border-error:focus-within{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.dark\\:focus-within\\:border-text-light:focus-within{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.dark\\:focus-within\\:border-text-dimmed:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.dark\\:focus-within\\:border-text-dark:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.dark\\:focus-within\\:border-body-light:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.dark\\:focus-within\\:border-body-dark:focus-within{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.dark\\:focus-within\\:border-button:focus-within{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.dark\\:focus-within\\:border-button_hover:focus-within{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.dark\\:hover\\:border-transparent:hover{border-color:transparent}.dark\\:hover\\:border-current:hover{border-color:currentColor}.dark\\:hover\\:border-white:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.dark\\:hover\\:border-lightgrey:hover{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.dark\\:hover\\:border-midgrey:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.dark\\:hover\\:border-darkgrey:hover{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.dark\\:hover\\:border-grey:hover{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.dark\\:hover\\:border-black:hover{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.dark\\:hover\\:border-highlight:hover{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.dark\\:hover\\:border-highlight_hover:hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.dark\\:hover\\:border-button_outline:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.dark\\:hover\\:border-error:hover{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.dark\\:hover\\:border-text-light:hover{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.dark\\:hover\\:border-text-dimmed:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.dark\\:hover\\:border-text-dark:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.dark\\:hover\\:border-body-light:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.dark\\:hover\\:border-body-dark:hover{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.dark\\:hover\\:border-button:hover{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.dark\\:hover\\:border-button_hover:hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.dark\\:focus\\:border-transparent:focus{border-color:transparent}.dark\\:focus\\:border-current:focus{border-color:currentColor}.dark\\:focus\\:border-white:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.dark\\:focus\\:border-lightgrey:focus{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.dark\\:focus\\:border-midgrey:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.dark\\:focus\\:border-darkgrey:focus{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.dark\\:focus\\:border-grey:focus{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.dark\\:focus\\:border-black:focus{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.dark\\:focus\\:border-highlight:focus{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.dark\\:focus\\:border-highlight_hover:focus{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.dark\\:focus\\:border-button_outline:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.dark\\:focus\\:border-error:focus{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.dark\\:focus\\:border-text-light:focus{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.dark\\:focus\\:border-text-dimmed:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.dark\\:focus\\:border-text-dark:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.dark\\:focus\\:border-body-light:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.dark\\:focus\\:border-body-dark:focus{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.dark\\:focus\\:border-button:focus{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.dark\\:focus\\:border-button_hover:focus{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}}.border-opacity-0{--tw-border-opacity:0}.border-opacity-5{--tw-border-opacity:0.05}.border-opacity-10{--tw-border-opacity:0.1}.border-opacity-20{--tw-border-opacity:0.2}.border-opacity-25{--tw-border-opacity:0.25}.border-opacity-30{--tw-border-opacity:0.3}.border-opacity-40{--tw-border-opacity:0.4}.border-opacity-50{--tw-border-opacity:0.5}.border-opacity-60{--tw-border-opacity:0.6}.border-opacity-70{--tw-border-opacity:0.7}.border-opacity-75{--tw-border-opacity:0.75}.border-opacity-80{--tw-border-opacity:0.8}.border-opacity-90{--tw-border-opacity:0.9}.border-opacity-95{--tw-border-opacity:0.95}.border-opacity-100{--tw-border-opacity:1}.group:hover .group-hover\\:border-opacity-0{--tw-border-opacity:0}.group:hover .group-hover\\:border-opacity-5{--tw-border-opacity:0.05}.group:hover .group-hover\\:border-opacity-10{--tw-border-opacity:0.1}.group:hover .group-hover\\:border-opacity-20{--tw-border-opacity:0.2}.group:hover .group-hover\\:border-opacity-25{--tw-border-opacity:0.25}.group:hover .group-hover\\:border-opacity-30{--tw-border-opacity:0.3}.group:hover .group-hover\\:border-opacity-40{--tw-border-opacity:0.4}.group:hover .group-hover\\:border-opacity-50{--tw-border-opacity:0.5}.group:hover .group-hover\\:border-opacity-60{--tw-border-opacity:0.6}.group:hover .group-hover\\:border-opacity-70{--tw-border-opacity:0.7}.group:hover .group-hover\\:border-opacity-75{--tw-border-opacity:0.75}.group:hover .group-hover\\:border-opacity-80{--tw-border-opacity:0.8}.group:hover .group-hover\\:border-opacity-90{--tw-border-opacity:0.9}.group:hover .group-hover\\:border-opacity-95{--tw-border-opacity:0.95}.group:hover .group-hover\\:border-opacity-100{--tw-border-opacity:1}.focus-within\\:border-opacity-0:focus-within{--tw-border-opacity:0}.focus-within\\:border-opacity-5:focus-within{--tw-border-opacity:0.05}.focus-within\\:border-opacity-10:focus-within{--tw-border-opacity:0.1}.focus-within\\:border-opacity-20:focus-within{--tw-border-opacity:0.2}.focus-within\\:border-opacity-25:focus-within{--tw-border-opacity:0.25}.focus-within\\:border-opacity-30:focus-within{--tw-border-opacity:0.3}.focus-within\\:border-opacity-40:focus-within{--tw-border-opacity:0.4}.focus-within\\:border-opacity-50:focus-within{--tw-border-opacity:0.5}.focus-within\\:border-opacity-60:focus-within{--tw-border-opacity:0.6}.focus-within\\:border-opacity-70:focus-within{--tw-border-opacity:0.7}.focus-within\\:border-opacity-75:focus-within{--tw-border-opacity:0.75}.focus-within\\:border-opacity-80:focus-within{--tw-border-opacity:0.8}.focus-within\\:border-opacity-90:focus-within{--tw-border-opacity:0.9}.focus-within\\:border-opacity-95:focus-within{--tw-border-opacity:0.95}.focus-within\\:border-opacity-100:focus-within{--tw-border-opacity:1}.hover\\:border-opacity-0:hover{--tw-border-opacity:0}.hover\\:border-opacity-5:hover{--tw-border-opacity:0.05}.hover\\:border-opacity-10:hover{--tw-border-opacity:0.1}.hover\\:border-opacity-20:hover{--tw-border-opacity:0.2}.hover\\:border-opacity-25:hover{--tw-border-opacity:0.25}.hover\\:border-opacity-30:hover{--tw-border-opacity:0.3}.hover\\:border-opacity-40:hover{--tw-border-opacity:0.4}.hover\\:border-opacity-50:hover{--tw-border-opacity:0.5}.hover\\:border-opacity-60:hover{--tw-border-opacity:0.6}.hover\\:border-opacity-70:hover{--tw-border-opacity:0.7}.hover\\:border-opacity-75:hover{--tw-border-opacity:0.75}.hover\\:border-opacity-80:hover{--tw-border-opacity:0.8}.hover\\:border-opacity-90:hover{--tw-border-opacity:0.9}.hover\\:border-opacity-95:hover{--tw-border-opacity:0.95}.hover\\:border-opacity-100:hover{--tw-border-opacity:1}.focus\\:border-opacity-0:focus{--tw-border-opacity:0}.focus\\:border-opacity-5:focus{--tw-border-opacity:0.05}.focus\\:border-opacity-10:focus{--tw-border-opacity:0.1}.focus\\:border-opacity-20:focus{--tw-border-opacity:0.2}.focus\\:border-opacity-25:focus{--tw-border-opacity:0.25}.focus\\:border-opacity-30:focus{--tw-border-opacity:0.3}.focus\\:border-opacity-40:focus{--tw-border-opacity:0.4}.focus\\:border-opacity-50:focus{--tw-border-opacity:0.5}.focus\\:border-opacity-60:focus{--tw-border-opacity:0.6}.focus\\:border-opacity-70:focus{--tw-border-opacity:0.7}.focus\\:border-opacity-75:focus{--tw-border-opacity:0.75}.focus\\:border-opacity-80:focus{--tw-border-opacity:0.8}.focus\\:border-opacity-90:focus{--tw-border-opacity:0.9}.focus\\:border-opacity-95:focus{--tw-border-opacity:0.95}.focus\\:border-opacity-100:focus{--tw-border-opacity:1}@media(prefers-color-scheme: dark){.dark\\:border-opacity-0{--tw-border-opacity:0}.dark\\:border-opacity-5{--tw-border-opacity:0.05}.dark\\:border-opacity-10{--tw-border-opacity:0.1}.dark\\:border-opacity-20{--tw-border-opacity:0.2}.dark\\:border-opacity-25{--tw-border-opacity:0.25}.dark\\:border-opacity-30{--tw-border-opacity:0.3}.dark\\:border-opacity-40{--tw-border-opacity:0.4}.dark\\:border-opacity-50{--tw-border-opacity:0.5}.dark\\:border-opacity-60{--tw-border-opacity:0.6}.dark\\:border-opacity-70{--tw-border-opacity:0.7}.dark\\:border-opacity-75{--tw-border-opacity:0.75}.dark\\:border-opacity-80{--tw-border-opacity:0.8}.dark\\:border-opacity-90{--tw-border-opacity:0.9}.dark\\:border-opacity-95{--tw-border-opacity:0.95}.dark\\:border-opacity-100{--tw-border-opacity:1}.group:hover .dark\\:group-hover\\:border-opacity-0{--tw-border-opacity:0}.group:hover .dark\\:group-hover\\:border-opacity-5{--tw-border-opacity:0.05}.group:hover .dark\\:group-hover\\:border-opacity-10{--tw-border-opacity:0.1}.group:hover .dark\\:group-hover\\:border-opacity-20{--tw-border-opacity:0.2}.group:hover .dark\\:group-hover\\:border-opacity-25{--tw-border-opacity:0.25}.group:hover .dark\\:group-hover\\:border-opacity-30{--tw-border-opacity:0.3}.group:hover .dark\\:group-hover\\:border-opacity-40{--tw-border-opacity:0.4}.group:hover .dark\\:group-hover\\:border-opacity-50{--tw-border-opacity:0.5}.group:hover .dark\\:group-hover\\:border-opacity-60{--tw-border-opacity:0.6}.group:hover .dark\\:group-hover\\:border-opacity-70{--tw-border-opacity:0.7}.group:hover .dark\\:group-hover\\:border-opacity-75{--tw-border-opacity:0.75}.group:hover .dark\\:group-hover\\:border-opacity-80{--tw-border-opacity:0.8}.group:hover .dark\\:group-hover\\:border-opacity-90{--tw-border-opacity:0.9}.group:hover .dark\\:group-hover\\:border-opacity-95{--tw-border-opacity:0.95}.group:hover .dark\\:group-hover\\:border-opacity-100{--tw-border-opacity:1}.dark\\:focus-within\\:border-opacity-0:focus-within{--tw-border-opacity:0}.dark\\:focus-within\\:border-opacity-5:focus-within{--tw-border-opacity:0.05}.dark\\:focus-within\\:border-opacity-10:focus-within{--tw-border-opacity:0.1}.dark\\:focus-within\\:border-opacity-20:focus-within{--tw-border-opacity:0.2}.dark\\:focus-within\\:border-opacity-25:focus-within{--tw-border-opacity:0.25}.dark\\:focus-within\\:border-opacity-30:focus-within{--tw-border-opacity:0.3}.dark\\:focus-within\\:border-opacity-40:focus-within{--tw-border-opacity:0.4}.dark\\:focus-within\\:border-opacity-50:focus-within{--tw-border-opacity:0.5}.dark\\:focus-within\\:border-opacity-60:focus-within{--tw-border-opacity:0.6}.dark\\:focus-within\\:border-opacity-70:focus-within{--tw-border-opacity:0.7}.dark\\:focus-within\\:border-opacity-75:focus-within{--tw-border-opacity:0.75}.dark\\:focus-within\\:border-opacity-80:focus-within{--tw-border-opacity:0.8}.dark\\:focus-within\\:border-opacity-90:focus-within{--tw-border-opacity:0.9}.dark\\:focus-within\\:border-opacity-95:focus-within{--tw-border-opacity:0.95}.dark\\:focus-within\\:border-opacity-100:focus-within{--tw-border-opacity:1}.dark\\:hover\\:border-opacity-0:hover{--tw-border-opacity:0}.dark\\:hover\\:border-opacity-5:hover{--tw-border-opacity:0.05}.dark\\:hover\\:border-opacity-10:hover{--tw-border-opacity:0.1}.dark\\:hover\\:border-opacity-20:hover{--tw-border-opacity:0.2}.dark\\:hover\\:border-opacity-25:hover{--tw-border-opacity:0.25}.dark\\:hover\\:border-opacity-30:hover{--tw-border-opacity:0.3}.dark\\:hover\\:border-opacity-40:hover{--tw-border-opacity:0.4}.dark\\:hover\\:border-opacity-50:hover{--tw-border-opacity:0.5}.dark\\:hover\\:border-opacity-60:hover{--tw-border-opacity:0.6}.dark\\:hover\\:border-opacity-70:hover{--tw-border-opacity:0.7}.dark\\:hover\\:border-opacity-75:hover{--tw-border-opacity:0.75}.dark\\:hover\\:border-opacity-80:hover{--tw-border-opacity:0.8}.dark\\:hover\\:border-opacity-90:hover{--tw-border-opacity:0.9}.dark\\:hover\\:border-opacity-95:hover{--tw-border-opacity:0.95}.dark\\:hover\\:border-opacity-100:hover{--tw-border-opacity:1}.dark\\:focus\\:border-opacity-0:focus{--tw-border-opacity:0}.dark\\:focus\\:border-opacity-5:focus{--tw-border-opacity:0.05}.dark\\:focus\\:border-opacity-10:focus{--tw-border-opacity:0.1}.dark\\:focus\\:border-opacity-20:focus{--tw-border-opacity:0.2}.dark\\:focus\\:border-opacity-25:focus{--tw-border-opacity:0.25}.dark\\:focus\\:border-opacity-30:focus{--tw-border-opacity:0.3}.dark\\:focus\\:border-opacity-40:focus{--tw-border-opacity:0.4}.dark\\:focus\\:border-opacity-50:focus{--tw-border-opacity:0.5}.dark\\:focus\\:border-opacity-60:focus{--tw-border-opacity:0.6}.dark\\:focus\\:border-opacity-70:focus{--tw-border-opacity:0.7}.dark\\:focus\\:border-opacity-75:focus{--tw-border-opacity:0.75}.dark\\:focus\\:border-opacity-80:focus{--tw-border-opacity:0.8}.dark\\:focus\\:border-opacity-90:focus{--tw-border-opacity:0.9}.dark\\:focus\\:border-opacity-95:focus{--tw-border-opacity:0.95}.dark\\:focus\\:border-opacity-100:focus{--tw-border-opacity:1}}.bg-transparent{background-color:transparent}.bg-current{background-color:currentColor}.bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.bg-lightgrey{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.bg-midgrey{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.bg-darkgrey{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.bg-grey{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.bg-black{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.bg-highlight{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.bg-highlight_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.bg-button_outline{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.bg-error{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.bg-text-light{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.bg-text-dimmed{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.bg-text-dark{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.bg-body-light{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.bg-body-dark{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.bg-button{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.bg-button_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-transparent{background-color:transparent}.group:hover .group-hover\\:bg-current{background-color:currentColor}.group:hover .group-hover\\:bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-lightgrey{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-midgrey{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-darkgrey{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-grey{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-black{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-highlight{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-highlight_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-button_outline{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-error{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-text-light{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-text-dimmed{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-text-dark{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-body-light{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-body-dark{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-button{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-button_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.focus-within\\:bg-transparent:focus-within{background-color:transparent}.focus-within\\:bg-current:focus-within{background-color:currentColor}.focus-within\\:bg-white:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.focus-within\\:bg-lightgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.focus-within\\:bg-midgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.focus-within\\:bg-darkgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.focus-within\\:bg-grey:focus-within{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.focus-within\\:bg-black:focus-within{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.focus-within\\:bg-highlight:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.focus-within\\:bg-highlight_hover:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.focus-within\\:bg-button_outline:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.focus-within\\:bg-error:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.focus-within\\:bg-text-light:focus-within{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.focus-within\\:bg-text-dimmed:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.focus-within\\:bg-text-dark:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.focus-within\\:bg-body-light:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.focus-within\\:bg-body-dark:focus-within{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.focus-within\\:bg-button:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.focus-within\\:bg-button_hover:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.hover\\:bg-transparent:hover{background-color:transparent}.hover\\:bg-current:hover{background-color:currentColor}.hover\\:bg-white:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.hover\\:bg-lightgrey:hover{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.hover\\:bg-midgrey:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.hover\\:bg-darkgrey:hover{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.hover\\:bg-grey:hover{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.hover\\:bg-black:hover{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.hover\\:bg-highlight:hover{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.hover\\:bg-highlight_hover:hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.hover\\:bg-button_outline:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.hover\\:bg-error:hover{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.hover\\:bg-text-light:hover{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.hover\\:bg-text-dimmed:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.hover\\:bg-text-dark:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.hover\\:bg-body-light:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.hover\\:bg-body-dark:hover{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.hover\\:bg-button:hover{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.hover\\:bg-button_hover:hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.focus\\:bg-transparent:focus{background-color:transparent}.focus\\:bg-current:focus{background-color:currentColor}.focus\\:bg-white:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.focus\\:bg-lightgrey:focus{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.focus\\:bg-midgrey:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.focus\\:bg-darkgrey:focus{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.focus\\:bg-grey:focus{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.focus\\:bg-black:focus{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.focus\\:bg-highlight:focus{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.focus\\:bg-highlight_hover:focus{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.focus\\:bg-button_outline:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.focus\\:bg-error:focus{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.focus\\:bg-text-light:focus{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.focus\\:bg-text-dimmed:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.focus\\:bg-text-dark:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.focus\\:bg-body-light:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.focus\\:bg-body-dark:focus{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.focus\\:bg-button:focus{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.focus\\:bg-button_hover:focus{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}@media(prefers-color-scheme: dark){.dark\\:bg-transparent{background-color:transparent}.dark\\:bg-current{background-color:currentColor}.dark\\:bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.dark\\:bg-lightgrey{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.dark\\:bg-midgrey{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.dark\\:bg-darkgrey{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.dark\\:bg-grey{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.dark\\:bg-black{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.dark\\:bg-highlight{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.dark\\:bg-highlight_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.dark\\:bg-button_outline{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.dark\\:bg-error{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.dark\\:bg-text-light{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.dark\\:bg-text-dimmed{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.dark\\:bg-text-dark{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.dark\\:bg-body-light{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.dark\\:bg-body-dark{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.dark\\:bg-button{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.dark\\:bg-button_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.group:hover .dark\\:group-hover\\:bg-transparent{background-color:transparent}.group:hover .dark\\:group-hover\\:bg-current{background-color:currentColor}.group:hover .dark\\:group-hover\\:bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .dark\\:group-hover\\:bg-lightgrey{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.group:hover .dark\\:group-hover\\:bg-midgrey{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .dark\\:group-hover\\:bg-darkgrey{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.group:hover .dark\\:group-hover\\:bg-grey{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.group:hover .dark\\:group-hover\\:bg-black{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.group:hover .dark\\:group-hover\\:bg-highlight{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.group:hover .dark\\:group-hover\\:bg-highlight_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.group:hover .dark\\:group-hover\\:bg-button_outline{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .dark\\:group-hover\\:bg-error{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.group:hover .dark\\:group-hover\\:bg-text-light{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.group:hover .dark\\:group-hover\\:bg-text-dimmed{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .dark\\:group-hover\\:bg-text-dark{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .dark\\:group-hover\\:bg-body-light{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .dark\\:group-hover\\:bg-body-dark{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.group:hover .dark\\:group-hover\\:bg-button{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.group:hover .dark\\:group-hover\\:bg-button_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.dark\\:focus-within\\:bg-transparent:focus-within{background-color:transparent}.dark\\:focus-within\\:bg-current:focus-within{background-color:currentColor}.dark\\:focus-within\\:bg-white:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.dark\\:focus-within\\:bg-lightgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.dark\\:focus-within\\:bg-midgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.dark\\:focus-within\\:bg-darkgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.dark\\:focus-within\\:bg-grey:focus-within{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.dark\\:focus-within\\:bg-black:focus-within{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.dark\\:focus-within\\:bg-highlight:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.dark\\:focus-within\\:bg-highlight_hover:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.dark\\:focus-within\\:bg-button_outline:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.dark\\:focus-within\\:bg-error:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.dark\\:focus-within\\:bg-text-light:focus-within{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.dark\\:focus-within\\:bg-text-dimmed:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.dark\\:focus-within\\:bg-text-dark:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.dark\\:focus-within\\:bg-body-light:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.dark\\:focus-within\\:bg-body-dark:focus-within{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.dark\\:focus-within\\:bg-button:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.dark\\:focus-within\\:bg-button_hover:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.dark\\:hover\\:bg-transparent:hover{background-color:transparent}.dark\\:hover\\:bg-current:hover{background-color:currentColor}.dark\\:hover\\:bg-white:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.dark\\:hover\\:bg-lightgrey:hover{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.dark\\:hover\\:bg-midgrey:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.dark\\:hover\\:bg-darkgrey:hover{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.dark\\:hover\\:bg-grey:hover{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.dark\\:hover\\:bg-black:hover{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.dark\\:hover\\:bg-highlight:hover{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.dark\\:hover\\:bg-highlight_hover:hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.dark\\:hover\\:bg-button_outline:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.dark\\:hover\\:bg-error:hover{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.dark\\:hover\\:bg-text-light:hover{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.dark\\:hover\\:bg-text-dimmed:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.dark\\:hover\\:bg-text-dark:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.dark\\:hover\\:bg-body-light:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.dark\\:hover\\:bg-body-dark:hover{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.dark\\:hover\\:bg-button:hover{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.dark\\:hover\\:bg-button_hover:hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.dark\\:focus\\:bg-transparent:focus{background-color:transparent}.dark\\:focus\\:bg-current:focus{background-color:currentColor}.dark\\:focus\\:bg-white:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.dark\\:focus\\:bg-lightgrey:focus{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.dark\\:focus\\:bg-midgrey:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.dark\\:focus\\:bg-darkgrey:focus{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.dark\\:focus\\:bg-grey:focus{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.dark\\:focus\\:bg-black:focus{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.dark\\:focus\\:bg-highlight:focus{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.dark\\:focus\\:bg-highlight_hover:focus{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.dark\\:focus\\:bg-button_outline:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.dark\\:focus\\:bg-error:focus{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.dark\\:focus\\:bg-text-light:focus{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.dark\\:focus\\:bg-text-dimmed:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.dark\\:focus\\:bg-text-dark:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.dark\\:focus\\:bg-body-light:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.dark\\:focus\\:bg-body-dark:focus{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.dark\\:focus\\:bg-button:focus{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.dark\\:focus\\:bg-button_hover:focus{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}}.bg-opacity-0{--tw-bg-opacity:0}.bg-opacity-5{--tw-bg-opacity:0.05}.bg-opacity-10{--tw-bg-opacity:0.1}.bg-opacity-20{--tw-bg-opacity:0.2}.bg-opacity-25{--tw-bg-opacity:0.25}.bg-opacity-30{--tw-bg-opacity:0.3}.bg-opacity-40{--tw-bg-opacity:0.4}.bg-opacity-50{--tw-bg-opacity:0.5}.bg-opacity-60{--tw-bg-opacity:0.6}.bg-opacity-70{--tw-bg-opacity:0.7}.bg-opacity-75{--tw-bg-opacity:0.75}.bg-opacity-80{--tw-bg-opacity:0.8}.bg-opacity-90{--tw-bg-opacity:0.9}.bg-opacity-95{--tw-bg-opacity:0.95}.bg-opacity-100{--tw-bg-opacity:1}.group:hover .group-hover\\:bg-opacity-0{--tw-bg-opacity:0}.group:hover .group-hover\\:bg-opacity-5{--tw-bg-opacity:0.05}.group:hover .group-hover\\:bg-opacity-10{--tw-bg-opacity:0.1}.group:hover .group-hover\\:bg-opacity-20{--tw-bg-opacity:0.2}.group:hover .group-hover\\:bg-opacity-25{--tw-bg-opacity:0.25}.group:hover .group-hover\\:bg-opacity-30{--tw-bg-opacity:0.3}.group:hover .group-hover\\:bg-opacity-40{--tw-bg-opacity:0.4}.group:hover .group-hover\\:bg-opacity-50{--tw-bg-opacity:0.5}.group:hover .group-hover\\:bg-opacity-60{--tw-bg-opacity:0.6}.group:hover .group-hover\\:bg-opacity-70{--tw-bg-opacity:0.7}.group:hover .group-hover\\:bg-opacity-75{--tw-bg-opacity:0.75}.group:hover .group-hover\\:bg-opacity-80{--tw-bg-opacity:0.8}.group:hover .group-hover\\:bg-opacity-90{--tw-bg-opacity:0.9}.group:hover .group-hover\\:bg-opacity-95{--tw-bg-opacity:0.95}.group:hover .group-hover\\:bg-opacity-100{--tw-bg-opacity:1}.focus-within\\:bg-opacity-0:focus-within{--tw-bg-opacity:0}.focus-within\\:bg-opacity-5:focus-within{--tw-bg-opacity:0.05}.focus-within\\:bg-opacity-10:focus-within{--tw-bg-opacity:0.1}.focus-within\\:bg-opacity-20:focus-within{--tw-bg-opacity:0.2}.focus-within\\:bg-opacity-25:focus-within{--tw-bg-opacity:0.25}.focus-within\\:bg-opacity-30:focus-within{--tw-bg-opacity:0.3}.focus-within\\:bg-opacity-40:focus-within{--tw-bg-opacity:0.4}.focus-within\\:bg-opacity-50:focus-within{--tw-bg-opacity:0.5}.focus-within\\:bg-opacity-60:focus-within{--tw-bg-opacity:0.6}.focus-within\\:bg-opacity-70:focus-within{--tw-bg-opacity:0.7}.focus-within\\:bg-opacity-75:focus-within{--tw-bg-opacity:0.75}.focus-within\\:bg-opacity-80:focus-within{--tw-bg-opacity:0.8}.focus-within\\:bg-opacity-90:focus-within{--tw-bg-opacity:0.9}.focus-within\\:bg-opacity-95:focus-within{--tw-bg-opacity:0.95}.focus-within\\:bg-opacity-100:focus-within{--tw-bg-opacity:1}.hover\\:bg-opacity-0:hover{--tw-bg-opacity:0}.hover\\:bg-opacity-5:hover{--tw-bg-opacity:0.05}.hover\\:bg-opacity-10:hover{--tw-bg-opacity:0.1}.hover\\:bg-opacity-20:hover{--tw-bg-opacity:0.2}.hover\\:bg-opacity-25:hover{--tw-bg-opacity:0.25}.hover\\:bg-opacity-30:hover{--tw-bg-opacity:0.3}.hover\\:bg-opacity-40:hover{--tw-bg-opacity:0.4}.hover\\:bg-opacity-50:hover{--tw-bg-opacity:0.5}.hover\\:bg-opacity-60:hover{--tw-bg-opacity:0.6}.hover\\:bg-opacity-70:hover{--tw-bg-opacity:0.7}.hover\\:bg-opacity-75:hover{--tw-bg-opacity:0.75}.hover\\:bg-opacity-80:hover{--tw-bg-opacity:0.8}.hover\\:bg-opacity-90:hover{--tw-bg-opacity:0.9}.hover\\:bg-opacity-95:hover{--tw-bg-opacity:0.95}.hover\\:bg-opacity-100:hover{--tw-bg-opacity:1}.focus\\:bg-opacity-0:focus{--tw-bg-opacity:0}.focus\\:bg-opacity-5:focus{--tw-bg-opacity:0.05}.focus\\:bg-opacity-10:focus{--tw-bg-opacity:0.1}.focus\\:bg-opacity-20:focus{--tw-bg-opacity:0.2}.focus\\:bg-opacity-25:focus{--tw-bg-opacity:0.25}.focus\\:bg-opacity-30:focus{--tw-bg-opacity:0.3}.focus\\:bg-opacity-40:focus{--tw-bg-opacity:0.4}.focus\\:bg-opacity-50:focus{--tw-bg-opacity:0.5}.focus\\:bg-opacity-60:focus{--tw-bg-opacity:0.6}.focus\\:bg-opacity-70:focus{--tw-bg-opacity:0.7}.focus\\:bg-opacity-75:focus{--tw-bg-opacity:0.75}.focus\\:bg-opacity-80:focus{--tw-bg-opacity:0.8}.focus\\:bg-opacity-90:focus{--tw-bg-opacity:0.9}.focus\\:bg-opacity-95:focus{--tw-bg-opacity:0.95}.focus\\:bg-opacity-100:focus{--tw-bg-opacity:1}@media(prefers-color-scheme: dark){.dark\\:bg-opacity-0{--tw-bg-opacity:0}.dark\\:bg-opacity-5{--tw-bg-opacity:0.05}.dark\\:bg-opacity-10{--tw-bg-opacity:0.1}.dark\\:bg-opacity-20{--tw-bg-opacity:0.2}.dark\\:bg-opacity-25{--tw-bg-opacity:0.25}.dark\\:bg-opacity-30{--tw-bg-opacity:0.3}.dark\\:bg-opacity-40{--tw-bg-opacity:0.4}.dark\\:bg-opacity-50{--tw-bg-opacity:0.5}.dark\\:bg-opacity-60{--tw-bg-opacity:0.6}.dark\\:bg-opacity-70{--tw-bg-opacity:0.7}.dark\\:bg-opacity-75{--tw-bg-opacity:0.75}.dark\\:bg-opacity-80{--tw-bg-opacity:0.8}.dark\\:bg-opacity-90{--tw-bg-opacity:0.9}.dark\\:bg-opacity-95{--tw-bg-opacity:0.95}.dark\\:bg-opacity-100{--tw-bg-opacity:1}.group:hover .dark\\:group-hover\\:bg-opacity-0{--tw-bg-opacity:0}.group:hover .dark\\:group-hover\\:bg-opacity-5{--tw-bg-opacity:0.05}.group:hover .dark\\:group-hover\\:bg-opacity-10{--tw-bg-opacity:0.1}.group:hover .dark\\:group-hover\\:bg-opacity-20{--tw-bg-opacity:0.2}.group:hover .dark\\:group-hover\\:bg-opacity-25{--tw-bg-opacity:0.25}.group:hover .dark\\:group-hover\\:bg-opacity-30{--tw-bg-opacity:0.3}.group:hover .dark\\:group-hover\\:bg-opacity-40{--tw-bg-opacity:0.4}.group:hover .dark\\:group-hover\\:bg-opacity-50{--tw-bg-opacity:0.5}.group:hover .dark\\:group-hover\\:bg-opacity-60{--tw-bg-opacity:0.6}.group:hover .dark\\:group-hover\\:bg-opacity-70{--tw-bg-opacity:0.7}.group:hover .dark\\:group-hover\\:bg-opacity-75{--tw-bg-opacity:0.75}.group:hover .dark\\:group-hover\\:bg-opacity-80{--tw-bg-opacity:0.8}.group:hover .dark\\:group-hover\\:bg-opacity-90{--tw-bg-opacity:0.9}.group:hover .dark\\:group-hover\\:bg-opacity-95{--tw-bg-opacity:0.95}.group:hover .dark\\:group-hover\\:bg-opacity-100{--tw-bg-opacity:1}.dark\\:focus-within\\:bg-opacity-0:focus-within{--tw-bg-opacity:0}.dark\\:focus-within\\:bg-opacity-5:focus-within{--tw-bg-opacity:0.05}.dark\\:focus-within\\:bg-opacity-10:focus-within{--tw-bg-opacity:0.1}.dark\\:focus-within\\:bg-opacity-20:focus-within{--tw-bg-opacity:0.2}.dark\\:focus-within\\:bg-opacity-25:focus-within{--tw-bg-opacity:0.25}.dark\\:focus-within\\:bg-opacity-30:focus-within{--tw-bg-opacity:0.3}.dark\\:focus-within\\:bg-opacity-40:focus-within{--tw-bg-opacity:0.4}.dark\\:focus-within\\:bg-opacity-50:focus-within{--tw-bg-opacity:0.5}.dark\\:focus-within\\:bg-opacity-60:focus-within{--tw-bg-opacity:0.6}.dark\\:focus-within\\:bg-opacity-70:focus-within{--tw-bg-opacity:0.7}.dark\\:focus-within\\:bg-opacity-75:focus-within{--tw-bg-opacity:0.75}.dark\\:focus-within\\:bg-opacity-80:focus-within{--tw-bg-opacity:0.8}.dark\\:focus-within\\:bg-opacity-90:focus-within{--tw-bg-opacity:0.9}.dark\\:focus-within\\:bg-opacity-95:focus-within{--tw-bg-opacity:0.95}.dark\\:focus-within\\:bg-opacity-100:focus-within{--tw-bg-opacity:1}.dark\\:hover\\:bg-opacity-0:hover{--tw-bg-opacity:0}.dark\\:hover\\:bg-opacity-5:hover{--tw-bg-opacity:0.05}.dark\\:hover\\:bg-opacity-10:hover{--tw-bg-opacity:0.1}.dark\\:hover\\:bg-opacity-20:hover{--tw-bg-opacity:0.2}.dark\\:hover\\:bg-opacity-25:hover{--tw-bg-opacity:0.25}.dark\\:hover\\:bg-opacity-30:hover{--tw-bg-opacity:0.3}.dark\\:hover\\:bg-opacity-40:hover{--tw-bg-opacity:0.4}.dark\\:hover\\:bg-opacity-50:hover{--tw-bg-opacity:0.5}.dark\\:hover\\:bg-opacity-60:hover{--tw-bg-opacity:0.6}.dark\\:hover\\:bg-opacity-70:hover{--tw-bg-opacity:0.7}.dark\\:hover\\:bg-opacity-75:hover{--tw-bg-opacity:0.75}.dark\\:hover\\:bg-opacity-80:hover{--tw-bg-opacity:0.8}.dark\\:hover\\:bg-opacity-90:hover{--tw-bg-opacity:0.9}.dark\\:hover\\:bg-opacity-95:hover{--tw-bg-opacity:0.95}.dark\\:hover\\:bg-opacity-100:hover{--tw-bg-opacity:1}.dark\\:focus\\:bg-opacity-0:focus{--tw-bg-opacity:0}.dark\\:focus\\:bg-opacity-5:focus{--tw-bg-opacity:0.05}.dark\\:focus\\:bg-opacity-10:focus{--tw-bg-opacity:0.1}.dark\\:focus\\:bg-opacity-20:focus{--tw-bg-opacity:0.2}.dark\\:focus\\:bg-opacity-25:focus{--tw-bg-opacity:0.25}.dark\\:focus\\:bg-opacity-30:focus{--tw-bg-opacity:0.3}.dark\\:focus\\:bg-opacity-40:focus{--tw-bg-opacity:0.4}.dark\\:focus\\:bg-opacity-50:focus{--tw-bg-opacity:0.5}.dark\\:focus\\:bg-opacity-60:focus{--tw-bg-opacity:0.6}.dark\\:focus\\:bg-opacity-70:focus{--tw-bg-opacity:0.7}.dark\\:focus\\:bg-opacity-75:focus{--tw-bg-opacity:0.75}.dark\\:focus\\:bg-opacity-80:focus{--tw-bg-opacity:0.8}.dark\\:focus\\:bg-opacity-90:focus{--tw-bg-opacity:0.9}.dark\\:focus\\:bg-opacity-95:focus{--tw-bg-opacity:0.95}.dark\\:focus\\:bg-opacity-100:focus{--tw-bg-opacity:1}}.bg-none{background-image:none}.bg-gradient-to-t{background-image:linear-gradient(to top, var(--tw-gradient-stops))}.bg-gradient-to-tr{background-image:linear-gradient(to top right, var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right, var(--tw-gradient-stops))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right, var(--tw-gradient-stops))}.bg-gradient-to-b{background-image:linear-gradient(to bottom, var(--tw-gradient-stops))}.bg-gradient-to-bl{background-image:linear-gradient(to bottom left, var(--tw-gradient-stops))}.bg-gradient-to-l{background-image:linear-gradient(to left, var(--tw-gradient-stops))}.bg-gradient-to-tl{background-image:linear-gradient(to top left, var(--tw-gradient-stops))}.from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.from-current{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.from-white{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.from-lightgrey{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.from-midgrey{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.from-darkgrey{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.from-grey{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.from-black{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.from-highlight{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.from-highlight_hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.from-button_outline{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.from-error{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.from-text-light{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.from-text-dimmed{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.from-text-dark{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.from-body-light{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.from-body-dark{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.from-button{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.from-button_hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.hover\\:from-transparent:hover{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.hover\\:from-current:hover{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.hover\\:from-white:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.hover\\:from-lightgrey:hover{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.hover\\:from-midgrey:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.hover\\:from-darkgrey:hover{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.hover\\:from-grey:hover{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.hover\\:from-black:hover{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.hover\\:from-highlight:hover{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.hover\\:from-highlight_hover:hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.hover\\:from-button_outline:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.hover\\:from-error:hover{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.hover\\:from-text-light:hover{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.hover\\:from-text-dimmed:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.hover\\:from-text-dark:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.hover\\:from-body-light:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.hover\\:from-body-dark:hover{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.hover\\:from-button:hover{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.hover\\:from-button_hover:hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.focus\\:from-transparent:focus{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.focus\\:from-current:focus{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.focus\\:from-white:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.focus\\:from-lightgrey:focus{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.focus\\:from-midgrey:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.focus\\:from-darkgrey:focus{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.focus\\:from-grey:focus{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.focus\\:from-black:focus{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.focus\\:from-highlight:focus{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.focus\\:from-highlight_hover:focus{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.focus\\:from-button_outline:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.focus\\:from-error:focus{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.focus\\:from-text-light:focus{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.focus\\:from-text-dimmed:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.focus\\:from-text-dark:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.focus\\:from-body-light:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.focus\\:from-body-dark:focus{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.focus\\:from-button:focus{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.focus\\:from-button_hover:focus{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}@media(prefers-color-scheme: dark){.dark\\:from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.dark\\:from-current{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.dark\\:from-white{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.dark\\:from-lightgrey{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.dark\\:from-midgrey{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.dark\\:from-darkgrey{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.dark\\:from-grey{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.dark\\:from-black{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.dark\\:from-highlight{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.dark\\:from-highlight_hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.dark\\:from-button_outline{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.dark\\:from-error{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.dark\\:from-text-light{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.dark\\:from-text-dimmed{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.dark\\:from-text-dark{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.dark\\:from-body-light{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.dark\\:from-body-dark{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.dark\\:from-button{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.dark\\:from-button_hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.dark\\:hover\\:from-transparent:hover{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.dark\\:hover\\:from-current:hover{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.dark\\:hover\\:from-white:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.dark\\:hover\\:from-lightgrey:hover{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.dark\\:hover\\:from-midgrey:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.dark\\:hover\\:from-darkgrey:hover{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.dark\\:hover\\:from-grey:hover{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.dark\\:hover\\:from-black:hover{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.dark\\:hover\\:from-highlight:hover{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.dark\\:hover\\:from-highlight_hover:hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.dark\\:hover\\:from-button_outline:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.dark\\:hover\\:from-error:hover{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.dark\\:hover\\:from-text-light:hover{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.dark\\:hover\\:from-text-dimmed:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.dark\\:hover\\:from-text-dark:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.dark\\:hover\\:from-body-light:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.dark\\:hover\\:from-body-dark:hover{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.dark\\:hover\\:from-button:hover{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.dark\\:hover\\:from-button_hover:hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.dark\\:focus\\:from-transparent:focus{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.dark\\:focus\\:from-current:focus{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.dark\\:focus\\:from-white:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.dark\\:focus\\:from-lightgrey:focus{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.dark\\:focus\\:from-midgrey:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.dark\\:focus\\:from-darkgrey:focus{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.dark\\:focus\\:from-grey:focus{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.dark\\:focus\\:from-black:focus{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.dark\\:focus\\:from-highlight:focus{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.dark\\:focus\\:from-highlight_hover:focus{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.dark\\:focus\\:from-button_outline:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.dark\\:focus\\:from-error:focus{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.dark\\:focus\\:from-text-light:focus{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.dark\\:focus\\:from-text-dimmed:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.dark\\:focus\\:from-text-dark:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.dark\\:focus\\:from-body-light:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.dark\\:focus\\:from-body-dark:focus{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.dark\\:focus\\:from-button:focus{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.dark\\:focus\\:from-button_hover:focus{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}}.via-transparent{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.via-current{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.via-white{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.via-lightgrey{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.via-midgrey{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.via-darkgrey{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.via-grey{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.via-black{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.via-highlight{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.via-highlight_hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.via-button_outline{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.via-error{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.via-text-light{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.via-text-dimmed{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.via-text-dark{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.via-body-light{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.via-body-dark{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.via-button{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.via-button_hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.hover\\:via-transparent:hover{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.hover\\:via-current:hover{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.hover\\:via-white:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.hover\\:via-lightgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.hover\\:via-midgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.hover\\:via-darkgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.hover\\:via-grey:hover{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.hover\\:via-black:hover{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.hover\\:via-highlight:hover{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.hover\\:via-highlight_hover:hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.hover\\:via-button_outline:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.hover\\:via-error:hover{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.hover\\:via-text-light:hover{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.hover\\:via-text-dimmed:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.hover\\:via-text-dark:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.hover\\:via-body-light:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.hover\\:via-body-dark:hover{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.hover\\:via-button:hover{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.hover\\:via-button_hover:hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.focus\\:via-transparent:focus{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.focus\\:via-current:focus{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.focus\\:via-white:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.focus\\:via-lightgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.focus\\:via-midgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.focus\\:via-darkgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.focus\\:via-grey:focus{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.focus\\:via-black:focus{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.focus\\:via-highlight:focus{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.focus\\:via-highlight_hover:focus{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.focus\\:via-button_outline:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.focus\\:via-error:focus{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.focus\\:via-text-light:focus{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.focus\\:via-text-dimmed:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.focus\\:via-text-dark:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.focus\\:via-body-light:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.focus\\:via-body-dark:focus{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.focus\\:via-button:focus{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.focus\\:via-button_hover:focus{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}@media(prefers-color-scheme: dark){.dark\\:via-transparent{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.dark\\:via-current{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.dark\\:via-white{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.dark\\:via-lightgrey{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.dark\\:via-midgrey{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.dark\\:via-darkgrey{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.dark\\:via-grey{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.dark\\:via-black{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.dark\\:via-highlight{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.dark\\:via-highlight_hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.dark\\:via-button_outline{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.dark\\:via-error{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.dark\\:via-text-light{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.dark\\:via-text-dimmed{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.dark\\:via-text-dark{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.dark\\:via-body-light{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.dark\\:via-body-dark{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.dark\\:via-button{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.dark\\:via-button_hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.dark\\:hover\\:via-transparent:hover{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.dark\\:hover\\:via-current:hover{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.dark\\:hover\\:via-white:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.dark\\:hover\\:via-lightgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.dark\\:hover\\:via-midgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.dark\\:hover\\:via-darkgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.dark\\:hover\\:via-grey:hover{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.dark\\:hover\\:via-black:hover{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.dark\\:hover\\:via-highlight:hover{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.dark\\:hover\\:via-highlight_hover:hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.dark\\:hover\\:via-button_outline:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.dark\\:hover\\:via-error:hover{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.dark\\:hover\\:via-text-light:hover{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.dark\\:hover\\:via-text-dimmed:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.dark\\:hover\\:via-text-dark:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.dark\\:hover\\:via-body-light:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.dark\\:hover\\:via-body-dark:hover{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.dark\\:hover\\:via-button:hover{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.dark\\:hover\\:via-button_hover:hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.dark\\:focus\\:via-transparent:focus{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.dark\\:focus\\:via-current:focus{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.dark\\:focus\\:via-white:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.dark\\:focus\\:via-lightgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.dark\\:focus\\:via-midgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.dark\\:focus\\:via-darkgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.dark\\:focus\\:via-grey:focus{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.dark\\:focus\\:via-black:focus{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.dark\\:focus\\:via-highlight:focus{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.dark\\:focus\\:via-highlight_hover:focus{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.dark\\:focus\\:via-button_outline:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.dark\\:focus\\:via-error:focus{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.dark\\:focus\\:via-text-light:focus{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.dark\\:focus\\:via-text-dimmed:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.dark\\:focus\\:via-text-dark:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.dark\\:focus\\:via-body-light:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.dark\\:focus\\:via-body-dark:focus{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.dark\\:focus\\:via-button:focus{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.dark\\:focus\\:via-button_hover:focus{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}}.to-transparent{--tw-gradient-to:transparent}.to-current{--tw-gradient-to:currentColor}.to-white{--tw-gradient-to:#fff}.to-lightgrey{--tw-gradient-to:#F7F7F7}.to-midgrey{--tw-gradient-to:#cfcfcf}.to-darkgrey{--tw-gradient-to:#7f7f7f}.to-grey{--tw-gradient-to:#1e1e1e}.to-black{--tw-gradient-to:#0f0f0f}.to-highlight{--tw-gradient-to:#0071e3}.to-highlight_hover{--tw-gradient-to:#0077ed}.to-button_outline{--tw-gradient-to:#cfcfcf}.to-error{--tw-gradient-to:#ff453a}.to-text-light{--tw-gradient-to:#0f0f0f}.to-text-dimmed{--tw-gradient-to:#cfcfcf}.to-text-dark{--tw-gradient-to:#fff}.to-body-light{--tw-gradient-to:#fff}.to-body-dark{--tw-gradient-to:#1e1e1e}.to-button{--tw-gradient-to:#0071e3}.to-button_hover{--tw-gradient-to:#0077ed}.hover\\:to-transparent:hover{--tw-gradient-to:transparent}.hover\\:to-current:hover{--tw-gradient-to:currentColor}.hover\\:to-white:hover{--tw-gradient-to:#fff}.hover\\:to-lightgrey:hover{--tw-gradient-to:#F7F7F7}.hover\\:to-midgrey:hover{--tw-gradient-to:#cfcfcf}.hover\\:to-darkgrey:hover{--tw-gradient-to:#7f7f7f}.hover\\:to-grey:hover{--tw-gradient-to:#1e1e1e}.hover\\:to-black:hover{--tw-gradient-to:#0f0f0f}.hover\\:to-highlight:hover{--tw-gradient-to:#0071e3}.hover\\:to-highlight_hover:hover{--tw-gradient-to:#0077ed}.hover\\:to-button_outline:hover{--tw-gradient-to:#cfcfcf}.hover\\:to-error:hover{--tw-gradient-to:#ff453a}.hover\\:to-text-light:hover{--tw-gradient-to:#0f0f0f}.hover\\:to-text-dimmed:hover{--tw-gradient-to:#cfcfcf}.hover\\:to-text-dark:hover{--tw-gradient-to:#fff}.hover\\:to-body-light:hover{--tw-gradient-to:#fff}.hover\\:to-body-dark:hover{--tw-gradient-to:#1e1e1e}.hover\\:to-button:hover{--tw-gradient-to:#0071e3}.hover\\:to-button_hover:hover{--tw-gradient-to:#0077ed}.focus\\:to-transparent:focus{--tw-gradient-to:transparent}.focus\\:to-current:focus{--tw-gradient-to:currentColor}.focus\\:to-white:focus{--tw-gradient-to:#fff}.focus\\:to-lightgrey:focus{--tw-gradient-to:#F7F7F7}.focus\\:to-midgrey:focus{--tw-gradient-to:#cfcfcf}.focus\\:to-darkgrey:focus{--tw-gradient-to:#7f7f7f}.focus\\:to-grey:focus{--tw-gradient-to:#1e1e1e}.focus\\:to-black:focus{--tw-gradient-to:#0f0f0f}.focus\\:to-highlight:focus{--tw-gradient-to:#0071e3}.focus\\:to-highlight_hover:focus{--tw-gradient-to:#0077ed}.focus\\:to-button_outline:focus{--tw-gradient-to:#cfcfcf}.focus\\:to-error:focus{--tw-gradient-to:#ff453a}.focus\\:to-text-light:focus{--tw-gradient-to:#0f0f0f}.focus\\:to-text-dimmed:focus{--tw-gradient-to:#cfcfcf}.focus\\:to-text-dark:focus{--tw-gradient-to:#fff}.focus\\:to-body-light:focus{--tw-gradient-to:#fff}.focus\\:to-body-dark:focus{--tw-gradient-to:#1e1e1e}.focus\\:to-button:focus{--tw-gradient-to:#0071e3}.focus\\:to-button_hover:focus{--tw-gradient-to:#0077ed}@media(prefers-color-scheme: dark){.dark\\:to-transparent{--tw-gradient-to:transparent}.dark\\:to-current{--tw-gradient-to:currentColor}.dark\\:to-white{--tw-gradient-to:#fff}.dark\\:to-lightgrey{--tw-gradient-to:#F7F7F7}.dark\\:to-midgrey{--tw-gradient-to:#cfcfcf}.dark\\:to-darkgrey{--tw-gradient-to:#7f7f7f}.dark\\:to-grey{--tw-gradient-to:#1e1e1e}.dark\\:to-black{--tw-gradient-to:#0f0f0f}.dark\\:to-highlight{--tw-gradient-to:#0071e3}.dark\\:to-highlight_hover{--tw-gradient-to:#0077ed}.dark\\:to-button_outline{--tw-gradient-to:#cfcfcf}.dark\\:to-error{--tw-gradient-to:#ff453a}.dark\\:to-text-light{--tw-gradient-to:#0f0f0f}.dark\\:to-text-dimmed{--tw-gradient-to:#cfcfcf}.dark\\:to-text-dark{--tw-gradient-to:#fff}.dark\\:to-body-light{--tw-gradient-to:#fff}.dark\\:to-body-dark{--tw-gradient-to:#1e1e1e}.dark\\:to-button{--tw-gradient-to:#0071e3}.dark\\:to-button_hover{--tw-gradient-to:#0077ed}.dark\\:hover\\:to-transparent:hover{--tw-gradient-to:transparent}.dark\\:hover\\:to-current:hover{--tw-gradient-to:currentColor}.dark\\:hover\\:to-white:hover{--tw-gradient-to:#fff}.dark\\:hover\\:to-lightgrey:hover{--tw-gradient-to:#F7F7F7}.dark\\:hover\\:to-midgrey:hover{--tw-gradient-to:#cfcfcf}.dark\\:hover\\:to-darkgrey:hover{--tw-gradient-to:#7f7f7f}.dark\\:hover\\:to-grey:hover{--tw-gradient-to:#1e1e1e}.dark\\:hover\\:to-black:hover{--tw-gradient-to:#0f0f0f}.dark\\:hover\\:to-highlight:hover{--tw-gradient-to:#0071e3}.dark\\:hover\\:to-highlight_hover:hover{--tw-gradient-to:#0077ed}.dark\\:hover\\:to-button_outline:hover{--tw-gradient-to:#cfcfcf}.dark\\:hover\\:to-error:hover{--tw-gradient-to:#ff453a}.dark\\:hover\\:to-text-light:hover{--tw-gradient-to:#0f0f0f}.dark\\:hover\\:to-text-dimmed:hover{--tw-gradient-to:#cfcfcf}.dark\\:hover\\:to-text-dark:hover{--tw-gradient-to:#fff}.dark\\:hover\\:to-body-light:hover{--tw-gradient-to:#fff}.dark\\:hover\\:to-body-dark:hover{--tw-gradient-to:#1e1e1e}.dark\\:hover\\:to-button:hover{--tw-gradient-to:#0071e3}.dark\\:hover\\:to-button_hover:hover{--tw-gradient-to:#0077ed}.dark\\:focus\\:to-transparent:focus{--tw-gradient-to:transparent}.dark\\:focus\\:to-current:focus{--tw-gradient-to:currentColor}.dark\\:focus\\:to-white:focus{--tw-gradient-to:#fff}.dark\\:focus\\:to-lightgrey:focus{--tw-gradient-to:#F7F7F7}.dark\\:focus\\:to-midgrey:focus{--tw-gradient-to:#cfcfcf}.dark\\:focus\\:to-darkgrey:focus{--tw-gradient-to:#7f7f7f}.dark\\:focus\\:to-grey:focus{--tw-gradient-to:#1e1e1e}.dark\\:focus\\:to-black:focus{--tw-gradient-to:#0f0f0f}.dark\\:focus\\:to-highlight:focus{--tw-gradient-to:#0071e3}.dark\\:focus\\:to-highlight_hover:focus{--tw-gradient-to:#0077ed}.dark\\:focus\\:to-button_outline:focus{--tw-gradient-to:#cfcfcf}.dark\\:focus\\:to-error:focus{--tw-gradient-to:#ff453a}.dark\\:focus\\:to-text-light:focus{--tw-gradient-to:#0f0f0f}.dark\\:focus\\:to-text-dimmed:focus{--tw-gradient-to:#cfcfcf}.dark\\:focus\\:to-text-dark:focus{--tw-gradient-to:#fff}.dark\\:focus\\:to-body-light:focus{--tw-gradient-to:#fff}.dark\\:focus\\:to-body-dark:focus{--tw-gradient-to:#1e1e1e}.dark\\:focus\\:to-button:focus{--tw-gradient-to:#0071e3}.dark\\:focus\\:to-button_hover:focus{--tw-gradient-to:#0077ed}}.decoration-slice{-webkit-box-decoration-break:slice;box-decoration-break:slice}.decoration-clone{-webkit-box-decoration-break:clone;box-decoration-break:clone}.bg-auto{background-size:auto}.bg-cover{background-size:cover}.bg-contain{background-size:contain}.bg-fixed{background-attachment:fixed}.bg-local{background-attachment:local}.bg-scroll{background-attachment:scroll}.bg-clip-border{background-clip:border-box}.bg-clip-padding{background-clip:padding-box}.bg-clip-content{background-clip:content-box}.bg-clip-text{background-clip:text}.bg-bottom{background-position:bottom}.bg-center{background-position:center}.bg-left{background-position:left}.bg-left-bottom{background-position:left bottom}.bg-left-top{background-position:left top}.bg-right{background-position:right}.bg-right-bottom{background-position:right bottom}.bg-right-top{background-position:right top}.bg-top{background-position:top}.bg-repeat{background-repeat:repeat}.bg-no-repeat{background-repeat:no-repeat}.bg-repeat-x{background-repeat:repeat-x}.bg-repeat-y{background-repeat:repeat-y}.bg-repeat-round{background-repeat:round}.bg-repeat-space{background-repeat:space}.bg-origin-border{background-origin:border-box}.bg-origin-padding{background-origin:padding-box}.bg-origin-content{background-origin:content-box}.fill-current{fill:currentColor}.stroke-current{stroke:currentColor}.stroke-0{stroke-width:0}.stroke-1{stroke-width:1}.stroke-2{stroke-width:2}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.object-fill{object-fit:fill}.object-none{object-fit:none}.object-scale-down{object-fit:scale-down}.object-bottom{object-position:bottom}.object-center{object-position:center}.object-left{object-position:left}.object-left-bottom{object-position:left bottom}.object-left-top{object-position:left top}.object-right{object-position:right}.object-right-bottom{object-position:right bottom}.object-right-top{object-position:right top}.object-top{object-position:top}.p-0{padding:0px}.p-1{padding:0.25rem}.p-2{padding:0.5rem}.p-3{padding:0.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-7{padding:1.75rem}.p-8{padding:2rem}.p-9{padding:2.25rem}.p-10{padding:2.5rem}.p-11{padding:2.75rem}.p-12{padding:3rem}.p-14{padding:3.5rem}.p-16{padding:4rem}.p-20{padding:5rem}.p-24{padding:6rem}.p-28{padding:7rem}.p-32{padding:8rem}.p-36{padding:9rem}.p-40{padding:10rem}.p-44{padding:11rem}.p-48{padding:12rem}.p-52{padding:13rem}.p-56{padding:14rem}.p-60{padding:15rem}.p-64{padding:16rem}.p-72{padding:18rem}.p-80{padding:20rem}.p-96{padding:24rem}.p-px{padding:1px}.p-0\\.5{padding:0.125rem}.p-1\\.5{padding:0.375rem}.p-2\\.5{padding:0.625rem}.p-3\\.5{padding:0.875rem}.px-0{padding-left:0px;padding-right:0px}.px-1{padding-left:0.25rem;padding-right:0.25rem}.px-2{padding-left:0.5rem;padding-right:0.5rem}.px-3{padding-left:0.75rem;padding-right:0.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-7{padding-left:1.75rem;padding-right:1.75rem}.px-8{padding-left:2rem;padding-right:2rem}.px-9{padding-left:2.25rem;padding-right:2.25rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-11{padding-left:2.75rem;padding-right:2.75rem}.px-12{padding-left:3rem;padding-right:3rem}.px-14{padding-left:3.5rem;padding-right:3.5rem}.px-16{padding-left:4rem;padding-right:4rem}.px-20{padding-left:5rem;padding-right:5rem}.px-24{padding-left:6rem;padding-right:6rem}.px-28{padding-left:7rem;padding-right:7rem}.px-32{padding-left:8rem;padding-right:8rem}.px-36{padding-left:9rem;padding-right:9rem}.px-40{padding-left:10rem;padding-right:10rem}.px-44{padding-left:11rem;padding-right:11rem}.px-48{padding-left:12rem;padding-right:12rem}.px-52{padding-left:13rem;padding-right:13rem}.px-56{padding-left:14rem;padding-right:14rem}.px-60{padding-left:15rem;padding-right:15rem}.px-64{padding-left:16rem;padding-right:16rem}.px-72{padding-left:18rem;padding-right:18rem}.px-80{padding-left:20rem;padding-right:20rem}.px-96{padding-left:24rem;padding-right:24rem}.px-px{padding-left:1px;padding-right:1px}.px-0\\.5{padding-left:0.125rem;padding-right:0.125rem}.px-1\\.5{padding-left:0.375rem;padding-right:0.375rem}.px-2\\.5{padding-left:0.625rem;padding-right:0.625rem}.px-3\\.5{padding-left:0.875rem;padding-right:0.875rem}.py-0{padding-top:0px;padding-bottom:0px}.py-1{padding-top:0.25rem;padding-bottom:0.25rem}.py-2{padding-top:0.5rem;padding-bottom:0.5rem}.py-3{padding-top:0.75rem;padding-bottom:0.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-7{padding-top:1.75rem;padding-bottom:1.75rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-9{padding-top:2.25rem;padding-bottom:2.25rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-11{padding-top:2.75rem;padding-bottom:2.75rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-14{padding-top:3.5rem;padding-bottom:3.5rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-24{padding-top:6rem;padding-bottom:6rem}.py-28{padding-top:7rem;padding-bottom:7rem}.py-32{padding-top:8rem;padding-bottom:8rem}.py-36{padding-top:9rem;padding-bottom:9rem}.py-40{padding-top:10rem;padding-bottom:10rem}.py-44{padding-top:11rem;padding-bottom:11rem}.py-48{padding-top:12rem;padding-bottom:12rem}.py-52{padding-top:13rem;padding-bottom:13rem}.py-56{padding-top:14rem;padding-bottom:14rem}.py-60{padding-top:15rem;padding-bottom:15rem}.py-64{padding-top:16rem;padding-bottom:16rem}.py-72{padding-top:18rem;padding-bottom:18rem}.py-80{padding-top:20rem;padding-bottom:20rem}.py-96{padding-top:24rem;padding-bottom:24rem}.py-px{padding-top:1px;padding-bottom:1px}.py-0\\.5{padding-top:0.125rem;padding-bottom:0.125rem}.py-1\\.5{padding-top:0.375rem;padding-bottom:0.375rem}.py-2\\.5{padding-top:0.625rem;padding-bottom:0.625rem}.py-3\\.5{padding-top:0.875rem;padding-bottom:0.875rem}.pt-0{padding-top:0px}.pt-1{padding-top:0.25rem}.pt-2{padding-top:0.5rem}.pt-3{padding-top:0.75rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.pt-7{padding-top:1.75rem}.pt-8{padding-top:2rem}.pt-9{padding-top:2.25rem}.pt-10{padding-top:2.5rem}.pt-11{padding-top:2.75rem}.pt-12{padding-top:3rem}.pt-14{padding-top:3.5rem}.pt-16{padding-top:4rem}.pt-20{padding-top:5rem}.pt-24{padding-top:6rem}.pt-28{padding-top:7rem}.pt-32{padding-top:8rem}.pt-36{padding-top:9rem}.pt-40{padding-top:10rem}.pt-44{padding-top:11rem}.pt-48{padding-top:12rem}.pt-52{padding-top:13rem}.pt-56{padding-top:14rem}.pt-60{padding-top:15rem}.pt-64{padding-top:16rem}.pt-72{padding-top:18rem}.pt-80{padding-top:20rem}.pt-96{padding-top:24rem}.pt-px{padding-top:1px}.pt-0\\.5{padding-top:0.125rem}.pt-1\\.5{padding-top:0.375rem}.pt-2\\.5{padding-top:0.625rem}.pt-3\\.5{padding-top:0.875rem}.pr-0{padding-right:0px}.pr-1{padding-right:0.25rem}.pr-2{padding-right:0.5rem}.pr-3{padding-right:0.75rem}.pr-4{padding-right:1rem}.pr-5{padding-right:1.25rem}.pr-6{padding-right:1.5rem}.pr-7{padding-right:1.75rem}.pr-8{padding-right:2rem}.pr-9{padding-right:2.25rem}.pr-10{padding-right:2.5rem}.pr-11{padding-right:2.75rem}.pr-12{padding-right:3rem}.pr-14{padding-right:3.5rem}.pr-16{padding-right:4rem}.pr-20{padding-right:5rem}.pr-24{padding-right:6rem}.pr-28{padding-right:7rem}.pr-32{padding-right:8rem}.pr-36{padding-right:9rem}.pr-40{padding-right:10rem}.pr-44{padding-right:11rem}.pr-48{padding-right:12rem}.pr-52{padding-right:13rem}.pr-56{padding-right:14rem}.pr-60{padding-right:15rem}.pr-64{padding-right:16rem}.pr-72{padding-right:18rem}.pr-80{padding-right:20rem}.pr-96{padding-right:24rem}.pr-px{padding-right:1px}.pr-0\\.5{padding-right:0.125rem}.pr-1\\.5{padding-right:0.375rem}.pr-2\\.5{padding-right:0.625rem}.pr-3\\.5{padding-right:0.875rem}.pb-0{padding-bottom:0px}.pb-1{padding-bottom:0.25rem}.pb-2{padding-bottom:0.5rem}.pb-3{padding-bottom:0.75rem}.pb-4{padding-bottom:1rem}.pb-5{padding-bottom:1.25rem}.pb-6{padding-bottom:1.5rem}.pb-7{padding-bottom:1.75rem}.pb-8{padding-bottom:2rem}.pb-9{padding-bottom:2.25rem}.pb-10{padding-bottom:2.5rem}.pb-11{padding-bottom:2.75rem}.pb-12{padding-bottom:3rem}.pb-14{padding-bottom:3.5rem}.pb-16{padding-bottom:4rem}.pb-20{padding-bottom:5rem}.pb-24{padding-bottom:6rem}.pb-28{padding-bottom:7rem}.pb-32{padding-bottom:8rem}.pb-36{padding-bottom:9rem}.pb-40{padding-bottom:10rem}.pb-44{padding-bottom:11rem}.pb-48{padding-bottom:12rem}.pb-52{padding-bottom:13rem}.pb-56{padding-bottom:14rem}.pb-60{padding-bottom:15rem}.pb-64{padding-bottom:16rem}.pb-72{padding-bottom:18rem}.pb-80{padding-bottom:20rem}.pb-96{padding-bottom:24rem}.pb-px{padding-bottom:1px}.pb-0\\.5{padding-bottom:0.125rem}.pb-1\\.5{padding-bottom:0.375rem}.pb-2\\.5{padding-bottom:0.625rem}.pb-3\\.5{padding-bottom:0.875rem}.pl-0{padding-left:0px}.pl-1{padding-left:0.25rem}.pl-2{padding-left:0.5rem}.pl-3{padding-left:0.75rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.pl-6{padding-left:1.5rem}.pl-7{padding-left:1.75rem}.pl-8{padding-left:2rem}.pl-9{padding-left:2.25rem}.pl-10{padding-left:2.5rem}.pl-11{padding-left:2.75rem}.pl-12{padding-left:3rem}.pl-14{padding-left:3.5rem}.pl-16{padding-left:4rem}.pl-20{padding-left:5rem}.pl-24{padding-left:6rem}.pl-28{padding-left:7rem}.pl-32{padding-left:8rem}.pl-36{padding-left:9rem}.pl-40{padding-left:10rem}.pl-44{padding-left:11rem}.pl-48{padding-left:12rem}.pl-52{padding-left:13rem}.pl-56{padding-left:14rem}.pl-60{padding-left:15rem}.pl-64{padding-left:16rem}.pl-72{padding-left:18rem}.pl-80{padding-left:20rem}.pl-96{padding-left:24rem}.pl-px{padding-left:1px}.pl-0\\.5{padding-left:0.125rem}.pl-1\\.5{padding-left:0.375rem}.pl-2\\.5{padding-left:0.625rem}.pl-3\\.5{padding-left:0.875rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.align-baseline{vertical-align:baseline}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.align-text-top{vertical-align:text-top}.align-text-bottom{vertical-align:text-bottom}.font-sans{font-family:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"}.font-serif{font-family:ui-serif, Georgia, Cambria, \"Times New Roman\", Times, serif}.font-mono{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace}.text-xs{font-size:0.75rem;line-height:1rem}.text-sm{font-size:0.875rem;line-height:1.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-6xl{font-size:3.75rem;line-height:1}.text-7xl{font-size:4.5rem;line-height:1}.text-8xl{font-size:6rem;line-height:1}.text-9xl{font-size:8rem;line-height:1}.font-thin{font-weight:100}.font-extralight{font-weight:200}.font-light{font-weight:300}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-black{font-weight:900}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.italic{font-style:italic}.not-italic{font-style:normal}.ordinal,.slashed-zero,.lining-nums,.oldstyle-nums,.proportional-nums,.tabular-nums,.diagonal-fractions,.stacked-fractions{--tw-ordinal:var(--tw-empty,/*!*/ /*!*/);--tw-slashed-zero:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-figure:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-spacing:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-fraction:var(--tw-empty,/*!*/ /*!*/);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.normal-nums{font-variant-numeric:normal}.ordinal{--tw-ordinal:ordinal}.slashed-zero{--tw-slashed-zero:slashed-zero}.lining-nums{--tw-numeric-figure:lining-nums}.oldstyle-nums{--tw-numeric-figure:oldstyle-nums}.proportional-nums{--tw-numeric-spacing:proportional-nums}.tabular-nums{--tw-numeric-spacing:tabular-nums}.diagonal-fractions{--tw-numeric-fraction:diagonal-fractions}.stacked-fractions{--tw-numeric-fraction:stacked-fractions}.leading-3{line-height:.75rem}.leading-4{line-height:1rem}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-7{line-height:1.75rem}.leading-8{line-height:2rem}.leading-9{line-height:2.25rem}.leading-10{line-height:2.5rem}.leading-none{line-height:1}.leading-tight{line-height:1.25}.leading-snug{line-height:1.375}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.625}.leading-loose{line-height:2}.tracking-tighter{letter-spacing:-0.05em}.tracking-tight{letter-spacing:-0.025em}.tracking-normal{letter-spacing:0em}.tracking-wide{letter-spacing:0.025em}.tracking-wider{letter-spacing:0.05em}.tracking-widest{letter-spacing:0.1em}.text-transparent{color:transparent}.text-current{color:currentColor}.text-white{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.text-lightgrey{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.text-midgrey{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.text-darkgrey{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.text-grey{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.text-black{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.text-highlight{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.text-highlight_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.text-button_outline{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.text-error{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.text-text-light{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.text-text-dimmed{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.text-text-dark{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.text-body-light{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.text-body-dark{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.text-button{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.text-button_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.group:hover .group-hover\\:text-transparent{color:transparent}.group:hover .group-hover\\:text-current{color:currentColor}.group:hover .group-hover\\:text-white{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .group-hover\\:text-lightgrey{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.group:hover .group-hover\\:text-midgrey{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .group-hover\\:text-darkgrey{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.group:hover .group-hover\\:text-grey{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.group:hover .group-hover\\:text-black{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.group:hover .group-hover\\:text-highlight{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.group:hover .group-hover\\:text-highlight_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.group:hover .group-hover\\:text-button_outline{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .group-hover\\:text-error{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.group:hover .group-hover\\:text-text-light{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.group:hover .group-hover\\:text-text-dimmed{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .group-hover\\:text-text-dark{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .group-hover\\:text-body-light{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .group-hover\\:text-body-dark{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.group:hover .group-hover\\:text-button{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.group:hover .group-hover\\:text-button_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.focus-within\\:text-transparent:focus-within{color:transparent}.focus-within\\:text-current:focus-within{color:currentColor}.focus-within\\:text-white:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.focus-within\\:text-lightgrey:focus-within{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.focus-within\\:text-midgrey:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.focus-within\\:text-darkgrey:focus-within{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.focus-within\\:text-grey:focus-within{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.focus-within\\:text-black:focus-within{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.focus-within\\:text-highlight:focus-within{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.focus-within\\:text-highlight_hover:focus-within{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.focus-within\\:text-button_outline:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.focus-within\\:text-error:focus-within{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.focus-within\\:text-text-light:focus-within{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.focus-within\\:text-text-dimmed:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.focus-within\\:text-text-dark:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.focus-within\\:text-body-light:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.focus-within\\:text-body-dark:focus-within{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.focus-within\\:text-button:focus-within{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.focus-within\\:text-button_hover:focus-within{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.hover\\:text-transparent:hover{color:transparent}.hover\\:text-current:hover{color:currentColor}.hover\\:text-white:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.hover\\:text-lightgrey:hover{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.hover\\:text-midgrey:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.hover\\:text-darkgrey:hover{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.hover\\:text-grey:hover{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.hover\\:text-black:hover{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.hover\\:text-highlight:hover{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.hover\\:text-highlight_hover:hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.hover\\:text-button_outline:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.hover\\:text-error:hover{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.hover\\:text-text-light:hover{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.hover\\:text-text-dimmed:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.hover\\:text-text-dark:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.hover\\:text-body-light:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.hover\\:text-body-dark:hover{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.hover\\:text-button:hover{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.hover\\:text-button_hover:hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.focus\\:text-transparent:focus{color:transparent}.focus\\:text-current:focus{color:currentColor}.focus\\:text-white:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.focus\\:text-lightgrey:focus{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.focus\\:text-midgrey:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.focus\\:text-darkgrey:focus{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.focus\\:text-grey:focus{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.focus\\:text-black:focus{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.focus\\:text-highlight:focus{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.focus\\:text-highlight_hover:focus{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.focus\\:text-button_outline:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.focus\\:text-error:focus{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.focus\\:text-text-light:focus{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.focus\\:text-text-dimmed:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.focus\\:text-text-dark:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.focus\\:text-body-light:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.focus\\:text-body-dark:focus{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.focus\\:text-button:focus{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.focus\\:text-button_hover:focus{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}@media(prefers-color-scheme: dark){.dark\\:text-transparent{color:transparent}.dark\\:text-current{color:currentColor}.dark\\:text-white{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.dark\\:text-lightgrey{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.dark\\:text-midgrey{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.dark\\:text-darkgrey{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.dark\\:text-grey{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.dark\\:text-black{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.dark\\:text-highlight{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.dark\\:text-highlight_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.dark\\:text-button_outline{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.dark\\:text-error{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.dark\\:text-text-light{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.dark\\:text-text-dimmed{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.dark\\:text-text-dark{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.dark\\:text-body-light{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.dark\\:text-body-dark{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.dark\\:text-button{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.dark\\:text-button_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.group:hover .dark\\:group-hover\\:text-transparent{color:transparent}.group:hover .dark\\:group-hover\\:text-current{color:currentColor}.group:hover .dark\\:group-hover\\:text-white{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .dark\\:group-hover\\:text-lightgrey{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.group:hover .dark\\:group-hover\\:text-midgrey{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .dark\\:group-hover\\:text-darkgrey{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.group:hover .dark\\:group-hover\\:text-grey{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.group:hover .dark\\:group-hover\\:text-black{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.group:hover .dark\\:group-hover\\:text-highlight{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.group:hover .dark\\:group-hover\\:text-highlight_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.group:hover .dark\\:group-hover\\:text-button_outline{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .dark\\:group-hover\\:text-error{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.group:hover .dark\\:group-hover\\:text-text-light{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.group:hover .dark\\:group-hover\\:text-text-dimmed{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .dark\\:group-hover\\:text-text-dark{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .dark\\:group-hover\\:text-body-light{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .dark\\:group-hover\\:text-body-dark{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.group:hover .dark\\:group-hover\\:text-button{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.group:hover .dark\\:group-hover\\:text-button_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.dark\\:focus-within\\:text-transparent:focus-within{color:transparent}.dark\\:focus-within\\:text-current:focus-within{color:currentColor}.dark\\:focus-within\\:text-white:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.dark\\:focus-within\\:text-lightgrey:focus-within{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.dark\\:focus-within\\:text-midgrey:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.dark\\:focus-within\\:text-darkgrey:focus-within{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.dark\\:focus-within\\:text-grey:focus-within{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.dark\\:focus-within\\:text-black:focus-within{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.dark\\:focus-within\\:text-highlight:focus-within{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.dark\\:focus-within\\:text-highlight_hover:focus-within{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.dark\\:focus-within\\:text-button_outline:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.dark\\:focus-within\\:text-error:focus-within{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.dark\\:focus-within\\:text-text-light:focus-within{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.dark\\:focus-within\\:text-text-dimmed:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.dark\\:focus-within\\:text-text-dark:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.dark\\:focus-within\\:text-body-light:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.dark\\:focus-within\\:text-body-dark:focus-within{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.dark\\:focus-within\\:text-button:focus-within{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.dark\\:focus-within\\:text-button_hover:focus-within{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.dark\\:hover\\:text-transparent:hover{color:transparent}.dark\\:hover\\:text-current:hover{color:currentColor}.dark\\:hover\\:text-white:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.dark\\:hover\\:text-lightgrey:hover{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.dark\\:hover\\:text-midgrey:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.dark\\:hover\\:text-darkgrey:hover{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.dark\\:hover\\:text-grey:hover{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.dark\\:hover\\:text-black:hover{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.dark\\:hover\\:text-highlight:hover{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.dark\\:hover\\:text-highlight_hover:hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.dark\\:hover\\:text-button_outline:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.dark\\:hover\\:text-error:hover{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.dark\\:hover\\:text-text-light:hover{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.dark\\:hover\\:text-text-dimmed:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.dark\\:hover\\:text-text-dark:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.dark\\:hover\\:text-body-light:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.dark\\:hover\\:text-body-dark:hover{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.dark\\:hover\\:text-button:hover{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.dark\\:hover\\:text-button_hover:hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.dark\\:focus\\:text-transparent:focus{color:transparent}.dark\\:focus\\:text-current:focus{color:currentColor}.dark\\:focus\\:text-white:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.dark\\:focus\\:text-lightgrey:focus{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.dark\\:focus\\:text-midgrey:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.dark\\:focus\\:text-darkgrey:focus{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.dark\\:focus\\:text-grey:focus{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.dark\\:focus\\:text-black:focus{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.dark\\:focus\\:text-highlight:focus{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.dark\\:focus\\:text-highlight_hover:focus{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.dark\\:focus\\:text-button_outline:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.dark\\:focus\\:text-error:focus{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.dark\\:focus\\:text-text-light:focus{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.dark\\:focus\\:text-text-dimmed:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.dark\\:focus\\:text-text-dark:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.dark\\:focus\\:text-body-light:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.dark\\:focus\\:text-body-dark:focus{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.dark\\:focus\\:text-button:focus{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.dark\\:focus\\:text-button_hover:focus{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}}.text-opacity-0{--tw-text-opacity:0}.text-opacity-5{--tw-text-opacity:0.05}.text-opacity-10{--tw-text-opacity:0.1}.text-opacity-20{--tw-text-opacity:0.2}.text-opacity-25{--tw-text-opacity:0.25}.text-opacity-30{--tw-text-opacity:0.3}.text-opacity-40{--tw-text-opacity:0.4}.text-opacity-50{--tw-text-opacity:0.5}.text-opacity-60{--tw-text-opacity:0.6}.text-opacity-70{--tw-text-opacity:0.7}.text-opacity-75{--tw-text-opacity:0.75}.text-opacity-80{--tw-text-opacity:0.8}.text-opacity-90{--tw-text-opacity:0.9}.text-opacity-95{--tw-text-opacity:0.95}.text-opacity-100{--tw-text-opacity:1}.group:hover .group-hover\\:text-opacity-0{--tw-text-opacity:0}.group:hover .group-hover\\:text-opacity-5{--tw-text-opacity:0.05}.group:hover .group-hover\\:text-opacity-10{--tw-text-opacity:0.1}.group:hover .group-hover\\:text-opacity-20{--tw-text-opacity:0.2}.group:hover .group-hover\\:text-opacity-25{--tw-text-opacity:0.25}.group:hover .group-hover\\:text-opacity-30{--tw-text-opacity:0.3}.group:hover .group-hover\\:text-opacity-40{--tw-text-opacity:0.4}.group:hover .group-hover\\:text-opacity-50{--tw-text-opacity:0.5}.group:hover .group-hover\\:text-opacity-60{--tw-text-opacity:0.6}.group:hover .group-hover\\:text-opacity-70{--tw-text-opacity:0.7}.group:hover .group-hover\\:text-opacity-75{--tw-text-opacity:0.75}.group:hover .group-hover\\:text-opacity-80{--tw-text-opacity:0.8}.group:hover .group-hover\\:text-opacity-90{--tw-text-opacity:0.9}.group:hover .group-hover\\:text-opacity-95{--tw-text-opacity:0.95}.group:hover .group-hover\\:text-opacity-100{--tw-text-opacity:1}.focus-within\\:text-opacity-0:focus-within{--tw-text-opacity:0}.focus-within\\:text-opacity-5:focus-within{--tw-text-opacity:0.05}.focus-within\\:text-opacity-10:focus-within{--tw-text-opacity:0.1}.focus-within\\:text-opacity-20:focus-within{--tw-text-opacity:0.2}.focus-within\\:text-opacity-25:focus-within{--tw-text-opacity:0.25}.focus-within\\:text-opacity-30:focus-within{--tw-text-opacity:0.3}.focus-within\\:text-opacity-40:focus-within{--tw-text-opacity:0.4}.focus-within\\:text-opacity-50:focus-within{--tw-text-opacity:0.5}.focus-within\\:text-opacity-60:focus-within{--tw-text-opacity:0.6}.focus-within\\:text-opacity-70:focus-within{--tw-text-opacity:0.7}.focus-within\\:text-opacity-75:focus-within{--tw-text-opacity:0.75}.focus-within\\:text-opacity-80:focus-within{--tw-text-opacity:0.8}.focus-within\\:text-opacity-90:focus-within{--tw-text-opacity:0.9}.focus-within\\:text-opacity-95:focus-within{--tw-text-opacity:0.95}.focus-within\\:text-opacity-100:focus-within{--tw-text-opacity:1}.hover\\:text-opacity-0:hover{--tw-text-opacity:0}.hover\\:text-opacity-5:hover{--tw-text-opacity:0.05}.hover\\:text-opacity-10:hover{--tw-text-opacity:0.1}.hover\\:text-opacity-20:hover{--tw-text-opacity:0.2}.hover\\:text-opacity-25:hover{--tw-text-opacity:0.25}.hover\\:text-opacity-30:hover{--tw-text-opacity:0.3}.hover\\:text-opacity-40:hover{--tw-text-opacity:0.4}.hover\\:text-opacity-50:hover{--tw-text-opacity:0.5}.hover\\:text-opacity-60:hover{--tw-text-opacity:0.6}.hover\\:text-opacity-70:hover{--tw-text-opacity:0.7}.hover\\:text-opacity-75:hover{--tw-text-opacity:0.75}.hover\\:text-opacity-80:hover{--tw-text-opacity:0.8}.hover\\:text-opacity-90:hover{--tw-text-opacity:0.9}.hover\\:text-opacity-95:hover{--tw-text-opacity:0.95}.hover\\:text-opacity-100:hover{--tw-text-opacity:1}.focus\\:text-opacity-0:focus{--tw-text-opacity:0}.focus\\:text-opacity-5:focus{--tw-text-opacity:0.05}.focus\\:text-opacity-10:focus{--tw-text-opacity:0.1}.focus\\:text-opacity-20:focus{--tw-text-opacity:0.2}.focus\\:text-opacity-25:focus{--tw-text-opacity:0.25}.focus\\:text-opacity-30:focus{--tw-text-opacity:0.3}.focus\\:text-opacity-40:focus{--tw-text-opacity:0.4}.focus\\:text-opacity-50:focus{--tw-text-opacity:0.5}.focus\\:text-opacity-60:focus{--tw-text-opacity:0.6}.focus\\:text-opacity-70:focus{--tw-text-opacity:0.7}.focus\\:text-opacity-75:focus{--tw-text-opacity:0.75}.focus\\:text-opacity-80:focus{--tw-text-opacity:0.8}.focus\\:text-opacity-90:focus{--tw-text-opacity:0.9}.focus\\:text-opacity-95:focus{--tw-text-opacity:0.95}.focus\\:text-opacity-100:focus{--tw-text-opacity:1}@media(prefers-color-scheme: dark){.dark\\:text-opacity-0{--tw-text-opacity:0}.dark\\:text-opacity-5{--tw-text-opacity:0.05}.dark\\:text-opacity-10{--tw-text-opacity:0.1}.dark\\:text-opacity-20{--tw-text-opacity:0.2}.dark\\:text-opacity-25{--tw-text-opacity:0.25}.dark\\:text-opacity-30{--tw-text-opacity:0.3}.dark\\:text-opacity-40{--tw-text-opacity:0.4}.dark\\:text-opacity-50{--tw-text-opacity:0.5}.dark\\:text-opacity-60{--tw-text-opacity:0.6}.dark\\:text-opacity-70{--tw-text-opacity:0.7}.dark\\:text-opacity-75{--tw-text-opacity:0.75}.dark\\:text-opacity-80{--tw-text-opacity:0.8}.dark\\:text-opacity-90{--tw-text-opacity:0.9}.dark\\:text-opacity-95{--tw-text-opacity:0.95}.dark\\:text-opacity-100{--tw-text-opacity:1}.group:hover .dark\\:group-hover\\:text-opacity-0{--tw-text-opacity:0}.group:hover .dark\\:group-hover\\:text-opacity-5{--tw-text-opacity:0.05}.group:hover .dark\\:group-hover\\:text-opacity-10{--tw-text-opacity:0.1}.group:hover .dark\\:group-hover\\:text-opacity-20{--tw-text-opacity:0.2}.group:hover .dark\\:group-hover\\:text-opacity-25{--tw-text-opacity:0.25}.group:hover .dark\\:group-hover\\:text-opacity-30{--tw-text-opacity:0.3}.group:hover .dark\\:group-hover\\:text-opacity-40{--tw-text-opacity:0.4}.group:hover .dark\\:group-hover\\:text-opacity-50{--tw-text-opacity:0.5}.group:hover .dark\\:group-hover\\:text-opacity-60{--tw-text-opacity:0.6}.group:hover .dark\\:group-hover\\:text-opacity-70{--tw-text-opacity:0.7}.group:hover .dark\\:group-hover\\:text-opacity-75{--tw-text-opacity:0.75}.group:hover .dark\\:group-hover\\:text-opacity-80{--tw-text-opacity:0.8}.group:hover .dark\\:group-hover\\:text-opacity-90{--tw-text-opacity:0.9}.group:hover .dark\\:group-hover\\:text-opacity-95{--tw-text-opacity:0.95}.group:hover .dark\\:group-hover\\:text-opacity-100{--tw-text-opacity:1}.dark\\:focus-within\\:text-opacity-0:focus-within{--tw-text-opacity:0}.dark\\:focus-within\\:text-opacity-5:focus-within{--tw-text-opacity:0.05}.dark\\:focus-within\\:text-opacity-10:focus-within{--tw-text-opacity:0.1}.dark\\:focus-within\\:text-opacity-20:focus-within{--tw-text-opacity:0.2}.dark\\:focus-within\\:text-opacity-25:focus-within{--tw-text-opacity:0.25}.dark\\:focus-within\\:text-opacity-30:focus-within{--tw-text-opacity:0.3}.dark\\:focus-within\\:text-opacity-40:focus-within{--tw-text-opacity:0.4}.dark\\:focus-within\\:text-opacity-50:focus-within{--tw-text-opacity:0.5}.dark\\:focus-within\\:text-opacity-60:focus-within{--tw-text-opacity:0.6}.dark\\:focus-within\\:text-opacity-70:focus-within{--tw-text-opacity:0.7}.dark\\:focus-within\\:text-opacity-75:focus-within{--tw-text-opacity:0.75}.dark\\:focus-within\\:text-opacity-80:focus-within{--tw-text-opacity:0.8}.dark\\:focus-within\\:text-opacity-90:focus-within{--tw-text-opacity:0.9}.dark\\:focus-within\\:text-opacity-95:focus-within{--tw-text-opacity:0.95}.dark\\:focus-within\\:text-opacity-100:focus-within{--tw-text-opacity:1}.dark\\:hover\\:text-opacity-0:hover{--tw-text-opacity:0}.dark\\:hover\\:text-opacity-5:hover{--tw-text-opacity:0.05}.dark\\:hover\\:text-opacity-10:hover{--tw-text-opacity:0.1}.dark\\:hover\\:text-opacity-20:hover{--tw-text-opacity:0.2}.dark\\:hover\\:text-opacity-25:hover{--tw-text-opacity:0.25}.dark\\:hover\\:text-opacity-30:hover{--tw-text-opacity:0.3}.dark\\:hover\\:text-opacity-40:hover{--tw-text-opacity:0.4}.dark\\:hover\\:text-opacity-50:hover{--tw-text-opacity:0.5}.dark\\:hover\\:text-opacity-60:hover{--tw-text-opacity:0.6}.dark\\:hover\\:text-opacity-70:hover{--tw-text-opacity:0.7}.dark\\:hover\\:text-opacity-75:hover{--tw-text-opacity:0.75}.dark\\:hover\\:text-opacity-80:hover{--tw-text-opacity:0.8}.dark\\:hover\\:text-opacity-90:hover{--tw-text-opacity:0.9}.dark\\:hover\\:text-opacity-95:hover{--tw-text-opacity:0.95}.dark\\:hover\\:text-opacity-100:hover{--tw-text-opacity:1}.dark\\:focus\\:text-opacity-0:focus{--tw-text-opacity:0}.dark\\:focus\\:text-opacity-5:focus{--tw-text-opacity:0.05}.dark\\:focus\\:text-opacity-10:focus{--tw-text-opacity:0.1}.dark\\:focus\\:text-opacity-20:focus{--tw-text-opacity:0.2}.dark\\:focus\\:text-opacity-25:focus{--tw-text-opacity:0.25}.dark\\:focus\\:text-opacity-30:focus{--tw-text-opacity:0.3}.dark\\:focus\\:text-opacity-40:focus{--tw-text-opacity:0.4}.dark\\:focus\\:text-opacity-50:focus{--tw-text-opacity:0.5}.dark\\:focus\\:text-opacity-60:focus{--tw-text-opacity:0.6}.dark\\:focus\\:text-opacity-70:focus{--tw-text-opacity:0.7}.dark\\:focus\\:text-opacity-75:focus{--tw-text-opacity:0.75}.dark\\:focus\\:text-opacity-80:focus{--tw-text-opacity:0.8}.dark\\:focus\\:text-opacity-90:focus{--tw-text-opacity:0.9}.dark\\:focus\\:text-opacity-95:focus{--tw-text-opacity:0.95}.dark\\:focus\\:text-opacity-100:focus{--tw-text-opacity:1}}.underline{text-decoration:underline}.line-through{text-decoration:line-through}.no-underline{text-decoration:none}.group:hover .group-hover\\:underline{text-decoration:underline}.group:hover .group-hover\\:line-through{text-decoration:line-through}.group:hover .group-hover\\:no-underline{text-decoration:none}.focus-within\\:underline:focus-within{text-decoration:underline}.focus-within\\:line-through:focus-within{text-decoration:line-through}.focus-within\\:no-underline:focus-within{text-decoration:none}.hover\\:underline:hover{text-decoration:underline}.hover\\:line-through:hover{text-decoration:line-through}.hover\\:no-underline:hover{text-decoration:none}.focus\\:underline:focus{text-decoration:underline}.focus\\:line-through:focus{text-decoration:line-through}.focus\\:no-underline:focus{text-decoration:none}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.placeholder-transparent::placeholder{color:transparent}.placeholder-current::placeholder{color:currentColor}.placeholder-white::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.placeholder-lightgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(247, 247, 247, var(--tw-placeholder-opacity))}.placeholder-midgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.placeholder-darkgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(127, 127, 127, var(--tw-placeholder-opacity))}.placeholder-grey::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.placeholder-black::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.placeholder-highlight::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.placeholder-highlight_hover::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.placeholder-button_outline::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.placeholder-error::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 69, 58, var(--tw-placeholder-opacity))}.placeholder-text-light::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.placeholder-text-dimmed::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.placeholder-text-dark::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.placeholder-body-light::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.placeholder-body-dark::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.placeholder-button::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.placeholder-button_hover::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.focus\\:placeholder-transparent:focus::placeholder{color:transparent}.focus\\:placeholder-current:focus::placeholder{color:currentColor}.focus\\:placeholder-white:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.focus\\:placeholder-lightgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(247, 247, 247, var(--tw-placeholder-opacity))}.focus\\:placeholder-midgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.focus\\:placeholder-darkgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(127, 127, 127, var(--tw-placeholder-opacity))}.focus\\:placeholder-grey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.focus\\:placeholder-black:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.focus\\:placeholder-highlight:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.focus\\:placeholder-highlight_hover:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.focus\\:placeholder-button_outline:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.focus\\:placeholder-error:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 69, 58, var(--tw-placeholder-opacity))}.focus\\:placeholder-text-light:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.focus\\:placeholder-text-dimmed:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.focus\\:placeholder-text-dark:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.focus\\:placeholder-body-light:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.focus\\:placeholder-body-dark:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.focus\\:placeholder-button:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.focus\\:placeholder-button_hover:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}@media(prefers-color-scheme: dark){.dark\\:placeholder-transparent::placeholder{color:transparent}.dark\\:placeholder-current::placeholder{color:currentColor}.dark\\:placeholder-white::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.dark\\:placeholder-lightgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(247, 247, 247, var(--tw-placeholder-opacity))}.dark\\:placeholder-midgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.dark\\:placeholder-darkgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(127, 127, 127, var(--tw-placeholder-opacity))}.dark\\:placeholder-grey::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.dark\\:placeholder-black::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.dark\\:placeholder-highlight::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.dark\\:placeholder-highlight_hover::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.dark\\:placeholder-button_outline::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.dark\\:placeholder-error::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 69, 58, var(--tw-placeholder-opacity))}.dark\\:placeholder-text-light::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.dark\\:placeholder-text-dimmed::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.dark\\:placeholder-text-dark::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.dark\\:placeholder-body-light::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.dark\\:placeholder-body-dark::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.dark\\:placeholder-button::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.dark\\:placeholder-button_hover::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.dark\\:focus\\:placeholder-transparent:focus::placeholder{color:transparent}.dark\\:focus\\:placeholder-current:focus::placeholder{color:currentColor}.dark\\:focus\\:placeholder-white:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.dark\\:focus\\:placeholder-lightgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(247, 247, 247, var(--tw-placeholder-opacity))}.dark\\:focus\\:placeholder-midgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.dark\\:focus\\:placeholder-darkgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(127, 127, 127, var(--tw-placeholder-opacity))}.dark\\:focus\\:placeholder-grey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.dark\\:focus\\:placeholder-black:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.dark\\:focus\\:placeholder-highlight:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.dark\\:focus\\:placeholder-highlight_hover:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.dark\\:focus\\:placeholder-button_outline:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.dark\\:focus\\:placeholder-error:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 69, 58, var(--tw-placeholder-opacity))}.dark\\:focus\\:placeholder-text-light:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.dark\\:focus\\:placeholder-text-dimmed:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.dark\\:focus\\:placeholder-text-dark:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.dark\\:focus\\:placeholder-body-light:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.dark\\:focus\\:placeholder-body-dark:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.dark\\:focus\\:placeholder-button:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.dark\\:focus\\:placeholder-button_hover:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}}.placeholder-opacity-0::placeholder{--tw-placeholder-opacity:0}.placeholder-opacity-5::placeholder{--tw-placeholder-opacity:0.05}.placeholder-opacity-10::placeholder{--tw-placeholder-opacity:0.1}.placeholder-opacity-20::placeholder{--tw-placeholder-opacity:0.2}.placeholder-opacity-25::placeholder{--tw-placeholder-opacity:0.25}.placeholder-opacity-30::placeholder{--tw-placeholder-opacity:0.3}.placeholder-opacity-40::placeholder{--tw-placeholder-opacity:0.4}.placeholder-opacity-50::placeholder{--tw-placeholder-opacity:0.5}.placeholder-opacity-60::placeholder{--tw-placeholder-opacity:0.6}.placeholder-opacity-70::placeholder{--tw-placeholder-opacity:0.7}.placeholder-opacity-75::placeholder{--tw-placeholder-opacity:0.75}.placeholder-opacity-80::placeholder{--tw-placeholder-opacity:0.8}.placeholder-opacity-90::placeholder{--tw-placeholder-opacity:0.9}.placeholder-opacity-95::placeholder{--tw-placeholder-opacity:0.95}.placeholder-opacity-100::placeholder{--tw-placeholder-opacity:1}.focus\\:placeholder-opacity-0:focus::placeholder{--tw-placeholder-opacity:0}.focus\\:placeholder-opacity-5:focus::placeholder{--tw-placeholder-opacity:0.05}.focus\\:placeholder-opacity-10:focus::placeholder{--tw-placeholder-opacity:0.1}.focus\\:placeholder-opacity-20:focus::placeholder{--tw-placeholder-opacity:0.2}.focus\\:placeholder-opacity-25:focus::placeholder{--tw-placeholder-opacity:0.25}.focus\\:placeholder-opacity-30:focus::placeholder{--tw-placeholder-opacity:0.3}.focus\\:placeholder-opacity-40:focus::placeholder{--tw-placeholder-opacity:0.4}.focus\\:placeholder-opacity-50:focus::placeholder{--tw-placeholder-opacity:0.5}.focus\\:placeholder-opacity-60:focus::placeholder{--tw-placeholder-opacity:0.6}.focus\\:placeholder-opacity-70:focus::placeholder{--tw-placeholder-opacity:0.7}.focus\\:placeholder-opacity-75:focus::placeholder{--tw-placeholder-opacity:0.75}.focus\\:placeholder-opacity-80:focus::placeholder{--tw-placeholder-opacity:0.8}.focus\\:placeholder-opacity-90:focus::placeholder{--tw-placeholder-opacity:0.9}.focus\\:placeholder-opacity-95:focus::placeholder{--tw-placeholder-opacity:0.95}.focus\\:placeholder-opacity-100:focus::placeholder{--tw-placeholder-opacity:1}@media(prefers-color-scheme: dark){.dark\\:placeholder-opacity-0::placeholder{--tw-placeholder-opacity:0}.dark\\:placeholder-opacity-5::placeholder{--tw-placeholder-opacity:0.05}.dark\\:placeholder-opacity-10::placeholder{--tw-placeholder-opacity:0.1}.dark\\:placeholder-opacity-20::placeholder{--tw-placeholder-opacity:0.2}.dark\\:placeholder-opacity-25::placeholder{--tw-placeholder-opacity:0.25}.dark\\:placeholder-opacity-30::placeholder{--tw-placeholder-opacity:0.3}.dark\\:placeholder-opacity-40::placeholder{--tw-placeholder-opacity:0.4}.dark\\:placeholder-opacity-50::placeholder{--tw-placeholder-opacity:0.5}.dark\\:placeholder-opacity-60::placeholder{--tw-placeholder-opacity:0.6}.dark\\:placeholder-opacity-70::placeholder{--tw-placeholder-opacity:0.7}.dark\\:placeholder-opacity-75::placeholder{--tw-placeholder-opacity:0.75}.dark\\:placeholder-opacity-80::placeholder{--tw-placeholder-opacity:0.8}.dark\\:placeholder-opacity-90::placeholder{--tw-placeholder-opacity:0.9}.dark\\:placeholder-opacity-95::placeholder{--tw-placeholder-opacity:0.95}.dark\\:placeholder-opacity-100::placeholder{--tw-placeholder-opacity:1}.dark\\:focus\\:placeholder-opacity-0:focus::placeholder{--tw-placeholder-opacity:0}.dark\\:focus\\:placeholder-opacity-5:focus::placeholder{--tw-placeholder-opacity:0.05}.dark\\:focus\\:placeholder-opacity-10:focus::placeholder{--tw-placeholder-opacity:0.1}.dark\\:focus\\:placeholder-opacity-20:focus::placeholder{--tw-placeholder-opacity:0.2}.dark\\:focus\\:placeholder-opacity-25:focus::placeholder{--tw-placeholder-opacity:0.25}.dark\\:focus\\:placeholder-opacity-30:focus::placeholder{--tw-placeholder-opacity:0.3}.dark\\:focus\\:placeholder-opacity-40:focus::placeholder{--tw-placeholder-opacity:0.4}.dark\\:focus\\:placeholder-opacity-50:focus::placeholder{--tw-placeholder-opacity:0.5}.dark\\:focus\\:placeholder-opacity-60:focus::placeholder{--tw-placeholder-opacity:0.6}.dark\\:focus\\:placeholder-opacity-70:focus::placeholder{--tw-placeholder-opacity:0.7}.dark\\:focus\\:placeholder-opacity-75:focus::placeholder{--tw-placeholder-opacity:0.75}.dark\\:focus\\:placeholder-opacity-80:focus::placeholder{--tw-placeholder-opacity:0.8}.dark\\:focus\\:placeholder-opacity-90:focus::placeholder{--tw-placeholder-opacity:0.9}.dark\\:focus\\:placeholder-opacity-95:focus::placeholder{--tw-placeholder-opacity:0.95}.dark\\:focus\\:placeholder-opacity-100:focus::placeholder{--tw-placeholder-opacity:1}}.opacity-0{opacity:0}.opacity-5{opacity:0.05}.opacity-10{opacity:0.1}.opacity-20{opacity:0.2}.opacity-25{opacity:0.25}.opacity-30{opacity:0.3}.opacity-40{opacity:0.4}.opacity-50{opacity:0.5}.opacity-60{opacity:0.6}.opacity-70{opacity:0.7}.opacity-75{opacity:0.75}.opacity-80{opacity:0.8}.opacity-90{opacity:0.9}.opacity-95{opacity:0.95}.opacity-100{opacity:1}.group:hover .group-hover\\:opacity-0{opacity:0}.group:hover .group-hover\\:opacity-5{opacity:0.05}.group:hover .group-hover\\:opacity-10{opacity:0.1}.group:hover .group-hover\\:opacity-20{opacity:0.2}.group:hover .group-hover\\:opacity-25{opacity:0.25}.group:hover .group-hover\\:opacity-30{opacity:0.3}.group:hover .group-hover\\:opacity-40{opacity:0.4}.group:hover .group-hover\\:opacity-50{opacity:0.5}.group:hover .group-hover\\:opacity-60{opacity:0.6}.group:hover .group-hover\\:opacity-70{opacity:0.7}.group:hover .group-hover\\:opacity-75{opacity:0.75}.group:hover .group-hover\\:opacity-80{opacity:0.8}.group:hover .group-hover\\:opacity-90{opacity:0.9}.group:hover .group-hover\\:opacity-95{opacity:0.95}.group:hover .group-hover\\:opacity-100{opacity:1}.focus-within\\:opacity-0:focus-within{opacity:0}.focus-within\\:opacity-5:focus-within{opacity:0.05}.focus-within\\:opacity-10:focus-within{opacity:0.1}.focus-within\\:opacity-20:focus-within{opacity:0.2}.focus-within\\:opacity-25:focus-within{opacity:0.25}.focus-within\\:opacity-30:focus-within{opacity:0.3}.focus-within\\:opacity-40:focus-within{opacity:0.4}.focus-within\\:opacity-50:focus-within{opacity:0.5}.focus-within\\:opacity-60:focus-within{opacity:0.6}.focus-within\\:opacity-70:focus-within{opacity:0.7}.focus-within\\:opacity-75:focus-within{opacity:0.75}.focus-within\\:opacity-80:focus-within{opacity:0.8}.focus-within\\:opacity-90:focus-within{opacity:0.9}.focus-within\\:opacity-95:focus-within{opacity:0.95}.focus-within\\:opacity-100:focus-within{opacity:1}.hover\\:opacity-0:hover{opacity:0}.hover\\:opacity-5:hover{opacity:0.05}.hover\\:opacity-10:hover{opacity:0.1}.hover\\:opacity-20:hover{opacity:0.2}.hover\\:opacity-25:hover{opacity:0.25}.hover\\:opacity-30:hover{opacity:0.3}.hover\\:opacity-40:hover{opacity:0.4}.hover\\:opacity-50:hover{opacity:0.5}.hover\\:opacity-60:hover{opacity:0.6}.hover\\:opacity-70:hover{opacity:0.7}.hover\\:opacity-75:hover{opacity:0.75}.hover\\:opacity-80:hover{opacity:0.8}.hover\\:opacity-90:hover{opacity:0.9}.hover\\:opacity-95:hover{opacity:0.95}.hover\\:opacity-100:hover{opacity:1}.focus\\:opacity-0:focus{opacity:0}.focus\\:opacity-5:focus{opacity:0.05}.focus\\:opacity-10:focus{opacity:0.1}.focus\\:opacity-20:focus{opacity:0.2}.focus\\:opacity-25:focus{opacity:0.25}.focus\\:opacity-30:focus{opacity:0.3}.focus\\:opacity-40:focus{opacity:0.4}.focus\\:opacity-50:focus{opacity:0.5}.focus\\:opacity-60:focus{opacity:0.6}.focus\\:opacity-70:focus{opacity:0.7}.focus\\:opacity-75:focus{opacity:0.75}.focus\\:opacity-80:focus{opacity:0.8}.focus\\:opacity-90:focus{opacity:0.9}.focus\\:opacity-95:focus{opacity:0.95}.focus\\:opacity-100:focus{opacity:1}.bg-blend-normal{background-blend-mode:normal}.bg-blend-multiply{background-blend-mode:multiply}.bg-blend-screen{background-blend-mode:screen}.bg-blend-overlay{background-blend-mode:overlay}.bg-blend-darken{background-blend-mode:darken}.bg-blend-lighten{background-blend-mode:lighten}.bg-blend-color-dodge{background-blend-mode:color-dodge}.bg-blend-color-burn{background-blend-mode:color-burn}.bg-blend-hard-light{background-blend-mode:hard-light}.bg-blend-soft-light{background-blend-mode:soft-light}.bg-blend-difference{background-blend-mode:difference}.bg-blend-exclusion{background-blend-mode:exclusion}.bg-blend-hue{background-blend-mode:hue}.bg-blend-saturation{background-blend-mode:saturation}.bg-blend-color{background-blend-mode:color}.bg-blend-luminosity{background-blend-mode:luminosity}.mix-blend-normal{mix-blend-mode:normal}.mix-blend-multiply{mix-blend-mode:multiply}.mix-blend-screen{mix-blend-mode:screen}.mix-blend-overlay{mix-blend-mode:overlay}.mix-blend-darken{mix-blend-mode:darken}.mix-blend-lighten{mix-blend-mode:lighten}.mix-blend-color-dodge{mix-blend-mode:color-dodge}.mix-blend-color-burn{mix-blend-mode:color-burn}.mix-blend-hard-light{mix-blend-mode:hard-light}.mix-blend-soft-light{mix-blend-mode:soft-light}.mix-blend-difference{mix-blend-mode:difference}.mix-blend-exclusion{mix-blend-mode:exclusion}.mix-blend-hue{mix-blend-mode:hue}.mix-blend-saturation{mix-blend-mode:saturation}.mix-blend-color{mix-blend-mode:color}.mix-blend-luminosity{mix-blend-mode:luminosity}*,::before,::after{--tw-shadow:0 0 #0000}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.shadow{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .group-hover\\:shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .group-hover\\:shadow{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .group-hover\\:shadow-md{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .group-hover\\:shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .group-hover\\:shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .group-hover\\:shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .group-hover\\:shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .group-hover\\:shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.focus-within\\:shadow-sm:focus-within{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.focus-within\\:shadow:focus-within{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.focus-within\\:shadow-md:focus-within{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.focus-within\\:shadow-lg:focus-within{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.focus-within\\:shadow-xl:focus-within{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.focus-within\\:shadow-2xl:focus-within{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.focus-within\\:shadow-inner:focus-within{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.focus-within\\:shadow-none:focus-within{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.hover\\:shadow-sm:hover{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.hover\\:shadow:hover{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.hover\\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.hover\\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.hover\\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.hover\\:shadow-2xl:hover{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.hover\\:shadow-inner:hover{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.hover\\:shadow-none:hover{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.focus\\:shadow-sm:focus{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.focus\\:shadow:focus{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.focus\\:shadow-md:focus{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.focus\\:shadow-lg:focus{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.focus\\:shadow-xl:focus{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.focus\\:shadow-2xl:focus{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.focus\\:shadow-inner:focus{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.focus\\:shadow-none:focus{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline-white{outline:2px dotted white;outline-offset:2px}.outline-black{outline:2px dotted black;outline-offset:2px}.focus-within\\:outline-none:focus-within{outline:2px solid transparent;outline-offset:2px}.focus-within\\:outline-white:focus-within{outline:2px dotted white;outline-offset:2px}.focus-within\\:outline-black:focus-within{outline:2px dotted black;outline-offset:2px}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:outline-white:focus{outline:2px dotted white;outline-offset:2px}.focus\\:outline-black:focus{outline:2px dotted black;outline-offset:2px}*,::before,::after{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59, 130, 246, 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.ring-4{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.ring-8{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.focus-within\\:ring-0:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.focus-within\\:ring-1:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.focus-within\\:ring-2:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.focus-within\\:ring-4:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.focus-within\\:ring-8:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.focus-within\\:ring:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.focus\\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.focus\\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.focus\\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.focus\\:ring-8:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.focus\\:ring:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.ring-inset{--tw-ring-inset:inset}.focus-within\\:ring-inset:focus-within{--tw-ring-inset:inset}.focus\\:ring-inset:focus{--tw-ring-inset:inset}.ring-transparent{--tw-ring-color:transparent}.ring-current{--tw-ring-color:currentColor}.ring-white{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.ring-lightgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.ring-midgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.ring-darkgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.ring-grey{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.ring-black{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.ring-highlight{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.ring-highlight_hover{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.ring-button_outline{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.ring-error{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.ring-text-light{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.ring-text-dimmed{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.ring-text-dark{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.ring-body-light{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.ring-body-dark{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.ring-button{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.ring-button_hover{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.focus-within\\:ring-transparent:focus-within{--tw-ring-color:transparent}.focus-within\\:ring-current:focus-within{--tw-ring-color:currentColor}.focus-within\\:ring-white:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.focus-within\\:ring-lightgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.focus-within\\:ring-midgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.focus-within\\:ring-darkgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.focus-within\\:ring-grey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.focus-within\\:ring-black:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.focus-within\\:ring-highlight:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.focus-within\\:ring-highlight_hover:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.focus-within\\:ring-button_outline:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.focus-within\\:ring-error:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.focus-within\\:ring-text-light:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.focus-within\\:ring-text-dimmed:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.focus-within\\:ring-text-dark:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.focus-within\\:ring-body-light:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.focus-within\\:ring-body-dark:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.focus-within\\:ring-button:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.focus-within\\:ring-button_hover:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.focus\\:ring-transparent:focus{--tw-ring-color:transparent}.focus\\:ring-current:focus{--tw-ring-color:currentColor}.focus\\:ring-white:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.focus\\:ring-lightgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.focus\\:ring-midgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.focus\\:ring-darkgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.focus\\:ring-grey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.focus\\:ring-black:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.focus\\:ring-highlight:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.focus\\:ring-highlight_hover:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.focus\\:ring-button_outline:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.focus\\:ring-error:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.focus\\:ring-text-light:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.focus\\:ring-text-dimmed:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.focus\\:ring-text-dark:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.focus\\:ring-body-light:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.focus\\:ring-body-dark:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.focus\\:ring-button:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.focus\\:ring-button_hover:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}@media(prefers-color-scheme: dark){.dark\\:ring-transparent{--tw-ring-color:transparent}.dark\\:ring-current{--tw-ring-color:currentColor}.dark\\:ring-white{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.dark\\:ring-lightgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.dark\\:ring-midgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.dark\\:ring-darkgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.dark\\:ring-grey{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.dark\\:ring-black{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.dark\\:ring-highlight{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.dark\\:ring-highlight_hover{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.dark\\:ring-button_outline{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.dark\\:ring-error{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.dark\\:ring-text-light{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.dark\\:ring-text-dimmed{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.dark\\:ring-text-dark{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.dark\\:ring-body-light{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.dark\\:ring-body-dark{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.dark\\:ring-button{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.dark\\:ring-button_hover{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.dark\\:focus-within\\:ring-transparent:focus-within{--tw-ring-color:transparent}.dark\\:focus-within\\:ring-current:focus-within{--tw-ring-color:currentColor}.dark\\:focus-within\\:ring-white:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.dark\\:focus-within\\:ring-lightgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.dark\\:focus-within\\:ring-midgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.dark\\:focus-within\\:ring-darkgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.dark\\:focus-within\\:ring-grey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.dark\\:focus-within\\:ring-black:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.dark\\:focus-within\\:ring-highlight:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.dark\\:focus-within\\:ring-highlight_hover:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.dark\\:focus-within\\:ring-button_outline:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.dark\\:focus-within\\:ring-error:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.dark\\:focus-within\\:ring-text-light:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.dark\\:focus-within\\:ring-text-dimmed:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.dark\\:focus-within\\:ring-text-dark:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.dark\\:focus-within\\:ring-body-light:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.dark\\:focus-within\\:ring-body-dark:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.dark\\:focus-within\\:ring-button:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.dark\\:focus-within\\:ring-button_hover:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.dark\\:focus\\:ring-transparent:focus{--tw-ring-color:transparent}.dark\\:focus\\:ring-current:focus{--tw-ring-color:currentColor}.dark\\:focus\\:ring-white:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.dark\\:focus\\:ring-lightgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.dark\\:focus\\:ring-midgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.dark\\:focus\\:ring-darkgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.dark\\:focus\\:ring-grey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.dark\\:focus\\:ring-black:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.dark\\:focus\\:ring-highlight:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.dark\\:focus\\:ring-highlight_hover:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.dark\\:focus\\:ring-button_outline:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.dark\\:focus\\:ring-error:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.dark\\:focus\\:ring-text-light:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.dark\\:focus\\:ring-text-dimmed:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.dark\\:focus\\:ring-text-dark:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.dark\\:focus\\:ring-body-light:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.dark\\:focus\\:ring-body-dark:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.dark\\:focus\\:ring-button:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.dark\\:focus\\:ring-button_hover:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}}.ring-opacity-0{--tw-ring-opacity:0}.ring-opacity-5{--tw-ring-opacity:0.05}.ring-opacity-10{--tw-ring-opacity:0.1}.ring-opacity-20{--tw-ring-opacity:0.2}.ring-opacity-25{--tw-ring-opacity:0.25}.ring-opacity-30{--tw-ring-opacity:0.3}.ring-opacity-40{--tw-ring-opacity:0.4}.ring-opacity-50{--tw-ring-opacity:0.5}.ring-opacity-60{--tw-ring-opacity:0.6}.ring-opacity-70{--tw-ring-opacity:0.7}.ring-opacity-75{--tw-ring-opacity:0.75}.ring-opacity-80{--tw-ring-opacity:0.8}.ring-opacity-90{--tw-ring-opacity:0.9}.ring-opacity-95{--tw-ring-opacity:0.95}.ring-opacity-100{--tw-ring-opacity:1}.focus-within\\:ring-opacity-0:focus-within{--tw-ring-opacity:0}.focus-within\\:ring-opacity-5:focus-within{--tw-ring-opacity:0.05}.focus-within\\:ring-opacity-10:focus-within{--tw-ring-opacity:0.1}.focus-within\\:ring-opacity-20:focus-within{--tw-ring-opacity:0.2}.focus-within\\:ring-opacity-25:focus-within{--tw-ring-opacity:0.25}.focus-within\\:ring-opacity-30:focus-within{--tw-ring-opacity:0.3}.focus-within\\:ring-opacity-40:focus-within{--tw-ring-opacity:0.4}.focus-within\\:ring-opacity-50:focus-within{--tw-ring-opacity:0.5}.focus-within\\:ring-opacity-60:focus-within{--tw-ring-opacity:0.6}.focus-within\\:ring-opacity-70:focus-within{--tw-ring-opacity:0.7}.focus-within\\:ring-opacity-75:focus-within{--tw-ring-opacity:0.75}.focus-within\\:ring-opacity-80:focus-within{--tw-ring-opacity:0.8}.focus-within\\:ring-opacity-90:focus-within{--tw-ring-opacity:0.9}.focus-within\\:ring-opacity-95:focus-within{--tw-ring-opacity:0.95}.focus-within\\:ring-opacity-100:focus-within{--tw-ring-opacity:1}.focus\\:ring-opacity-0:focus{--tw-ring-opacity:0}.focus\\:ring-opacity-5:focus{--tw-ring-opacity:0.05}.focus\\:ring-opacity-10:focus{--tw-ring-opacity:0.1}.focus\\:ring-opacity-20:focus{--tw-ring-opacity:0.2}.focus\\:ring-opacity-25:focus{--tw-ring-opacity:0.25}.focus\\:ring-opacity-30:focus{--tw-ring-opacity:0.3}.focus\\:ring-opacity-40:focus{--tw-ring-opacity:0.4}.focus\\:ring-opacity-50:focus{--tw-ring-opacity:0.5}.focus\\:ring-opacity-60:focus{--tw-ring-opacity:0.6}.focus\\:ring-opacity-70:focus{--tw-ring-opacity:0.7}.focus\\:ring-opacity-75:focus{--tw-ring-opacity:0.75}.focus\\:ring-opacity-80:focus{--tw-ring-opacity:0.8}.focus\\:ring-opacity-90:focus{--tw-ring-opacity:0.9}.focus\\:ring-opacity-95:focus{--tw-ring-opacity:0.95}.focus\\:ring-opacity-100:focus{--tw-ring-opacity:1}@media(prefers-color-scheme: dark){.dark\\:ring-opacity-0{--tw-ring-opacity:0}.dark\\:ring-opacity-5{--tw-ring-opacity:0.05}.dark\\:ring-opacity-10{--tw-ring-opacity:0.1}.dark\\:ring-opacity-20{--tw-ring-opacity:0.2}.dark\\:ring-opacity-25{--tw-ring-opacity:0.25}.dark\\:ring-opacity-30{--tw-ring-opacity:0.3}.dark\\:ring-opacity-40{--tw-ring-opacity:0.4}.dark\\:ring-opacity-50{--tw-ring-opacity:0.5}.dark\\:ring-opacity-60{--tw-ring-opacity:0.6}.dark\\:ring-opacity-70{--tw-ring-opacity:0.7}.dark\\:ring-opacity-75{--tw-ring-opacity:0.75}.dark\\:ring-opacity-80{--tw-ring-opacity:0.8}.dark\\:ring-opacity-90{--tw-ring-opacity:0.9}.dark\\:ring-opacity-95{--tw-ring-opacity:0.95}.dark\\:ring-opacity-100{--tw-ring-opacity:1}.dark\\:focus-within\\:ring-opacity-0:focus-within{--tw-ring-opacity:0}.dark\\:focus-within\\:ring-opacity-5:focus-within{--tw-ring-opacity:0.05}.dark\\:focus-within\\:ring-opacity-10:focus-within{--tw-ring-opacity:0.1}.dark\\:focus-within\\:ring-opacity-20:focus-within{--tw-ring-opacity:0.2}.dark\\:focus-within\\:ring-opacity-25:focus-within{--tw-ring-opacity:0.25}.dark\\:focus-within\\:ring-opacity-30:focus-within{--tw-ring-opacity:0.3}.dark\\:focus-within\\:ring-opacity-40:focus-within{--tw-ring-opacity:0.4}.dark\\:focus-within\\:ring-opacity-50:focus-within{--tw-ring-opacity:0.5}.dark\\:focus-within\\:ring-opacity-60:focus-within{--tw-ring-opacity:0.6}.dark\\:focus-within\\:ring-opacity-70:focus-within{--tw-ring-opacity:0.7}.dark\\:focus-within\\:ring-opacity-75:focus-within{--tw-ring-opacity:0.75}.dark\\:focus-within\\:ring-opacity-80:focus-within{--tw-ring-opacity:0.8}.dark\\:focus-within\\:ring-opacity-90:focus-within{--tw-ring-opacity:0.9}.dark\\:focus-within\\:ring-opacity-95:focus-within{--tw-ring-opacity:0.95}.dark\\:focus-within\\:ring-opacity-100:focus-within{--tw-ring-opacity:1}.dark\\:focus\\:ring-opacity-0:focus{--tw-ring-opacity:0}.dark\\:focus\\:ring-opacity-5:focus{--tw-ring-opacity:0.05}.dark\\:focus\\:ring-opacity-10:focus{--tw-ring-opacity:0.1}.dark\\:focus\\:ring-opacity-20:focus{--tw-ring-opacity:0.2}.dark\\:focus\\:ring-opacity-25:focus{--tw-ring-opacity:0.25}.dark\\:focus\\:ring-opacity-30:focus{--tw-ring-opacity:0.3}.dark\\:focus\\:ring-opacity-40:focus{--tw-ring-opacity:0.4}.dark\\:focus\\:ring-opacity-50:focus{--tw-ring-opacity:0.5}.dark\\:focus\\:ring-opacity-60:focus{--tw-ring-opacity:0.6}.dark\\:focus\\:ring-opacity-70:focus{--tw-ring-opacity:0.7}.dark\\:focus\\:ring-opacity-75:focus{--tw-ring-opacity:0.75}.dark\\:focus\\:ring-opacity-80:focus{--tw-ring-opacity:0.8}.dark\\:focus\\:ring-opacity-90:focus{--tw-ring-opacity:0.9}.dark\\:focus\\:ring-opacity-95:focus{--tw-ring-opacity:0.95}.dark\\:focus\\:ring-opacity-100:focus{--tw-ring-opacity:1}}.ring-offset-0{--tw-ring-offset-width:0px}.ring-offset-1{--tw-ring-offset-width:1px}.ring-offset-2{--tw-ring-offset-width:2px}.ring-offset-4{--tw-ring-offset-width:4px}.ring-offset-8{--tw-ring-offset-width:8px}.focus-within\\:ring-offset-0:focus-within{--tw-ring-offset-width:0px}.focus-within\\:ring-offset-1:focus-within{--tw-ring-offset-width:1px}.focus-within\\:ring-offset-2:focus-within{--tw-ring-offset-width:2px}.focus-within\\:ring-offset-4:focus-within{--tw-ring-offset-width:4px}.focus-within\\:ring-offset-8:focus-within{--tw-ring-offset-width:8px}.focus\\:ring-offset-0:focus{--tw-ring-offset-width:0px}.focus\\:ring-offset-1:focus{--tw-ring-offset-width:1px}.focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus\\:ring-offset-4:focus{--tw-ring-offset-width:4px}.focus\\:ring-offset-8:focus{--tw-ring-offset-width:8px}.ring-offset-transparent{--tw-ring-offset-color:transparent}.ring-offset-current{--tw-ring-offset-color:currentColor}.ring-offset-white{--tw-ring-offset-color:#fff}.ring-offset-lightgrey{--tw-ring-offset-color:#F7F7F7}.ring-offset-midgrey{--tw-ring-offset-color:#cfcfcf}.ring-offset-darkgrey{--tw-ring-offset-color:#7f7f7f}.ring-offset-grey{--tw-ring-offset-color:#1e1e1e}.ring-offset-black{--tw-ring-offset-color:#0f0f0f}.ring-offset-highlight{--tw-ring-offset-color:#0071e3}.ring-offset-highlight_hover{--tw-ring-offset-color:#0077ed}.ring-offset-button_outline{--tw-ring-offset-color:#cfcfcf}.ring-offset-error{--tw-ring-offset-color:#ff453a}.ring-offset-text-light{--tw-ring-offset-color:#0f0f0f}.ring-offset-text-dimmed{--tw-ring-offset-color:#cfcfcf}.ring-offset-text-dark{--tw-ring-offset-color:#fff}.ring-offset-body-light{--tw-ring-offset-color:#fff}.ring-offset-body-dark{--tw-ring-offset-color:#1e1e1e}.ring-offset-button{--tw-ring-offset-color:#0071e3}.ring-offset-button_hover{--tw-ring-offset-color:#0077ed}.focus-within\\:ring-offset-transparent:focus-within{--tw-ring-offset-color:transparent}.focus-within\\:ring-offset-current:focus-within{--tw-ring-offset-color:currentColor}.focus-within\\:ring-offset-white:focus-within{--tw-ring-offset-color:#fff}.focus-within\\:ring-offset-lightgrey:focus-within{--tw-ring-offset-color:#F7F7F7}.focus-within\\:ring-offset-midgrey:focus-within{--tw-ring-offset-color:#cfcfcf}.focus-within\\:ring-offset-darkgrey:focus-within{--tw-ring-offset-color:#7f7f7f}.focus-within\\:ring-offset-grey:focus-within{--tw-ring-offset-color:#1e1e1e}.focus-within\\:ring-offset-black:focus-within{--tw-ring-offset-color:#0f0f0f}.focus-within\\:ring-offset-highlight:focus-within{--tw-ring-offset-color:#0071e3}.focus-within\\:ring-offset-highlight_hover:focus-within{--tw-ring-offset-color:#0077ed}.focus-within\\:ring-offset-button_outline:focus-within{--tw-ring-offset-color:#cfcfcf}.focus-within\\:ring-offset-error:focus-within{--tw-ring-offset-color:#ff453a}.focus-within\\:ring-offset-text-light:focus-within{--tw-ring-offset-color:#0f0f0f}.focus-within\\:ring-offset-text-dimmed:focus-within{--tw-ring-offset-color:#cfcfcf}.focus-within\\:ring-offset-text-dark:focus-within{--tw-ring-offset-color:#fff}.focus-within\\:ring-offset-body-light:focus-within{--tw-ring-offset-color:#fff}.focus-within\\:ring-offset-body-dark:focus-within{--tw-ring-offset-color:#1e1e1e}.focus-within\\:ring-offset-button:focus-within{--tw-ring-offset-color:#0071e3}.focus-within\\:ring-offset-button_hover:focus-within{--tw-ring-offset-color:#0077ed}.focus\\:ring-offset-transparent:focus{--tw-ring-offset-color:transparent}.focus\\:ring-offset-current:focus{--tw-ring-offset-color:currentColor}.focus\\:ring-offset-white:focus{--tw-ring-offset-color:#fff}.focus\\:ring-offset-lightgrey:focus{--tw-ring-offset-color:#F7F7F7}.focus\\:ring-offset-midgrey:focus{--tw-ring-offset-color:#cfcfcf}.focus\\:ring-offset-darkgrey:focus{--tw-ring-offset-color:#7f7f7f}.focus\\:ring-offset-grey:focus{--tw-ring-offset-color:#1e1e1e}.focus\\:ring-offset-black:focus{--tw-ring-offset-color:#0f0f0f}.focus\\:ring-offset-highlight:focus{--tw-ring-offset-color:#0071e3}.focus\\:ring-offset-highlight_hover:focus{--tw-ring-offset-color:#0077ed}.focus\\:ring-offset-button_outline:focus{--tw-ring-offset-color:#cfcfcf}.focus\\:ring-offset-error:focus{--tw-ring-offset-color:#ff453a}.focus\\:ring-offset-text-light:focus{--tw-ring-offset-color:#0f0f0f}.focus\\:ring-offset-text-dimmed:focus{--tw-ring-offset-color:#cfcfcf}.focus\\:ring-offset-text-dark:focus{--tw-ring-offset-color:#fff}.focus\\:ring-offset-body-light:focus{--tw-ring-offset-color:#fff}.focus\\:ring-offset-body-dark:focus{--tw-ring-offset-color:#1e1e1e}.focus\\:ring-offset-button:focus{--tw-ring-offset-color:#0071e3}.focus\\:ring-offset-button_hover:focus{--tw-ring-offset-color:#0077ed}@media(prefers-color-scheme: dark){.dark\\:ring-offset-transparent{--tw-ring-offset-color:transparent}.dark\\:ring-offset-current{--tw-ring-offset-color:currentColor}.dark\\:ring-offset-white{--tw-ring-offset-color:#fff}.dark\\:ring-offset-lightgrey{--tw-ring-offset-color:#F7F7F7}.dark\\:ring-offset-midgrey{--tw-ring-offset-color:#cfcfcf}.dark\\:ring-offset-darkgrey{--tw-ring-offset-color:#7f7f7f}.dark\\:ring-offset-grey{--tw-ring-offset-color:#1e1e1e}.dark\\:ring-offset-black{--tw-ring-offset-color:#0f0f0f}.dark\\:ring-offset-highlight{--tw-ring-offset-color:#0071e3}.dark\\:ring-offset-highlight_hover{--tw-ring-offset-color:#0077ed}.dark\\:ring-offset-button_outline{--tw-ring-offset-color:#cfcfcf}.dark\\:ring-offset-error{--tw-ring-offset-color:#ff453a}.dark\\:ring-offset-text-light{--tw-ring-offset-color:#0f0f0f}.dark\\:ring-offset-text-dimmed{--tw-ring-offset-color:#cfcfcf}.dark\\:ring-offset-text-dark{--tw-ring-offset-color:#fff}.dark\\:ring-offset-body-light{--tw-ring-offset-color:#fff}.dark\\:ring-offset-body-dark{--tw-ring-offset-color:#1e1e1e}.dark\\:ring-offset-button{--tw-ring-offset-color:#0071e3}.dark\\:ring-offset-button_hover{--tw-ring-offset-color:#0077ed}.dark\\:focus-within\\:ring-offset-transparent:focus-within{--tw-ring-offset-color:transparent}.dark\\:focus-within\\:ring-offset-current:focus-within{--tw-ring-offset-color:currentColor}.dark\\:focus-within\\:ring-offset-white:focus-within{--tw-ring-offset-color:#fff}.dark\\:focus-within\\:ring-offset-lightgrey:focus-within{--tw-ring-offset-color:#F7F7F7}.dark\\:focus-within\\:ring-offset-midgrey:focus-within{--tw-ring-offset-color:#cfcfcf}.dark\\:focus-within\\:ring-offset-darkgrey:focus-within{--tw-ring-offset-color:#7f7f7f}.dark\\:focus-within\\:ring-offset-grey:focus-within{--tw-ring-offset-color:#1e1e1e}.dark\\:focus-within\\:ring-offset-black:focus-within{--tw-ring-offset-color:#0f0f0f}.dark\\:focus-within\\:ring-offset-highlight:focus-within{--tw-ring-offset-color:#0071e3}.dark\\:focus-within\\:ring-offset-highlight_hover:focus-within{--tw-ring-offset-color:#0077ed}.dark\\:focus-within\\:ring-offset-button_outline:focus-within{--tw-ring-offset-color:#cfcfcf}.dark\\:focus-within\\:ring-offset-error:focus-within{--tw-ring-offset-color:#ff453a}.dark\\:focus-within\\:ring-offset-text-light:focus-within{--tw-ring-offset-color:#0f0f0f}.dark\\:focus-within\\:ring-offset-text-dimmed:focus-within{--tw-ring-offset-color:#cfcfcf}.dark\\:focus-within\\:ring-offset-text-dark:focus-within{--tw-ring-offset-color:#fff}.dark\\:focus-within\\:ring-offset-body-light:focus-within{--tw-ring-offset-color:#fff}.dark\\:focus-within\\:ring-offset-body-dark:focus-within{--tw-ring-offset-color:#1e1e1e}.dark\\:focus-within\\:ring-offset-button:focus-within{--tw-ring-offset-color:#0071e3}.dark\\:focus-within\\:ring-offset-button_hover:focus-within{--tw-ring-offset-color:#0077ed}.dark\\:focus\\:ring-offset-transparent:focus{--tw-ring-offset-color:transparent}.dark\\:focus\\:ring-offset-current:focus{--tw-ring-offset-color:currentColor}.dark\\:focus\\:ring-offset-white:focus{--tw-ring-offset-color:#fff}.dark\\:focus\\:ring-offset-lightgrey:focus{--tw-ring-offset-color:#F7F7F7}.dark\\:focus\\:ring-offset-midgrey:focus{--tw-ring-offset-color:#cfcfcf}.dark\\:focus\\:ring-offset-darkgrey:focus{--tw-ring-offset-color:#7f7f7f}.dark\\:focus\\:ring-offset-grey:focus{--tw-ring-offset-color:#1e1e1e}.dark\\:focus\\:ring-offset-black:focus{--tw-ring-offset-color:#0f0f0f}.dark\\:focus\\:ring-offset-highlight:focus{--tw-ring-offset-color:#0071e3}.dark\\:focus\\:ring-offset-highlight_hover:focus{--tw-ring-offset-color:#0077ed}.dark\\:focus\\:ring-offset-button_outline:focus{--tw-ring-offset-color:#cfcfcf}.dark\\:focus\\:ring-offset-error:focus{--tw-ring-offset-color:#ff453a}.dark\\:focus\\:ring-offset-text-light:focus{--tw-ring-offset-color:#0f0f0f}.dark\\:focus\\:ring-offset-text-dimmed:focus{--tw-ring-offset-color:#cfcfcf}.dark\\:focus\\:ring-offset-text-dark:focus{--tw-ring-offset-color:#fff}.dark\\:focus\\:ring-offset-body-light:focus{--tw-ring-offset-color:#fff}.dark\\:focus\\:ring-offset-body-dark:focus{--tw-ring-offset-color:#1e1e1e}.dark\\:focus\\:ring-offset-button:focus{--tw-ring-offset-color:#0071e3}.dark\\:focus\\:ring-offset-button_hover:focus{--tw-ring-offset-color:#0077ed}}.filter{--tw-blur:var(--tw-empty,/*!*/ /*!*/);--tw-brightness:var(--tw-empty,/*!*/ /*!*/);--tw-contrast:var(--tw-empty,/*!*/ /*!*/);--tw-grayscale:var(--tw-empty,/*!*/ /*!*/);--tw-hue-rotate:var(--tw-empty,/*!*/ /*!*/);--tw-invert:var(--tw-empty,/*!*/ /*!*/);--tw-saturate:var(--tw-empty,/*!*/ /*!*/);--tw-sepia:var(--tw-empty,/*!*/ /*!*/);--tw-drop-shadow:var(--tw-empty,/*!*/ /*!*/);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter-none{filter:none}.blur-0{--tw-blur:blur(0)}.blur-none{--tw-blur:blur(0)}.blur-sm{--tw-blur:blur(4px)}.blur{--tw-blur:blur(8px)}.blur-md{--tw-blur:blur(12px)}.blur-lg{--tw-blur:blur(16px)}.blur-xl{--tw-blur:blur(24px)}.blur-2xl{--tw-blur:blur(40px)}.blur-3xl{--tw-blur:blur(64px)}.brightness-0{--tw-brightness:brightness(0)}.brightness-50{--tw-brightness:brightness(.5)}.brightness-75{--tw-brightness:brightness(.75)}.brightness-90{--tw-brightness:brightness(.9)}.brightness-95{--tw-brightness:brightness(.95)}.brightness-100{--tw-brightness:brightness(1)}.brightness-105{--tw-brightness:brightness(1.05)}.brightness-110{--tw-brightness:brightness(1.1)}.brightness-125{--tw-brightness:brightness(1.25)}.brightness-150{--tw-brightness:brightness(1.5)}.brightness-200{--tw-brightness:brightness(2)}.contrast-0{--tw-contrast:contrast(0)}.contrast-50{--tw-contrast:contrast(.5)}.contrast-75{--tw-contrast:contrast(.75)}.contrast-100{--tw-contrast:contrast(1)}.contrast-125{--tw-contrast:contrast(1.25)}.contrast-150{--tw-contrast:contrast(1.5)}.contrast-200{--tw-contrast:contrast(2)}.drop-shadow-sm{--tw-drop-shadow:drop-shadow(0 1px 1px rgba(0,0,0,0.05))}.drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1)) drop-shadow(0 1px 1px rgba(0, 0, 0, 0.06))}.drop-shadow-md{--tw-drop-shadow:drop-shadow(0 4px 3px rgba(0, 0, 0, 0.07)) drop-shadow(0 2px 2px rgba(0, 0, 0, 0.06))}.drop-shadow-lg{--tw-drop-shadow:drop-shadow(0 10px 8px rgba(0, 0, 0, 0.04)) drop-shadow(0 4px 3px rgba(0, 0, 0, 0.1))}.drop-shadow-xl{--tw-drop-shadow:drop-shadow(0 20px 13px rgba(0, 0, 0, 0.03)) drop-shadow(0 8px 5px rgba(0, 0, 0, 0.08))}.drop-shadow-2xl{--tw-drop-shadow:drop-shadow(0 25px 25px rgba(0, 0, 0, 0.15))}.drop-shadow-none{--tw-drop-shadow:drop-shadow(0 0 #0000)}.grayscale-0{--tw-grayscale:grayscale(0)}.grayscale{--tw-grayscale:grayscale(100%)}.hue-rotate-0{--tw-hue-rotate:hue-rotate(0deg)}.hue-rotate-15{--tw-hue-rotate:hue-rotate(15deg)}.hue-rotate-30{--tw-hue-rotate:hue-rotate(30deg)}.hue-rotate-60{--tw-hue-rotate:hue-rotate(60deg)}.hue-rotate-90{--tw-hue-rotate:hue-rotate(90deg)}.hue-rotate-180{--tw-hue-rotate:hue-rotate(180deg)}.-hue-rotate-180{--tw-hue-rotate:hue-rotate(-180deg)}.-hue-rotate-90{--tw-hue-rotate:hue-rotate(-90deg)}.-hue-rotate-60{--tw-hue-rotate:hue-rotate(-60deg)}.-hue-rotate-30{--tw-hue-rotate:hue-rotate(-30deg)}.-hue-rotate-15{--tw-hue-rotate:hue-rotate(-15deg)}.invert-0{--tw-invert:invert(0)}.invert{--tw-invert:invert(100%)}.saturate-0{--tw-saturate:saturate(0)}.saturate-50{--tw-saturate:saturate(.5)}.saturate-100{--tw-saturate:saturate(1)}.saturate-150{--tw-saturate:saturate(1.5)}.saturate-200{--tw-saturate:saturate(2)}.sepia-0{--tw-sepia:sepia(0)}.sepia{--tw-sepia:sepia(100%)}.backdrop-filter{--tw-backdrop-blur:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-brightness:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-contrast:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-grayscale:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-hue-rotate:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-invert:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-opacity:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-saturate:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-sepia:var(--tw-empty,/*!*/ /*!*/);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-filter-none{backdrop-filter:none}.backdrop-blur-0{--tw-backdrop-blur:blur(0)}.backdrop-blur-none{--tw-backdrop-blur:blur(0)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.backdrop-blur{--tw-backdrop-blur:blur(8px)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px)}.backdrop-blur-lg{--tw-backdrop-blur:blur(16px)}.backdrop-blur-xl{--tw-backdrop-blur:blur(24px)}.backdrop-blur-2xl{--tw-backdrop-blur:blur(40px)}.backdrop-blur-3xl{--tw-backdrop-blur:blur(64px)}.backdrop-brightness-0{--tw-backdrop-brightness:brightness(0)}.backdrop-brightness-50{--tw-backdrop-brightness:brightness(.5)}.backdrop-brightness-75{--tw-backdrop-brightness:brightness(.75)}.backdrop-brightness-90{--tw-backdrop-brightness:brightness(.9)}.backdrop-brightness-95{--tw-backdrop-brightness:brightness(.95)}.backdrop-brightness-100{--tw-backdrop-brightness:brightness(1)}.backdrop-brightness-105{--tw-backdrop-brightness:brightness(1.05)}.backdrop-brightness-110{--tw-backdrop-brightness:brightness(1.1)}.backdrop-brightness-125{--tw-backdrop-brightness:brightness(1.25)}.backdrop-brightness-150{--tw-backdrop-brightness:brightness(1.5)}.backdrop-brightness-200{--tw-backdrop-brightness:brightness(2)}.backdrop-contrast-0{--tw-backdrop-contrast:contrast(0)}.backdrop-contrast-50{--tw-backdrop-contrast:contrast(.5)}.backdrop-contrast-75{--tw-backdrop-contrast:contrast(.75)}.backdrop-contrast-100{--tw-backdrop-contrast:contrast(1)}.backdrop-contrast-125{--tw-backdrop-contrast:contrast(1.25)}.backdrop-contrast-150{--tw-backdrop-contrast:contrast(1.5)}.backdrop-contrast-200{--tw-backdrop-contrast:contrast(2)}.backdrop-grayscale-0{--tw-backdrop-grayscale:grayscale(0)}.backdrop-grayscale{--tw-backdrop-grayscale:grayscale(100%)}.backdrop-hue-rotate-0{--tw-backdrop-hue-rotate:hue-rotate(0deg)}.backdrop-hue-rotate-15{--tw-backdrop-hue-rotate:hue-rotate(15deg)}.backdrop-hue-rotate-30{--tw-backdrop-hue-rotate:hue-rotate(30deg)}.backdrop-hue-rotate-60{--tw-backdrop-hue-rotate:hue-rotate(60deg)}.backdrop-hue-rotate-90{--tw-backdrop-hue-rotate:hue-rotate(90deg)}.backdrop-hue-rotate-180{--tw-backdrop-hue-rotate:hue-rotate(180deg)}.-backdrop-hue-rotate-180{--tw-backdrop-hue-rotate:hue-rotate(-180deg)}.-backdrop-hue-rotate-90{--tw-backdrop-hue-rotate:hue-rotate(-90deg)}.-backdrop-hue-rotate-60{--tw-backdrop-hue-rotate:hue-rotate(-60deg)}.-backdrop-hue-rotate-30{--tw-backdrop-hue-rotate:hue-rotate(-30deg)}.-backdrop-hue-rotate-15{--tw-backdrop-hue-rotate:hue-rotate(-15deg)}.backdrop-invert-0{--tw-backdrop-invert:invert(0)}.backdrop-invert{--tw-backdrop-invert:invert(100%)}.backdrop-opacity-0{--tw-backdrop-opacity:opacity(0)}.backdrop-opacity-5{--tw-backdrop-opacity:opacity(0.05)}.backdrop-opacity-10{--tw-backdrop-opacity:opacity(0.1)}.backdrop-opacity-20{--tw-backdrop-opacity:opacity(0.2)}.backdrop-opacity-25{--tw-backdrop-opacity:opacity(0.25)}.backdrop-opacity-30{--tw-backdrop-opacity:opacity(0.3)}.backdrop-opacity-40{--tw-backdrop-opacity:opacity(0.4)}.backdrop-opacity-50{--tw-backdrop-opacity:opacity(0.5)}.backdrop-opacity-60{--tw-backdrop-opacity:opacity(0.6)}.backdrop-opacity-70{--tw-backdrop-opacity:opacity(0.7)}.backdrop-opacity-75{--tw-backdrop-opacity:opacity(0.75)}.backdrop-opacity-80{--tw-backdrop-opacity:opacity(0.8)}.backdrop-opacity-90{--tw-backdrop-opacity:opacity(0.9)}.backdrop-opacity-95{--tw-backdrop-opacity:opacity(0.95)}.backdrop-opacity-100{--tw-backdrop-opacity:opacity(1)}.backdrop-saturate-0{--tw-backdrop-saturate:saturate(0)}.backdrop-saturate-50{--tw-backdrop-saturate:saturate(.5)}.backdrop-saturate-100{--tw-backdrop-saturate:saturate(1)}.backdrop-saturate-150{--tw-backdrop-saturate:saturate(1.5)}.backdrop-saturate-200{--tw-backdrop-saturate:saturate(2)}.backdrop-sepia-0{--tw-backdrop-sepia:sepia(0)}.backdrop-sepia{--tw-backdrop-sepia:sepia(100%)}.transition-none{transition-property:none}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.transition{transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.transition-colors{transition-property:background-color, border-color, color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.delay-75{transition-delay:75ms}.delay-100{transition-delay:100ms}.delay-150{transition-delay:150ms}.delay-200{transition-delay:200ms}.delay-300{transition-delay:300ms}.delay-500{transition-delay:500ms}.delay-700{transition-delay:700ms}.delay-1000{transition-delay:1000ms}.duration-75{transition-duration:75ms}.duration-100{transition-duration:100ms}.duration-150{transition-duration:150ms}.duration-200{transition-duration:200ms}.duration-300{transition-duration:300ms}.duration-500{transition-duration:500ms}.duration-700{transition-duration:700ms}.duration-1000{transition-duration:1000ms}.ease-linear{transition-timing-function:linear}.ease-in{transition-timing-function:cubic-bezier(0.4, 0, 1, 1)}.ease-out{transition-timing-function:cubic-bezier(0, 0, 0.2, 1)}.ease-in-out{transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}@media(min-width: 640px){.sm\\:container{width:100%}@media(min-width: 640px){.sm\\:container{max-width:640px}}@media(min-width: 768px){.sm\\:container{max-width:768px}}@media(min-width: 1024px){.sm\\:container{max-width:1024px}}@media(min-width: 1280px){.sm\\:container{max-width:1280px}}@media(min-width: 1536px){.sm\\:container{max-width:1536px}}.sm\\:sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.sm\\:not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.sm\\:focus-within\\:sr-only:focus-within{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.sm\\:focus-within\\:not-sr-only:focus-within{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.sm\\:focus\\:sr-only:focus{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.sm\\:focus\\:not-sr-only:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.sm\\:pointer-events-none{pointer-events:none}.sm\\:pointer-events-auto{pointer-events:auto}.sm\\:visible{visibility:visible}.sm\\:invisible{visibility:hidden}.sm\\:static{position:static}.sm\\:fixed{position:fixed}.sm\\:absolute{position:absolute}.sm\\:relative{position:relative}.sm\\:sticky{position:sticky}.sm\\:inset-0{top:0px;right:0px;bottom:0px;left:0px}.sm\\:inset-1{top:0.25rem;right:0.25rem;bottom:0.25rem;left:0.25rem}.sm\\:inset-2{top:0.5rem;right:0.5rem;bottom:0.5rem;left:0.5rem}.sm\\:inset-3{top:0.75rem;right:0.75rem;bottom:0.75rem;left:0.75rem}.sm\\:inset-4{top:1rem;right:1rem;bottom:1rem;left:1rem}.sm\\:inset-5{top:1.25rem;right:1.25rem;bottom:1.25rem;left:1.25rem}.sm\\:inset-6{top:1.5rem;right:1.5rem;bottom:1.5rem;left:1.5rem}.sm\\:inset-7{top:1.75rem;right:1.75rem;bottom:1.75rem;left:1.75rem}.sm\\:inset-8{top:2rem;right:2rem;bottom:2rem;left:2rem}.sm\\:inset-9{top:2.25rem;right:2.25rem;bottom:2.25rem;left:2.25rem}.sm\\:inset-10{top:2.5rem;right:2.5rem;bottom:2.5rem;left:2.5rem}.sm\\:inset-11{top:2.75rem;right:2.75rem;bottom:2.75rem;left:2.75rem}.sm\\:inset-12{top:3rem;right:3rem;bottom:3rem;left:3rem}.sm\\:inset-14{top:3.5rem;right:3.5rem;bottom:3.5rem;left:3.5rem}.sm\\:inset-16{top:4rem;right:4rem;bottom:4rem;left:4rem}.sm\\:inset-20{top:5rem;right:5rem;bottom:5rem;left:5rem}.sm\\:inset-24{top:6rem;right:6rem;bottom:6rem;left:6rem}.sm\\:inset-28{top:7rem;right:7rem;bottom:7rem;left:7rem}.sm\\:inset-32{top:8rem;right:8rem;bottom:8rem;left:8rem}.sm\\:inset-36{top:9rem;right:9rem;bottom:9rem;left:9rem}.sm\\:inset-40{top:10rem;right:10rem;bottom:10rem;left:10rem}.sm\\:inset-44{top:11rem;right:11rem;bottom:11rem;left:11rem}.sm\\:inset-48{top:12rem;right:12rem;bottom:12rem;left:12rem}.sm\\:inset-52{top:13rem;right:13rem;bottom:13rem;left:13rem}.sm\\:inset-56{top:14rem;right:14rem;bottom:14rem;left:14rem}.sm\\:inset-60{top:15rem;right:15rem;bottom:15rem;left:15rem}.sm\\:inset-64{top:16rem;right:16rem;bottom:16rem;left:16rem}.sm\\:inset-72{top:18rem;right:18rem;bottom:18rem;left:18rem}.sm\\:inset-80{top:20rem;right:20rem;bottom:20rem;left:20rem}.sm\\:inset-96{top:24rem;right:24rem;bottom:24rem;left:24rem}.sm\\:inset-auto{top:auto;right:auto;bottom:auto;left:auto}.sm\\:inset-px{top:1px;right:1px;bottom:1px;left:1px}.sm\\:inset-0\\.5{top:0.125rem;right:0.125rem;bottom:0.125rem;left:0.125rem}.sm\\:inset-1\\.5{top:0.375rem;right:0.375rem;bottom:0.375rem;left:0.375rem}.sm\\:inset-2\\.5{top:0.625rem;right:0.625rem;bottom:0.625rem;left:0.625rem}.sm\\:inset-3\\.5{top:0.875rem;right:0.875rem;bottom:0.875rem;left:0.875rem}.sm\\:-inset-0{top:0px;right:0px;bottom:0px;left:0px}.sm\\:-inset-1{top:-0.25rem;right:-0.25rem;bottom:-0.25rem;left:-0.25rem}.sm\\:-inset-2{top:-0.5rem;right:-0.5rem;bottom:-0.5rem;left:-0.5rem}.sm\\:-inset-3{top:-0.75rem;right:-0.75rem;bottom:-0.75rem;left:-0.75rem}.sm\\:-inset-4{top:-1rem;right:-1rem;bottom:-1rem;left:-1rem}.sm\\:-inset-5{top:-1.25rem;right:-1.25rem;bottom:-1.25rem;left:-1.25rem}.sm\\:-inset-6{top:-1.5rem;right:-1.5rem;bottom:-1.5rem;left:-1.5rem}.sm\\:-inset-7{top:-1.75rem;right:-1.75rem;bottom:-1.75rem;left:-1.75rem}.sm\\:-inset-8{top:-2rem;right:-2rem;bottom:-2rem;left:-2rem}.sm\\:-inset-9{top:-2.25rem;right:-2.25rem;bottom:-2.25rem;left:-2.25rem}.sm\\:-inset-10{top:-2.5rem;right:-2.5rem;bottom:-2.5rem;left:-2.5rem}.sm\\:-inset-11{top:-2.75rem;right:-2.75rem;bottom:-2.75rem;left:-2.75rem}.sm\\:-inset-12{top:-3rem;right:-3rem;bottom:-3rem;left:-3rem}.sm\\:-inset-14{top:-3.5rem;right:-3.5rem;bottom:-3.5rem;left:-3.5rem}.sm\\:-inset-16{top:-4rem;right:-4rem;bottom:-4rem;left:-4rem}.sm\\:-inset-20{top:-5rem;right:-5rem;bottom:-5rem;left:-5rem}.sm\\:-inset-24{top:-6rem;right:-6rem;bottom:-6rem;left:-6rem}.sm\\:-inset-28{top:-7rem;right:-7rem;bottom:-7rem;left:-7rem}.sm\\:-inset-32{top:-8rem;right:-8rem;bottom:-8rem;left:-8rem}.sm\\:-inset-36{top:-9rem;right:-9rem;bottom:-9rem;left:-9rem}.sm\\:-inset-40{top:-10rem;right:-10rem;bottom:-10rem;left:-10rem}.sm\\:-inset-44{top:-11rem;right:-11rem;bottom:-11rem;left:-11rem}.sm\\:-inset-48{top:-12rem;right:-12rem;bottom:-12rem;left:-12rem}.sm\\:-inset-52{top:-13rem;right:-13rem;bottom:-13rem;left:-13rem}.sm\\:-inset-56{top:-14rem;right:-14rem;bottom:-14rem;left:-14rem}.sm\\:-inset-60{top:-15rem;right:-15rem;bottom:-15rem;left:-15rem}.sm\\:-inset-64{top:-16rem;right:-16rem;bottom:-16rem;left:-16rem}.sm\\:-inset-72{top:-18rem;right:-18rem;bottom:-18rem;left:-18rem}.sm\\:-inset-80{top:-20rem;right:-20rem;bottom:-20rem;left:-20rem}.sm\\:-inset-96{top:-24rem;right:-24rem;bottom:-24rem;left:-24rem}.sm\\:-inset-px{top:-1px;right:-1px;bottom:-1px;left:-1px}.sm\\:-inset-0\\.5{top:-0.125rem;right:-0.125rem;bottom:-0.125rem;left:-0.125rem}.sm\\:-inset-1\\.5{top:-0.375rem;right:-0.375rem;bottom:-0.375rem;left:-0.375rem}.sm\\:-inset-2\\.5{top:-0.625rem;right:-0.625rem;bottom:-0.625rem;left:-0.625rem}.sm\\:-inset-3\\.5{top:-0.875rem;right:-0.875rem;bottom:-0.875rem;left:-0.875rem}.sm\\:inset-1\\/2{top:50%;right:50%;bottom:50%;left:50%}.sm\\:inset-1\\/3{top:33.333333%;right:33.333333%;bottom:33.333333%;left:33.333333%}.sm\\:inset-2\\/3{top:66.666667%;right:66.666667%;bottom:66.666667%;left:66.666667%}.sm\\:inset-1\\/4{top:25%;right:25%;bottom:25%;left:25%}.sm\\:inset-2\\/4{top:50%;right:50%;bottom:50%;left:50%}.sm\\:inset-3\\/4{top:75%;right:75%;bottom:75%;left:75%}.sm\\:inset-full{top:100%;right:100%;bottom:100%;left:100%}.sm\\:-inset-1\\/2{top:-50%;right:-50%;bottom:-50%;left:-50%}.sm\\:-inset-1\\/3{top:-33.333333%;right:-33.333333%;bottom:-33.333333%;left:-33.333333%}.sm\\:-inset-2\\/3{top:-66.666667%;right:-66.666667%;bottom:-66.666667%;left:-66.666667%}.sm\\:-inset-1\\/4{top:-25%;right:-25%;bottom:-25%;left:-25%}.sm\\:-inset-2\\/4{top:-50%;right:-50%;bottom:-50%;left:-50%}.sm\\:-inset-3\\/4{top:-75%;right:-75%;bottom:-75%;left:-75%}.sm\\:-inset-full{top:-100%;right:-100%;bottom:-100%;left:-100%}.sm\\:inset-x-0{left:0px;right:0px}.sm\\:inset-x-1{left:0.25rem;right:0.25rem}.sm\\:inset-x-2{left:0.5rem;right:0.5rem}.sm\\:inset-x-3{left:0.75rem;right:0.75rem}.sm\\:inset-x-4{left:1rem;right:1rem}.sm\\:inset-x-5{left:1.25rem;right:1.25rem}.sm\\:inset-x-6{left:1.5rem;right:1.5rem}.sm\\:inset-x-7{left:1.75rem;right:1.75rem}.sm\\:inset-x-8{left:2rem;right:2rem}.sm\\:inset-x-9{left:2.25rem;right:2.25rem}.sm\\:inset-x-10{left:2.5rem;right:2.5rem}.sm\\:inset-x-11{left:2.75rem;right:2.75rem}.sm\\:inset-x-12{left:3rem;right:3rem}.sm\\:inset-x-14{left:3.5rem;right:3.5rem}.sm\\:inset-x-16{left:4rem;right:4rem}.sm\\:inset-x-20{left:5rem;right:5rem}.sm\\:inset-x-24{left:6rem;right:6rem}.sm\\:inset-x-28{left:7rem;right:7rem}.sm\\:inset-x-32{left:8rem;right:8rem}.sm\\:inset-x-36{left:9rem;right:9rem}.sm\\:inset-x-40{left:10rem;right:10rem}.sm\\:inset-x-44{left:11rem;right:11rem}.sm\\:inset-x-48{left:12rem;right:12rem}.sm\\:inset-x-52{left:13rem;right:13rem}.sm\\:inset-x-56{left:14rem;right:14rem}.sm\\:inset-x-60{left:15rem;right:15rem}.sm\\:inset-x-64{left:16rem;right:16rem}.sm\\:inset-x-72{left:18rem;right:18rem}.sm\\:inset-x-80{left:20rem;right:20rem}.sm\\:inset-x-96{left:24rem;right:24rem}.sm\\:inset-x-auto{left:auto;right:auto}.sm\\:inset-x-px{left:1px;right:1px}.sm\\:inset-x-0\\.5{left:0.125rem;right:0.125rem}.sm\\:inset-x-1\\.5{left:0.375rem;right:0.375rem}.sm\\:inset-x-2\\.5{left:0.625rem;right:0.625rem}.sm\\:inset-x-3\\.5{left:0.875rem;right:0.875rem}.sm\\:-inset-x-0{left:0px;right:0px}.sm\\:-inset-x-1{left:-0.25rem;right:-0.25rem}.sm\\:-inset-x-2{left:-0.5rem;right:-0.5rem}.sm\\:-inset-x-3{left:-0.75rem;right:-0.75rem}.sm\\:-inset-x-4{left:-1rem;right:-1rem}.sm\\:-inset-x-5{left:-1.25rem;right:-1.25rem}.sm\\:-inset-x-6{left:-1.5rem;right:-1.5rem}.sm\\:-inset-x-7{left:-1.75rem;right:-1.75rem}.sm\\:-inset-x-8{left:-2rem;right:-2rem}.sm\\:-inset-x-9{left:-2.25rem;right:-2.25rem}.sm\\:-inset-x-10{left:-2.5rem;right:-2.5rem}.sm\\:-inset-x-11{left:-2.75rem;right:-2.75rem}.sm\\:-inset-x-12{left:-3rem;right:-3rem}.sm\\:-inset-x-14{left:-3.5rem;right:-3.5rem}.sm\\:-inset-x-16{left:-4rem;right:-4rem}.sm\\:-inset-x-20{left:-5rem;right:-5rem}.sm\\:-inset-x-24{left:-6rem;right:-6rem}.sm\\:-inset-x-28{left:-7rem;right:-7rem}.sm\\:-inset-x-32{left:-8rem;right:-8rem}.sm\\:-inset-x-36{left:-9rem;right:-9rem}.sm\\:-inset-x-40{left:-10rem;right:-10rem}.sm\\:-inset-x-44{left:-11rem;right:-11rem}.sm\\:-inset-x-48{left:-12rem;right:-12rem}.sm\\:-inset-x-52{left:-13rem;right:-13rem}.sm\\:-inset-x-56{left:-14rem;right:-14rem}.sm\\:-inset-x-60{left:-15rem;right:-15rem}.sm\\:-inset-x-64{left:-16rem;right:-16rem}.sm\\:-inset-x-72{left:-18rem;right:-18rem}.sm\\:-inset-x-80{left:-20rem;right:-20rem}.sm\\:-inset-x-96{left:-24rem;right:-24rem}.sm\\:-inset-x-px{left:-1px;right:-1px}.sm\\:-inset-x-0\\.5{left:-0.125rem;right:-0.125rem}.sm\\:-inset-x-1\\.5{left:-0.375rem;right:-0.375rem}.sm\\:-inset-x-2\\.5{left:-0.625rem;right:-0.625rem}.sm\\:-inset-x-3\\.5{left:-0.875rem;right:-0.875rem}.sm\\:inset-x-1\\/2{left:50%;right:50%}.sm\\:inset-x-1\\/3{left:33.333333%;right:33.333333%}.sm\\:inset-x-2\\/3{left:66.666667%;right:66.666667%}.sm\\:inset-x-1\\/4{left:25%;right:25%}.sm\\:inset-x-2\\/4{left:50%;right:50%}.sm\\:inset-x-3\\/4{left:75%;right:75%}.sm\\:inset-x-full{left:100%;right:100%}.sm\\:-inset-x-1\\/2{left:-50%;right:-50%}.sm\\:-inset-x-1\\/3{left:-33.333333%;right:-33.333333%}.sm\\:-inset-x-2\\/3{left:-66.666667%;right:-66.666667%}.sm\\:-inset-x-1\\/4{left:-25%;right:-25%}.sm\\:-inset-x-2\\/4{left:-50%;right:-50%}.sm\\:-inset-x-3\\/4{left:-75%;right:-75%}.sm\\:-inset-x-full{left:-100%;right:-100%}.sm\\:inset-y-0{top:0px;bottom:0px}.sm\\:inset-y-1{top:0.25rem;bottom:0.25rem}.sm\\:inset-y-2{top:0.5rem;bottom:0.5rem}.sm\\:inset-y-3{top:0.75rem;bottom:0.75rem}.sm\\:inset-y-4{top:1rem;bottom:1rem}.sm\\:inset-y-5{top:1.25rem;bottom:1.25rem}.sm\\:inset-y-6{top:1.5rem;bottom:1.5rem}.sm\\:inset-y-7{top:1.75rem;bottom:1.75rem}.sm\\:inset-y-8{top:2rem;bottom:2rem}.sm\\:inset-y-9{top:2.25rem;bottom:2.25rem}.sm\\:inset-y-10{top:2.5rem;bottom:2.5rem}.sm\\:inset-y-11{top:2.75rem;bottom:2.75rem}.sm\\:inset-y-12{top:3rem;bottom:3rem}.sm\\:inset-y-14{top:3.5rem;bottom:3.5rem}.sm\\:inset-y-16{top:4rem;bottom:4rem}.sm\\:inset-y-20{top:5rem;bottom:5rem}.sm\\:inset-y-24{top:6rem;bottom:6rem}.sm\\:inset-y-28{top:7rem;bottom:7rem}.sm\\:inset-y-32{top:8rem;bottom:8rem}.sm\\:inset-y-36{top:9rem;bottom:9rem}.sm\\:inset-y-40{top:10rem;bottom:10rem}.sm\\:inset-y-44{top:11rem;bottom:11rem}.sm\\:inset-y-48{top:12rem;bottom:12rem}.sm\\:inset-y-52{top:13rem;bottom:13rem}.sm\\:inset-y-56{top:14rem;bottom:14rem}.sm\\:inset-y-60{top:15rem;bottom:15rem}.sm\\:inset-y-64{top:16rem;bottom:16rem}.sm\\:inset-y-72{top:18rem;bottom:18rem}.sm\\:inset-y-80{top:20rem;bottom:20rem}.sm\\:inset-y-96{top:24rem;bottom:24rem}.sm\\:inset-y-auto{top:auto;bottom:auto}.sm\\:inset-y-px{top:1px;bottom:1px}.sm\\:inset-y-0\\.5{top:0.125rem;bottom:0.125rem}.sm\\:inset-y-1\\.5{top:0.375rem;bottom:0.375rem}.sm\\:inset-y-2\\.5{top:0.625rem;bottom:0.625rem}.sm\\:inset-y-3\\.5{top:0.875rem;bottom:0.875rem}.sm\\:-inset-y-0{top:0px;bottom:0px}.sm\\:-inset-y-1{top:-0.25rem;bottom:-0.25rem}.sm\\:-inset-y-2{top:-0.5rem;bottom:-0.5rem}.sm\\:-inset-y-3{top:-0.75rem;bottom:-0.75rem}.sm\\:-inset-y-4{top:-1rem;bottom:-1rem}.sm\\:-inset-y-5{top:-1.25rem;bottom:-1.25rem}.sm\\:-inset-y-6{top:-1.5rem;bottom:-1.5rem}.sm\\:-inset-y-7{top:-1.75rem;bottom:-1.75rem}.sm\\:-inset-y-8{top:-2rem;bottom:-2rem}.sm\\:-inset-y-9{top:-2.25rem;bottom:-2.25rem}.sm\\:-inset-y-10{top:-2.5rem;bottom:-2.5rem}.sm\\:-inset-y-11{top:-2.75rem;bottom:-2.75rem}.sm\\:-inset-y-12{top:-3rem;bottom:-3rem}.sm\\:-inset-y-14{top:-3.5rem;bottom:-3.5rem}.sm\\:-inset-y-16{top:-4rem;bottom:-4rem}.sm\\:-inset-y-20{top:-5rem;bottom:-5rem}.sm\\:-inset-y-24{top:-6rem;bottom:-6rem}.sm\\:-inset-y-28{top:-7rem;bottom:-7rem}.sm\\:-inset-y-32{top:-8rem;bottom:-8rem}.sm\\:-inset-y-36{top:-9rem;bottom:-9rem}.sm\\:-inset-y-40{top:-10rem;bottom:-10rem}.sm\\:-inset-y-44{top:-11rem;bottom:-11rem}.sm\\:-inset-y-48{top:-12rem;bottom:-12rem}.sm\\:-inset-y-52{top:-13rem;bottom:-13rem}.sm\\:-inset-y-56{top:-14rem;bottom:-14rem}.sm\\:-inset-y-60{top:-15rem;bottom:-15rem}.sm\\:-inset-y-64{top:-16rem;bottom:-16rem}.sm\\:-inset-y-72{top:-18rem;bottom:-18rem}.sm\\:-inset-y-80{top:-20rem;bottom:-20rem}.sm\\:-inset-y-96{top:-24rem;bottom:-24rem}.sm\\:-inset-y-px{top:-1px;bottom:-1px}.sm\\:-inset-y-0\\.5{top:-0.125rem;bottom:-0.125rem}.sm\\:-inset-y-1\\.5{top:-0.375rem;bottom:-0.375rem}.sm\\:-inset-y-2\\.5{top:-0.625rem;bottom:-0.625rem}.sm\\:-inset-y-3\\.5{top:-0.875rem;bottom:-0.875rem}.sm\\:inset-y-1\\/2{top:50%;bottom:50%}.sm\\:inset-y-1\\/3{top:33.333333%;bottom:33.333333%}.sm\\:inset-y-2\\/3{top:66.666667%;bottom:66.666667%}.sm\\:inset-y-1\\/4{top:25%;bottom:25%}.sm\\:inset-y-2\\/4{top:50%;bottom:50%}.sm\\:inset-y-3\\/4{top:75%;bottom:75%}.sm\\:inset-y-full{top:100%;bottom:100%}.sm\\:-inset-y-1\\/2{top:-50%;bottom:-50%}.sm\\:-inset-y-1\\/3{top:-33.333333%;bottom:-33.333333%}.sm\\:-inset-y-2\\/3{top:-66.666667%;bottom:-66.666667%}.sm\\:-inset-y-1\\/4{top:-25%;bottom:-25%}.sm\\:-inset-y-2\\/4{top:-50%;bottom:-50%}.sm\\:-inset-y-3\\/4{top:-75%;bottom:-75%}.sm\\:-inset-y-full{top:-100%;bottom:-100%}.sm\\:top-0{top:0px}.sm\\:top-1{top:0.25rem}.sm\\:top-2{top:0.5rem}.sm\\:top-3{top:0.75rem}.sm\\:top-4{top:1rem}.sm\\:top-5{top:1.25rem}.sm\\:top-6{top:1.5rem}.sm\\:top-7{top:1.75rem}.sm\\:top-8{top:2rem}.sm\\:top-9{top:2.25rem}.sm\\:top-10{top:2.5rem}.sm\\:top-11{top:2.75rem}.sm\\:top-12{top:3rem}.sm\\:top-14{top:3.5rem}.sm\\:top-16{top:4rem}.sm\\:top-20{top:5rem}.sm\\:top-24{top:6rem}.sm\\:top-28{top:7rem}.sm\\:top-32{top:8rem}.sm\\:top-36{top:9rem}.sm\\:top-40{top:10rem}.sm\\:top-44{top:11rem}.sm\\:top-48{top:12rem}.sm\\:top-52{top:13rem}.sm\\:top-56{top:14rem}.sm\\:top-60{top:15rem}.sm\\:top-64{top:16rem}.sm\\:top-72{top:18rem}.sm\\:top-80{top:20rem}.sm\\:top-96{top:24rem}.sm\\:top-auto{top:auto}.sm\\:top-px{top:1px}.sm\\:top-0\\.5{top:0.125rem}.sm\\:top-1\\.5{top:0.375rem}.sm\\:top-2\\.5{top:0.625rem}.sm\\:top-3\\.5{top:0.875rem}.sm\\:-top-0{top:0px}.sm\\:-top-1{top:-0.25rem}.sm\\:-top-2{top:-0.5rem}.sm\\:-top-3{top:-0.75rem}.sm\\:-top-4{top:-1rem}.sm\\:-top-5{top:-1.25rem}.sm\\:-top-6{top:-1.5rem}.sm\\:-top-7{top:-1.75rem}.sm\\:-top-8{top:-2rem}.sm\\:-top-9{top:-2.25rem}.sm\\:-top-10{top:-2.5rem}.sm\\:-top-11{top:-2.75rem}.sm\\:-top-12{top:-3rem}.sm\\:-top-14{top:-3.5rem}.sm\\:-top-16{top:-4rem}.sm\\:-top-20{top:-5rem}.sm\\:-top-24{top:-6rem}.sm\\:-top-28{top:-7rem}.sm\\:-top-32{top:-8rem}.sm\\:-top-36{top:-9rem}.sm\\:-top-40{top:-10rem}.sm\\:-top-44{top:-11rem}.sm\\:-top-48{top:-12rem}.sm\\:-top-52{top:-13rem}.sm\\:-top-56{top:-14rem}.sm\\:-top-60{top:-15rem}.sm\\:-top-64{top:-16rem}.sm\\:-top-72{top:-18rem}.sm\\:-top-80{top:-20rem}.sm\\:-top-96{top:-24rem}.sm\\:-top-px{top:-1px}.sm\\:-top-0\\.5{top:-0.125rem}.sm\\:-top-1\\.5{top:-0.375rem}.sm\\:-top-2\\.5{top:-0.625rem}.sm\\:-top-3\\.5{top:-0.875rem}.sm\\:top-1\\/2{top:50%}.sm\\:top-1\\/3{top:33.333333%}.sm\\:top-2\\/3{top:66.666667%}.sm\\:top-1\\/4{top:25%}.sm\\:top-2\\/4{top:50%}.sm\\:top-3\\/4{top:75%}.sm\\:top-full{top:100%}.sm\\:-top-1\\/2{top:-50%}.sm\\:-top-1\\/3{top:-33.333333%}.sm\\:-top-2\\/3{top:-66.666667%}.sm\\:-top-1\\/4{top:-25%}.sm\\:-top-2\\/4{top:-50%}.sm\\:-top-3\\/4{top:-75%}.sm\\:-top-full{top:-100%}.sm\\:right-0{right:0px}.sm\\:right-1{right:0.25rem}.sm\\:right-2{right:0.5rem}.sm\\:right-3{right:0.75rem}.sm\\:right-4{right:1rem}.sm\\:right-5{right:1.25rem}.sm\\:right-6{right:1.5rem}.sm\\:right-7{right:1.75rem}.sm\\:right-8{right:2rem}.sm\\:right-9{right:2.25rem}.sm\\:right-10{right:2.5rem}.sm\\:right-11{right:2.75rem}.sm\\:right-12{right:3rem}.sm\\:right-14{right:3.5rem}.sm\\:right-16{right:4rem}.sm\\:right-20{right:5rem}.sm\\:right-24{right:6rem}.sm\\:right-28{right:7rem}.sm\\:right-32{right:8rem}.sm\\:right-36{right:9rem}.sm\\:right-40{right:10rem}.sm\\:right-44{right:11rem}.sm\\:right-48{right:12rem}.sm\\:right-52{right:13rem}.sm\\:right-56{right:14rem}.sm\\:right-60{right:15rem}.sm\\:right-64{right:16rem}.sm\\:right-72{right:18rem}.sm\\:right-80{right:20rem}.sm\\:right-96{right:24rem}.sm\\:right-auto{right:auto}.sm\\:right-px{right:1px}.sm\\:right-0\\.5{right:0.125rem}.sm\\:right-1\\.5{right:0.375rem}.sm\\:right-2\\.5{right:0.625rem}.sm\\:right-3\\.5{right:0.875rem}.sm\\:-right-0{right:0px}.sm\\:-right-1{right:-0.25rem}.sm\\:-right-2{right:-0.5rem}.sm\\:-right-3{right:-0.75rem}.sm\\:-right-4{right:-1rem}.sm\\:-right-5{right:-1.25rem}.sm\\:-right-6{right:-1.5rem}.sm\\:-right-7{right:-1.75rem}.sm\\:-right-8{right:-2rem}.sm\\:-right-9{right:-2.25rem}.sm\\:-right-10{right:-2.5rem}.sm\\:-right-11{right:-2.75rem}.sm\\:-right-12{right:-3rem}.sm\\:-right-14{right:-3.5rem}.sm\\:-right-16{right:-4rem}.sm\\:-right-20{right:-5rem}.sm\\:-right-24{right:-6rem}.sm\\:-right-28{right:-7rem}.sm\\:-right-32{right:-8rem}.sm\\:-right-36{right:-9rem}.sm\\:-right-40{right:-10rem}.sm\\:-right-44{right:-11rem}.sm\\:-right-48{right:-12rem}.sm\\:-right-52{right:-13rem}.sm\\:-right-56{right:-14rem}.sm\\:-right-60{right:-15rem}.sm\\:-right-64{right:-16rem}.sm\\:-right-72{right:-18rem}.sm\\:-right-80{right:-20rem}.sm\\:-right-96{right:-24rem}.sm\\:-right-px{right:-1px}.sm\\:-right-0\\.5{right:-0.125rem}.sm\\:-right-1\\.5{right:-0.375rem}.sm\\:-right-2\\.5{right:-0.625rem}.sm\\:-right-3\\.5{right:-0.875rem}.sm\\:right-1\\/2{right:50%}.sm\\:right-1\\/3{right:33.333333%}.sm\\:right-2\\/3{right:66.666667%}.sm\\:right-1\\/4{right:25%}.sm\\:right-2\\/4{right:50%}.sm\\:right-3\\/4{right:75%}.sm\\:right-full{right:100%}.sm\\:-right-1\\/2{right:-50%}.sm\\:-right-1\\/3{right:-33.333333%}.sm\\:-right-2\\/3{right:-66.666667%}.sm\\:-right-1\\/4{right:-25%}.sm\\:-right-2\\/4{right:-50%}.sm\\:-right-3\\/4{right:-75%}.sm\\:-right-full{right:-100%}.sm\\:bottom-0{bottom:0px}.sm\\:bottom-1{bottom:0.25rem}.sm\\:bottom-2{bottom:0.5rem}.sm\\:bottom-3{bottom:0.75rem}.sm\\:bottom-4{bottom:1rem}.sm\\:bottom-5{bottom:1.25rem}.sm\\:bottom-6{bottom:1.5rem}.sm\\:bottom-7{bottom:1.75rem}.sm\\:bottom-8{bottom:2rem}.sm\\:bottom-9{bottom:2.25rem}.sm\\:bottom-10{bottom:2.5rem}.sm\\:bottom-11{bottom:2.75rem}.sm\\:bottom-12{bottom:3rem}.sm\\:bottom-14{bottom:3.5rem}.sm\\:bottom-16{bottom:4rem}.sm\\:bottom-20{bottom:5rem}.sm\\:bottom-24{bottom:6rem}.sm\\:bottom-28{bottom:7rem}.sm\\:bottom-32{bottom:8rem}.sm\\:bottom-36{bottom:9rem}.sm\\:bottom-40{bottom:10rem}.sm\\:bottom-44{bottom:11rem}.sm\\:bottom-48{bottom:12rem}.sm\\:bottom-52{bottom:13rem}.sm\\:bottom-56{bottom:14rem}.sm\\:bottom-60{bottom:15rem}.sm\\:bottom-64{bottom:16rem}.sm\\:bottom-72{bottom:18rem}.sm\\:bottom-80{bottom:20rem}.sm\\:bottom-96{bottom:24rem}.sm\\:bottom-auto{bottom:auto}.sm\\:bottom-px{bottom:1px}.sm\\:bottom-0\\.5{bottom:0.125rem}.sm\\:bottom-1\\.5{bottom:0.375rem}.sm\\:bottom-2\\.5{bottom:0.625rem}.sm\\:bottom-3\\.5{bottom:0.875rem}.sm\\:-bottom-0{bottom:0px}.sm\\:-bottom-1{bottom:-0.25rem}.sm\\:-bottom-2{bottom:-0.5rem}.sm\\:-bottom-3{bottom:-0.75rem}.sm\\:-bottom-4{bottom:-1rem}.sm\\:-bottom-5{bottom:-1.25rem}.sm\\:-bottom-6{bottom:-1.5rem}.sm\\:-bottom-7{bottom:-1.75rem}.sm\\:-bottom-8{bottom:-2rem}.sm\\:-bottom-9{bottom:-2.25rem}.sm\\:-bottom-10{bottom:-2.5rem}.sm\\:-bottom-11{bottom:-2.75rem}.sm\\:-bottom-12{bottom:-3rem}.sm\\:-bottom-14{bottom:-3.5rem}.sm\\:-bottom-16{bottom:-4rem}.sm\\:-bottom-20{bottom:-5rem}.sm\\:-bottom-24{bottom:-6rem}.sm\\:-bottom-28{bottom:-7rem}.sm\\:-bottom-32{bottom:-8rem}.sm\\:-bottom-36{bottom:-9rem}.sm\\:-bottom-40{bottom:-10rem}.sm\\:-bottom-44{bottom:-11rem}.sm\\:-bottom-48{bottom:-12rem}.sm\\:-bottom-52{bottom:-13rem}.sm\\:-bottom-56{bottom:-14rem}.sm\\:-bottom-60{bottom:-15rem}.sm\\:-bottom-64{bottom:-16rem}.sm\\:-bottom-72{bottom:-18rem}.sm\\:-bottom-80{bottom:-20rem}.sm\\:-bottom-96{bottom:-24rem}.sm\\:-bottom-px{bottom:-1px}.sm\\:-bottom-0\\.5{bottom:-0.125rem}.sm\\:-bottom-1\\.5{bottom:-0.375rem}.sm\\:-bottom-2\\.5{bottom:-0.625rem}.sm\\:-bottom-3\\.5{bottom:-0.875rem}.sm\\:bottom-1\\/2{bottom:50%}.sm\\:bottom-1\\/3{bottom:33.333333%}.sm\\:bottom-2\\/3{bottom:66.666667%}.sm\\:bottom-1\\/4{bottom:25%}.sm\\:bottom-2\\/4{bottom:50%}.sm\\:bottom-3\\/4{bottom:75%}.sm\\:bottom-full{bottom:100%}.sm\\:-bottom-1\\/2{bottom:-50%}.sm\\:-bottom-1\\/3{bottom:-33.333333%}.sm\\:-bottom-2\\/3{bottom:-66.666667%}.sm\\:-bottom-1\\/4{bottom:-25%}.sm\\:-bottom-2\\/4{bottom:-50%}.sm\\:-bottom-3\\/4{bottom:-75%}.sm\\:-bottom-full{bottom:-100%}.sm\\:left-0{left:0px}.sm\\:left-1{left:0.25rem}.sm\\:left-2{left:0.5rem}.sm\\:left-3{left:0.75rem}.sm\\:left-4{left:1rem}.sm\\:left-5{left:1.25rem}.sm\\:left-6{left:1.5rem}.sm\\:left-7{left:1.75rem}.sm\\:left-8{left:2rem}.sm\\:left-9{left:2.25rem}.sm\\:left-10{left:2.5rem}.sm\\:left-11{left:2.75rem}.sm\\:left-12{left:3rem}.sm\\:left-14{left:3.5rem}.sm\\:left-16{left:4rem}.sm\\:left-20{left:5rem}.sm\\:left-24{left:6rem}.sm\\:left-28{left:7rem}.sm\\:left-32{left:8rem}.sm\\:left-36{left:9rem}.sm\\:left-40{left:10rem}.sm\\:left-44{left:11rem}.sm\\:left-48{left:12rem}.sm\\:left-52{left:13rem}.sm\\:left-56{left:14rem}.sm\\:left-60{left:15rem}.sm\\:left-64{left:16rem}.sm\\:left-72{left:18rem}.sm\\:left-80{left:20rem}.sm\\:left-96{left:24rem}.sm\\:left-auto{left:auto}.sm\\:left-px{left:1px}.sm\\:left-0\\.5{left:0.125rem}.sm\\:left-1\\.5{left:0.375rem}.sm\\:left-2\\.5{left:0.625rem}.sm\\:left-3\\.5{left:0.875rem}.sm\\:-left-0{left:0px}.sm\\:-left-1{left:-0.25rem}.sm\\:-left-2{left:-0.5rem}.sm\\:-left-3{left:-0.75rem}.sm\\:-left-4{left:-1rem}.sm\\:-left-5{left:-1.25rem}.sm\\:-left-6{left:-1.5rem}.sm\\:-left-7{left:-1.75rem}.sm\\:-left-8{left:-2rem}.sm\\:-left-9{left:-2.25rem}.sm\\:-left-10{left:-2.5rem}.sm\\:-left-11{left:-2.75rem}.sm\\:-left-12{left:-3rem}.sm\\:-left-14{left:-3.5rem}.sm\\:-left-16{left:-4rem}.sm\\:-left-20{left:-5rem}.sm\\:-left-24{left:-6rem}.sm\\:-left-28{left:-7rem}.sm\\:-left-32{left:-8rem}.sm\\:-left-36{left:-9rem}.sm\\:-left-40{left:-10rem}.sm\\:-left-44{left:-11rem}.sm\\:-left-48{left:-12rem}.sm\\:-left-52{left:-13rem}.sm\\:-left-56{left:-14rem}.sm\\:-left-60{left:-15rem}.sm\\:-left-64{left:-16rem}.sm\\:-left-72{left:-18rem}.sm\\:-left-80{left:-20rem}.sm\\:-left-96{left:-24rem}.sm\\:-left-px{left:-1px}.sm\\:-left-0\\.5{left:-0.125rem}.sm\\:-left-1\\.5{left:-0.375rem}.sm\\:-left-2\\.5{left:-0.625rem}.sm\\:-left-3\\.5{left:-0.875rem}.sm\\:left-1\\/2{left:50%}.sm\\:left-1\\/3{left:33.333333%}.sm\\:left-2\\/3{left:66.666667%}.sm\\:left-1\\/4{left:25%}.sm\\:left-2\\/4{left:50%}.sm\\:left-3\\/4{left:75%}.sm\\:left-full{left:100%}.sm\\:-left-1\\/2{left:-50%}.sm\\:-left-1\\/3{left:-33.333333%}.sm\\:-left-2\\/3{left:-66.666667%}.sm\\:-left-1\\/4{left:-25%}.sm\\:-left-2\\/4{left:-50%}.sm\\:-left-3\\/4{left:-75%}.sm\\:-left-full{left:-100%}.sm\\:isolate{isolation:isolate}.sm\\:isolation-auto{isolation:auto}.sm\\:z-0{z-index:0}.sm\\:z-10{z-index:10}.sm\\:z-20{z-index:20}.sm\\:z-30{z-index:30}.sm\\:z-40{z-index:40}.sm\\:z-50{z-index:50}.sm\\:z-auto{z-index:auto}.sm\\:focus-within\\:z-0:focus-within{z-index:0}.sm\\:focus-within\\:z-10:focus-within{z-index:10}.sm\\:focus-within\\:z-20:focus-within{z-index:20}.sm\\:focus-within\\:z-30:focus-within{z-index:30}.sm\\:focus-within\\:z-40:focus-within{z-index:40}.sm\\:focus-within\\:z-50:focus-within{z-index:50}.sm\\:focus-within\\:z-auto:focus-within{z-index:auto}.sm\\:focus\\:z-0:focus{z-index:0}.sm\\:focus\\:z-10:focus{z-index:10}.sm\\:focus\\:z-20:focus{z-index:20}.sm\\:focus\\:z-30:focus{z-index:30}.sm\\:focus\\:z-40:focus{z-index:40}.sm\\:focus\\:z-50:focus{z-index:50}.sm\\:focus\\:z-auto:focus{z-index:auto}.sm\\:order-1{order:1}.sm\\:order-2{order:2}.sm\\:order-3{order:3}.sm\\:order-4{order:4}.sm\\:order-5{order:5}.sm\\:order-6{order:6}.sm\\:order-7{order:7}.sm\\:order-8{order:8}.sm\\:order-9{order:9}.sm\\:order-10{order:10}.sm\\:order-11{order:11}.sm\\:order-12{order:12}.sm\\:order-first{order:-9999}.sm\\:order-last{order:9999}.sm\\:order-none{order:0}.sm\\:col-auto{grid-column:auto}.sm\\:col-span-1{grid-column:span 1 / span 1}.sm\\:col-span-2{grid-column:span 2 / span 2}.sm\\:col-span-3{grid-column:span 3 / span 3}.sm\\:col-span-4{grid-column:span 4 / span 4}.sm\\:col-span-5{grid-column:span 5 / span 5}.sm\\:col-span-6{grid-column:span 6 / span 6}.sm\\:col-span-7{grid-column:span 7 / span 7}.sm\\:col-span-8{grid-column:span 8 / span 8}.sm\\:col-span-9{grid-column:span 9 / span 9}.sm\\:col-span-10{grid-column:span 10 / span 10}.sm\\:col-span-11{grid-column:span 11 / span 11}.sm\\:col-span-12{grid-column:span 12 / span 12}.sm\\:col-span-full{grid-column:1 / -1}.sm\\:col-start-1{grid-column-start:1}.sm\\:col-start-2{grid-column-start:2}.sm\\:col-start-3{grid-column-start:3}.sm\\:col-start-4{grid-column-start:4}.sm\\:col-start-5{grid-column-start:5}.sm\\:col-start-6{grid-column-start:6}.sm\\:col-start-7{grid-column-start:7}.sm\\:col-start-8{grid-column-start:8}.sm\\:col-start-9{grid-column-start:9}.sm\\:col-start-10{grid-column-start:10}.sm\\:col-start-11{grid-column-start:11}.sm\\:col-start-12{grid-column-start:12}.sm\\:col-start-13{grid-column-start:13}.sm\\:col-start-auto{grid-column-start:auto}.sm\\:col-end-1{grid-column-end:1}.sm\\:col-end-2{grid-column-end:2}.sm\\:col-end-3{grid-column-end:3}.sm\\:col-end-4{grid-column-end:4}.sm\\:col-end-5{grid-column-end:5}.sm\\:col-end-6{grid-column-end:6}.sm\\:col-end-7{grid-column-end:7}.sm\\:col-end-8{grid-column-end:8}.sm\\:col-end-9{grid-column-end:9}.sm\\:col-end-10{grid-column-end:10}.sm\\:col-end-11{grid-column-end:11}.sm\\:col-end-12{grid-column-end:12}.sm\\:col-end-13{grid-column-end:13}.sm\\:col-end-auto{grid-column-end:auto}.sm\\:row-auto{grid-row:auto}.sm\\:row-span-1{grid-row:span 1 / span 1}.sm\\:row-span-2{grid-row:span 2 / span 2}.sm\\:row-span-3{grid-row:span 3 / span 3}.sm\\:row-span-4{grid-row:span 4 / span 4}.sm\\:row-span-5{grid-row:span 5 / span 5}.sm\\:row-span-6{grid-row:span 6 / span 6}.sm\\:row-span-full{grid-row:1 / -1}.sm\\:row-start-1{grid-row-start:1}.sm\\:row-start-2{grid-row-start:2}.sm\\:row-start-3{grid-row-start:3}.sm\\:row-start-4{grid-row-start:4}.sm\\:row-start-5{grid-row-start:5}.sm\\:row-start-6{grid-row-start:6}.sm\\:row-start-7{grid-row-start:7}.sm\\:row-start-auto{grid-row-start:auto}.sm\\:row-end-1{grid-row-end:1}.sm\\:row-end-2{grid-row-end:2}.sm\\:row-end-3{grid-row-end:3}.sm\\:row-end-4{grid-row-end:4}.sm\\:row-end-5{grid-row-end:5}.sm\\:row-end-6{grid-row-end:6}.sm\\:row-end-7{grid-row-end:7}.sm\\:row-end-auto{grid-row-end:auto}.sm\\:float-right{float:right}.sm\\:float-left{float:left}.sm\\:float-none{float:none}.sm\\:clear-left{clear:left}.sm\\:clear-right{clear:right}.sm\\:clear-both{clear:both}.sm\\:clear-none{clear:none}.sm\\:m-0{margin:0px}.sm\\:m-1{margin:0.25rem}.sm\\:m-2{margin:0.5rem}.sm\\:m-3{margin:0.75rem}.sm\\:m-4{margin:1rem}.sm\\:m-5{margin:1.25rem}.sm\\:m-6{margin:1.5rem}.sm\\:m-7{margin:1.75rem}.sm\\:m-8{margin:2rem}.sm\\:m-9{margin:2.25rem}.sm\\:m-10{margin:2.5rem}.sm\\:m-11{margin:2.75rem}.sm\\:m-12{margin:3rem}.sm\\:m-14{margin:3.5rem}.sm\\:m-16{margin:4rem}.sm\\:m-20{margin:5rem}.sm\\:m-24{margin:6rem}.sm\\:m-28{margin:7rem}.sm\\:m-32{margin:8rem}.sm\\:m-36{margin:9rem}.sm\\:m-40{margin:10rem}.sm\\:m-44{margin:11rem}.sm\\:m-48{margin:12rem}.sm\\:m-52{margin:13rem}.sm\\:m-56{margin:14rem}.sm\\:m-60{margin:15rem}.sm\\:m-64{margin:16rem}.sm\\:m-72{margin:18rem}.sm\\:m-80{margin:20rem}.sm\\:m-96{margin:24rem}.sm\\:m-auto{margin:auto}.sm\\:m-px{margin:1px}.sm\\:m-0\\.5{margin:0.125rem}.sm\\:m-1\\.5{margin:0.375rem}.sm\\:m-2\\.5{margin:0.625rem}.sm\\:m-3\\.5{margin:0.875rem}.sm\\:-m-0{margin:0px}.sm\\:-m-1{margin:-0.25rem}.sm\\:-m-2{margin:-0.5rem}.sm\\:-m-3{margin:-0.75rem}.sm\\:-m-4{margin:-1rem}.sm\\:-m-5{margin:-1.25rem}.sm\\:-m-6{margin:-1.5rem}.sm\\:-m-7{margin:-1.75rem}.sm\\:-m-8{margin:-2rem}.sm\\:-m-9{margin:-2.25rem}.sm\\:-m-10{margin:-2.5rem}.sm\\:-m-11{margin:-2.75rem}.sm\\:-m-12{margin:-3rem}.sm\\:-m-14{margin:-3.5rem}.sm\\:-m-16{margin:-4rem}.sm\\:-m-20{margin:-5rem}.sm\\:-m-24{margin:-6rem}.sm\\:-m-28{margin:-7rem}.sm\\:-m-32{margin:-8rem}.sm\\:-m-36{margin:-9rem}.sm\\:-m-40{margin:-10rem}.sm\\:-m-44{margin:-11rem}.sm\\:-m-48{margin:-12rem}.sm\\:-m-52{margin:-13rem}.sm\\:-m-56{margin:-14rem}.sm\\:-m-60{margin:-15rem}.sm\\:-m-64{margin:-16rem}.sm\\:-m-72{margin:-18rem}.sm\\:-m-80{margin:-20rem}.sm\\:-m-96{margin:-24rem}.sm\\:-m-px{margin:-1px}.sm\\:-m-0\\.5{margin:-0.125rem}.sm\\:-m-1\\.5{margin:-0.375rem}.sm\\:-m-2\\.5{margin:-0.625rem}.sm\\:-m-3\\.5{margin:-0.875rem}.sm\\:mx-0{margin-left:0px;margin-right:0px}.sm\\:mx-1{margin-left:0.25rem;margin-right:0.25rem}.sm\\:mx-2{margin-left:0.5rem;margin-right:0.5rem}.sm\\:mx-3{margin-left:0.75rem;margin-right:0.75rem}.sm\\:mx-4{margin-left:1rem;margin-right:1rem}.sm\\:mx-5{margin-left:1.25rem;margin-right:1.25rem}.sm\\:mx-6{margin-left:1.5rem;margin-right:1.5rem}.sm\\:mx-7{margin-left:1.75rem;margin-right:1.75rem}.sm\\:mx-8{margin-left:2rem;margin-right:2rem}.sm\\:mx-9{margin-left:2.25rem;margin-right:2.25rem}.sm\\:mx-10{margin-left:2.5rem;margin-right:2.5rem}.sm\\:mx-11{margin-left:2.75rem;margin-right:2.75rem}.sm\\:mx-12{margin-left:3rem;margin-right:3rem}.sm\\:mx-14{margin-left:3.5rem;margin-right:3.5rem}.sm\\:mx-16{margin-left:4rem;margin-right:4rem}.sm\\:mx-20{margin-left:5rem;margin-right:5rem}.sm\\:mx-24{margin-left:6rem;margin-right:6rem}.sm\\:mx-28{margin-left:7rem;margin-right:7rem}.sm\\:mx-32{margin-left:8rem;margin-right:8rem}.sm\\:mx-36{margin-left:9rem;margin-right:9rem}.sm\\:mx-40{margin-left:10rem;margin-right:10rem}.sm\\:mx-44{margin-left:11rem;margin-right:11rem}.sm\\:mx-48{margin-left:12rem;margin-right:12rem}.sm\\:mx-52{margin-left:13rem;margin-right:13rem}.sm\\:mx-56{margin-left:14rem;margin-right:14rem}.sm\\:mx-60{margin-left:15rem;margin-right:15rem}.sm\\:mx-64{margin-left:16rem;margin-right:16rem}.sm\\:mx-72{margin-left:18rem;margin-right:18rem}.sm\\:mx-80{margin-left:20rem;margin-right:20rem}.sm\\:mx-96{margin-left:24rem;margin-right:24rem}.sm\\:mx-auto{margin-left:auto;margin-right:auto}.sm\\:mx-px{margin-left:1px;margin-right:1px}.sm\\:mx-0\\.5{margin-left:0.125rem;margin-right:0.125rem}.sm\\:mx-1\\.5{margin-left:0.375rem;margin-right:0.375rem}.sm\\:mx-2\\.5{margin-left:0.625rem;margin-right:0.625rem}.sm\\:mx-3\\.5{margin-left:0.875rem;margin-right:0.875rem}.sm\\:-mx-0{margin-left:0px;margin-right:0px}.sm\\:-mx-1{margin-left:-0.25rem;margin-right:-0.25rem}.sm\\:-mx-2{margin-left:-0.5rem;margin-right:-0.5rem}.sm\\:-mx-3{margin-left:-0.75rem;margin-right:-0.75rem}.sm\\:-mx-4{margin-left:-1rem;margin-right:-1rem}.sm\\:-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.sm\\:-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.sm\\:-mx-7{margin-left:-1.75rem;margin-right:-1.75rem}.sm\\:-mx-8{margin-left:-2rem;margin-right:-2rem}.sm\\:-mx-9{margin-left:-2.25rem;margin-right:-2.25rem}.sm\\:-mx-10{margin-left:-2.5rem;margin-right:-2.5rem}.sm\\:-mx-11{margin-left:-2.75rem;margin-right:-2.75rem}.sm\\:-mx-12{margin-left:-3rem;margin-right:-3rem}.sm\\:-mx-14{margin-left:-3.5rem;margin-right:-3.5rem}.sm\\:-mx-16{margin-left:-4rem;margin-right:-4rem}.sm\\:-mx-20{margin-left:-5rem;margin-right:-5rem}.sm\\:-mx-24{margin-left:-6rem;margin-right:-6rem}.sm\\:-mx-28{margin-left:-7rem;margin-right:-7rem}.sm\\:-mx-32{margin-left:-8rem;margin-right:-8rem}.sm\\:-mx-36{margin-left:-9rem;margin-right:-9rem}.sm\\:-mx-40{margin-left:-10rem;margin-right:-10rem}.sm\\:-mx-44{margin-left:-11rem;margin-right:-11rem}.sm\\:-mx-48{margin-left:-12rem;margin-right:-12rem}.sm\\:-mx-52{margin-left:-13rem;margin-right:-13rem}.sm\\:-mx-56{margin-left:-14rem;margin-right:-14rem}.sm\\:-mx-60{margin-left:-15rem;margin-right:-15rem}.sm\\:-mx-64{margin-left:-16rem;margin-right:-16rem}.sm\\:-mx-72{margin-left:-18rem;margin-right:-18rem}.sm\\:-mx-80{margin-left:-20rem;margin-right:-20rem}.sm\\:-mx-96{margin-left:-24rem;margin-right:-24rem}.sm\\:-mx-px{margin-left:-1px;margin-right:-1px}.sm\\:-mx-0\\.5{margin-left:-0.125rem;margin-right:-0.125rem}.sm\\:-mx-1\\.5{margin-left:-0.375rem;margin-right:-0.375rem}.sm\\:-mx-2\\.5{margin-left:-0.625rem;margin-right:-0.625rem}.sm\\:-mx-3\\.5{margin-left:-0.875rem;margin-right:-0.875rem}.sm\\:my-0{margin-top:0px;margin-bottom:0px}.sm\\:my-1{margin-top:0.25rem;margin-bottom:0.25rem}.sm\\:my-2{margin-top:0.5rem;margin-bottom:0.5rem}.sm\\:my-3{margin-top:0.75rem;margin-bottom:0.75rem}.sm\\:my-4{margin-top:1rem;margin-bottom:1rem}.sm\\:my-5{margin-top:1.25rem;margin-bottom:1.25rem}.sm\\:my-6{margin-top:1.5rem;margin-bottom:1.5rem}.sm\\:my-7{margin-top:1.75rem;margin-bottom:1.75rem}.sm\\:my-8{margin-top:2rem;margin-bottom:2rem}.sm\\:my-9{margin-top:2.25rem;margin-bottom:2.25rem}.sm\\:my-10{margin-top:2.5rem;margin-bottom:2.5rem}.sm\\:my-11{margin-top:2.75rem;margin-bottom:2.75rem}.sm\\:my-12{margin-top:3rem;margin-bottom:3rem}.sm\\:my-14{margin-top:3.5rem;margin-bottom:3.5rem}.sm\\:my-16{margin-top:4rem;margin-bottom:4rem}.sm\\:my-20{margin-top:5rem;margin-bottom:5rem}.sm\\:my-24{margin-top:6rem;margin-bottom:6rem}.sm\\:my-28{margin-top:7rem;margin-bottom:7rem}.sm\\:my-32{margin-top:8rem;margin-bottom:8rem}.sm\\:my-36{margin-top:9rem;margin-bottom:9rem}.sm\\:my-40{margin-top:10rem;margin-bottom:10rem}.sm\\:my-44{margin-top:11rem;margin-bottom:11rem}.sm\\:my-48{margin-top:12rem;margin-bottom:12rem}.sm\\:my-52{margin-top:13rem;margin-bottom:13rem}.sm\\:my-56{margin-top:14rem;margin-bottom:14rem}.sm\\:my-60{margin-top:15rem;margin-bottom:15rem}.sm\\:my-64{margin-top:16rem;margin-bottom:16rem}.sm\\:my-72{margin-top:18rem;margin-bottom:18rem}.sm\\:my-80{margin-top:20rem;margin-bottom:20rem}.sm\\:my-96{margin-top:24rem;margin-bottom:24rem}.sm\\:my-auto{margin-top:auto;margin-bottom:auto}.sm\\:my-px{margin-top:1px;margin-bottom:1px}.sm\\:my-0\\.5{margin-top:0.125rem;margin-bottom:0.125rem}.sm\\:my-1\\.5{margin-top:0.375rem;margin-bottom:0.375rem}.sm\\:my-2\\.5{margin-top:0.625rem;margin-bottom:0.625rem}.sm\\:my-3\\.5{margin-top:0.875rem;margin-bottom:0.875rem}.sm\\:-my-0{margin-top:0px;margin-bottom:0px}.sm\\:-my-1{margin-top:-0.25rem;margin-bottom:-0.25rem}.sm\\:-my-2{margin-top:-0.5rem;margin-bottom:-0.5rem}.sm\\:-my-3{margin-top:-0.75rem;margin-bottom:-0.75rem}.sm\\:-my-4{margin-top:-1rem;margin-bottom:-1rem}.sm\\:-my-5{margin-top:-1.25rem;margin-bottom:-1.25rem}.sm\\:-my-6{margin-top:-1.5rem;margin-bottom:-1.5rem}.sm\\:-my-7{margin-top:-1.75rem;margin-bottom:-1.75rem}.sm\\:-my-8{margin-top:-2rem;margin-bottom:-2rem}.sm\\:-my-9{margin-top:-2.25rem;margin-bottom:-2.25rem}.sm\\:-my-10{margin-top:-2.5rem;margin-bottom:-2.5rem}.sm\\:-my-11{margin-top:-2.75rem;margin-bottom:-2.75rem}.sm\\:-my-12{margin-top:-3rem;margin-bottom:-3rem}.sm\\:-my-14{margin-top:-3.5rem;margin-bottom:-3.5rem}.sm\\:-my-16{margin-top:-4rem;margin-bottom:-4rem}.sm\\:-my-20{margin-top:-5rem;margin-bottom:-5rem}.sm\\:-my-24{margin-top:-6rem;margin-bottom:-6rem}.sm\\:-my-28{margin-top:-7rem;margin-bottom:-7rem}.sm\\:-my-32{margin-top:-8rem;margin-bottom:-8rem}.sm\\:-my-36{margin-top:-9rem;margin-bottom:-9rem}.sm\\:-my-40{margin-top:-10rem;margin-bottom:-10rem}.sm\\:-my-44{margin-top:-11rem;margin-bottom:-11rem}.sm\\:-my-48{margin-top:-12rem;margin-bottom:-12rem}.sm\\:-my-52{margin-top:-13rem;margin-bottom:-13rem}.sm\\:-my-56{margin-top:-14rem;margin-bottom:-14rem}.sm\\:-my-60{margin-top:-15rem;margin-bottom:-15rem}.sm\\:-my-64{margin-top:-16rem;margin-bottom:-16rem}.sm\\:-my-72{margin-top:-18rem;margin-bottom:-18rem}.sm\\:-my-80{margin-top:-20rem;margin-bottom:-20rem}.sm\\:-my-96{margin-top:-24rem;margin-bottom:-24rem}.sm\\:-my-px{margin-top:-1px;margin-bottom:-1px}.sm\\:-my-0\\.5{margin-top:-0.125rem;margin-bottom:-0.125rem}.sm\\:-my-1\\.5{margin-top:-0.375rem;margin-bottom:-0.375rem}.sm\\:-my-2\\.5{margin-top:-0.625rem;margin-bottom:-0.625rem}.sm\\:-my-3\\.5{margin-top:-0.875rem;margin-bottom:-0.875rem}.sm\\:mt-0{margin-top:0px}.sm\\:mt-1{margin-top:0.25rem}.sm\\:mt-2{margin-top:0.5rem}.sm\\:mt-3{margin-top:0.75rem}.sm\\:mt-4{margin-top:1rem}.sm\\:mt-5{margin-top:1.25rem}.sm\\:mt-6{margin-top:1.5rem}.sm\\:mt-7{margin-top:1.75rem}.sm\\:mt-8{margin-top:2rem}.sm\\:mt-9{margin-top:2.25rem}.sm\\:mt-10{margin-top:2.5rem}.sm\\:mt-11{margin-top:2.75rem}.sm\\:mt-12{margin-top:3rem}.sm\\:mt-14{margin-top:3.5rem}.sm\\:mt-16{margin-top:4rem}.sm\\:mt-20{margin-top:5rem}.sm\\:mt-24{margin-top:6rem}.sm\\:mt-28{margin-top:7rem}.sm\\:mt-32{margin-top:8rem}.sm\\:mt-36{margin-top:9rem}.sm\\:mt-40{margin-top:10rem}.sm\\:mt-44{margin-top:11rem}.sm\\:mt-48{margin-top:12rem}.sm\\:mt-52{margin-top:13rem}.sm\\:mt-56{margin-top:14rem}.sm\\:mt-60{margin-top:15rem}.sm\\:mt-64{margin-top:16rem}.sm\\:mt-72{margin-top:18rem}.sm\\:mt-80{margin-top:20rem}.sm\\:mt-96{margin-top:24rem}.sm\\:mt-auto{margin-top:auto}.sm\\:mt-px{margin-top:1px}.sm\\:mt-0\\.5{margin-top:0.125rem}.sm\\:mt-1\\.5{margin-top:0.375rem}.sm\\:mt-2\\.5{margin-top:0.625rem}.sm\\:mt-3\\.5{margin-top:0.875rem}.sm\\:-mt-0{margin-top:0px}.sm\\:-mt-1{margin-top:-0.25rem}.sm\\:-mt-2{margin-top:-0.5rem}.sm\\:-mt-3{margin-top:-0.75rem}.sm\\:-mt-4{margin-top:-1rem}.sm\\:-mt-5{margin-top:-1.25rem}.sm\\:-mt-6{margin-top:-1.5rem}.sm\\:-mt-7{margin-top:-1.75rem}.sm\\:-mt-8{margin-top:-2rem}.sm\\:-mt-9{margin-top:-2.25rem}.sm\\:-mt-10{margin-top:-2.5rem}.sm\\:-mt-11{margin-top:-2.75rem}.sm\\:-mt-12{margin-top:-3rem}.sm\\:-mt-14{margin-top:-3.5rem}.sm\\:-mt-16{margin-top:-4rem}.sm\\:-mt-20{margin-top:-5rem}.sm\\:-mt-24{margin-top:-6rem}.sm\\:-mt-28{margin-top:-7rem}.sm\\:-mt-32{margin-top:-8rem}.sm\\:-mt-36{margin-top:-9rem}.sm\\:-mt-40{margin-top:-10rem}.sm\\:-mt-44{margin-top:-11rem}.sm\\:-mt-48{margin-top:-12rem}.sm\\:-mt-52{margin-top:-13rem}.sm\\:-mt-56{margin-top:-14rem}.sm\\:-mt-60{margin-top:-15rem}.sm\\:-mt-64{margin-top:-16rem}.sm\\:-mt-72{margin-top:-18rem}.sm\\:-mt-80{margin-top:-20rem}.sm\\:-mt-96{margin-top:-24rem}.sm\\:-mt-px{margin-top:-1px}.sm\\:-mt-0\\.5{margin-top:-0.125rem}.sm\\:-mt-1\\.5{margin-top:-0.375rem}.sm\\:-mt-2\\.5{margin-top:-0.625rem}.sm\\:-mt-3\\.5{margin-top:-0.875rem}.sm\\:mr-0{margin-right:0px}.sm\\:mr-1{margin-right:0.25rem}.sm\\:mr-2{margin-right:0.5rem}.sm\\:mr-3{margin-right:0.75rem}.sm\\:mr-4{margin-right:1rem}.sm\\:mr-5{margin-right:1.25rem}.sm\\:mr-6{margin-right:1.5rem}.sm\\:mr-7{margin-right:1.75rem}.sm\\:mr-8{margin-right:2rem}.sm\\:mr-9{margin-right:2.25rem}.sm\\:mr-10{margin-right:2.5rem}.sm\\:mr-11{margin-right:2.75rem}.sm\\:mr-12{margin-right:3rem}.sm\\:mr-14{margin-right:3.5rem}.sm\\:mr-16{margin-right:4rem}.sm\\:mr-20{margin-right:5rem}.sm\\:mr-24{margin-right:6rem}.sm\\:mr-28{margin-right:7rem}.sm\\:mr-32{margin-right:8rem}.sm\\:mr-36{margin-right:9rem}.sm\\:mr-40{margin-right:10rem}.sm\\:mr-44{margin-right:11rem}.sm\\:mr-48{margin-right:12rem}.sm\\:mr-52{margin-right:13rem}.sm\\:mr-56{margin-right:14rem}.sm\\:mr-60{margin-right:15rem}.sm\\:mr-64{margin-right:16rem}.sm\\:mr-72{margin-right:18rem}.sm\\:mr-80{margin-right:20rem}.sm\\:mr-96{margin-right:24rem}.sm\\:mr-auto{margin-right:auto}.sm\\:mr-px{margin-right:1px}.sm\\:mr-0\\.5{margin-right:0.125rem}.sm\\:mr-1\\.5{margin-right:0.375rem}.sm\\:mr-2\\.5{margin-right:0.625rem}.sm\\:mr-3\\.5{margin-right:0.875rem}.sm\\:-mr-0{margin-right:0px}.sm\\:-mr-1{margin-right:-0.25rem}.sm\\:-mr-2{margin-right:-0.5rem}.sm\\:-mr-3{margin-right:-0.75rem}.sm\\:-mr-4{margin-right:-1rem}.sm\\:-mr-5{margin-right:-1.25rem}.sm\\:-mr-6{margin-right:-1.5rem}.sm\\:-mr-7{margin-right:-1.75rem}.sm\\:-mr-8{margin-right:-2rem}.sm\\:-mr-9{margin-right:-2.25rem}.sm\\:-mr-10{margin-right:-2.5rem}.sm\\:-mr-11{margin-right:-2.75rem}.sm\\:-mr-12{margin-right:-3rem}.sm\\:-mr-14{margin-right:-3.5rem}.sm\\:-mr-16{margin-right:-4rem}.sm\\:-mr-20{margin-right:-5rem}.sm\\:-mr-24{margin-right:-6rem}.sm\\:-mr-28{margin-right:-7rem}.sm\\:-mr-32{margin-right:-8rem}.sm\\:-mr-36{margin-right:-9rem}.sm\\:-mr-40{margin-right:-10rem}.sm\\:-mr-44{margin-right:-11rem}.sm\\:-mr-48{margin-right:-12rem}.sm\\:-mr-52{margin-right:-13rem}.sm\\:-mr-56{margin-right:-14rem}.sm\\:-mr-60{margin-right:-15rem}.sm\\:-mr-64{margin-right:-16rem}.sm\\:-mr-72{margin-right:-18rem}.sm\\:-mr-80{margin-right:-20rem}.sm\\:-mr-96{margin-right:-24rem}.sm\\:-mr-px{margin-right:-1px}.sm\\:-mr-0\\.5{margin-right:-0.125rem}.sm\\:-mr-1\\.5{margin-right:-0.375rem}.sm\\:-mr-2\\.5{margin-right:-0.625rem}.sm\\:-mr-3\\.5{margin-right:-0.875rem}.sm\\:mb-0{margin-bottom:0px}.sm\\:mb-1{margin-bottom:0.25rem}.sm\\:mb-2{margin-bottom:0.5rem}.sm\\:mb-3{margin-bottom:0.75rem}.sm\\:mb-4{margin-bottom:1rem}.sm\\:mb-5{margin-bottom:1.25rem}.sm\\:mb-6{margin-bottom:1.5rem}.sm\\:mb-7{margin-bottom:1.75rem}.sm\\:mb-8{margin-bottom:2rem}.sm\\:mb-9{margin-bottom:2.25rem}.sm\\:mb-10{margin-bottom:2.5rem}.sm\\:mb-11{margin-bottom:2.75rem}.sm\\:mb-12{margin-bottom:3rem}.sm\\:mb-14{margin-bottom:3.5rem}.sm\\:mb-16{margin-bottom:4rem}.sm\\:mb-20{margin-bottom:5rem}.sm\\:mb-24{margin-bottom:6rem}.sm\\:mb-28{margin-bottom:7rem}.sm\\:mb-32{margin-bottom:8rem}.sm\\:mb-36{margin-bottom:9rem}.sm\\:mb-40{margin-bottom:10rem}.sm\\:mb-44{margin-bottom:11rem}.sm\\:mb-48{margin-bottom:12rem}.sm\\:mb-52{margin-bottom:13rem}.sm\\:mb-56{margin-bottom:14rem}.sm\\:mb-60{margin-bottom:15rem}.sm\\:mb-64{margin-bottom:16rem}.sm\\:mb-72{margin-bottom:18rem}.sm\\:mb-80{margin-bottom:20rem}.sm\\:mb-96{margin-bottom:24rem}.sm\\:mb-auto{margin-bottom:auto}.sm\\:mb-px{margin-bottom:1px}.sm\\:mb-0\\.5{margin-bottom:0.125rem}.sm\\:mb-1\\.5{margin-bottom:0.375rem}.sm\\:mb-2\\.5{margin-bottom:0.625rem}.sm\\:mb-3\\.5{margin-bottom:0.875rem}.sm\\:-mb-0{margin-bottom:0px}.sm\\:-mb-1{margin-bottom:-0.25rem}.sm\\:-mb-2{margin-bottom:-0.5rem}.sm\\:-mb-3{margin-bottom:-0.75rem}.sm\\:-mb-4{margin-bottom:-1rem}.sm\\:-mb-5{margin-bottom:-1.25rem}.sm\\:-mb-6{margin-bottom:-1.5rem}.sm\\:-mb-7{margin-bottom:-1.75rem}.sm\\:-mb-8{margin-bottom:-2rem}.sm\\:-mb-9{margin-bottom:-2.25rem}.sm\\:-mb-10{margin-bottom:-2.5rem}.sm\\:-mb-11{margin-bottom:-2.75rem}.sm\\:-mb-12{margin-bottom:-3rem}.sm\\:-mb-14{margin-bottom:-3.5rem}.sm\\:-mb-16{margin-bottom:-4rem}.sm\\:-mb-20{margin-bottom:-5rem}.sm\\:-mb-24{margin-bottom:-6rem}.sm\\:-mb-28{margin-bottom:-7rem}.sm\\:-mb-32{margin-bottom:-8rem}.sm\\:-mb-36{margin-bottom:-9rem}.sm\\:-mb-40{margin-bottom:-10rem}.sm\\:-mb-44{margin-bottom:-11rem}.sm\\:-mb-48{margin-bottom:-12rem}.sm\\:-mb-52{margin-bottom:-13rem}.sm\\:-mb-56{margin-bottom:-14rem}.sm\\:-mb-60{margin-bottom:-15rem}.sm\\:-mb-64{margin-bottom:-16rem}.sm\\:-mb-72{margin-bottom:-18rem}.sm\\:-mb-80{margin-bottom:-20rem}.sm\\:-mb-96{margin-bottom:-24rem}.sm\\:-mb-px{margin-bottom:-1px}.sm\\:-mb-0\\.5{margin-bottom:-0.125rem}.sm\\:-mb-1\\.5{margin-bottom:-0.375rem}.sm\\:-mb-2\\.5{margin-bottom:-0.625rem}.sm\\:-mb-3\\.5{margin-bottom:-0.875rem}.sm\\:ml-0{margin-left:0px}.sm\\:ml-1{margin-left:0.25rem}.sm\\:ml-2{margin-left:0.5rem}.sm\\:ml-3{margin-left:0.75rem}.sm\\:ml-4{margin-left:1rem}.sm\\:ml-5{margin-left:1.25rem}.sm\\:ml-6{margin-left:1.5rem}.sm\\:ml-7{margin-left:1.75rem}.sm\\:ml-8{margin-left:2rem}.sm\\:ml-9{margin-left:2.25rem}.sm\\:ml-10{margin-left:2.5rem}.sm\\:ml-11{margin-left:2.75rem}.sm\\:ml-12{margin-left:3rem}.sm\\:ml-14{margin-left:3.5rem}.sm\\:ml-16{margin-left:4rem}.sm\\:ml-20{margin-left:5rem}.sm\\:ml-24{margin-left:6rem}.sm\\:ml-28{margin-left:7rem}.sm\\:ml-32{margin-left:8rem}.sm\\:ml-36{margin-left:9rem}.sm\\:ml-40{margin-left:10rem}.sm\\:ml-44{margin-left:11rem}.sm\\:ml-48{margin-left:12rem}.sm\\:ml-52{margin-left:13rem}.sm\\:ml-56{margin-left:14rem}.sm\\:ml-60{margin-left:15rem}.sm\\:ml-64{margin-left:16rem}.sm\\:ml-72{margin-left:18rem}.sm\\:ml-80{margin-left:20rem}.sm\\:ml-96{margin-left:24rem}.sm\\:ml-auto{margin-left:auto}.sm\\:ml-px{margin-left:1px}.sm\\:ml-0\\.5{margin-left:0.125rem}.sm\\:ml-1\\.5{margin-left:0.375rem}.sm\\:ml-2\\.5{margin-left:0.625rem}.sm\\:ml-3\\.5{margin-left:0.875rem}.sm\\:-ml-0{margin-left:0px}.sm\\:-ml-1{margin-left:-0.25rem}.sm\\:-ml-2{margin-left:-0.5rem}.sm\\:-ml-3{margin-left:-0.75rem}.sm\\:-ml-4{margin-left:-1rem}.sm\\:-ml-5{margin-left:-1.25rem}.sm\\:-ml-6{margin-left:-1.5rem}.sm\\:-ml-7{margin-left:-1.75rem}.sm\\:-ml-8{margin-left:-2rem}.sm\\:-ml-9{margin-left:-2.25rem}.sm\\:-ml-10{margin-left:-2.5rem}.sm\\:-ml-11{margin-left:-2.75rem}.sm\\:-ml-12{margin-left:-3rem}.sm\\:-ml-14{margin-left:-3.5rem}.sm\\:-ml-16{margin-left:-4rem}.sm\\:-ml-20{margin-left:-5rem}.sm\\:-ml-24{margin-left:-6rem}.sm\\:-ml-28{margin-left:-7rem}.sm\\:-ml-32{margin-left:-8rem}.sm\\:-ml-36{margin-left:-9rem}.sm\\:-ml-40{margin-left:-10rem}.sm\\:-ml-44{margin-left:-11rem}.sm\\:-ml-48{margin-left:-12rem}.sm\\:-ml-52{margin-left:-13rem}.sm\\:-ml-56{margin-left:-14rem}.sm\\:-ml-60{margin-left:-15rem}.sm\\:-ml-64{margin-left:-16rem}.sm\\:-ml-72{margin-left:-18rem}.sm\\:-ml-80{margin-left:-20rem}.sm\\:-ml-96{margin-left:-24rem}.sm\\:-ml-px{margin-left:-1px}.sm\\:-ml-0\\.5{margin-left:-0.125rem}.sm\\:-ml-1\\.5{margin-left:-0.375rem}.sm\\:-ml-2\\.5{margin-left:-0.625rem}.sm\\:-ml-3\\.5{margin-left:-0.875rem}.sm\\:box-border{box-sizing:border-box}.sm\\:box-content{box-sizing:content-box}.sm\\:block{display:block}.sm\\:inline-block{display:inline-block}.sm\\:inline{display:inline}.sm\\:flex{display:flex}.sm\\:inline-flex{display:inline-flex}.sm\\:table{display:table}.sm\\:inline-table{display:inline-table}.sm\\:table-caption{display:table-caption}.sm\\:table-cell{display:table-cell}.sm\\:table-column{display:table-column}.sm\\:table-column-group{display:table-column-group}.sm\\:table-footer-group{display:table-footer-group}.sm\\:table-header-group{display:table-header-group}.sm\\:table-row-group{display:table-row-group}.sm\\:table-row{display:table-row}.sm\\:flow-root{display:flow-root}.sm\\:grid{display:grid}.sm\\:inline-grid{display:inline-grid}.sm\\:contents{display:contents}.sm\\:list-item{display:list-item}.sm\\:hidden{display:none}.sm\\:h-0{height:0px}.sm\\:h-1{height:0.25rem}.sm\\:h-2{height:0.5rem}.sm\\:h-3{height:0.75rem}.sm\\:h-4{height:1rem}.sm\\:h-5{height:1.25rem}.sm\\:h-6{height:1.5rem}.sm\\:h-7{height:1.75rem}.sm\\:h-8{height:2rem}.sm\\:h-9{height:2.25rem}.sm\\:h-10{height:2.5rem}.sm\\:h-11{height:2.75rem}.sm\\:h-12{height:3rem}.sm\\:h-14{height:3.5rem}.sm\\:h-16{height:4rem}.sm\\:h-20{height:5rem}.sm\\:h-24{height:6rem}.sm\\:h-28{height:7rem}.sm\\:h-32{height:8rem}.sm\\:h-36{height:9rem}.sm\\:h-40{height:10rem}.sm\\:h-44{height:11rem}.sm\\:h-48{height:12rem}.sm\\:h-52{height:13rem}.sm\\:h-56{height:14rem}.sm\\:h-60{height:15rem}.sm\\:h-64{height:16rem}.sm\\:h-72{height:18rem}.sm\\:h-80{height:20rem}.sm\\:h-96{height:24rem}.sm\\:h-auto{height:auto}.sm\\:h-px{height:1px}.sm\\:h-0\\.5{height:0.125rem}.sm\\:h-1\\.5{height:0.375rem}.sm\\:h-2\\.5{height:0.625rem}.sm\\:h-3\\.5{height:0.875rem}.sm\\:h-1\\/2{height:50%}.sm\\:h-1\\/3{height:33.333333%}.sm\\:h-2\\/3{height:66.666667%}.sm\\:h-1\\/4{height:25%}.sm\\:h-2\\/4{height:50%}.sm\\:h-3\\/4{height:75%}.sm\\:h-1\\/5{height:20%}.sm\\:h-2\\/5{height:40%}.sm\\:h-3\\/5{height:60%}.sm\\:h-4\\/5{height:80%}.sm\\:h-1\\/6{height:16.666667%}.sm\\:h-2\\/6{height:33.333333%}.sm\\:h-3\\/6{height:50%}.sm\\:h-4\\/6{height:66.666667%}.sm\\:h-5\\/6{height:83.333333%}.sm\\:h-full{height:100%}.sm\\:h-screen{height:100vh}.sm\\:h-XS{height:250px}.sm\\:h-S{height:500px}.sm\\:h-M{height:750px}.sm\\:h-L{height:1000px}.sm\\:h-XL{height:1250px}.sm\\:h-XXL{height:1500px}.sm\\:max-h-0{max-height:0px}.sm\\:max-h-1{max-height:0.25rem}.sm\\:max-h-2{max-height:0.5rem}.sm\\:max-h-3{max-height:0.75rem}.sm\\:max-h-4{max-height:1rem}.sm\\:max-h-5{max-height:1.25rem}.sm\\:max-h-6{max-height:1.5rem}.sm\\:max-h-7{max-height:1.75rem}.sm\\:max-h-8{max-height:2rem}.sm\\:max-h-9{max-height:2.25rem}.sm\\:max-h-10{max-height:2.5rem}.sm\\:max-h-11{max-height:2.75rem}.sm\\:max-h-12{max-height:3rem}.sm\\:max-h-14{max-height:3.5rem}.sm\\:max-h-16{max-height:4rem}.sm\\:max-h-20{max-height:5rem}.sm\\:max-h-24{max-height:6rem}.sm\\:max-h-28{max-height:7rem}.sm\\:max-h-32{max-height:8rem}.sm\\:max-h-36{max-height:9rem}.sm\\:max-h-40{max-height:10rem}.sm\\:max-h-44{max-height:11rem}.sm\\:max-h-48{max-height:12rem}.sm\\:max-h-52{max-height:13rem}.sm\\:max-h-56{max-height:14rem}.sm\\:max-h-60{max-height:15rem}.sm\\:max-h-64{max-height:16rem}.sm\\:max-h-72{max-height:18rem}.sm\\:max-h-80{max-height:20rem}.sm\\:max-h-96{max-height:24rem}.sm\\:max-h-px{max-height:1px}.sm\\:max-h-0\\.5{max-height:0.125rem}.sm\\:max-h-1\\.5{max-height:0.375rem}.sm\\:max-h-2\\.5{max-height:0.625rem}.sm\\:max-h-3\\.5{max-height:0.875rem}.sm\\:max-h-full{max-height:100%}.sm\\:max-h-screen{max-height:100vh}.sm\\:max-h-XS{max-height:250px}.sm\\:max-h-S{max-height:500px}.sm\\:max-h-M{max-height:750px}.sm\\:max-h-L{max-height:1000px}.sm\\:max-h-XL{max-height:1250px}.sm\\:max-h-XXL{max-height:1500px}.sm\\:min-h-0{min-height:0px}.sm\\:min-h-full{min-height:100%}.sm\\:min-h-screen{min-height:100vh}.sm\\:w-0{width:0px}.sm\\:w-1{width:0.25rem}.sm\\:w-2{width:0.5rem}.sm\\:w-3{width:0.75rem}.sm\\:w-4{width:1rem}.sm\\:w-5{width:1.25rem}.sm\\:w-6{width:1.5rem}.sm\\:w-7{width:1.75rem}.sm\\:w-8{width:2rem}.sm\\:w-9{width:2.25rem}.sm\\:w-10{width:2.5rem}.sm\\:w-11{width:2.75rem}.sm\\:w-12{width:3rem}.sm\\:w-14{width:3.5rem}.sm\\:w-16{width:4rem}.sm\\:w-20{width:5rem}.sm\\:w-24{width:6rem}.sm\\:w-28{width:7rem}.sm\\:w-32{width:8rem}.sm\\:w-36{width:9rem}.sm\\:w-40{width:10rem}.sm\\:w-44{width:11rem}.sm\\:w-48{width:12rem}.sm\\:w-52{width:13rem}.sm\\:w-56{width:14rem}.sm\\:w-60{width:15rem}.sm\\:w-64{width:16rem}.sm\\:w-72{width:18rem}.sm\\:w-80{width:20rem}.sm\\:w-96{width:24rem}.sm\\:w-auto{width:auto}.sm\\:w-px{width:1px}.sm\\:w-0\\.5{width:0.125rem}.sm\\:w-1\\.5{width:0.375rem}.sm\\:w-2\\.5{width:0.625rem}.sm\\:w-3\\.5{width:0.875rem}.sm\\:w-1\\/2{width:50%}.sm\\:w-1\\/3{width:33.333333%}.sm\\:w-2\\/3{width:66.666667%}.sm\\:w-1\\/4{width:25%}.sm\\:w-2\\/4{width:50%}.sm\\:w-3\\/4{width:75%}.sm\\:w-1\\/5{width:20%}.sm\\:w-2\\/5{width:40%}.sm\\:w-3\\/5{width:60%}.sm\\:w-4\\/5{width:80%}.sm\\:w-1\\/6{width:16.666667%}.sm\\:w-2\\/6{width:33.333333%}.sm\\:w-3\\/6{width:50%}.sm\\:w-4\\/6{width:66.666667%}.sm\\:w-5\\/6{width:83.333333%}.sm\\:w-1\\/12{width:8.333333%}.sm\\:w-2\\/12{width:16.666667%}.sm\\:w-3\\/12{width:25%}.sm\\:w-4\\/12{width:33.333333%}.sm\\:w-5\\/12{width:41.666667%}.sm\\:w-6\\/12{width:50%}.sm\\:w-7\\/12{width:58.333333%}.sm\\:w-8\\/12{width:66.666667%}.sm\\:w-9\\/12{width:75%}.sm\\:w-10\\/12{width:83.333333%}.sm\\:w-11\\/12{width:91.666667%}.sm\\:w-full{width:100%}.sm\\:w-screen{width:100vw}.sm\\:w-min{width:min-content}.sm\\:w-max{width:max-content}.sm\\:min-w-0{min-width:0px}.sm\\:min-w-full{min-width:100%}.sm\\:min-w-min{min-width:min-content}.sm\\:min-w-max{min-width:max-content}.sm\\:max-w-0{max-width:0rem}.sm\\:max-w-none{max-width:none}.sm\\:max-w-xs{max-width:20rem}.sm\\:max-w-sm{max-width:24rem}.sm\\:max-w-md{max-width:28rem}.sm\\:max-w-lg{max-width:32rem}.sm\\:max-w-xl{max-width:36rem}.sm\\:max-w-2xl{max-width:42rem}.sm\\:max-w-3xl{max-width:48rem}.sm\\:max-w-4xl{max-width:56rem}.sm\\:max-w-5xl{max-width:64rem}.sm\\:max-w-6xl{max-width:72rem}.sm\\:max-w-7xl{max-width:80rem}.sm\\:max-w-full{max-width:100%}.sm\\:max-w-min{max-width:min-content}.sm\\:max-w-max{max-width:max-content}.sm\\:max-w-prose{max-width:65ch}.sm\\:max-w-screen-sm{max-width:640px}.sm\\:max-w-screen-md{max-width:768px}.sm\\:max-w-screen-lg{max-width:1024px}.sm\\:max-w-screen-xl{max-width:1280px}.sm\\:max-w-screen-2xl{max-width:1536px}.sm\\:flex-1{flex:1 1 0%}.sm\\:flex-auto{flex:1 1 auto}.sm\\:flex-initial{flex:0 1 auto}.sm\\:flex-none{flex:none}.sm\\:flex-shrink-0{flex-shrink:0}.sm\\:flex-shrink{flex-shrink:1}.sm\\:flex-grow-0{flex-grow:0}.sm\\:flex-grow{flex-grow:1}.sm\\:table-auto{table-layout:auto}.sm\\:table-fixed{table-layout:fixed}.sm\\:border-collapse{border-collapse:collapse}.sm\\:border-separate{border-collapse:separate}.sm\\:origin-center{transform-origin:center}.sm\\:origin-top{transform-origin:top}.sm\\:origin-top-right{transform-origin:top right}.sm\\:origin-right{transform-origin:right}.sm\\:origin-bottom-right{transform-origin:bottom right}.sm\\:origin-bottom{transform-origin:bottom}.sm\\:origin-bottom-left{transform-origin:bottom left}.sm\\:origin-left{transform-origin:left}.sm\\:origin-top-left{transform-origin:top left}.sm\\:transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.sm\\:transform-gpu{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translate3d(var(--tw-translate-x), var(--tw-translate-y), 0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.sm\\:transform-none{transform:none}.sm\\:translate-x-0{--tw-translate-x:0px}.sm\\:translate-x-1{--tw-translate-x:0.25rem}.sm\\:translate-x-2{--tw-translate-x:0.5rem}.sm\\:translate-x-3{--tw-translate-x:0.75rem}.sm\\:translate-x-4{--tw-translate-x:1rem}.sm\\:translate-x-5{--tw-translate-x:1.25rem}.sm\\:translate-x-6{--tw-translate-x:1.5rem}.sm\\:translate-x-7{--tw-translate-x:1.75rem}.sm\\:translate-x-8{--tw-translate-x:2rem}.sm\\:translate-x-9{--tw-translate-x:2.25rem}.sm\\:translate-x-10{--tw-translate-x:2.5rem}.sm\\:translate-x-11{--tw-translate-x:2.75rem}.sm\\:translate-x-12{--tw-translate-x:3rem}.sm\\:translate-x-14{--tw-translate-x:3.5rem}.sm\\:translate-x-16{--tw-translate-x:4rem}.sm\\:translate-x-20{--tw-translate-x:5rem}.sm\\:translate-x-24{--tw-translate-x:6rem}.sm\\:translate-x-28{--tw-translate-x:7rem}.sm\\:translate-x-32{--tw-translate-x:8rem}.sm\\:translate-x-36{--tw-translate-x:9rem}.sm\\:translate-x-40{--tw-translate-x:10rem}.sm\\:translate-x-44{--tw-translate-x:11rem}.sm\\:translate-x-48{--tw-translate-x:12rem}.sm\\:translate-x-52{--tw-translate-x:13rem}.sm\\:translate-x-56{--tw-translate-x:14rem}.sm\\:translate-x-60{--tw-translate-x:15rem}.sm\\:translate-x-64{--tw-translate-x:16rem}.sm\\:translate-x-72{--tw-translate-x:18rem}.sm\\:translate-x-80{--tw-translate-x:20rem}.sm\\:translate-x-96{--tw-translate-x:24rem}.sm\\:translate-x-px{--tw-translate-x:1px}.sm\\:translate-x-0\\.5{--tw-translate-x:0.125rem}.sm\\:translate-x-1\\.5{--tw-translate-x:0.375rem}.sm\\:translate-x-2\\.5{--tw-translate-x:0.625rem}.sm\\:translate-x-3\\.5{--tw-translate-x:0.875rem}.sm\\:-translate-x-0{--tw-translate-x:0px}.sm\\:-translate-x-1{--tw-translate-x:-0.25rem}.sm\\:-translate-x-2{--tw-translate-x:-0.5rem}.sm\\:-translate-x-3{--tw-translate-x:-0.75rem}.sm\\:-translate-x-4{--tw-translate-x:-1rem}.sm\\:-translate-x-5{--tw-translate-x:-1.25rem}.sm\\:-translate-x-6{--tw-translate-x:-1.5rem}.sm\\:-translate-x-7{--tw-translate-x:-1.75rem}.sm\\:-translate-x-8{--tw-translate-x:-2rem}.sm\\:-translate-x-9{--tw-translate-x:-2.25rem}.sm\\:-translate-x-10{--tw-translate-x:-2.5rem}.sm\\:-translate-x-11{--tw-translate-x:-2.75rem}.sm\\:-translate-x-12{--tw-translate-x:-3rem}.sm\\:-translate-x-14{--tw-translate-x:-3.5rem}.sm\\:-translate-x-16{--tw-translate-x:-4rem}.sm\\:-translate-x-20{--tw-translate-x:-5rem}.sm\\:-translate-x-24{--tw-translate-x:-6rem}.sm\\:-translate-x-28{--tw-translate-x:-7rem}.sm\\:-translate-x-32{--tw-translate-x:-8rem}.sm\\:-translate-x-36{--tw-translate-x:-9rem}.sm\\:-translate-x-40{--tw-translate-x:-10rem}.sm\\:-translate-x-44{--tw-translate-x:-11rem}.sm\\:-translate-x-48{--tw-translate-x:-12rem}.sm\\:-translate-x-52{--tw-translate-x:-13rem}.sm\\:-translate-x-56{--tw-translate-x:-14rem}.sm\\:-translate-x-60{--tw-translate-x:-15rem}.sm\\:-translate-x-64{--tw-translate-x:-16rem}.sm\\:-translate-x-72{--tw-translate-x:-18rem}.sm\\:-translate-x-80{--tw-translate-x:-20rem}.sm\\:-translate-x-96{--tw-translate-x:-24rem}.sm\\:-translate-x-px{--tw-translate-x:-1px}.sm\\:-translate-x-0\\.5{--tw-translate-x:-0.125rem}.sm\\:-translate-x-1\\.5{--tw-translate-x:-0.375rem}.sm\\:-translate-x-2\\.5{--tw-translate-x:-0.625rem}.sm\\:-translate-x-3\\.5{--tw-translate-x:-0.875rem}.sm\\:translate-x-1\\/2{--tw-translate-x:50%}.sm\\:translate-x-1\\/3{--tw-translate-x:33.333333%}.sm\\:translate-x-2\\/3{--tw-translate-x:66.666667%}.sm\\:translate-x-1\\/4{--tw-translate-x:25%}.sm\\:translate-x-2\\/4{--tw-translate-x:50%}.sm\\:translate-x-3\\/4{--tw-translate-x:75%}.sm\\:translate-x-full{--tw-translate-x:100%}.sm\\:-translate-x-1\\/2{--tw-translate-x:-50%}.sm\\:-translate-x-1\\/3{--tw-translate-x:-33.333333%}.sm\\:-translate-x-2\\/3{--tw-translate-x:-66.666667%}.sm\\:-translate-x-1\\/4{--tw-translate-x:-25%}.sm\\:-translate-x-2\\/4{--tw-translate-x:-50%}.sm\\:-translate-x-3\\/4{--tw-translate-x:-75%}.sm\\:-translate-x-full{--tw-translate-x:-100%}.sm\\:translate-y-0{--tw-translate-y:0px}.sm\\:translate-y-1{--tw-translate-y:0.25rem}.sm\\:translate-y-2{--tw-translate-y:0.5rem}.sm\\:translate-y-3{--tw-translate-y:0.75rem}.sm\\:translate-y-4{--tw-translate-y:1rem}.sm\\:translate-y-5{--tw-translate-y:1.25rem}.sm\\:translate-y-6{--tw-translate-y:1.5rem}.sm\\:translate-y-7{--tw-translate-y:1.75rem}.sm\\:translate-y-8{--tw-translate-y:2rem}.sm\\:translate-y-9{--tw-translate-y:2.25rem}.sm\\:translate-y-10{--tw-translate-y:2.5rem}.sm\\:translate-y-11{--tw-translate-y:2.75rem}.sm\\:translate-y-12{--tw-translate-y:3rem}.sm\\:translate-y-14{--tw-translate-y:3.5rem}.sm\\:translate-y-16{--tw-translate-y:4rem}.sm\\:translate-y-20{--tw-translate-y:5rem}.sm\\:translate-y-24{--tw-translate-y:6rem}.sm\\:translate-y-28{--tw-translate-y:7rem}.sm\\:translate-y-32{--tw-translate-y:8rem}.sm\\:translate-y-36{--tw-translate-y:9rem}.sm\\:translate-y-40{--tw-translate-y:10rem}.sm\\:translate-y-44{--tw-translate-y:11rem}.sm\\:translate-y-48{--tw-translate-y:12rem}.sm\\:translate-y-52{--tw-translate-y:13rem}.sm\\:translate-y-56{--tw-translate-y:14rem}.sm\\:translate-y-60{--tw-translate-y:15rem}.sm\\:translate-y-64{--tw-translate-y:16rem}.sm\\:translate-y-72{--tw-translate-y:18rem}.sm\\:translate-y-80{--tw-translate-y:20rem}.sm\\:translate-y-96{--tw-translate-y:24rem}.sm\\:translate-y-px{--tw-translate-y:1px}.sm\\:translate-y-0\\.5{--tw-translate-y:0.125rem}.sm\\:translate-y-1\\.5{--tw-translate-y:0.375rem}.sm\\:translate-y-2\\.5{--tw-translate-y:0.625rem}.sm\\:translate-y-3\\.5{--tw-translate-y:0.875rem}.sm\\:-translate-y-0{--tw-translate-y:0px}.sm\\:-translate-y-1{--tw-translate-y:-0.25rem}.sm\\:-translate-y-2{--tw-translate-y:-0.5rem}.sm\\:-translate-y-3{--tw-translate-y:-0.75rem}.sm\\:-translate-y-4{--tw-translate-y:-1rem}.sm\\:-translate-y-5{--tw-translate-y:-1.25rem}.sm\\:-translate-y-6{--tw-translate-y:-1.5rem}.sm\\:-translate-y-7{--tw-translate-y:-1.75rem}.sm\\:-translate-y-8{--tw-translate-y:-2rem}.sm\\:-translate-y-9{--tw-translate-y:-2.25rem}.sm\\:-translate-y-10{--tw-translate-y:-2.5rem}.sm\\:-translate-y-11{--tw-translate-y:-2.75rem}.sm\\:-translate-y-12{--tw-translate-y:-3rem}.sm\\:-translate-y-14{--tw-translate-y:-3.5rem}.sm\\:-translate-y-16{--tw-translate-y:-4rem}.sm\\:-translate-y-20{--tw-translate-y:-5rem}.sm\\:-translate-y-24{--tw-translate-y:-6rem}.sm\\:-translate-y-28{--tw-translate-y:-7rem}.sm\\:-translate-y-32{--tw-translate-y:-8rem}.sm\\:-translate-y-36{--tw-translate-y:-9rem}.sm\\:-translate-y-40{--tw-translate-y:-10rem}.sm\\:-translate-y-44{--tw-translate-y:-11rem}.sm\\:-translate-y-48{--tw-translate-y:-12rem}.sm\\:-translate-y-52{--tw-translate-y:-13rem}.sm\\:-translate-y-56{--tw-translate-y:-14rem}.sm\\:-translate-y-60{--tw-translate-y:-15rem}.sm\\:-translate-y-64{--tw-translate-y:-16rem}.sm\\:-translate-y-72{--tw-translate-y:-18rem}.sm\\:-translate-y-80{--tw-translate-y:-20rem}.sm\\:-translate-y-96{--tw-translate-y:-24rem}.sm\\:-translate-y-px{--tw-translate-y:-1px}.sm\\:-translate-y-0\\.5{--tw-translate-y:-0.125rem}.sm\\:-translate-y-1\\.5{--tw-translate-y:-0.375rem}.sm\\:-translate-y-2\\.5{--tw-translate-y:-0.625rem}.sm\\:-translate-y-3\\.5{--tw-translate-y:-0.875rem}.sm\\:translate-y-1\\/2{--tw-translate-y:50%}.sm\\:translate-y-1\\/3{--tw-translate-y:33.333333%}.sm\\:translate-y-2\\/3{--tw-translate-y:66.666667%}.sm\\:translate-y-1\\/4{--tw-translate-y:25%}.sm\\:translate-y-2\\/4{--tw-translate-y:50%}.sm\\:translate-y-3\\/4{--tw-translate-y:75%}.sm\\:translate-y-full{--tw-translate-y:100%}.sm\\:-translate-y-1\\/2{--tw-translate-y:-50%}.sm\\:-translate-y-1\\/3{--tw-translate-y:-33.333333%}.sm\\:-translate-y-2\\/3{--tw-translate-y:-66.666667%}.sm\\:-translate-y-1\\/4{--tw-translate-y:-25%}.sm\\:-translate-y-2\\/4{--tw-translate-y:-50%}.sm\\:-translate-y-3\\/4{--tw-translate-y:-75%}.sm\\:-translate-y-full{--tw-translate-y:-100%}.sm\\:hover\\:translate-x-0:hover{--tw-translate-x:0px}.sm\\:hover\\:translate-x-1:hover{--tw-translate-x:0.25rem}.sm\\:hover\\:translate-x-2:hover{--tw-translate-x:0.5rem}.sm\\:hover\\:translate-x-3:hover{--tw-translate-x:0.75rem}.sm\\:hover\\:translate-x-4:hover{--tw-translate-x:1rem}.sm\\:hover\\:translate-x-5:hover{--tw-translate-x:1.25rem}.sm\\:hover\\:translate-x-6:hover{--tw-translate-x:1.5rem}.sm\\:hover\\:translate-x-7:hover{--tw-translate-x:1.75rem}.sm\\:hover\\:translate-x-8:hover{--tw-translate-x:2rem}.sm\\:hover\\:translate-x-9:hover{--tw-translate-x:2.25rem}.sm\\:hover\\:translate-x-10:hover{--tw-translate-x:2.5rem}.sm\\:hover\\:translate-x-11:hover{--tw-translate-x:2.75rem}.sm\\:hover\\:translate-x-12:hover{--tw-translate-x:3rem}.sm\\:hover\\:translate-x-14:hover{--tw-translate-x:3.5rem}.sm\\:hover\\:translate-x-16:hover{--tw-translate-x:4rem}.sm\\:hover\\:translate-x-20:hover{--tw-translate-x:5rem}.sm\\:hover\\:translate-x-24:hover{--tw-translate-x:6rem}.sm\\:hover\\:translate-x-28:hover{--tw-translate-x:7rem}.sm\\:hover\\:translate-x-32:hover{--tw-translate-x:8rem}.sm\\:hover\\:translate-x-36:hover{--tw-translate-x:9rem}.sm\\:hover\\:translate-x-40:hover{--tw-translate-x:10rem}.sm\\:hover\\:translate-x-44:hover{--tw-translate-x:11rem}.sm\\:hover\\:translate-x-48:hover{--tw-translate-x:12rem}.sm\\:hover\\:translate-x-52:hover{--tw-translate-x:13rem}.sm\\:hover\\:translate-x-56:hover{--tw-translate-x:14rem}.sm\\:hover\\:translate-x-60:hover{--tw-translate-x:15rem}.sm\\:hover\\:translate-x-64:hover{--tw-translate-x:16rem}.sm\\:hover\\:translate-x-72:hover{--tw-translate-x:18rem}.sm\\:hover\\:translate-x-80:hover{--tw-translate-x:20rem}.sm\\:hover\\:translate-x-96:hover{--tw-translate-x:24rem}.sm\\:hover\\:translate-x-px:hover{--tw-translate-x:1px}.sm\\:hover\\:translate-x-0\\.5:hover{--tw-translate-x:0.125rem}.sm\\:hover\\:translate-x-1\\.5:hover{--tw-translate-x:0.375rem}.sm\\:hover\\:translate-x-2\\.5:hover{--tw-translate-x:0.625rem}.sm\\:hover\\:translate-x-3\\.5:hover{--tw-translate-x:0.875rem}.sm\\:hover\\:-translate-x-0:hover{--tw-translate-x:0px}.sm\\:hover\\:-translate-x-1:hover{--tw-translate-x:-0.25rem}.sm\\:hover\\:-translate-x-2:hover{--tw-translate-x:-0.5rem}.sm\\:hover\\:-translate-x-3:hover{--tw-translate-x:-0.75rem}.sm\\:hover\\:-translate-x-4:hover{--tw-translate-x:-1rem}.sm\\:hover\\:-translate-x-5:hover{--tw-translate-x:-1.25rem}.sm\\:hover\\:-translate-x-6:hover{--tw-translate-x:-1.5rem}.sm\\:hover\\:-translate-x-7:hover{--tw-translate-x:-1.75rem}.sm\\:hover\\:-translate-x-8:hover{--tw-translate-x:-2rem}.sm\\:hover\\:-translate-x-9:hover{--tw-translate-x:-2.25rem}.sm\\:hover\\:-translate-x-10:hover{--tw-translate-x:-2.5rem}.sm\\:hover\\:-translate-x-11:hover{--tw-translate-x:-2.75rem}.sm\\:hover\\:-translate-x-12:hover{--tw-translate-x:-3rem}.sm\\:hover\\:-translate-x-14:hover{--tw-translate-x:-3.5rem}.sm\\:hover\\:-translate-x-16:hover{--tw-translate-x:-4rem}.sm\\:hover\\:-translate-x-20:hover{--tw-translate-x:-5rem}.sm\\:hover\\:-translate-x-24:hover{--tw-translate-x:-6rem}.sm\\:hover\\:-translate-x-28:hover{--tw-translate-x:-7rem}.sm\\:hover\\:-translate-x-32:hover{--tw-translate-x:-8rem}.sm\\:hover\\:-translate-x-36:hover{--tw-translate-x:-9rem}.sm\\:hover\\:-translate-x-40:hover{--tw-translate-x:-10rem}.sm\\:hover\\:-translate-x-44:hover{--tw-translate-x:-11rem}.sm\\:hover\\:-translate-x-48:hover{--tw-translate-x:-12rem}.sm\\:hover\\:-translate-x-52:hover{--tw-translate-x:-13rem}.sm\\:hover\\:-translate-x-56:hover{--tw-translate-x:-14rem}.sm\\:hover\\:-translate-x-60:hover{--tw-translate-x:-15rem}.sm\\:hover\\:-translate-x-64:hover{--tw-translate-x:-16rem}.sm\\:hover\\:-translate-x-72:hover{--tw-translate-x:-18rem}.sm\\:hover\\:-translate-x-80:hover{--tw-translate-x:-20rem}.sm\\:hover\\:-translate-x-96:hover{--tw-translate-x:-24rem}.sm\\:hover\\:-translate-x-px:hover{--tw-translate-x:-1px}.sm\\:hover\\:-translate-x-0\\.5:hover{--tw-translate-x:-0.125rem}.sm\\:hover\\:-translate-x-1\\.5:hover{--tw-translate-x:-0.375rem}.sm\\:hover\\:-translate-x-2\\.5:hover{--tw-translate-x:-0.625rem}.sm\\:hover\\:-translate-x-3\\.5:hover{--tw-translate-x:-0.875rem}.sm\\:hover\\:translate-x-1\\/2:hover{--tw-translate-x:50%}.sm\\:hover\\:translate-x-1\\/3:hover{--tw-translate-x:33.333333%}.sm\\:hover\\:translate-x-2\\/3:hover{--tw-translate-x:66.666667%}.sm\\:hover\\:translate-x-1\\/4:hover{--tw-translate-x:25%}.sm\\:hover\\:translate-x-2\\/4:hover{--tw-translate-x:50%}.sm\\:hover\\:translate-x-3\\/4:hover{--tw-translate-x:75%}.sm\\:hover\\:translate-x-full:hover{--tw-translate-x:100%}.sm\\:hover\\:-translate-x-1\\/2:hover{--tw-translate-x:-50%}.sm\\:hover\\:-translate-x-1\\/3:hover{--tw-translate-x:-33.333333%}.sm\\:hover\\:-translate-x-2\\/3:hover{--tw-translate-x:-66.666667%}.sm\\:hover\\:-translate-x-1\\/4:hover{--tw-translate-x:-25%}.sm\\:hover\\:-translate-x-2\\/4:hover{--tw-translate-x:-50%}.sm\\:hover\\:-translate-x-3\\/4:hover{--tw-translate-x:-75%}.sm\\:hover\\:-translate-x-full:hover{--tw-translate-x:-100%}.sm\\:hover\\:translate-y-0:hover{--tw-translate-y:0px}.sm\\:hover\\:translate-y-1:hover{--tw-translate-y:0.25rem}.sm\\:hover\\:translate-y-2:hover{--tw-translate-y:0.5rem}.sm\\:hover\\:translate-y-3:hover{--tw-translate-y:0.75rem}.sm\\:hover\\:translate-y-4:hover{--tw-translate-y:1rem}.sm\\:hover\\:translate-y-5:hover{--tw-translate-y:1.25rem}.sm\\:hover\\:translate-y-6:hover{--tw-translate-y:1.5rem}.sm\\:hover\\:translate-y-7:hover{--tw-translate-y:1.75rem}.sm\\:hover\\:translate-y-8:hover{--tw-translate-y:2rem}.sm\\:hover\\:translate-y-9:hover{--tw-translate-y:2.25rem}.sm\\:hover\\:translate-y-10:hover{--tw-translate-y:2.5rem}.sm\\:hover\\:translate-y-11:hover{--tw-translate-y:2.75rem}.sm\\:hover\\:translate-y-12:hover{--tw-translate-y:3rem}.sm\\:hover\\:translate-y-14:hover{--tw-translate-y:3.5rem}.sm\\:hover\\:translate-y-16:hover{--tw-translate-y:4rem}.sm\\:hover\\:translate-y-20:hover{--tw-translate-y:5rem}.sm\\:hover\\:translate-y-24:hover{--tw-translate-y:6rem}.sm\\:hover\\:translate-y-28:hover{--tw-translate-y:7rem}.sm\\:hover\\:translate-y-32:hover{--tw-translate-y:8rem}.sm\\:hover\\:translate-y-36:hover{--tw-translate-y:9rem}.sm\\:hover\\:translate-y-40:hover{--tw-translate-y:10rem}.sm\\:hover\\:translate-y-44:hover{--tw-translate-y:11rem}.sm\\:hover\\:translate-y-48:hover{--tw-translate-y:12rem}.sm\\:hover\\:translate-y-52:hover{--tw-translate-y:13rem}.sm\\:hover\\:translate-y-56:hover{--tw-translate-y:14rem}.sm\\:hover\\:translate-y-60:hover{--tw-translate-y:15rem}.sm\\:hover\\:translate-y-64:hover{--tw-translate-y:16rem}.sm\\:hover\\:translate-y-72:hover{--tw-translate-y:18rem}.sm\\:hover\\:translate-y-80:hover{--tw-translate-y:20rem}.sm\\:hover\\:translate-y-96:hover{--tw-translate-y:24rem}.sm\\:hover\\:translate-y-px:hover{--tw-translate-y:1px}.sm\\:hover\\:translate-y-0\\.5:hover{--tw-translate-y:0.125rem}.sm\\:hover\\:translate-y-1\\.5:hover{--tw-translate-y:0.375rem}.sm\\:hover\\:translate-y-2\\.5:hover{--tw-translate-y:0.625rem}.sm\\:hover\\:translate-y-3\\.5:hover{--tw-translate-y:0.875rem}.sm\\:hover\\:-translate-y-0:hover{--tw-translate-y:0px}.sm\\:hover\\:-translate-y-1:hover{--tw-translate-y:-0.25rem}.sm\\:hover\\:-translate-y-2:hover{--tw-translate-y:-0.5rem}.sm\\:hover\\:-translate-y-3:hover{--tw-translate-y:-0.75rem}.sm\\:hover\\:-translate-y-4:hover{--tw-translate-y:-1rem}.sm\\:hover\\:-translate-y-5:hover{--tw-translate-y:-1.25rem}.sm\\:hover\\:-translate-y-6:hover{--tw-translate-y:-1.5rem}.sm\\:hover\\:-translate-y-7:hover{--tw-translate-y:-1.75rem}.sm\\:hover\\:-translate-y-8:hover{--tw-translate-y:-2rem}.sm\\:hover\\:-translate-y-9:hover{--tw-translate-y:-2.25rem}.sm\\:hover\\:-translate-y-10:hover{--tw-translate-y:-2.5rem}.sm\\:hover\\:-translate-y-11:hover{--tw-translate-y:-2.75rem}.sm\\:hover\\:-translate-y-12:hover{--tw-translate-y:-3rem}.sm\\:hover\\:-translate-y-14:hover{--tw-translate-y:-3.5rem}.sm\\:hover\\:-translate-y-16:hover{--tw-translate-y:-4rem}.sm\\:hover\\:-translate-y-20:hover{--tw-translate-y:-5rem}.sm\\:hover\\:-translate-y-24:hover{--tw-translate-y:-6rem}.sm\\:hover\\:-translate-y-28:hover{--tw-translate-y:-7rem}.sm\\:hover\\:-translate-y-32:hover{--tw-translate-y:-8rem}.sm\\:hover\\:-translate-y-36:hover{--tw-translate-y:-9rem}.sm\\:hover\\:-translate-y-40:hover{--tw-translate-y:-10rem}.sm\\:hover\\:-translate-y-44:hover{--tw-translate-y:-11rem}.sm\\:hover\\:-translate-y-48:hover{--tw-translate-y:-12rem}.sm\\:hover\\:-translate-y-52:hover{--tw-translate-y:-13rem}.sm\\:hover\\:-translate-y-56:hover{--tw-translate-y:-14rem}.sm\\:hover\\:-translate-y-60:hover{--tw-translate-y:-15rem}.sm\\:hover\\:-translate-y-64:hover{--tw-translate-y:-16rem}.sm\\:hover\\:-translate-y-72:hover{--tw-translate-y:-18rem}.sm\\:hover\\:-translate-y-80:hover{--tw-translate-y:-20rem}.sm\\:hover\\:-translate-y-96:hover{--tw-translate-y:-24rem}.sm\\:hover\\:-translate-y-px:hover{--tw-translate-y:-1px}.sm\\:hover\\:-translate-y-0\\.5:hover{--tw-translate-y:-0.125rem}.sm\\:hover\\:-translate-y-1\\.5:hover{--tw-translate-y:-0.375rem}.sm\\:hover\\:-translate-y-2\\.5:hover{--tw-translate-y:-0.625rem}.sm\\:hover\\:-translate-y-3\\.5:hover{--tw-translate-y:-0.875rem}.sm\\:hover\\:translate-y-1\\/2:hover{--tw-translate-y:50%}.sm\\:hover\\:translate-y-1\\/3:hover{--tw-translate-y:33.333333%}.sm\\:hover\\:translate-y-2\\/3:hover{--tw-translate-y:66.666667%}.sm\\:hover\\:translate-y-1\\/4:hover{--tw-translate-y:25%}.sm\\:hover\\:translate-y-2\\/4:hover{--tw-translate-y:50%}.sm\\:hover\\:translate-y-3\\/4:hover{--tw-translate-y:75%}.sm\\:hover\\:translate-y-full:hover{--tw-translate-y:100%}.sm\\:hover\\:-translate-y-1\\/2:hover{--tw-translate-y:-50%}.sm\\:hover\\:-translate-y-1\\/3:hover{--tw-translate-y:-33.333333%}.sm\\:hover\\:-translate-y-2\\/3:hover{--tw-translate-y:-66.666667%}.sm\\:hover\\:-translate-y-1\\/4:hover{--tw-translate-y:-25%}.sm\\:hover\\:-translate-y-2\\/4:hover{--tw-translate-y:-50%}.sm\\:hover\\:-translate-y-3\\/4:hover{--tw-translate-y:-75%}.sm\\:hover\\:-translate-y-full:hover{--tw-translate-y:-100%}.sm\\:focus\\:translate-x-0:focus{--tw-translate-x:0px}.sm\\:focus\\:translate-x-1:focus{--tw-translate-x:0.25rem}.sm\\:focus\\:translate-x-2:focus{--tw-translate-x:0.5rem}.sm\\:focus\\:translate-x-3:focus{--tw-translate-x:0.75rem}.sm\\:focus\\:translate-x-4:focus{--tw-translate-x:1rem}.sm\\:focus\\:translate-x-5:focus{--tw-translate-x:1.25rem}.sm\\:focus\\:translate-x-6:focus{--tw-translate-x:1.5rem}.sm\\:focus\\:translate-x-7:focus{--tw-translate-x:1.75rem}.sm\\:focus\\:translate-x-8:focus{--tw-translate-x:2rem}.sm\\:focus\\:translate-x-9:focus{--tw-translate-x:2.25rem}.sm\\:focus\\:translate-x-10:focus{--tw-translate-x:2.5rem}.sm\\:focus\\:translate-x-11:focus{--tw-translate-x:2.75rem}.sm\\:focus\\:translate-x-12:focus{--tw-translate-x:3rem}.sm\\:focus\\:translate-x-14:focus{--tw-translate-x:3.5rem}.sm\\:focus\\:translate-x-16:focus{--tw-translate-x:4rem}.sm\\:focus\\:translate-x-20:focus{--tw-translate-x:5rem}.sm\\:focus\\:translate-x-24:focus{--tw-translate-x:6rem}.sm\\:focus\\:translate-x-28:focus{--tw-translate-x:7rem}.sm\\:focus\\:translate-x-32:focus{--tw-translate-x:8rem}.sm\\:focus\\:translate-x-36:focus{--tw-translate-x:9rem}.sm\\:focus\\:translate-x-40:focus{--tw-translate-x:10rem}.sm\\:focus\\:translate-x-44:focus{--tw-translate-x:11rem}.sm\\:focus\\:translate-x-48:focus{--tw-translate-x:12rem}.sm\\:focus\\:translate-x-52:focus{--tw-translate-x:13rem}.sm\\:focus\\:translate-x-56:focus{--tw-translate-x:14rem}.sm\\:focus\\:translate-x-60:focus{--tw-translate-x:15rem}.sm\\:focus\\:translate-x-64:focus{--tw-translate-x:16rem}.sm\\:focus\\:translate-x-72:focus{--tw-translate-x:18rem}.sm\\:focus\\:translate-x-80:focus{--tw-translate-x:20rem}.sm\\:focus\\:translate-x-96:focus{--tw-translate-x:24rem}.sm\\:focus\\:translate-x-px:focus{--tw-translate-x:1px}.sm\\:focus\\:translate-x-0\\.5:focus{--tw-translate-x:0.125rem}.sm\\:focus\\:translate-x-1\\.5:focus{--tw-translate-x:0.375rem}.sm\\:focus\\:translate-x-2\\.5:focus{--tw-translate-x:0.625rem}.sm\\:focus\\:translate-x-3\\.5:focus{--tw-translate-x:0.875rem}.sm\\:focus\\:-translate-x-0:focus{--tw-translate-x:0px}.sm\\:focus\\:-translate-x-1:focus{--tw-translate-x:-0.25rem}.sm\\:focus\\:-translate-x-2:focus{--tw-translate-x:-0.5rem}.sm\\:focus\\:-translate-x-3:focus{--tw-translate-x:-0.75rem}.sm\\:focus\\:-translate-x-4:focus{--tw-translate-x:-1rem}.sm\\:focus\\:-translate-x-5:focus{--tw-translate-x:-1.25rem}.sm\\:focus\\:-translate-x-6:focus{--tw-translate-x:-1.5rem}.sm\\:focus\\:-translate-x-7:focus{--tw-translate-x:-1.75rem}.sm\\:focus\\:-translate-x-8:focus{--tw-translate-x:-2rem}.sm\\:focus\\:-translate-x-9:focus{--tw-translate-x:-2.25rem}.sm\\:focus\\:-translate-x-10:focus{--tw-translate-x:-2.5rem}.sm\\:focus\\:-translate-x-11:focus{--tw-translate-x:-2.75rem}.sm\\:focus\\:-translate-x-12:focus{--tw-translate-x:-3rem}.sm\\:focus\\:-translate-x-14:focus{--tw-translate-x:-3.5rem}.sm\\:focus\\:-translate-x-16:focus{--tw-translate-x:-4rem}.sm\\:focus\\:-translate-x-20:focus{--tw-translate-x:-5rem}.sm\\:focus\\:-translate-x-24:focus{--tw-translate-x:-6rem}.sm\\:focus\\:-translate-x-28:focus{--tw-translate-x:-7rem}.sm\\:focus\\:-translate-x-32:focus{--tw-translate-x:-8rem}.sm\\:focus\\:-translate-x-36:focus{--tw-translate-x:-9rem}.sm\\:focus\\:-translate-x-40:focus{--tw-translate-x:-10rem}.sm\\:focus\\:-translate-x-44:focus{--tw-translate-x:-11rem}.sm\\:focus\\:-translate-x-48:focus{--tw-translate-x:-12rem}.sm\\:focus\\:-translate-x-52:focus{--tw-translate-x:-13rem}.sm\\:focus\\:-translate-x-56:focus{--tw-translate-x:-14rem}.sm\\:focus\\:-translate-x-60:focus{--tw-translate-x:-15rem}.sm\\:focus\\:-translate-x-64:focus{--tw-translate-x:-16rem}.sm\\:focus\\:-translate-x-72:focus{--tw-translate-x:-18rem}.sm\\:focus\\:-translate-x-80:focus{--tw-translate-x:-20rem}.sm\\:focus\\:-translate-x-96:focus{--tw-translate-x:-24rem}.sm\\:focus\\:-translate-x-px:focus{--tw-translate-x:-1px}.sm\\:focus\\:-translate-x-0\\.5:focus{--tw-translate-x:-0.125rem}.sm\\:focus\\:-translate-x-1\\.5:focus{--tw-translate-x:-0.375rem}.sm\\:focus\\:-translate-x-2\\.5:focus{--tw-translate-x:-0.625rem}.sm\\:focus\\:-translate-x-3\\.5:focus{--tw-translate-x:-0.875rem}.sm\\:focus\\:translate-x-1\\/2:focus{--tw-translate-x:50%}.sm\\:focus\\:translate-x-1\\/3:focus{--tw-translate-x:33.333333%}.sm\\:focus\\:translate-x-2\\/3:focus{--tw-translate-x:66.666667%}.sm\\:focus\\:translate-x-1\\/4:focus{--tw-translate-x:25%}.sm\\:focus\\:translate-x-2\\/4:focus{--tw-translate-x:50%}.sm\\:focus\\:translate-x-3\\/4:focus{--tw-translate-x:75%}.sm\\:focus\\:translate-x-full:focus{--tw-translate-x:100%}.sm\\:focus\\:-translate-x-1\\/2:focus{--tw-translate-x:-50%}.sm\\:focus\\:-translate-x-1\\/3:focus{--tw-translate-x:-33.333333%}.sm\\:focus\\:-translate-x-2\\/3:focus{--tw-translate-x:-66.666667%}.sm\\:focus\\:-translate-x-1\\/4:focus{--tw-translate-x:-25%}.sm\\:focus\\:-translate-x-2\\/4:focus{--tw-translate-x:-50%}.sm\\:focus\\:-translate-x-3\\/4:focus{--tw-translate-x:-75%}.sm\\:focus\\:-translate-x-full:focus{--tw-translate-x:-100%}.sm\\:focus\\:translate-y-0:focus{--tw-translate-y:0px}.sm\\:focus\\:translate-y-1:focus{--tw-translate-y:0.25rem}.sm\\:focus\\:translate-y-2:focus{--tw-translate-y:0.5rem}.sm\\:focus\\:translate-y-3:focus{--tw-translate-y:0.75rem}.sm\\:focus\\:translate-y-4:focus{--tw-translate-y:1rem}.sm\\:focus\\:translate-y-5:focus{--tw-translate-y:1.25rem}.sm\\:focus\\:translate-y-6:focus{--tw-translate-y:1.5rem}.sm\\:focus\\:translate-y-7:focus{--tw-translate-y:1.75rem}.sm\\:focus\\:translate-y-8:focus{--tw-translate-y:2rem}.sm\\:focus\\:translate-y-9:focus{--tw-translate-y:2.25rem}.sm\\:focus\\:translate-y-10:focus{--tw-translate-y:2.5rem}.sm\\:focus\\:translate-y-11:focus{--tw-translate-y:2.75rem}.sm\\:focus\\:translate-y-12:focus{--tw-translate-y:3rem}.sm\\:focus\\:translate-y-14:focus{--tw-translate-y:3.5rem}.sm\\:focus\\:translate-y-16:focus{--tw-translate-y:4rem}.sm\\:focus\\:translate-y-20:focus{--tw-translate-y:5rem}.sm\\:focus\\:translate-y-24:focus{--tw-translate-y:6rem}.sm\\:focus\\:translate-y-28:focus{--tw-translate-y:7rem}.sm\\:focus\\:translate-y-32:focus{--tw-translate-y:8rem}.sm\\:focus\\:translate-y-36:focus{--tw-translate-y:9rem}.sm\\:focus\\:translate-y-40:focus{--tw-translate-y:10rem}.sm\\:focus\\:translate-y-44:focus{--tw-translate-y:11rem}.sm\\:focus\\:translate-y-48:focus{--tw-translate-y:12rem}.sm\\:focus\\:translate-y-52:focus{--tw-translate-y:13rem}.sm\\:focus\\:translate-y-56:focus{--tw-translate-y:14rem}.sm\\:focus\\:translate-y-60:focus{--tw-translate-y:15rem}.sm\\:focus\\:translate-y-64:focus{--tw-translate-y:16rem}.sm\\:focus\\:translate-y-72:focus{--tw-translate-y:18rem}.sm\\:focus\\:translate-y-80:focus{--tw-translate-y:20rem}.sm\\:focus\\:translate-y-96:focus{--tw-translate-y:24rem}.sm\\:focus\\:translate-y-px:focus{--tw-translate-y:1px}.sm\\:focus\\:translate-y-0\\.5:focus{--tw-translate-y:0.125rem}.sm\\:focus\\:translate-y-1\\.5:focus{--tw-translate-y:0.375rem}.sm\\:focus\\:translate-y-2\\.5:focus{--tw-translate-y:0.625rem}.sm\\:focus\\:translate-y-3\\.5:focus{--tw-translate-y:0.875rem}.sm\\:focus\\:-translate-y-0:focus{--tw-translate-y:0px}.sm\\:focus\\:-translate-y-1:focus{--tw-translate-y:-0.25rem}.sm\\:focus\\:-translate-y-2:focus{--tw-translate-y:-0.5rem}.sm\\:focus\\:-translate-y-3:focus{--tw-translate-y:-0.75rem}.sm\\:focus\\:-translate-y-4:focus{--tw-translate-y:-1rem}.sm\\:focus\\:-translate-y-5:focus{--tw-translate-y:-1.25rem}.sm\\:focus\\:-translate-y-6:focus{--tw-translate-y:-1.5rem}.sm\\:focus\\:-translate-y-7:focus{--tw-translate-y:-1.75rem}.sm\\:focus\\:-translate-y-8:focus{--tw-translate-y:-2rem}.sm\\:focus\\:-translate-y-9:focus{--tw-translate-y:-2.25rem}.sm\\:focus\\:-translate-y-10:focus{--tw-translate-y:-2.5rem}.sm\\:focus\\:-translate-y-11:focus{--tw-translate-y:-2.75rem}.sm\\:focus\\:-translate-y-12:focus{--tw-translate-y:-3rem}.sm\\:focus\\:-translate-y-14:focus{--tw-translate-y:-3.5rem}.sm\\:focus\\:-translate-y-16:focus{--tw-translate-y:-4rem}.sm\\:focus\\:-translate-y-20:focus{--tw-translate-y:-5rem}.sm\\:focus\\:-translate-y-24:focus{--tw-translate-y:-6rem}.sm\\:focus\\:-translate-y-28:focus{--tw-translate-y:-7rem}.sm\\:focus\\:-translate-y-32:focus{--tw-translate-y:-8rem}.sm\\:focus\\:-translate-y-36:focus{--tw-translate-y:-9rem}.sm\\:focus\\:-translate-y-40:focus{--tw-translate-y:-10rem}.sm\\:focus\\:-translate-y-44:focus{--tw-translate-y:-11rem}.sm\\:focus\\:-translate-y-48:focus{--tw-translate-y:-12rem}.sm\\:focus\\:-translate-y-52:focus{--tw-translate-y:-13rem}.sm\\:focus\\:-translate-y-56:focus{--tw-translate-y:-14rem}.sm\\:focus\\:-translate-y-60:focus{--tw-translate-y:-15rem}.sm\\:focus\\:-translate-y-64:focus{--tw-translate-y:-16rem}.sm\\:focus\\:-translate-y-72:focus{--tw-translate-y:-18rem}.sm\\:focus\\:-translate-y-80:focus{--tw-translate-y:-20rem}.sm\\:focus\\:-translate-y-96:focus{--tw-translate-y:-24rem}.sm\\:focus\\:-translate-y-px:focus{--tw-translate-y:-1px}.sm\\:focus\\:-translate-y-0\\.5:focus{--tw-translate-y:-0.125rem}.sm\\:focus\\:-translate-y-1\\.5:focus{--tw-translate-y:-0.375rem}.sm\\:focus\\:-translate-y-2\\.5:focus{--tw-translate-y:-0.625rem}.sm\\:focus\\:-translate-y-3\\.5:focus{--tw-translate-y:-0.875rem}.sm\\:focus\\:translate-y-1\\/2:focus{--tw-translate-y:50%}.sm\\:focus\\:translate-y-1\\/3:focus{--tw-translate-y:33.333333%}.sm\\:focus\\:translate-y-2\\/3:focus{--tw-translate-y:66.666667%}.sm\\:focus\\:translate-y-1\\/4:focus{--tw-translate-y:25%}.sm\\:focus\\:translate-y-2\\/4:focus{--tw-translate-y:50%}.sm\\:focus\\:translate-y-3\\/4:focus{--tw-translate-y:75%}.sm\\:focus\\:translate-y-full:focus{--tw-translate-y:100%}.sm\\:focus\\:-translate-y-1\\/2:focus{--tw-translate-y:-50%}.sm\\:focus\\:-translate-y-1\\/3:focus{--tw-translate-y:-33.333333%}.sm\\:focus\\:-translate-y-2\\/3:focus{--tw-translate-y:-66.666667%}.sm\\:focus\\:-translate-y-1\\/4:focus{--tw-translate-y:-25%}.sm\\:focus\\:-translate-y-2\\/4:focus{--tw-translate-y:-50%}.sm\\:focus\\:-translate-y-3\\/4:focus{--tw-translate-y:-75%}.sm\\:focus\\:-translate-y-full:focus{--tw-translate-y:-100%}.sm\\:rotate-0{--tw-rotate:0deg}.sm\\:rotate-1{--tw-rotate:1deg}.sm\\:rotate-2{--tw-rotate:2deg}.sm\\:rotate-3{--tw-rotate:3deg}.sm\\:rotate-6{--tw-rotate:6deg}.sm\\:rotate-12{--tw-rotate:12deg}.sm\\:rotate-45{--tw-rotate:45deg}.sm\\:rotate-90{--tw-rotate:90deg}.sm\\:rotate-180{--tw-rotate:180deg}.sm\\:-rotate-180{--tw-rotate:-180deg}.sm\\:-rotate-90{--tw-rotate:-90deg}.sm\\:-rotate-45{--tw-rotate:-45deg}.sm\\:-rotate-12{--tw-rotate:-12deg}.sm\\:-rotate-6{--tw-rotate:-6deg}.sm\\:-rotate-3{--tw-rotate:-3deg}.sm\\:-rotate-2{--tw-rotate:-2deg}.sm\\:-rotate-1{--tw-rotate:-1deg}.sm\\:hover\\:rotate-0:hover{--tw-rotate:0deg}.sm\\:hover\\:rotate-1:hover{--tw-rotate:1deg}.sm\\:hover\\:rotate-2:hover{--tw-rotate:2deg}.sm\\:hover\\:rotate-3:hover{--tw-rotate:3deg}.sm\\:hover\\:rotate-6:hover{--tw-rotate:6deg}.sm\\:hover\\:rotate-12:hover{--tw-rotate:12deg}.sm\\:hover\\:rotate-45:hover{--tw-rotate:45deg}.sm\\:hover\\:rotate-90:hover{--tw-rotate:90deg}.sm\\:hover\\:rotate-180:hover{--tw-rotate:180deg}.sm\\:hover\\:-rotate-180:hover{--tw-rotate:-180deg}.sm\\:hover\\:-rotate-90:hover{--tw-rotate:-90deg}.sm\\:hover\\:-rotate-45:hover{--tw-rotate:-45deg}.sm\\:hover\\:-rotate-12:hover{--tw-rotate:-12deg}.sm\\:hover\\:-rotate-6:hover{--tw-rotate:-6deg}.sm\\:hover\\:-rotate-3:hover{--tw-rotate:-3deg}.sm\\:hover\\:-rotate-2:hover{--tw-rotate:-2deg}.sm\\:hover\\:-rotate-1:hover{--tw-rotate:-1deg}.sm\\:focus\\:rotate-0:focus{--tw-rotate:0deg}.sm\\:focus\\:rotate-1:focus{--tw-rotate:1deg}.sm\\:focus\\:rotate-2:focus{--tw-rotate:2deg}.sm\\:focus\\:rotate-3:focus{--tw-rotate:3deg}.sm\\:focus\\:rotate-6:focus{--tw-rotate:6deg}.sm\\:focus\\:rotate-12:focus{--tw-rotate:12deg}.sm\\:focus\\:rotate-45:focus{--tw-rotate:45deg}.sm\\:focus\\:rotate-90:focus{--tw-rotate:90deg}.sm\\:focus\\:rotate-180:focus{--tw-rotate:180deg}.sm\\:focus\\:-rotate-180:focus{--tw-rotate:-180deg}.sm\\:focus\\:-rotate-90:focus{--tw-rotate:-90deg}.sm\\:focus\\:-rotate-45:focus{--tw-rotate:-45deg}.sm\\:focus\\:-rotate-12:focus{--tw-rotate:-12deg}.sm\\:focus\\:-rotate-6:focus{--tw-rotate:-6deg}.sm\\:focus\\:-rotate-3:focus{--tw-rotate:-3deg}.sm\\:focus\\:-rotate-2:focus{--tw-rotate:-2deg}.sm\\:focus\\:-rotate-1:focus{--tw-rotate:-1deg}.sm\\:skew-x-0{--tw-skew-x:0deg}.sm\\:skew-x-1{--tw-skew-x:1deg}.sm\\:skew-x-2{--tw-skew-x:2deg}.sm\\:skew-x-3{--tw-skew-x:3deg}.sm\\:skew-x-6{--tw-skew-x:6deg}.sm\\:skew-x-12{--tw-skew-x:12deg}.sm\\:-skew-x-12{--tw-skew-x:-12deg}.sm\\:-skew-x-6{--tw-skew-x:-6deg}.sm\\:-skew-x-3{--tw-skew-x:-3deg}.sm\\:-skew-x-2{--tw-skew-x:-2deg}.sm\\:-skew-x-1{--tw-skew-x:-1deg}.sm\\:skew-y-0{--tw-skew-y:0deg}.sm\\:skew-y-1{--tw-skew-y:1deg}.sm\\:skew-y-2{--tw-skew-y:2deg}.sm\\:skew-y-3{--tw-skew-y:3deg}.sm\\:skew-y-6{--tw-skew-y:6deg}.sm\\:skew-y-12{--tw-skew-y:12deg}.sm\\:-skew-y-12{--tw-skew-y:-12deg}.sm\\:-skew-y-6{--tw-skew-y:-6deg}.sm\\:-skew-y-3{--tw-skew-y:-3deg}.sm\\:-skew-y-2{--tw-skew-y:-2deg}.sm\\:-skew-y-1{--tw-skew-y:-1deg}.sm\\:hover\\:skew-x-0:hover{--tw-skew-x:0deg}.sm\\:hover\\:skew-x-1:hover{--tw-skew-x:1deg}.sm\\:hover\\:skew-x-2:hover{--tw-skew-x:2deg}.sm\\:hover\\:skew-x-3:hover{--tw-skew-x:3deg}.sm\\:hover\\:skew-x-6:hover{--tw-skew-x:6deg}.sm\\:hover\\:skew-x-12:hover{--tw-skew-x:12deg}.sm\\:hover\\:-skew-x-12:hover{--tw-skew-x:-12deg}.sm\\:hover\\:-skew-x-6:hover{--tw-skew-x:-6deg}.sm\\:hover\\:-skew-x-3:hover{--tw-skew-x:-3deg}.sm\\:hover\\:-skew-x-2:hover{--tw-skew-x:-2deg}.sm\\:hover\\:-skew-x-1:hover{--tw-skew-x:-1deg}.sm\\:hover\\:skew-y-0:hover{--tw-skew-y:0deg}.sm\\:hover\\:skew-y-1:hover{--tw-skew-y:1deg}.sm\\:hover\\:skew-y-2:hover{--tw-skew-y:2deg}.sm\\:hover\\:skew-y-3:hover{--tw-skew-y:3deg}.sm\\:hover\\:skew-y-6:hover{--tw-skew-y:6deg}.sm\\:hover\\:skew-y-12:hover{--tw-skew-y:12deg}.sm\\:hover\\:-skew-y-12:hover{--tw-skew-y:-12deg}.sm\\:hover\\:-skew-y-6:hover{--tw-skew-y:-6deg}.sm\\:hover\\:-skew-y-3:hover{--tw-skew-y:-3deg}.sm\\:hover\\:-skew-y-2:hover{--tw-skew-y:-2deg}.sm\\:hover\\:-skew-y-1:hover{--tw-skew-y:-1deg}.sm\\:focus\\:skew-x-0:focus{--tw-skew-x:0deg}.sm\\:focus\\:skew-x-1:focus{--tw-skew-x:1deg}.sm\\:focus\\:skew-x-2:focus{--tw-skew-x:2deg}.sm\\:focus\\:skew-x-3:focus{--tw-skew-x:3deg}.sm\\:focus\\:skew-x-6:focus{--tw-skew-x:6deg}.sm\\:focus\\:skew-x-12:focus{--tw-skew-x:12deg}.sm\\:focus\\:-skew-x-12:focus{--tw-skew-x:-12deg}.sm\\:focus\\:-skew-x-6:focus{--tw-skew-x:-6deg}.sm\\:focus\\:-skew-x-3:focus{--tw-skew-x:-3deg}.sm\\:focus\\:-skew-x-2:focus{--tw-skew-x:-2deg}.sm\\:focus\\:-skew-x-1:focus{--tw-skew-x:-1deg}.sm\\:focus\\:skew-y-0:focus{--tw-skew-y:0deg}.sm\\:focus\\:skew-y-1:focus{--tw-skew-y:1deg}.sm\\:focus\\:skew-y-2:focus{--tw-skew-y:2deg}.sm\\:focus\\:skew-y-3:focus{--tw-skew-y:3deg}.sm\\:focus\\:skew-y-6:focus{--tw-skew-y:6deg}.sm\\:focus\\:skew-y-12:focus{--tw-skew-y:12deg}.sm\\:focus\\:-skew-y-12:focus{--tw-skew-y:-12deg}.sm\\:focus\\:-skew-y-6:focus{--tw-skew-y:-6deg}.sm\\:focus\\:-skew-y-3:focus{--tw-skew-y:-3deg}.sm\\:focus\\:-skew-y-2:focus{--tw-skew-y:-2deg}.sm\\:focus\\:-skew-y-1:focus{--tw-skew-y:-1deg}.sm\\:scale-0{--tw-scale-x:0;--tw-scale-y:0}.sm\\:scale-50{--tw-scale-x:.5;--tw-scale-y:.5}.sm\\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75}.sm\\:scale-90{--tw-scale-x:.9;--tw-scale-y:.9}.sm\\:scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.sm\\:scale-100{--tw-scale-x:1;--tw-scale-y:1}.sm\\:scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05}.sm\\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1}.sm\\:scale-125{--tw-scale-x:1.25;--tw-scale-y:1.25}.sm\\:scale-150{--tw-scale-x:1.5;--tw-scale-y:1.5}.sm\\:hover\\:scale-0:hover{--tw-scale-x:0;--tw-scale-y:0}.sm\\:hover\\:scale-50:hover{--tw-scale-x:.5;--tw-scale-y:.5}.sm\\:hover\\:scale-75:hover{--tw-scale-x:.75;--tw-scale-y:.75}.sm\\:hover\\:scale-90:hover{--tw-scale-x:.9;--tw-scale-y:.9}.sm\\:hover\\:scale-95:hover{--tw-scale-x:.95;--tw-scale-y:.95}.sm\\:hover\\:scale-100:hover{--tw-scale-x:1;--tw-scale-y:1}.sm\\:hover\\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.sm\\:hover\\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.sm\\:hover\\:scale-125:hover{--tw-scale-x:1.25;--tw-scale-y:1.25}.sm\\:hover\\:scale-150:hover{--tw-scale-x:1.5;--tw-scale-y:1.5}.sm\\:focus\\:scale-0:focus{--tw-scale-x:0;--tw-scale-y:0}.sm\\:focus\\:scale-50:focus{--tw-scale-x:.5;--tw-scale-y:.5}.sm\\:focus\\:scale-75:focus{--tw-scale-x:.75;--tw-scale-y:.75}.sm\\:focus\\:scale-90:focus{--tw-scale-x:.9;--tw-scale-y:.9}.sm\\:focus\\:scale-95:focus{--tw-scale-x:.95;--tw-scale-y:.95}.sm\\:focus\\:scale-100:focus{--tw-scale-x:1;--tw-scale-y:1}.sm\\:focus\\:scale-105:focus{--tw-scale-x:1.05;--tw-scale-y:1.05}.sm\\:focus\\:scale-110:focus{--tw-scale-x:1.1;--tw-scale-y:1.1}.sm\\:focus\\:scale-125:focus{--tw-scale-x:1.25;--tw-scale-y:1.25}.sm\\:focus\\:scale-150:focus{--tw-scale-x:1.5;--tw-scale-y:1.5}.sm\\:scale-x-0{--tw-scale-x:0}.sm\\:scale-x-50{--tw-scale-x:.5}.sm\\:scale-x-75{--tw-scale-x:.75}.sm\\:scale-x-90{--tw-scale-x:.9}.sm\\:scale-x-95{--tw-scale-x:.95}.sm\\:scale-x-100{--tw-scale-x:1}.sm\\:scale-x-105{--tw-scale-x:1.05}.sm\\:scale-x-110{--tw-scale-x:1.1}.sm\\:scale-x-125{--tw-scale-x:1.25}.sm\\:scale-x-150{--tw-scale-x:1.5}.sm\\:scale-y-0{--tw-scale-y:0}.sm\\:scale-y-50{--tw-scale-y:.5}.sm\\:scale-y-75{--tw-scale-y:.75}.sm\\:scale-y-90{--tw-scale-y:.9}.sm\\:scale-y-95{--tw-scale-y:.95}.sm\\:scale-y-100{--tw-scale-y:1}.sm\\:scale-y-105{--tw-scale-y:1.05}.sm\\:scale-y-110{--tw-scale-y:1.1}.sm\\:scale-y-125{--tw-scale-y:1.25}.sm\\:scale-y-150{--tw-scale-y:1.5}.sm\\:hover\\:scale-x-0:hover{--tw-scale-x:0}.sm\\:hover\\:scale-x-50:hover{--tw-scale-x:.5}.sm\\:hover\\:scale-x-75:hover{--tw-scale-x:.75}.sm\\:hover\\:scale-x-90:hover{--tw-scale-x:.9}.sm\\:hover\\:scale-x-95:hover{--tw-scale-x:.95}.sm\\:hover\\:scale-x-100:hover{--tw-scale-x:1}.sm\\:hover\\:scale-x-105:hover{--tw-scale-x:1.05}.sm\\:hover\\:scale-x-110:hover{--tw-scale-x:1.1}.sm\\:hover\\:scale-x-125:hover{--tw-scale-x:1.25}.sm\\:hover\\:scale-x-150:hover{--tw-scale-x:1.5}.sm\\:hover\\:scale-y-0:hover{--tw-scale-y:0}.sm\\:hover\\:scale-y-50:hover{--tw-scale-y:.5}.sm\\:hover\\:scale-y-75:hover{--tw-scale-y:.75}.sm\\:hover\\:scale-y-90:hover{--tw-scale-y:.9}.sm\\:hover\\:scale-y-95:hover{--tw-scale-y:.95}.sm\\:hover\\:scale-y-100:hover{--tw-scale-y:1}.sm\\:hover\\:scale-y-105:hover{--tw-scale-y:1.05}.sm\\:hover\\:scale-y-110:hover{--tw-scale-y:1.1}.sm\\:hover\\:scale-y-125:hover{--tw-scale-y:1.25}.sm\\:hover\\:scale-y-150:hover{--tw-scale-y:1.5}.sm\\:focus\\:scale-x-0:focus{--tw-scale-x:0}.sm\\:focus\\:scale-x-50:focus{--tw-scale-x:.5}.sm\\:focus\\:scale-x-75:focus{--tw-scale-x:.75}.sm\\:focus\\:scale-x-90:focus{--tw-scale-x:.9}.sm\\:focus\\:scale-x-95:focus{--tw-scale-x:.95}.sm\\:focus\\:scale-x-100:focus{--tw-scale-x:1}.sm\\:focus\\:scale-x-105:focus{--tw-scale-x:1.05}.sm\\:focus\\:scale-x-110:focus{--tw-scale-x:1.1}.sm\\:focus\\:scale-x-125:focus{--tw-scale-x:1.25}.sm\\:focus\\:scale-x-150:focus{--tw-scale-x:1.5}.sm\\:focus\\:scale-y-0:focus{--tw-scale-y:0}.sm\\:focus\\:scale-y-50:focus{--tw-scale-y:.5}.sm\\:focus\\:scale-y-75:focus{--tw-scale-y:.75}.sm\\:focus\\:scale-y-90:focus{--tw-scale-y:.9}.sm\\:focus\\:scale-y-95:focus{--tw-scale-y:.95}.sm\\:focus\\:scale-y-100:focus{--tw-scale-y:1}.sm\\:focus\\:scale-y-105:focus{--tw-scale-y:1.05}.sm\\:focus\\:scale-y-110:focus{--tw-scale-y:1.1}.sm\\:focus\\:scale-y-125:focus{--tw-scale-y:1.25}.sm\\:focus\\:scale-y-150:focus{--tw-scale-y:1.5}.sm\\:animate-none{animation:none}.sm\\:animate-spin{animation:spin 1s linear infinite}.sm\\:animate-ping{animation:ping 1s cubic-bezier(0, 0, 0.2, 1) infinite}.sm\\:animate-pulse{animation:pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite}.sm\\:animate-bounce{animation:bounce 1s infinite}.sm\\:cursor-auto{cursor:auto}.sm\\:cursor-default{cursor:default}.sm\\:cursor-pointer{cursor:pointer}.sm\\:cursor-wait{cursor:wait}.sm\\:cursor-text{cursor:text}.sm\\:cursor-move{cursor:move}.sm\\:cursor-help{cursor:help}.sm\\:cursor-not-allowed{cursor:not-allowed}.sm\\:select-none{-webkit-user-select:none;user-select:none}.sm\\:select-text{-webkit-user-select:text;user-select:text}.sm\\:select-all{-webkit-user-select:all;user-select:all}.sm\\:select-auto{-webkit-user-select:auto;user-select:auto}.sm\\:resize-none{resize:none}.sm\\:resize-y{resize:vertical}.sm\\:resize-x{resize:horizontal}.sm\\:resize{resize:both}.sm\\:list-inside{list-style-position:inside}.sm\\:list-outside{list-style-position:outside}.sm\\:list-none{list-style-type:none}.sm\\:list-disc{list-style-type:disc}.sm\\:list-decimal{list-style-type:decimal}.sm\\:appearance-none{appearance:none}.sm\\:auto-cols-auto{grid-auto-columns:auto}.sm\\:auto-cols-min{grid-auto-columns:min-content}.sm\\:auto-cols-max{grid-auto-columns:max-content}.sm\\:auto-cols-fr{grid-auto-columns:minmax(0, 1fr)}.sm\\:grid-flow-row{grid-auto-flow:row}.sm\\:grid-flow-col{grid-auto-flow:column}.sm\\:grid-flow-row-dense{grid-auto-flow:row dense}.sm\\:grid-flow-col-dense{grid-auto-flow:column dense}.sm\\:auto-rows-auto{grid-auto-rows:auto}.sm\\:auto-rows-min{grid-auto-rows:min-content}.sm\\:auto-rows-max{grid-auto-rows:max-content}.sm\\:auto-rows-fr{grid-auto-rows:minmax(0, 1fr)}.sm\\:grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}.sm\\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.sm\\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.sm\\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}.sm\\:grid-cols-5{grid-template-columns:repeat(5, minmax(0, 1fr))}.sm\\:grid-cols-6{grid-template-columns:repeat(6, minmax(0, 1fr))}.sm\\:grid-cols-7{grid-template-columns:repeat(7, minmax(0, 1fr))}.sm\\:grid-cols-8{grid-template-columns:repeat(8, minmax(0, 1fr))}.sm\\:grid-cols-9{grid-template-columns:repeat(9, minmax(0, 1fr))}.sm\\:grid-cols-10{grid-template-columns:repeat(10, minmax(0, 1fr))}.sm\\:grid-cols-11{grid-template-columns:repeat(11, minmax(0, 1fr))}.sm\\:grid-cols-12{grid-template-columns:repeat(12, minmax(0, 1fr))}.sm\\:grid-cols-none{grid-template-columns:none}.sm\\:grid-rows-1{grid-template-rows:repeat(1, minmax(0, 1fr))}.sm\\:grid-rows-2{grid-template-rows:repeat(2, minmax(0, 1fr))}.sm\\:grid-rows-3{grid-template-rows:repeat(3, minmax(0, 1fr))}.sm\\:grid-rows-4{grid-template-rows:repeat(4, minmax(0, 1fr))}.sm\\:grid-rows-5{grid-template-rows:repeat(5, minmax(0, 1fr))}.sm\\:grid-rows-6{grid-template-rows:repeat(6, minmax(0, 1fr))}.sm\\:grid-rows-none{grid-template-rows:none}.sm\\:flex-row{flex-direction:row}.sm\\:flex-row-reverse{flex-direction:row-reverse}.sm\\:flex-col{flex-direction:column}.sm\\:flex-col-reverse{flex-direction:column-reverse}.sm\\:flex-wrap{flex-wrap:wrap}.sm\\:flex-wrap-reverse{flex-wrap:wrap-reverse}.sm\\:flex-nowrap{flex-wrap:nowrap}.sm\\:place-content-center{place-content:center}.sm\\:place-content-start{place-content:start}.sm\\:place-content-end{place-content:end}.sm\\:place-content-between{place-content:space-between}.sm\\:place-content-around{place-content:space-around}.sm\\:place-content-evenly{place-content:space-evenly}.sm\\:place-content-stretch{place-content:stretch}.sm\\:place-items-start{place-items:start}.sm\\:place-items-end{place-items:end}.sm\\:place-items-center{place-items:center}.sm\\:place-items-stretch{place-items:stretch}.sm\\:content-center{align-content:center}.sm\\:content-start{align-content:flex-start}.sm\\:content-end{align-content:flex-end}.sm\\:content-between{align-content:space-between}.sm\\:content-around{align-content:space-around}.sm\\:content-evenly{align-content:space-evenly}.sm\\:items-start{align-items:flex-start}.sm\\:items-end{align-items:flex-end}.sm\\:items-center{align-items:center}.sm\\:items-baseline{align-items:baseline}.sm\\:items-stretch{align-items:stretch}.sm\\:justify-start{justify-content:flex-start}.sm\\:justify-end{justify-content:flex-end}.sm\\:justify-center{justify-content:center}.sm\\:justify-between{justify-content:space-between}.sm\\:justify-around{justify-content:space-around}.sm\\:justify-evenly{justify-content:space-evenly}.sm\\:justify-items-start{justify-items:start}.sm\\:justify-items-end{justify-items:end}.sm\\:justify-items-center{justify-items:center}.sm\\:justify-items-stretch{justify-items:stretch}.sm\\:gap-0{gap:0px}.sm\\:gap-1{gap:0.25rem}.sm\\:gap-2{gap:0.5rem}.sm\\:gap-3{gap:0.75rem}.sm\\:gap-4{gap:1rem}.sm\\:gap-5{gap:1.25rem}.sm\\:gap-6{gap:1.5rem}.sm\\:gap-7{gap:1.75rem}.sm\\:gap-8{gap:2rem}.sm\\:gap-9{gap:2.25rem}.sm\\:gap-10{gap:2.5rem}.sm\\:gap-11{gap:2.75rem}.sm\\:gap-12{gap:3rem}.sm\\:gap-14{gap:3.5rem}.sm\\:gap-16{gap:4rem}.sm\\:gap-20{gap:5rem}.sm\\:gap-24{gap:6rem}.sm\\:gap-28{gap:7rem}.sm\\:gap-32{gap:8rem}.sm\\:gap-36{gap:9rem}.sm\\:gap-40{gap:10rem}.sm\\:gap-44{gap:11rem}.sm\\:gap-48{gap:12rem}.sm\\:gap-52{gap:13rem}.sm\\:gap-56{gap:14rem}.sm\\:gap-60{gap:15rem}.sm\\:gap-64{gap:16rem}.sm\\:gap-72{gap:18rem}.sm\\:gap-80{gap:20rem}.sm\\:gap-96{gap:24rem}.sm\\:gap-px{gap:1px}.sm\\:gap-0\\.5{gap:0.125rem}.sm\\:gap-1\\.5{gap:0.375rem}.sm\\:gap-2\\.5{gap:0.625rem}.sm\\:gap-3\\.5{gap:0.875rem}.sm\\:gap-x-0{column-gap:0px}.sm\\:gap-x-1{column-gap:0.25rem}.sm\\:gap-x-2{column-gap:0.5rem}.sm\\:gap-x-3{column-gap:0.75rem}.sm\\:gap-x-4{column-gap:1rem}.sm\\:gap-x-5{column-gap:1.25rem}.sm\\:gap-x-6{column-gap:1.5rem}.sm\\:gap-x-7{column-gap:1.75rem}.sm\\:gap-x-8{column-gap:2rem}.sm\\:gap-x-9{column-gap:2.25rem}.sm\\:gap-x-10{column-gap:2.5rem}.sm\\:gap-x-11{column-gap:2.75rem}.sm\\:gap-x-12{column-gap:3rem}.sm\\:gap-x-14{column-gap:3.5rem}.sm\\:gap-x-16{column-gap:4rem}.sm\\:gap-x-20{column-gap:5rem}.sm\\:gap-x-24{column-gap:6rem}.sm\\:gap-x-28{column-gap:7rem}.sm\\:gap-x-32{column-gap:8rem}.sm\\:gap-x-36{column-gap:9rem}.sm\\:gap-x-40{column-gap:10rem}.sm\\:gap-x-44{column-gap:11rem}.sm\\:gap-x-48{column-gap:12rem}.sm\\:gap-x-52{column-gap:13rem}.sm\\:gap-x-56{column-gap:14rem}.sm\\:gap-x-60{column-gap:15rem}.sm\\:gap-x-64{column-gap:16rem}.sm\\:gap-x-72{column-gap:18rem}.sm\\:gap-x-80{column-gap:20rem}.sm\\:gap-x-96{column-gap:24rem}.sm\\:gap-x-px{column-gap:1px}.sm\\:gap-x-0\\.5{column-gap:0.125rem}.sm\\:gap-x-1\\.5{column-gap:0.375rem}.sm\\:gap-x-2\\.5{column-gap:0.625rem}.sm\\:gap-x-3\\.5{column-gap:0.875rem}.sm\\:gap-y-0{row-gap:0px}.sm\\:gap-y-1{row-gap:0.25rem}.sm\\:gap-y-2{row-gap:0.5rem}.sm\\:gap-y-3{row-gap:0.75rem}.sm\\:gap-y-4{row-gap:1rem}.sm\\:gap-y-5{row-gap:1.25rem}.sm\\:gap-y-6{row-gap:1.5rem}.sm\\:gap-y-7{row-gap:1.75rem}.sm\\:gap-y-8{row-gap:2rem}.sm\\:gap-y-9{row-gap:2.25rem}.sm\\:gap-y-10{row-gap:2.5rem}.sm\\:gap-y-11{row-gap:2.75rem}.sm\\:gap-y-12{row-gap:3rem}.sm\\:gap-y-14{row-gap:3.5rem}.sm\\:gap-y-16{row-gap:4rem}.sm\\:gap-y-20{row-gap:5rem}.sm\\:gap-y-24{row-gap:6rem}.sm\\:gap-y-28{row-gap:7rem}.sm\\:gap-y-32{row-gap:8rem}.sm\\:gap-y-36{row-gap:9rem}.sm\\:gap-y-40{row-gap:10rem}.sm\\:gap-y-44{row-gap:11rem}.sm\\:gap-y-48{row-gap:12rem}.sm\\:gap-y-52{row-gap:13rem}.sm\\:gap-y-56{row-gap:14rem}.sm\\:gap-y-60{row-gap:15rem}.sm\\:gap-y-64{row-gap:16rem}.sm\\:gap-y-72{row-gap:18rem}.sm\\:gap-y-80{row-gap:20rem}.sm\\:gap-y-96{row-gap:24rem}.sm\\:gap-y-px{row-gap:1px}.sm\\:gap-y-0\\.5{row-gap:0.125rem}.sm\\:gap-y-1\\.5{row-gap:0.375rem}.sm\\:gap-y-2\\.5{row-gap:0.625rem}.sm\\:gap-y-3\\.5{row-gap:0.875rem}.sm\\:space-x-0>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0px * var(--tw-space-x-reverse));margin-left:calc(0px * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.25rem * var(--tw-space-x-reverse));margin-left:calc(0.25rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.5rem * var(--tw-space-x-reverse));margin-left:calc(0.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.75rem * var(--tw-space-x-reverse));margin-left:calc(0.75rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.25rem * var(--tw-space-x-reverse));margin-left:calc(1.25rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.5rem * var(--tw-space-x-reverse));margin-left:calc(1.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-7>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.75rem * var(--tw-space-x-reverse));margin-left:calc(1.75rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2rem * var(--tw-space-x-reverse));margin-left:calc(2rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-9>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2.25rem * var(--tw-space-x-reverse));margin-left:calc(2.25rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-10>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2.5rem * var(--tw-space-x-reverse));margin-left:calc(2.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-11>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2.75rem * var(--tw-space-x-reverse));margin-left:calc(2.75rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-12>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(3rem * var(--tw-space-x-reverse));margin-left:calc(3rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-14>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(3.5rem * var(--tw-space-x-reverse));margin-left:calc(3.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-16>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(4rem * var(--tw-space-x-reverse));margin-left:calc(4rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-20>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(5rem * var(--tw-space-x-reverse));margin-left:calc(5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-24>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(6rem * var(--tw-space-x-reverse));margin-left:calc(6rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-28>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(7rem * var(--tw-space-x-reverse));margin-left:calc(7rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-32>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(8rem * var(--tw-space-x-reverse));margin-left:calc(8rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-36>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(9rem * var(--tw-space-x-reverse));margin-left:calc(9rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-40>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(10rem * var(--tw-space-x-reverse));margin-left:calc(10rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-44>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(11rem * var(--tw-space-x-reverse));margin-left:calc(11rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-48>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(12rem * var(--tw-space-x-reverse));margin-left:calc(12rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-52>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(13rem * var(--tw-space-x-reverse));margin-left:calc(13rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-56>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(14rem * var(--tw-space-x-reverse));margin-left:calc(14rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-60>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(15rem * var(--tw-space-x-reverse));margin-left:calc(15rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-64>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(16rem * var(--tw-space-x-reverse));margin-left:calc(16rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-72>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(18rem * var(--tw-space-x-reverse));margin-left:calc(18rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-80>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(20rem * var(--tw-space-x-reverse));margin-left:calc(20rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-96>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(24rem * var(--tw-space-x-reverse));margin-left:calc(24rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1px * var(--tw-space-x-reverse));margin-left:calc(1px * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-0\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.125rem * var(--tw-space-x-reverse));margin-left:calc(0.125rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-1\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.375rem * var(--tw-space-x-reverse));margin-left:calc(0.375rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-2\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.625rem * var(--tw-space-x-reverse));margin-left:calc(0.625rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-3\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.875rem * var(--tw-space-x-reverse));margin-left:calc(0.875rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-0>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0px * var(--tw-space-x-reverse));margin-left:calc(0px * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.25rem * var(--tw-space-x-reverse));margin-left:calc(-0.25rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.5rem * var(--tw-space-x-reverse));margin-left:calc(-0.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.75rem * var(--tw-space-x-reverse));margin-left:calc(-0.75rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1rem * var(--tw-space-x-reverse));margin-left:calc(-1rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1.25rem * var(--tw-space-x-reverse));margin-left:calc(-1.25rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1.5rem * var(--tw-space-x-reverse));margin-left:calc(-1.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-7>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1.75rem * var(--tw-space-x-reverse));margin-left:calc(-1.75rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2rem * var(--tw-space-x-reverse));margin-left:calc(-2rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-9>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2.25rem * var(--tw-space-x-reverse));margin-left:calc(-2.25rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-10>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2.5rem * var(--tw-space-x-reverse));margin-left:calc(-2.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-11>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2.75rem * var(--tw-space-x-reverse));margin-left:calc(-2.75rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-12>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-3rem * var(--tw-space-x-reverse));margin-left:calc(-3rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-14>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-3.5rem * var(--tw-space-x-reverse));margin-left:calc(-3.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-16>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-4rem * var(--tw-space-x-reverse));margin-left:calc(-4rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-20>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-5rem * var(--tw-space-x-reverse));margin-left:calc(-5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-24>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-6rem * var(--tw-space-x-reverse));margin-left:calc(-6rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-28>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-7rem * var(--tw-space-x-reverse));margin-left:calc(-7rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-32>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-8rem * var(--tw-space-x-reverse));margin-left:calc(-8rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-36>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-9rem * var(--tw-space-x-reverse));margin-left:calc(-9rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-40>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-10rem * var(--tw-space-x-reverse));margin-left:calc(-10rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-44>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-11rem * var(--tw-space-x-reverse));margin-left:calc(-11rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-48>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-12rem * var(--tw-space-x-reverse));margin-left:calc(-12rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-52>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-13rem * var(--tw-space-x-reverse));margin-left:calc(-13rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-56>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-14rem * var(--tw-space-x-reverse));margin-left:calc(-14rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-60>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-15rem * var(--tw-space-x-reverse));margin-left:calc(-15rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-64>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-16rem * var(--tw-space-x-reverse));margin-left:calc(-16rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-72>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-18rem * var(--tw-space-x-reverse));margin-left:calc(-18rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-80>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-20rem * var(--tw-space-x-reverse));margin-left:calc(-20rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-96>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-24rem * var(--tw-space-x-reverse));margin-left:calc(-24rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1px * var(--tw-space-x-reverse));margin-left:calc(-1px * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-0\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.125rem * var(--tw-space-x-reverse));margin-left:calc(-0.125rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-1\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.375rem * var(--tw-space-x-reverse));margin-left:calc(-0.375rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-2\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.625rem * var(--tw-space-x-reverse));margin-left:calc(-0.625rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-3\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.875rem * var(--tw-space-x-reverse));margin-left:calc(-0.875rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.sm\\:space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.25rem * var(--tw-space-y-reverse))}.sm\\:space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.5rem * var(--tw-space-y-reverse))}.sm\\:space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.75rem * var(--tw-space-y-reverse))}.sm\\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.sm\\:space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.sm\\:space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.sm\\:space-y-7>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.75rem * var(--tw-space-y-reverse))}.sm\\:space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.sm\\:space-y-9>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.25rem * var(--tw-space-y-reverse))}.sm\\:space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.5rem * var(--tw-space-y-reverse))}.sm\\:space-y-11>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.75rem * var(--tw-space-y-reverse))}.sm\\:space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3rem * var(--tw-space-y-reverse))}.sm\\:space-y-14>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(3.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3.5rem * var(--tw-space-y-reverse))}.sm\\:space-y-16>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(4rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(4rem * var(--tw-space-y-reverse))}.sm\\:space-y-20>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(5rem * var(--tw-space-y-reverse))}.sm\\:space-y-24>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(6rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(6rem * var(--tw-space-y-reverse))}.sm\\:space-y-28>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(7rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(7rem * var(--tw-space-y-reverse))}.sm\\:space-y-32>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(8rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(8rem * var(--tw-space-y-reverse))}.sm\\:space-y-36>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(9rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(9rem * var(--tw-space-y-reverse))}.sm\\:space-y-40>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(10rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(10rem * var(--tw-space-y-reverse))}.sm\\:space-y-44>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(11rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(11rem * var(--tw-space-y-reverse))}.sm\\:space-y-48>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(12rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(12rem * var(--tw-space-y-reverse))}.sm\\:space-y-52>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(13rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(13rem * var(--tw-space-y-reverse))}.sm\\:space-y-56>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(14rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(14rem * var(--tw-space-y-reverse))}.sm\\:space-y-60>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(15rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(15rem * var(--tw-space-y-reverse))}.sm\\:space-y-64>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(16rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(16rem * var(--tw-space-y-reverse))}.sm\\:space-y-72>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(18rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(18rem * var(--tw-space-y-reverse))}.sm\\:space-y-80>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(20rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(20rem * var(--tw-space-y-reverse))}.sm\\:space-y-96>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(24rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(24rem * var(--tw-space-y-reverse))}.sm\\:space-y-px>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1px * var(--tw-space-y-reverse))}.sm\\:space-y-0\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.125rem * var(--tw-space-y-reverse))}.sm\\:space-y-1\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.375rem * var(--tw-space-y-reverse))}.sm\\:space-y-2\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.625rem * var(--tw-space-y-reverse))}.sm\\:space-y-3\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.875rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.875rem * var(--tw-space-y-reverse))}.sm\\:-space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.sm\\:-space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.25rem * var(--tw-space-y-reverse))}.sm\\:-space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.5rem * var(--tw-space-y-reverse))}.sm\\:-space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.75rem * var(--tw-space-y-reverse))}.sm\\:-space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1rem * var(--tw-space-y-reverse))}.sm\\:-space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1.25rem * var(--tw-space-y-reverse))}.sm\\:-space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1.5rem * var(--tw-space-y-reverse))}.sm\\:-space-y-7>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1.75rem * var(--tw-space-y-reverse))}.sm\\:-space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2rem * var(--tw-space-y-reverse))}.sm\\:-space-y-9>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2.25rem * var(--tw-space-y-reverse))}.sm\\:-space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2.5rem * var(--tw-space-y-reverse))}.sm\\:-space-y-11>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2.75rem * var(--tw-space-y-reverse))}.sm\\:-space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-3rem * var(--tw-space-y-reverse))}.sm\\:-space-y-14>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-3.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-3.5rem * var(--tw-space-y-reverse))}.sm\\:-space-y-16>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-4rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-4rem * var(--tw-space-y-reverse))}.sm\\:-space-y-20>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-5rem * var(--tw-space-y-reverse))}.sm\\:-space-y-24>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-6rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-6rem * var(--tw-space-y-reverse))}.sm\\:-space-y-28>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-7rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-7rem * var(--tw-space-y-reverse))}.sm\\:-space-y-32>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-8rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-8rem * var(--tw-space-y-reverse))}.sm\\:-space-y-36>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-9rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-9rem * var(--tw-space-y-reverse))}.sm\\:-space-y-40>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-10rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-10rem * var(--tw-space-y-reverse))}.sm\\:-space-y-44>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-11rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-11rem * var(--tw-space-y-reverse))}.sm\\:-space-y-48>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-12rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-12rem * var(--tw-space-y-reverse))}.sm\\:-space-y-52>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-13rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-13rem * var(--tw-space-y-reverse))}.sm\\:-space-y-56>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-14rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-14rem * var(--tw-space-y-reverse))}.sm\\:-space-y-60>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-15rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-15rem * var(--tw-space-y-reverse))}.sm\\:-space-y-64>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-16rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-16rem * var(--tw-space-y-reverse))}.sm\\:-space-y-72>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-18rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-18rem * var(--tw-space-y-reverse))}.sm\\:-space-y-80>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-20rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-20rem * var(--tw-space-y-reverse))}.sm\\:-space-y-96>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-24rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-24rem * var(--tw-space-y-reverse))}.sm\\:-space-y-px>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1px * var(--tw-space-y-reverse))}.sm\\:-space-y-0\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.125rem * var(--tw-space-y-reverse))}.sm\\:-space-y-1\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.375rem * var(--tw-space-y-reverse))}.sm\\:-space-y-2\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.625rem * var(--tw-space-y-reverse))}.sm\\:-space-y-3\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.875rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.875rem * var(--tw-space-y-reverse))}.sm\\:space-y-reverse>:not([hidden])~:not([hidden]){--tw-space-y-reverse:1}.sm\\:space-x-reverse>:not([hidden])~:not([hidden]){--tw-space-x-reverse:1}.sm\\:divide-x-0>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(0px * var(--tw-divide-x-reverse));border-left-width:calc(0px * calc(1 - var(--tw-divide-x-reverse)))}.sm\\:divide-x-2>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(2px * var(--tw-divide-x-reverse));border-left-width:calc(2px * calc(1 - var(--tw-divide-x-reverse)))}.sm\\:divide-x-4>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(4px * var(--tw-divide-x-reverse));border-left-width:calc(4px * calc(1 - var(--tw-divide-x-reverse)))}.sm\\:divide-x-8>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(8px * var(--tw-divide-x-reverse));border-left-width:calc(8px * calc(1 - var(--tw-divide-x-reverse)))}.sm\\:divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(1px * var(--tw-divide-x-reverse));border-left-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}.sm\\:divide-y-0>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(0px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(0px * var(--tw-divide-y-reverse))}.sm\\:divide-y-2>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(2px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(2px * var(--tw-divide-y-reverse))}.sm\\:divide-y-4>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(4px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(4px * var(--tw-divide-y-reverse))}.sm\\:divide-y-8>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(8px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(8px * var(--tw-divide-y-reverse))}.sm\\:divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.sm\\:divide-y-reverse>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:1}.sm\\:divide-x-reverse>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:1}.sm\\:divide-solid>:not([hidden])~:not([hidden]){border-style:solid}.sm\\:divide-dashed>:not([hidden])~:not([hidden]){border-style:dashed}.sm\\:divide-dotted>:not([hidden])~:not([hidden]){border-style:dotted}.sm\\:divide-double>:not([hidden])~:not([hidden]){border-style:double}.sm\\:divide-none>:not([hidden])~:not([hidden]){border-style:none}.sm\\:divide-transparent>:not([hidden])~:not([hidden]){border-color:transparent}.sm\\:divide-current>:not([hidden])~:not([hidden]){border-color:currentColor}.sm\\:divide-white>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.sm\\:divide-lightgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(247, 247, 247, var(--tw-divide-opacity))}.sm\\:divide-midgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.sm\\:divide-darkgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(127, 127, 127, var(--tw-divide-opacity))}.sm\\:divide-grey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(30, 30, 30, var(--tw-divide-opacity))}.sm\\:divide-black>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(15, 15, 15, var(--tw-divide-opacity))}.sm\\:divide-highlight>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 113, 227, var(--tw-divide-opacity))}.sm\\:divide-highlight_hover>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 119, 237, var(--tw-divide-opacity))}.sm\\:divide-button_outline>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.sm\\:divide-error>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 69, 58, var(--tw-divide-opacity))}.sm\\:divide-text-light>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(15, 15, 15, var(--tw-divide-opacity))}.sm\\:divide-text-dimmed>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.sm\\:divide-text-dark>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.sm\\:divide-body-light>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.sm\\:divide-body-dark>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(30, 30, 30, var(--tw-divide-opacity))}.sm\\:divide-button>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 113, 227, var(--tw-divide-opacity))}.sm\\:divide-button_hover>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 119, 237, var(--tw-divide-opacity))}@media(prefers-color-scheme: dark){.sm\\:dark\\:divide-transparent>:not([hidden])~:not([hidden]){border-color:transparent}.sm\\:dark\\:divide-current>:not([hidden])~:not([hidden]){border-color:currentColor}.sm\\:dark\\:divide-white>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.sm\\:dark\\:divide-lightgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(247, 247, 247, var(--tw-divide-opacity))}.sm\\:dark\\:divide-midgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.sm\\:dark\\:divide-darkgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(127, 127, 127, var(--tw-divide-opacity))}.sm\\:dark\\:divide-grey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(30, 30, 30, var(--tw-divide-opacity))}.sm\\:dark\\:divide-black>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(15, 15, 15, var(--tw-divide-opacity))}.sm\\:dark\\:divide-highlight>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 113, 227, var(--tw-divide-opacity))}.sm\\:dark\\:divide-highlight_hover>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 119, 237, var(--tw-divide-opacity))}.sm\\:dark\\:divide-button_outline>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.sm\\:dark\\:divide-error>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 69, 58, var(--tw-divide-opacity))}.sm\\:dark\\:divide-text-light>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(15, 15, 15, var(--tw-divide-opacity))}.sm\\:dark\\:divide-text-dimmed>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.sm\\:dark\\:divide-text-dark>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.sm\\:dark\\:divide-body-light>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.sm\\:dark\\:divide-body-dark>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(30, 30, 30, var(--tw-divide-opacity))}.sm\\:dark\\:divide-button>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 113, 227, var(--tw-divide-opacity))}.sm\\:dark\\:divide-button_hover>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 119, 237, var(--tw-divide-opacity))}}.sm\\:divide-opacity-0>:not([hidden])~:not([hidden]){--tw-divide-opacity:0}.sm\\:divide-opacity-5>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.05}.sm\\:divide-opacity-10>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.1}.sm\\:divide-opacity-20>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.2}.sm\\:divide-opacity-25>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.25}.sm\\:divide-opacity-30>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.3}.sm\\:divide-opacity-40>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.4}.sm\\:divide-opacity-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.5}.sm\\:divide-opacity-60>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.6}.sm\\:divide-opacity-70>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.7}.sm\\:divide-opacity-75>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.75}.sm\\:divide-opacity-80>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.8}.sm\\:divide-opacity-90>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.9}.sm\\:divide-opacity-95>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.95}.sm\\:divide-opacity-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1}@media(prefers-color-scheme: dark){.sm\\:dark\\:divide-opacity-0>:not([hidden])~:not([hidden]){--tw-divide-opacity:0}.sm\\:dark\\:divide-opacity-5>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.05}.sm\\:dark\\:divide-opacity-10>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.1}.sm\\:dark\\:divide-opacity-20>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.2}.sm\\:dark\\:divide-opacity-25>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.25}.sm\\:dark\\:divide-opacity-30>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.3}.sm\\:dark\\:divide-opacity-40>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.4}.sm\\:dark\\:divide-opacity-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.5}.sm\\:dark\\:divide-opacity-60>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.6}.sm\\:dark\\:divide-opacity-70>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.7}.sm\\:dark\\:divide-opacity-75>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.75}.sm\\:dark\\:divide-opacity-80>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.8}.sm\\:dark\\:divide-opacity-90>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.9}.sm\\:dark\\:divide-opacity-95>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.95}.sm\\:dark\\:divide-opacity-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1}}.sm\\:place-self-auto{place-self:auto}.sm\\:place-self-start{place-self:start}.sm\\:place-self-end{place-self:end}.sm\\:place-self-center{place-self:center}.sm\\:place-self-stretch{place-self:stretch}.sm\\:self-auto{align-self:auto}.sm\\:self-start{align-self:flex-start}.sm\\:self-end{align-self:flex-end}.sm\\:self-center{align-self:center}.sm\\:self-stretch{align-self:stretch}.sm\\:self-baseline{align-self:baseline}.sm\\:justify-self-auto{justify-self:auto}.sm\\:justify-self-start{justify-self:start}.sm\\:justify-self-end{justify-self:end}.sm\\:justify-self-center{justify-self:center}.sm\\:justify-self-stretch{justify-self:stretch}.sm\\:overflow-auto{overflow:auto}.sm\\:overflow-hidden{overflow:hidden}.sm\\:overflow-visible{overflow:visible}.sm\\:overflow-scroll{overflow:scroll}.sm\\:overflow-x-auto{overflow-x:auto}.sm\\:overflow-y-auto{overflow-y:auto}.sm\\:overflow-x-hidden{overflow-x:hidden}.sm\\:overflow-y-hidden{overflow-y:hidden}.sm\\:overflow-x-visible{overflow-x:visible}.sm\\:overflow-y-visible{overflow-y:visible}.sm\\:overflow-x-scroll{overflow-x:scroll}.sm\\:overflow-y-scroll{overflow-y:scroll}.sm\\:overscroll-auto{overscroll-behavior:auto}.sm\\:overscroll-contain{overscroll-behavior:contain}.sm\\:overscroll-none{overscroll-behavior:none}.sm\\:overscroll-y-auto{overscroll-behavior-y:auto}.sm\\:overscroll-y-contain{overscroll-behavior-y:contain}.sm\\:overscroll-y-none{overscroll-behavior-y:none}.sm\\:overscroll-x-auto{overscroll-behavior-x:auto}.sm\\:overscroll-x-contain{overscroll-behavior-x:contain}.sm\\:overscroll-x-none{overscroll-behavior-x:none}.sm\\:truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sm\\:overflow-ellipsis{text-overflow:ellipsis}.sm\\:overflow-clip{text-overflow:clip}.sm\\:whitespace-normal{white-space:normal}.sm\\:whitespace-nowrap{white-space:nowrap}.sm\\:whitespace-pre{white-space:pre}.sm\\:whitespace-pre-line{white-space:pre-line}.sm\\:whitespace-pre-wrap{white-space:pre-wrap}.sm\\:break-normal{overflow-wrap:normal;word-break:normal}.sm\\:break-words{overflow-wrap:break-word}.sm\\:break-all{word-break:break-all}.sm\\:rounded-none{border-radius:0px}.sm\\:rounded-sm{border-radius:0.125rem}.sm\\:rounded{border-radius:0.25rem}.sm\\:rounded-md{border-radius:0.375rem}.sm\\:rounded-lg{border-radius:0.5rem}.sm\\:rounded-xl{border-radius:0.75rem}.sm\\:rounded-2xl{border-radius:1rem}.sm\\:rounded-3xl{border-radius:1.5rem}.sm\\:rounded-full{border-radius:9999px}.sm\\:rounded-t-none{border-top-left-radius:0px;border-top-right-radius:0px}.sm\\:rounded-t-sm{border-top-left-radius:0.125rem;border-top-right-radius:0.125rem}.sm\\:rounded-t{border-top-left-radius:0.25rem;border-top-right-radius:0.25rem}.sm\\:rounded-t-md{border-top-left-radius:0.375rem;border-top-right-radius:0.375rem}.sm\\:rounded-t-lg{border-top-left-radius:0.5rem;border-top-right-radius:0.5rem}.sm\\:rounded-t-xl{border-top-left-radius:0.75rem;border-top-right-radius:0.75rem}.sm\\:rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.sm\\:rounded-t-3xl{border-top-left-radius:1.5rem;border-top-right-radius:1.5rem}.sm\\:rounded-t-full{border-top-left-radius:9999px;border-top-right-radius:9999px}.sm\\:rounded-r-none{border-top-right-radius:0px;border-bottom-right-radius:0px}.sm\\:rounded-r-sm{border-top-right-radius:0.125rem;border-bottom-right-radius:0.125rem}.sm\\:rounded-r{border-top-right-radius:0.25rem;border-bottom-right-radius:0.25rem}.sm\\:rounded-r-md{border-top-right-radius:0.375rem;border-bottom-right-radius:0.375rem}.sm\\:rounded-r-lg{border-top-right-radius:0.5rem;border-bottom-right-radius:0.5rem}.sm\\:rounded-r-xl{border-top-right-radius:0.75rem;border-bottom-right-radius:0.75rem}.sm\\:rounded-r-2xl{border-top-right-radius:1rem;border-bottom-right-radius:1rem}.sm\\:rounded-r-3xl{border-top-right-radius:1.5rem;border-bottom-right-radius:1.5rem}.sm\\:rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.sm\\:rounded-b-none{border-bottom-right-radius:0px;border-bottom-left-radius:0px}.sm\\:rounded-b-sm{border-bottom-right-radius:0.125rem;border-bottom-left-radius:0.125rem}.sm\\:rounded-b{border-bottom-right-radius:0.25rem;border-bottom-left-radius:0.25rem}.sm\\:rounded-b-md{border-bottom-right-radius:0.375rem;border-bottom-left-radius:0.375rem}.sm\\:rounded-b-lg{border-bottom-right-radius:0.5rem;border-bottom-left-radius:0.5rem}.sm\\:rounded-b-xl{border-bottom-right-radius:0.75rem;border-bottom-left-radius:0.75rem}.sm\\:rounded-b-2xl{border-bottom-right-radius:1rem;border-bottom-left-radius:1rem}.sm\\:rounded-b-3xl{border-bottom-right-radius:1.5rem;border-bottom-left-radius:1.5rem}.sm\\:rounded-b-full{border-bottom-right-radius:9999px;border-bottom-left-radius:9999px}.sm\\:rounded-l-none{border-top-left-radius:0px;border-bottom-left-radius:0px}.sm\\:rounded-l-sm{border-top-left-radius:0.125rem;border-bottom-left-radius:0.125rem}.sm\\:rounded-l{border-top-left-radius:0.25rem;border-bottom-left-radius:0.25rem}.sm\\:rounded-l-md{border-top-left-radius:0.375rem;border-bottom-left-radius:0.375rem}.sm\\:rounded-l-lg{border-top-left-radius:0.5rem;border-bottom-left-radius:0.5rem}.sm\\:rounded-l-xl{border-top-left-radius:0.75rem;border-bottom-left-radius:0.75rem}.sm\\:rounded-l-2xl{border-top-left-radius:1rem;border-bottom-left-radius:1rem}.sm\\:rounded-l-3xl{border-top-left-radius:1.5rem;border-bottom-left-radius:1.5rem}.sm\\:rounded-l-full{border-top-left-radius:9999px;border-bottom-left-radius:9999px}.sm\\:rounded-tl-none{border-top-left-radius:0px}.sm\\:rounded-tl-sm{border-top-left-radius:0.125rem}.sm\\:rounded-tl{border-top-left-radius:0.25rem}.sm\\:rounded-tl-md{border-top-left-radius:0.375rem}.sm\\:rounded-tl-lg{border-top-left-radius:0.5rem}.sm\\:rounded-tl-xl{border-top-left-radius:0.75rem}.sm\\:rounded-tl-2xl{border-top-left-radius:1rem}.sm\\:rounded-tl-3xl{border-top-left-radius:1.5rem}.sm\\:rounded-tl-full{border-top-left-radius:9999px}.sm\\:rounded-tr-none{border-top-right-radius:0px}.sm\\:rounded-tr-sm{border-top-right-radius:0.125rem}.sm\\:rounded-tr{border-top-right-radius:0.25rem}.sm\\:rounded-tr-md{border-top-right-radius:0.375rem}.sm\\:rounded-tr-lg{border-top-right-radius:0.5rem}.sm\\:rounded-tr-xl{border-top-right-radius:0.75rem}.sm\\:rounded-tr-2xl{border-top-right-radius:1rem}.sm\\:rounded-tr-3xl{border-top-right-radius:1.5rem}.sm\\:rounded-tr-full{border-top-right-radius:9999px}.sm\\:rounded-br-none{border-bottom-right-radius:0px}.sm\\:rounded-br-sm{border-bottom-right-radius:0.125rem}.sm\\:rounded-br{border-bottom-right-radius:0.25rem}.sm\\:rounded-br-md{border-bottom-right-radius:0.375rem}.sm\\:rounded-br-lg{border-bottom-right-radius:0.5rem}.sm\\:rounded-br-xl{border-bottom-right-radius:0.75rem}.sm\\:rounded-br-2xl{border-bottom-right-radius:1rem}.sm\\:rounded-br-3xl{border-bottom-right-radius:1.5rem}.sm\\:rounded-br-full{border-bottom-right-radius:9999px}.sm\\:rounded-bl-none{border-bottom-left-radius:0px}.sm\\:rounded-bl-sm{border-bottom-left-radius:0.125rem}.sm\\:rounded-bl{border-bottom-left-radius:0.25rem}.sm\\:rounded-bl-md{border-bottom-left-radius:0.375rem}.sm\\:rounded-bl-lg{border-bottom-left-radius:0.5rem}.sm\\:rounded-bl-xl{border-bottom-left-radius:0.75rem}.sm\\:rounded-bl-2xl{border-bottom-left-radius:1rem}.sm\\:rounded-bl-3xl{border-bottom-left-radius:1.5rem}.sm\\:rounded-bl-full{border-bottom-left-radius:9999px}.sm\\:border-0{border-width:0px}.sm\\:border-2{border-width:2px}.sm\\:border-4{border-width:4px}.sm\\:border-8{border-width:8px}.sm\\:border{border-width:1px}.sm\\:border-t-0{border-top-width:0px}.sm\\:border-t-2{border-top-width:2px}.sm\\:border-t-4{border-top-width:4px}.sm\\:border-t-8{border-top-width:8px}.sm\\:border-t{border-top-width:1px}.sm\\:border-r-0{border-right-width:0px}.sm\\:border-r-2{border-right-width:2px}.sm\\:border-r-4{border-right-width:4px}.sm\\:border-r-8{border-right-width:8px}.sm\\:border-r{border-right-width:1px}.sm\\:border-b-0{border-bottom-width:0px}.sm\\:border-b-2{border-bottom-width:2px}.sm\\:border-b-4{border-bottom-width:4px}.sm\\:border-b-8{border-bottom-width:8px}.sm\\:border-b{border-bottom-width:1px}.sm\\:border-l-0{border-left-width:0px}.sm\\:border-l-2{border-left-width:2px}.sm\\:border-l-4{border-left-width:4px}.sm\\:border-l-8{border-left-width:8px}.sm\\:border-l{border-left-width:1px}.sm\\:border-solid{border-style:solid}.sm\\:border-dashed{border-style:dashed}.sm\\:border-dotted{border-style:dotted}.sm\\:border-double{border-style:double}.sm\\:border-none{border-style:none}.sm\\:border-transparent{border-color:transparent}.sm\\:border-current{border-color:currentColor}.sm\\:border-white{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.sm\\:border-lightgrey{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.sm\\:border-midgrey{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.sm\\:border-darkgrey{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.sm\\:border-grey{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.sm\\:border-black{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.sm\\:border-highlight{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.sm\\:border-highlight_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.sm\\:border-button_outline{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.sm\\:border-error{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.sm\\:border-text-light{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.sm\\:border-text-dimmed{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.sm\\:border-text-dark{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.sm\\:border-body-light{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.sm\\:border-body-dark{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.sm\\:border-button{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.sm\\:border-button_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.group:hover .sm\\:group-hover\\:border-transparent{border-color:transparent}.group:hover .sm\\:group-hover\\:border-current{border-color:currentColor}.group:hover .sm\\:group-hover\\:border-white{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .sm\\:group-hover\\:border-lightgrey{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.group:hover .sm\\:group-hover\\:border-midgrey{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .sm\\:group-hover\\:border-darkgrey{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.group:hover .sm\\:group-hover\\:border-grey{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.group:hover .sm\\:group-hover\\:border-black{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.group:hover .sm\\:group-hover\\:border-highlight{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.group:hover .sm\\:group-hover\\:border-highlight_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.group:hover .sm\\:group-hover\\:border-button_outline{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .sm\\:group-hover\\:border-error{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.group:hover .sm\\:group-hover\\:border-text-light{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.group:hover .sm\\:group-hover\\:border-text-dimmed{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .sm\\:group-hover\\:border-text-dark{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .sm\\:group-hover\\:border-body-light{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .sm\\:group-hover\\:border-body-dark{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.group:hover .sm\\:group-hover\\:border-button{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.group:hover .sm\\:group-hover\\:border-button_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.sm\\:focus-within\\:border-transparent:focus-within{border-color:transparent}.sm\\:focus-within\\:border-current:focus-within{border-color:currentColor}.sm\\:focus-within\\:border-white:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.sm\\:focus-within\\:border-lightgrey:focus-within{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.sm\\:focus-within\\:border-midgrey:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.sm\\:focus-within\\:border-darkgrey:focus-within{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.sm\\:focus-within\\:border-grey:focus-within{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.sm\\:focus-within\\:border-black:focus-within{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.sm\\:focus-within\\:border-highlight:focus-within{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.sm\\:focus-within\\:border-highlight_hover:focus-within{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.sm\\:focus-within\\:border-button_outline:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.sm\\:focus-within\\:border-error:focus-within{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.sm\\:focus-within\\:border-text-light:focus-within{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.sm\\:focus-within\\:border-text-dimmed:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.sm\\:focus-within\\:border-text-dark:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.sm\\:focus-within\\:border-body-light:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.sm\\:focus-within\\:border-body-dark:focus-within{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.sm\\:focus-within\\:border-button:focus-within{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.sm\\:focus-within\\:border-button_hover:focus-within{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.sm\\:hover\\:border-transparent:hover{border-color:transparent}.sm\\:hover\\:border-current:hover{border-color:currentColor}.sm\\:hover\\:border-white:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.sm\\:hover\\:border-lightgrey:hover{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.sm\\:hover\\:border-midgrey:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.sm\\:hover\\:border-darkgrey:hover{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.sm\\:hover\\:border-grey:hover{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.sm\\:hover\\:border-black:hover{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.sm\\:hover\\:border-highlight:hover{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.sm\\:hover\\:border-highlight_hover:hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.sm\\:hover\\:border-button_outline:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.sm\\:hover\\:border-error:hover{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.sm\\:hover\\:border-text-light:hover{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.sm\\:hover\\:border-text-dimmed:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.sm\\:hover\\:border-text-dark:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.sm\\:hover\\:border-body-light:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.sm\\:hover\\:border-body-dark:hover{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.sm\\:hover\\:border-button:hover{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.sm\\:hover\\:border-button_hover:hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.sm\\:focus\\:border-transparent:focus{border-color:transparent}.sm\\:focus\\:border-current:focus{border-color:currentColor}.sm\\:focus\\:border-white:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.sm\\:focus\\:border-lightgrey:focus{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.sm\\:focus\\:border-midgrey:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.sm\\:focus\\:border-darkgrey:focus{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.sm\\:focus\\:border-grey:focus{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.sm\\:focus\\:border-black:focus{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.sm\\:focus\\:border-highlight:focus{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.sm\\:focus\\:border-highlight_hover:focus{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.sm\\:focus\\:border-button_outline:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.sm\\:focus\\:border-error:focus{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.sm\\:focus\\:border-text-light:focus{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.sm\\:focus\\:border-text-dimmed:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.sm\\:focus\\:border-text-dark:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.sm\\:focus\\:border-body-light:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.sm\\:focus\\:border-body-dark:focus{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.sm\\:focus\\:border-button:focus{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.sm\\:focus\\:border-button_hover:focus{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}@media(prefers-color-scheme: dark){.sm\\:dark\\:border-transparent{border-color:transparent}.sm\\:dark\\:border-current{border-color:currentColor}.sm\\:dark\\:border-white{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.sm\\:dark\\:border-lightgrey{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.sm\\:dark\\:border-midgrey{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.sm\\:dark\\:border-darkgrey{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.sm\\:dark\\:border-grey{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.sm\\:dark\\:border-black{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.sm\\:dark\\:border-highlight{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.sm\\:dark\\:border-highlight_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.sm\\:dark\\:border-button_outline{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.sm\\:dark\\:border-error{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.sm\\:dark\\:border-text-light{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.sm\\:dark\\:border-text-dimmed{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.sm\\:dark\\:border-text-dark{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.sm\\:dark\\:border-body-light{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.sm\\:dark\\:border-body-dark{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.sm\\:dark\\:border-button{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.sm\\:dark\\:border-button_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.group:hover .sm\\:dark\\:group-hover\\:border-transparent{border-color:transparent}.group:hover .sm\\:dark\\:group-hover\\:border-current{border-color:currentColor}.group:hover .sm\\:dark\\:group-hover\\:border-white{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .sm\\:dark\\:group-hover\\:border-lightgrey{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.group:hover .sm\\:dark\\:group-hover\\:border-midgrey{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .sm\\:dark\\:group-hover\\:border-darkgrey{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.group:hover .sm\\:dark\\:group-hover\\:border-grey{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.group:hover .sm\\:dark\\:group-hover\\:border-black{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.group:hover .sm\\:dark\\:group-hover\\:border-highlight{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.group:hover .sm\\:dark\\:group-hover\\:border-highlight_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.group:hover .sm\\:dark\\:group-hover\\:border-button_outline{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .sm\\:dark\\:group-hover\\:border-error{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.group:hover .sm\\:dark\\:group-hover\\:border-text-light{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.group:hover .sm\\:dark\\:group-hover\\:border-text-dimmed{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .sm\\:dark\\:group-hover\\:border-text-dark{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .sm\\:dark\\:group-hover\\:border-body-light{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .sm\\:dark\\:group-hover\\:border-body-dark{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.group:hover .sm\\:dark\\:group-hover\\:border-button{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.group:hover .sm\\:dark\\:group-hover\\:border-button_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.sm\\:dark\\:focus-within\\:border-transparent:focus-within{border-color:transparent}.sm\\:dark\\:focus-within\\:border-current:focus-within{border-color:currentColor}.sm\\:dark\\:focus-within\\:border-white:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.sm\\:dark\\:focus-within\\:border-lightgrey:focus-within{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.sm\\:dark\\:focus-within\\:border-midgrey:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.sm\\:dark\\:focus-within\\:border-darkgrey:focus-within{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.sm\\:dark\\:focus-within\\:border-grey:focus-within{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.sm\\:dark\\:focus-within\\:border-black:focus-within{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.sm\\:dark\\:focus-within\\:border-highlight:focus-within{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.sm\\:dark\\:focus-within\\:border-highlight_hover:focus-within{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.sm\\:dark\\:focus-within\\:border-button_outline:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.sm\\:dark\\:focus-within\\:border-error:focus-within{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.sm\\:dark\\:focus-within\\:border-text-light:focus-within{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.sm\\:dark\\:focus-within\\:border-text-dimmed:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.sm\\:dark\\:focus-within\\:border-text-dark:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.sm\\:dark\\:focus-within\\:border-body-light:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.sm\\:dark\\:focus-within\\:border-body-dark:focus-within{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.sm\\:dark\\:focus-within\\:border-button:focus-within{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.sm\\:dark\\:focus-within\\:border-button_hover:focus-within{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.sm\\:dark\\:hover\\:border-transparent:hover{border-color:transparent}.sm\\:dark\\:hover\\:border-current:hover{border-color:currentColor}.sm\\:dark\\:hover\\:border-white:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.sm\\:dark\\:hover\\:border-lightgrey:hover{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.sm\\:dark\\:hover\\:border-midgrey:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.sm\\:dark\\:hover\\:border-darkgrey:hover{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.sm\\:dark\\:hover\\:border-grey:hover{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.sm\\:dark\\:hover\\:border-black:hover{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.sm\\:dark\\:hover\\:border-highlight:hover{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.sm\\:dark\\:hover\\:border-highlight_hover:hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.sm\\:dark\\:hover\\:border-button_outline:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.sm\\:dark\\:hover\\:border-error:hover{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.sm\\:dark\\:hover\\:border-text-light:hover{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.sm\\:dark\\:hover\\:border-text-dimmed:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.sm\\:dark\\:hover\\:border-text-dark:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.sm\\:dark\\:hover\\:border-body-light:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.sm\\:dark\\:hover\\:border-body-dark:hover{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.sm\\:dark\\:hover\\:border-button:hover{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.sm\\:dark\\:hover\\:border-button_hover:hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.sm\\:dark\\:focus\\:border-transparent:focus{border-color:transparent}.sm\\:dark\\:focus\\:border-current:focus{border-color:currentColor}.sm\\:dark\\:focus\\:border-white:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.sm\\:dark\\:focus\\:border-lightgrey:focus{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.sm\\:dark\\:focus\\:border-midgrey:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.sm\\:dark\\:focus\\:border-darkgrey:focus{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.sm\\:dark\\:focus\\:border-grey:focus{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.sm\\:dark\\:focus\\:border-black:focus{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.sm\\:dark\\:focus\\:border-highlight:focus{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.sm\\:dark\\:focus\\:border-highlight_hover:focus{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.sm\\:dark\\:focus\\:border-button_outline:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.sm\\:dark\\:focus\\:border-error:focus{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.sm\\:dark\\:focus\\:border-text-light:focus{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.sm\\:dark\\:focus\\:border-text-dimmed:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.sm\\:dark\\:focus\\:border-text-dark:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.sm\\:dark\\:focus\\:border-body-light:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.sm\\:dark\\:focus\\:border-body-dark:focus{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.sm\\:dark\\:focus\\:border-button:focus{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.sm\\:dark\\:focus\\:border-button_hover:focus{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}}.sm\\:border-opacity-0{--tw-border-opacity:0}.sm\\:border-opacity-5{--tw-border-opacity:0.05}.sm\\:border-opacity-10{--tw-border-opacity:0.1}.sm\\:border-opacity-20{--tw-border-opacity:0.2}.sm\\:border-opacity-25{--tw-border-opacity:0.25}.sm\\:border-opacity-30{--tw-border-opacity:0.3}.sm\\:border-opacity-40{--tw-border-opacity:0.4}.sm\\:border-opacity-50{--tw-border-opacity:0.5}.sm\\:border-opacity-60{--tw-border-opacity:0.6}.sm\\:border-opacity-70{--tw-border-opacity:0.7}.sm\\:border-opacity-75{--tw-border-opacity:0.75}.sm\\:border-opacity-80{--tw-border-opacity:0.8}.sm\\:border-opacity-90{--tw-border-opacity:0.9}.sm\\:border-opacity-95{--tw-border-opacity:0.95}.sm\\:border-opacity-100{--tw-border-opacity:1}.group:hover .sm\\:group-hover\\:border-opacity-0{--tw-border-opacity:0}.group:hover .sm\\:group-hover\\:border-opacity-5{--tw-border-opacity:0.05}.group:hover .sm\\:group-hover\\:border-opacity-10{--tw-border-opacity:0.1}.group:hover .sm\\:group-hover\\:border-opacity-20{--tw-border-opacity:0.2}.group:hover .sm\\:group-hover\\:border-opacity-25{--tw-border-opacity:0.25}.group:hover .sm\\:group-hover\\:border-opacity-30{--tw-border-opacity:0.3}.group:hover .sm\\:group-hover\\:border-opacity-40{--tw-border-opacity:0.4}.group:hover .sm\\:group-hover\\:border-opacity-50{--tw-border-opacity:0.5}.group:hover .sm\\:group-hover\\:border-opacity-60{--tw-border-opacity:0.6}.group:hover .sm\\:group-hover\\:border-opacity-70{--tw-border-opacity:0.7}.group:hover .sm\\:group-hover\\:border-opacity-75{--tw-border-opacity:0.75}.group:hover .sm\\:group-hover\\:border-opacity-80{--tw-border-opacity:0.8}.group:hover .sm\\:group-hover\\:border-opacity-90{--tw-border-opacity:0.9}.group:hover .sm\\:group-hover\\:border-opacity-95{--tw-border-opacity:0.95}.group:hover .sm\\:group-hover\\:border-opacity-100{--tw-border-opacity:1}.sm\\:focus-within\\:border-opacity-0:focus-within{--tw-border-opacity:0}.sm\\:focus-within\\:border-opacity-5:focus-within{--tw-border-opacity:0.05}.sm\\:focus-within\\:border-opacity-10:focus-within{--tw-border-opacity:0.1}.sm\\:focus-within\\:border-opacity-20:focus-within{--tw-border-opacity:0.2}.sm\\:focus-within\\:border-opacity-25:focus-within{--tw-border-opacity:0.25}.sm\\:focus-within\\:border-opacity-30:focus-within{--tw-border-opacity:0.3}.sm\\:focus-within\\:border-opacity-40:focus-within{--tw-border-opacity:0.4}.sm\\:focus-within\\:border-opacity-50:focus-within{--tw-border-opacity:0.5}.sm\\:focus-within\\:border-opacity-60:focus-within{--tw-border-opacity:0.6}.sm\\:focus-within\\:border-opacity-70:focus-within{--tw-border-opacity:0.7}.sm\\:focus-within\\:border-opacity-75:focus-within{--tw-border-opacity:0.75}.sm\\:focus-within\\:border-opacity-80:focus-within{--tw-border-opacity:0.8}.sm\\:focus-within\\:border-opacity-90:focus-within{--tw-border-opacity:0.9}.sm\\:focus-within\\:border-opacity-95:focus-within{--tw-border-opacity:0.95}.sm\\:focus-within\\:border-opacity-100:focus-within{--tw-border-opacity:1}.sm\\:hover\\:border-opacity-0:hover{--tw-border-opacity:0}.sm\\:hover\\:border-opacity-5:hover{--tw-border-opacity:0.05}.sm\\:hover\\:border-opacity-10:hover{--tw-border-opacity:0.1}.sm\\:hover\\:border-opacity-20:hover{--tw-border-opacity:0.2}.sm\\:hover\\:border-opacity-25:hover{--tw-border-opacity:0.25}.sm\\:hover\\:border-opacity-30:hover{--tw-border-opacity:0.3}.sm\\:hover\\:border-opacity-40:hover{--tw-border-opacity:0.4}.sm\\:hover\\:border-opacity-50:hover{--tw-border-opacity:0.5}.sm\\:hover\\:border-opacity-60:hover{--tw-border-opacity:0.6}.sm\\:hover\\:border-opacity-70:hover{--tw-border-opacity:0.7}.sm\\:hover\\:border-opacity-75:hover{--tw-border-opacity:0.75}.sm\\:hover\\:border-opacity-80:hover{--tw-border-opacity:0.8}.sm\\:hover\\:border-opacity-90:hover{--tw-border-opacity:0.9}.sm\\:hover\\:border-opacity-95:hover{--tw-border-opacity:0.95}.sm\\:hover\\:border-opacity-100:hover{--tw-border-opacity:1}.sm\\:focus\\:border-opacity-0:focus{--tw-border-opacity:0}.sm\\:focus\\:border-opacity-5:focus{--tw-border-opacity:0.05}.sm\\:focus\\:border-opacity-10:focus{--tw-border-opacity:0.1}.sm\\:focus\\:border-opacity-20:focus{--tw-border-opacity:0.2}.sm\\:focus\\:border-opacity-25:focus{--tw-border-opacity:0.25}.sm\\:focus\\:border-opacity-30:focus{--tw-border-opacity:0.3}.sm\\:focus\\:border-opacity-40:focus{--tw-border-opacity:0.4}.sm\\:focus\\:border-opacity-50:focus{--tw-border-opacity:0.5}.sm\\:focus\\:border-opacity-60:focus{--tw-border-opacity:0.6}.sm\\:focus\\:border-opacity-70:focus{--tw-border-opacity:0.7}.sm\\:focus\\:border-opacity-75:focus{--tw-border-opacity:0.75}.sm\\:focus\\:border-opacity-80:focus{--tw-border-opacity:0.8}.sm\\:focus\\:border-opacity-90:focus{--tw-border-opacity:0.9}.sm\\:focus\\:border-opacity-95:focus{--tw-border-opacity:0.95}.sm\\:focus\\:border-opacity-100:focus{--tw-border-opacity:1}@media(prefers-color-scheme: dark){.sm\\:dark\\:border-opacity-0{--tw-border-opacity:0}.sm\\:dark\\:border-opacity-5{--tw-border-opacity:0.05}.sm\\:dark\\:border-opacity-10{--tw-border-opacity:0.1}.sm\\:dark\\:border-opacity-20{--tw-border-opacity:0.2}.sm\\:dark\\:border-opacity-25{--tw-border-opacity:0.25}.sm\\:dark\\:border-opacity-30{--tw-border-opacity:0.3}.sm\\:dark\\:border-opacity-40{--tw-border-opacity:0.4}.sm\\:dark\\:border-opacity-50{--tw-border-opacity:0.5}.sm\\:dark\\:border-opacity-60{--tw-border-opacity:0.6}.sm\\:dark\\:border-opacity-70{--tw-border-opacity:0.7}.sm\\:dark\\:border-opacity-75{--tw-border-opacity:0.75}.sm\\:dark\\:border-opacity-80{--tw-border-opacity:0.8}.sm\\:dark\\:border-opacity-90{--tw-border-opacity:0.9}.sm\\:dark\\:border-opacity-95{--tw-border-opacity:0.95}.sm\\:dark\\:border-opacity-100{--tw-border-opacity:1}.group:hover .sm\\:dark\\:group-hover\\:border-opacity-0{--tw-border-opacity:0}.group:hover .sm\\:dark\\:group-hover\\:border-opacity-5{--tw-border-opacity:0.05}.group:hover .sm\\:dark\\:group-hover\\:border-opacity-10{--tw-border-opacity:0.1}.group:hover .sm\\:dark\\:group-hover\\:border-opacity-20{--tw-border-opacity:0.2}.group:hover .sm\\:dark\\:group-hover\\:border-opacity-25{--tw-border-opacity:0.25}.group:hover .sm\\:dark\\:group-hover\\:border-opacity-30{--tw-border-opacity:0.3}.group:hover .sm\\:dark\\:group-hover\\:border-opacity-40{--tw-border-opacity:0.4}.group:hover .sm\\:dark\\:group-hover\\:border-opacity-50{--tw-border-opacity:0.5}.group:hover .sm\\:dark\\:group-hover\\:border-opacity-60{--tw-border-opacity:0.6}.group:hover .sm\\:dark\\:group-hover\\:border-opacity-70{--tw-border-opacity:0.7}.group:hover .sm\\:dark\\:group-hover\\:border-opacity-75{--tw-border-opacity:0.75}.group:hover .sm\\:dark\\:group-hover\\:border-opacity-80{--tw-border-opacity:0.8}.group:hover .sm\\:dark\\:group-hover\\:border-opacity-90{--tw-border-opacity:0.9}.group:hover .sm\\:dark\\:group-hover\\:border-opacity-95{--tw-border-opacity:0.95}.group:hover .sm\\:dark\\:group-hover\\:border-opacity-100{--tw-border-opacity:1}.sm\\:dark\\:focus-within\\:border-opacity-0:focus-within{--tw-border-opacity:0}.sm\\:dark\\:focus-within\\:border-opacity-5:focus-within{--tw-border-opacity:0.05}.sm\\:dark\\:focus-within\\:border-opacity-10:focus-within{--tw-border-opacity:0.1}.sm\\:dark\\:focus-within\\:border-opacity-20:focus-within{--tw-border-opacity:0.2}.sm\\:dark\\:focus-within\\:border-opacity-25:focus-within{--tw-border-opacity:0.25}.sm\\:dark\\:focus-within\\:border-opacity-30:focus-within{--tw-border-opacity:0.3}.sm\\:dark\\:focus-within\\:border-opacity-40:focus-within{--tw-border-opacity:0.4}.sm\\:dark\\:focus-within\\:border-opacity-50:focus-within{--tw-border-opacity:0.5}.sm\\:dark\\:focus-within\\:border-opacity-60:focus-within{--tw-border-opacity:0.6}.sm\\:dark\\:focus-within\\:border-opacity-70:focus-within{--tw-border-opacity:0.7}.sm\\:dark\\:focus-within\\:border-opacity-75:focus-within{--tw-border-opacity:0.75}.sm\\:dark\\:focus-within\\:border-opacity-80:focus-within{--tw-border-opacity:0.8}.sm\\:dark\\:focus-within\\:border-opacity-90:focus-within{--tw-border-opacity:0.9}.sm\\:dark\\:focus-within\\:border-opacity-95:focus-within{--tw-border-opacity:0.95}.sm\\:dark\\:focus-within\\:border-opacity-100:focus-within{--tw-border-opacity:1}.sm\\:dark\\:hover\\:border-opacity-0:hover{--tw-border-opacity:0}.sm\\:dark\\:hover\\:border-opacity-5:hover{--tw-border-opacity:0.05}.sm\\:dark\\:hover\\:border-opacity-10:hover{--tw-border-opacity:0.1}.sm\\:dark\\:hover\\:border-opacity-20:hover{--tw-border-opacity:0.2}.sm\\:dark\\:hover\\:border-opacity-25:hover{--tw-border-opacity:0.25}.sm\\:dark\\:hover\\:border-opacity-30:hover{--tw-border-opacity:0.3}.sm\\:dark\\:hover\\:border-opacity-40:hover{--tw-border-opacity:0.4}.sm\\:dark\\:hover\\:border-opacity-50:hover{--tw-border-opacity:0.5}.sm\\:dark\\:hover\\:border-opacity-60:hover{--tw-border-opacity:0.6}.sm\\:dark\\:hover\\:border-opacity-70:hover{--tw-border-opacity:0.7}.sm\\:dark\\:hover\\:border-opacity-75:hover{--tw-border-opacity:0.75}.sm\\:dark\\:hover\\:border-opacity-80:hover{--tw-border-opacity:0.8}.sm\\:dark\\:hover\\:border-opacity-90:hover{--tw-border-opacity:0.9}.sm\\:dark\\:hover\\:border-opacity-95:hover{--tw-border-opacity:0.95}.sm\\:dark\\:hover\\:border-opacity-100:hover{--tw-border-opacity:1}.sm\\:dark\\:focus\\:border-opacity-0:focus{--tw-border-opacity:0}.sm\\:dark\\:focus\\:border-opacity-5:focus{--tw-border-opacity:0.05}.sm\\:dark\\:focus\\:border-opacity-10:focus{--tw-border-opacity:0.1}.sm\\:dark\\:focus\\:border-opacity-20:focus{--tw-border-opacity:0.2}.sm\\:dark\\:focus\\:border-opacity-25:focus{--tw-border-opacity:0.25}.sm\\:dark\\:focus\\:border-opacity-30:focus{--tw-border-opacity:0.3}.sm\\:dark\\:focus\\:border-opacity-40:focus{--tw-border-opacity:0.4}.sm\\:dark\\:focus\\:border-opacity-50:focus{--tw-border-opacity:0.5}.sm\\:dark\\:focus\\:border-opacity-60:focus{--tw-border-opacity:0.6}.sm\\:dark\\:focus\\:border-opacity-70:focus{--tw-border-opacity:0.7}.sm\\:dark\\:focus\\:border-opacity-75:focus{--tw-border-opacity:0.75}.sm\\:dark\\:focus\\:border-opacity-80:focus{--tw-border-opacity:0.8}.sm\\:dark\\:focus\\:border-opacity-90:focus{--tw-border-opacity:0.9}.sm\\:dark\\:focus\\:border-opacity-95:focus{--tw-border-opacity:0.95}.sm\\:dark\\:focus\\:border-opacity-100:focus{--tw-border-opacity:1}}.sm\\:bg-transparent{background-color:transparent}.sm\\:bg-current{background-color:currentColor}.sm\\:bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.sm\\:bg-lightgrey{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.sm\\:bg-midgrey{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.sm\\:bg-darkgrey{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.sm\\:bg-grey{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.sm\\:bg-black{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.sm\\:bg-highlight{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.sm\\:bg-highlight_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.sm\\:bg-button_outline{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.sm\\:bg-error{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.sm\\:bg-text-light{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.sm\\:bg-text-dimmed{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.sm\\:bg-text-dark{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.sm\\:bg-body-light{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.sm\\:bg-body-dark{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.sm\\:bg-button{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.sm\\:bg-button_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.group:hover .sm\\:group-hover\\:bg-transparent{background-color:transparent}.group:hover .sm\\:group-hover\\:bg-current{background-color:currentColor}.group:hover .sm\\:group-hover\\:bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .sm\\:group-hover\\:bg-lightgrey{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.group:hover .sm\\:group-hover\\:bg-midgrey{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .sm\\:group-hover\\:bg-darkgrey{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.group:hover .sm\\:group-hover\\:bg-grey{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.group:hover .sm\\:group-hover\\:bg-black{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.group:hover .sm\\:group-hover\\:bg-highlight{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.group:hover .sm\\:group-hover\\:bg-highlight_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.group:hover .sm\\:group-hover\\:bg-button_outline{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .sm\\:group-hover\\:bg-error{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.group:hover .sm\\:group-hover\\:bg-text-light{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.group:hover .sm\\:group-hover\\:bg-text-dimmed{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .sm\\:group-hover\\:bg-text-dark{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .sm\\:group-hover\\:bg-body-light{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .sm\\:group-hover\\:bg-body-dark{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.group:hover .sm\\:group-hover\\:bg-button{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.group:hover .sm\\:group-hover\\:bg-button_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.sm\\:focus-within\\:bg-transparent:focus-within{background-color:transparent}.sm\\:focus-within\\:bg-current:focus-within{background-color:currentColor}.sm\\:focus-within\\:bg-white:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.sm\\:focus-within\\:bg-lightgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.sm\\:focus-within\\:bg-midgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.sm\\:focus-within\\:bg-darkgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.sm\\:focus-within\\:bg-grey:focus-within{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.sm\\:focus-within\\:bg-black:focus-within{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.sm\\:focus-within\\:bg-highlight:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.sm\\:focus-within\\:bg-highlight_hover:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.sm\\:focus-within\\:bg-button_outline:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.sm\\:focus-within\\:bg-error:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.sm\\:focus-within\\:bg-text-light:focus-within{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.sm\\:focus-within\\:bg-text-dimmed:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.sm\\:focus-within\\:bg-text-dark:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.sm\\:focus-within\\:bg-body-light:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.sm\\:focus-within\\:bg-body-dark:focus-within{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.sm\\:focus-within\\:bg-button:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.sm\\:focus-within\\:bg-button_hover:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.sm\\:hover\\:bg-transparent:hover{background-color:transparent}.sm\\:hover\\:bg-current:hover{background-color:currentColor}.sm\\:hover\\:bg-white:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.sm\\:hover\\:bg-lightgrey:hover{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.sm\\:hover\\:bg-midgrey:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.sm\\:hover\\:bg-darkgrey:hover{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.sm\\:hover\\:bg-grey:hover{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.sm\\:hover\\:bg-black:hover{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.sm\\:hover\\:bg-highlight:hover{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.sm\\:hover\\:bg-highlight_hover:hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.sm\\:hover\\:bg-button_outline:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.sm\\:hover\\:bg-error:hover{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.sm\\:hover\\:bg-text-light:hover{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.sm\\:hover\\:bg-text-dimmed:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.sm\\:hover\\:bg-text-dark:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.sm\\:hover\\:bg-body-light:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.sm\\:hover\\:bg-body-dark:hover{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.sm\\:hover\\:bg-button:hover{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.sm\\:hover\\:bg-button_hover:hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.sm\\:focus\\:bg-transparent:focus{background-color:transparent}.sm\\:focus\\:bg-current:focus{background-color:currentColor}.sm\\:focus\\:bg-white:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.sm\\:focus\\:bg-lightgrey:focus{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.sm\\:focus\\:bg-midgrey:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.sm\\:focus\\:bg-darkgrey:focus{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.sm\\:focus\\:bg-grey:focus{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.sm\\:focus\\:bg-black:focus{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.sm\\:focus\\:bg-highlight:focus{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.sm\\:focus\\:bg-highlight_hover:focus{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.sm\\:focus\\:bg-button_outline:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.sm\\:focus\\:bg-error:focus{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.sm\\:focus\\:bg-text-light:focus{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.sm\\:focus\\:bg-text-dimmed:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.sm\\:focus\\:bg-text-dark:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.sm\\:focus\\:bg-body-light:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.sm\\:focus\\:bg-body-dark:focus{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.sm\\:focus\\:bg-button:focus{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.sm\\:focus\\:bg-button_hover:focus{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}@media(prefers-color-scheme: dark){.sm\\:dark\\:bg-transparent{background-color:transparent}.sm\\:dark\\:bg-current{background-color:currentColor}.sm\\:dark\\:bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.sm\\:dark\\:bg-lightgrey{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.sm\\:dark\\:bg-midgrey{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.sm\\:dark\\:bg-darkgrey{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.sm\\:dark\\:bg-grey{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.sm\\:dark\\:bg-black{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.sm\\:dark\\:bg-highlight{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.sm\\:dark\\:bg-highlight_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.sm\\:dark\\:bg-button_outline{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.sm\\:dark\\:bg-error{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.sm\\:dark\\:bg-text-light{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.sm\\:dark\\:bg-text-dimmed{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.sm\\:dark\\:bg-text-dark{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.sm\\:dark\\:bg-body-light{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.sm\\:dark\\:bg-body-dark{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.sm\\:dark\\:bg-button{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.sm\\:dark\\:bg-button_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.group:hover .sm\\:dark\\:group-hover\\:bg-transparent{background-color:transparent}.group:hover .sm\\:dark\\:group-hover\\:bg-current{background-color:currentColor}.group:hover .sm\\:dark\\:group-hover\\:bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .sm\\:dark\\:group-hover\\:bg-lightgrey{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.group:hover .sm\\:dark\\:group-hover\\:bg-midgrey{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .sm\\:dark\\:group-hover\\:bg-darkgrey{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.group:hover .sm\\:dark\\:group-hover\\:bg-grey{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.group:hover .sm\\:dark\\:group-hover\\:bg-black{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.group:hover .sm\\:dark\\:group-hover\\:bg-highlight{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.group:hover .sm\\:dark\\:group-hover\\:bg-highlight_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.group:hover .sm\\:dark\\:group-hover\\:bg-button_outline{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .sm\\:dark\\:group-hover\\:bg-error{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.group:hover .sm\\:dark\\:group-hover\\:bg-text-light{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.group:hover .sm\\:dark\\:group-hover\\:bg-text-dimmed{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .sm\\:dark\\:group-hover\\:bg-text-dark{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .sm\\:dark\\:group-hover\\:bg-body-light{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .sm\\:dark\\:group-hover\\:bg-body-dark{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.group:hover .sm\\:dark\\:group-hover\\:bg-button{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.group:hover .sm\\:dark\\:group-hover\\:bg-button_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.sm\\:dark\\:focus-within\\:bg-transparent:focus-within{background-color:transparent}.sm\\:dark\\:focus-within\\:bg-current:focus-within{background-color:currentColor}.sm\\:dark\\:focus-within\\:bg-white:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.sm\\:dark\\:focus-within\\:bg-lightgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.sm\\:dark\\:focus-within\\:bg-midgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.sm\\:dark\\:focus-within\\:bg-darkgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.sm\\:dark\\:focus-within\\:bg-grey:focus-within{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.sm\\:dark\\:focus-within\\:bg-black:focus-within{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.sm\\:dark\\:focus-within\\:bg-highlight:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.sm\\:dark\\:focus-within\\:bg-highlight_hover:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.sm\\:dark\\:focus-within\\:bg-button_outline:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.sm\\:dark\\:focus-within\\:bg-error:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.sm\\:dark\\:focus-within\\:bg-text-light:focus-within{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.sm\\:dark\\:focus-within\\:bg-text-dimmed:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.sm\\:dark\\:focus-within\\:bg-text-dark:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.sm\\:dark\\:focus-within\\:bg-body-light:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.sm\\:dark\\:focus-within\\:bg-body-dark:focus-within{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.sm\\:dark\\:focus-within\\:bg-button:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.sm\\:dark\\:focus-within\\:bg-button_hover:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.sm\\:dark\\:hover\\:bg-transparent:hover{background-color:transparent}.sm\\:dark\\:hover\\:bg-current:hover{background-color:currentColor}.sm\\:dark\\:hover\\:bg-white:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.sm\\:dark\\:hover\\:bg-lightgrey:hover{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.sm\\:dark\\:hover\\:bg-midgrey:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.sm\\:dark\\:hover\\:bg-darkgrey:hover{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.sm\\:dark\\:hover\\:bg-grey:hover{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.sm\\:dark\\:hover\\:bg-black:hover{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.sm\\:dark\\:hover\\:bg-highlight:hover{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.sm\\:dark\\:hover\\:bg-highlight_hover:hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.sm\\:dark\\:hover\\:bg-button_outline:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.sm\\:dark\\:hover\\:bg-error:hover{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.sm\\:dark\\:hover\\:bg-text-light:hover{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.sm\\:dark\\:hover\\:bg-text-dimmed:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.sm\\:dark\\:hover\\:bg-text-dark:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.sm\\:dark\\:hover\\:bg-body-light:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.sm\\:dark\\:hover\\:bg-body-dark:hover{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.sm\\:dark\\:hover\\:bg-button:hover{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.sm\\:dark\\:hover\\:bg-button_hover:hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.sm\\:dark\\:focus\\:bg-transparent:focus{background-color:transparent}.sm\\:dark\\:focus\\:bg-current:focus{background-color:currentColor}.sm\\:dark\\:focus\\:bg-white:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.sm\\:dark\\:focus\\:bg-lightgrey:focus{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.sm\\:dark\\:focus\\:bg-midgrey:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.sm\\:dark\\:focus\\:bg-darkgrey:focus{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.sm\\:dark\\:focus\\:bg-grey:focus{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.sm\\:dark\\:focus\\:bg-black:focus{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.sm\\:dark\\:focus\\:bg-highlight:focus{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.sm\\:dark\\:focus\\:bg-highlight_hover:focus{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.sm\\:dark\\:focus\\:bg-button_outline:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.sm\\:dark\\:focus\\:bg-error:focus{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.sm\\:dark\\:focus\\:bg-text-light:focus{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.sm\\:dark\\:focus\\:bg-text-dimmed:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.sm\\:dark\\:focus\\:bg-text-dark:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.sm\\:dark\\:focus\\:bg-body-light:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.sm\\:dark\\:focus\\:bg-body-dark:focus{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.sm\\:dark\\:focus\\:bg-button:focus{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.sm\\:dark\\:focus\\:bg-button_hover:focus{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}}.sm\\:bg-opacity-0{--tw-bg-opacity:0}.sm\\:bg-opacity-5{--tw-bg-opacity:0.05}.sm\\:bg-opacity-10{--tw-bg-opacity:0.1}.sm\\:bg-opacity-20{--tw-bg-opacity:0.2}.sm\\:bg-opacity-25{--tw-bg-opacity:0.25}.sm\\:bg-opacity-30{--tw-bg-opacity:0.3}.sm\\:bg-opacity-40{--tw-bg-opacity:0.4}.sm\\:bg-opacity-50{--tw-bg-opacity:0.5}.sm\\:bg-opacity-60{--tw-bg-opacity:0.6}.sm\\:bg-opacity-70{--tw-bg-opacity:0.7}.sm\\:bg-opacity-75{--tw-bg-opacity:0.75}.sm\\:bg-opacity-80{--tw-bg-opacity:0.8}.sm\\:bg-opacity-90{--tw-bg-opacity:0.9}.sm\\:bg-opacity-95{--tw-bg-opacity:0.95}.sm\\:bg-opacity-100{--tw-bg-opacity:1}.group:hover .sm\\:group-hover\\:bg-opacity-0{--tw-bg-opacity:0}.group:hover .sm\\:group-hover\\:bg-opacity-5{--tw-bg-opacity:0.05}.group:hover .sm\\:group-hover\\:bg-opacity-10{--tw-bg-opacity:0.1}.group:hover .sm\\:group-hover\\:bg-opacity-20{--tw-bg-opacity:0.2}.group:hover .sm\\:group-hover\\:bg-opacity-25{--tw-bg-opacity:0.25}.group:hover .sm\\:group-hover\\:bg-opacity-30{--tw-bg-opacity:0.3}.group:hover .sm\\:group-hover\\:bg-opacity-40{--tw-bg-opacity:0.4}.group:hover .sm\\:group-hover\\:bg-opacity-50{--tw-bg-opacity:0.5}.group:hover .sm\\:group-hover\\:bg-opacity-60{--tw-bg-opacity:0.6}.group:hover .sm\\:group-hover\\:bg-opacity-70{--tw-bg-opacity:0.7}.group:hover .sm\\:group-hover\\:bg-opacity-75{--tw-bg-opacity:0.75}.group:hover .sm\\:group-hover\\:bg-opacity-80{--tw-bg-opacity:0.8}.group:hover .sm\\:group-hover\\:bg-opacity-90{--tw-bg-opacity:0.9}.group:hover .sm\\:group-hover\\:bg-opacity-95{--tw-bg-opacity:0.95}.group:hover .sm\\:group-hover\\:bg-opacity-100{--tw-bg-opacity:1}.sm\\:focus-within\\:bg-opacity-0:focus-within{--tw-bg-opacity:0}.sm\\:focus-within\\:bg-opacity-5:focus-within{--tw-bg-opacity:0.05}.sm\\:focus-within\\:bg-opacity-10:focus-within{--tw-bg-opacity:0.1}.sm\\:focus-within\\:bg-opacity-20:focus-within{--tw-bg-opacity:0.2}.sm\\:focus-within\\:bg-opacity-25:focus-within{--tw-bg-opacity:0.25}.sm\\:focus-within\\:bg-opacity-30:focus-within{--tw-bg-opacity:0.3}.sm\\:focus-within\\:bg-opacity-40:focus-within{--tw-bg-opacity:0.4}.sm\\:focus-within\\:bg-opacity-50:focus-within{--tw-bg-opacity:0.5}.sm\\:focus-within\\:bg-opacity-60:focus-within{--tw-bg-opacity:0.6}.sm\\:focus-within\\:bg-opacity-70:focus-within{--tw-bg-opacity:0.7}.sm\\:focus-within\\:bg-opacity-75:focus-within{--tw-bg-opacity:0.75}.sm\\:focus-within\\:bg-opacity-80:focus-within{--tw-bg-opacity:0.8}.sm\\:focus-within\\:bg-opacity-90:focus-within{--tw-bg-opacity:0.9}.sm\\:focus-within\\:bg-opacity-95:focus-within{--tw-bg-opacity:0.95}.sm\\:focus-within\\:bg-opacity-100:focus-within{--tw-bg-opacity:1}.sm\\:hover\\:bg-opacity-0:hover{--tw-bg-opacity:0}.sm\\:hover\\:bg-opacity-5:hover{--tw-bg-opacity:0.05}.sm\\:hover\\:bg-opacity-10:hover{--tw-bg-opacity:0.1}.sm\\:hover\\:bg-opacity-20:hover{--tw-bg-opacity:0.2}.sm\\:hover\\:bg-opacity-25:hover{--tw-bg-opacity:0.25}.sm\\:hover\\:bg-opacity-30:hover{--tw-bg-opacity:0.3}.sm\\:hover\\:bg-opacity-40:hover{--tw-bg-opacity:0.4}.sm\\:hover\\:bg-opacity-50:hover{--tw-bg-opacity:0.5}.sm\\:hover\\:bg-opacity-60:hover{--tw-bg-opacity:0.6}.sm\\:hover\\:bg-opacity-70:hover{--tw-bg-opacity:0.7}.sm\\:hover\\:bg-opacity-75:hover{--tw-bg-opacity:0.75}.sm\\:hover\\:bg-opacity-80:hover{--tw-bg-opacity:0.8}.sm\\:hover\\:bg-opacity-90:hover{--tw-bg-opacity:0.9}.sm\\:hover\\:bg-opacity-95:hover{--tw-bg-opacity:0.95}.sm\\:hover\\:bg-opacity-100:hover{--tw-bg-opacity:1}.sm\\:focus\\:bg-opacity-0:focus{--tw-bg-opacity:0}.sm\\:focus\\:bg-opacity-5:focus{--tw-bg-opacity:0.05}.sm\\:focus\\:bg-opacity-10:focus{--tw-bg-opacity:0.1}.sm\\:focus\\:bg-opacity-20:focus{--tw-bg-opacity:0.2}.sm\\:focus\\:bg-opacity-25:focus{--tw-bg-opacity:0.25}.sm\\:focus\\:bg-opacity-30:focus{--tw-bg-opacity:0.3}.sm\\:focus\\:bg-opacity-40:focus{--tw-bg-opacity:0.4}.sm\\:focus\\:bg-opacity-50:focus{--tw-bg-opacity:0.5}.sm\\:focus\\:bg-opacity-60:focus{--tw-bg-opacity:0.6}.sm\\:focus\\:bg-opacity-70:focus{--tw-bg-opacity:0.7}.sm\\:focus\\:bg-opacity-75:focus{--tw-bg-opacity:0.75}.sm\\:focus\\:bg-opacity-80:focus{--tw-bg-opacity:0.8}.sm\\:focus\\:bg-opacity-90:focus{--tw-bg-opacity:0.9}.sm\\:focus\\:bg-opacity-95:focus{--tw-bg-opacity:0.95}.sm\\:focus\\:bg-opacity-100:focus{--tw-bg-opacity:1}@media(prefers-color-scheme: dark){.sm\\:dark\\:bg-opacity-0{--tw-bg-opacity:0}.sm\\:dark\\:bg-opacity-5{--tw-bg-opacity:0.05}.sm\\:dark\\:bg-opacity-10{--tw-bg-opacity:0.1}.sm\\:dark\\:bg-opacity-20{--tw-bg-opacity:0.2}.sm\\:dark\\:bg-opacity-25{--tw-bg-opacity:0.25}.sm\\:dark\\:bg-opacity-30{--tw-bg-opacity:0.3}.sm\\:dark\\:bg-opacity-40{--tw-bg-opacity:0.4}.sm\\:dark\\:bg-opacity-50{--tw-bg-opacity:0.5}.sm\\:dark\\:bg-opacity-60{--tw-bg-opacity:0.6}.sm\\:dark\\:bg-opacity-70{--tw-bg-opacity:0.7}.sm\\:dark\\:bg-opacity-75{--tw-bg-opacity:0.75}.sm\\:dark\\:bg-opacity-80{--tw-bg-opacity:0.8}.sm\\:dark\\:bg-opacity-90{--tw-bg-opacity:0.9}.sm\\:dark\\:bg-opacity-95{--tw-bg-opacity:0.95}.sm\\:dark\\:bg-opacity-100{--tw-bg-opacity:1}.group:hover .sm\\:dark\\:group-hover\\:bg-opacity-0{--tw-bg-opacity:0}.group:hover .sm\\:dark\\:group-hover\\:bg-opacity-5{--tw-bg-opacity:0.05}.group:hover .sm\\:dark\\:group-hover\\:bg-opacity-10{--tw-bg-opacity:0.1}.group:hover .sm\\:dark\\:group-hover\\:bg-opacity-20{--tw-bg-opacity:0.2}.group:hover .sm\\:dark\\:group-hover\\:bg-opacity-25{--tw-bg-opacity:0.25}.group:hover .sm\\:dark\\:group-hover\\:bg-opacity-30{--tw-bg-opacity:0.3}.group:hover .sm\\:dark\\:group-hover\\:bg-opacity-40{--tw-bg-opacity:0.4}.group:hover .sm\\:dark\\:group-hover\\:bg-opacity-50{--tw-bg-opacity:0.5}.group:hover .sm\\:dark\\:group-hover\\:bg-opacity-60{--tw-bg-opacity:0.6}.group:hover .sm\\:dark\\:group-hover\\:bg-opacity-70{--tw-bg-opacity:0.7}.group:hover .sm\\:dark\\:group-hover\\:bg-opacity-75{--tw-bg-opacity:0.75}.group:hover .sm\\:dark\\:group-hover\\:bg-opacity-80{--tw-bg-opacity:0.8}.group:hover .sm\\:dark\\:group-hover\\:bg-opacity-90{--tw-bg-opacity:0.9}.group:hover .sm\\:dark\\:group-hover\\:bg-opacity-95{--tw-bg-opacity:0.95}.group:hover .sm\\:dark\\:group-hover\\:bg-opacity-100{--tw-bg-opacity:1}.sm\\:dark\\:focus-within\\:bg-opacity-0:focus-within{--tw-bg-opacity:0}.sm\\:dark\\:focus-within\\:bg-opacity-5:focus-within{--tw-bg-opacity:0.05}.sm\\:dark\\:focus-within\\:bg-opacity-10:focus-within{--tw-bg-opacity:0.1}.sm\\:dark\\:focus-within\\:bg-opacity-20:focus-within{--tw-bg-opacity:0.2}.sm\\:dark\\:focus-within\\:bg-opacity-25:focus-within{--tw-bg-opacity:0.25}.sm\\:dark\\:focus-within\\:bg-opacity-30:focus-within{--tw-bg-opacity:0.3}.sm\\:dark\\:focus-within\\:bg-opacity-40:focus-within{--tw-bg-opacity:0.4}.sm\\:dark\\:focus-within\\:bg-opacity-50:focus-within{--tw-bg-opacity:0.5}.sm\\:dark\\:focus-within\\:bg-opacity-60:focus-within{--tw-bg-opacity:0.6}.sm\\:dark\\:focus-within\\:bg-opacity-70:focus-within{--tw-bg-opacity:0.7}.sm\\:dark\\:focus-within\\:bg-opacity-75:focus-within{--tw-bg-opacity:0.75}.sm\\:dark\\:focus-within\\:bg-opacity-80:focus-within{--tw-bg-opacity:0.8}.sm\\:dark\\:focus-within\\:bg-opacity-90:focus-within{--tw-bg-opacity:0.9}.sm\\:dark\\:focus-within\\:bg-opacity-95:focus-within{--tw-bg-opacity:0.95}.sm\\:dark\\:focus-within\\:bg-opacity-100:focus-within{--tw-bg-opacity:1}.sm\\:dark\\:hover\\:bg-opacity-0:hover{--tw-bg-opacity:0}.sm\\:dark\\:hover\\:bg-opacity-5:hover{--tw-bg-opacity:0.05}.sm\\:dark\\:hover\\:bg-opacity-10:hover{--tw-bg-opacity:0.1}.sm\\:dark\\:hover\\:bg-opacity-20:hover{--tw-bg-opacity:0.2}.sm\\:dark\\:hover\\:bg-opacity-25:hover{--tw-bg-opacity:0.25}.sm\\:dark\\:hover\\:bg-opacity-30:hover{--tw-bg-opacity:0.3}.sm\\:dark\\:hover\\:bg-opacity-40:hover{--tw-bg-opacity:0.4}.sm\\:dark\\:hover\\:bg-opacity-50:hover{--tw-bg-opacity:0.5}.sm\\:dark\\:hover\\:bg-opacity-60:hover{--tw-bg-opacity:0.6}.sm\\:dark\\:hover\\:bg-opacity-70:hover{--tw-bg-opacity:0.7}.sm\\:dark\\:hover\\:bg-opacity-75:hover{--tw-bg-opacity:0.75}.sm\\:dark\\:hover\\:bg-opacity-80:hover{--tw-bg-opacity:0.8}.sm\\:dark\\:hover\\:bg-opacity-90:hover{--tw-bg-opacity:0.9}.sm\\:dark\\:hover\\:bg-opacity-95:hover{--tw-bg-opacity:0.95}.sm\\:dark\\:hover\\:bg-opacity-100:hover{--tw-bg-opacity:1}.sm\\:dark\\:focus\\:bg-opacity-0:focus{--tw-bg-opacity:0}.sm\\:dark\\:focus\\:bg-opacity-5:focus{--tw-bg-opacity:0.05}.sm\\:dark\\:focus\\:bg-opacity-10:focus{--tw-bg-opacity:0.1}.sm\\:dark\\:focus\\:bg-opacity-20:focus{--tw-bg-opacity:0.2}.sm\\:dark\\:focus\\:bg-opacity-25:focus{--tw-bg-opacity:0.25}.sm\\:dark\\:focus\\:bg-opacity-30:focus{--tw-bg-opacity:0.3}.sm\\:dark\\:focus\\:bg-opacity-40:focus{--tw-bg-opacity:0.4}.sm\\:dark\\:focus\\:bg-opacity-50:focus{--tw-bg-opacity:0.5}.sm\\:dark\\:focus\\:bg-opacity-60:focus{--tw-bg-opacity:0.6}.sm\\:dark\\:focus\\:bg-opacity-70:focus{--tw-bg-opacity:0.7}.sm\\:dark\\:focus\\:bg-opacity-75:focus{--tw-bg-opacity:0.75}.sm\\:dark\\:focus\\:bg-opacity-80:focus{--tw-bg-opacity:0.8}.sm\\:dark\\:focus\\:bg-opacity-90:focus{--tw-bg-opacity:0.9}.sm\\:dark\\:focus\\:bg-opacity-95:focus{--tw-bg-opacity:0.95}.sm\\:dark\\:focus\\:bg-opacity-100:focus{--tw-bg-opacity:1}}.sm\\:bg-none{background-image:none}.sm\\:bg-gradient-to-t{background-image:linear-gradient(to top, var(--tw-gradient-stops))}.sm\\:bg-gradient-to-tr{background-image:linear-gradient(to top right, var(--tw-gradient-stops))}.sm\\:bg-gradient-to-r{background-image:linear-gradient(to right, var(--tw-gradient-stops))}.sm\\:bg-gradient-to-br{background-image:linear-gradient(to bottom right, var(--tw-gradient-stops))}.sm\\:bg-gradient-to-b{background-image:linear-gradient(to bottom, var(--tw-gradient-stops))}.sm\\:bg-gradient-to-bl{background-image:linear-gradient(to bottom left, var(--tw-gradient-stops))}.sm\\:bg-gradient-to-l{background-image:linear-gradient(to left, var(--tw-gradient-stops))}.sm\\:bg-gradient-to-tl{background-image:linear-gradient(to top left, var(--tw-gradient-stops))}.sm\\:from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.sm\\:from-current{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:from-white{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:from-lightgrey{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.sm\\:from-midgrey{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:from-darkgrey{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.sm\\:from-grey{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.sm\\:from-black{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.sm\\:from-highlight{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.sm\\:from-highlight_hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.sm\\:from-button_outline{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:from-error{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.sm\\:from-text-light{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.sm\\:from-text-dimmed{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:from-text-dark{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:from-body-light{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:from-body-dark{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.sm\\:from-button{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.sm\\:from-button_hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.sm\\:hover\\:from-transparent:hover{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.sm\\:hover\\:from-current:hover{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:hover\\:from-white:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:hover\\:from-lightgrey:hover{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.sm\\:hover\\:from-midgrey:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:hover\\:from-darkgrey:hover{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.sm\\:hover\\:from-grey:hover{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.sm\\:hover\\:from-black:hover{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.sm\\:hover\\:from-highlight:hover{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.sm\\:hover\\:from-highlight_hover:hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.sm\\:hover\\:from-button_outline:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:hover\\:from-error:hover{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.sm\\:hover\\:from-text-light:hover{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.sm\\:hover\\:from-text-dimmed:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:hover\\:from-text-dark:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:hover\\:from-body-light:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:hover\\:from-body-dark:hover{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.sm\\:hover\\:from-button:hover{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.sm\\:hover\\:from-button_hover:hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.sm\\:focus\\:from-transparent:focus{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.sm\\:focus\\:from-current:focus{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:focus\\:from-white:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:focus\\:from-lightgrey:focus{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.sm\\:focus\\:from-midgrey:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:focus\\:from-darkgrey:focus{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.sm\\:focus\\:from-grey:focus{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.sm\\:focus\\:from-black:focus{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.sm\\:focus\\:from-highlight:focus{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.sm\\:focus\\:from-highlight_hover:focus{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.sm\\:focus\\:from-button_outline:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:focus\\:from-error:focus{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.sm\\:focus\\:from-text-light:focus{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.sm\\:focus\\:from-text-dimmed:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:focus\\:from-text-dark:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:focus\\:from-body-light:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:focus\\:from-body-dark:focus{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.sm\\:focus\\:from-button:focus{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.sm\\:focus\\:from-button_hover:focus{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}@media(prefers-color-scheme: dark){.sm\\:dark\\:from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.sm\\:dark\\:from-current{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:dark\\:from-white{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:dark\\:from-lightgrey{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.sm\\:dark\\:from-midgrey{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:dark\\:from-darkgrey{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.sm\\:dark\\:from-grey{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.sm\\:dark\\:from-black{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.sm\\:dark\\:from-highlight{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.sm\\:dark\\:from-highlight_hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.sm\\:dark\\:from-button_outline{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:dark\\:from-error{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.sm\\:dark\\:from-text-light{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.sm\\:dark\\:from-text-dimmed{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:dark\\:from-text-dark{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:dark\\:from-body-light{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:dark\\:from-body-dark{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.sm\\:dark\\:from-button{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.sm\\:dark\\:from-button_hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.sm\\:dark\\:hover\\:from-transparent:hover{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.sm\\:dark\\:hover\\:from-current:hover{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:dark\\:hover\\:from-white:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:dark\\:hover\\:from-lightgrey:hover{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.sm\\:dark\\:hover\\:from-midgrey:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:dark\\:hover\\:from-darkgrey:hover{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.sm\\:dark\\:hover\\:from-grey:hover{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.sm\\:dark\\:hover\\:from-black:hover{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.sm\\:dark\\:hover\\:from-highlight:hover{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.sm\\:dark\\:hover\\:from-highlight_hover:hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.sm\\:dark\\:hover\\:from-button_outline:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:dark\\:hover\\:from-error:hover{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.sm\\:dark\\:hover\\:from-text-light:hover{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.sm\\:dark\\:hover\\:from-text-dimmed:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:dark\\:hover\\:from-text-dark:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:dark\\:hover\\:from-body-light:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:dark\\:hover\\:from-body-dark:hover{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.sm\\:dark\\:hover\\:from-button:hover{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.sm\\:dark\\:hover\\:from-button_hover:hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.sm\\:dark\\:focus\\:from-transparent:focus{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.sm\\:dark\\:focus\\:from-current:focus{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:dark\\:focus\\:from-white:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:dark\\:focus\\:from-lightgrey:focus{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.sm\\:dark\\:focus\\:from-midgrey:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:dark\\:focus\\:from-darkgrey:focus{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.sm\\:dark\\:focus\\:from-grey:focus{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.sm\\:dark\\:focus\\:from-black:focus{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.sm\\:dark\\:focus\\:from-highlight:focus{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.sm\\:dark\\:focus\\:from-highlight_hover:focus{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.sm\\:dark\\:focus\\:from-button_outline:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:dark\\:focus\\:from-error:focus{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.sm\\:dark\\:focus\\:from-text-light:focus{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.sm\\:dark\\:focus\\:from-text-dimmed:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:dark\\:focus\\:from-text-dark:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:dark\\:focus\\:from-body-light:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:dark\\:focus\\:from-body-dark:focus{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.sm\\:dark\\:focus\\:from-button:focus{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.sm\\:dark\\:focus\\:from-button_hover:focus{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}}.sm\\:via-transparent{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.sm\\:via-current{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:via-white{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:via-lightgrey{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.sm\\:via-midgrey{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:via-darkgrey{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.sm\\:via-grey{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.sm\\:via-black{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.sm\\:via-highlight{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.sm\\:via-highlight_hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.sm\\:via-button_outline{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:via-error{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.sm\\:via-text-light{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.sm\\:via-text-dimmed{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:via-text-dark{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:via-body-light{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:via-body-dark{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.sm\\:via-button{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.sm\\:via-button_hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.sm\\:hover\\:via-transparent:hover{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.sm\\:hover\\:via-current:hover{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:hover\\:via-white:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:hover\\:via-lightgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.sm\\:hover\\:via-midgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:hover\\:via-darkgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.sm\\:hover\\:via-grey:hover{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.sm\\:hover\\:via-black:hover{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.sm\\:hover\\:via-highlight:hover{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.sm\\:hover\\:via-highlight_hover:hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.sm\\:hover\\:via-button_outline:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:hover\\:via-error:hover{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.sm\\:hover\\:via-text-light:hover{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.sm\\:hover\\:via-text-dimmed:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:hover\\:via-text-dark:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:hover\\:via-body-light:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:hover\\:via-body-dark:hover{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.sm\\:hover\\:via-button:hover{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.sm\\:hover\\:via-button_hover:hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.sm\\:focus\\:via-transparent:focus{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.sm\\:focus\\:via-current:focus{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:focus\\:via-white:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:focus\\:via-lightgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.sm\\:focus\\:via-midgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:focus\\:via-darkgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.sm\\:focus\\:via-grey:focus{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.sm\\:focus\\:via-black:focus{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.sm\\:focus\\:via-highlight:focus{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.sm\\:focus\\:via-highlight_hover:focus{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.sm\\:focus\\:via-button_outline:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:focus\\:via-error:focus{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.sm\\:focus\\:via-text-light:focus{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.sm\\:focus\\:via-text-dimmed:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:focus\\:via-text-dark:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:focus\\:via-body-light:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:focus\\:via-body-dark:focus{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.sm\\:focus\\:via-button:focus{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.sm\\:focus\\:via-button_hover:focus{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}@media(prefers-color-scheme: dark){.sm\\:dark\\:via-transparent{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.sm\\:dark\\:via-current{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:dark\\:via-white{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:dark\\:via-lightgrey{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.sm\\:dark\\:via-midgrey{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:dark\\:via-darkgrey{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.sm\\:dark\\:via-grey{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.sm\\:dark\\:via-black{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.sm\\:dark\\:via-highlight{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.sm\\:dark\\:via-highlight_hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.sm\\:dark\\:via-button_outline{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:dark\\:via-error{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.sm\\:dark\\:via-text-light{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.sm\\:dark\\:via-text-dimmed{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:dark\\:via-text-dark{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:dark\\:via-body-light{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:dark\\:via-body-dark{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.sm\\:dark\\:via-button{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.sm\\:dark\\:via-button_hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.sm\\:dark\\:hover\\:via-transparent:hover{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.sm\\:dark\\:hover\\:via-current:hover{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:dark\\:hover\\:via-white:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:dark\\:hover\\:via-lightgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.sm\\:dark\\:hover\\:via-midgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:dark\\:hover\\:via-darkgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.sm\\:dark\\:hover\\:via-grey:hover{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.sm\\:dark\\:hover\\:via-black:hover{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.sm\\:dark\\:hover\\:via-highlight:hover{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.sm\\:dark\\:hover\\:via-highlight_hover:hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.sm\\:dark\\:hover\\:via-button_outline:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:dark\\:hover\\:via-error:hover{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.sm\\:dark\\:hover\\:via-text-light:hover{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.sm\\:dark\\:hover\\:via-text-dimmed:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:dark\\:hover\\:via-text-dark:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:dark\\:hover\\:via-body-light:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:dark\\:hover\\:via-body-dark:hover{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.sm\\:dark\\:hover\\:via-button:hover{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.sm\\:dark\\:hover\\:via-button_hover:hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.sm\\:dark\\:focus\\:via-transparent:focus{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.sm\\:dark\\:focus\\:via-current:focus{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:dark\\:focus\\:via-white:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:dark\\:focus\\:via-lightgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.sm\\:dark\\:focus\\:via-midgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:dark\\:focus\\:via-darkgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.sm\\:dark\\:focus\\:via-grey:focus{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.sm\\:dark\\:focus\\:via-black:focus{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.sm\\:dark\\:focus\\:via-highlight:focus{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.sm\\:dark\\:focus\\:via-highlight_hover:focus{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.sm\\:dark\\:focus\\:via-button_outline:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:dark\\:focus\\:via-error:focus{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.sm\\:dark\\:focus\\:via-text-light:focus{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.sm\\:dark\\:focus\\:via-text-dimmed:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:dark\\:focus\\:via-text-dark:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:dark\\:focus\\:via-body-light:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:dark\\:focus\\:via-body-dark:focus{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.sm\\:dark\\:focus\\:via-button:focus{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.sm\\:dark\\:focus\\:via-button_hover:focus{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}}.sm\\:to-transparent{--tw-gradient-to:transparent}.sm\\:to-current{--tw-gradient-to:currentColor}.sm\\:to-white{--tw-gradient-to:#fff}.sm\\:to-lightgrey{--tw-gradient-to:#F7F7F7}.sm\\:to-midgrey{--tw-gradient-to:#cfcfcf}.sm\\:to-darkgrey{--tw-gradient-to:#7f7f7f}.sm\\:to-grey{--tw-gradient-to:#1e1e1e}.sm\\:to-black{--tw-gradient-to:#0f0f0f}.sm\\:to-highlight{--tw-gradient-to:#0071e3}.sm\\:to-highlight_hover{--tw-gradient-to:#0077ed}.sm\\:to-button_outline{--tw-gradient-to:#cfcfcf}.sm\\:to-error{--tw-gradient-to:#ff453a}.sm\\:to-text-light{--tw-gradient-to:#0f0f0f}.sm\\:to-text-dimmed{--tw-gradient-to:#cfcfcf}.sm\\:to-text-dark{--tw-gradient-to:#fff}.sm\\:to-body-light{--tw-gradient-to:#fff}.sm\\:to-body-dark{--tw-gradient-to:#1e1e1e}.sm\\:to-button{--tw-gradient-to:#0071e3}.sm\\:to-button_hover{--tw-gradient-to:#0077ed}.sm\\:hover\\:to-transparent:hover{--tw-gradient-to:transparent}.sm\\:hover\\:to-current:hover{--tw-gradient-to:currentColor}.sm\\:hover\\:to-white:hover{--tw-gradient-to:#fff}.sm\\:hover\\:to-lightgrey:hover{--tw-gradient-to:#F7F7F7}.sm\\:hover\\:to-midgrey:hover{--tw-gradient-to:#cfcfcf}.sm\\:hover\\:to-darkgrey:hover{--tw-gradient-to:#7f7f7f}.sm\\:hover\\:to-grey:hover{--tw-gradient-to:#1e1e1e}.sm\\:hover\\:to-black:hover{--tw-gradient-to:#0f0f0f}.sm\\:hover\\:to-highlight:hover{--tw-gradient-to:#0071e3}.sm\\:hover\\:to-highlight_hover:hover{--tw-gradient-to:#0077ed}.sm\\:hover\\:to-button_outline:hover{--tw-gradient-to:#cfcfcf}.sm\\:hover\\:to-error:hover{--tw-gradient-to:#ff453a}.sm\\:hover\\:to-text-light:hover{--tw-gradient-to:#0f0f0f}.sm\\:hover\\:to-text-dimmed:hover{--tw-gradient-to:#cfcfcf}.sm\\:hover\\:to-text-dark:hover{--tw-gradient-to:#fff}.sm\\:hover\\:to-body-light:hover{--tw-gradient-to:#fff}.sm\\:hover\\:to-body-dark:hover{--tw-gradient-to:#1e1e1e}.sm\\:hover\\:to-button:hover{--tw-gradient-to:#0071e3}.sm\\:hover\\:to-button_hover:hover{--tw-gradient-to:#0077ed}.sm\\:focus\\:to-transparent:focus{--tw-gradient-to:transparent}.sm\\:focus\\:to-current:focus{--tw-gradient-to:currentColor}.sm\\:focus\\:to-white:focus{--tw-gradient-to:#fff}.sm\\:focus\\:to-lightgrey:focus{--tw-gradient-to:#F7F7F7}.sm\\:focus\\:to-midgrey:focus{--tw-gradient-to:#cfcfcf}.sm\\:focus\\:to-darkgrey:focus{--tw-gradient-to:#7f7f7f}.sm\\:focus\\:to-grey:focus{--tw-gradient-to:#1e1e1e}.sm\\:focus\\:to-black:focus{--tw-gradient-to:#0f0f0f}.sm\\:focus\\:to-highlight:focus{--tw-gradient-to:#0071e3}.sm\\:focus\\:to-highlight_hover:focus{--tw-gradient-to:#0077ed}.sm\\:focus\\:to-button_outline:focus{--tw-gradient-to:#cfcfcf}.sm\\:focus\\:to-error:focus{--tw-gradient-to:#ff453a}.sm\\:focus\\:to-text-light:focus{--tw-gradient-to:#0f0f0f}.sm\\:focus\\:to-text-dimmed:focus{--tw-gradient-to:#cfcfcf}.sm\\:focus\\:to-text-dark:focus{--tw-gradient-to:#fff}.sm\\:focus\\:to-body-light:focus{--tw-gradient-to:#fff}.sm\\:focus\\:to-body-dark:focus{--tw-gradient-to:#1e1e1e}.sm\\:focus\\:to-button:focus{--tw-gradient-to:#0071e3}.sm\\:focus\\:to-button_hover:focus{--tw-gradient-to:#0077ed}@media(prefers-color-scheme: dark){.sm\\:dark\\:to-transparent{--tw-gradient-to:transparent}.sm\\:dark\\:to-current{--tw-gradient-to:currentColor}.sm\\:dark\\:to-white{--tw-gradient-to:#fff}.sm\\:dark\\:to-lightgrey{--tw-gradient-to:#F7F7F7}.sm\\:dark\\:to-midgrey{--tw-gradient-to:#cfcfcf}.sm\\:dark\\:to-darkgrey{--tw-gradient-to:#7f7f7f}.sm\\:dark\\:to-grey{--tw-gradient-to:#1e1e1e}.sm\\:dark\\:to-black{--tw-gradient-to:#0f0f0f}.sm\\:dark\\:to-highlight{--tw-gradient-to:#0071e3}.sm\\:dark\\:to-highlight_hover{--tw-gradient-to:#0077ed}.sm\\:dark\\:to-button_outline{--tw-gradient-to:#cfcfcf}.sm\\:dark\\:to-error{--tw-gradient-to:#ff453a}.sm\\:dark\\:to-text-light{--tw-gradient-to:#0f0f0f}.sm\\:dark\\:to-text-dimmed{--tw-gradient-to:#cfcfcf}.sm\\:dark\\:to-text-dark{--tw-gradient-to:#fff}.sm\\:dark\\:to-body-light{--tw-gradient-to:#fff}.sm\\:dark\\:to-body-dark{--tw-gradient-to:#1e1e1e}.sm\\:dark\\:to-button{--tw-gradient-to:#0071e3}.sm\\:dark\\:to-button_hover{--tw-gradient-to:#0077ed}.sm\\:dark\\:hover\\:to-transparent:hover{--tw-gradient-to:transparent}.sm\\:dark\\:hover\\:to-current:hover{--tw-gradient-to:currentColor}.sm\\:dark\\:hover\\:to-white:hover{--tw-gradient-to:#fff}.sm\\:dark\\:hover\\:to-lightgrey:hover{--tw-gradient-to:#F7F7F7}.sm\\:dark\\:hover\\:to-midgrey:hover{--tw-gradient-to:#cfcfcf}.sm\\:dark\\:hover\\:to-darkgrey:hover{--tw-gradient-to:#7f7f7f}.sm\\:dark\\:hover\\:to-grey:hover{--tw-gradient-to:#1e1e1e}.sm\\:dark\\:hover\\:to-black:hover{--tw-gradient-to:#0f0f0f}.sm\\:dark\\:hover\\:to-highlight:hover{--tw-gradient-to:#0071e3}.sm\\:dark\\:hover\\:to-highlight_hover:hover{--tw-gradient-to:#0077ed}.sm\\:dark\\:hover\\:to-button_outline:hover{--tw-gradient-to:#cfcfcf}.sm\\:dark\\:hover\\:to-error:hover{--tw-gradient-to:#ff453a}.sm\\:dark\\:hover\\:to-text-light:hover{--tw-gradient-to:#0f0f0f}.sm\\:dark\\:hover\\:to-text-dimmed:hover{--tw-gradient-to:#cfcfcf}.sm\\:dark\\:hover\\:to-text-dark:hover{--tw-gradient-to:#fff}.sm\\:dark\\:hover\\:to-body-light:hover{--tw-gradient-to:#fff}.sm\\:dark\\:hover\\:to-body-dark:hover{--tw-gradient-to:#1e1e1e}.sm\\:dark\\:hover\\:to-button:hover{--tw-gradient-to:#0071e3}.sm\\:dark\\:hover\\:to-button_hover:hover{--tw-gradient-to:#0077ed}.sm\\:dark\\:focus\\:to-transparent:focus{--tw-gradient-to:transparent}.sm\\:dark\\:focus\\:to-current:focus{--tw-gradient-to:currentColor}.sm\\:dark\\:focus\\:to-white:focus{--tw-gradient-to:#fff}.sm\\:dark\\:focus\\:to-lightgrey:focus{--tw-gradient-to:#F7F7F7}.sm\\:dark\\:focus\\:to-midgrey:focus{--tw-gradient-to:#cfcfcf}.sm\\:dark\\:focus\\:to-darkgrey:focus{--tw-gradient-to:#7f7f7f}.sm\\:dark\\:focus\\:to-grey:focus{--tw-gradient-to:#1e1e1e}.sm\\:dark\\:focus\\:to-black:focus{--tw-gradient-to:#0f0f0f}.sm\\:dark\\:focus\\:to-highlight:focus{--tw-gradient-to:#0071e3}.sm\\:dark\\:focus\\:to-highlight_hover:focus{--tw-gradient-to:#0077ed}.sm\\:dark\\:focus\\:to-button_outline:focus{--tw-gradient-to:#cfcfcf}.sm\\:dark\\:focus\\:to-error:focus{--tw-gradient-to:#ff453a}.sm\\:dark\\:focus\\:to-text-light:focus{--tw-gradient-to:#0f0f0f}.sm\\:dark\\:focus\\:to-text-dimmed:focus{--tw-gradient-to:#cfcfcf}.sm\\:dark\\:focus\\:to-text-dark:focus{--tw-gradient-to:#fff}.sm\\:dark\\:focus\\:to-body-light:focus{--tw-gradient-to:#fff}.sm\\:dark\\:focus\\:to-body-dark:focus{--tw-gradient-to:#1e1e1e}.sm\\:dark\\:focus\\:to-button:focus{--tw-gradient-to:#0071e3}.sm\\:dark\\:focus\\:to-button_hover:focus{--tw-gradient-to:#0077ed}}.sm\\:decoration-slice{-webkit-box-decoration-break:slice;box-decoration-break:slice}.sm\\:decoration-clone{-webkit-box-decoration-break:clone;box-decoration-break:clone}.sm\\:bg-auto{background-size:auto}.sm\\:bg-cover{background-size:cover}.sm\\:bg-contain{background-size:contain}.sm\\:bg-fixed{background-attachment:fixed}.sm\\:bg-local{background-attachment:local}.sm\\:bg-scroll{background-attachment:scroll}.sm\\:bg-clip-border{background-clip:border-box}.sm\\:bg-clip-padding{background-clip:padding-box}.sm\\:bg-clip-content{background-clip:content-box}.sm\\:bg-clip-text{background-clip:text}.sm\\:bg-bottom{background-position:bottom}.sm\\:bg-center{background-position:center}.sm\\:bg-left{background-position:left}.sm\\:bg-left-bottom{background-position:left bottom}.sm\\:bg-left-top{background-position:left top}.sm\\:bg-right{background-position:right}.sm\\:bg-right-bottom{background-position:right bottom}.sm\\:bg-right-top{background-position:right top}.sm\\:bg-top{background-position:top}.sm\\:bg-repeat{background-repeat:repeat}.sm\\:bg-no-repeat{background-repeat:no-repeat}.sm\\:bg-repeat-x{background-repeat:repeat-x}.sm\\:bg-repeat-y{background-repeat:repeat-y}.sm\\:bg-repeat-round{background-repeat:round}.sm\\:bg-repeat-space{background-repeat:space}.sm\\:bg-origin-border{background-origin:border-box}.sm\\:bg-origin-padding{background-origin:padding-box}.sm\\:bg-origin-content{background-origin:content-box}.sm\\:fill-current{fill:currentColor}.sm\\:stroke-current{stroke:currentColor}.sm\\:stroke-0{stroke-width:0}.sm\\:stroke-1{stroke-width:1}.sm\\:stroke-2{stroke-width:2}.sm\\:object-contain{object-fit:contain}.sm\\:object-cover{object-fit:cover}.sm\\:object-fill{object-fit:fill}.sm\\:object-none{object-fit:none}.sm\\:object-scale-down{object-fit:scale-down}.sm\\:object-bottom{object-position:bottom}.sm\\:object-center{object-position:center}.sm\\:object-left{object-position:left}.sm\\:object-left-bottom{object-position:left bottom}.sm\\:object-left-top{object-position:left top}.sm\\:object-right{object-position:right}.sm\\:object-right-bottom{object-position:right bottom}.sm\\:object-right-top{object-position:right top}.sm\\:object-top{object-position:top}.sm\\:p-0{padding:0px}.sm\\:p-1{padding:0.25rem}.sm\\:p-2{padding:0.5rem}.sm\\:p-3{padding:0.75rem}.sm\\:p-4{padding:1rem}.sm\\:p-5{padding:1.25rem}.sm\\:p-6{padding:1.5rem}.sm\\:p-7{padding:1.75rem}.sm\\:p-8{padding:2rem}.sm\\:p-9{padding:2.25rem}.sm\\:p-10{padding:2.5rem}.sm\\:p-11{padding:2.75rem}.sm\\:p-12{padding:3rem}.sm\\:p-14{padding:3.5rem}.sm\\:p-16{padding:4rem}.sm\\:p-20{padding:5rem}.sm\\:p-24{padding:6rem}.sm\\:p-28{padding:7rem}.sm\\:p-32{padding:8rem}.sm\\:p-36{padding:9rem}.sm\\:p-40{padding:10rem}.sm\\:p-44{padding:11rem}.sm\\:p-48{padding:12rem}.sm\\:p-52{padding:13rem}.sm\\:p-56{padding:14rem}.sm\\:p-60{padding:15rem}.sm\\:p-64{padding:16rem}.sm\\:p-72{padding:18rem}.sm\\:p-80{padding:20rem}.sm\\:p-96{padding:24rem}.sm\\:p-px{padding:1px}.sm\\:p-0\\.5{padding:0.125rem}.sm\\:p-1\\.5{padding:0.375rem}.sm\\:p-2\\.5{padding:0.625rem}.sm\\:p-3\\.5{padding:0.875rem}.sm\\:px-0{padding-left:0px;padding-right:0px}.sm\\:px-1{padding-left:0.25rem;padding-right:0.25rem}.sm\\:px-2{padding-left:0.5rem;padding-right:0.5rem}.sm\\:px-3{padding-left:0.75rem;padding-right:0.75rem}.sm\\:px-4{padding-left:1rem;padding-right:1rem}.sm\\:px-5{padding-left:1.25rem;padding-right:1.25rem}.sm\\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\\:px-7{padding-left:1.75rem;padding-right:1.75rem}.sm\\:px-8{padding-left:2rem;padding-right:2rem}.sm\\:px-9{padding-left:2.25rem;padding-right:2.25rem}.sm\\:px-10{padding-left:2.5rem;padding-right:2.5rem}.sm\\:px-11{padding-left:2.75rem;padding-right:2.75rem}.sm\\:px-12{padding-left:3rem;padding-right:3rem}.sm\\:px-14{padding-left:3.5rem;padding-right:3.5rem}.sm\\:px-16{padding-left:4rem;padding-right:4rem}.sm\\:px-20{padding-left:5rem;padding-right:5rem}.sm\\:px-24{padding-left:6rem;padding-right:6rem}.sm\\:px-28{padding-left:7rem;padding-right:7rem}.sm\\:px-32{padding-left:8rem;padding-right:8rem}.sm\\:px-36{padding-left:9rem;padding-right:9rem}.sm\\:px-40{padding-left:10rem;padding-right:10rem}.sm\\:px-44{padding-left:11rem;padding-right:11rem}.sm\\:px-48{padding-left:12rem;padding-right:12rem}.sm\\:px-52{padding-left:13rem;padding-right:13rem}.sm\\:px-56{padding-left:14rem;padding-right:14rem}.sm\\:px-60{padding-left:15rem;padding-right:15rem}.sm\\:px-64{padding-left:16rem;padding-right:16rem}.sm\\:px-72{padding-left:18rem;padding-right:18rem}.sm\\:px-80{padding-left:20rem;padding-right:20rem}.sm\\:px-96{padding-left:24rem;padding-right:24rem}.sm\\:px-px{padding-left:1px;padding-right:1px}.sm\\:px-0\\.5{padding-left:0.125rem;padding-right:0.125rem}.sm\\:px-1\\.5{padding-left:0.375rem;padding-right:0.375rem}.sm\\:px-2\\.5{padding-left:0.625rem;padding-right:0.625rem}.sm\\:px-3\\.5{padding-left:0.875rem;padding-right:0.875rem}.sm\\:py-0{padding-top:0px;padding-bottom:0px}.sm\\:py-1{padding-top:0.25rem;padding-bottom:0.25rem}.sm\\:py-2{padding-top:0.5rem;padding-bottom:0.5rem}.sm\\:py-3{padding-top:0.75rem;padding-bottom:0.75rem}.sm\\:py-4{padding-top:1rem;padding-bottom:1rem}.sm\\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.sm\\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.sm\\:py-7{padding-top:1.75rem;padding-bottom:1.75rem}.sm\\:py-8{padding-top:2rem;padding-bottom:2rem}.sm\\:py-9{padding-top:2.25rem;padding-bottom:2.25rem}.sm\\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.sm\\:py-11{padding-top:2.75rem;padding-bottom:2.75rem}.sm\\:py-12{padding-top:3rem;padding-bottom:3rem}.sm\\:py-14{padding-top:3.5rem;padding-bottom:3.5rem}.sm\\:py-16{padding-top:4rem;padding-bottom:4rem}.sm\\:py-20{padding-top:5rem;padding-bottom:5rem}.sm\\:py-24{padding-top:6rem;padding-bottom:6rem}.sm\\:py-28{padding-top:7rem;padding-bottom:7rem}.sm\\:py-32{padding-top:8rem;padding-bottom:8rem}.sm\\:py-36{padding-top:9rem;padding-bottom:9rem}.sm\\:py-40{padding-top:10rem;padding-bottom:10rem}.sm\\:py-44{padding-top:11rem;padding-bottom:11rem}.sm\\:py-48{padding-top:12rem;padding-bottom:12rem}.sm\\:py-52{padding-top:13rem;padding-bottom:13rem}.sm\\:py-56{padding-top:14rem;padding-bottom:14rem}.sm\\:py-60{padding-top:15rem;padding-bottom:15rem}.sm\\:py-64{padding-top:16rem;padding-bottom:16rem}.sm\\:py-72{padding-top:18rem;padding-bottom:18rem}.sm\\:py-80{padding-top:20rem;padding-bottom:20rem}.sm\\:py-96{padding-top:24rem;padding-bottom:24rem}.sm\\:py-px{padding-top:1px;padding-bottom:1px}.sm\\:py-0\\.5{padding-top:0.125rem;padding-bottom:0.125rem}.sm\\:py-1\\.5{padding-top:0.375rem;padding-bottom:0.375rem}.sm\\:py-2\\.5{padding-top:0.625rem;padding-bottom:0.625rem}.sm\\:py-3\\.5{padding-top:0.875rem;padding-bottom:0.875rem}.sm\\:pt-0{padding-top:0px}.sm\\:pt-1{padding-top:0.25rem}.sm\\:pt-2{padding-top:0.5rem}.sm\\:pt-3{padding-top:0.75rem}.sm\\:pt-4{padding-top:1rem}.sm\\:pt-5{padding-top:1.25rem}.sm\\:pt-6{padding-top:1.5rem}.sm\\:pt-7{padding-top:1.75rem}.sm\\:pt-8{padding-top:2rem}.sm\\:pt-9{padding-top:2.25rem}.sm\\:pt-10{padding-top:2.5rem}.sm\\:pt-11{padding-top:2.75rem}.sm\\:pt-12{padding-top:3rem}.sm\\:pt-14{padding-top:3.5rem}.sm\\:pt-16{padding-top:4rem}.sm\\:pt-20{padding-top:5rem}.sm\\:pt-24{padding-top:6rem}.sm\\:pt-28{padding-top:7rem}.sm\\:pt-32{padding-top:8rem}.sm\\:pt-36{padding-top:9rem}.sm\\:pt-40{padding-top:10rem}.sm\\:pt-44{padding-top:11rem}.sm\\:pt-48{padding-top:12rem}.sm\\:pt-52{padding-top:13rem}.sm\\:pt-56{padding-top:14rem}.sm\\:pt-60{padding-top:15rem}.sm\\:pt-64{padding-top:16rem}.sm\\:pt-72{padding-top:18rem}.sm\\:pt-80{padding-top:20rem}.sm\\:pt-96{padding-top:24rem}.sm\\:pt-px{padding-top:1px}.sm\\:pt-0\\.5{padding-top:0.125rem}.sm\\:pt-1\\.5{padding-top:0.375rem}.sm\\:pt-2\\.5{padding-top:0.625rem}.sm\\:pt-3\\.5{padding-top:0.875rem}.sm\\:pr-0{padding-right:0px}.sm\\:pr-1{padding-right:0.25rem}.sm\\:pr-2{padding-right:0.5rem}.sm\\:pr-3{padding-right:0.75rem}.sm\\:pr-4{padding-right:1rem}.sm\\:pr-5{padding-right:1.25rem}.sm\\:pr-6{padding-right:1.5rem}.sm\\:pr-7{padding-right:1.75rem}.sm\\:pr-8{padding-right:2rem}.sm\\:pr-9{padding-right:2.25rem}.sm\\:pr-10{padding-right:2.5rem}.sm\\:pr-11{padding-right:2.75rem}.sm\\:pr-12{padding-right:3rem}.sm\\:pr-14{padding-right:3.5rem}.sm\\:pr-16{padding-right:4rem}.sm\\:pr-20{padding-right:5rem}.sm\\:pr-24{padding-right:6rem}.sm\\:pr-28{padding-right:7rem}.sm\\:pr-32{padding-right:8rem}.sm\\:pr-36{padding-right:9rem}.sm\\:pr-40{padding-right:10rem}.sm\\:pr-44{padding-right:11rem}.sm\\:pr-48{padding-right:12rem}.sm\\:pr-52{padding-right:13rem}.sm\\:pr-56{padding-right:14rem}.sm\\:pr-60{padding-right:15rem}.sm\\:pr-64{padding-right:16rem}.sm\\:pr-72{padding-right:18rem}.sm\\:pr-80{padding-right:20rem}.sm\\:pr-96{padding-right:24rem}.sm\\:pr-px{padding-right:1px}.sm\\:pr-0\\.5{padding-right:0.125rem}.sm\\:pr-1\\.5{padding-right:0.375rem}.sm\\:pr-2\\.5{padding-right:0.625rem}.sm\\:pr-3\\.5{padding-right:0.875rem}.sm\\:pb-0{padding-bottom:0px}.sm\\:pb-1{padding-bottom:0.25rem}.sm\\:pb-2{padding-bottom:0.5rem}.sm\\:pb-3{padding-bottom:0.75rem}.sm\\:pb-4{padding-bottom:1rem}.sm\\:pb-5{padding-bottom:1.25rem}.sm\\:pb-6{padding-bottom:1.5rem}.sm\\:pb-7{padding-bottom:1.75rem}.sm\\:pb-8{padding-bottom:2rem}.sm\\:pb-9{padding-bottom:2.25rem}.sm\\:pb-10{padding-bottom:2.5rem}.sm\\:pb-11{padding-bottom:2.75rem}.sm\\:pb-12{padding-bottom:3rem}.sm\\:pb-14{padding-bottom:3.5rem}.sm\\:pb-16{padding-bottom:4rem}.sm\\:pb-20{padding-bottom:5rem}.sm\\:pb-24{padding-bottom:6rem}.sm\\:pb-28{padding-bottom:7rem}.sm\\:pb-32{padding-bottom:8rem}.sm\\:pb-36{padding-bottom:9rem}.sm\\:pb-40{padding-bottom:10rem}.sm\\:pb-44{padding-bottom:11rem}.sm\\:pb-48{padding-bottom:12rem}.sm\\:pb-52{padding-bottom:13rem}.sm\\:pb-56{padding-bottom:14rem}.sm\\:pb-60{padding-bottom:15rem}.sm\\:pb-64{padding-bottom:16rem}.sm\\:pb-72{padding-bottom:18rem}.sm\\:pb-80{padding-bottom:20rem}.sm\\:pb-96{padding-bottom:24rem}.sm\\:pb-px{padding-bottom:1px}.sm\\:pb-0\\.5{padding-bottom:0.125rem}.sm\\:pb-1\\.5{padding-bottom:0.375rem}.sm\\:pb-2\\.5{padding-bottom:0.625rem}.sm\\:pb-3\\.5{padding-bottom:0.875rem}.sm\\:pl-0{padding-left:0px}.sm\\:pl-1{padding-left:0.25rem}.sm\\:pl-2{padding-left:0.5rem}.sm\\:pl-3{padding-left:0.75rem}.sm\\:pl-4{padding-left:1rem}.sm\\:pl-5{padding-left:1.25rem}.sm\\:pl-6{padding-left:1.5rem}.sm\\:pl-7{padding-left:1.75rem}.sm\\:pl-8{padding-left:2rem}.sm\\:pl-9{padding-left:2.25rem}.sm\\:pl-10{padding-left:2.5rem}.sm\\:pl-11{padding-left:2.75rem}.sm\\:pl-12{padding-left:3rem}.sm\\:pl-14{padding-left:3.5rem}.sm\\:pl-16{padding-left:4rem}.sm\\:pl-20{padding-left:5rem}.sm\\:pl-24{padding-left:6rem}.sm\\:pl-28{padding-left:7rem}.sm\\:pl-32{padding-left:8rem}.sm\\:pl-36{padding-left:9rem}.sm\\:pl-40{padding-left:10rem}.sm\\:pl-44{padding-left:11rem}.sm\\:pl-48{padding-left:12rem}.sm\\:pl-52{padding-left:13rem}.sm\\:pl-56{padding-left:14rem}.sm\\:pl-60{padding-left:15rem}.sm\\:pl-64{padding-left:16rem}.sm\\:pl-72{padding-left:18rem}.sm\\:pl-80{padding-left:20rem}.sm\\:pl-96{padding-left:24rem}.sm\\:pl-px{padding-left:1px}.sm\\:pl-0\\.5{padding-left:0.125rem}.sm\\:pl-1\\.5{padding-left:0.375rem}.sm\\:pl-2\\.5{padding-left:0.625rem}.sm\\:pl-3\\.5{padding-left:0.875rem}.sm\\:text-left{text-align:left}.sm\\:text-center{text-align:center}.sm\\:text-right{text-align:right}.sm\\:text-justify{text-align:justify}.sm\\:align-baseline{vertical-align:baseline}.sm\\:align-top{vertical-align:top}.sm\\:align-middle{vertical-align:middle}.sm\\:align-bottom{vertical-align:bottom}.sm\\:align-text-top{vertical-align:text-top}.sm\\:align-text-bottom{vertical-align:text-bottom}.sm\\:font-sans{font-family:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"}.sm\\:font-serif{font-family:ui-serif, Georgia, Cambria, \"Times New Roman\", Times, serif}.sm\\:font-mono{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace}.sm\\:text-xs{font-size:0.75rem;line-height:1rem}.sm\\:text-sm{font-size:0.875rem;line-height:1.25rem}.sm\\:text-base{font-size:1rem;line-height:1.5rem}.sm\\:text-lg{font-size:1.125rem;line-height:1.75rem}.sm\\:text-xl{font-size:1.25rem;line-height:1.75rem}.sm\\:text-2xl{font-size:1.5rem;line-height:2rem}.sm\\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\\:text-5xl{font-size:3rem;line-height:1}.sm\\:text-6xl{font-size:3.75rem;line-height:1}.sm\\:text-7xl{font-size:4.5rem;line-height:1}.sm\\:text-8xl{font-size:6rem;line-height:1}.sm\\:text-9xl{font-size:8rem;line-height:1}.sm\\:font-thin{font-weight:100}.sm\\:font-extralight{font-weight:200}.sm\\:font-light{font-weight:300}.sm\\:font-normal{font-weight:400}.sm\\:font-medium{font-weight:500}.sm\\:font-semibold{font-weight:600}.sm\\:font-bold{font-weight:700}.sm\\:font-extrabold{font-weight:800}.sm\\:font-black{font-weight:900}.sm\\:uppercase{text-transform:uppercase}.sm\\:lowercase{text-transform:lowercase}.sm\\:capitalize{text-transform:capitalize}.sm\\:normal-case{text-transform:none}.sm\\:italic{font-style:italic}.sm\\:not-italic{font-style:normal}.sm\\:ordinal,.sm\\:slashed-zero,.sm\\:lining-nums,.sm\\:oldstyle-nums,.sm\\:proportional-nums,.sm\\:tabular-nums,.sm\\:diagonal-fractions,.sm\\:stacked-fractions{--tw-ordinal:var(--tw-empty,/*!*/ /*!*/);--tw-slashed-zero:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-figure:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-spacing:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-fraction:var(--tw-empty,/*!*/ /*!*/);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.sm\\:normal-nums{font-variant-numeric:normal}.sm\\:ordinal{--tw-ordinal:ordinal}.sm\\:slashed-zero{--tw-slashed-zero:slashed-zero}.sm\\:lining-nums{--tw-numeric-figure:lining-nums}.sm\\:oldstyle-nums{--tw-numeric-figure:oldstyle-nums}.sm\\:proportional-nums{--tw-numeric-spacing:proportional-nums}.sm\\:tabular-nums{--tw-numeric-spacing:tabular-nums}.sm\\:diagonal-fractions{--tw-numeric-fraction:diagonal-fractions}.sm\\:stacked-fractions{--tw-numeric-fraction:stacked-fractions}.sm\\:leading-3{line-height:.75rem}.sm\\:leading-4{line-height:1rem}.sm\\:leading-5{line-height:1.25rem}.sm\\:leading-6{line-height:1.5rem}.sm\\:leading-7{line-height:1.75rem}.sm\\:leading-8{line-height:2rem}.sm\\:leading-9{line-height:2.25rem}.sm\\:leading-10{line-height:2.5rem}.sm\\:leading-none{line-height:1}.sm\\:leading-tight{line-height:1.25}.sm\\:leading-snug{line-height:1.375}.sm\\:leading-normal{line-height:1.5}.sm\\:leading-relaxed{line-height:1.625}.sm\\:leading-loose{line-height:2}.sm\\:tracking-tighter{letter-spacing:-0.05em}.sm\\:tracking-tight{letter-spacing:-0.025em}.sm\\:tracking-normal{letter-spacing:0em}.sm\\:tracking-wide{letter-spacing:0.025em}.sm\\:tracking-wider{letter-spacing:0.05em}.sm\\:tracking-widest{letter-spacing:0.1em}.sm\\:text-transparent{color:transparent}.sm\\:text-current{color:currentColor}.sm\\:text-white{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.sm\\:text-lightgrey{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.sm\\:text-midgrey{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.sm\\:text-darkgrey{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.sm\\:text-grey{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.sm\\:text-black{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.sm\\:text-highlight{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.sm\\:text-highlight_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.sm\\:text-button_outline{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.sm\\:text-error{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.sm\\:text-text-light{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.sm\\:text-text-dimmed{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.sm\\:text-text-dark{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.sm\\:text-body-light{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.sm\\:text-body-dark{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.sm\\:text-button{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.sm\\:text-button_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.group:hover .sm\\:group-hover\\:text-transparent{color:transparent}.group:hover .sm\\:group-hover\\:text-current{color:currentColor}.group:hover .sm\\:group-hover\\:text-white{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .sm\\:group-hover\\:text-lightgrey{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.group:hover .sm\\:group-hover\\:text-midgrey{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .sm\\:group-hover\\:text-darkgrey{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.group:hover .sm\\:group-hover\\:text-grey{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.group:hover .sm\\:group-hover\\:text-black{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.group:hover .sm\\:group-hover\\:text-highlight{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.group:hover .sm\\:group-hover\\:text-highlight_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.group:hover .sm\\:group-hover\\:text-button_outline{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .sm\\:group-hover\\:text-error{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.group:hover .sm\\:group-hover\\:text-text-light{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.group:hover .sm\\:group-hover\\:text-text-dimmed{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .sm\\:group-hover\\:text-text-dark{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .sm\\:group-hover\\:text-body-light{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .sm\\:group-hover\\:text-body-dark{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.group:hover .sm\\:group-hover\\:text-button{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.group:hover .sm\\:group-hover\\:text-button_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.sm\\:focus-within\\:text-transparent:focus-within{color:transparent}.sm\\:focus-within\\:text-current:focus-within{color:currentColor}.sm\\:focus-within\\:text-white:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.sm\\:focus-within\\:text-lightgrey:focus-within{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.sm\\:focus-within\\:text-midgrey:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.sm\\:focus-within\\:text-darkgrey:focus-within{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.sm\\:focus-within\\:text-grey:focus-within{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.sm\\:focus-within\\:text-black:focus-within{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.sm\\:focus-within\\:text-highlight:focus-within{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.sm\\:focus-within\\:text-highlight_hover:focus-within{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.sm\\:focus-within\\:text-button_outline:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.sm\\:focus-within\\:text-error:focus-within{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.sm\\:focus-within\\:text-text-light:focus-within{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.sm\\:focus-within\\:text-text-dimmed:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.sm\\:focus-within\\:text-text-dark:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.sm\\:focus-within\\:text-body-light:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.sm\\:focus-within\\:text-body-dark:focus-within{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.sm\\:focus-within\\:text-button:focus-within{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.sm\\:focus-within\\:text-button_hover:focus-within{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.sm\\:hover\\:text-transparent:hover{color:transparent}.sm\\:hover\\:text-current:hover{color:currentColor}.sm\\:hover\\:text-white:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.sm\\:hover\\:text-lightgrey:hover{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.sm\\:hover\\:text-midgrey:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.sm\\:hover\\:text-darkgrey:hover{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.sm\\:hover\\:text-grey:hover{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.sm\\:hover\\:text-black:hover{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.sm\\:hover\\:text-highlight:hover{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.sm\\:hover\\:text-highlight_hover:hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.sm\\:hover\\:text-button_outline:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.sm\\:hover\\:text-error:hover{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.sm\\:hover\\:text-text-light:hover{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.sm\\:hover\\:text-text-dimmed:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.sm\\:hover\\:text-text-dark:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.sm\\:hover\\:text-body-light:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.sm\\:hover\\:text-body-dark:hover{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.sm\\:hover\\:text-button:hover{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.sm\\:hover\\:text-button_hover:hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.sm\\:focus\\:text-transparent:focus{color:transparent}.sm\\:focus\\:text-current:focus{color:currentColor}.sm\\:focus\\:text-white:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.sm\\:focus\\:text-lightgrey:focus{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.sm\\:focus\\:text-midgrey:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.sm\\:focus\\:text-darkgrey:focus{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.sm\\:focus\\:text-grey:focus{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.sm\\:focus\\:text-black:focus{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.sm\\:focus\\:text-highlight:focus{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.sm\\:focus\\:text-highlight_hover:focus{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.sm\\:focus\\:text-button_outline:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.sm\\:focus\\:text-error:focus{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.sm\\:focus\\:text-text-light:focus{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.sm\\:focus\\:text-text-dimmed:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.sm\\:focus\\:text-text-dark:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.sm\\:focus\\:text-body-light:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.sm\\:focus\\:text-body-dark:focus{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.sm\\:focus\\:text-button:focus{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.sm\\:focus\\:text-button_hover:focus{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}@media(prefers-color-scheme: dark){.sm\\:dark\\:text-transparent{color:transparent}.sm\\:dark\\:text-current{color:currentColor}.sm\\:dark\\:text-white{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.sm\\:dark\\:text-lightgrey{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.sm\\:dark\\:text-midgrey{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.sm\\:dark\\:text-darkgrey{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.sm\\:dark\\:text-grey{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.sm\\:dark\\:text-black{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.sm\\:dark\\:text-highlight{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.sm\\:dark\\:text-highlight_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.sm\\:dark\\:text-button_outline{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.sm\\:dark\\:text-error{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.sm\\:dark\\:text-text-light{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.sm\\:dark\\:text-text-dimmed{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.sm\\:dark\\:text-text-dark{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.sm\\:dark\\:text-body-light{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.sm\\:dark\\:text-body-dark{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.sm\\:dark\\:text-button{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.sm\\:dark\\:text-button_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.group:hover .sm\\:dark\\:group-hover\\:text-transparent{color:transparent}.group:hover .sm\\:dark\\:group-hover\\:text-current{color:currentColor}.group:hover .sm\\:dark\\:group-hover\\:text-white{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .sm\\:dark\\:group-hover\\:text-lightgrey{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.group:hover .sm\\:dark\\:group-hover\\:text-midgrey{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .sm\\:dark\\:group-hover\\:text-darkgrey{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.group:hover .sm\\:dark\\:group-hover\\:text-grey{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.group:hover .sm\\:dark\\:group-hover\\:text-black{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.group:hover .sm\\:dark\\:group-hover\\:text-highlight{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.group:hover .sm\\:dark\\:group-hover\\:text-highlight_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.group:hover .sm\\:dark\\:group-hover\\:text-button_outline{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .sm\\:dark\\:group-hover\\:text-error{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.group:hover .sm\\:dark\\:group-hover\\:text-text-light{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.group:hover .sm\\:dark\\:group-hover\\:text-text-dimmed{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .sm\\:dark\\:group-hover\\:text-text-dark{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .sm\\:dark\\:group-hover\\:text-body-light{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .sm\\:dark\\:group-hover\\:text-body-dark{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.group:hover .sm\\:dark\\:group-hover\\:text-button{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.group:hover .sm\\:dark\\:group-hover\\:text-button_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.sm\\:dark\\:focus-within\\:text-transparent:focus-within{color:transparent}.sm\\:dark\\:focus-within\\:text-current:focus-within{color:currentColor}.sm\\:dark\\:focus-within\\:text-white:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.sm\\:dark\\:focus-within\\:text-lightgrey:focus-within{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.sm\\:dark\\:focus-within\\:text-midgrey:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.sm\\:dark\\:focus-within\\:text-darkgrey:focus-within{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.sm\\:dark\\:focus-within\\:text-grey:focus-within{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.sm\\:dark\\:focus-within\\:text-black:focus-within{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.sm\\:dark\\:focus-within\\:text-highlight:focus-within{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.sm\\:dark\\:focus-within\\:text-highlight_hover:focus-within{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.sm\\:dark\\:focus-within\\:text-button_outline:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.sm\\:dark\\:focus-within\\:text-error:focus-within{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.sm\\:dark\\:focus-within\\:text-text-light:focus-within{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.sm\\:dark\\:focus-within\\:text-text-dimmed:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.sm\\:dark\\:focus-within\\:text-text-dark:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.sm\\:dark\\:focus-within\\:text-body-light:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.sm\\:dark\\:focus-within\\:text-body-dark:focus-within{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.sm\\:dark\\:focus-within\\:text-button:focus-within{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.sm\\:dark\\:focus-within\\:text-button_hover:focus-within{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.sm\\:dark\\:hover\\:text-transparent:hover{color:transparent}.sm\\:dark\\:hover\\:text-current:hover{color:currentColor}.sm\\:dark\\:hover\\:text-white:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.sm\\:dark\\:hover\\:text-lightgrey:hover{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.sm\\:dark\\:hover\\:text-midgrey:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.sm\\:dark\\:hover\\:text-darkgrey:hover{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.sm\\:dark\\:hover\\:text-grey:hover{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.sm\\:dark\\:hover\\:text-black:hover{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.sm\\:dark\\:hover\\:text-highlight:hover{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.sm\\:dark\\:hover\\:text-highlight_hover:hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.sm\\:dark\\:hover\\:text-button_outline:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.sm\\:dark\\:hover\\:text-error:hover{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.sm\\:dark\\:hover\\:text-text-light:hover{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.sm\\:dark\\:hover\\:text-text-dimmed:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.sm\\:dark\\:hover\\:text-text-dark:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.sm\\:dark\\:hover\\:text-body-light:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.sm\\:dark\\:hover\\:text-body-dark:hover{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.sm\\:dark\\:hover\\:text-button:hover{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.sm\\:dark\\:hover\\:text-button_hover:hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.sm\\:dark\\:focus\\:text-transparent:focus{color:transparent}.sm\\:dark\\:focus\\:text-current:focus{color:currentColor}.sm\\:dark\\:focus\\:text-white:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.sm\\:dark\\:focus\\:text-lightgrey:focus{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.sm\\:dark\\:focus\\:text-midgrey:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.sm\\:dark\\:focus\\:text-darkgrey:focus{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.sm\\:dark\\:focus\\:text-grey:focus{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.sm\\:dark\\:focus\\:text-black:focus{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.sm\\:dark\\:focus\\:text-highlight:focus{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.sm\\:dark\\:focus\\:text-highlight_hover:focus{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.sm\\:dark\\:focus\\:text-button_outline:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.sm\\:dark\\:focus\\:text-error:focus{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.sm\\:dark\\:focus\\:text-text-light:focus{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.sm\\:dark\\:focus\\:text-text-dimmed:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.sm\\:dark\\:focus\\:text-text-dark:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.sm\\:dark\\:focus\\:text-body-light:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.sm\\:dark\\:focus\\:text-body-dark:focus{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.sm\\:dark\\:focus\\:text-button:focus{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.sm\\:dark\\:focus\\:text-button_hover:focus{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}}.sm\\:text-opacity-0{--tw-text-opacity:0}.sm\\:text-opacity-5{--tw-text-opacity:0.05}.sm\\:text-opacity-10{--tw-text-opacity:0.1}.sm\\:text-opacity-20{--tw-text-opacity:0.2}.sm\\:text-opacity-25{--tw-text-opacity:0.25}.sm\\:text-opacity-30{--tw-text-opacity:0.3}.sm\\:text-opacity-40{--tw-text-opacity:0.4}.sm\\:text-opacity-50{--tw-text-opacity:0.5}.sm\\:text-opacity-60{--tw-text-opacity:0.6}.sm\\:text-opacity-70{--tw-text-opacity:0.7}.sm\\:text-opacity-75{--tw-text-opacity:0.75}.sm\\:text-opacity-80{--tw-text-opacity:0.8}.sm\\:text-opacity-90{--tw-text-opacity:0.9}.sm\\:text-opacity-95{--tw-text-opacity:0.95}.sm\\:text-opacity-100{--tw-text-opacity:1}.group:hover .sm\\:group-hover\\:text-opacity-0{--tw-text-opacity:0}.group:hover .sm\\:group-hover\\:text-opacity-5{--tw-text-opacity:0.05}.group:hover .sm\\:group-hover\\:text-opacity-10{--tw-text-opacity:0.1}.group:hover .sm\\:group-hover\\:text-opacity-20{--tw-text-opacity:0.2}.group:hover .sm\\:group-hover\\:text-opacity-25{--tw-text-opacity:0.25}.group:hover .sm\\:group-hover\\:text-opacity-30{--tw-text-opacity:0.3}.group:hover .sm\\:group-hover\\:text-opacity-40{--tw-text-opacity:0.4}.group:hover .sm\\:group-hover\\:text-opacity-50{--tw-text-opacity:0.5}.group:hover .sm\\:group-hover\\:text-opacity-60{--tw-text-opacity:0.6}.group:hover .sm\\:group-hover\\:text-opacity-70{--tw-text-opacity:0.7}.group:hover .sm\\:group-hover\\:text-opacity-75{--tw-text-opacity:0.75}.group:hover .sm\\:group-hover\\:text-opacity-80{--tw-text-opacity:0.8}.group:hover .sm\\:group-hover\\:text-opacity-90{--tw-text-opacity:0.9}.group:hover .sm\\:group-hover\\:text-opacity-95{--tw-text-opacity:0.95}.group:hover .sm\\:group-hover\\:text-opacity-100{--tw-text-opacity:1}.sm\\:focus-within\\:text-opacity-0:focus-within{--tw-text-opacity:0}.sm\\:focus-within\\:text-opacity-5:focus-within{--tw-text-opacity:0.05}.sm\\:focus-within\\:text-opacity-10:focus-within{--tw-text-opacity:0.1}.sm\\:focus-within\\:text-opacity-20:focus-within{--tw-text-opacity:0.2}.sm\\:focus-within\\:text-opacity-25:focus-within{--tw-text-opacity:0.25}.sm\\:focus-within\\:text-opacity-30:focus-within{--tw-text-opacity:0.3}.sm\\:focus-within\\:text-opacity-40:focus-within{--tw-text-opacity:0.4}.sm\\:focus-within\\:text-opacity-50:focus-within{--tw-text-opacity:0.5}.sm\\:focus-within\\:text-opacity-60:focus-within{--tw-text-opacity:0.6}.sm\\:focus-within\\:text-opacity-70:focus-within{--tw-text-opacity:0.7}.sm\\:focus-within\\:text-opacity-75:focus-within{--tw-text-opacity:0.75}.sm\\:focus-within\\:text-opacity-80:focus-within{--tw-text-opacity:0.8}.sm\\:focus-within\\:text-opacity-90:focus-within{--tw-text-opacity:0.9}.sm\\:focus-within\\:text-opacity-95:focus-within{--tw-text-opacity:0.95}.sm\\:focus-within\\:text-opacity-100:focus-within{--tw-text-opacity:1}.sm\\:hover\\:text-opacity-0:hover{--tw-text-opacity:0}.sm\\:hover\\:text-opacity-5:hover{--tw-text-opacity:0.05}.sm\\:hover\\:text-opacity-10:hover{--tw-text-opacity:0.1}.sm\\:hover\\:text-opacity-20:hover{--tw-text-opacity:0.2}.sm\\:hover\\:text-opacity-25:hover{--tw-text-opacity:0.25}.sm\\:hover\\:text-opacity-30:hover{--tw-text-opacity:0.3}.sm\\:hover\\:text-opacity-40:hover{--tw-text-opacity:0.4}.sm\\:hover\\:text-opacity-50:hover{--tw-text-opacity:0.5}.sm\\:hover\\:text-opacity-60:hover{--tw-text-opacity:0.6}.sm\\:hover\\:text-opacity-70:hover{--tw-text-opacity:0.7}.sm\\:hover\\:text-opacity-75:hover{--tw-text-opacity:0.75}.sm\\:hover\\:text-opacity-80:hover{--tw-text-opacity:0.8}.sm\\:hover\\:text-opacity-90:hover{--tw-text-opacity:0.9}.sm\\:hover\\:text-opacity-95:hover{--tw-text-opacity:0.95}.sm\\:hover\\:text-opacity-100:hover{--tw-text-opacity:1}.sm\\:focus\\:text-opacity-0:focus{--tw-text-opacity:0}.sm\\:focus\\:text-opacity-5:focus{--tw-text-opacity:0.05}.sm\\:focus\\:text-opacity-10:focus{--tw-text-opacity:0.1}.sm\\:focus\\:text-opacity-20:focus{--tw-text-opacity:0.2}.sm\\:focus\\:text-opacity-25:focus{--tw-text-opacity:0.25}.sm\\:focus\\:text-opacity-30:focus{--tw-text-opacity:0.3}.sm\\:focus\\:text-opacity-40:focus{--tw-text-opacity:0.4}.sm\\:focus\\:text-opacity-50:focus{--tw-text-opacity:0.5}.sm\\:focus\\:text-opacity-60:focus{--tw-text-opacity:0.6}.sm\\:focus\\:text-opacity-70:focus{--tw-text-opacity:0.7}.sm\\:focus\\:text-opacity-75:focus{--tw-text-opacity:0.75}.sm\\:focus\\:text-opacity-80:focus{--tw-text-opacity:0.8}.sm\\:focus\\:text-opacity-90:focus{--tw-text-opacity:0.9}.sm\\:focus\\:text-opacity-95:focus{--tw-text-opacity:0.95}.sm\\:focus\\:text-opacity-100:focus{--tw-text-opacity:1}@media(prefers-color-scheme: dark){.sm\\:dark\\:text-opacity-0{--tw-text-opacity:0}.sm\\:dark\\:text-opacity-5{--tw-text-opacity:0.05}.sm\\:dark\\:text-opacity-10{--tw-text-opacity:0.1}.sm\\:dark\\:text-opacity-20{--tw-text-opacity:0.2}.sm\\:dark\\:text-opacity-25{--tw-text-opacity:0.25}.sm\\:dark\\:text-opacity-30{--tw-text-opacity:0.3}.sm\\:dark\\:text-opacity-40{--tw-text-opacity:0.4}.sm\\:dark\\:text-opacity-50{--tw-text-opacity:0.5}.sm\\:dark\\:text-opacity-60{--tw-text-opacity:0.6}.sm\\:dark\\:text-opacity-70{--tw-text-opacity:0.7}.sm\\:dark\\:text-opacity-75{--tw-text-opacity:0.75}.sm\\:dark\\:text-opacity-80{--tw-text-opacity:0.8}.sm\\:dark\\:text-opacity-90{--tw-text-opacity:0.9}.sm\\:dark\\:text-opacity-95{--tw-text-opacity:0.95}.sm\\:dark\\:text-opacity-100{--tw-text-opacity:1}.group:hover .sm\\:dark\\:group-hover\\:text-opacity-0{--tw-text-opacity:0}.group:hover .sm\\:dark\\:group-hover\\:text-opacity-5{--tw-text-opacity:0.05}.group:hover .sm\\:dark\\:group-hover\\:text-opacity-10{--tw-text-opacity:0.1}.group:hover .sm\\:dark\\:group-hover\\:text-opacity-20{--tw-text-opacity:0.2}.group:hover .sm\\:dark\\:group-hover\\:text-opacity-25{--tw-text-opacity:0.25}.group:hover .sm\\:dark\\:group-hover\\:text-opacity-30{--tw-text-opacity:0.3}.group:hover .sm\\:dark\\:group-hover\\:text-opacity-40{--tw-text-opacity:0.4}.group:hover .sm\\:dark\\:group-hover\\:text-opacity-50{--tw-text-opacity:0.5}.group:hover .sm\\:dark\\:group-hover\\:text-opacity-60{--tw-text-opacity:0.6}.group:hover .sm\\:dark\\:group-hover\\:text-opacity-70{--tw-text-opacity:0.7}.group:hover .sm\\:dark\\:group-hover\\:text-opacity-75{--tw-text-opacity:0.75}.group:hover .sm\\:dark\\:group-hover\\:text-opacity-80{--tw-text-opacity:0.8}.group:hover .sm\\:dark\\:group-hover\\:text-opacity-90{--tw-text-opacity:0.9}.group:hover .sm\\:dark\\:group-hover\\:text-opacity-95{--tw-text-opacity:0.95}.group:hover .sm\\:dark\\:group-hover\\:text-opacity-100{--tw-text-opacity:1}.sm\\:dark\\:focus-within\\:text-opacity-0:focus-within{--tw-text-opacity:0}.sm\\:dark\\:focus-within\\:text-opacity-5:focus-within{--tw-text-opacity:0.05}.sm\\:dark\\:focus-within\\:text-opacity-10:focus-within{--tw-text-opacity:0.1}.sm\\:dark\\:focus-within\\:text-opacity-20:focus-within{--tw-text-opacity:0.2}.sm\\:dark\\:focus-within\\:text-opacity-25:focus-within{--tw-text-opacity:0.25}.sm\\:dark\\:focus-within\\:text-opacity-30:focus-within{--tw-text-opacity:0.3}.sm\\:dark\\:focus-within\\:text-opacity-40:focus-within{--tw-text-opacity:0.4}.sm\\:dark\\:focus-within\\:text-opacity-50:focus-within{--tw-text-opacity:0.5}.sm\\:dark\\:focus-within\\:text-opacity-60:focus-within{--tw-text-opacity:0.6}.sm\\:dark\\:focus-within\\:text-opacity-70:focus-within{--tw-text-opacity:0.7}.sm\\:dark\\:focus-within\\:text-opacity-75:focus-within{--tw-text-opacity:0.75}.sm\\:dark\\:focus-within\\:text-opacity-80:focus-within{--tw-text-opacity:0.8}.sm\\:dark\\:focus-within\\:text-opacity-90:focus-within{--tw-text-opacity:0.9}.sm\\:dark\\:focus-within\\:text-opacity-95:focus-within{--tw-text-opacity:0.95}.sm\\:dark\\:focus-within\\:text-opacity-100:focus-within{--tw-text-opacity:1}.sm\\:dark\\:hover\\:text-opacity-0:hover{--tw-text-opacity:0}.sm\\:dark\\:hover\\:text-opacity-5:hover{--tw-text-opacity:0.05}.sm\\:dark\\:hover\\:text-opacity-10:hover{--tw-text-opacity:0.1}.sm\\:dark\\:hover\\:text-opacity-20:hover{--tw-text-opacity:0.2}.sm\\:dark\\:hover\\:text-opacity-25:hover{--tw-text-opacity:0.25}.sm\\:dark\\:hover\\:text-opacity-30:hover{--tw-text-opacity:0.3}.sm\\:dark\\:hover\\:text-opacity-40:hover{--tw-text-opacity:0.4}.sm\\:dark\\:hover\\:text-opacity-50:hover{--tw-text-opacity:0.5}.sm\\:dark\\:hover\\:text-opacity-60:hover{--tw-text-opacity:0.6}.sm\\:dark\\:hover\\:text-opacity-70:hover{--tw-text-opacity:0.7}.sm\\:dark\\:hover\\:text-opacity-75:hover{--tw-text-opacity:0.75}.sm\\:dark\\:hover\\:text-opacity-80:hover{--tw-text-opacity:0.8}.sm\\:dark\\:hover\\:text-opacity-90:hover{--tw-text-opacity:0.9}.sm\\:dark\\:hover\\:text-opacity-95:hover{--tw-text-opacity:0.95}.sm\\:dark\\:hover\\:text-opacity-100:hover{--tw-text-opacity:1}.sm\\:dark\\:focus\\:text-opacity-0:focus{--tw-text-opacity:0}.sm\\:dark\\:focus\\:text-opacity-5:focus{--tw-text-opacity:0.05}.sm\\:dark\\:focus\\:text-opacity-10:focus{--tw-text-opacity:0.1}.sm\\:dark\\:focus\\:text-opacity-20:focus{--tw-text-opacity:0.2}.sm\\:dark\\:focus\\:text-opacity-25:focus{--tw-text-opacity:0.25}.sm\\:dark\\:focus\\:text-opacity-30:focus{--tw-text-opacity:0.3}.sm\\:dark\\:focus\\:text-opacity-40:focus{--tw-text-opacity:0.4}.sm\\:dark\\:focus\\:text-opacity-50:focus{--tw-text-opacity:0.5}.sm\\:dark\\:focus\\:text-opacity-60:focus{--tw-text-opacity:0.6}.sm\\:dark\\:focus\\:text-opacity-70:focus{--tw-text-opacity:0.7}.sm\\:dark\\:focus\\:text-opacity-75:focus{--tw-text-opacity:0.75}.sm\\:dark\\:focus\\:text-opacity-80:focus{--tw-text-opacity:0.8}.sm\\:dark\\:focus\\:text-opacity-90:focus{--tw-text-opacity:0.9}.sm\\:dark\\:focus\\:text-opacity-95:focus{--tw-text-opacity:0.95}.sm\\:dark\\:focus\\:text-opacity-100:focus{--tw-text-opacity:1}}.sm\\:underline{text-decoration:underline}.sm\\:line-through{text-decoration:line-through}.sm\\:no-underline{text-decoration:none}.group:hover .sm\\:group-hover\\:underline{text-decoration:underline}.group:hover .sm\\:group-hover\\:line-through{text-decoration:line-through}.group:hover .sm\\:group-hover\\:no-underline{text-decoration:none}.sm\\:focus-within\\:underline:focus-within{text-decoration:underline}.sm\\:focus-within\\:line-through:focus-within{text-decoration:line-through}.sm\\:focus-within\\:no-underline:focus-within{text-decoration:none}.sm\\:hover\\:underline:hover{text-decoration:underline}.sm\\:hover\\:line-through:hover{text-decoration:line-through}.sm\\:hover\\:no-underline:hover{text-decoration:none}.sm\\:focus\\:underline:focus{text-decoration:underline}.sm\\:focus\\:line-through:focus{text-decoration:line-through}.sm\\:focus\\:no-underline:focus{text-decoration:none}.sm\\:antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sm\\:subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.sm\\:placeholder-transparent::placeholder{color:transparent}.sm\\:placeholder-current::placeholder{color:currentColor}.sm\\:placeholder-white::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.sm\\:placeholder-lightgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(247, 247, 247, var(--tw-placeholder-opacity))}.sm\\:placeholder-midgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.sm\\:placeholder-darkgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(127, 127, 127, var(--tw-placeholder-opacity))}.sm\\:placeholder-grey::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.sm\\:placeholder-black::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.sm\\:placeholder-highlight::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.sm\\:placeholder-highlight_hover::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.sm\\:placeholder-button_outline::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.sm\\:placeholder-error::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 69, 58, var(--tw-placeholder-opacity))}.sm\\:placeholder-text-light::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.sm\\:placeholder-text-dimmed::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.sm\\:placeholder-text-dark::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.sm\\:placeholder-body-light::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.sm\\:placeholder-body-dark::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.sm\\:placeholder-button::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.sm\\:placeholder-button_hover::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.sm\\:focus\\:placeholder-transparent:focus::placeholder{color:transparent}.sm\\:focus\\:placeholder-current:focus::placeholder{color:currentColor}.sm\\:focus\\:placeholder-white:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.sm\\:focus\\:placeholder-lightgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(247, 247, 247, var(--tw-placeholder-opacity))}.sm\\:focus\\:placeholder-midgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.sm\\:focus\\:placeholder-darkgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(127, 127, 127, var(--tw-placeholder-opacity))}.sm\\:focus\\:placeholder-grey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.sm\\:focus\\:placeholder-black:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.sm\\:focus\\:placeholder-highlight:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.sm\\:focus\\:placeholder-highlight_hover:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.sm\\:focus\\:placeholder-button_outline:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.sm\\:focus\\:placeholder-error:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 69, 58, var(--tw-placeholder-opacity))}.sm\\:focus\\:placeholder-text-light:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.sm\\:focus\\:placeholder-text-dimmed:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.sm\\:focus\\:placeholder-text-dark:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.sm\\:focus\\:placeholder-body-light:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.sm\\:focus\\:placeholder-body-dark:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.sm\\:focus\\:placeholder-button:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.sm\\:focus\\:placeholder-button_hover:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}@media(prefers-color-scheme: dark){.sm\\:dark\\:placeholder-transparent::placeholder{color:transparent}.sm\\:dark\\:placeholder-current::placeholder{color:currentColor}.sm\\:dark\\:placeholder-white::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.sm\\:dark\\:placeholder-lightgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(247, 247, 247, var(--tw-placeholder-opacity))}.sm\\:dark\\:placeholder-midgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.sm\\:dark\\:placeholder-darkgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(127, 127, 127, var(--tw-placeholder-opacity))}.sm\\:dark\\:placeholder-grey::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.sm\\:dark\\:placeholder-black::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.sm\\:dark\\:placeholder-highlight::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.sm\\:dark\\:placeholder-highlight_hover::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.sm\\:dark\\:placeholder-button_outline::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.sm\\:dark\\:placeholder-error::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 69, 58, var(--tw-placeholder-opacity))}.sm\\:dark\\:placeholder-text-light::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.sm\\:dark\\:placeholder-text-dimmed::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.sm\\:dark\\:placeholder-text-dark::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.sm\\:dark\\:placeholder-body-light::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.sm\\:dark\\:placeholder-body-dark::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.sm\\:dark\\:placeholder-button::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.sm\\:dark\\:placeholder-button_hover::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.sm\\:dark\\:focus\\:placeholder-transparent:focus::placeholder{color:transparent}.sm\\:dark\\:focus\\:placeholder-current:focus::placeholder{color:currentColor}.sm\\:dark\\:focus\\:placeholder-white:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.sm\\:dark\\:focus\\:placeholder-lightgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(247, 247, 247, var(--tw-placeholder-opacity))}.sm\\:dark\\:focus\\:placeholder-midgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.sm\\:dark\\:focus\\:placeholder-darkgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(127, 127, 127, var(--tw-placeholder-opacity))}.sm\\:dark\\:focus\\:placeholder-grey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.sm\\:dark\\:focus\\:placeholder-black:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.sm\\:dark\\:focus\\:placeholder-highlight:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.sm\\:dark\\:focus\\:placeholder-highlight_hover:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.sm\\:dark\\:focus\\:placeholder-button_outline:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.sm\\:dark\\:focus\\:placeholder-error:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 69, 58, var(--tw-placeholder-opacity))}.sm\\:dark\\:focus\\:placeholder-text-light:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.sm\\:dark\\:focus\\:placeholder-text-dimmed:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.sm\\:dark\\:focus\\:placeholder-text-dark:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.sm\\:dark\\:focus\\:placeholder-body-light:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.sm\\:dark\\:focus\\:placeholder-body-dark:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.sm\\:dark\\:focus\\:placeholder-button:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.sm\\:dark\\:focus\\:placeholder-button_hover:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}}.sm\\:placeholder-opacity-0::placeholder{--tw-placeholder-opacity:0}.sm\\:placeholder-opacity-5::placeholder{--tw-placeholder-opacity:0.05}.sm\\:placeholder-opacity-10::placeholder{--tw-placeholder-opacity:0.1}.sm\\:placeholder-opacity-20::placeholder{--tw-placeholder-opacity:0.2}.sm\\:placeholder-opacity-25::placeholder{--tw-placeholder-opacity:0.25}.sm\\:placeholder-opacity-30::placeholder{--tw-placeholder-opacity:0.3}.sm\\:placeholder-opacity-40::placeholder{--tw-placeholder-opacity:0.4}.sm\\:placeholder-opacity-50::placeholder{--tw-placeholder-opacity:0.5}.sm\\:placeholder-opacity-60::placeholder{--tw-placeholder-opacity:0.6}.sm\\:placeholder-opacity-70::placeholder{--tw-placeholder-opacity:0.7}.sm\\:placeholder-opacity-75::placeholder{--tw-placeholder-opacity:0.75}.sm\\:placeholder-opacity-80::placeholder{--tw-placeholder-opacity:0.8}.sm\\:placeholder-opacity-90::placeholder{--tw-placeholder-opacity:0.9}.sm\\:placeholder-opacity-95::placeholder{--tw-placeholder-opacity:0.95}.sm\\:placeholder-opacity-100::placeholder{--tw-placeholder-opacity:1}.sm\\:focus\\:placeholder-opacity-0:focus::placeholder{--tw-placeholder-opacity:0}.sm\\:focus\\:placeholder-opacity-5:focus::placeholder{--tw-placeholder-opacity:0.05}.sm\\:focus\\:placeholder-opacity-10:focus::placeholder{--tw-placeholder-opacity:0.1}.sm\\:focus\\:placeholder-opacity-20:focus::placeholder{--tw-placeholder-opacity:0.2}.sm\\:focus\\:placeholder-opacity-25:focus::placeholder{--tw-placeholder-opacity:0.25}.sm\\:focus\\:placeholder-opacity-30:focus::placeholder{--tw-placeholder-opacity:0.3}.sm\\:focus\\:placeholder-opacity-40:focus::placeholder{--tw-placeholder-opacity:0.4}.sm\\:focus\\:placeholder-opacity-50:focus::placeholder{--tw-placeholder-opacity:0.5}.sm\\:focus\\:placeholder-opacity-60:focus::placeholder{--tw-placeholder-opacity:0.6}.sm\\:focus\\:placeholder-opacity-70:focus::placeholder{--tw-placeholder-opacity:0.7}.sm\\:focus\\:placeholder-opacity-75:focus::placeholder{--tw-placeholder-opacity:0.75}.sm\\:focus\\:placeholder-opacity-80:focus::placeholder{--tw-placeholder-opacity:0.8}.sm\\:focus\\:placeholder-opacity-90:focus::placeholder{--tw-placeholder-opacity:0.9}.sm\\:focus\\:placeholder-opacity-95:focus::placeholder{--tw-placeholder-opacity:0.95}.sm\\:focus\\:placeholder-opacity-100:focus::placeholder{--tw-placeholder-opacity:1}@media(prefers-color-scheme: dark){.sm\\:dark\\:placeholder-opacity-0::placeholder{--tw-placeholder-opacity:0}.sm\\:dark\\:placeholder-opacity-5::placeholder{--tw-placeholder-opacity:0.05}.sm\\:dark\\:placeholder-opacity-10::placeholder{--tw-placeholder-opacity:0.1}.sm\\:dark\\:placeholder-opacity-20::placeholder{--tw-placeholder-opacity:0.2}.sm\\:dark\\:placeholder-opacity-25::placeholder{--tw-placeholder-opacity:0.25}.sm\\:dark\\:placeholder-opacity-30::placeholder{--tw-placeholder-opacity:0.3}.sm\\:dark\\:placeholder-opacity-40::placeholder{--tw-placeholder-opacity:0.4}.sm\\:dark\\:placeholder-opacity-50::placeholder{--tw-placeholder-opacity:0.5}.sm\\:dark\\:placeholder-opacity-60::placeholder{--tw-placeholder-opacity:0.6}.sm\\:dark\\:placeholder-opacity-70::placeholder{--tw-placeholder-opacity:0.7}.sm\\:dark\\:placeholder-opacity-75::placeholder{--tw-placeholder-opacity:0.75}.sm\\:dark\\:placeholder-opacity-80::placeholder{--tw-placeholder-opacity:0.8}.sm\\:dark\\:placeholder-opacity-90::placeholder{--tw-placeholder-opacity:0.9}.sm\\:dark\\:placeholder-opacity-95::placeholder{--tw-placeholder-opacity:0.95}.sm\\:dark\\:placeholder-opacity-100::placeholder{--tw-placeholder-opacity:1}.sm\\:dark\\:focus\\:placeholder-opacity-0:focus::placeholder{--tw-placeholder-opacity:0}.sm\\:dark\\:focus\\:placeholder-opacity-5:focus::placeholder{--tw-placeholder-opacity:0.05}.sm\\:dark\\:focus\\:placeholder-opacity-10:focus::placeholder{--tw-placeholder-opacity:0.1}.sm\\:dark\\:focus\\:placeholder-opacity-20:focus::placeholder{--tw-placeholder-opacity:0.2}.sm\\:dark\\:focus\\:placeholder-opacity-25:focus::placeholder{--tw-placeholder-opacity:0.25}.sm\\:dark\\:focus\\:placeholder-opacity-30:focus::placeholder{--tw-placeholder-opacity:0.3}.sm\\:dark\\:focus\\:placeholder-opacity-40:focus::placeholder{--tw-placeholder-opacity:0.4}.sm\\:dark\\:focus\\:placeholder-opacity-50:focus::placeholder{--tw-placeholder-opacity:0.5}.sm\\:dark\\:focus\\:placeholder-opacity-60:focus::placeholder{--tw-placeholder-opacity:0.6}.sm\\:dark\\:focus\\:placeholder-opacity-70:focus::placeholder{--tw-placeholder-opacity:0.7}.sm\\:dark\\:focus\\:placeholder-opacity-75:focus::placeholder{--tw-placeholder-opacity:0.75}.sm\\:dark\\:focus\\:placeholder-opacity-80:focus::placeholder{--tw-placeholder-opacity:0.8}.sm\\:dark\\:focus\\:placeholder-opacity-90:focus::placeholder{--tw-placeholder-opacity:0.9}.sm\\:dark\\:focus\\:placeholder-opacity-95:focus::placeholder{--tw-placeholder-opacity:0.95}.sm\\:dark\\:focus\\:placeholder-opacity-100:focus::placeholder{--tw-placeholder-opacity:1}}.sm\\:opacity-0{opacity:0}.sm\\:opacity-5{opacity:0.05}.sm\\:opacity-10{opacity:0.1}.sm\\:opacity-20{opacity:0.2}.sm\\:opacity-25{opacity:0.25}.sm\\:opacity-30{opacity:0.3}.sm\\:opacity-40{opacity:0.4}.sm\\:opacity-50{opacity:0.5}.sm\\:opacity-60{opacity:0.6}.sm\\:opacity-70{opacity:0.7}.sm\\:opacity-75{opacity:0.75}.sm\\:opacity-80{opacity:0.8}.sm\\:opacity-90{opacity:0.9}.sm\\:opacity-95{opacity:0.95}.sm\\:opacity-100{opacity:1}.group:hover .sm\\:group-hover\\:opacity-0{opacity:0}.group:hover .sm\\:group-hover\\:opacity-5{opacity:0.05}.group:hover .sm\\:group-hover\\:opacity-10{opacity:0.1}.group:hover .sm\\:group-hover\\:opacity-20{opacity:0.2}.group:hover .sm\\:group-hover\\:opacity-25{opacity:0.25}.group:hover .sm\\:group-hover\\:opacity-30{opacity:0.3}.group:hover .sm\\:group-hover\\:opacity-40{opacity:0.4}.group:hover .sm\\:group-hover\\:opacity-50{opacity:0.5}.group:hover .sm\\:group-hover\\:opacity-60{opacity:0.6}.group:hover .sm\\:group-hover\\:opacity-70{opacity:0.7}.group:hover .sm\\:group-hover\\:opacity-75{opacity:0.75}.group:hover .sm\\:group-hover\\:opacity-80{opacity:0.8}.group:hover .sm\\:group-hover\\:opacity-90{opacity:0.9}.group:hover .sm\\:group-hover\\:opacity-95{opacity:0.95}.group:hover .sm\\:group-hover\\:opacity-100{opacity:1}.sm\\:focus-within\\:opacity-0:focus-within{opacity:0}.sm\\:focus-within\\:opacity-5:focus-within{opacity:0.05}.sm\\:focus-within\\:opacity-10:focus-within{opacity:0.1}.sm\\:focus-within\\:opacity-20:focus-within{opacity:0.2}.sm\\:focus-within\\:opacity-25:focus-within{opacity:0.25}.sm\\:focus-within\\:opacity-30:focus-within{opacity:0.3}.sm\\:focus-within\\:opacity-40:focus-within{opacity:0.4}.sm\\:focus-within\\:opacity-50:focus-within{opacity:0.5}.sm\\:focus-within\\:opacity-60:focus-within{opacity:0.6}.sm\\:focus-within\\:opacity-70:focus-within{opacity:0.7}.sm\\:focus-within\\:opacity-75:focus-within{opacity:0.75}.sm\\:focus-within\\:opacity-80:focus-within{opacity:0.8}.sm\\:focus-within\\:opacity-90:focus-within{opacity:0.9}.sm\\:focus-within\\:opacity-95:focus-within{opacity:0.95}.sm\\:focus-within\\:opacity-100:focus-within{opacity:1}.sm\\:hover\\:opacity-0:hover{opacity:0}.sm\\:hover\\:opacity-5:hover{opacity:0.05}.sm\\:hover\\:opacity-10:hover{opacity:0.1}.sm\\:hover\\:opacity-20:hover{opacity:0.2}.sm\\:hover\\:opacity-25:hover{opacity:0.25}.sm\\:hover\\:opacity-30:hover{opacity:0.3}.sm\\:hover\\:opacity-40:hover{opacity:0.4}.sm\\:hover\\:opacity-50:hover{opacity:0.5}.sm\\:hover\\:opacity-60:hover{opacity:0.6}.sm\\:hover\\:opacity-70:hover{opacity:0.7}.sm\\:hover\\:opacity-75:hover{opacity:0.75}.sm\\:hover\\:opacity-80:hover{opacity:0.8}.sm\\:hover\\:opacity-90:hover{opacity:0.9}.sm\\:hover\\:opacity-95:hover{opacity:0.95}.sm\\:hover\\:opacity-100:hover{opacity:1}.sm\\:focus\\:opacity-0:focus{opacity:0}.sm\\:focus\\:opacity-5:focus{opacity:0.05}.sm\\:focus\\:opacity-10:focus{opacity:0.1}.sm\\:focus\\:opacity-20:focus{opacity:0.2}.sm\\:focus\\:opacity-25:focus{opacity:0.25}.sm\\:focus\\:opacity-30:focus{opacity:0.3}.sm\\:focus\\:opacity-40:focus{opacity:0.4}.sm\\:focus\\:opacity-50:focus{opacity:0.5}.sm\\:focus\\:opacity-60:focus{opacity:0.6}.sm\\:focus\\:opacity-70:focus{opacity:0.7}.sm\\:focus\\:opacity-75:focus{opacity:0.75}.sm\\:focus\\:opacity-80:focus{opacity:0.8}.sm\\:focus\\:opacity-90:focus{opacity:0.9}.sm\\:focus\\:opacity-95:focus{opacity:0.95}.sm\\:focus\\:opacity-100:focus{opacity:1}.sm\\:bg-blend-normal{background-blend-mode:normal}.sm\\:bg-blend-multiply{background-blend-mode:multiply}.sm\\:bg-blend-screen{background-blend-mode:screen}.sm\\:bg-blend-overlay{background-blend-mode:overlay}.sm\\:bg-blend-darken{background-blend-mode:darken}.sm\\:bg-blend-lighten{background-blend-mode:lighten}.sm\\:bg-blend-color-dodge{background-blend-mode:color-dodge}.sm\\:bg-blend-color-burn{background-blend-mode:color-burn}.sm\\:bg-blend-hard-light{background-blend-mode:hard-light}.sm\\:bg-blend-soft-light{background-blend-mode:soft-light}.sm\\:bg-blend-difference{background-blend-mode:difference}.sm\\:bg-blend-exclusion{background-blend-mode:exclusion}.sm\\:bg-blend-hue{background-blend-mode:hue}.sm\\:bg-blend-saturation{background-blend-mode:saturation}.sm\\:bg-blend-color{background-blend-mode:color}.sm\\:bg-blend-luminosity{background-blend-mode:luminosity}.sm\\:mix-blend-normal{mix-blend-mode:normal}.sm\\:mix-blend-multiply{mix-blend-mode:multiply}.sm\\:mix-blend-screen{mix-blend-mode:screen}.sm\\:mix-blend-overlay{mix-blend-mode:overlay}.sm\\:mix-blend-darken{mix-blend-mode:darken}.sm\\:mix-blend-lighten{mix-blend-mode:lighten}.sm\\:mix-blend-color-dodge{mix-blend-mode:color-dodge}.sm\\:mix-blend-color-burn{mix-blend-mode:color-burn}.sm\\:mix-blend-hard-light{mix-blend-mode:hard-light}.sm\\:mix-blend-soft-light{mix-blend-mode:soft-light}.sm\\:mix-blend-difference{mix-blend-mode:difference}.sm\\:mix-blend-exclusion{mix-blend-mode:exclusion}.sm\\:mix-blend-hue{mix-blend-mode:hue}.sm\\:mix-blend-saturation{mix-blend-mode:saturation}.sm\\:mix-blend-color{mix-blend-mode:color}.sm\\:mix-blend-luminosity{mix-blend-mode:luminosity}.sm\\:shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:shadow{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:shadow-md{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .sm\\:group-hover\\:shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .sm\\:group-hover\\:shadow{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .sm\\:group-hover\\:shadow-md{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .sm\\:group-hover\\:shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .sm\\:group-hover\\:shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .sm\\:group-hover\\:shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .sm\\:group-hover\\:shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .sm\\:group-hover\\:shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:focus-within\\:shadow-sm:focus-within{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:focus-within\\:shadow:focus-within{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:focus-within\\:shadow-md:focus-within{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:focus-within\\:shadow-lg:focus-within{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:focus-within\\:shadow-xl:focus-within{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:focus-within\\:shadow-2xl:focus-within{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:focus-within\\:shadow-inner:focus-within{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:focus-within\\:shadow-none:focus-within{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:hover\\:shadow-sm:hover{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:hover\\:shadow:hover{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:hover\\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:hover\\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:hover\\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:hover\\:shadow-2xl:hover{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:hover\\:shadow-inner:hover{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:hover\\:shadow-none:hover{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:focus\\:shadow-sm:focus{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:focus\\:shadow:focus{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:focus\\:shadow-md:focus{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:focus\\:shadow-lg:focus{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:focus\\:shadow-xl:focus{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:focus\\:shadow-2xl:focus{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:focus\\:shadow-inner:focus{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:focus\\:shadow-none:focus{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:outline-none{outline:2px solid transparent;outline-offset:2px}.sm\\:outline-white{outline:2px dotted white;outline-offset:2px}.sm\\:outline-black{outline:2px dotted black;outline-offset:2px}.sm\\:focus-within\\:outline-none:focus-within{outline:2px solid transparent;outline-offset:2px}.sm\\:focus-within\\:outline-white:focus-within{outline:2px dotted white;outline-offset:2px}.sm\\:focus-within\\:outline-black:focus-within{outline:2px dotted black;outline-offset:2px}.sm\\:focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.sm\\:focus\\:outline-white:focus{outline:2px dotted white;outline-offset:2px}.sm\\:focus\\:outline-black:focus{outline:2px dotted black;outline-offset:2px}.sm\\:ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.sm\\:ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.sm\\:ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.sm\\:ring-4{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.sm\\:ring-8{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.sm\\:ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.sm\\:focus-within\\:ring-0:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.sm\\:focus-within\\:ring-1:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.sm\\:focus-within\\:ring-2:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.sm\\:focus-within\\:ring-4:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.sm\\:focus-within\\:ring-8:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.sm\\:focus-within\\:ring:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.sm\\:focus\\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.sm\\:focus\\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.sm\\:focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.sm\\:focus\\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.sm\\:focus\\:ring-8:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.sm\\:focus\\:ring:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.sm\\:ring-inset{--tw-ring-inset:inset}.sm\\:focus-within\\:ring-inset:focus-within{--tw-ring-inset:inset}.sm\\:focus\\:ring-inset:focus{--tw-ring-inset:inset}.sm\\:ring-transparent{--tw-ring-color:transparent}.sm\\:ring-current{--tw-ring-color:currentColor}.sm\\:ring-white{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.sm\\:ring-lightgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.sm\\:ring-midgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.sm\\:ring-darkgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.sm\\:ring-grey{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.sm\\:ring-black{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.sm\\:ring-highlight{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.sm\\:ring-highlight_hover{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.sm\\:ring-button_outline{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.sm\\:ring-error{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.sm\\:ring-text-light{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.sm\\:ring-text-dimmed{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.sm\\:ring-text-dark{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.sm\\:ring-body-light{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.sm\\:ring-body-dark{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.sm\\:ring-button{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.sm\\:ring-button_hover{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.sm\\:focus-within\\:ring-transparent:focus-within{--tw-ring-color:transparent}.sm\\:focus-within\\:ring-current:focus-within{--tw-ring-color:currentColor}.sm\\:focus-within\\:ring-white:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.sm\\:focus-within\\:ring-lightgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.sm\\:focus-within\\:ring-midgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.sm\\:focus-within\\:ring-darkgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.sm\\:focus-within\\:ring-grey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.sm\\:focus-within\\:ring-black:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.sm\\:focus-within\\:ring-highlight:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.sm\\:focus-within\\:ring-highlight_hover:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.sm\\:focus-within\\:ring-button_outline:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.sm\\:focus-within\\:ring-error:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.sm\\:focus-within\\:ring-text-light:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.sm\\:focus-within\\:ring-text-dimmed:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.sm\\:focus-within\\:ring-text-dark:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.sm\\:focus-within\\:ring-body-light:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.sm\\:focus-within\\:ring-body-dark:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.sm\\:focus-within\\:ring-button:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.sm\\:focus-within\\:ring-button_hover:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.sm\\:focus\\:ring-transparent:focus{--tw-ring-color:transparent}.sm\\:focus\\:ring-current:focus{--tw-ring-color:currentColor}.sm\\:focus\\:ring-white:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.sm\\:focus\\:ring-lightgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.sm\\:focus\\:ring-midgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.sm\\:focus\\:ring-darkgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.sm\\:focus\\:ring-grey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.sm\\:focus\\:ring-black:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.sm\\:focus\\:ring-highlight:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.sm\\:focus\\:ring-highlight_hover:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.sm\\:focus\\:ring-button_outline:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.sm\\:focus\\:ring-error:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.sm\\:focus\\:ring-text-light:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.sm\\:focus\\:ring-text-dimmed:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.sm\\:focus\\:ring-text-dark:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.sm\\:focus\\:ring-body-light:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.sm\\:focus\\:ring-body-dark:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.sm\\:focus\\:ring-button:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.sm\\:focus\\:ring-button_hover:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}@media(prefers-color-scheme: dark){.sm\\:dark\\:ring-transparent{--tw-ring-color:transparent}.sm\\:dark\\:ring-current{--tw-ring-color:currentColor}.sm\\:dark\\:ring-white{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.sm\\:dark\\:ring-lightgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.sm\\:dark\\:ring-midgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.sm\\:dark\\:ring-darkgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.sm\\:dark\\:ring-grey{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.sm\\:dark\\:ring-black{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.sm\\:dark\\:ring-highlight{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.sm\\:dark\\:ring-highlight_hover{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.sm\\:dark\\:ring-button_outline{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.sm\\:dark\\:ring-error{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.sm\\:dark\\:ring-text-light{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.sm\\:dark\\:ring-text-dimmed{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.sm\\:dark\\:ring-text-dark{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.sm\\:dark\\:ring-body-light{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.sm\\:dark\\:ring-body-dark{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.sm\\:dark\\:ring-button{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.sm\\:dark\\:ring-button_hover{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.sm\\:dark\\:focus-within\\:ring-transparent:focus-within{--tw-ring-color:transparent}.sm\\:dark\\:focus-within\\:ring-current:focus-within{--tw-ring-color:currentColor}.sm\\:dark\\:focus-within\\:ring-white:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.sm\\:dark\\:focus-within\\:ring-lightgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.sm\\:dark\\:focus-within\\:ring-midgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.sm\\:dark\\:focus-within\\:ring-darkgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.sm\\:dark\\:focus-within\\:ring-grey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.sm\\:dark\\:focus-within\\:ring-black:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.sm\\:dark\\:focus-within\\:ring-highlight:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.sm\\:dark\\:focus-within\\:ring-highlight_hover:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.sm\\:dark\\:focus-within\\:ring-button_outline:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.sm\\:dark\\:focus-within\\:ring-error:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.sm\\:dark\\:focus-within\\:ring-text-light:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.sm\\:dark\\:focus-within\\:ring-text-dimmed:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.sm\\:dark\\:focus-within\\:ring-text-dark:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.sm\\:dark\\:focus-within\\:ring-body-light:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.sm\\:dark\\:focus-within\\:ring-body-dark:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.sm\\:dark\\:focus-within\\:ring-button:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.sm\\:dark\\:focus-within\\:ring-button_hover:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.sm\\:dark\\:focus\\:ring-transparent:focus{--tw-ring-color:transparent}.sm\\:dark\\:focus\\:ring-current:focus{--tw-ring-color:currentColor}.sm\\:dark\\:focus\\:ring-white:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.sm\\:dark\\:focus\\:ring-lightgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.sm\\:dark\\:focus\\:ring-midgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.sm\\:dark\\:focus\\:ring-darkgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.sm\\:dark\\:focus\\:ring-grey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.sm\\:dark\\:focus\\:ring-black:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.sm\\:dark\\:focus\\:ring-highlight:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.sm\\:dark\\:focus\\:ring-highlight_hover:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.sm\\:dark\\:focus\\:ring-button_outline:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.sm\\:dark\\:focus\\:ring-error:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.sm\\:dark\\:focus\\:ring-text-light:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.sm\\:dark\\:focus\\:ring-text-dimmed:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.sm\\:dark\\:focus\\:ring-text-dark:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.sm\\:dark\\:focus\\:ring-body-light:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.sm\\:dark\\:focus\\:ring-body-dark:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.sm\\:dark\\:focus\\:ring-button:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.sm\\:dark\\:focus\\:ring-button_hover:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}}.sm\\:ring-opacity-0{--tw-ring-opacity:0}.sm\\:ring-opacity-5{--tw-ring-opacity:0.05}.sm\\:ring-opacity-10{--tw-ring-opacity:0.1}.sm\\:ring-opacity-20{--tw-ring-opacity:0.2}.sm\\:ring-opacity-25{--tw-ring-opacity:0.25}.sm\\:ring-opacity-30{--tw-ring-opacity:0.3}.sm\\:ring-opacity-40{--tw-ring-opacity:0.4}.sm\\:ring-opacity-50{--tw-ring-opacity:0.5}.sm\\:ring-opacity-60{--tw-ring-opacity:0.6}.sm\\:ring-opacity-70{--tw-ring-opacity:0.7}.sm\\:ring-opacity-75{--tw-ring-opacity:0.75}.sm\\:ring-opacity-80{--tw-ring-opacity:0.8}.sm\\:ring-opacity-90{--tw-ring-opacity:0.9}.sm\\:ring-opacity-95{--tw-ring-opacity:0.95}.sm\\:ring-opacity-100{--tw-ring-opacity:1}.sm\\:focus-within\\:ring-opacity-0:focus-within{--tw-ring-opacity:0}.sm\\:focus-within\\:ring-opacity-5:focus-within{--tw-ring-opacity:0.05}.sm\\:focus-within\\:ring-opacity-10:focus-within{--tw-ring-opacity:0.1}.sm\\:focus-within\\:ring-opacity-20:focus-within{--tw-ring-opacity:0.2}.sm\\:focus-within\\:ring-opacity-25:focus-within{--tw-ring-opacity:0.25}.sm\\:focus-within\\:ring-opacity-30:focus-within{--tw-ring-opacity:0.3}.sm\\:focus-within\\:ring-opacity-40:focus-within{--tw-ring-opacity:0.4}.sm\\:focus-within\\:ring-opacity-50:focus-within{--tw-ring-opacity:0.5}.sm\\:focus-within\\:ring-opacity-60:focus-within{--tw-ring-opacity:0.6}.sm\\:focus-within\\:ring-opacity-70:focus-within{--tw-ring-opacity:0.7}.sm\\:focus-within\\:ring-opacity-75:focus-within{--tw-ring-opacity:0.75}.sm\\:focus-within\\:ring-opacity-80:focus-within{--tw-ring-opacity:0.8}.sm\\:focus-within\\:ring-opacity-90:focus-within{--tw-ring-opacity:0.9}.sm\\:focus-within\\:ring-opacity-95:focus-within{--tw-ring-opacity:0.95}.sm\\:focus-within\\:ring-opacity-100:focus-within{--tw-ring-opacity:1}.sm\\:focus\\:ring-opacity-0:focus{--tw-ring-opacity:0}.sm\\:focus\\:ring-opacity-5:focus{--tw-ring-opacity:0.05}.sm\\:focus\\:ring-opacity-10:focus{--tw-ring-opacity:0.1}.sm\\:focus\\:ring-opacity-20:focus{--tw-ring-opacity:0.2}.sm\\:focus\\:ring-opacity-25:focus{--tw-ring-opacity:0.25}.sm\\:focus\\:ring-opacity-30:focus{--tw-ring-opacity:0.3}.sm\\:focus\\:ring-opacity-40:focus{--tw-ring-opacity:0.4}.sm\\:focus\\:ring-opacity-50:focus{--tw-ring-opacity:0.5}.sm\\:focus\\:ring-opacity-60:focus{--tw-ring-opacity:0.6}.sm\\:focus\\:ring-opacity-70:focus{--tw-ring-opacity:0.7}.sm\\:focus\\:ring-opacity-75:focus{--tw-ring-opacity:0.75}.sm\\:focus\\:ring-opacity-80:focus{--tw-ring-opacity:0.8}.sm\\:focus\\:ring-opacity-90:focus{--tw-ring-opacity:0.9}.sm\\:focus\\:ring-opacity-95:focus{--tw-ring-opacity:0.95}.sm\\:focus\\:ring-opacity-100:focus{--tw-ring-opacity:1}@media(prefers-color-scheme: dark){.sm\\:dark\\:ring-opacity-0{--tw-ring-opacity:0}.sm\\:dark\\:ring-opacity-5{--tw-ring-opacity:0.05}.sm\\:dark\\:ring-opacity-10{--tw-ring-opacity:0.1}.sm\\:dark\\:ring-opacity-20{--tw-ring-opacity:0.2}.sm\\:dark\\:ring-opacity-25{--tw-ring-opacity:0.25}.sm\\:dark\\:ring-opacity-30{--tw-ring-opacity:0.3}.sm\\:dark\\:ring-opacity-40{--tw-ring-opacity:0.4}.sm\\:dark\\:ring-opacity-50{--tw-ring-opacity:0.5}.sm\\:dark\\:ring-opacity-60{--tw-ring-opacity:0.6}.sm\\:dark\\:ring-opacity-70{--tw-ring-opacity:0.7}.sm\\:dark\\:ring-opacity-75{--tw-ring-opacity:0.75}.sm\\:dark\\:ring-opacity-80{--tw-ring-opacity:0.8}.sm\\:dark\\:ring-opacity-90{--tw-ring-opacity:0.9}.sm\\:dark\\:ring-opacity-95{--tw-ring-opacity:0.95}.sm\\:dark\\:ring-opacity-100{--tw-ring-opacity:1}.sm\\:dark\\:focus-within\\:ring-opacity-0:focus-within{--tw-ring-opacity:0}.sm\\:dark\\:focus-within\\:ring-opacity-5:focus-within{--tw-ring-opacity:0.05}.sm\\:dark\\:focus-within\\:ring-opacity-10:focus-within{--tw-ring-opacity:0.1}.sm\\:dark\\:focus-within\\:ring-opacity-20:focus-within{--tw-ring-opacity:0.2}.sm\\:dark\\:focus-within\\:ring-opacity-25:focus-within{--tw-ring-opacity:0.25}.sm\\:dark\\:focus-within\\:ring-opacity-30:focus-within{--tw-ring-opacity:0.3}.sm\\:dark\\:focus-within\\:ring-opacity-40:focus-within{--tw-ring-opacity:0.4}.sm\\:dark\\:focus-within\\:ring-opacity-50:focus-within{--tw-ring-opacity:0.5}.sm\\:dark\\:focus-within\\:ring-opacity-60:focus-within{--tw-ring-opacity:0.6}.sm\\:dark\\:focus-within\\:ring-opacity-70:focus-within{--tw-ring-opacity:0.7}.sm\\:dark\\:focus-within\\:ring-opacity-75:focus-within{--tw-ring-opacity:0.75}.sm\\:dark\\:focus-within\\:ring-opacity-80:focus-within{--tw-ring-opacity:0.8}.sm\\:dark\\:focus-within\\:ring-opacity-90:focus-within{--tw-ring-opacity:0.9}.sm\\:dark\\:focus-within\\:ring-opacity-95:focus-within{--tw-ring-opacity:0.95}.sm\\:dark\\:focus-within\\:ring-opacity-100:focus-within{--tw-ring-opacity:1}.sm\\:dark\\:focus\\:ring-opacity-0:focus{--tw-ring-opacity:0}.sm\\:dark\\:focus\\:ring-opacity-5:focus{--tw-ring-opacity:0.05}.sm\\:dark\\:focus\\:ring-opacity-10:focus{--tw-ring-opacity:0.1}.sm\\:dark\\:focus\\:ring-opacity-20:focus{--tw-ring-opacity:0.2}.sm\\:dark\\:focus\\:ring-opacity-25:focus{--tw-ring-opacity:0.25}.sm\\:dark\\:focus\\:ring-opacity-30:focus{--tw-ring-opacity:0.3}.sm\\:dark\\:focus\\:ring-opacity-40:focus{--tw-ring-opacity:0.4}.sm\\:dark\\:focus\\:ring-opacity-50:focus{--tw-ring-opacity:0.5}.sm\\:dark\\:focus\\:ring-opacity-60:focus{--tw-ring-opacity:0.6}.sm\\:dark\\:focus\\:ring-opacity-70:focus{--tw-ring-opacity:0.7}.sm\\:dark\\:focus\\:ring-opacity-75:focus{--tw-ring-opacity:0.75}.sm\\:dark\\:focus\\:ring-opacity-80:focus{--tw-ring-opacity:0.8}.sm\\:dark\\:focus\\:ring-opacity-90:focus{--tw-ring-opacity:0.9}.sm\\:dark\\:focus\\:ring-opacity-95:focus{--tw-ring-opacity:0.95}.sm\\:dark\\:focus\\:ring-opacity-100:focus{--tw-ring-opacity:1}}.sm\\:ring-offset-0{--tw-ring-offset-width:0px}.sm\\:ring-offset-1{--tw-ring-offset-width:1px}.sm\\:ring-offset-2{--tw-ring-offset-width:2px}.sm\\:ring-offset-4{--tw-ring-offset-width:4px}.sm\\:ring-offset-8{--tw-ring-offset-width:8px}.sm\\:focus-within\\:ring-offset-0:focus-within{--tw-ring-offset-width:0px}.sm\\:focus-within\\:ring-offset-1:focus-within{--tw-ring-offset-width:1px}.sm\\:focus-within\\:ring-offset-2:focus-within{--tw-ring-offset-width:2px}.sm\\:focus-within\\:ring-offset-4:focus-within{--tw-ring-offset-width:4px}.sm\\:focus-within\\:ring-offset-8:focus-within{--tw-ring-offset-width:8px}.sm\\:focus\\:ring-offset-0:focus{--tw-ring-offset-width:0px}.sm\\:focus\\:ring-offset-1:focus{--tw-ring-offset-width:1px}.sm\\:focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}.sm\\:focus\\:ring-offset-4:focus{--tw-ring-offset-width:4px}.sm\\:focus\\:ring-offset-8:focus{--tw-ring-offset-width:8px}.sm\\:ring-offset-transparent{--tw-ring-offset-color:transparent}.sm\\:ring-offset-current{--tw-ring-offset-color:currentColor}.sm\\:ring-offset-white{--tw-ring-offset-color:#fff}.sm\\:ring-offset-lightgrey{--tw-ring-offset-color:#F7F7F7}.sm\\:ring-offset-midgrey{--tw-ring-offset-color:#cfcfcf}.sm\\:ring-offset-darkgrey{--tw-ring-offset-color:#7f7f7f}.sm\\:ring-offset-grey{--tw-ring-offset-color:#1e1e1e}.sm\\:ring-offset-black{--tw-ring-offset-color:#0f0f0f}.sm\\:ring-offset-highlight{--tw-ring-offset-color:#0071e3}.sm\\:ring-offset-highlight_hover{--tw-ring-offset-color:#0077ed}.sm\\:ring-offset-button_outline{--tw-ring-offset-color:#cfcfcf}.sm\\:ring-offset-error{--tw-ring-offset-color:#ff453a}.sm\\:ring-offset-text-light{--tw-ring-offset-color:#0f0f0f}.sm\\:ring-offset-text-dimmed{--tw-ring-offset-color:#cfcfcf}.sm\\:ring-offset-text-dark{--tw-ring-offset-color:#fff}.sm\\:ring-offset-body-light{--tw-ring-offset-color:#fff}.sm\\:ring-offset-body-dark{--tw-ring-offset-color:#1e1e1e}.sm\\:ring-offset-button{--tw-ring-offset-color:#0071e3}.sm\\:ring-offset-button_hover{--tw-ring-offset-color:#0077ed}.sm\\:focus-within\\:ring-offset-transparent:focus-within{--tw-ring-offset-color:transparent}.sm\\:focus-within\\:ring-offset-current:focus-within{--tw-ring-offset-color:currentColor}.sm\\:focus-within\\:ring-offset-white:focus-within{--tw-ring-offset-color:#fff}.sm\\:focus-within\\:ring-offset-lightgrey:focus-within{--tw-ring-offset-color:#F7F7F7}.sm\\:focus-within\\:ring-offset-midgrey:focus-within{--tw-ring-offset-color:#cfcfcf}.sm\\:focus-within\\:ring-offset-darkgrey:focus-within{--tw-ring-offset-color:#7f7f7f}.sm\\:focus-within\\:ring-offset-grey:focus-within{--tw-ring-offset-color:#1e1e1e}.sm\\:focus-within\\:ring-offset-black:focus-within{--tw-ring-offset-color:#0f0f0f}.sm\\:focus-within\\:ring-offset-highlight:focus-within{--tw-ring-offset-color:#0071e3}.sm\\:focus-within\\:ring-offset-highlight_hover:focus-within{--tw-ring-offset-color:#0077ed}.sm\\:focus-within\\:ring-offset-button_outline:focus-within{--tw-ring-offset-color:#cfcfcf}.sm\\:focus-within\\:ring-offset-error:focus-within{--tw-ring-offset-color:#ff453a}.sm\\:focus-within\\:ring-offset-text-light:focus-within{--tw-ring-offset-color:#0f0f0f}.sm\\:focus-within\\:ring-offset-text-dimmed:focus-within{--tw-ring-offset-color:#cfcfcf}.sm\\:focus-within\\:ring-offset-text-dark:focus-within{--tw-ring-offset-color:#fff}.sm\\:focus-within\\:ring-offset-body-light:focus-within{--tw-ring-offset-color:#fff}.sm\\:focus-within\\:ring-offset-body-dark:focus-within{--tw-ring-offset-color:#1e1e1e}.sm\\:focus-within\\:ring-offset-button:focus-within{--tw-ring-offset-color:#0071e3}.sm\\:focus-within\\:ring-offset-button_hover:focus-within{--tw-ring-offset-color:#0077ed}.sm\\:focus\\:ring-offset-transparent:focus{--tw-ring-offset-color:transparent}.sm\\:focus\\:ring-offset-current:focus{--tw-ring-offset-color:currentColor}.sm\\:focus\\:ring-offset-white:focus{--tw-ring-offset-color:#fff}.sm\\:focus\\:ring-offset-lightgrey:focus{--tw-ring-offset-color:#F7F7F7}.sm\\:focus\\:ring-offset-midgrey:focus{--tw-ring-offset-color:#cfcfcf}.sm\\:focus\\:ring-offset-darkgrey:focus{--tw-ring-offset-color:#7f7f7f}.sm\\:focus\\:ring-offset-grey:focus{--tw-ring-offset-color:#1e1e1e}.sm\\:focus\\:ring-offset-black:focus{--tw-ring-offset-color:#0f0f0f}.sm\\:focus\\:ring-offset-highlight:focus{--tw-ring-offset-color:#0071e3}.sm\\:focus\\:ring-offset-highlight_hover:focus{--tw-ring-offset-color:#0077ed}.sm\\:focus\\:ring-offset-button_outline:focus{--tw-ring-offset-color:#cfcfcf}.sm\\:focus\\:ring-offset-error:focus{--tw-ring-offset-color:#ff453a}.sm\\:focus\\:ring-offset-text-light:focus{--tw-ring-offset-color:#0f0f0f}.sm\\:focus\\:ring-offset-text-dimmed:focus{--tw-ring-offset-color:#cfcfcf}.sm\\:focus\\:ring-offset-text-dark:focus{--tw-ring-offset-color:#fff}.sm\\:focus\\:ring-offset-body-light:focus{--tw-ring-offset-color:#fff}.sm\\:focus\\:ring-offset-body-dark:focus{--tw-ring-offset-color:#1e1e1e}.sm\\:focus\\:ring-offset-button:focus{--tw-ring-offset-color:#0071e3}.sm\\:focus\\:ring-offset-button_hover:focus{--tw-ring-offset-color:#0077ed}@media(prefers-color-scheme: dark){.sm\\:dark\\:ring-offset-transparent{--tw-ring-offset-color:transparent}.sm\\:dark\\:ring-offset-current{--tw-ring-offset-color:currentColor}.sm\\:dark\\:ring-offset-white{--tw-ring-offset-color:#fff}.sm\\:dark\\:ring-offset-lightgrey{--tw-ring-offset-color:#F7F7F7}.sm\\:dark\\:ring-offset-midgrey{--tw-ring-offset-color:#cfcfcf}.sm\\:dark\\:ring-offset-darkgrey{--tw-ring-offset-color:#7f7f7f}.sm\\:dark\\:ring-offset-grey{--tw-ring-offset-color:#1e1e1e}.sm\\:dark\\:ring-offset-black{--tw-ring-offset-color:#0f0f0f}.sm\\:dark\\:ring-offset-highlight{--tw-ring-offset-color:#0071e3}.sm\\:dark\\:ring-offset-highlight_hover{--tw-ring-offset-color:#0077ed}.sm\\:dark\\:ring-offset-button_outline{--tw-ring-offset-color:#cfcfcf}.sm\\:dark\\:ring-offset-error{--tw-ring-offset-color:#ff453a}.sm\\:dark\\:ring-offset-text-light{--tw-ring-offset-color:#0f0f0f}.sm\\:dark\\:ring-offset-text-dimmed{--tw-ring-offset-color:#cfcfcf}.sm\\:dark\\:ring-offset-text-dark{--tw-ring-offset-color:#fff}.sm\\:dark\\:ring-offset-body-light{--tw-ring-offset-color:#fff}.sm\\:dark\\:ring-offset-body-dark{--tw-ring-offset-color:#1e1e1e}.sm\\:dark\\:ring-offset-button{--tw-ring-offset-color:#0071e3}.sm\\:dark\\:ring-offset-button_hover{--tw-ring-offset-color:#0077ed}.sm\\:dark\\:focus-within\\:ring-offset-transparent:focus-within{--tw-ring-offset-color:transparent}.sm\\:dark\\:focus-within\\:ring-offset-current:focus-within{--tw-ring-offset-color:currentColor}.sm\\:dark\\:focus-within\\:ring-offset-white:focus-within{--tw-ring-offset-color:#fff}.sm\\:dark\\:focus-within\\:ring-offset-lightgrey:focus-within{--tw-ring-offset-color:#F7F7F7}.sm\\:dark\\:focus-within\\:ring-offset-midgrey:focus-within{--tw-ring-offset-color:#cfcfcf}.sm\\:dark\\:focus-within\\:ring-offset-darkgrey:focus-within{--tw-ring-offset-color:#7f7f7f}.sm\\:dark\\:focus-within\\:ring-offset-grey:focus-within{--tw-ring-offset-color:#1e1e1e}.sm\\:dark\\:focus-within\\:ring-offset-black:focus-within{--tw-ring-offset-color:#0f0f0f}.sm\\:dark\\:focus-within\\:ring-offset-highlight:focus-within{--tw-ring-offset-color:#0071e3}.sm\\:dark\\:focus-within\\:ring-offset-highlight_hover:focus-within{--tw-ring-offset-color:#0077ed}.sm\\:dark\\:focus-within\\:ring-offset-button_outline:focus-within{--tw-ring-offset-color:#cfcfcf}.sm\\:dark\\:focus-within\\:ring-offset-error:focus-within{--tw-ring-offset-color:#ff453a}.sm\\:dark\\:focus-within\\:ring-offset-text-light:focus-within{--tw-ring-offset-color:#0f0f0f}.sm\\:dark\\:focus-within\\:ring-offset-text-dimmed:focus-within{--tw-ring-offset-color:#cfcfcf}.sm\\:dark\\:focus-within\\:ring-offset-text-dark:focus-within{--tw-ring-offset-color:#fff}.sm\\:dark\\:focus-within\\:ring-offset-body-light:focus-within{--tw-ring-offset-color:#fff}.sm\\:dark\\:focus-within\\:ring-offset-body-dark:focus-within{--tw-ring-offset-color:#1e1e1e}.sm\\:dark\\:focus-within\\:ring-offset-button:focus-within{--tw-ring-offset-color:#0071e3}.sm\\:dark\\:focus-within\\:ring-offset-button_hover:focus-within{--tw-ring-offset-color:#0077ed}.sm\\:dark\\:focus\\:ring-offset-transparent:focus{--tw-ring-offset-color:transparent}.sm\\:dark\\:focus\\:ring-offset-current:focus{--tw-ring-offset-color:currentColor}.sm\\:dark\\:focus\\:ring-offset-white:focus{--tw-ring-offset-color:#fff}.sm\\:dark\\:focus\\:ring-offset-lightgrey:focus{--tw-ring-offset-color:#F7F7F7}.sm\\:dark\\:focus\\:ring-offset-midgrey:focus{--tw-ring-offset-color:#cfcfcf}.sm\\:dark\\:focus\\:ring-offset-darkgrey:focus{--tw-ring-offset-color:#7f7f7f}.sm\\:dark\\:focus\\:ring-offset-grey:focus{--tw-ring-offset-color:#1e1e1e}.sm\\:dark\\:focus\\:ring-offset-black:focus{--tw-ring-offset-color:#0f0f0f}.sm\\:dark\\:focus\\:ring-offset-highlight:focus{--tw-ring-offset-color:#0071e3}.sm\\:dark\\:focus\\:ring-offset-highlight_hover:focus{--tw-ring-offset-color:#0077ed}.sm\\:dark\\:focus\\:ring-offset-button_outline:focus{--tw-ring-offset-color:#cfcfcf}.sm\\:dark\\:focus\\:ring-offset-error:focus{--tw-ring-offset-color:#ff453a}.sm\\:dark\\:focus\\:ring-offset-text-light:focus{--tw-ring-offset-color:#0f0f0f}.sm\\:dark\\:focus\\:ring-offset-text-dimmed:focus{--tw-ring-offset-color:#cfcfcf}.sm\\:dark\\:focus\\:ring-offset-text-dark:focus{--tw-ring-offset-color:#fff}.sm\\:dark\\:focus\\:ring-offset-body-light:focus{--tw-ring-offset-color:#fff}.sm\\:dark\\:focus\\:ring-offset-body-dark:focus{--tw-ring-offset-color:#1e1e1e}.sm\\:dark\\:focus\\:ring-offset-button:focus{--tw-ring-offset-color:#0071e3}.sm\\:dark\\:focus\\:ring-offset-button_hover:focus{--tw-ring-offset-color:#0077ed}}.sm\\:filter{--tw-blur:var(--tw-empty,/*!*/ /*!*/);--tw-brightness:var(--tw-empty,/*!*/ /*!*/);--tw-contrast:var(--tw-empty,/*!*/ /*!*/);--tw-grayscale:var(--tw-empty,/*!*/ /*!*/);--tw-hue-rotate:var(--tw-empty,/*!*/ /*!*/);--tw-invert:var(--tw-empty,/*!*/ /*!*/);--tw-saturate:var(--tw-empty,/*!*/ /*!*/);--tw-sepia:var(--tw-empty,/*!*/ /*!*/);--tw-drop-shadow:var(--tw-empty,/*!*/ /*!*/);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.sm\\:filter-none{filter:none}.sm\\:blur-0{--tw-blur:blur(0)}.sm\\:blur-none{--tw-blur:blur(0)}.sm\\:blur-sm{--tw-blur:blur(4px)}.sm\\:blur{--tw-blur:blur(8px)}.sm\\:blur-md{--tw-blur:blur(12px)}.sm\\:blur-lg{--tw-blur:blur(16px)}.sm\\:blur-xl{--tw-blur:blur(24px)}.sm\\:blur-2xl{--tw-blur:blur(40px)}.sm\\:blur-3xl{--tw-blur:blur(64px)}.sm\\:brightness-0{--tw-brightness:brightness(0)}.sm\\:brightness-50{--tw-brightness:brightness(.5)}.sm\\:brightness-75{--tw-brightness:brightness(.75)}.sm\\:brightness-90{--tw-brightness:brightness(.9)}.sm\\:brightness-95{--tw-brightness:brightness(.95)}.sm\\:brightness-100{--tw-brightness:brightness(1)}.sm\\:brightness-105{--tw-brightness:brightness(1.05)}.sm\\:brightness-110{--tw-brightness:brightness(1.1)}.sm\\:brightness-125{--tw-brightness:brightness(1.25)}.sm\\:brightness-150{--tw-brightness:brightness(1.5)}.sm\\:brightness-200{--tw-brightness:brightness(2)}.sm\\:contrast-0{--tw-contrast:contrast(0)}.sm\\:contrast-50{--tw-contrast:contrast(.5)}.sm\\:contrast-75{--tw-contrast:contrast(.75)}.sm\\:contrast-100{--tw-contrast:contrast(1)}.sm\\:contrast-125{--tw-contrast:contrast(1.25)}.sm\\:contrast-150{--tw-contrast:contrast(1.5)}.sm\\:contrast-200{--tw-contrast:contrast(2)}.sm\\:drop-shadow-sm{--tw-drop-shadow:drop-shadow(0 1px 1px rgba(0,0,0,0.05))}.sm\\:drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1)) drop-shadow(0 1px 1px rgba(0, 0, 0, 0.06))}.sm\\:drop-shadow-md{--tw-drop-shadow:drop-shadow(0 4px 3px rgba(0, 0, 0, 0.07)) drop-shadow(0 2px 2px rgba(0, 0, 0, 0.06))}.sm\\:drop-shadow-lg{--tw-drop-shadow:drop-shadow(0 10px 8px rgba(0, 0, 0, 0.04)) drop-shadow(0 4px 3px rgba(0, 0, 0, 0.1))}.sm\\:drop-shadow-xl{--tw-drop-shadow:drop-shadow(0 20px 13px rgba(0, 0, 0, 0.03)) drop-shadow(0 8px 5px rgba(0, 0, 0, 0.08))}.sm\\:drop-shadow-2xl{--tw-drop-shadow:drop-shadow(0 25px 25px rgba(0, 0, 0, 0.15))}.sm\\:drop-shadow-none{--tw-drop-shadow:drop-shadow(0 0 #0000)}.sm\\:grayscale-0{--tw-grayscale:grayscale(0)}.sm\\:grayscale{--tw-grayscale:grayscale(100%)}.sm\\:hue-rotate-0{--tw-hue-rotate:hue-rotate(0deg)}.sm\\:hue-rotate-15{--tw-hue-rotate:hue-rotate(15deg)}.sm\\:hue-rotate-30{--tw-hue-rotate:hue-rotate(30deg)}.sm\\:hue-rotate-60{--tw-hue-rotate:hue-rotate(60deg)}.sm\\:hue-rotate-90{--tw-hue-rotate:hue-rotate(90deg)}.sm\\:hue-rotate-180{--tw-hue-rotate:hue-rotate(180deg)}.sm\\:-hue-rotate-180{--tw-hue-rotate:hue-rotate(-180deg)}.sm\\:-hue-rotate-90{--tw-hue-rotate:hue-rotate(-90deg)}.sm\\:-hue-rotate-60{--tw-hue-rotate:hue-rotate(-60deg)}.sm\\:-hue-rotate-30{--tw-hue-rotate:hue-rotate(-30deg)}.sm\\:-hue-rotate-15{--tw-hue-rotate:hue-rotate(-15deg)}.sm\\:invert-0{--tw-invert:invert(0)}.sm\\:invert{--tw-invert:invert(100%)}.sm\\:saturate-0{--tw-saturate:saturate(0)}.sm\\:saturate-50{--tw-saturate:saturate(.5)}.sm\\:saturate-100{--tw-saturate:saturate(1)}.sm\\:saturate-150{--tw-saturate:saturate(1.5)}.sm\\:saturate-200{--tw-saturate:saturate(2)}.sm\\:sepia-0{--tw-sepia:sepia(0)}.sm\\:sepia{--tw-sepia:sepia(100%)}.sm\\:backdrop-filter{--tw-backdrop-blur:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-brightness:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-contrast:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-grayscale:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-hue-rotate:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-invert:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-opacity:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-saturate:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-sepia:var(--tw-empty,/*!*/ /*!*/);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.sm\\:backdrop-filter-none{backdrop-filter:none}.sm\\:backdrop-blur-0{--tw-backdrop-blur:blur(0)}.sm\\:backdrop-blur-none{--tw-backdrop-blur:blur(0)}.sm\\:backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.sm\\:backdrop-blur{--tw-backdrop-blur:blur(8px)}.sm\\:backdrop-blur-md{--tw-backdrop-blur:blur(12px)}.sm\\:backdrop-blur-lg{--tw-backdrop-blur:blur(16px)}.sm\\:backdrop-blur-xl{--tw-backdrop-blur:blur(24px)}.sm\\:backdrop-blur-2xl{--tw-backdrop-blur:blur(40px)}.sm\\:backdrop-blur-3xl{--tw-backdrop-blur:blur(64px)}.sm\\:backdrop-brightness-0{--tw-backdrop-brightness:brightness(0)}.sm\\:backdrop-brightness-50{--tw-backdrop-brightness:brightness(.5)}.sm\\:backdrop-brightness-75{--tw-backdrop-brightness:brightness(.75)}.sm\\:backdrop-brightness-90{--tw-backdrop-brightness:brightness(.9)}.sm\\:backdrop-brightness-95{--tw-backdrop-brightness:brightness(.95)}.sm\\:backdrop-brightness-100{--tw-backdrop-brightness:brightness(1)}.sm\\:backdrop-brightness-105{--tw-backdrop-brightness:brightness(1.05)}.sm\\:backdrop-brightness-110{--tw-backdrop-brightness:brightness(1.1)}.sm\\:backdrop-brightness-125{--tw-backdrop-brightness:brightness(1.25)}.sm\\:backdrop-brightness-150{--tw-backdrop-brightness:brightness(1.5)}.sm\\:backdrop-brightness-200{--tw-backdrop-brightness:brightness(2)}.sm\\:backdrop-contrast-0{--tw-backdrop-contrast:contrast(0)}.sm\\:backdrop-contrast-50{--tw-backdrop-contrast:contrast(.5)}.sm\\:backdrop-contrast-75{--tw-backdrop-contrast:contrast(.75)}.sm\\:backdrop-contrast-100{--tw-backdrop-contrast:contrast(1)}.sm\\:backdrop-contrast-125{--tw-backdrop-contrast:contrast(1.25)}.sm\\:backdrop-contrast-150{--tw-backdrop-contrast:contrast(1.5)}.sm\\:backdrop-contrast-200{--tw-backdrop-contrast:contrast(2)}.sm\\:backdrop-grayscale-0{--tw-backdrop-grayscale:grayscale(0)}.sm\\:backdrop-grayscale{--tw-backdrop-grayscale:grayscale(100%)}.sm\\:backdrop-hue-rotate-0{--tw-backdrop-hue-rotate:hue-rotate(0deg)}.sm\\:backdrop-hue-rotate-15{--tw-backdrop-hue-rotate:hue-rotate(15deg)}.sm\\:backdrop-hue-rotate-30{--tw-backdrop-hue-rotate:hue-rotate(30deg)}.sm\\:backdrop-hue-rotate-60{--tw-backdrop-hue-rotate:hue-rotate(60deg)}.sm\\:backdrop-hue-rotate-90{--tw-backdrop-hue-rotate:hue-rotate(90deg)}.sm\\:backdrop-hue-rotate-180{--tw-backdrop-hue-rotate:hue-rotate(180deg)}.sm\\:-backdrop-hue-rotate-180{--tw-backdrop-hue-rotate:hue-rotate(-180deg)}.sm\\:-backdrop-hue-rotate-90{--tw-backdrop-hue-rotate:hue-rotate(-90deg)}.sm\\:-backdrop-hue-rotate-60{--tw-backdrop-hue-rotate:hue-rotate(-60deg)}.sm\\:-backdrop-hue-rotate-30{--tw-backdrop-hue-rotate:hue-rotate(-30deg)}.sm\\:-backdrop-hue-rotate-15{--tw-backdrop-hue-rotate:hue-rotate(-15deg)}.sm\\:backdrop-invert-0{--tw-backdrop-invert:invert(0)}.sm\\:backdrop-invert{--tw-backdrop-invert:invert(100%)}.sm\\:backdrop-opacity-0{--tw-backdrop-opacity:opacity(0)}.sm\\:backdrop-opacity-5{--tw-backdrop-opacity:opacity(0.05)}.sm\\:backdrop-opacity-10{--tw-backdrop-opacity:opacity(0.1)}.sm\\:backdrop-opacity-20{--tw-backdrop-opacity:opacity(0.2)}.sm\\:backdrop-opacity-25{--tw-backdrop-opacity:opacity(0.25)}.sm\\:backdrop-opacity-30{--tw-backdrop-opacity:opacity(0.3)}.sm\\:backdrop-opacity-40{--tw-backdrop-opacity:opacity(0.4)}.sm\\:backdrop-opacity-50{--tw-backdrop-opacity:opacity(0.5)}.sm\\:backdrop-opacity-60{--tw-backdrop-opacity:opacity(0.6)}.sm\\:backdrop-opacity-70{--tw-backdrop-opacity:opacity(0.7)}.sm\\:backdrop-opacity-75{--tw-backdrop-opacity:opacity(0.75)}.sm\\:backdrop-opacity-80{--tw-backdrop-opacity:opacity(0.8)}.sm\\:backdrop-opacity-90{--tw-backdrop-opacity:opacity(0.9)}.sm\\:backdrop-opacity-95{--tw-backdrop-opacity:opacity(0.95)}.sm\\:backdrop-opacity-100{--tw-backdrop-opacity:opacity(1)}.sm\\:backdrop-saturate-0{--tw-backdrop-saturate:saturate(0)}.sm\\:backdrop-saturate-50{--tw-backdrop-saturate:saturate(.5)}.sm\\:backdrop-saturate-100{--tw-backdrop-saturate:saturate(1)}.sm\\:backdrop-saturate-150{--tw-backdrop-saturate:saturate(1.5)}.sm\\:backdrop-saturate-200{--tw-backdrop-saturate:saturate(2)}.sm\\:backdrop-sepia-0{--tw-backdrop-sepia:sepia(0)}.sm\\:backdrop-sepia{--tw-backdrop-sepia:sepia(100%)}.sm\\:transition-none{transition-property:none}.sm\\:transition-all{transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.sm\\:transition{transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.sm\\:transition-colors{transition-property:background-color, border-color, color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.sm\\:transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.sm\\:transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.sm\\:transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.sm\\:delay-75{transition-delay:75ms}.sm\\:delay-100{transition-delay:100ms}.sm\\:delay-150{transition-delay:150ms}.sm\\:delay-200{transition-delay:200ms}.sm\\:delay-300{transition-delay:300ms}.sm\\:delay-500{transition-delay:500ms}.sm\\:delay-700{transition-delay:700ms}.sm\\:delay-1000{transition-delay:1000ms}.sm\\:duration-75{transition-duration:75ms}.sm\\:duration-100{transition-duration:100ms}.sm\\:duration-150{transition-duration:150ms}.sm\\:duration-200{transition-duration:200ms}.sm\\:duration-300{transition-duration:300ms}.sm\\:duration-500{transition-duration:500ms}.sm\\:duration-700{transition-duration:700ms}.sm\\:duration-1000{transition-duration:1000ms}.sm\\:ease-linear{transition-timing-function:linear}.sm\\:ease-in{transition-timing-function:cubic-bezier(0.4, 0, 1, 1)}.sm\\:ease-out{transition-timing-function:cubic-bezier(0, 0, 0.2, 1)}.sm\\:ease-in-out{transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}}@media(min-width: 768px){.md\\:container{width:100%}@media(min-width: 640px){.md\\:container{max-width:640px}}@media(min-width: 768px){.md\\:container{max-width:768px}}@media(min-width: 1024px){.md\\:container{max-width:1024px}}@media(min-width: 1280px){.md\\:container{max-width:1280px}}@media(min-width: 1536px){.md\\:container{max-width:1536px}}.md\\:sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.md\\:not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.md\\:focus-within\\:sr-only:focus-within{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.md\\:focus-within\\:not-sr-only:focus-within{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.md\\:focus\\:sr-only:focus{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.md\\:focus\\:not-sr-only:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.md\\:pointer-events-none{pointer-events:none}.md\\:pointer-events-auto{pointer-events:auto}.md\\:visible{visibility:visible}.md\\:invisible{visibility:hidden}.md\\:static{position:static}.md\\:fixed{position:fixed}.md\\:absolute{position:absolute}.md\\:relative{position:relative}.md\\:sticky{position:sticky}.md\\:inset-0{top:0px;right:0px;bottom:0px;left:0px}.md\\:inset-1{top:0.25rem;right:0.25rem;bottom:0.25rem;left:0.25rem}.md\\:inset-2{top:0.5rem;right:0.5rem;bottom:0.5rem;left:0.5rem}.md\\:inset-3{top:0.75rem;right:0.75rem;bottom:0.75rem;left:0.75rem}.md\\:inset-4{top:1rem;right:1rem;bottom:1rem;left:1rem}.md\\:inset-5{top:1.25rem;right:1.25rem;bottom:1.25rem;left:1.25rem}.md\\:inset-6{top:1.5rem;right:1.5rem;bottom:1.5rem;left:1.5rem}.md\\:inset-7{top:1.75rem;right:1.75rem;bottom:1.75rem;left:1.75rem}.md\\:inset-8{top:2rem;right:2rem;bottom:2rem;left:2rem}.md\\:inset-9{top:2.25rem;right:2.25rem;bottom:2.25rem;left:2.25rem}.md\\:inset-10{top:2.5rem;right:2.5rem;bottom:2.5rem;left:2.5rem}.md\\:inset-11{top:2.75rem;right:2.75rem;bottom:2.75rem;left:2.75rem}.md\\:inset-12{top:3rem;right:3rem;bottom:3rem;left:3rem}.md\\:inset-14{top:3.5rem;right:3.5rem;bottom:3.5rem;left:3.5rem}.md\\:inset-16{top:4rem;right:4rem;bottom:4rem;left:4rem}.md\\:inset-20{top:5rem;right:5rem;bottom:5rem;left:5rem}.md\\:inset-24{top:6rem;right:6rem;bottom:6rem;left:6rem}.md\\:inset-28{top:7rem;right:7rem;bottom:7rem;left:7rem}.md\\:inset-32{top:8rem;right:8rem;bottom:8rem;left:8rem}.md\\:inset-36{top:9rem;right:9rem;bottom:9rem;left:9rem}.md\\:inset-40{top:10rem;right:10rem;bottom:10rem;left:10rem}.md\\:inset-44{top:11rem;right:11rem;bottom:11rem;left:11rem}.md\\:inset-48{top:12rem;right:12rem;bottom:12rem;left:12rem}.md\\:inset-52{top:13rem;right:13rem;bottom:13rem;left:13rem}.md\\:inset-56{top:14rem;right:14rem;bottom:14rem;left:14rem}.md\\:inset-60{top:15rem;right:15rem;bottom:15rem;left:15rem}.md\\:inset-64{top:16rem;right:16rem;bottom:16rem;left:16rem}.md\\:inset-72{top:18rem;right:18rem;bottom:18rem;left:18rem}.md\\:inset-80{top:20rem;right:20rem;bottom:20rem;left:20rem}.md\\:inset-96{top:24rem;right:24rem;bottom:24rem;left:24rem}.md\\:inset-auto{top:auto;right:auto;bottom:auto;left:auto}.md\\:inset-px{top:1px;right:1px;bottom:1px;left:1px}.md\\:inset-0\\.5{top:0.125rem;right:0.125rem;bottom:0.125rem;left:0.125rem}.md\\:inset-1\\.5{top:0.375rem;right:0.375rem;bottom:0.375rem;left:0.375rem}.md\\:inset-2\\.5{top:0.625rem;right:0.625rem;bottom:0.625rem;left:0.625rem}.md\\:inset-3\\.5{top:0.875rem;right:0.875rem;bottom:0.875rem;left:0.875rem}.md\\:-inset-0{top:0px;right:0px;bottom:0px;left:0px}.md\\:-inset-1{top:-0.25rem;right:-0.25rem;bottom:-0.25rem;left:-0.25rem}.md\\:-inset-2{top:-0.5rem;right:-0.5rem;bottom:-0.5rem;left:-0.5rem}.md\\:-inset-3{top:-0.75rem;right:-0.75rem;bottom:-0.75rem;left:-0.75rem}.md\\:-inset-4{top:-1rem;right:-1rem;bottom:-1rem;left:-1rem}.md\\:-inset-5{top:-1.25rem;right:-1.25rem;bottom:-1.25rem;left:-1.25rem}.md\\:-inset-6{top:-1.5rem;right:-1.5rem;bottom:-1.5rem;left:-1.5rem}.md\\:-inset-7{top:-1.75rem;right:-1.75rem;bottom:-1.75rem;left:-1.75rem}.md\\:-inset-8{top:-2rem;right:-2rem;bottom:-2rem;left:-2rem}.md\\:-inset-9{top:-2.25rem;right:-2.25rem;bottom:-2.25rem;left:-2.25rem}.md\\:-inset-10{top:-2.5rem;right:-2.5rem;bottom:-2.5rem;left:-2.5rem}.md\\:-inset-11{top:-2.75rem;right:-2.75rem;bottom:-2.75rem;left:-2.75rem}.md\\:-inset-12{top:-3rem;right:-3rem;bottom:-3rem;left:-3rem}.md\\:-inset-14{top:-3.5rem;right:-3.5rem;bottom:-3.5rem;left:-3.5rem}.md\\:-inset-16{top:-4rem;right:-4rem;bottom:-4rem;left:-4rem}.md\\:-inset-20{top:-5rem;right:-5rem;bottom:-5rem;left:-5rem}.md\\:-inset-24{top:-6rem;right:-6rem;bottom:-6rem;left:-6rem}.md\\:-inset-28{top:-7rem;right:-7rem;bottom:-7rem;left:-7rem}.md\\:-inset-32{top:-8rem;right:-8rem;bottom:-8rem;left:-8rem}.md\\:-inset-36{top:-9rem;right:-9rem;bottom:-9rem;left:-9rem}.md\\:-inset-40{top:-10rem;right:-10rem;bottom:-10rem;left:-10rem}.md\\:-inset-44{top:-11rem;right:-11rem;bottom:-11rem;left:-11rem}.md\\:-inset-48{top:-12rem;right:-12rem;bottom:-12rem;left:-12rem}.md\\:-inset-52{top:-13rem;right:-13rem;bottom:-13rem;left:-13rem}.md\\:-inset-56{top:-14rem;right:-14rem;bottom:-14rem;left:-14rem}.md\\:-inset-60{top:-15rem;right:-15rem;bottom:-15rem;left:-15rem}.md\\:-inset-64{top:-16rem;right:-16rem;bottom:-16rem;left:-16rem}.md\\:-inset-72{top:-18rem;right:-18rem;bottom:-18rem;left:-18rem}.md\\:-inset-80{top:-20rem;right:-20rem;bottom:-20rem;left:-20rem}.md\\:-inset-96{top:-24rem;right:-24rem;bottom:-24rem;left:-24rem}.md\\:-inset-px{top:-1px;right:-1px;bottom:-1px;left:-1px}.md\\:-inset-0\\.5{top:-0.125rem;right:-0.125rem;bottom:-0.125rem;left:-0.125rem}.md\\:-inset-1\\.5{top:-0.375rem;right:-0.375rem;bottom:-0.375rem;left:-0.375rem}.md\\:-inset-2\\.5{top:-0.625rem;right:-0.625rem;bottom:-0.625rem;left:-0.625rem}.md\\:-inset-3\\.5{top:-0.875rem;right:-0.875rem;bottom:-0.875rem;left:-0.875rem}.md\\:inset-1\\/2{top:50%;right:50%;bottom:50%;left:50%}.md\\:inset-1\\/3{top:33.333333%;right:33.333333%;bottom:33.333333%;left:33.333333%}.md\\:inset-2\\/3{top:66.666667%;right:66.666667%;bottom:66.666667%;left:66.666667%}.md\\:inset-1\\/4{top:25%;right:25%;bottom:25%;left:25%}.md\\:inset-2\\/4{top:50%;right:50%;bottom:50%;left:50%}.md\\:inset-3\\/4{top:75%;right:75%;bottom:75%;left:75%}.md\\:inset-full{top:100%;right:100%;bottom:100%;left:100%}.md\\:-inset-1\\/2{top:-50%;right:-50%;bottom:-50%;left:-50%}.md\\:-inset-1\\/3{top:-33.333333%;right:-33.333333%;bottom:-33.333333%;left:-33.333333%}.md\\:-inset-2\\/3{top:-66.666667%;right:-66.666667%;bottom:-66.666667%;left:-66.666667%}.md\\:-inset-1\\/4{top:-25%;right:-25%;bottom:-25%;left:-25%}.md\\:-inset-2\\/4{top:-50%;right:-50%;bottom:-50%;left:-50%}.md\\:-inset-3\\/4{top:-75%;right:-75%;bottom:-75%;left:-75%}.md\\:-inset-full{top:-100%;right:-100%;bottom:-100%;left:-100%}.md\\:inset-x-0{left:0px;right:0px}.md\\:inset-x-1{left:0.25rem;right:0.25rem}.md\\:inset-x-2{left:0.5rem;right:0.5rem}.md\\:inset-x-3{left:0.75rem;right:0.75rem}.md\\:inset-x-4{left:1rem;right:1rem}.md\\:inset-x-5{left:1.25rem;right:1.25rem}.md\\:inset-x-6{left:1.5rem;right:1.5rem}.md\\:inset-x-7{left:1.75rem;right:1.75rem}.md\\:inset-x-8{left:2rem;right:2rem}.md\\:inset-x-9{left:2.25rem;right:2.25rem}.md\\:inset-x-10{left:2.5rem;right:2.5rem}.md\\:inset-x-11{left:2.75rem;right:2.75rem}.md\\:inset-x-12{left:3rem;right:3rem}.md\\:inset-x-14{left:3.5rem;right:3.5rem}.md\\:inset-x-16{left:4rem;right:4rem}.md\\:inset-x-20{left:5rem;right:5rem}.md\\:inset-x-24{left:6rem;right:6rem}.md\\:inset-x-28{left:7rem;right:7rem}.md\\:inset-x-32{left:8rem;right:8rem}.md\\:inset-x-36{left:9rem;right:9rem}.md\\:inset-x-40{left:10rem;right:10rem}.md\\:inset-x-44{left:11rem;right:11rem}.md\\:inset-x-48{left:12rem;right:12rem}.md\\:inset-x-52{left:13rem;right:13rem}.md\\:inset-x-56{left:14rem;right:14rem}.md\\:inset-x-60{left:15rem;right:15rem}.md\\:inset-x-64{left:16rem;right:16rem}.md\\:inset-x-72{left:18rem;right:18rem}.md\\:inset-x-80{left:20rem;right:20rem}.md\\:inset-x-96{left:24rem;right:24rem}.md\\:inset-x-auto{left:auto;right:auto}.md\\:inset-x-px{left:1px;right:1px}.md\\:inset-x-0\\.5{left:0.125rem;right:0.125rem}.md\\:inset-x-1\\.5{left:0.375rem;right:0.375rem}.md\\:inset-x-2\\.5{left:0.625rem;right:0.625rem}.md\\:inset-x-3\\.5{left:0.875rem;right:0.875rem}.md\\:-inset-x-0{left:0px;right:0px}.md\\:-inset-x-1{left:-0.25rem;right:-0.25rem}.md\\:-inset-x-2{left:-0.5rem;right:-0.5rem}.md\\:-inset-x-3{left:-0.75rem;right:-0.75rem}.md\\:-inset-x-4{left:-1rem;right:-1rem}.md\\:-inset-x-5{left:-1.25rem;right:-1.25rem}.md\\:-inset-x-6{left:-1.5rem;right:-1.5rem}.md\\:-inset-x-7{left:-1.75rem;right:-1.75rem}.md\\:-inset-x-8{left:-2rem;right:-2rem}.md\\:-inset-x-9{left:-2.25rem;right:-2.25rem}.md\\:-inset-x-10{left:-2.5rem;right:-2.5rem}.md\\:-inset-x-11{left:-2.75rem;right:-2.75rem}.md\\:-inset-x-12{left:-3rem;right:-3rem}.md\\:-inset-x-14{left:-3.5rem;right:-3.5rem}.md\\:-inset-x-16{left:-4rem;right:-4rem}.md\\:-inset-x-20{left:-5rem;right:-5rem}.md\\:-inset-x-24{left:-6rem;right:-6rem}.md\\:-inset-x-28{left:-7rem;right:-7rem}.md\\:-inset-x-32{left:-8rem;right:-8rem}.md\\:-inset-x-36{left:-9rem;right:-9rem}.md\\:-inset-x-40{left:-10rem;right:-10rem}.md\\:-inset-x-44{left:-11rem;right:-11rem}.md\\:-inset-x-48{left:-12rem;right:-12rem}.md\\:-inset-x-52{left:-13rem;right:-13rem}.md\\:-inset-x-56{left:-14rem;right:-14rem}.md\\:-inset-x-60{left:-15rem;right:-15rem}.md\\:-inset-x-64{left:-16rem;right:-16rem}.md\\:-inset-x-72{left:-18rem;right:-18rem}.md\\:-inset-x-80{left:-20rem;right:-20rem}.md\\:-inset-x-96{left:-24rem;right:-24rem}.md\\:-inset-x-px{left:-1px;right:-1px}.md\\:-inset-x-0\\.5{left:-0.125rem;right:-0.125rem}.md\\:-inset-x-1\\.5{left:-0.375rem;right:-0.375rem}.md\\:-inset-x-2\\.5{left:-0.625rem;right:-0.625rem}.md\\:-inset-x-3\\.5{left:-0.875rem;right:-0.875rem}.md\\:inset-x-1\\/2{left:50%;right:50%}.md\\:inset-x-1\\/3{left:33.333333%;right:33.333333%}.md\\:inset-x-2\\/3{left:66.666667%;right:66.666667%}.md\\:inset-x-1\\/4{left:25%;right:25%}.md\\:inset-x-2\\/4{left:50%;right:50%}.md\\:inset-x-3\\/4{left:75%;right:75%}.md\\:inset-x-full{left:100%;right:100%}.md\\:-inset-x-1\\/2{left:-50%;right:-50%}.md\\:-inset-x-1\\/3{left:-33.333333%;right:-33.333333%}.md\\:-inset-x-2\\/3{left:-66.666667%;right:-66.666667%}.md\\:-inset-x-1\\/4{left:-25%;right:-25%}.md\\:-inset-x-2\\/4{left:-50%;right:-50%}.md\\:-inset-x-3\\/4{left:-75%;right:-75%}.md\\:-inset-x-full{left:-100%;right:-100%}.md\\:inset-y-0{top:0px;bottom:0px}.md\\:inset-y-1{top:0.25rem;bottom:0.25rem}.md\\:inset-y-2{top:0.5rem;bottom:0.5rem}.md\\:inset-y-3{top:0.75rem;bottom:0.75rem}.md\\:inset-y-4{top:1rem;bottom:1rem}.md\\:inset-y-5{top:1.25rem;bottom:1.25rem}.md\\:inset-y-6{top:1.5rem;bottom:1.5rem}.md\\:inset-y-7{top:1.75rem;bottom:1.75rem}.md\\:inset-y-8{top:2rem;bottom:2rem}.md\\:inset-y-9{top:2.25rem;bottom:2.25rem}.md\\:inset-y-10{top:2.5rem;bottom:2.5rem}.md\\:inset-y-11{top:2.75rem;bottom:2.75rem}.md\\:inset-y-12{top:3rem;bottom:3rem}.md\\:inset-y-14{top:3.5rem;bottom:3.5rem}.md\\:inset-y-16{top:4rem;bottom:4rem}.md\\:inset-y-20{top:5rem;bottom:5rem}.md\\:inset-y-24{top:6rem;bottom:6rem}.md\\:inset-y-28{top:7rem;bottom:7rem}.md\\:inset-y-32{top:8rem;bottom:8rem}.md\\:inset-y-36{top:9rem;bottom:9rem}.md\\:inset-y-40{top:10rem;bottom:10rem}.md\\:inset-y-44{top:11rem;bottom:11rem}.md\\:inset-y-48{top:12rem;bottom:12rem}.md\\:inset-y-52{top:13rem;bottom:13rem}.md\\:inset-y-56{top:14rem;bottom:14rem}.md\\:inset-y-60{top:15rem;bottom:15rem}.md\\:inset-y-64{top:16rem;bottom:16rem}.md\\:inset-y-72{top:18rem;bottom:18rem}.md\\:inset-y-80{top:20rem;bottom:20rem}.md\\:inset-y-96{top:24rem;bottom:24rem}.md\\:inset-y-auto{top:auto;bottom:auto}.md\\:inset-y-px{top:1px;bottom:1px}.md\\:inset-y-0\\.5{top:0.125rem;bottom:0.125rem}.md\\:inset-y-1\\.5{top:0.375rem;bottom:0.375rem}.md\\:inset-y-2\\.5{top:0.625rem;bottom:0.625rem}.md\\:inset-y-3\\.5{top:0.875rem;bottom:0.875rem}.md\\:-inset-y-0{top:0px;bottom:0px}.md\\:-inset-y-1{top:-0.25rem;bottom:-0.25rem}.md\\:-inset-y-2{top:-0.5rem;bottom:-0.5rem}.md\\:-inset-y-3{top:-0.75rem;bottom:-0.75rem}.md\\:-inset-y-4{top:-1rem;bottom:-1rem}.md\\:-inset-y-5{top:-1.25rem;bottom:-1.25rem}.md\\:-inset-y-6{top:-1.5rem;bottom:-1.5rem}.md\\:-inset-y-7{top:-1.75rem;bottom:-1.75rem}.md\\:-inset-y-8{top:-2rem;bottom:-2rem}.md\\:-inset-y-9{top:-2.25rem;bottom:-2.25rem}.md\\:-inset-y-10{top:-2.5rem;bottom:-2.5rem}.md\\:-inset-y-11{top:-2.75rem;bottom:-2.75rem}.md\\:-inset-y-12{top:-3rem;bottom:-3rem}.md\\:-inset-y-14{top:-3.5rem;bottom:-3.5rem}.md\\:-inset-y-16{top:-4rem;bottom:-4rem}.md\\:-inset-y-20{top:-5rem;bottom:-5rem}.md\\:-inset-y-24{top:-6rem;bottom:-6rem}.md\\:-inset-y-28{top:-7rem;bottom:-7rem}.md\\:-inset-y-32{top:-8rem;bottom:-8rem}.md\\:-inset-y-36{top:-9rem;bottom:-9rem}.md\\:-inset-y-40{top:-10rem;bottom:-10rem}.md\\:-inset-y-44{top:-11rem;bottom:-11rem}.md\\:-inset-y-48{top:-12rem;bottom:-12rem}.md\\:-inset-y-52{top:-13rem;bottom:-13rem}.md\\:-inset-y-56{top:-14rem;bottom:-14rem}.md\\:-inset-y-60{top:-15rem;bottom:-15rem}.md\\:-inset-y-64{top:-16rem;bottom:-16rem}.md\\:-inset-y-72{top:-18rem;bottom:-18rem}.md\\:-inset-y-80{top:-20rem;bottom:-20rem}.md\\:-inset-y-96{top:-24rem;bottom:-24rem}.md\\:-inset-y-px{top:-1px;bottom:-1px}.md\\:-inset-y-0\\.5{top:-0.125rem;bottom:-0.125rem}.md\\:-inset-y-1\\.5{top:-0.375rem;bottom:-0.375rem}.md\\:-inset-y-2\\.5{top:-0.625rem;bottom:-0.625rem}.md\\:-inset-y-3\\.5{top:-0.875rem;bottom:-0.875rem}.md\\:inset-y-1\\/2{top:50%;bottom:50%}.md\\:inset-y-1\\/3{top:33.333333%;bottom:33.333333%}.md\\:inset-y-2\\/3{top:66.666667%;bottom:66.666667%}.md\\:inset-y-1\\/4{top:25%;bottom:25%}.md\\:inset-y-2\\/4{top:50%;bottom:50%}.md\\:inset-y-3\\/4{top:75%;bottom:75%}.md\\:inset-y-full{top:100%;bottom:100%}.md\\:-inset-y-1\\/2{top:-50%;bottom:-50%}.md\\:-inset-y-1\\/3{top:-33.333333%;bottom:-33.333333%}.md\\:-inset-y-2\\/3{top:-66.666667%;bottom:-66.666667%}.md\\:-inset-y-1\\/4{top:-25%;bottom:-25%}.md\\:-inset-y-2\\/4{top:-50%;bottom:-50%}.md\\:-inset-y-3\\/4{top:-75%;bottom:-75%}.md\\:-inset-y-full{top:-100%;bottom:-100%}.md\\:top-0{top:0px}.md\\:top-1{top:0.25rem}.md\\:top-2{top:0.5rem}.md\\:top-3{top:0.75rem}.md\\:top-4{top:1rem}.md\\:top-5{top:1.25rem}.md\\:top-6{top:1.5rem}.md\\:top-7{top:1.75rem}.md\\:top-8{top:2rem}.md\\:top-9{top:2.25rem}.md\\:top-10{top:2.5rem}.md\\:top-11{top:2.75rem}.md\\:top-12{top:3rem}.md\\:top-14{top:3.5rem}.md\\:top-16{top:4rem}.md\\:top-20{top:5rem}.md\\:top-24{top:6rem}.md\\:top-28{top:7rem}.md\\:top-32{top:8rem}.md\\:top-36{top:9rem}.md\\:top-40{top:10rem}.md\\:top-44{top:11rem}.md\\:top-48{top:12rem}.md\\:top-52{top:13rem}.md\\:top-56{top:14rem}.md\\:top-60{top:15rem}.md\\:top-64{top:16rem}.md\\:top-72{top:18rem}.md\\:top-80{top:20rem}.md\\:top-96{top:24rem}.md\\:top-auto{top:auto}.md\\:top-px{top:1px}.md\\:top-0\\.5{top:0.125rem}.md\\:top-1\\.5{top:0.375rem}.md\\:top-2\\.5{top:0.625rem}.md\\:top-3\\.5{top:0.875rem}.md\\:-top-0{top:0px}.md\\:-top-1{top:-0.25rem}.md\\:-top-2{top:-0.5rem}.md\\:-top-3{top:-0.75rem}.md\\:-top-4{top:-1rem}.md\\:-top-5{top:-1.25rem}.md\\:-top-6{top:-1.5rem}.md\\:-top-7{top:-1.75rem}.md\\:-top-8{top:-2rem}.md\\:-top-9{top:-2.25rem}.md\\:-top-10{top:-2.5rem}.md\\:-top-11{top:-2.75rem}.md\\:-top-12{top:-3rem}.md\\:-top-14{top:-3.5rem}.md\\:-top-16{top:-4rem}.md\\:-top-20{top:-5rem}.md\\:-top-24{top:-6rem}.md\\:-top-28{top:-7rem}.md\\:-top-32{top:-8rem}.md\\:-top-36{top:-9rem}.md\\:-top-40{top:-10rem}.md\\:-top-44{top:-11rem}.md\\:-top-48{top:-12rem}.md\\:-top-52{top:-13rem}.md\\:-top-56{top:-14rem}.md\\:-top-60{top:-15rem}.md\\:-top-64{top:-16rem}.md\\:-top-72{top:-18rem}.md\\:-top-80{top:-20rem}.md\\:-top-96{top:-24rem}.md\\:-top-px{top:-1px}.md\\:-top-0\\.5{top:-0.125rem}.md\\:-top-1\\.5{top:-0.375rem}.md\\:-top-2\\.5{top:-0.625rem}.md\\:-top-3\\.5{top:-0.875rem}.md\\:top-1\\/2{top:50%}.md\\:top-1\\/3{top:33.333333%}.md\\:top-2\\/3{top:66.666667%}.md\\:top-1\\/4{top:25%}.md\\:top-2\\/4{top:50%}.md\\:top-3\\/4{top:75%}.md\\:top-full{top:100%}.md\\:-top-1\\/2{top:-50%}.md\\:-top-1\\/3{top:-33.333333%}.md\\:-top-2\\/3{top:-66.666667%}.md\\:-top-1\\/4{top:-25%}.md\\:-top-2\\/4{top:-50%}.md\\:-top-3\\/4{top:-75%}.md\\:-top-full{top:-100%}.md\\:right-0{right:0px}.md\\:right-1{right:0.25rem}.md\\:right-2{right:0.5rem}.md\\:right-3{right:0.75rem}.md\\:right-4{right:1rem}.md\\:right-5{right:1.25rem}.md\\:right-6{right:1.5rem}.md\\:right-7{right:1.75rem}.md\\:right-8{right:2rem}.md\\:right-9{right:2.25rem}.md\\:right-10{right:2.5rem}.md\\:right-11{right:2.75rem}.md\\:right-12{right:3rem}.md\\:right-14{right:3.5rem}.md\\:right-16{right:4rem}.md\\:right-20{right:5rem}.md\\:right-24{right:6rem}.md\\:right-28{right:7rem}.md\\:right-32{right:8rem}.md\\:right-36{right:9rem}.md\\:right-40{right:10rem}.md\\:right-44{right:11rem}.md\\:right-48{right:12rem}.md\\:right-52{right:13rem}.md\\:right-56{right:14rem}.md\\:right-60{right:15rem}.md\\:right-64{right:16rem}.md\\:right-72{right:18rem}.md\\:right-80{right:20rem}.md\\:right-96{right:24rem}.md\\:right-auto{right:auto}.md\\:right-px{right:1px}.md\\:right-0\\.5{right:0.125rem}.md\\:right-1\\.5{right:0.375rem}.md\\:right-2\\.5{right:0.625rem}.md\\:right-3\\.5{right:0.875rem}.md\\:-right-0{right:0px}.md\\:-right-1{right:-0.25rem}.md\\:-right-2{right:-0.5rem}.md\\:-right-3{right:-0.75rem}.md\\:-right-4{right:-1rem}.md\\:-right-5{right:-1.25rem}.md\\:-right-6{right:-1.5rem}.md\\:-right-7{right:-1.75rem}.md\\:-right-8{right:-2rem}.md\\:-right-9{right:-2.25rem}.md\\:-right-10{right:-2.5rem}.md\\:-right-11{right:-2.75rem}.md\\:-right-12{right:-3rem}.md\\:-right-14{right:-3.5rem}.md\\:-right-16{right:-4rem}.md\\:-right-20{right:-5rem}.md\\:-right-24{right:-6rem}.md\\:-right-28{right:-7rem}.md\\:-right-32{right:-8rem}.md\\:-right-36{right:-9rem}.md\\:-right-40{right:-10rem}.md\\:-right-44{right:-11rem}.md\\:-right-48{right:-12rem}.md\\:-right-52{right:-13rem}.md\\:-right-56{right:-14rem}.md\\:-right-60{right:-15rem}.md\\:-right-64{right:-16rem}.md\\:-right-72{right:-18rem}.md\\:-right-80{right:-20rem}.md\\:-right-96{right:-24rem}.md\\:-right-px{right:-1px}.md\\:-right-0\\.5{right:-0.125rem}.md\\:-right-1\\.5{right:-0.375rem}.md\\:-right-2\\.5{right:-0.625rem}.md\\:-right-3\\.5{right:-0.875rem}.md\\:right-1\\/2{right:50%}.md\\:right-1\\/3{right:33.333333%}.md\\:right-2\\/3{right:66.666667%}.md\\:right-1\\/4{right:25%}.md\\:right-2\\/4{right:50%}.md\\:right-3\\/4{right:75%}.md\\:right-full{right:100%}.md\\:-right-1\\/2{right:-50%}.md\\:-right-1\\/3{right:-33.333333%}.md\\:-right-2\\/3{right:-66.666667%}.md\\:-right-1\\/4{right:-25%}.md\\:-right-2\\/4{right:-50%}.md\\:-right-3\\/4{right:-75%}.md\\:-right-full{right:-100%}.md\\:bottom-0{bottom:0px}.md\\:bottom-1{bottom:0.25rem}.md\\:bottom-2{bottom:0.5rem}.md\\:bottom-3{bottom:0.75rem}.md\\:bottom-4{bottom:1rem}.md\\:bottom-5{bottom:1.25rem}.md\\:bottom-6{bottom:1.5rem}.md\\:bottom-7{bottom:1.75rem}.md\\:bottom-8{bottom:2rem}.md\\:bottom-9{bottom:2.25rem}.md\\:bottom-10{bottom:2.5rem}.md\\:bottom-11{bottom:2.75rem}.md\\:bottom-12{bottom:3rem}.md\\:bottom-14{bottom:3.5rem}.md\\:bottom-16{bottom:4rem}.md\\:bottom-20{bottom:5rem}.md\\:bottom-24{bottom:6rem}.md\\:bottom-28{bottom:7rem}.md\\:bottom-32{bottom:8rem}.md\\:bottom-36{bottom:9rem}.md\\:bottom-40{bottom:10rem}.md\\:bottom-44{bottom:11rem}.md\\:bottom-48{bottom:12rem}.md\\:bottom-52{bottom:13rem}.md\\:bottom-56{bottom:14rem}.md\\:bottom-60{bottom:15rem}.md\\:bottom-64{bottom:16rem}.md\\:bottom-72{bottom:18rem}.md\\:bottom-80{bottom:20rem}.md\\:bottom-96{bottom:24rem}.md\\:bottom-auto{bottom:auto}.md\\:bottom-px{bottom:1px}.md\\:bottom-0\\.5{bottom:0.125rem}.md\\:bottom-1\\.5{bottom:0.375rem}.md\\:bottom-2\\.5{bottom:0.625rem}.md\\:bottom-3\\.5{bottom:0.875rem}.md\\:-bottom-0{bottom:0px}.md\\:-bottom-1{bottom:-0.25rem}.md\\:-bottom-2{bottom:-0.5rem}.md\\:-bottom-3{bottom:-0.75rem}.md\\:-bottom-4{bottom:-1rem}.md\\:-bottom-5{bottom:-1.25rem}.md\\:-bottom-6{bottom:-1.5rem}.md\\:-bottom-7{bottom:-1.75rem}.md\\:-bottom-8{bottom:-2rem}.md\\:-bottom-9{bottom:-2.25rem}.md\\:-bottom-10{bottom:-2.5rem}.md\\:-bottom-11{bottom:-2.75rem}.md\\:-bottom-12{bottom:-3rem}.md\\:-bottom-14{bottom:-3.5rem}.md\\:-bottom-16{bottom:-4rem}.md\\:-bottom-20{bottom:-5rem}.md\\:-bottom-24{bottom:-6rem}.md\\:-bottom-28{bottom:-7rem}.md\\:-bottom-32{bottom:-8rem}.md\\:-bottom-36{bottom:-9rem}.md\\:-bottom-40{bottom:-10rem}.md\\:-bottom-44{bottom:-11rem}.md\\:-bottom-48{bottom:-12rem}.md\\:-bottom-52{bottom:-13rem}.md\\:-bottom-56{bottom:-14rem}.md\\:-bottom-60{bottom:-15rem}.md\\:-bottom-64{bottom:-16rem}.md\\:-bottom-72{bottom:-18rem}.md\\:-bottom-80{bottom:-20rem}.md\\:-bottom-96{bottom:-24rem}.md\\:-bottom-px{bottom:-1px}.md\\:-bottom-0\\.5{bottom:-0.125rem}.md\\:-bottom-1\\.5{bottom:-0.375rem}.md\\:-bottom-2\\.5{bottom:-0.625rem}.md\\:-bottom-3\\.5{bottom:-0.875rem}.md\\:bottom-1\\/2{bottom:50%}.md\\:bottom-1\\/3{bottom:33.333333%}.md\\:bottom-2\\/3{bottom:66.666667%}.md\\:bottom-1\\/4{bottom:25%}.md\\:bottom-2\\/4{bottom:50%}.md\\:bottom-3\\/4{bottom:75%}.md\\:bottom-full{bottom:100%}.md\\:-bottom-1\\/2{bottom:-50%}.md\\:-bottom-1\\/3{bottom:-33.333333%}.md\\:-bottom-2\\/3{bottom:-66.666667%}.md\\:-bottom-1\\/4{bottom:-25%}.md\\:-bottom-2\\/4{bottom:-50%}.md\\:-bottom-3\\/4{bottom:-75%}.md\\:-bottom-full{bottom:-100%}.md\\:left-0{left:0px}.md\\:left-1{left:0.25rem}.md\\:left-2{left:0.5rem}.md\\:left-3{left:0.75rem}.md\\:left-4{left:1rem}.md\\:left-5{left:1.25rem}.md\\:left-6{left:1.5rem}.md\\:left-7{left:1.75rem}.md\\:left-8{left:2rem}.md\\:left-9{left:2.25rem}.md\\:left-10{left:2.5rem}.md\\:left-11{left:2.75rem}.md\\:left-12{left:3rem}.md\\:left-14{left:3.5rem}.md\\:left-16{left:4rem}.md\\:left-20{left:5rem}.md\\:left-24{left:6rem}.md\\:left-28{left:7rem}.md\\:left-32{left:8rem}.md\\:left-36{left:9rem}.md\\:left-40{left:10rem}.md\\:left-44{left:11rem}.md\\:left-48{left:12rem}.md\\:left-52{left:13rem}.md\\:left-56{left:14rem}.md\\:left-60{left:15rem}.md\\:left-64{left:16rem}.md\\:left-72{left:18rem}.md\\:left-80{left:20rem}.md\\:left-96{left:24rem}.md\\:left-auto{left:auto}.md\\:left-px{left:1px}.md\\:left-0\\.5{left:0.125rem}.md\\:left-1\\.5{left:0.375rem}.md\\:left-2\\.5{left:0.625rem}.md\\:left-3\\.5{left:0.875rem}.md\\:-left-0{left:0px}.md\\:-left-1{left:-0.25rem}.md\\:-left-2{left:-0.5rem}.md\\:-left-3{left:-0.75rem}.md\\:-left-4{left:-1rem}.md\\:-left-5{left:-1.25rem}.md\\:-left-6{left:-1.5rem}.md\\:-left-7{left:-1.75rem}.md\\:-left-8{left:-2rem}.md\\:-left-9{left:-2.25rem}.md\\:-left-10{left:-2.5rem}.md\\:-left-11{left:-2.75rem}.md\\:-left-12{left:-3rem}.md\\:-left-14{left:-3.5rem}.md\\:-left-16{left:-4rem}.md\\:-left-20{left:-5rem}.md\\:-left-24{left:-6rem}.md\\:-left-28{left:-7rem}.md\\:-left-32{left:-8rem}.md\\:-left-36{left:-9rem}.md\\:-left-40{left:-10rem}.md\\:-left-44{left:-11rem}.md\\:-left-48{left:-12rem}.md\\:-left-52{left:-13rem}.md\\:-left-56{left:-14rem}.md\\:-left-60{left:-15rem}.md\\:-left-64{left:-16rem}.md\\:-left-72{left:-18rem}.md\\:-left-80{left:-20rem}.md\\:-left-96{left:-24rem}.md\\:-left-px{left:-1px}.md\\:-left-0\\.5{left:-0.125rem}.md\\:-left-1\\.5{left:-0.375rem}.md\\:-left-2\\.5{left:-0.625rem}.md\\:-left-3\\.5{left:-0.875rem}.md\\:left-1\\/2{left:50%}.md\\:left-1\\/3{left:33.333333%}.md\\:left-2\\/3{left:66.666667%}.md\\:left-1\\/4{left:25%}.md\\:left-2\\/4{left:50%}.md\\:left-3\\/4{left:75%}.md\\:left-full{left:100%}.md\\:-left-1\\/2{left:-50%}.md\\:-left-1\\/3{left:-33.333333%}.md\\:-left-2\\/3{left:-66.666667%}.md\\:-left-1\\/4{left:-25%}.md\\:-left-2\\/4{left:-50%}.md\\:-left-3\\/4{left:-75%}.md\\:-left-full{left:-100%}.md\\:isolate{isolation:isolate}.md\\:isolation-auto{isolation:auto}.md\\:z-0{z-index:0}.md\\:z-10{z-index:10}.md\\:z-20{z-index:20}.md\\:z-30{z-index:30}.md\\:z-40{z-index:40}.md\\:z-50{z-index:50}.md\\:z-auto{z-index:auto}.md\\:focus-within\\:z-0:focus-within{z-index:0}.md\\:focus-within\\:z-10:focus-within{z-index:10}.md\\:focus-within\\:z-20:focus-within{z-index:20}.md\\:focus-within\\:z-30:focus-within{z-index:30}.md\\:focus-within\\:z-40:focus-within{z-index:40}.md\\:focus-within\\:z-50:focus-within{z-index:50}.md\\:focus-within\\:z-auto:focus-within{z-index:auto}.md\\:focus\\:z-0:focus{z-index:0}.md\\:focus\\:z-10:focus{z-index:10}.md\\:focus\\:z-20:focus{z-index:20}.md\\:focus\\:z-30:focus{z-index:30}.md\\:focus\\:z-40:focus{z-index:40}.md\\:focus\\:z-50:focus{z-index:50}.md\\:focus\\:z-auto:focus{z-index:auto}.md\\:order-1{order:1}.md\\:order-2{order:2}.md\\:order-3{order:3}.md\\:order-4{order:4}.md\\:order-5{order:5}.md\\:order-6{order:6}.md\\:order-7{order:7}.md\\:order-8{order:8}.md\\:order-9{order:9}.md\\:order-10{order:10}.md\\:order-11{order:11}.md\\:order-12{order:12}.md\\:order-first{order:-9999}.md\\:order-last{order:9999}.md\\:order-none{order:0}.md\\:col-auto{grid-column:auto}.md\\:col-span-1{grid-column:span 1 / span 1}.md\\:col-span-2{grid-column:span 2 / span 2}.md\\:col-span-3{grid-column:span 3 / span 3}.md\\:col-span-4{grid-column:span 4 / span 4}.md\\:col-span-5{grid-column:span 5 / span 5}.md\\:col-span-6{grid-column:span 6 / span 6}.md\\:col-span-7{grid-column:span 7 / span 7}.md\\:col-span-8{grid-column:span 8 / span 8}.md\\:col-span-9{grid-column:span 9 / span 9}.md\\:col-span-10{grid-column:span 10 / span 10}.md\\:col-span-11{grid-column:span 11 / span 11}.md\\:col-span-12{grid-column:span 12 / span 12}.md\\:col-span-full{grid-column:1 / -1}.md\\:col-start-1{grid-column-start:1}.md\\:col-start-2{grid-column-start:2}.md\\:col-start-3{grid-column-start:3}.md\\:col-start-4{grid-column-start:4}.md\\:col-start-5{grid-column-start:5}.md\\:col-start-6{grid-column-start:6}.md\\:col-start-7{grid-column-start:7}.md\\:col-start-8{grid-column-start:8}.md\\:col-start-9{grid-column-start:9}.md\\:col-start-10{grid-column-start:10}.md\\:col-start-11{grid-column-start:11}.md\\:col-start-12{grid-column-start:12}.md\\:col-start-13{grid-column-start:13}.md\\:col-start-auto{grid-column-start:auto}.md\\:col-end-1{grid-column-end:1}.md\\:col-end-2{grid-column-end:2}.md\\:col-end-3{grid-column-end:3}.md\\:col-end-4{grid-column-end:4}.md\\:col-end-5{grid-column-end:5}.md\\:col-end-6{grid-column-end:6}.md\\:col-end-7{grid-column-end:7}.md\\:col-end-8{grid-column-end:8}.md\\:col-end-9{grid-column-end:9}.md\\:col-end-10{grid-column-end:10}.md\\:col-end-11{grid-column-end:11}.md\\:col-end-12{grid-column-end:12}.md\\:col-end-13{grid-column-end:13}.md\\:col-end-auto{grid-column-end:auto}.md\\:row-auto{grid-row:auto}.md\\:row-span-1{grid-row:span 1 / span 1}.md\\:row-span-2{grid-row:span 2 / span 2}.md\\:row-span-3{grid-row:span 3 / span 3}.md\\:row-span-4{grid-row:span 4 / span 4}.md\\:row-span-5{grid-row:span 5 / span 5}.md\\:row-span-6{grid-row:span 6 / span 6}.md\\:row-span-full{grid-row:1 / -1}.md\\:row-start-1{grid-row-start:1}.md\\:row-start-2{grid-row-start:2}.md\\:row-start-3{grid-row-start:3}.md\\:row-start-4{grid-row-start:4}.md\\:row-start-5{grid-row-start:5}.md\\:row-start-6{grid-row-start:6}.md\\:row-start-7{grid-row-start:7}.md\\:row-start-auto{grid-row-start:auto}.md\\:row-end-1{grid-row-end:1}.md\\:row-end-2{grid-row-end:2}.md\\:row-end-3{grid-row-end:3}.md\\:row-end-4{grid-row-end:4}.md\\:row-end-5{grid-row-end:5}.md\\:row-end-6{grid-row-end:6}.md\\:row-end-7{grid-row-end:7}.md\\:row-end-auto{grid-row-end:auto}.md\\:float-right{float:right}.md\\:float-left{float:left}.md\\:float-none{float:none}.md\\:clear-left{clear:left}.md\\:clear-right{clear:right}.md\\:clear-both{clear:both}.md\\:clear-none{clear:none}.md\\:m-0{margin:0px}.md\\:m-1{margin:0.25rem}.md\\:m-2{margin:0.5rem}.md\\:m-3{margin:0.75rem}.md\\:m-4{margin:1rem}.md\\:m-5{margin:1.25rem}.md\\:m-6{margin:1.5rem}.md\\:m-7{margin:1.75rem}.md\\:m-8{margin:2rem}.md\\:m-9{margin:2.25rem}.md\\:m-10{margin:2.5rem}.md\\:m-11{margin:2.75rem}.md\\:m-12{margin:3rem}.md\\:m-14{margin:3.5rem}.md\\:m-16{margin:4rem}.md\\:m-20{margin:5rem}.md\\:m-24{margin:6rem}.md\\:m-28{margin:7rem}.md\\:m-32{margin:8rem}.md\\:m-36{margin:9rem}.md\\:m-40{margin:10rem}.md\\:m-44{margin:11rem}.md\\:m-48{margin:12rem}.md\\:m-52{margin:13rem}.md\\:m-56{margin:14rem}.md\\:m-60{margin:15rem}.md\\:m-64{margin:16rem}.md\\:m-72{margin:18rem}.md\\:m-80{margin:20rem}.md\\:m-96{margin:24rem}.md\\:m-auto{margin:auto}.md\\:m-px{margin:1px}.md\\:m-0\\.5{margin:0.125rem}.md\\:m-1\\.5{margin:0.375rem}.md\\:m-2\\.5{margin:0.625rem}.md\\:m-3\\.5{margin:0.875rem}.md\\:-m-0{margin:0px}.md\\:-m-1{margin:-0.25rem}.md\\:-m-2{margin:-0.5rem}.md\\:-m-3{margin:-0.75rem}.md\\:-m-4{margin:-1rem}.md\\:-m-5{margin:-1.25rem}.md\\:-m-6{margin:-1.5rem}.md\\:-m-7{margin:-1.75rem}.md\\:-m-8{margin:-2rem}.md\\:-m-9{margin:-2.25rem}.md\\:-m-10{margin:-2.5rem}.md\\:-m-11{margin:-2.75rem}.md\\:-m-12{margin:-3rem}.md\\:-m-14{margin:-3.5rem}.md\\:-m-16{margin:-4rem}.md\\:-m-20{margin:-5rem}.md\\:-m-24{margin:-6rem}.md\\:-m-28{margin:-7rem}.md\\:-m-32{margin:-8rem}.md\\:-m-36{margin:-9rem}.md\\:-m-40{margin:-10rem}.md\\:-m-44{margin:-11rem}.md\\:-m-48{margin:-12rem}.md\\:-m-52{margin:-13rem}.md\\:-m-56{margin:-14rem}.md\\:-m-60{margin:-15rem}.md\\:-m-64{margin:-16rem}.md\\:-m-72{margin:-18rem}.md\\:-m-80{margin:-20rem}.md\\:-m-96{margin:-24rem}.md\\:-m-px{margin:-1px}.md\\:-m-0\\.5{margin:-0.125rem}.md\\:-m-1\\.5{margin:-0.375rem}.md\\:-m-2\\.5{margin:-0.625rem}.md\\:-m-3\\.5{margin:-0.875rem}.md\\:mx-0{margin-left:0px;margin-right:0px}.md\\:mx-1{margin-left:0.25rem;margin-right:0.25rem}.md\\:mx-2{margin-left:0.5rem;margin-right:0.5rem}.md\\:mx-3{margin-left:0.75rem;margin-right:0.75rem}.md\\:mx-4{margin-left:1rem;margin-right:1rem}.md\\:mx-5{margin-left:1.25rem;margin-right:1.25rem}.md\\:mx-6{margin-left:1.5rem;margin-right:1.5rem}.md\\:mx-7{margin-left:1.75rem;margin-right:1.75rem}.md\\:mx-8{margin-left:2rem;margin-right:2rem}.md\\:mx-9{margin-left:2.25rem;margin-right:2.25rem}.md\\:mx-10{margin-left:2.5rem;margin-right:2.5rem}.md\\:mx-11{margin-left:2.75rem;margin-right:2.75rem}.md\\:mx-12{margin-left:3rem;margin-right:3rem}.md\\:mx-14{margin-left:3.5rem;margin-right:3.5rem}.md\\:mx-16{margin-left:4rem;margin-right:4rem}.md\\:mx-20{margin-left:5rem;margin-right:5rem}.md\\:mx-24{margin-left:6rem;margin-right:6rem}.md\\:mx-28{margin-left:7rem;margin-right:7rem}.md\\:mx-32{margin-left:8rem;margin-right:8rem}.md\\:mx-36{margin-left:9rem;margin-right:9rem}.md\\:mx-40{margin-left:10rem;margin-right:10rem}.md\\:mx-44{margin-left:11rem;margin-right:11rem}.md\\:mx-48{margin-left:12rem;margin-right:12rem}.md\\:mx-52{margin-left:13rem;margin-right:13rem}.md\\:mx-56{margin-left:14rem;margin-right:14rem}.md\\:mx-60{margin-left:15rem;margin-right:15rem}.md\\:mx-64{margin-left:16rem;margin-right:16rem}.md\\:mx-72{margin-left:18rem;margin-right:18rem}.md\\:mx-80{margin-left:20rem;margin-right:20rem}.md\\:mx-96{margin-left:24rem;margin-right:24rem}.md\\:mx-auto{margin-left:auto;margin-right:auto}.md\\:mx-px{margin-left:1px;margin-right:1px}.md\\:mx-0\\.5{margin-left:0.125rem;margin-right:0.125rem}.md\\:mx-1\\.5{margin-left:0.375rem;margin-right:0.375rem}.md\\:mx-2\\.5{margin-left:0.625rem;margin-right:0.625rem}.md\\:mx-3\\.5{margin-left:0.875rem;margin-right:0.875rem}.md\\:-mx-0{margin-left:0px;margin-right:0px}.md\\:-mx-1{margin-left:-0.25rem;margin-right:-0.25rem}.md\\:-mx-2{margin-left:-0.5rem;margin-right:-0.5rem}.md\\:-mx-3{margin-left:-0.75rem;margin-right:-0.75rem}.md\\:-mx-4{margin-left:-1rem;margin-right:-1rem}.md\\:-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.md\\:-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.md\\:-mx-7{margin-left:-1.75rem;margin-right:-1.75rem}.md\\:-mx-8{margin-left:-2rem;margin-right:-2rem}.md\\:-mx-9{margin-left:-2.25rem;margin-right:-2.25rem}.md\\:-mx-10{margin-left:-2.5rem;margin-right:-2.5rem}.md\\:-mx-11{margin-left:-2.75rem;margin-right:-2.75rem}.md\\:-mx-12{margin-left:-3rem;margin-right:-3rem}.md\\:-mx-14{margin-left:-3.5rem;margin-right:-3.5rem}.md\\:-mx-16{margin-left:-4rem;margin-right:-4rem}.md\\:-mx-20{margin-left:-5rem;margin-right:-5rem}.md\\:-mx-24{margin-left:-6rem;margin-right:-6rem}.md\\:-mx-28{margin-left:-7rem;margin-right:-7rem}.md\\:-mx-32{margin-left:-8rem;margin-right:-8rem}.md\\:-mx-36{margin-left:-9rem;margin-right:-9rem}.md\\:-mx-40{margin-left:-10rem;margin-right:-10rem}.md\\:-mx-44{margin-left:-11rem;margin-right:-11rem}.md\\:-mx-48{margin-left:-12rem;margin-right:-12rem}.md\\:-mx-52{margin-left:-13rem;margin-right:-13rem}.md\\:-mx-56{margin-left:-14rem;margin-right:-14rem}.md\\:-mx-60{margin-left:-15rem;margin-right:-15rem}.md\\:-mx-64{margin-left:-16rem;margin-right:-16rem}.md\\:-mx-72{margin-left:-18rem;margin-right:-18rem}.md\\:-mx-80{margin-left:-20rem;margin-right:-20rem}.md\\:-mx-96{margin-left:-24rem;margin-right:-24rem}.md\\:-mx-px{margin-left:-1px;margin-right:-1px}.md\\:-mx-0\\.5{margin-left:-0.125rem;margin-right:-0.125rem}.md\\:-mx-1\\.5{margin-left:-0.375rem;margin-right:-0.375rem}.md\\:-mx-2\\.5{margin-left:-0.625rem;margin-right:-0.625rem}.md\\:-mx-3\\.5{margin-left:-0.875rem;margin-right:-0.875rem}.md\\:my-0{margin-top:0px;margin-bottom:0px}.md\\:my-1{margin-top:0.25rem;margin-bottom:0.25rem}.md\\:my-2{margin-top:0.5rem;margin-bottom:0.5rem}.md\\:my-3{margin-top:0.75rem;margin-bottom:0.75rem}.md\\:my-4{margin-top:1rem;margin-bottom:1rem}.md\\:my-5{margin-top:1.25rem;margin-bottom:1.25rem}.md\\:my-6{margin-top:1.5rem;margin-bottom:1.5rem}.md\\:my-7{margin-top:1.75rem;margin-bottom:1.75rem}.md\\:my-8{margin-top:2rem;margin-bottom:2rem}.md\\:my-9{margin-top:2.25rem;margin-bottom:2.25rem}.md\\:my-10{margin-top:2.5rem;margin-bottom:2.5rem}.md\\:my-11{margin-top:2.75rem;margin-bottom:2.75rem}.md\\:my-12{margin-top:3rem;margin-bottom:3rem}.md\\:my-14{margin-top:3.5rem;margin-bottom:3.5rem}.md\\:my-16{margin-top:4rem;margin-bottom:4rem}.md\\:my-20{margin-top:5rem;margin-bottom:5rem}.md\\:my-24{margin-top:6rem;margin-bottom:6rem}.md\\:my-28{margin-top:7rem;margin-bottom:7rem}.md\\:my-32{margin-top:8rem;margin-bottom:8rem}.md\\:my-36{margin-top:9rem;margin-bottom:9rem}.md\\:my-40{margin-top:10rem;margin-bottom:10rem}.md\\:my-44{margin-top:11rem;margin-bottom:11rem}.md\\:my-48{margin-top:12rem;margin-bottom:12rem}.md\\:my-52{margin-top:13rem;margin-bottom:13rem}.md\\:my-56{margin-top:14rem;margin-bottom:14rem}.md\\:my-60{margin-top:15rem;margin-bottom:15rem}.md\\:my-64{margin-top:16rem;margin-bottom:16rem}.md\\:my-72{margin-top:18rem;margin-bottom:18rem}.md\\:my-80{margin-top:20rem;margin-bottom:20rem}.md\\:my-96{margin-top:24rem;margin-bottom:24rem}.md\\:my-auto{margin-top:auto;margin-bottom:auto}.md\\:my-px{margin-top:1px;margin-bottom:1px}.md\\:my-0\\.5{margin-top:0.125rem;margin-bottom:0.125rem}.md\\:my-1\\.5{margin-top:0.375rem;margin-bottom:0.375rem}.md\\:my-2\\.5{margin-top:0.625rem;margin-bottom:0.625rem}.md\\:my-3\\.5{margin-top:0.875rem;margin-bottom:0.875rem}.md\\:-my-0{margin-top:0px;margin-bottom:0px}.md\\:-my-1{margin-top:-0.25rem;margin-bottom:-0.25rem}.md\\:-my-2{margin-top:-0.5rem;margin-bottom:-0.5rem}.md\\:-my-3{margin-top:-0.75rem;margin-bottom:-0.75rem}.md\\:-my-4{margin-top:-1rem;margin-bottom:-1rem}.md\\:-my-5{margin-top:-1.25rem;margin-bottom:-1.25rem}.md\\:-my-6{margin-top:-1.5rem;margin-bottom:-1.5rem}.md\\:-my-7{margin-top:-1.75rem;margin-bottom:-1.75rem}.md\\:-my-8{margin-top:-2rem;margin-bottom:-2rem}.md\\:-my-9{margin-top:-2.25rem;margin-bottom:-2.25rem}.md\\:-my-10{margin-top:-2.5rem;margin-bottom:-2.5rem}.md\\:-my-11{margin-top:-2.75rem;margin-bottom:-2.75rem}.md\\:-my-12{margin-top:-3rem;margin-bottom:-3rem}.md\\:-my-14{margin-top:-3.5rem;margin-bottom:-3.5rem}.md\\:-my-16{margin-top:-4rem;margin-bottom:-4rem}.md\\:-my-20{margin-top:-5rem;margin-bottom:-5rem}.md\\:-my-24{margin-top:-6rem;margin-bottom:-6rem}.md\\:-my-28{margin-top:-7rem;margin-bottom:-7rem}.md\\:-my-32{margin-top:-8rem;margin-bottom:-8rem}.md\\:-my-36{margin-top:-9rem;margin-bottom:-9rem}.md\\:-my-40{margin-top:-10rem;margin-bottom:-10rem}.md\\:-my-44{margin-top:-11rem;margin-bottom:-11rem}.md\\:-my-48{margin-top:-12rem;margin-bottom:-12rem}.md\\:-my-52{margin-top:-13rem;margin-bottom:-13rem}.md\\:-my-56{margin-top:-14rem;margin-bottom:-14rem}.md\\:-my-60{margin-top:-15rem;margin-bottom:-15rem}.md\\:-my-64{margin-top:-16rem;margin-bottom:-16rem}.md\\:-my-72{margin-top:-18rem;margin-bottom:-18rem}.md\\:-my-80{margin-top:-20rem;margin-bottom:-20rem}.md\\:-my-96{margin-top:-24rem;margin-bottom:-24rem}.md\\:-my-px{margin-top:-1px;margin-bottom:-1px}.md\\:-my-0\\.5{margin-top:-0.125rem;margin-bottom:-0.125rem}.md\\:-my-1\\.5{margin-top:-0.375rem;margin-bottom:-0.375rem}.md\\:-my-2\\.5{margin-top:-0.625rem;margin-bottom:-0.625rem}.md\\:-my-3\\.5{margin-top:-0.875rem;margin-bottom:-0.875rem}.md\\:mt-0{margin-top:0px}.md\\:mt-1{margin-top:0.25rem}.md\\:mt-2{margin-top:0.5rem}.md\\:mt-3{margin-top:0.75rem}.md\\:mt-4{margin-top:1rem}.md\\:mt-5{margin-top:1.25rem}.md\\:mt-6{margin-top:1.5rem}.md\\:mt-7{margin-top:1.75rem}.md\\:mt-8{margin-top:2rem}.md\\:mt-9{margin-top:2.25rem}.md\\:mt-10{margin-top:2.5rem}.md\\:mt-11{margin-top:2.75rem}.md\\:mt-12{margin-top:3rem}.md\\:mt-14{margin-top:3.5rem}.md\\:mt-16{margin-top:4rem}.md\\:mt-20{margin-top:5rem}.md\\:mt-24{margin-top:6rem}.md\\:mt-28{margin-top:7rem}.md\\:mt-32{margin-top:8rem}.md\\:mt-36{margin-top:9rem}.md\\:mt-40{margin-top:10rem}.md\\:mt-44{margin-top:11rem}.md\\:mt-48{margin-top:12rem}.md\\:mt-52{margin-top:13rem}.md\\:mt-56{margin-top:14rem}.md\\:mt-60{margin-top:15rem}.md\\:mt-64{margin-top:16rem}.md\\:mt-72{margin-top:18rem}.md\\:mt-80{margin-top:20rem}.md\\:mt-96{margin-top:24rem}.md\\:mt-auto{margin-top:auto}.md\\:mt-px{margin-top:1px}.md\\:mt-0\\.5{margin-top:0.125rem}.md\\:mt-1\\.5{margin-top:0.375rem}.md\\:mt-2\\.5{margin-top:0.625rem}.md\\:mt-3\\.5{margin-top:0.875rem}.md\\:-mt-0{margin-top:0px}.md\\:-mt-1{margin-top:-0.25rem}.md\\:-mt-2{margin-top:-0.5rem}.md\\:-mt-3{margin-top:-0.75rem}.md\\:-mt-4{margin-top:-1rem}.md\\:-mt-5{margin-top:-1.25rem}.md\\:-mt-6{margin-top:-1.5rem}.md\\:-mt-7{margin-top:-1.75rem}.md\\:-mt-8{margin-top:-2rem}.md\\:-mt-9{margin-top:-2.25rem}.md\\:-mt-10{margin-top:-2.5rem}.md\\:-mt-11{margin-top:-2.75rem}.md\\:-mt-12{margin-top:-3rem}.md\\:-mt-14{margin-top:-3.5rem}.md\\:-mt-16{margin-top:-4rem}.md\\:-mt-20{margin-top:-5rem}.md\\:-mt-24{margin-top:-6rem}.md\\:-mt-28{margin-top:-7rem}.md\\:-mt-32{margin-top:-8rem}.md\\:-mt-36{margin-top:-9rem}.md\\:-mt-40{margin-top:-10rem}.md\\:-mt-44{margin-top:-11rem}.md\\:-mt-48{margin-top:-12rem}.md\\:-mt-52{margin-top:-13rem}.md\\:-mt-56{margin-top:-14rem}.md\\:-mt-60{margin-top:-15rem}.md\\:-mt-64{margin-top:-16rem}.md\\:-mt-72{margin-top:-18rem}.md\\:-mt-80{margin-top:-20rem}.md\\:-mt-96{margin-top:-24rem}.md\\:-mt-px{margin-top:-1px}.md\\:-mt-0\\.5{margin-top:-0.125rem}.md\\:-mt-1\\.5{margin-top:-0.375rem}.md\\:-mt-2\\.5{margin-top:-0.625rem}.md\\:-mt-3\\.5{margin-top:-0.875rem}.md\\:mr-0{margin-right:0px}.md\\:mr-1{margin-right:0.25rem}.md\\:mr-2{margin-right:0.5rem}.md\\:mr-3{margin-right:0.75rem}.md\\:mr-4{margin-right:1rem}.md\\:mr-5{margin-right:1.25rem}.md\\:mr-6{margin-right:1.5rem}.md\\:mr-7{margin-right:1.75rem}.md\\:mr-8{margin-right:2rem}.md\\:mr-9{margin-right:2.25rem}.md\\:mr-10{margin-right:2.5rem}.md\\:mr-11{margin-right:2.75rem}.md\\:mr-12{margin-right:3rem}.md\\:mr-14{margin-right:3.5rem}.md\\:mr-16{margin-right:4rem}.md\\:mr-20{margin-right:5rem}.md\\:mr-24{margin-right:6rem}.md\\:mr-28{margin-right:7rem}.md\\:mr-32{margin-right:8rem}.md\\:mr-36{margin-right:9rem}.md\\:mr-40{margin-right:10rem}.md\\:mr-44{margin-right:11rem}.md\\:mr-48{margin-right:12rem}.md\\:mr-52{margin-right:13rem}.md\\:mr-56{margin-right:14rem}.md\\:mr-60{margin-right:15rem}.md\\:mr-64{margin-right:16rem}.md\\:mr-72{margin-right:18rem}.md\\:mr-80{margin-right:20rem}.md\\:mr-96{margin-right:24rem}.md\\:mr-auto{margin-right:auto}.md\\:mr-px{margin-right:1px}.md\\:mr-0\\.5{margin-right:0.125rem}.md\\:mr-1\\.5{margin-right:0.375rem}.md\\:mr-2\\.5{margin-right:0.625rem}.md\\:mr-3\\.5{margin-right:0.875rem}.md\\:-mr-0{margin-right:0px}.md\\:-mr-1{margin-right:-0.25rem}.md\\:-mr-2{margin-right:-0.5rem}.md\\:-mr-3{margin-right:-0.75rem}.md\\:-mr-4{margin-right:-1rem}.md\\:-mr-5{margin-right:-1.25rem}.md\\:-mr-6{margin-right:-1.5rem}.md\\:-mr-7{margin-right:-1.75rem}.md\\:-mr-8{margin-right:-2rem}.md\\:-mr-9{margin-right:-2.25rem}.md\\:-mr-10{margin-right:-2.5rem}.md\\:-mr-11{margin-right:-2.75rem}.md\\:-mr-12{margin-right:-3rem}.md\\:-mr-14{margin-right:-3.5rem}.md\\:-mr-16{margin-right:-4rem}.md\\:-mr-20{margin-right:-5rem}.md\\:-mr-24{margin-right:-6rem}.md\\:-mr-28{margin-right:-7rem}.md\\:-mr-32{margin-right:-8rem}.md\\:-mr-36{margin-right:-9rem}.md\\:-mr-40{margin-right:-10rem}.md\\:-mr-44{margin-right:-11rem}.md\\:-mr-48{margin-right:-12rem}.md\\:-mr-52{margin-right:-13rem}.md\\:-mr-56{margin-right:-14rem}.md\\:-mr-60{margin-right:-15rem}.md\\:-mr-64{margin-right:-16rem}.md\\:-mr-72{margin-right:-18rem}.md\\:-mr-80{margin-right:-20rem}.md\\:-mr-96{margin-right:-24rem}.md\\:-mr-px{margin-right:-1px}.md\\:-mr-0\\.5{margin-right:-0.125rem}.md\\:-mr-1\\.5{margin-right:-0.375rem}.md\\:-mr-2\\.5{margin-right:-0.625rem}.md\\:-mr-3\\.5{margin-right:-0.875rem}.md\\:mb-0{margin-bottom:0px}.md\\:mb-1{margin-bottom:0.25rem}.md\\:mb-2{margin-bottom:0.5rem}.md\\:mb-3{margin-bottom:0.75rem}.md\\:mb-4{margin-bottom:1rem}.md\\:mb-5{margin-bottom:1.25rem}.md\\:mb-6{margin-bottom:1.5rem}.md\\:mb-7{margin-bottom:1.75rem}.md\\:mb-8{margin-bottom:2rem}.md\\:mb-9{margin-bottom:2.25rem}.md\\:mb-10{margin-bottom:2.5rem}.md\\:mb-11{margin-bottom:2.75rem}.md\\:mb-12{margin-bottom:3rem}.md\\:mb-14{margin-bottom:3.5rem}.md\\:mb-16{margin-bottom:4rem}.md\\:mb-20{margin-bottom:5rem}.md\\:mb-24{margin-bottom:6rem}.md\\:mb-28{margin-bottom:7rem}.md\\:mb-32{margin-bottom:8rem}.md\\:mb-36{margin-bottom:9rem}.md\\:mb-40{margin-bottom:10rem}.md\\:mb-44{margin-bottom:11rem}.md\\:mb-48{margin-bottom:12rem}.md\\:mb-52{margin-bottom:13rem}.md\\:mb-56{margin-bottom:14rem}.md\\:mb-60{margin-bottom:15rem}.md\\:mb-64{margin-bottom:16rem}.md\\:mb-72{margin-bottom:18rem}.md\\:mb-80{margin-bottom:20rem}.md\\:mb-96{margin-bottom:24rem}.md\\:mb-auto{margin-bottom:auto}.md\\:mb-px{margin-bottom:1px}.md\\:mb-0\\.5{margin-bottom:0.125rem}.md\\:mb-1\\.5{margin-bottom:0.375rem}.md\\:mb-2\\.5{margin-bottom:0.625rem}.md\\:mb-3\\.5{margin-bottom:0.875rem}.md\\:-mb-0{margin-bottom:0px}.md\\:-mb-1{margin-bottom:-0.25rem}.md\\:-mb-2{margin-bottom:-0.5rem}.md\\:-mb-3{margin-bottom:-0.75rem}.md\\:-mb-4{margin-bottom:-1rem}.md\\:-mb-5{margin-bottom:-1.25rem}.md\\:-mb-6{margin-bottom:-1.5rem}.md\\:-mb-7{margin-bottom:-1.75rem}.md\\:-mb-8{margin-bottom:-2rem}.md\\:-mb-9{margin-bottom:-2.25rem}.md\\:-mb-10{margin-bottom:-2.5rem}.md\\:-mb-11{margin-bottom:-2.75rem}.md\\:-mb-12{margin-bottom:-3rem}.md\\:-mb-14{margin-bottom:-3.5rem}.md\\:-mb-16{margin-bottom:-4rem}.md\\:-mb-20{margin-bottom:-5rem}.md\\:-mb-24{margin-bottom:-6rem}.md\\:-mb-28{margin-bottom:-7rem}.md\\:-mb-32{margin-bottom:-8rem}.md\\:-mb-36{margin-bottom:-9rem}.md\\:-mb-40{margin-bottom:-10rem}.md\\:-mb-44{margin-bottom:-11rem}.md\\:-mb-48{margin-bottom:-12rem}.md\\:-mb-52{margin-bottom:-13rem}.md\\:-mb-56{margin-bottom:-14rem}.md\\:-mb-60{margin-bottom:-15rem}.md\\:-mb-64{margin-bottom:-16rem}.md\\:-mb-72{margin-bottom:-18rem}.md\\:-mb-80{margin-bottom:-20rem}.md\\:-mb-96{margin-bottom:-24rem}.md\\:-mb-px{margin-bottom:-1px}.md\\:-mb-0\\.5{margin-bottom:-0.125rem}.md\\:-mb-1\\.5{margin-bottom:-0.375rem}.md\\:-mb-2\\.5{margin-bottom:-0.625rem}.md\\:-mb-3\\.5{margin-bottom:-0.875rem}.md\\:ml-0{margin-left:0px}.md\\:ml-1{margin-left:0.25rem}.md\\:ml-2{margin-left:0.5rem}.md\\:ml-3{margin-left:0.75rem}.md\\:ml-4{margin-left:1rem}.md\\:ml-5{margin-left:1.25rem}.md\\:ml-6{margin-left:1.5rem}.md\\:ml-7{margin-left:1.75rem}.md\\:ml-8{margin-left:2rem}.md\\:ml-9{margin-left:2.25rem}.md\\:ml-10{margin-left:2.5rem}.md\\:ml-11{margin-left:2.75rem}.md\\:ml-12{margin-left:3rem}.md\\:ml-14{margin-left:3.5rem}.md\\:ml-16{margin-left:4rem}.md\\:ml-20{margin-left:5rem}.md\\:ml-24{margin-left:6rem}.md\\:ml-28{margin-left:7rem}.md\\:ml-32{margin-left:8rem}.md\\:ml-36{margin-left:9rem}.md\\:ml-40{margin-left:10rem}.md\\:ml-44{margin-left:11rem}.md\\:ml-48{margin-left:12rem}.md\\:ml-52{margin-left:13rem}.md\\:ml-56{margin-left:14rem}.md\\:ml-60{margin-left:15rem}.md\\:ml-64{margin-left:16rem}.md\\:ml-72{margin-left:18rem}.md\\:ml-80{margin-left:20rem}.md\\:ml-96{margin-left:24rem}.md\\:ml-auto{margin-left:auto}.md\\:ml-px{margin-left:1px}.md\\:ml-0\\.5{margin-left:0.125rem}.md\\:ml-1\\.5{margin-left:0.375rem}.md\\:ml-2\\.5{margin-left:0.625rem}.md\\:ml-3\\.5{margin-left:0.875rem}.md\\:-ml-0{margin-left:0px}.md\\:-ml-1{margin-left:-0.25rem}.md\\:-ml-2{margin-left:-0.5rem}.md\\:-ml-3{margin-left:-0.75rem}.md\\:-ml-4{margin-left:-1rem}.md\\:-ml-5{margin-left:-1.25rem}.md\\:-ml-6{margin-left:-1.5rem}.md\\:-ml-7{margin-left:-1.75rem}.md\\:-ml-8{margin-left:-2rem}.md\\:-ml-9{margin-left:-2.25rem}.md\\:-ml-10{margin-left:-2.5rem}.md\\:-ml-11{margin-left:-2.75rem}.md\\:-ml-12{margin-left:-3rem}.md\\:-ml-14{margin-left:-3.5rem}.md\\:-ml-16{margin-left:-4rem}.md\\:-ml-20{margin-left:-5rem}.md\\:-ml-24{margin-left:-6rem}.md\\:-ml-28{margin-left:-7rem}.md\\:-ml-32{margin-left:-8rem}.md\\:-ml-36{margin-left:-9rem}.md\\:-ml-40{margin-left:-10rem}.md\\:-ml-44{margin-left:-11rem}.md\\:-ml-48{margin-left:-12rem}.md\\:-ml-52{margin-left:-13rem}.md\\:-ml-56{margin-left:-14rem}.md\\:-ml-60{margin-left:-15rem}.md\\:-ml-64{margin-left:-16rem}.md\\:-ml-72{margin-left:-18rem}.md\\:-ml-80{margin-left:-20rem}.md\\:-ml-96{margin-left:-24rem}.md\\:-ml-px{margin-left:-1px}.md\\:-ml-0\\.5{margin-left:-0.125rem}.md\\:-ml-1\\.5{margin-left:-0.375rem}.md\\:-ml-2\\.5{margin-left:-0.625rem}.md\\:-ml-3\\.5{margin-left:-0.875rem}.md\\:box-border{box-sizing:border-box}.md\\:box-content{box-sizing:content-box}.md\\:block{display:block}.md\\:inline-block{display:inline-block}.md\\:inline{display:inline}.md\\:flex{display:flex}.md\\:inline-flex{display:inline-flex}.md\\:table{display:table}.md\\:inline-table{display:inline-table}.md\\:table-caption{display:table-caption}.md\\:table-cell{display:table-cell}.md\\:table-column{display:table-column}.md\\:table-column-group{display:table-column-group}.md\\:table-footer-group{display:table-footer-group}.md\\:table-header-group{display:table-header-group}.md\\:table-row-group{display:table-row-group}.md\\:table-row{display:table-row}.md\\:flow-root{display:flow-root}.md\\:grid{display:grid}.md\\:inline-grid{display:inline-grid}.md\\:contents{display:contents}.md\\:list-item{display:list-item}.md\\:hidden{display:none}.md\\:h-0{height:0px}.md\\:h-1{height:0.25rem}.md\\:h-2{height:0.5rem}.md\\:h-3{height:0.75rem}.md\\:h-4{height:1rem}.md\\:h-5{height:1.25rem}.md\\:h-6{height:1.5rem}.md\\:h-7{height:1.75rem}.md\\:h-8{height:2rem}.md\\:h-9{height:2.25rem}.md\\:h-10{height:2.5rem}.md\\:h-11{height:2.75rem}.md\\:h-12{height:3rem}.md\\:h-14{height:3.5rem}.md\\:h-16{height:4rem}.md\\:h-20{height:5rem}.md\\:h-24{height:6rem}.md\\:h-28{height:7rem}.md\\:h-32{height:8rem}.md\\:h-36{height:9rem}.md\\:h-40{height:10rem}.md\\:h-44{height:11rem}.md\\:h-48{height:12rem}.md\\:h-52{height:13rem}.md\\:h-56{height:14rem}.md\\:h-60{height:15rem}.md\\:h-64{height:16rem}.md\\:h-72{height:18rem}.md\\:h-80{height:20rem}.md\\:h-96{height:24rem}.md\\:h-auto{height:auto}.md\\:h-px{height:1px}.md\\:h-0\\.5{height:0.125rem}.md\\:h-1\\.5{height:0.375rem}.md\\:h-2\\.5{height:0.625rem}.md\\:h-3\\.5{height:0.875rem}.md\\:h-1\\/2{height:50%}.md\\:h-1\\/3{height:33.333333%}.md\\:h-2\\/3{height:66.666667%}.md\\:h-1\\/4{height:25%}.md\\:h-2\\/4{height:50%}.md\\:h-3\\/4{height:75%}.md\\:h-1\\/5{height:20%}.md\\:h-2\\/5{height:40%}.md\\:h-3\\/5{height:60%}.md\\:h-4\\/5{height:80%}.md\\:h-1\\/6{height:16.666667%}.md\\:h-2\\/6{height:33.333333%}.md\\:h-3\\/6{height:50%}.md\\:h-4\\/6{height:66.666667%}.md\\:h-5\\/6{height:83.333333%}.md\\:h-full{height:100%}.md\\:h-screen{height:100vh}.md\\:h-XS{height:250px}.md\\:h-S{height:500px}.md\\:h-M{height:750px}.md\\:h-L{height:1000px}.md\\:h-XL{height:1250px}.md\\:h-XXL{height:1500px}.md\\:max-h-0{max-height:0px}.md\\:max-h-1{max-height:0.25rem}.md\\:max-h-2{max-height:0.5rem}.md\\:max-h-3{max-height:0.75rem}.md\\:max-h-4{max-height:1rem}.md\\:max-h-5{max-height:1.25rem}.md\\:max-h-6{max-height:1.5rem}.md\\:max-h-7{max-height:1.75rem}.md\\:max-h-8{max-height:2rem}.md\\:max-h-9{max-height:2.25rem}.md\\:max-h-10{max-height:2.5rem}.md\\:max-h-11{max-height:2.75rem}.md\\:max-h-12{max-height:3rem}.md\\:max-h-14{max-height:3.5rem}.md\\:max-h-16{max-height:4rem}.md\\:max-h-20{max-height:5rem}.md\\:max-h-24{max-height:6rem}.md\\:max-h-28{max-height:7rem}.md\\:max-h-32{max-height:8rem}.md\\:max-h-36{max-height:9rem}.md\\:max-h-40{max-height:10rem}.md\\:max-h-44{max-height:11rem}.md\\:max-h-48{max-height:12rem}.md\\:max-h-52{max-height:13rem}.md\\:max-h-56{max-height:14rem}.md\\:max-h-60{max-height:15rem}.md\\:max-h-64{max-height:16rem}.md\\:max-h-72{max-height:18rem}.md\\:max-h-80{max-height:20rem}.md\\:max-h-96{max-height:24rem}.md\\:max-h-px{max-height:1px}.md\\:max-h-0\\.5{max-height:0.125rem}.md\\:max-h-1\\.5{max-height:0.375rem}.md\\:max-h-2\\.5{max-height:0.625rem}.md\\:max-h-3\\.5{max-height:0.875rem}.md\\:max-h-full{max-height:100%}.md\\:max-h-screen{max-height:100vh}.md\\:max-h-XS{max-height:250px}.md\\:max-h-S{max-height:500px}.md\\:max-h-M{max-height:750px}.md\\:max-h-L{max-height:1000px}.md\\:max-h-XL{max-height:1250px}.md\\:max-h-XXL{max-height:1500px}.md\\:min-h-0{min-height:0px}.md\\:min-h-full{min-height:100%}.md\\:min-h-screen{min-height:100vh}.md\\:w-0{width:0px}.md\\:w-1{width:0.25rem}.md\\:w-2{width:0.5rem}.md\\:w-3{width:0.75rem}.md\\:w-4{width:1rem}.md\\:w-5{width:1.25rem}.md\\:w-6{width:1.5rem}.md\\:w-7{width:1.75rem}.md\\:w-8{width:2rem}.md\\:w-9{width:2.25rem}.md\\:w-10{width:2.5rem}.md\\:w-11{width:2.75rem}.md\\:w-12{width:3rem}.md\\:w-14{width:3.5rem}.md\\:w-16{width:4rem}.md\\:w-20{width:5rem}.md\\:w-24{width:6rem}.md\\:w-28{width:7rem}.md\\:w-32{width:8rem}.md\\:w-36{width:9rem}.md\\:w-40{width:10rem}.md\\:w-44{width:11rem}.md\\:w-48{width:12rem}.md\\:w-52{width:13rem}.md\\:w-56{width:14rem}.md\\:w-60{width:15rem}.md\\:w-64{width:16rem}.md\\:w-72{width:18rem}.md\\:w-80{width:20rem}.md\\:w-96{width:24rem}.md\\:w-auto{width:auto}.md\\:w-px{width:1px}.md\\:w-0\\.5{width:0.125rem}.md\\:w-1\\.5{width:0.375rem}.md\\:w-2\\.5{width:0.625rem}.md\\:w-3\\.5{width:0.875rem}.md\\:w-1\\/2{width:50%}.md\\:w-1\\/3{width:33.333333%}.md\\:w-2\\/3{width:66.666667%}.md\\:w-1\\/4{width:25%}.md\\:w-2\\/4{width:50%}.md\\:w-3\\/4{width:75%}.md\\:w-1\\/5{width:20%}.md\\:w-2\\/5{width:40%}.md\\:w-3\\/5{width:60%}.md\\:w-4\\/5{width:80%}.md\\:w-1\\/6{width:16.666667%}.md\\:w-2\\/6{width:33.333333%}.md\\:w-3\\/6{width:50%}.md\\:w-4\\/6{width:66.666667%}.md\\:w-5\\/6{width:83.333333%}.md\\:w-1\\/12{width:8.333333%}.md\\:w-2\\/12{width:16.666667%}.md\\:w-3\\/12{width:25%}.md\\:w-4\\/12{width:33.333333%}.md\\:w-5\\/12{width:41.666667%}.md\\:w-6\\/12{width:50%}.md\\:w-7\\/12{width:58.333333%}.md\\:w-8\\/12{width:66.666667%}.md\\:w-9\\/12{width:75%}.md\\:w-10\\/12{width:83.333333%}.md\\:w-11\\/12{width:91.666667%}.md\\:w-full{width:100%}.md\\:w-screen{width:100vw}.md\\:w-min{width:min-content}.md\\:w-max{width:max-content}.md\\:min-w-0{min-width:0px}.md\\:min-w-full{min-width:100%}.md\\:min-w-min{min-width:min-content}.md\\:min-w-max{min-width:max-content}.md\\:max-w-0{max-width:0rem}.md\\:max-w-none{max-width:none}.md\\:max-w-xs{max-width:20rem}.md\\:max-w-sm{max-width:24rem}.md\\:max-w-md{max-width:28rem}.md\\:max-w-lg{max-width:32rem}.md\\:max-w-xl{max-width:36rem}.md\\:max-w-2xl{max-width:42rem}.md\\:max-w-3xl{max-width:48rem}.md\\:max-w-4xl{max-width:56rem}.md\\:max-w-5xl{max-width:64rem}.md\\:max-w-6xl{max-width:72rem}.md\\:max-w-7xl{max-width:80rem}.md\\:max-w-full{max-width:100%}.md\\:max-w-min{max-width:min-content}.md\\:max-w-max{max-width:max-content}.md\\:max-w-prose{max-width:65ch}.md\\:max-w-screen-sm{max-width:640px}.md\\:max-w-screen-md{max-width:768px}.md\\:max-w-screen-lg{max-width:1024px}.md\\:max-w-screen-xl{max-width:1280px}.md\\:max-w-screen-2xl{max-width:1536px}.md\\:flex-1{flex:1 1 0%}.md\\:flex-auto{flex:1 1 auto}.md\\:flex-initial{flex:0 1 auto}.md\\:flex-none{flex:none}.md\\:flex-shrink-0{flex-shrink:0}.md\\:flex-shrink{flex-shrink:1}.md\\:flex-grow-0{flex-grow:0}.md\\:flex-grow{flex-grow:1}.md\\:table-auto{table-layout:auto}.md\\:table-fixed{table-layout:fixed}.md\\:border-collapse{border-collapse:collapse}.md\\:border-separate{border-collapse:separate}.md\\:origin-center{transform-origin:center}.md\\:origin-top{transform-origin:top}.md\\:origin-top-right{transform-origin:top right}.md\\:origin-right{transform-origin:right}.md\\:origin-bottom-right{transform-origin:bottom right}.md\\:origin-bottom{transform-origin:bottom}.md\\:origin-bottom-left{transform-origin:bottom left}.md\\:origin-left{transform-origin:left}.md\\:origin-top-left{transform-origin:top left}.md\\:transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.md\\:transform-gpu{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translate3d(var(--tw-translate-x), var(--tw-translate-y), 0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.md\\:transform-none{transform:none}.md\\:translate-x-0{--tw-translate-x:0px}.md\\:translate-x-1{--tw-translate-x:0.25rem}.md\\:translate-x-2{--tw-translate-x:0.5rem}.md\\:translate-x-3{--tw-translate-x:0.75rem}.md\\:translate-x-4{--tw-translate-x:1rem}.md\\:translate-x-5{--tw-translate-x:1.25rem}.md\\:translate-x-6{--tw-translate-x:1.5rem}.md\\:translate-x-7{--tw-translate-x:1.75rem}.md\\:translate-x-8{--tw-translate-x:2rem}.md\\:translate-x-9{--tw-translate-x:2.25rem}.md\\:translate-x-10{--tw-translate-x:2.5rem}.md\\:translate-x-11{--tw-translate-x:2.75rem}.md\\:translate-x-12{--tw-translate-x:3rem}.md\\:translate-x-14{--tw-translate-x:3.5rem}.md\\:translate-x-16{--tw-translate-x:4rem}.md\\:translate-x-20{--tw-translate-x:5rem}.md\\:translate-x-24{--tw-translate-x:6rem}.md\\:translate-x-28{--tw-translate-x:7rem}.md\\:translate-x-32{--tw-translate-x:8rem}.md\\:translate-x-36{--tw-translate-x:9rem}.md\\:translate-x-40{--tw-translate-x:10rem}.md\\:translate-x-44{--tw-translate-x:11rem}.md\\:translate-x-48{--tw-translate-x:12rem}.md\\:translate-x-52{--tw-translate-x:13rem}.md\\:translate-x-56{--tw-translate-x:14rem}.md\\:translate-x-60{--tw-translate-x:15rem}.md\\:translate-x-64{--tw-translate-x:16rem}.md\\:translate-x-72{--tw-translate-x:18rem}.md\\:translate-x-80{--tw-translate-x:20rem}.md\\:translate-x-96{--tw-translate-x:24rem}.md\\:translate-x-px{--tw-translate-x:1px}.md\\:translate-x-0\\.5{--tw-translate-x:0.125rem}.md\\:translate-x-1\\.5{--tw-translate-x:0.375rem}.md\\:translate-x-2\\.5{--tw-translate-x:0.625rem}.md\\:translate-x-3\\.5{--tw-translate-x:0.875rem}.md\\:-translate-x-0{--tw-translate-x:0px}.md\\:-translate-x-1{--tw-translate-x:-0.25rem}.md\\:-translate-x-2{--tw-translate-x:-0.5rem}.md\\:-translate-x-3{--tw-translate-x:-0.75rem}.md\\:-translate-x-4{--tw-translate-x:-1rem}.md\\:-translate-x-5{--tw-translate-x:-1.25rem}.md\\:-translate-x-6{--tw-translate-x:-1.5rem}.md\\:-translate-x-7{--tw-translate-x:-1.75rem}.md\\:-translate-x-8{--tw-translate-x:-2rem}.md\\:-translate-x-9{--tw-translate-x:-2.25rem}.md\\:-translate-x-10{--tw-translate-x:-2.5rem}.md\\:-translate-x-11{--tw-translate-x:-2.75rem}.md\\:-translate-x-12{--tw-translate-x:-3rem}.md\\:-translate-x-14{--tw-translate-x:-3.5rem}.md\\:-translate-x-16{--tw-translate-x:-4rem}.md\\:-translate-x-20{--tw-translate-x:-5rem}.md\\:-translate-x-24{--tw-translate-x:-6rem}.md\\:-translate-x-28{--tw-translate-x:-7rem}.md\\:-translate-x-32{--tw-translate-x:-8rem}.md\\:-translate-x-36{--tw-translate-x:-9rem}.md\\:-translate-x-40{--tw-translate-x:-10rem}.md\\:-translate-x-44{--tw-translate-x:-11rem}.md\\:-translate-x-48{--tw-translate-x:-12rem}.md\\:-translate-x-52{--tw-translate-x:-13rem}.md\\:-translate-x-56{--tw-translate-x:-14rem}.md\\:-translate-x-60{--tw-translate-x:-15rem}.md\\:-translate-x-64{--tw-translate-x:-16rem}.md\\:-translate-x-72{--tw-translate-x:-18rem}.md\\:-translate-x-80{--tw-translate-x:-20rem}.md\\:-translate-x-96{--tw-translate-x:-24rem}.md\\:-translate-x-px{--tw-translate-x:-1px}.md\\:-translate-x-0\\.5{--tw-translate-x:-0.125rem}.md\\:-translate-x-1\\.5{--tw-translate-x:-0.375rem}.md\\:-translate-x-2\\.5{--tw-translate-x:-0.625rem}.md\\:-translate-x-3\\.5{--tw-translate-x:-0.875rem}.md\\:translate-x-1\\/2{--tw-translate-x:50%}.md\\:translate-x-1\\/3{--tw-translate-x:33.333333%}.md\\:translate-x-2\\/3{--tw-translate-x:66.666667%}.md\\:translate-x-1\\/4{--tw-translate-x:25%}.md\\:translate-x-2\\/4{--tw-translate-x:50%}.md\\:translate-x-3\\/4{--tw-translate-x:75%}.md\\:translate-x-full{--tw-translate-x:100%}.md\\:-translate-x-1\\/2{--tw-translate-x:-50%}.md\\:-translate-x-1\\/3{--tw-translate-x:-33.333333%}.md\\:-translate-x-2\\/3{--tw-translate-x:-66.666667%}.md\\:-translate-x-1\\/4{--tw-translate-x:-25%}.md\\:-translate-x-2\\/4{--tw-translate-x:-50%}.md\\:-translate-x-3\\/4{--tw-translate-x:-75%}.md\\:-translate-x-full{--tw-translate-x:-100%}.md\\:translate-y-0{--tw-translate-y:0px}.md\\:translate-y-1{--tw-translate-y:0.25rem}.md\\:translate-y-2{--tw-translate-y:0.5rem}.md\\:translate-y-3{--tw-translate-y:0.75rem}.md\\:translate-y-4{--tw-translate-y:1rem}.md\\:translate-y-5{--tw-translate-y:1.25rem}.md\\:translate-y-6{--tw-translate-y:1.5rem}.md\\:translate-y-7{--tw-translate-y:1.75rem}.md\\:translate-y-8{--tw-translate-y:2rem}.md\\:translate-y-9{--tw-translate-y:2.25rem}.md\\:translate-y-10{--tw-translate-y:2.5rem}.md\\:translate-y-11{--tw-translate-y:2.75rem}.md\\:translate-y-12{--tw-translate-y:3rem}.md\\:translate-y-14{--tw-translate-y:3.5rem}.md\\:translate-y-16{--tw-translate-y:4rem}.md\\:translate-y-20{--tw-translate-y:5rem}.md\\:translate-y-24{--tw-translate-y:6rem}.md\\:translate-y-28{--tw-translate-y:7rem}.md\\:translate-y-32{--tw-translate-y:8rem}.md\\:translate-y-36{--tw-translate-y:9rem}.md\\:translate-y-40{--tw-translate-y:10rem}.md\\:translate-y-44{--tw-translate-y:11rem}.md\\:translate-y-48{--tw-translate-y:12rem}.md\\:translate-y-52{--tw-translate-y:13rem}.md\\:translate-y-56{--tw-translate-y:14rem}.md\\:translate-y-60{--tw-translate-y:15rem}.md\\:translate-y-64{--tw-translate-y:16rem}.md\\:translate-y-72{--tw-translate-y:18rem}.md\\:translate-y-80{--tw-translate-y:20rem}.md\\:translate-y-96{--tw-translate-y:24rem}.md\\:translate-y-px{--tw-translate-y:1px}.md\\:translate-y-0\\.5{--tw-translate-y:0.125rem}.md\\:translate-y-1\\.5{--tw-translate-y:0.375rem}.md\\:translate-y-2\\.5{--tw-translate-y:0.625rem}.md\\:translate-y-3\\.5{--tw-translate-y:0.875rem}.md\\:-translate-y-0{--tw-translate-y:0px}.md\\:-translate-y-1{--tw-translate-y:-0.25rem}.md\\:-translate-y-2{--tw-translate-y:-0.5rem}.md\\:-translate-y-3{--tw-translate-y:-0.75rem}.md\\:-translate-y-4{--tw-translate-y:-1rem}.md\\:-translate-y-5{--tw-translate-y:-1.25rem}.md\\:-translate-y-6{--tw-translate-y:-1.5rem}.md\\:-translate-y-7{--tw-translate-y:-1.75rem}.md\\:-translate-y-8{--tw-translate-y:-2rem}.md\\:-translate-y-9{--tw-translate-y:-2.25rem}.md\\:-translate-y-10{--tw-translate-y:-2.5rem}.md\\:-translate-y-11{--tw-translate-y:-2.75rem}.md\\:-translate-y-12{--tw-translate-y:-3rem}.md\\:-translate-y-14{--tw-translate-y:-3.5rem}.md\\:-translate-y-16{--tw-translate-y:-4rem}.md\\:-translate-y-20{--tw-translate-y:-5rem}.md\\:-translate-y-24{--tw-translate-y:-6rem}.md\\:-translate-y-28{--tw-translate-y:-7rem}.md\\:-translate-y-32{--tw-translate-y:-8rem}.md\\:-translate-y-36{--tw-translate-y:-9rem}.md\\:-translate-y-40{--tw-translate-y:-10rem}.md\\:-translate-y-44{--tw-translate-y:-11rem}.md\\:-translate-y-48{--tw-translate-y:-12rem}.md\\:-translate-y-52{--tw-translate-y:-13rem}.md\\:-translate-y-56{--tw-translate-y:-14rem}.md\\:-translate-y-60{--tw-translate-y:-15rem}.md\\:-translate-y-64{--tw-translate-y:-16rem}.md\\:-translate-y-72{--tw-translate-y:-18rem}.md\\:-translate-y-80{--tw-translate-y:-20rem}.md\\:-translate-y-96{--tw-translate-y:-24rem}.md\\:-translate-y-px{--tw-translate-y:-1px}.md\\:-translate-y-0\\.5{--tw-translate-y:-0.125rem}.md\\:-translate-y-1\\.5{--tw-translate-y:-0.375rem}.md\\:-translate-y-2\\.5{--tw-translate-y:-0.625rem}.md\\:-translate-y-3\\.5{--tw-translate-y:-0.875rem}.md\\:translate-y-1\\/2{--tw-translate-y:50%}.md\\:translate-y-1\\/3{--tw-translate-y:33.333333%}.md\\:translate-y-2\\/3{--tw-translate-y:66.666667%}.md\\:translate-y-1\\/4{--tw-translate-y:25%}.md\\:translate-y-2\\/4{--tw-translate-y:50%}.md\\:translate-y-3\\/4{--tw-translate-y:75%}.md\\:translate-y-full{--tw-translate-y:100%}.md\\:-translate-y-1\\/2{--tw-translate-y:-50%}.md\\:-translate-y-1\\/3{--tw-translate-y:-33.333333%}.md\\:-translate-y-2\\/3{--tw-translate-y:-66.666667%}.md\\:-translate-y-1\\/4{--tw-translate-y:-25%}.md\\:-translate-y-2\\/4{--tw-translate-y:-50%}.md\\:-translate-y-3\\/4{--tw-translate-y:-75%}.md\\:-translate-y-full{--tw-translate-y:-100%}.md\\:hover\\:translate-x-0:hover{--tw-translate-x:0px}.md\\:hover\\:translate-x-1:hover{--tw-translate-x:0.25rem}.md\\:hover\\:translate-x-2:hover{--tw-translate-x:0.5rem}.md\\:hover\\:translate-x-3:hover{--tw-translate-x:0.75rem}.md\\:hover\\:translate-x-4:hover{--tw-translate-x:1rem}.md\\:hover\\:translate-x-5:hover{--tw-translate-x:1.25rem}.md\\:hover\\:translate-x-6:hover{--tw-translate-x:1.5rem}.md\\:hover\\:translate-x-7:hover{--tw-translate-x:1.75rem}.md\\:hover\\:translate-x-8:hover{--tw-translate-x:2rem}.md\\:hover\\:translate-x-9:hover{--tw-translate-x:2.25rem}.md\\:hover\\:translate-x-10:hover{--tw-translate-x:2.5rem}.md\\:hover\\:translate-x-11:hover{--tw-translate-x:2.75rem}.md\\:hover\\:translate-x-12:hover{--tw-translate-x:3rem}.md\\:hover\\:translate-x-14:hover{--tw-translate-x:3.5rem}.md\\:hover\\:translate-x-16:hover{--tw-translate-x:4rem}.md\\:hover\\:translate-x-20:hover{--tw-translate-x:5rem}.md\\:hover\\:translate-x-24:hover{--tw-translate-x:6rem}.md\\:hover\\:translate-x-28:hover{--tw-translate-x:7rem}.md\\:hover\\:translate-x-32:hover{--tw-translate-x:8rem}.md\\:hover\\:translate-x-36:hover{--tw-translate-x:9rem}.md\\:hover\\:translate-x-40:hover{--tw-translate-x:10rem}.md\\:hover\\:translate-x-44:hover{--tw-translate-x:11rem}.md\\:hover\\:translate-x-48:hover{--tw-translate-x:12rem}.md\\:hover\\:translate-x-52:hover{--tw-translate-x:13rem}.md\\:hover\\:translate-x-56:hover{--tw-translate-x:14rem}.md\\:hover\\:translate-x-60:hover{--tw-translate-x:15rem}.md\\:hover\\:translate-x-64:hover{--tw-translate-x:16rem}.md\\:hover\\:translate-x-72:hover{--tw-translate-x:18rem}.md\\:hover\\:translate-x-80:hover{--tw-translate-x:20rem}.md\\:hover\\:translate-x-96:hover{--tw-translate-x:24rem}.md\\:hover\\:translate-x-px:hover{--tw-translate-x:1px}.md\\:hover\\:translate-x-0\\.5:hover{--tw-translate-x:0.125rem}.md\\:hover\\:translate-x-1\\.5:hover{--tw-translate-x:0.375rem}.md\\:hover\\:translate-x-2\\.5:hover{--tw-translate-x:0.625rem}.md\\:hover\\:translate-x-3\\.5:hover{--tw-translate-x:0.875rem}.md\\:hover\\:-translate-x-0:hover{--tw-translate-x:0px}.md\\:hover\\:-translate-x-1:hover{--tw-translate-x:-0.25rem}.md\\:hover\\:-translate-x-2:hover{--tw-translate-x:-0.5rem}.md\\:hover\\:-translate-x-3:hover{--tw-translate-x:-0.75rem}.md\\:hover\\:-translate-x-4:hover{--tw-translate-x:-1rem}.md\\:hover\\:-translate-x-5:hover{--tw-translate-x:-1.25rem}.md\\:hover\\:-translate-x-6:hover{--tw-translate-x:-1.5rem}.md\\:hover\\:-translate-x-7:hover{--tw-translate-x:-1.75rem}.md\\:hover\\:-translate-x-8:hover{--tw-translate-x:-2rem}.md\\:hover\\:-translate-x-9:hover{--tw-translate-x:-2.25rem}.md\\:hover\\:-translate-x-10:hover{--tw-translate-x:-2.5rem}.md\\:hover\\:-translate-x-11:hover{--tw-translate-x:-2.75rem}.md\\:hover\\:-translate-x-12:hover{--tw-translate-x:-3rem}.md\\:hover\\:-translate-x-14:hover{--tw-translate-x:-3.5rem}.md\\:hover\\:-translate-x-16:hover{--tw-translate-x:-4rem}.md\\:hover\\:-translate-x-20:hover{--tw-translate-x:-5rem}.md\\:hover\\:-translate-x-24:hover{--tw-translate-x:-6rem}.md\\:hover\\:-translate-x-28:hover{--tw-translate-x:-7rem}.md\\:hover\\:-translate-x-32:hover{--tw-translate-x:-8rem}.md\\:hover\\:-translate-x-36:hover{--tw-translate-x:-9rem}.md\\:hover\\:-translate-x-40:hover{--tw-translate-x:-10rem}.md\\:hover\\:-translate-x-44:hover{--tw-translate-x:-11rem}.md\\:hover\\:-translate-x-48:hover{--tw-translate-x:-12rem}.md\\:hover\\:-translate-x-52:hover{--tw-translate-x:-13rem}.md\\:hover\\:-translate-x-56:hover{--tw-translate-x:-14rem}.md\\:hover\\:-translate-x-60:hover{--tw-translate-x:-15rem}.md\\:hover\\:-translate-x-64:hover{--tw-translate-x:-16rem}.md\\:hover\\:-translate-x-72:hover{--tw-translate-x:-18rem}.md\\:hover\\:-translate-x-80:hover{--tw-translate-x:-20rem}.md\\:hover\\:-translate-x-96:hover{--tw-translate-x:-24rem}.md\\:hover\\:-translate-x-px:hover{--tw-translate-x:-1px}.md\\:hover\\:-translate-x-0\\.5:hover{--tw-translate-x:-0.125rem}.md\\:hover\\:-translate-x-1\\.5:hover{--tw-translate-x:-0.375rem}.md\\:hover\\:-translate-x-2\\.5:hover{--tw-translate-x:-0.625rem}.md\\:hover\\:-translate-x-3\\.5:hover{--tw-translate-x:-0.875rem}.md\\:hover\\:translate-x-1\\/2:hover{--tw-translate-x:50%}.md\\:hover\\:translate-x-1\\/3:hover{--tw-translate-x:33.333333%}.md\\:hover\\:translate-x-2\\/3:hover{--tw-translate-x:66.666667%}.md\\:hover\\:translate-x-1\\/4:hover{--tw-translate-x:25%}.md\\:hover\\:translate-x-2\\/4:hover{--tw-translate-x:50%}.md\\:hover\\:translate-x-3\\/4:hover{--tw-translate-x:75%}.md\\:hover\\:translate-x-full:hover{--tw-translate-x:100%}.md\\:hover\\:-translate-x-1\\/2:hover{--tw-translate-x:-50%}.md\\:hover\\:-translate-x-1\\/3:hover{--tw-translate-x:-33.333333%}.md\\:hover\\:-translate-x-2\\/3:hover{--tw-translate-x:-66.666667%}.md\\:hover\\:-translate-x-1\\/4:hover{--tw-translate-x:-25%}.md\\:hover\\:-translate-x-2\\/4:hover{--tw-translate-x:-50%}.md\\:hover\\:-translate-x-3\\/4:hover{--tw-translate-x:-75%}.md\\:hover\\:-translate-x-full:hover{--tw-translate-x:-100%}.md\\:hover\\:translate-y-0:hover{--tw-translate-y:0px}.md\\:hover\\:translate-y-1:hover{--tw-translate-y:0.25rem}.md\\:hover\\:translate-y-2:hover{--tw-translate-y:0.5rem}.md\\:hover\\:translate-y-3:hover{--tw-translate-y:0.75rem}.md\\:hover\\:translate-y-4:hover{--tw-translate-y:1rem}.md\\:hover\\:translate-y-5:hover{--tw-translate-y:1.25rem}.md\\:hover\\:translate-y-6:hover{--tw-translate-y:1.5rem}.md\\:hover\\:translate-y-7:hover{--tw-translate-y:1.75rem}.md\\:hover\\:translate-y-8:hover{--tw-translate-y:2rem}.md\\:hover\\:translate-y-9:hover{--tw-translate-y:2.25rem}.md\\:hover\\:translate-y-10:hover{--tw-translate-y:2.5rem}.md\\:hover\\:translate-y-11:hover{--tw-translate-y:2.75rem}.md\\:hover\\:translate-y-12:hover{--tw-translate-y:3rem}.md\\:hover\\:translate-y-14:hover{--tw-translate-y:3.5rem}.md\\:hover\\:translate-y-16:hover{--tw-translate-y:4rem}.md\\:hover\\:translate-y-20:hover{--tw-translate-y:5rem}.md\\:hover\\:translate-y-24:hover{--tw-translate-y:6rem}.md\\:hover\\:translate-y-28:hover{--tw-translate-y:7rem}.md\\:hover\\:translate-y-32:hover{--tw-translate-y:8rem}.md\\:hover\\:translate-y-36:hover{--tw-translate-y:9rem}.md\\:hover\\:translate-y-40:hover{--tw-translate-y:10rem}.md\\:hover\\:translate-y-44:hover{--tw-translate-y:11rem}.md\\:hover\\:translate-y-48:hover{--tw-translate-y:12rem}.md\\:hover\\:translate-y-52:hover{--tw-translate-y:13rem}.md\\:hover\\:translate-y-56:hover{--tw-translate-y:14rem}.md\\:hover\\:translate-y-60:hover{--tw-translate-y:15rem}.md\\:hover\\:translate-y-64:hover{--tw-translate-y:16rem}.md\\:hover\\:translate-y-72:hover{--tw-translate-y:18rem}.md\\:hover\\:translate-y-80:hover{--tw-translate-y:20rem}.md\\:hover\\:translate-y-96:hover{--tw-translate-y:24rem}.md\\:hover\\:translate-y-px:hover{--tw-translate-y:1px}.md\\:hover\\:translate-y-0\\.5:hover{--tw-translate-y:0.125rem}.md\\:hover\\:translate-y-1\\.5:hover{--tw-translate-y:0.375rem}.md\\:hover\\:translate-y-2\\.5:hover{--tw-translate-y:0.625rem}.md\\:hover\\:translate-y-3\\.5:hover{--tw-translate-y:0.875rem}.md\\:hover\\:-translate-y-0:hover{--tw-translate-y:0px}.md\\:hover\\:-translate-y-1:hover{--tw-translate-y:-0.25rem}.md\\:hover\\:-translate-y-2:hover{--tw-translate-y:-0.5rem}.md\\:hover\\:-translate-y-3:hover{--tw-translate-y:-0.75rem}.md\\:hover\\:-translate-y-4:hover{--tw-translate-y:-1rem}.md\\:hover\\:-translate-y-5:hover{--tw-translate-y:-1.25rem}.md\\:hover\\:-translate-y-6:hover{--tw-translate-y:-1.5rem}.md\\:hover\\:-translate-y-7:hover{--tw-translate-y:-1.75rem}.md\\:hover\\:-translate-y-8:hover{--tw-translate-y:-2rem}.md\\:hover\\:-translate-y-9:hover{--tw-translate-y:-2.25rem}.md\\:hover\\:-translate-y-10:hover{--tw-translate-y:-2.5rem}.md\\:hover\\:-translate-y-11:hover{--tw-translate-y:-2.75rem}.md\\:hover\\:-translate-y-12:hover{--tw-translate-y:-3rem}.md\\:hover\\:-translate-y-14:hover{--tw-translate-y:-3.5rem}.md\\:hover\\:-translate-y-16:hover{--tw-translate-y:-4rem}.md\\:hover\\:-translate-y-20:hover{--tw-translate-y:-5rem}.md\\:hover\\:-translate-y-24:hover{--tw-translate-y:-6rem}.md\\:hover\\:-translate-y-28:hover{--tw-translate-y:-7rem}.md\\:hover\\:-translate-y-32:hover{--tw-translate-y:-8rem}.md\\:hover\\:-translate-y-36:hover{--tw-translate-y:-9rem}.md\\:hover\\:-translate-y-40:hover{--tw-translate-y:-10rem}.md\\:hover\\:-translate-y-44:hover{--tw-translate-y:-11rem}.md\\:hover\\:-translate-y-48:hover{--tw-translate-y:-12rem}.md\\:hover\\:-translate-y-52:hover{--tw-translate-y:-13rem}.md\\:hover\\:-translate-y-56:hover{--tw-translate-y:-14rem}.md\\:hover\\:-translate-y-60:hover{--tw-translate-y:-15rem}.md\\:hover\\:-translate-y-64:hover{--tw-translate-y:-16rem}.md\\:hover\\:-translate-y-72:hover{--tw-translate-y:-18rem}.md\\:hover\\:-translate-y-80:hover{--tw-translate-y:-20rem}.md\\:hover\\:-translate-y-96:hover{--tw-translate-y:-24rem}.md\\:hover\\:-translate-y-px:hover{--tw-translate-y:-1px}.md\\:hover\\:-translate-y-0\\.5:hover{--tw-translate-y:-0.125rem}.md\\:hover\\:-translate-y-1\\.5:hover{--tw-translate-y:-0.375rem}.md\\:hover\\:-translate-y-2\\.5:hover{--tw-translate-y:-0.625rem}.md\\:hover\\:-translate-y-3\\.5:hover{--tw-translate-y:-0.875rem}.md\\:hover\\:translate-y-1\\/2:hover{--tw-translate-y:50%}.md\\:hover\\:translate-y-1\\/3:hover{--tw-translate-y:33.333333%}.md\\:hover\\:translate-y-2\\/3:hover{--tw-translate-y:66.666667%}.md\\:hover\\:translate-y-1\\/4:hover{--tw-translate-y:25%}.md\\:hover\\:translate-y-2\\/4:hover{--tw-translate-y:50%}.md\\:hover\\:translate-y-3\\/4:hover{--tw-translate-y:75%}.md\\:hover\\:translate-y-full:hover{--tw-translate-y:100%}.md\\:hover\\:-translate-y-1\\/2:hover{--tw-translate-y:-50%}.md\\:hover\\:-translate-y-1\\/3:hover{--tw-translate-y:-33.333333%}.md\\:hover\\:-translate-y-2\\/3:hover{--tw-translate-y:-66.666667%}.md\\:hover\\:-translate-y-1\\/4:hover{--tw-translate-y:-25%}.md\\:hover\\:-translate-y-2\\/4:hover{--tw-translate-y:-50%}.md\\:hover\\:-translate-y-3\\/4:hover{--tw-translate-y:-75%}.md\\:hover\\:-translate-y-full:hover{--tw-translate-y:-100%}.md\\:focus\\:translate-x-0:focus{--tw-translate-x:0px}.md\\:focus\\:translate-x-1:focus{--tw-translate-x:0.25rem}.md\\:focus\\:translate-x-2:focus{--tw-translate-x:0.5rem}.md\\:focus\\:translate-x-3:focus{--tw-translate-x:0.75rem}.md\\:focus\\:translate-x-4:focus{--tw-translate-x:1rem}.md\\:focus\\:translate-x-5:focus{--tw-translate-x:1.25rem}.md\\:focus\\:translate-x-6:focus{--tw-translate-x:1.5rem}.md\\:focus\\:translate-x-7:focus{--tw-translate-x:1.75rem}.md\\:focus\\:translate-x-8:focus{--tw-translate-x:2rem}.md\\:focus\\:translate-x-9:focus{--tw-translate-x:2.25rem}.md\\:focus\\:translate-x-10:focus{--tw-translate-x:2.5rem}.md\\:focus\\:translate-x-11:focus{--tw-translate-x:2.75rem}.md\\:focus\\:translate-x-12:focus{--tw-translate-x:3rem}.md\\:focus\\:translate-x-14:focus{--tw-translate-x:3.5rem}.md\\:focus\\:translate-x-16:focus{--tw-translate-x:4rem}.md\\:focus\\:translate-x-20:focus{--tw-translate-x:5rem}.md\\:focus\\:translate-x-24:focus{--tw-translate-x:6rem}.md\\:focus\\:translate-x-28:focus{--tw-translate-x:7rem}.md\\:focus\\:translate-x-32:focus{--tw-translate-x:8rem}.md\\:focus\\:translate-x-36:focus{--tw-translate-x:9rem}.md\\:focus\\:translate-x-40:focus{--tw-translate-x:10rem}.md\\:focus\\:translate-x-44:focus{--tw-translate-x:11rem}.md\\:focus\\:translate-x-48:focus{--tw-translate-x:12rem}.md\\:focus\\:translate-x-52:focus{--tw-translate-x:13rem}.md\\:focus\\:translate-x-56:focus{--tw-translate-x:14rem}.md\\:focus\\:translate-x-60:focus{--tw-translate-x:15rem}.md\\:focus\\:translate-x-64:focus{--tw-translate-x:16rem}.md\\:focus\\:translate-x-72:focus{--tw-translate-x:18rem}.md\\:focus\\:translate-x-80:focus{--tw-translate-x:20rem}.md\\:focus\\:translate-x-96:focus{--tw-translate-x:24rem}.md\\:focus\\:translate-x-px:focus{--tw-translate-x:1px}.md\\:focus\\:translate-x-0\\.5:focus{--tw-translate-x:0.125rem}.md\\:focus\\:translate-x-1\\.5:focus{--tw-translate-x:0.375rem}.md\\:focus\\:translate-x-2\\.5:focus{--tw-translate-x:0.625rem}.md\\:focus\\:translate-x-3\\.5:focus{--tw-translate-x:0.875rem}.md\\:focus\\:-translate-x-0:focus{--tw-translate-x:0px}.md\\:focus\\:-translate-x-1:focus{--tw-translate-x:-0.25rem}.md\\:focus\\:-translate-x-2:focus{--tw-translate-x:-0.5rem}.md\\:focus\\:-translate-x-3:focus{--tw-translate-x:-0.75rem}.md\\:focus\\:-translate-x-4:focus{--tw-translate-x:-1rem}.md\\:focus\\:-translate-x-5:focus{--tw-translate-x:-1.25rem}.md\\:focus\\:-translate-x-6:focus{--tw-translate-x:-1.5rem}.md\\:focus\\:-translate-x-7:focus{--tw-translate-x:-1.75rem}.md\\:focus\\:-translate-x-8:focus{--tw-translate-x:-2rem}.md\\:focus\\:-translate-x-9:focus{--tw-translate-x:-2.25rem}.md\\:focus\\:-translate-x-10:focus{--tw-translate-x:-2.5rem}.md\\:focus\\:-translate-x-11:focus{--tw-translate-x:-2.75rem}.md\\:focus\\:-translate-x-12:focus{--tw-translate-x:-3rem}.md\\:focus\\:-translate-x-14:focus{--tw-translate-x:-3.5rem}.md\\:focus\\:-translate-x-16:focus{--tw-translate-x:-4rem}.md\\:focus\\:-translate-x-20:focus{--tw-translate-x:-5rem}.md\\:focus\\:-translate-x-24:focus{--tw-translate-x:-6rem}.md\\:focus\\:-translate-x-28:focus{--tw-translate-x:-7rem}.md\\:focus\\:-translate-x-32:focus{--tw-translate-x:-8rem}.md\\:focus\\:-translate-x-36:focus{--tw-translate-x:-9rem}.md\\:focus\\:-translate-x-40:focus{--tw-translate-x:-10rem}.md\\:focus\\:-translate-x-44:focus{--tw-translate-x:-11rem}.md\\:focus\\:-translate-x-48:focus{--tw-translate-x:-12rem}.md\\:focus\\:-translate-x-52:focus{--tw-translate-x:-13rem}.md\\:focus\\:-translate-x-56:focus{--tw-translate-x:-14rem}.md\\:focus\\:-translate-x-60:focus{--tw-translate-x:-15rem}.md\\:focus\\:-translate-x-64:focus{--tw-translate-x:-16rem}.md\\:focus\\:-translate-x-72:focus{--tw-translate-x:-18rem}.md\\:focus\\:-translate-x-80:focus{--tw-translate-x:-20rem}.md\\:focus\\:-translate-x-96:focus{--tw-translate-x:-24rem}.md\\:focus\\:-translate-x-px:focus{--tw-translate-x:-1px}.md\\:focus\\:-translate-x-0\\.5:focus{--tw-translate-x:-0.125rem}.md\\:focus\\:-translate-x-1\\.5:focus{--tw-translate-x:-0.375rem}.md\\:focus\\:-translate-x-2\\.5:focus{--tw-translate-x:-0.625rem}.md\\:focus\\:-translate-x-3\\.5:focus{--tw-translate-x:-0.875rem}.md\\:focus\\:translate-x-1\\/2:focus{--tw-translate-x:50%}.md\\:focus\\:translate-x-1\\/3:focus{--tw-translate-x:33.333333%}.md\\:focus\\:translate-x-2\\/3:focus{--tw-translate-x:66.666667%}.md\\:focus\\:translate-x-1\\/4:focus{--tw-translate-x:25%}.md\\:focus\\:translate-x-2\\/4:focus{--tw-translate-x:50%}.md\\:focus\\:translate-x-3\\/4:focus{--tw-translate-x:75%}.md\\:focus\\:translate-x-full:focus{--tw-translate-x:100%}.md\\:focus\\:-translate-x-1\\/2:focus{--tw-translate-x:-50%}.md\\:focus\\:-translate-x-1\\/3:focus{--tw-translate-x:-33.333333%}.md\\:focus\\:-translate-x-2\\/3:focus{--tw-translate-x:-66.666667%}.md\\:focus\\:-translate-x-1\\/4:focus{--tw-translate-x:-25%}.md\\:focus\\:-translate-x-2\\/4:focus{--tw-translate-x:-50%}.md\\:focus\\:-translate-x-3\\/4:focus{--tw-translate-x:-75%}.md\\:focus\\:-translate-x-full:focus{--tw-translate-x:-100%}.md\\:focus\\:translate-y-0:focus{--tw-translate-y:0px}.md\\:focus\\:translate-y-1:focus{--tw-translate-y:0.25rem}.md\\:focus\\:translate-y-2:focus{--tw-translate-y:0.5rem}.md\\:focus\\:translate-y-3:focus{--tw-translate-y:0.75rem}.md\\:focus\\:translate-y-4:focus{--tw-translate-y:1rem}.md\\:focus\\:translate-y-5:focus{--tw-translate-y:1.25rem}.md\\:focus\\:translate-y-6:focus{--tw-translate-y:1.5rem}.md\\:focus\\:translate-y-7:focus{--tw-translate-y:1.75rem}.md\\:focus\\:translate-y-8:focus{--tw-translate-y:2rem}.md\\:focus\\:translate-y-9:focus{--tw-translate-y:2.25rem}.md\\:focus\\:translate-y-10:focus{--tw-translate-y:2.5rem}.md\\:focus\\:translate-y-11:focus{--tw-translate-y:2.75rem}.md\\:focus\\:translate-y-12:focus{--tw-translate-y:3rem}.md\\:focus\\:translate-y-14:focus{--tw-translate-y:3.5rem}.md\\:focus\\:translate-y-16:focus{--tw-translate-y:4rem}.md\\:focus\\:translate-y-20:focus{--tw-translate-y:5rem}.md\\:focus\\:translate-y-24:focus{--tw-translate-y:6rem}.md\\:focus\\:translate-y-28:focus{--tw-translate-y:7rem}.md\\:focus\\:translate-y-32:focus{--tw-translate-y:8rem}.md\\:focus\\:translate-y-36:focus{--tw-translate-y:9rem}.md\\:focus\\:translate-y-40:focus{--tw-translate-y:10rem}.md\\:focus\\:translate-y-44:focus{--tw-translate-y:11rem}.md\\:focus\\:translate-y-48:focus{--tw-translate-y:12rem}.md\\:focus\\:translate-y-52:focus{--tw-translate-y:13rem}.md\\:focus\\:translate-y-56:focus{--tw-translate-y:14rem}.md\\:focus\\:translate-y-60:focus{--tw-translate-y:15rem}.md\\:focus\\:translate-y-64:focus{--tw-translate-y:16rem}.md\\:focus\\:translate-y-72:focus{--tw-translate-y:18rem}.md\\:focus\\:translate-y-80:focus{--tw-translate-y:20rem}.md\\:focus\\:translate-y-96:focus{--tw-translate-y:24rem}.md\\:focus\\:translate-y-px:focus{--tw-translate-y:1px}.md\\:focus\\:translate-y-0\\.5:focus{--tw-translate-y:0.125rem}.md\\:focus\\:translate-y-1\\.5:focus{--tw-translate-y:0.375rem}.md\\:focus\\:translate-y-2\\.5:focus{--tw-translate-y:0.625rem}.md\\:focus\\:translate-y-3\\.5:focus{--tw-translate-y:0.875rem}.md\\:focus\\:-translate-y-0:focus{--tw-translate-y:0px}.md\\:focus\\:-translate-y-1:focus{--tw-translate-y:-0.25rem}.md\\:focus\\:-translate-y-2:focus{--tw-translate-y:-0.5rem}.md\\:focus\\:-translate-y-3:focus{--tw-translate-y:-0.75rem}.md\\:focus\\:-translate-y-4:focus{--tw-translate-y:-1rem}.md\\:focus\\:-translate-y-5:focus{--tw-translate-y:-1.25rem}.md\\:focus\\:-translate-y-6:focus{--tw-translate-y:-1.5rem}.md\\:focus\\:-translate-y-7:focus{--tw-translate-y:-1.75rem}.md\\:focus\\:-translate-y-8:focus{--tw-translate-y:-2rem}.md\\:focus\\:-translate-y-9:focus{--tw-translate-y:-2.25rem}.md\\:focus\\:-translate-y-10:focus{--tw-translate-y:-2.5rem}.md\\:focus\\:-translate-y-11:focus{--tw-translate-y:-2.75rem}.md\\:focus\\:-translate-y-12:focus{--tw-translate-y:-3rem}.md\\:focus\\:-translate-y-14:focus{--tw-translate-y:-3.5rem}.md\\:focus\\:-translate-y-16:focus{--tw-translate-y:-4rem}.md\\:focus\\:-translate-y-20:focus{--tw-translate-y:-5rem}.md\\:focus\\:-translate-y-24:focus{--tw-translate-y:-6rem}.md\\:focus\\:-translate-y-28:focus{--tw-translate-y:-7rem}.md\\:focus\\:-translate-y-32:focus{--tw-translate-y:-8rem}.md\\:focus\\:-translate-y-36:focus{--tw-translate-y:-9rem}.md\\:focus\\:-translate-y-40:focus{--tw-translate-y:-10rem}.md\\:focus\\:-translate-y-44:focus{--tw-translate-y:-11rem}.md\\:focus\\:-translate-y-48:focus{--tw-translate-y:-12rem}.md\\:focus\\:-translate-y-52:focus{--tw-translate-y:-13rem}.md\\:focus\\:-translate-y-56:focus{--tw-translate-y:-14rem}.md\\:focus\\:-translate-y-60:focus{--tw-translate-y:-15rem}.md\\:focus\\:-translate-y-64:focus{--tw-translate-y:-16rem}.md\\:focus\\:-translate-y-72:focus{--tw-translate-y:-18rem}.md\\:focus\\:-translate-y-80:focus{--tw-translate-y:-20rem}.md\\:focus\\:-translate-y-96:focus{--tw-translate-y:-24rem}.md\\:focus\\:-translate-y-px:focus{--tw-translate-y:-1px}.md\\:focus\\:-translate-y-0\\.5:focus{--tw-translate-y:-0.125rem}.md\\:focus\\:-translate-y-1\\.5:focus{--tw-translate-y:-0.375rem}.md\\:focus\\:-translate-y-2\\.5:focus{--tw-translate-y:-0.625rem}.md\\:focus\\:-translate-y-3\\.5:focus{--tw-translate-y:-0.875rem}.md\\:focus\\:translate-y-1\\/2:focus{--tw-translate-y:50%}.md\\:focus\\:translate-y-1\\/3:focus{--tw-translate-y:33.333333%}.md\\:focus\\:translate-y-2\\/3:focus{--tw-translate-y:66.666667%}.md\\:focus\\:translate-y-1\\/4:focus{--tw-translate-y:25%}.md\\:focus\\:translate-y-2\\/4:focus{--tw-translate-y:50%}.md\\:focus\\:translate-y-3\\/4:focus{--tw-translate-y:75%}.md\\:focus\\:translate-y-full:focus{--tw-translate-y:100%}.md\\:focus\\:-translate-y-1\\/2:focus{--tw-translate-y:-50%}.md\\:focus\\:-translate-y-1\\/3:focus{--tw-translate-y:-33.333333%}.md\\:focus\\:-translate-y-2\\/3:focus{--tw-translate-y:-66.666667%}.md\\:focus\\:-translate-y-1\\/4:focus{--tw-translate-y:-25%}.md\\:focus\\:-translate-y-2\\/4:focus{--tw-translate-y:-50%}.md\\:focus\\:-translate-y-3\\/4:focus{--tw-translate-y:-75%}.md\\:focus\\:-translate-y-full:focus{--tw-translate-y:-100%}.md\\:rotate-0{--tw-rotate:0deg}.md\\:rotate-1{--tw-rotate:1deg}.md\\:rotate-2{--tw-rotate:2deg}.md\\:rotate-3{--tw-rotate:3deg}.md\\:rotate-6{--tw-rotate:6deg}.md\\:rotate-12{--tw-rotate:12deg}.md\\:rotate-45{--tw-rotate:45deg}.md\\:rotate-90{--tw-rotate:90deg}.md\\:rotate-180{--tw-rotate:180deg}.md\\:-rotate-180{--tw-rotate:-180deg}.md\\:-rotate-90{--tw-rotate:-90deg}.md\\:-rotate-45{--tw-rotate:-45deg}.md\\:-rotate-12{--tw-rotate:-12deg}.md\\:-rotate-6{--tw-rotate:-6deg}.md\\:-rotate-3{--tw-rotate:-3deg}.md\\:-rotate-2{--tw-rotate:-2deg}.md\\:-rotate-1{--tw-rotate:-1deg}.md\\:hover\\:rotate-0:hover{--tw-rotate:0deg}.md\\:hover\\:rotate-1:hover{--tw-rotate:1deg}.md\\:hover\\:rotate-2:hover{--tw-rotate:2deg}.md\\:hover\\:rotate-3:hover{--tw-rotate:3deg}.md\\:hover\\:rotate-6:hover{--tw-rotate:6deg}.md\\:hover\\:rotate-12:hover{--tw-rotate:12deg}.md\\:hover\\:rotate-45:hover{--tw-rotate:45deg}.md\\:hover\\:rotate-90:hover{--tw-rotate:90deg}.md\\:hover\\:rotate-180:hover{--tw-rotate:180deg}.md\\:hover\\:-rotate-180:hover{--tw-rotate:-180deg}.md\\:hover\\:-rotate-90:hover{--tw-rotate:-90deg}.md\\:hover\\:-rotate-45:hover{--tw-rotate:-45deg}.md\\:hover\\:-rotate-12:hover{--tw-rotate:-12deg}.md\\:hover\\:-rotate-6:hover{--tw-rotate:-6deg}.md\\:hover\\:-rotate-3:hover{--tw-rotate:-3deg}.md\\:hover\\:-rotate-2:hover{--tw-rotate:-2deg}.md\\:hover\\:-rotate-1:hover{--tw-rotate:-1deg}.md\\:focus\\:rotate-0:focus{--tw-rotate:0deg}.md\\:focus\\:rotate-1:focus{--tw-rotate:1deg}.md\\:focus\\:rotate-2:focus{--tw-rotate:2deg}.md\\:focus\\:rotate-3:focus{--tw-rotate:3deg}.md\\:focus\\:rotate-6:focus{--tw-rotate:6deg}.md\\:focus\\:rotate-12:focus{--tw-rotate:12deg}.md\\:focus\\:rotate-45:focus{--tw-rotate:45deg}.md\\:focus\\:rotate-90:focus{--tw-rotate:90deg}.md\\:focus\\:rotate-180:focus{--tw-rotate:180deg}.md\\:focus\\:-rotate-180:focus{--tw-rotate:-180deg}.md\\:focus\\:-rotate-90:focus{--tw-rotate:-90deg}.md\\:focus\\:-rotate-45:focus{--tw-rotate:-45deg}.md\\:focus\\:-rotate-12:focus{--tw-rotate:-12deg}.md\\:focus\\:-rotate-6:focus{--tw-rotate:-6deg}.md\\:focus\\:-rotate-3:focus{--tw-rotate:-3deg}.md\\:focus\\:-rotate-2:focus{--tw-rotate:-2deg}.md\\:focus\\:-rotate-1:focus{--tw-rotate:-1deg}.md\\:skew-x-0{--tw-skew-x:0deg}.md\\:skew-x-1{--tw-skew-x:1deg}.md\\:skew-x-2{--tw-skew-x:2deg}.md\\:skew-x-3{--tw-skew-x:3deg}.md\\:skew-x-6{--tw-skew-x:6deg}.md\\:skew-x-12{--tw-skew-x:12deg}.md\\:-skew-x-12{--tw-skew-x:-12deg}.md\\:-skew-x-6{--tw-skew-x:-6deg}.md\\:-skew-x-3{--tw-skew-x:-3deg}.md\\:-skew-x-2{--tw-skew-x:-2deg}.md\\:-skew-x-1{--tw-skew-x:-1deg}.md\\:skew-y-0{--tw-skew-y:0deg}.md\\:skew-y-1{--tw-skew-y:1deg}.md\\:skew-y-2{--tw-skew-y:2deg}.md\\:skew-y-3{--tw-skew-y:3deg}.md\\:skew-y-6{--tw-skew-y:6deg}.md\\:skew-y-12{--tw-skew-y:12deg}.md\\:-skew-y-12{--tw-skew-y:-12deg}.md\\:-skew-y-6{--tw-skew-y:-6deg}.md\\:-skew-y-3{--tw-skew-y:-3deg}.md\\:-skew-y-2{--tw-skew-y:-2deg}.md\\:-skew-y-1{--tw-skew-y:-1deg}.md\\:hover\\:skew-x-0:hover{--tw-skew-x:0deg}.md\\:hover\\:skew-x-1:hover{--tw-skew-x:1deg}.md\\:hover\\:skew-x-2:hover{--tw-skew-x:2deg}.md\\:hover\\:skew-x-3:hover{--tw-skew-x:3deg}.md\\:hover\\:skew-x-6:hover{--tw-skew-x:6deg}.md\\:hover\\:skew-x-12:hover{--tw-skew-x:12deg}.md\\:hover\\:-skew-x-12:hover{--tw-skew-x:-12deg}.md\\:hover\\:-skew-x-6:hover{--tw-skew-x:-6deg}.md\\:hover\\:-skew-x-3:hover{--tw-skew-x:-3deg}.md\\:hover\\:-skew-x-2:hover{--tw-skew-x:-2deg}.md\\:hover\\:-skew-x-1:hover{--tw-skew-x:-1deg}.md\\:hover\\:skew-y-0:hover{--tw-skew-y:0deg}.md\\:hover\\:skew-y-1:hover{--tw-skew-y:1deg}.md\\:hover\\:skew-y-2:hover{--tw-skew-y:2deg}.md\\:hover\\:skew-y-3:hover{--tw-skew-y:3deg}.md\\:hover\\:skew-y-6:hover{--tw-skew-y:6deg}.md\\:hover\\:skew-y-12:hover{--tw-skew-y:12deg}.md\\:hover\\:-skew-y-12:hover{--tw-skew-y:-12deg}.md\\:hover\\:-skew-y-6:hover{--tw-skew-y:-6deg}.md\\:hover\\:-skew-y-3:hover{--tw-skew-y:-3deg}.md\\:hover\\:-skew-y-2:hover{--tw-skew-y:-2deg}.md\\:hover\\:-skew-y-1:hover{--tw-skew-y:-1deg}.md\\:focus\\:skew-x-0:focus{--tw-skew-x:0deg}.md\\:focus\\:skew-x-1:focus{--tw-skew-x:1deg}.md\\:focus\\:skew-x-2:focus{--tw-skew-x:2deg}.md\\:focus\\:skew-x-3:focus{--tw-skew-x:3deg}.md\\:focus\\:skew-x-6:focus{--tw-skew-x:6deg}.md\\:focus\\:skew-x-12:focus{--tw-skew-x:12deg}.md\\:focus\\:-skew-x-12:focus{--tw-skew-x:-12deg}.md\\:focus\\:-skew-x-6:focus{--tw-skew-x:-6deg}.md\\:focus\\:-skew-x-3:focus{--tw-skew-x:-3deg}.md\\:focus\\:-skew-x-2:focus{--tw-skew-x:-2deg}.md\\:focus\\:-skew-x-1:focus{--tw-skew-x:-1deg}.md\\:focus\\:skew-y-0:focus{--tw-skew-y:0deg}.md\\:focus\\:skew-y-1:focus{--tw-skew-y:1deg}.md\\:focus\\:skew-y-2:focus{--tw-skew-y:2deg}.md\\:focus\\:skew-y-3:focus{--tw-skew-y:3deg}.md\\:focus\\:skew-y-6:focus{--tw-skew-y:6deg}.md\\:focus\\:skew-y-12:focus{--tw-skew-y:12deg}.md\\:focus\\:-skew-y-12:focus{--tw-skew-y:-12deg}.md\\:focus\\:-skew-y-6:focus{--tw-skew-y:-6deg}.md\\:focus\\:-skew-y-3:focus{--tw-skew-y:-3deg}.md\\:focus\\:-skew-y-2:focus{--tw-skew-y:-2deg}.md\\:focus\\:-skew-y-1:focus{--tw-skew-y:-1deg}.md\\:scale-0{--tw-scale-x:0;--tw-scale-y:0}.md\\:scale-50{--tw-scale-x:.5;--tw-scale-y:.5}.md\\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75}.md\\:scale-90{--tw-scale-x:.9;--tw-scale-y:.9}.md\\:scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.md\\:scale-100{--tw-scale-x:1;--tw-scale-y:1}.md\\:scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05}.md\\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1}.md\\:scale-125{--tw-scale-x:1.25;--tw-scale-y:1.25}.md\\:scale-150{--tw-scale-x:1.5;--tw-scale-y:1.5}.md\\:hover\\:scale-0:hover{--tw-scale-x:0;--tw-scale-y:0}.md\\:hover\\:scale-50:hover{--tw-scale-x:.5;--tw-scale-y:.5}.md\\:hover\\:scale-75:hover{--tw-scale-x:.75;--tw-scale-y:.75}.md\\:hover\\:scale-90:hover{--tw-scale-x:.9;--tw-scale-y:.9}.md\\:hover\\:scale-95:hover{--tw-scale-x:.95;--tw-scale-y:.95}.md\\:hover\\:scale-100:hover{--tw-scale-x:1;--tw-scale-y:1}.md\\:hover\\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.md\\:hover\\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.md\\:hover\\:scale-125:hover{--tw-scale-x:1.25;--tw-scale-y:1.25}.md\\:hover\\:scale-150:hover{--tw-scale-x:1.5;--tw-scale-y:1.5}.md\\:focus\\:scale-0:focus{--tw-scale-x:0;--tw-scale-y:0}.md\\:focus\\:scale-50:focus{--tw-scale-x:.5;--tw-scale-y:.5}.md\\:focus\\:scale-75:focus{--tw-scale-x:.75;--tw-scale-y:.75}.md\\:focus\\:scale-90:focus{--tw-scale-x:.9;--tw-scale-y:.9}.md\\:focus\\:scale-95:focus{--tw-scale-x:.95;--tw-scale-y:.95}.md\\:focus\\:scale-100:focus{--tw-scale-x:1;--tw-scale-y:1}.md\\:focus\\:scale-105:focus{--tw-scale-x:1.05;--tw-scale-y:1.05}.md\\:focus\\:scale-110:focus{--tw-scale-x:1.1;--tw-scale-y:1.1}.md\\:focus\\:scale-125:focus{--tw-scale-x:1.25;--tw-scale-y:1.25}.md\\:focus\\:scale-150:focus{--tw-scale-x:1.5;--tw-scale-y:1.5}.md\\:scale-x-0{--tw-scale-x:0}.md\\:scale-x-50{--tw-scale-x:.5}.md\\:scale-x-75{--tw-scale-x:.75}.md\\:scale-x-90{--tw-scale-x:.9}.md\\:scale-x-95{--tw-scale-x:.95}.md\\:scale-x-100{--tw-scale-x:1}.md\\:scale-x-105{--tw-scale-x:1.05}.md\\:scale-x-110{--tw-scale-x:1.1}.md\\:scale-x-125{--tw-scale-x:1.25}.md\\:scale-x-150{--tw-scale-x:1.5}.md\\:scale-y-0{--tw-scale-y:0}.md\\:scale-y-50{--tw-scale-y:.5}.md\\:scale-y-75{--tw-scale-y:.75}.md\\:scale-y-90{--tw-scale-y:.9}.md\\:scale-y-95{--tw-scale-y:.95}.md\\:scale-y-100{--tw-scale-y:1}.md\\:scale-y-105{--tw-scale-y:1.05}.md\\:scale-y-110{--tw-scale-y:1.1}.md\\:scale-y-125{--tw-scale-y:1.25}.md\\:scale-y-150{--tw-scale-y:1.5}.md\\:hover\\:scale-x-0:hover{--tw-scale-x:0}.md\\:hover\\:scale-x-50:hover{--tw-scale-x:.5}.md\\:hover\\:scale-x-75:hover{--tw-scale-x:.75}.md\\:hover\\:scale-x-90:hover{--tw-scale-x:.9}.md\\:hover\\:scale-x-95:hover{--tw-scale-x:.95}.md\\:hover\\:scale-x-100:hover{--tw-scale-x:1}.md\\:hover\\:scale-x-105:hover{--tw-scale-x:1.05}.md\\:hover\\:scale-x-110:hover{--tw-scale-x:1.1}.md\\:hover\\:scale-x-125:hover{--tw-scale-x:1.25}.md\\:hover\\:scale-x-150:hover{--tw-scale-x:1.5}.md\\:hover\\:scale-y-0:hover{--tw-scale-y:0}.md\\:hover\\:scale-y-50:hover{--tw-scale-y:.5}.md\\:hover\\:scale-y-75:hover{--tw-scale-y:.75}.md\\:hover\\:scale-y-90:hover{--tw-scale-y:.9}.md\\:hover\\:scale-y-95:hover{--tw-scale-y:.95}.md\\:hover\\:scale-y-100:hover{--tw-scale-y:1}.md\\:hover\\:scale-y-105:hover{--tw-scale-y:1.05}.md\\:hover\\:scale-y-110:hover{--tw-scale-y:1.1}.md\\:hover\\:scale-y-125:hover{--tw-scale-y:1.25}.md\\:hover\\:scale-y-150:hover{--tw-scale-y:1.5}.md\\:focus\\:scale-x-0:focus{--tw-scale-x:0}.md\\:focus\\:scale-x-50:focus{--tw-scale-x:.5}.md\\:focus\\:scale-x-75:focus{--tw-scale-x:.75}.md\\:focus\\:scale-x-90:focus{--tw-scale-x:.9}.md\\:focus\\:scale-x-95:focus{--tw-scale-x:.95}.md\\:focus\\:scale-x-100:focus{--tw-scale-x:1}.md\\:focus\\:scale-x-105:focus{--tw-scale-x:1.05}.md\\:focus\\:scale-x-110:focus{--tw-scale-x:1.1}.md\\:focus\\:scale-x-125:focus{--tw-scale-x:1.25}.md\\:focus\\:scale-x-150:focus{--tw-scale-x:1.5}.md\\:focus\\:scale-y-0:focus{--tw-scale-y:0}.md\\:focus\\:scale-y-50:focus{--tw-scale-y:.5}.md\\:focus\\:scale-y-75:focus{--tw-scale-y:.75}.md\\:focus\\:scale-y-90:focus{--tw-scale-y:.9}.md\\:focus\\:scale-y-95:focus{--tw-scale-y:.95}.md\\:focus\\:scale-y-100:focus{--tw-scale-y:1}.md\\:focus\\:scale-y-105:focus{--tw-scale-y:1.05}.md\\:focus\\:scale-y-110:focus{--tw-scale-y:1.1}.md\\:focus\\:scale-y-125:focus{--tw-scale-y:1.25}.md\\:focus\\:scale-y-150:focus{--tw-scale-y:1.5}.md\\:animate-none{animation:none}.md\\:animate-spin{animation:spin 1s linear infinite}.md\\:animate-ping{animation:ping 1s cubic-bezier(0, 0, 0.2, 1) infinite}.md\\:animate-pulse{animation:pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite}.md\\:animate-bounce{animation:bounce 1s infinite}.md\\:cursor-auto{cursor:auto}.md\\:cursor-default{cursor:default}.md\\:cursor-pointer{cursor:pointer}.md\\:cursor-wait{cursor:wait}.md\\:cursor-text{cursor:text}.md\\:cursor-move{cursor:move}.md\\:cursor-help{cursor:help}.md\\:cursor-not-allowed{cursor:not-allowed}.md\\:select-none{-webkit-user-select:none;user-select:none}.md\\:select-text{-webkit-user-select:text;user-select:text}.md\\:select-all{-webkit-user-select:all;user-select:all}.md\\:select-auto{-webkit-user-select:auto;user-select:auto}.md\\:resize-none{resize:none}.md\\:resize-y{resize:vertical}.md\\:resize-x{resize:horizontal}.md\\:resize{resize:both}.md\\:list-inside{list-style-position:inside}.md\\:list-outside{list-style-position:outside}.md\\:list-none{list-style-type:none}.md\\:list-disc{list-style-type:disc}.md\\:list-decimal{list-style-type:decimal}.md\\:appearance-none{appearance:none}.md\\:auto-cols-auto{grid-auto-columns:auto}.md\\:auto-cols-min{grid-auto-columns:min-content}.md\\:auto-cols-max{grid-auto-columns:max-content}.md\\:auto-cols-fr{grid-auto-columns:minmax(0, 1fr)}.md\\:grid-flow-row{grid-auto-flow:row}.md\\:grid-flow-col{grid-auto-flow:column}.md\\:grid-flow-row-dense{grid-auto-flow:row dense}.md\\:grid-flow-col-dense{grid-auto-flow:column dense}.md\\:auto-rows-auto{grid-auto-rows:auto}.md\\:auto-rows-min{grid-auto-rows:min-content}.md\\:auto-rows-max{grid-auto-rows:max-content}.md\\:auto-rows-fr{grid-auto-rows:minmax(0, 1fr)}.md\\:grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}.md\\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.md\\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.md\\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}.md\\:grid-cols-5{grid-template-columns:repeat(5, minmax(0, 1fr))}.md\\:grid-cols-6{grid-template-columns:repeat(6, minmax(0, 1fr))}.md\\:grid-cols-7{grid-template-columns:repeat(7, minmax(0, 1fr))}.md\\:grid-cols-8{grid-template-columns:repeat(8, minmax(0, 1fr))}.md\\:grid-cols-9{grid-template-columns:repeat(9, minmax(0, 1fr))}.md\\:grid-cols-10{grid-template-columns:repeat(10, minmax(0, 1fr))}.md\\:grid-cols-11{grid-template-columns:repeat(11, minmax(0, 1fr))}.md\\:grid-cols-12{grid-template-columns:repeat(12, minmax(0, 1fr))}.md\\:grid-cols-none{grid-template-columns:none}.md\\:grid-rows-1{grid-template-rows:repeat(1, minmax(0, 1fr))}.md\\:grid-rows-2{grid-template-rows:repeat(2, minmax(0, 1fr))}.md\\:grid-rows-3{grid-template-rows:repeat(3, minmax(0, 1fr))}.md\\:grid-rows-4{grid-template-rows:repeat(4, minmax(0, 1fr))}.md\\:grid-rows-5{grid-template-rows:repeat(5, minmax(0, 1fr))}.md\\:grid-rows-6{grid-template-rows:repeat(6, minmax(0, 1fr))}.md\\:grid-rows-none{grid-template-rows:none}.md\\:flex-row{flex-direction:row}.md\\:flex-row-reverse{flex-direction:row-reverse}.md\\:flex-col{flex-direction:column}.md\\:flex-col-reverse{flex-direction:column-reverse}.md\\:flex-wrap{flex-wrap:wrap}.md\\:flex-wrap-reverse{flex-wrap:wrap-reverse}.md\\:flex-nowrap{flex-wrap:nowrap}.md\\:place-content-center{place-content:center}.md\\:place-content-start{place-content:start}.md\\:place-content-end{place-content:end}.md\\:place-content-between{place-content:space-between}.md\\:place-content-around{place-content:space-around}.md\\:place-content-evenly{place-content:space-evenly}.md\\:place-content-stretch{place-content:stretch}.md\\:place-items-start{place-items:start}.md\\:place-items-end{place-items:end}.md\\:place-items-center{place-items:center}.md\\:place-items-stretch{place-items:stretch}.md\\:content-center{align-content:center}.md\\:content-start{align-content:flex-start}.md\\:content-end{align-content:flex-end}.md\\:content-between{align-content:space-between}.md\\:content-around{align-content:space-around}.md\\:content-evenly{align-content:space-evenly}.md\\:items-start{align-items:flex-start}.md\\:items-end{align-items:flex-end}.md\\:items-center{align-items:center}.md\\:items-baseline{align-items:baseline}.md\\:items-stretch{align-items:stretch}.md\\:justify-start{justify-content:flex-start}.md\\:justify-end{justify-content:flex-end}.md\\:justify-center{justify-content:center}.md\\:justify-between{justify-content:space-between}.md\\:justify-around{justify-content:space-around}.md\\:justify-evenly{justify-content:space-evenly}.md\\:justify-items-start{justify-items:start}.md\\:justify-items-end{justify-items:end}.md\\:justify-items-center{justify-items:center}.md\\:justify-items-stretch{justify-items:stretch}.md\\:gap-0{gap:0px}.md\\:gap-1{gap:0.25rem}.md\\:gap-2{gap:0.5rem}.md\\:gap-3{gap:0.75rem}.md\\:gap-4{gap:1rem}.md\\:gap-5{gap:1.25rem}.md\\:gap-6{gap:1.5rem}.md\\:gap-7{gap:1.75rem}.md\\:gap-8{gap:2rem}.md\\:gap-9{gap:2.25rem}.md\\:gap-10{gap:2.5rem}.md\\:gap-11{gap:2.75rem}.md\\:gap-12{gap:3rem}.md\\:gap-14{gap:3.5rem}.md\\:gap-16{gap:4rem}.md\\:gap-20{gap:5rem}.md\\:gap-24{gap:6rem}.md\\:gap-28{gap:7rem}.md\\:gap-32{gap:8rem}.md\\:gap-36{gap:9rem}.md\\:gap-40{gap:10rem}.md\\:gap-44{gap:11rem}.md\\:gap-48{gap:12rem}.md\\:gap-52{gap:13rem}.md\\:gap-56{gap:14rem}.md\\:gap-60{gap:15rem}.md\\:gap-64{gap:16rem}.md\\:gap-72{gap:18rem}.md\\:gap-80{gap:20rem}.md\\:gap-96{gap:24rem}.md\\:gap-px{gap:1px}.md\\:gap-0\\.5{gap:0.125rem}.md\\:gap-1\\.5{gap:0.375rem}.md\\:gap-2\\.5{gap:0.625rem}.md\\:gap-3\\.5{gap:0.875rem}.md\\:gap-x-0{column-gap:0px}.md\\:gap-x-1{column-gap:0.25rem}.md\\:gap-x-2{column-gap:0.5rem}.md\\:gap-x-3{column-gap:0.75rem}.md\\:gap-x-4{column-gap:1rem}.md\\:gap-x-5{column-gap:1.25rem}.md\\:gap-x-6{column-gap:1.5rem}.md\\:gap-x-7{column-gap:1.75rem}.md\\:gap-x-8{column-gap:2rem}.md\\:gap-x-9{column-gap:2.25rem}.md\\:gap-x-10{column-gap:2.5rem}.md\\:gap-x-11{column-gap:2.75rem}.md\\:gap-x-12{column-gap:3rem}.md\\:gap-x-14{column-gap:3.5rem}.md\\:gap-x-16{column-gap:4rem}.md\\:gap-x-20{column-gap:5rem}.md\\:gap-x-24{column-gap:6rem}.md\\:gap-x-28{column-gap:7rem}.md\\:gap-x-32{column-gap:8rem}.md\\:gap-x-36{column-gap:9rem}.md\\:gap-x-40{column-gap:10rem}.md\\:gap-x-44{column-gap:11rem}.md\\:gap-x-48{column-gap:12rem}.md\\:gap-x-52{column-gap:13rem}.md\\:gap-x-56{column-gap:14rem}.md\\:gap-x-60{column-gap:15rem}.md\\:gap-x-64{column-gap:16rem}.md\\:gap-x-72{column-gap:18rem}.md\\:gap-x-80{column-gap:20rem}.md\\:gap-x-96{column-gap:24rem}.md\\:gap-x-px{column-gap:1px}.md\\:gap-x-0\\.5{column-gap:0.125rem}.md\\:gap-x-1\\.5{column-gap:0.375rem}.md\\:gap-x-2\\.5{column-gap:0.625rem}.md\\:gap-x-3\\.5{column-gap:0.875rem}.md\\:gap-y-0{row-gap:0px}.md\\:gap-y-1{row-gap:0.25rem}.md\\:gap-y-2{row-gap:0.5rem}.md\\:gap-y-3{row-gap:0.75rem}.md\\:gap-y-4{row-gap:1rem}.md\\:gap-y-5{row-gap:1.25rem}.md\\:gap-y-6{row-gap:1.5rem}.md\\:gap-y-7{row-gap:1.75rem}.md\\:gap-y-8{row-gap:2rem}.md\\:gap-y-9{row-gap:2.25rem}.md\\:gap-y-10{row-gap:2.5rem}.md\\:gap-y-11{row-gap:2.75rem}.md\\:gap-y-12{row-gap:3rem}.md\\:gap-y-14{row-gap:3.5rem}.md\\:gap-y-16{row-gap:4rem}.md\\:gap-y-20{row-gap:5rem}.md\\:gap-y-24{row-gap:6rem}.md\\:gap-y-28{row-gap:7rem}.md\\:gap-y-32{row-gap:8rem}.md\\:gap-y-36{row-gap:9rem}.md\\:gap-y-40{row-gap:10rem}.md\\:gap-y-44{row-gap:11rem}.md\\:gap-y-48{row-gap:12rem}.md\\:gap-y-52{row-gap:13rem}.md\\:gap-y-56{row-gap:14rem}.md\\:gap-y-60{row-gap:15rem}.md\\:gap-y-64{row-gap:16rem}.md\\:gap-y-72{row-gap:18rem}.md\\:gap-y-80{row-gap:20rem}.md\\:gap-y-96{row-gap:24rem}.md\\:gap-y-px{row-gap:1px}.md\\:gap-y-0\\.5{row-gap:0.125rem}.md\\:gap-y-1\\.5{row-gap:0.375rem}.md\\:gap-y-2\\.5{row-gap:0.625rem}.md\\:gap-y-3\\.5{row-gap:0.875rem}.md\\:space-x-0>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0px * var(--tw-space-x-reverse));margin-left:calc(0px * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.25rem * var(--tw-space-x-reverse));margin-left:calc(0.25rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.5rem * var(--tw-space-x-reverse));margin-left:calc(0.5rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.75rem * var(--tw-space-x-reverse));margin-left:calc(0.75rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.25rem * var(--tw-space-x-reverse));margin-left:calc(1.25rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.5rem * var(--tw-space-x-reverse));margin-left:calc(1.5rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-7>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.75rem * var(--tw-space-x-reverse));margin-left:calc(1.75rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2rem * var(--tw-space-x-reverse));margin-left:calc(2rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-9>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2.25rem * var(--tw-space-x-reverse));margin-left:calc(2.25rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-10>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2.5rem * var(--tw-space-x-reverse));margin-left:calc(2.5rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-11>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2.75rem * var(--tw-space-x-reverse));margin-left:calc(2.75rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-12>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(3rem * var(--tw-space-x-reverse));margin-left:calc(3rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-14>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(3.5rem * var(--tw-space-x-reverse));margin-left:calc(3.5rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-16>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(4rem * var(--tw-space-x-reverse));margin-left:calc(4rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-20>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(5rem * var(--tw-space-x-reverse));margin-left:calc(5rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-24>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(6rem * var(--tw-space-x-reverse));margin-left:calc(6rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-28>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(7rem * var(--tw-space-x-reverse));margin-left:calc(7rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-32>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(8rem * var(--tw-space-x-reverse));margin-left:calc(8rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-36>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(9rem * var(--tw-space-x-reverse));margin-left:calc(9rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-40>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(10rem * var(--tw-space-x-reverse));margin-left:calc(10rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-44>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(11rem * var(--tw-space-x-reverse));margin-left:calc(11rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-48>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(12rem * var(--tw-space-x-reverse));margin-left:calc(12rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-52>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(13rem * var(--tw-space-x-reverse));margin-left:calc(13rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-56>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(14rem * var(--tw-space-x-reverse));margin-left:calc(14rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-60>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(15rem * var(--tw-space-x-reverse));margin-left:calc(15rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-64>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(16rem * var(--tw-space-x-reverse));margin-left:calc(16rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-72>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(18rem * var(--tw-space-x-reverse));margin-left:calc(18rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-80>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(20rem * var(--tw-space-x-reverse));margin-left:calc(20rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-96>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(24rem * var(--tw-space-x-reverse));margin-left:calc(24rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1px * var(--tw-space-x-reverse));margin-left:calc(1px * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-0\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.125rem * var(--tw-space-x-reverse));margin-left:calc(0.125rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-1\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.375rem * var(--tw-space-x-reverse));margin-left:calc(0.375rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-2\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.625rem * var(--tw-space-x-reverse));margin-left:calc(0.625rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-3\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.875rem * var(--tw-space-x-reverse));margin-left:calc(0.875rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-0>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0px * var(--tw-space-x-reverse));margin-left:calc(0px * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.25rem * var(--tw-space-x-reverse));margin-left:calc(-0.25rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.5rem * var(--tw-space-x-reverse));margin-left:calc(-0.5rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.75rem * var(--tw-space-x-reverse));margin-left:calc(-0.75rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1rem * var(--tw-space-x-reverse));margin-left:calc(-1rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1.25rem * var(--tw-space-x-reverse));margin-left:calc(-1.25rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1.5rem * var(--tw-space-x-reverse));margin-left:calc(-1.5rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-7>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1.75rem * var(--tw-space-x-reverse));margin-left:calc(-1.75rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2rem * var(--tw-space-x-reverse));margin-left:calc(-2rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-9>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2.25rem * var(--tw-space-x-reverse));margin-left:calc(-2.25rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-10>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2.5rem * var(--tw-space-x-reverse));margin-left:calc(-2.5rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-11>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2.75rem * var(--tw-space-x-reverse));margin-left:calc(-2.75rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-12>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-3rem * var(--tw-space-x-reverse));margin-left:calc(-3rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-14>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-3.5rem * var(--tw-space-x-reverse));margin-left:calc(-3.5rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-16>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-4rem * var(--tw-space-x-reverse));margin-left:calc(-4rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-20>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-5rem * var(--tw-space-x-reverse));margin-left:calc(-5rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-24>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-6rem * var(--tw-space-x-reverse));margin-left:calc(-6rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-28>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-7rem * var(--tw-space-x-reverse));margin-left:calc(-7rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-32>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-8rem * var(--tw-space-x-reverse));margin-left:calc(-8rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-36>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-9rem * var(--tw-space-x-reverse));margin-left:calc(-9rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-40>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-10rem * var(--tw-space-x-reverse));margin-left:calc(-10rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-44>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-11rem * var(--tw-space-x-reverse));margin-left:calc(-11rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-48>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-12rem * var(--tw-space-x-reverse));margin-left:calc(-12rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-52>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-13rem * var(--tw-space-x-reverse));margin-left:calc(-13rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-56>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-14rem * var(--tw-space-x-reverse));margin-left:calc(-14rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-60>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-15rem * var(--tw-space-x-reverse));margin-left:calc(-15rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-64>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-16rem * var(--tw-space-x-reverse));margin-left:calc(-16rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-72>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-18rem * var(--tw-space-x-reverse));margin-left:calc(-18rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-80>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-20rem * var(--tw-space-x-reverse));margin-left:calc(-20rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-96>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-24rem * var(--tw-space-x-reverse));margin-left:calc(-24rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1px * var(--tw-space-x-reverse));margin-left:calc(-1px * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-0\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.125rem * var(--tw-space-x-reverse));margin-left:calc(-0.125rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-1\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.375rem * var(--tw-space-x-reverse));margin-left:calc(-0.375rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-2\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.625rem * var(--tw-space-x-reverse));margin-left:calc(-0.625rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-3\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.875rem * var(--tw-space-x-reverse));margin-left:calc(-0.875rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.md\\:space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.25rem * var(--tw-space-y-reverse))}.md\\:space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.5rem * var(--tw-space-y-reverse))}.md\\:space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.75rem * var(--tw-space-y-reverse))}.md\\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.md\\:space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.md\\:space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.md\\:space-y-7>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.75rem * var(--tw-space-y-reverse))}.md\\:space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.md\\:space-y-9>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.25rem * var(--tw-space-y-reverse))}.md\\:space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.5rem * var(--tw-space-y-reverse))}.md\\:space-y-11>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.75rem * var(--tw-space-y-reverse))}.md\\:space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3rem * var(--tw-space-y-reverse))}.md\\:space-y-14>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(3.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3.5rem * var(--tw-space-y-reverse))}.md\\:space-y-16>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(4rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(4rem * var(--tw-space-y-reverse))}.md\\:space-y-20>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(5rem * var(--tw-space-y-reverse))}.md\\:space-y-24>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(6rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(6rem * var(--tw-space-y-reverse))}.md\\:space-y-28>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(7rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(7rem * var(--tw-space-y-reverse))}.md\\:space-y-32>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(8rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(8rem * var(--tw-space-y-reverse))}.md\\:space-y-36>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(9rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(9rem * var(--tw-space-y-reverse))}.md\\:space-y-40>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(10rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(10rem * var(--tw-space-y-reverse))}.md\\:space-y-44>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(11rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(11rem * var(--tw-space-y-reverse))}.md\\:space-y-48>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(12rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(12rem * var(--tw-space-y-reverse))}.md\\:space-y-52>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(13rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(13rem * var(--tw-space-y-reverse))}.md\\:space-y-56>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(14rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(14rem * var(--tw-space-y-reverse))}.md\\:space-y-60>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(15rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(15rem * var(--tw-space-y-reverse))}.md\\:space-y-64>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(16rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(16rem * var(--tw-space-y-reverse))}.md\\:space-y-72>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(18rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(18rem * var(--tw-space-y-reverse))}.md\\:space-y-80>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(20rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(20rem * var(--tw-space-y-reverse))}.md\\:space-y-96>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(24rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(24rem * var(--tw-space-y-reverse))}.md\\:space-y-px>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1px * var(--tw-space-y-reverse))}.md\\:space-y-0\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.125rem * var(--tw-space-y-reverse))}.md\\:space-y-1\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.375rem * var(--tw-space-y-reverse))}.md\\:space-y-2\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.625rem * var(--tw-space-y-reverse))}.md\\:space-y-3\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.875rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.875rem * var(--tw-space-y-reverse))}.md\\:-space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.md\\:-space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.25rem * var(--tw-space-y-reverse))}.md\\:-space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.5rem * var(--tw-space-y-reverse))}.md\\:-space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.75rem * var(--tw-space-y-reverse))}.md\\:-space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1rem * var(--tw-space-y-reverse))}.md\\:-space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1.25rem * var(--tw-space-y-reverse))}.md\\:-space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1.5rem * var(--tw-space-y-reverse))}.md\\:-space-y-7>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1.75rem * var(--tw-space-y-reverse))}.md\\:-space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2rem * var(--tw-space-y-reverse))}.md\\:-space-y-9>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2.25rem * var(--tw-space-y-reverse))}.md\\:-space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2.5rem * var(--tw-space-y-reverse))}.md\\:-space-y-11>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2.75rem * var(--tw-space-y-reverse))}.md\\:-space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-3rem * var(--tw-space-y-reverse))}.md\\:-space-y-14>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-3.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-3.5rem * var(--tw-space-y-reverse))}.md\\:-space-y-16>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-4rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-4rem * var(--tw-space-y-reverse))}.md\\:-space-y-20>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-5rem * var(--tw-space-y-reverse))}.md\\:-space-y-24>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-6rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-6rem * var(--tw-space-y-reverse))}.md\\:-space-y-28>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-7rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-7rem * var(--tw-space-y-reverse))}.md\\:-space-y-32>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-8rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-8rem * var(--tw-space-y-reverse))}.md\\:-space-y-36>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-9rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-9rem * var(--tw-space-y-reverse))}.md\\:-space-y-40>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-10rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-10rem * var(--tw-space-y-reverse))}.md\\:-space-y-44>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-11rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-11rem * var(--tw-space-y-reverse))}.md\\:-space-y-48>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-12rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-12rem * var(--tw-space-y-reverse))}.md\\:-space-y-52>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-13rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-13rem * var(--tw-space-y-reverse))}.md\\:-space-y-56>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-14rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-14rem * var(--tw-space-y-reverse))}.md\\:-space-y-60>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-15rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-15rem * var(--tw-space-y-reverse))}.md\\:-space-y-64>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-16rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-16rem * var(--tw-space-y-reverse))}.md\\:-space-y-72>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-18rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-18rem * var(--tw-space-y-reverse))}.md\\:-space-y-80>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-20rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-20rem * var(--tw-space-y-reverse))}.md\\:-space-y-96>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-24rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-24rem * var(--tw-space-y-reverse))}.md\\:-space-y-px>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1px * var(--tw-space-y-reverse))}.md\\:-space-y-0\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.125rem * var(--tw-space-y-reverse))}.md\\:-space-y-1\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.375rem * var(--tw-space-y-reverse))}.md\\:-space-y-2\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.625rem * var(--tw-space-y-reverse))}.md\\:-space-y-3\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.875rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.875rem * var(--tw-space-y-reverse))}.md\\:space-y-reverse>:not([hidden])~:not([hidden]){--tw-space-y-reverse:1}.md\\:space-x-reverse>:not([hidden])~:not([hidden]){--tw-space-x-reverse:1}.md\\:divide-x-0>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(0px * var(--tw-divide-x-reverse));border-left-width:calc(0px * calc(1 - var(--tw-divide-x-reverse)))}.md\\:divide-x-2>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(2px * var(--tw-divide-x-reverse));border-left-width:calc(2px * calc(1 - var(--tw-divide-x-reverse)))}.md\\:divide-x-4>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(4px * var(--tw-divide-x-reverse));border-left-width:calc(4px * calc(1 - var(--tw-divide-x-reverse)))}.md\\:divide-x-8>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(8px * var(--tw-divide-x-reverse));border-left-width:calc(8px * calc(1 - var(--tw-divide-x-reverse)))}.md\\:divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(1px * var(--tw-divide-x-reverse));border-left-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}.md\\:divide-y-0>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(0px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(0px * var(--tw-divide-y-reverse))}.md\\:divide-y-2>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(2px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(2px * var(--tw-divide-y-reverse))}.md\\:divide-y-4>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(4px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(4px * var(--tw-divide-y-reverse))}.md\\:divide-y-8>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(8px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(8px * var(--tw-divide-y-reverse))}.md\\:divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.md\\:divide-y-reverse>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:1}.md\\:divide-x-reverse>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:1}.md\\:divide-solid>:not([hidden])~:not([hidden]){border-style:solid}.md\\:divide-dashed>:not([hidden])~:not([hidden]){border-style:dashed}.md\\:divide-dotted>:not([hidden])~:not([hidden]){border-style:dotted}.md\\:divide-double>:not([hidden])~:not([hidden]){border-style:double}.md\\:divide-none>:not([hidden])~:not([hidden]){border-style:none}.md\\:divide-transparent>:not([hidden])~:not([hidden]){border-color:transparent}.md\\:divide-current>:not([hidden])~:not([hidden]){border-color:currentColor}.md\\:divide-white>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.md\\:divide-lightgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(247, 247, 247, var(--tw-divide-opacity))}.md\\:divide-midgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.md\\:divide-darkgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(127, 127, 127, var(--tw-divide-opacity))}.md\\:divide-grey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(30, 30, 30, var(--tw-divide-opacity))}.md\\:divide-black>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(15, 15, 15, var(--tw-divide-opacity))}.md\\:divide-highlight>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 113, 227, var(--tw-divide-opacity))}.md\\:divide-highlight_hover>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 119, 237, var(--tw-divide-opacity))}.md\\:divide-button_outline>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.md\\:divide-error>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 69, 58, var(--tw-divide-opacity))}.md\\:divide-text-light>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(15, 15, 15, var(--tw-divide-opacity))}.md\\:divide-text-dimmed>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.md\\:divide-text-dark>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.md\\:divide-body-light>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.md\\:divide-body-dark>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(30, 30, 30, var(--tw-divide-opacity))}.md\\:divide-button>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 113, 227, var(--tw-divide-opacity))}.md\\:divide-button_hover>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 119, 237, var(--tw-divide-opacity))}@media(prefers-color-scheme: dark){.md\\:dark\\:divide-transparent>:not([hidden])~:not([hidden]){border-color:transparent}.md\\:dark\\:divide-current>:not([hidden])~:not([hidden]){border-color:currentColor}.md\\:dark\\:divide-white>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.md\\:dark\\:divide-lightgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(247, 247, 247, var(--tw-divide-opacity))}.md\\:dark\\:divide-midgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.md\\:dark\\:divide-darkgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(127, 127, 127, var(--tw-divide-opacity))}.md\\:dark\\:divide-grey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(30, 30, 30, var(--tw-divide-opacity))}.md\\:dark\\:divide-black>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(15, 15, 15, var(--tw-divide-opacity))}.md\\:dark\\:divide-highlight>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 113, 227, var(--tw-divide-opacity))}.md\\:dark\\:divide-highlight_hover>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 119, 237, var(--tw-divide-opacity))}.md\\:dark\\:divide-button_outline>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.md\\:dark\\:divide-error>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 69, 58, var(--tw-divide-opacity))}.md\\:dark\\:divide-text-light>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(15, 15, 15, var(--tw-divide-opacity))}.md\\:dark\\:divide-text-dimmed>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.md\\:dark\\:divide-text-dark>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.md\\:dark\\:divide-body-light>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.md\\:dark\\:divide-body-dark>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(30, 30, 30, var(--tw-divide-opacity))}.md\\:dark\\:divide-button>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 113, 227, var(--tw-divide-opacity))}.md\\:dark\\:divide-button_hover>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 119, 237, var(--tw-divide-opacity))}}.md\\:divide-opacity-0>:not([hidden])~:not([hidden]){--tw-divide-opacity:0}.md\\:divide-opacity-5>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.05}.md\\:divide-opacity-10>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.1}.md\\:divide-opacity-20>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.2}.md\\:divide-opacity-25>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.25}.md\\:divide-opacity-30>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.3}.md\\:divide-opacity-40>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.4}.md\\:divide-opacity-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.5}.md\\:divide-opacity-60>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.6}.md\\:divide-opacity-70>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.7}.md\\:divide-opacity-75>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.75}.md\\:divide-opacity-80>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.8}.md\\:divide-opacity-90>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.9}.md\\:divide-opacity-95>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.95}.md\\:divide-opacity-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1}@media(prefers-color-scheme: dark){.md\\:dark\\:divide-opacity-0>:not([hidden])~:not([hidden]){--tw-divide-opacity:0}.md\\:dark\\:divide-opacity-5>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.05}.md\\:dark\\:divide-opacity-10>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.1}.md\\:dark\\:divide-opacity-20>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.2}.md\\:dark\\:divide-opacity-25>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.25}.md\\:dark\\:divide-opacity-30>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.3}.md\\:dark\\:divide-opacity-40>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.4}.md\\:dark\\:divide-opacity-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.5}.md\\:dark\\:divide-opacity-60>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.6}.md\\:dark\\:divide-opacity-70>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.7}.md\\:dark\\:divide-opacity-75>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.75}.md\\:dark\\:divide-opacity-80>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.8}.md\\:dark\\:divide-opacity-90>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.9}.md\\:dark\\:divide-opacity-95>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.95}.md\\:dark\\:divide-opacity-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1}}.md\\:place-self-auto{place-self:auto}.md\\:place-self-start{place-self:start}.md\\:place-self-end{place-self:end}.md\\:place-self-center{place-self:center}.md\\:place-self-stretch{place-self:stretch}.md\\:self-auto{align-self:auto}.md\\:self-start{align-self:flex-start}.md\\:self-end{align-self:flex-end}.md\\:self-center{align-self:center}.md\\:self-stretch{align-self:stretch}.md\\:self-baseline{align-self:baseline}.md\\:justify-self-auto{justify-self:auto}.md\\:justify-self-start{justify-self:start}.md\\:justify-self-end{justify-self:end}.md\\:justify-self-center{justify-self:center}.md\\:justify-self-stretch{justify-self:stretch}.md\\:overflow-auto{overflow:auto}.md\\:overflow-hidden{overflow:hidden}.md\\:overflow-visible{overflow:visible}.md\\:overflow-scroll{overflow:scroll}.md\\:overflow-x-auto{overflow-x:auto}.md\\:overflow-y-auto{overflow-y:auto}.md\\:overflow-x-hidden{overflow-x:hidden}.md\\:overflow-y-hidden{overflow-y:hidden}.md\\:overflow-x-visible{overflow-x:visible}.md\\:overflow-y-visible{overflow-y:visible}.md\\:overflow-x-scroll{overflow-x:scroll}.md\\:overflow-y-scroll{overflow-y:scroll}.md\\:overscroll-auto{overscroll-behavior:auto}.md\\:overscroll-contain{overscroll-behavior:contain}.md\\:overscroll-none{overscroll-behavior:none}.md\\:overscroll-y-auto{overscroll-behavior-y:auto}.md\\:overscroll-y-contain{overscroll-behavior-y:contain}.md\\:overscroll-y-none{overscroll-behavior-y:none}.md\\:overscroll-x-auto{overscroll-behavior-x:auto}.md\\:overscroll-x-contain{overscroll-behavior-x:contain}.md\\:overscroll-x-none{overscroll-behavior-x:none}.md\\:truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.md\\:overflow-ellipsis{text-overflow:ellipsis}.md\\:overflow-clip{text-overflow:clip}.md\\:whitespace-normal{white-space:normal}.md\\:whitespace-nowrap{white-space:nowrap}.md\\:whitespace-pre{white-space:pre}.md\\:whitespace-pre-line{white-space:pre-line}.md\\:whitespace-pre-wrap{white-space:pre-wrap}.md\\:break-normal{overflow-wrap:normal;word-break:normal}.md\\:break-words{overflow-wrap:break-word}.md\\:break-all{word-break:break-all}.md\\:rounded-none{border-radius:0px}.md\\:rounded-sm{border-radius:0.125rem}.md\\:rounded{border-radius:0.25rem}.md\\:rounded-md{border-radius:0.375rem}.md\\:rounded-lg{border-radius:0.5rem}.md\\:rounded-xl{border-radius:0.75rem}.md\\:rounded-2xl{border-radius:1rem}.md\\:rounded-3xl{border-radius:1.5rem}.md\\:rounded-full{border-radius:9999px}.md\\:rounded-t-none{border-top-left-radius:0px;border-top-right-radius:0px}.md\\:rounded-t-sm{border-top-left-radius:0.125rem;border-top-right-radius:0.125rem}.md\\:rounded-t{border-top-left-radius:0.25rem;border-top-right-radius:0.25rem}.md\\:rounded-t-md{border-top-left-radius:0.375rem;border-top-right-radius:0.375rem}.md\\:rounded-t-lg{border-top-left-radius:0.5rem;border-top-right-radius:0.5rem}.md\\:rounded-t-xl{border-top-left-radius:0.75rem;border-top-right-radius:0.75rem}.md\\:rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.md\\:rounded-t-3xl{border-top-left-radius:1.5rem;border-top-right-radius:1.5rem}.md\\:rounded-t-full{border-top-left-radius:9999px;border-top-right-radius:9999px}.md\\:rounded-r-none{border-top-right-radius:0px;border-bottom-right-radius:0px}.md\\:rounded-r-sm{border-top-right-radius:0.125rem;border-bottom-right-radius:0.125rem}.md\\:rounded-r{border-top-right-radius:0.25rem;border-bottom-right-radius:0.25rem}.md\\:rounded-r-md{border-top-right-radius:0.375rem;border-bottom-right-radius:0.375rem}.md\\:rounded-r-lg{border-top-right-radius:0.5rem;border-bottom-right-radius:0.5rem}.md\\:rounded-r-xl{border-top-right-radius:0.75rem;border-bottom-right-radius:0.75rem}.md\\:rounded-r-2xl{border-top-right-radius:1rem;border-bottom-right-radius:1rem}.md\\:rounded-r-3xl{border-top-right-radius:1.5rem;border-bottom-right-radius:1.5rem}.md\\:rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.md\\:rounded-b-none{border-bottom-right-radius:0px;border-bottom-left-radius:0px}.md\\:rounded-b-sm{border-bottom-right-radius:0.125rem;border-bottom-left-radius:0.125rem}.md\\:rounded-b{border-bottom-right-radius:0.25rem;border-bottom-left-radius:0.25rem}.md\\:rounded-b-md{border-bottom-right-radius:0.375rem;border-bottom-left-radius:0.375rem}.md\\:rounded-b-lg{border-bottom-right-radius:0.5rem;border-bottom-left-radius:0.5rem}.md\\:rounded-b-xl{border-bottom-right-radius:0.75rem;border-bottom-left-radius:0.75rem}.md\\:rounded-b-2xl{border-bottom-right-radius:1rem;border-bottom-left-radius:1rem}.md\\:rounded-b-3xl{border-bottom-right-radius:1.5rem;border-bottom-left-radius:1.5rem}.md\\:rounded-b-full{border-bottom-right-radius:9999px;border-bottom-left-radius:9999px}.md\\:rounded-l-none{border-top-left-radius:0px;border-bottom-left-radius:0px}.md\\:rounded-l-sm{border-top-left-radius:0.125rem;border-bottom-left-radius:0.125rem}.md\\:rounded-l{border-top-left-radius:0.25rem;border-bottom-left-radius:0.25rem}.md\\:rounded-l-md{border-top-left-radius:0.375rem;border-bottom-left-radius:0.375rem}.md\\:rounded-l-lg{border-top-left-radius:0.5rem;border-bottom-left-radius:0.5rem}.md\\:rounded-l-xl{border-top-left-radius:0.75rem;border-bottom-left-radius:0.75rem}.md\\:rounded-l-2xl{border-top-left-radius:1rem;border-bottom-left-radius:1rem}.md\\:rounded-l-3xl{border-top-left-radius:1.5rem;border-bottom-left-radius:1.5rem}.md\\:rounded-l-full{border-top-left-radius:9999px;border-bottom-left-radius:9999px}.md\\:rounded-tl-none{border-top-left-radius:0px}.md\\:rounded-tl-sm{border-top-left-radius:0.125rem}.md\\:rounded-tl{border-top-left-radius:0.25rem}.md\\:rounded-tl-md{border-top-left-radius:0.375rem}.md\\:rounded-tl-lg{border-top-left-radius:0.5rem}.md\\:rounded-tl-xl{border-top-left-radius:0.75rem}.md\\:rounded-tl-2xl{border-top-left-radius:1rem}.md\\:rounded-tl-3xl{border-top-left-radius:1.5rem}.md\\:rounded-tl-full{border-top-left-radius:9999px}.md\\:rounded-tr-none{border-top-right-radius:0px}.md\\:rounded-tr-sm{border-top-right-radius:0.125rem}.md\\:rounded-tr{border-top-right-radius:0.25rem}.md\\:rounded-tr-md{border-top-right-radius:0.375rem}.md\\:rounded-tr-lg{border-top-right-radius:0.5rem}.md\\:rounded-tr-xl{border-top-right-radius:0.75rem}.md\\:rounded-tr-2xl{border-top-right-radius:1rem}.md\\:rounded-tr-3xl{border-top-right-radius:1.5rem}.md\\:rounded-tr-full{border-top-right-radius:9999px}.md\\:rounded-br-none{border-bottom-right-radius:0px}.md\\:rounded-br-sm{border-bottom-right-radius:0.125rem}.md\\:rounded-br{border-bottom-right-radius:0.25rem}.md\\:rounded-br-md{border-bottom-right-radius:0.375rem}.md\\:rounded-br-lg{border-bottom-right-radius:0.5rem}.md\\:rounded-br-xl{border-bottom-right-radius:0.75rem}.md\\:rounded-br-2xl{border-bottom-right-radius:1rem}.md\\:rounded-br-3xl{border-bottom-right-radius:1.5rem}.md\\:rounded-br-full{border-bottom-right-radius:9999px}.md\\:rounded-bl-none{border-bottom-left-radius:0px}.md\\:rounded-bl-sm{border-bottom-left-radius:0.125rem}.md\\:rounded-bl{border-bottom-left-radius:0.25rem}.md\\:rounded-bl-md{border-bottom-left-radius:0.375rem}.md\\:rounded-bl-lg{border-bottom-left-radius:0.5rem}.md\\:rounded-bl-xl{border-bottom-left-radius:0.75rem}.md\\:rounded-bl-2xl{border-bottom-left-radius:1rem}.md\\:rounded-bl-3xl{border-bottom-left-radius:1.5rem}.md\\:rounded-bl-full{border-bottom-left-radius:9999px}.md\\:border-0{border-width:0px}.md\\:border-2{border-width:2px}.md\\:border-4{border-width:4px}.md\\:border-8{border-width:8px}.md\\:border{border-width:1px}.md\\:border-t-0{border-top-width:0px}.md\\:border-t-2{border-top-width:2px}.md\\:border-t-4{border-top-width:4px}.md\\:border-t-8{border-top-width:8px}.md\\:border-t{border-top-width:1px}.md\\:border-r-0{border-right-width:0px}.md\\:border-r-2{border-right-width:2px}.md\\:border-r-4{border-right-width:4px}.md\\:border-r-8{border-right-width:8px}.md\\:border-r{border-right-width:1px}.md\\:border-b-0{border-bottom-width:0px}.md\\:border-b-2{border-bottom-width:2px}.md\\:border-b-4{border-bottom-width:4px}.md\\:border-b-8{border-bottom-width:8px}.md\\:border-b{border-bottom-width:1px}.md\\:border-l-0{border-left-width:0px}.md\\:border-l-2{border-left-width:2px}.md\\:border-l-4{border-left-width:4px}.md\\:border-l-8{border-left-width:8px}.md\\:border-l{border-left-width:1px}.md\\:border-solid{border-style:solid}.md\\:border-dashed{border-style:dashed}.md\\:border-dotted{border-style:dotted}.md\\:border-double{border-style:double}.md\\:border-none{border-style:none}.md\\:border-transparent{border-color:transparent}.md\\:border-current{border-color:currentColor}.md\\:border-white{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.md\\:border-lightgrey{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.md\\:border-midgrey{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.md\\:border-darkgrey{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.md\\:border-grey{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.md\\:border-black{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.md\\:border-highlight{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.md\\:border-highlight_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.md\\:border-button_outline{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.md\\:border-error{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.md\\:border-text-light{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.md\\:border-text-dimmed{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.md\\:border-text-dark{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.md\\:border-body-light{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.md\\:border-body-dark{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.md\\:border-button{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.md\\:border-button_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.group:hover .md\\:group-hover\\:border-transparent{border-color:transparent}.group:hover .md\\:group-hover\\:border-current{border-color:currentColor}.group:hover .md\\:group-hover\\:border-white{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .md\\:group-hover\\:border-lightgrey{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.group:hover .md\\:group-hover\\:border-midgrey{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .md\\:group-hover\\:border-darkgrey{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.group:hover .md\\:group-hover\\:border-grey{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.group:hover .md\\:group-hover\\:border-black{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.group:hover .md\\:group-hover\\:border-highlight{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.group:hover .md\\:group-hover\\:border-highlight_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.group:hover .md\\:group-hover\\:border-button_outline{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .md\\:group-hover\\:border-error{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.group:hover .md\\:group-hover\\:border-text-light{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.group:hover .md\\:group-hover\\:border-text-dimmed{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .md\\:group-hover\\:border-text-dark{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .md\\:group-hover\\:border-body-light{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .md\\:group-hover\\:border-body-dark{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.group:hover .md\\:group-hover\\:border-button{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.group:hover .md\\:group-hover\\:border-button_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.md\\:focus-within\\:border-transparent:focus-within{border-color:transparent}.md\\:focus-within\\:border-current:focus-within{border-color:currentColor}.md\\:focus-within\\:border-white:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.md\\:focus-within\\:border-lightgrey:focus-within{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.md\\:focus-within\\:border-midgrey:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.md\\:focus-within\\:border-darkgrey:focus-within{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.md\\:focus-within\\:border-grey:focus-within{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.md\\:focus-within\\:border-black:focus-within{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.md\\:focus-within\\:border-highlight:focus-within{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.md\\:focus-within\\:border-highlight_hover:focus-within{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.md\\:focus-within\\:border-button_outline:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.md\\:focus-within\\:border-error:focus-within{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.md\\:focus-within\\:border-text-light:focus-within{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.md\\:focus-within\\:border-text-dimmed:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.md\\:focus-within\\:border-text-dark:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.md\\:focus-within\\:border-body-light:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.md\\:focus-within\\:border-body-dark:focus-within{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.md\\:focus-within\\:border-button:focus-within{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.md\\:focus-within\\:border-button_hover:focus-within{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.md\\:hover\\:border-transparent:hover{border-color:transparent}.md\\:hover\\:border-current:hover{border-color:currentColor}.md\\:hover\\:border-white:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.md\\:hover\\:border-lightgrey:hover{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.md\\:hover\\:border-midgrey:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.md\\:hover\\:border-darkgrey:hover{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.md\\:hover\\:border-grey:hover{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.md\\:hover\\:border-black:hover{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.md\\:hover\\:border-highlight:hover{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.md\\:hover\\:border-highlight_hover:hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.md\\:hover\\:border-button_outline:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.md\\:hover\\:border-error:hover{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.md\\:hover\\:border-text-light:hover{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.md\\:hover\\:border-text-dimmed:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.md\\:hover\\:border-text-dark:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.md\\:hover\\:border-body-light:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.md\\:hover\\:border-body-dark:hover{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.md\\:hover\\:border-button:hover{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.md\\:hover\\:border-button_hover:hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.md\\:focus\\:border-transparent:focus{border-color:transparent}.md\\:focus\\:border-current:focus{border-color:currentColor}.md\\:focus\\:border-white:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.md\\:focus\\:border-lightgrey:focus{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.md\\:focus\\:border-midgrey:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.md\\:focus\\:border-darkgrey:focus{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.md\\:focus\\:border-grey:focus{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.md\\:focus\\:border-black:focus{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.md\\:focus\\:border-highlight:focus{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.md\\:focus\\:border-highlight_hover:focus{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.md\\:focus\\:border-button_outline:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.md\\:focus\\:border-error:focus{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.md\\:focus\\:border-text-light:focus{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.md\\:focus\\:border-text-dimmed:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.md\\:focus\\:border-text-dark:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.md\\:focus\\:border-body-light:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.md\\:focus\\:border-body-dark:focus{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.md\\:focus\\:border-button:focus{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.md\\:focus\\:border-button_hover:focus{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}@media(prefers-color-scheme: dark){.md\\:dark\\:border-transparent{border-color:transparent}.md\\:dark\\:border-current{border-color:currentColor}.md\\:dark\\:border-white{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.md\\:dark\\:border-lightgrey{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.md\\:dark\\:border-midgrey{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.md\\:dark\\:border-darkgrey{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.md\\:dark\\:border-grey{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.md\\:dark\\:border-black{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.md\\:dark\\:border-highlight{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.md\\:dark\\:border-highlight_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.md\\:dark\\:border-button_outline{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.md\\:dark\\:border-error{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.md\\:dark\\:border-text-light{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.md\\:dark\\:border-text-dimmed{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.md\\:dark\\:border-text-dark{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.md\\:dark\\:border-body-light{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.md\\:dark\\:border-body-dark{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.md\\:dark\\:border-button{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.md\\:dark\\:border-button_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.group:hover .md\\:dark\\:group-hover\\:border-transparent{border-color:transparent}.group:hover .md\\:dark\\:group-hover\\:border-current{border-color:currentColor}.group:hover .md\\:dark\\:group-hover\\:border-white{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .md\\:dark\\:group-hover\\:border-lightgrey{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.group:hover .md\\:dark\\:group-hover\\:border-midgrey{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .md\\:dark\\:group-hover\\:border-darkgrey{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.group:hover .md\\:dark\\:group-hover\\:border-grey{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.group:hover .md\\:dark\\:group-hover\\:border-black{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.group:hover .md\\:dark\\:group-hover\\:border-highlight{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.group:hover .md\\:dark\\:group-hover\\:border-highlight_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.group:hover .md\\:dark\\:group-hover\\:border-button_outline{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .md\\:dark\\:group-hover\\:border-error{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.group:hover .md\\:dark\\:group-hover\\:border-text-light{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.group:hover .md\\:dark\\:group-hover\\:border-text-dimmed{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .md\\:dark\\:group-hover\\:border-text-dark{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .md\\:dark\\:group-hover\\:border-body-light{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .md\\:dark\\:group-hover\\:border-body-dark{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.group:hover .md\\:dark\\:group-hover\\:border-button{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.group:hover .md\\:dark\\:group-hover\\:border-button_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.md\\:dark\\:focus-within\\:border-transparent:focus-within{border-color:transparent}.md\\:dark\\:focus-within\\:border-current:focus-within{border-color:currentColor}.md\\:dark\\:focus-within\\:border-white:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.md\\:dark\\:focus-within\\:border-lightgrey:focus-within{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.md\\:dark\\:focus-within\\:border-midgrey:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.md\\:dark\\:focus-within\\:border-darkgrey:focus-within{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.md\\:dark\\:focus-within\\:border-grey:focus-within{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.md\\:dark\\:focus-within\\:border-black:focus-within{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.md\\:dark\\:focus-within\\:border-highlight:focus-within{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.md\\:dark\\:focus-within\\:border-highlight_hover:focus-within{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.md\\:dark\\:focus-within\\:border-button_outline:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.md\\:dark\\:focus-within\\:border-error:focus-within{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.md\\:dark\\:focus-within\\:border-text-light:focus-within{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.md\\:dark\\:focus-within\\:border-text-dimmed:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.md\\:dark\\:focus-within\\:border-text-dark:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.md\\:dark\\:focus-within\\:border-body-light:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.md\\:dark\\:focus-within\\:border-body-dark:focus-within{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.md\\:dark\\:focus-within\\:border-button:focus-within{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.md\\:dark\\:focus-within\\:border-button_hover:focus-within{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.md\\:dark\\:hover\\:border-transparent:hover{border-color:transparent}.md\\:dark\\:hover\\:border-current:hover{border-color:currentColor}.md\\:dark\\:hover\\:border-white:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.md\\:dark\\:hover\\:border-lightgrey:hover{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.md\\:dark\\:hover\\:border-midgrey:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.md\\:dark\\:hover\\:border-darkgrey:hover{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.md\\:dark\\:hover\\:border-grey:hover{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.md\\:dark\\:hover\\:border-black:hover{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.md\\:dark\\:hover\\:border-highlight:hover{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.md\\:dark\\:hover\\:border-highlight_hover:hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.md\\:dark\\:hover\\:border-button_outline:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.md\\:dark\\:hover\\:border-error:hover{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.md\\:dark\\:hover\\:border-text-light:hover{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.md\\:dark\\:hover\\:border-text-dimmed:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.md\\:dark\\:hover\\:border-text-dark:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.md\\:dark\\:hover\\:border-body-light:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.md\\:dark\\:hover\\:border-body-dark:hover{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.md\\:dark\\:hover\\:border-button:hover{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.md\\:dark\\:hover\\:border-button_hover:hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.md\\:dark\\:focus\\:border-transparent:focus{border-color:transparent}.md\\:dark\\:focus\\:border-current:focus{border-color:currentColor}.md\\:dark\\:focus\\:border-white:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.md\\:dark\\:focus\\:border-lightgrey:focus{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.md\\:dark\\:focus\\:border-midgrey:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.md\\:dark\\:focus\\:border-darkgrey:focus{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.md\\:dark\\:focus\\:border-grey:focus{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.md\\:dark\\:focus\\:border-black:focus{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.md\\:dark\\:focus\\:border-highlight:focus{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.md\\:dark\\:focus\\:border-highlight_hover:focus{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.md\\:dark\\:focus\\:border-button_outline:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.md\\:dark\\:focus\\:border-error:focus{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.md\\:dark\\:focus\\:border-text-light:focus{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.md\\:dark\\:focus\\:border-text-dimmed:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.md\\:dark\\:focus\\:border-text-dark:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.md\\:dark\\:focus\\:border-body-light:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.md\\:dark\\:focus\\:border-body-dark:focus{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.md\\:dark\\:focus\\:border-button:focus{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.md\\:dark\\:focus\\:border-button_hover:focus{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}}.md\\:border-opacity-0{--tw-border-opacity:0}.md\\:border-opacity-5{--tw-border-opacity:0.05}.md\\:border-opacity-10{--tw-border-opacity:0.1}.md\\:border-opacity-20{--tw-border-opacity:0.2}.md\\:border-opacity-25{--tw-border-opacity:0.25}.md\\:border-opacity-30{--tw-border-opacity:0.3}.md\\:border-opacity-40{--tw-border-opacity:0.4}.md\\:border-opacity-50{--tw-border-opacity:0.5}.md\\:border-opacity-60{--tw-border-opacity:0.6}.md\\:border-opacity-70{--tw-border-opacity:0.7}.md\\:border-opacity-75{--tw-border-opacity:0.75}.md\\:border-opacity-80{--tw-border-opacity:0.8}.md\\:border-opacity-90{--tw-border-opacity:0.9}.md\\:border-opacity-95{--tw-border-opacity:0.95}.md\\:border-opacity-100{--tw-border-opacity:1}.group:hover .md\\:group-hover\\:border-opacity-0{--tw-border-opacity:0}.group:hover .md\\:group-hover\\:border-opacity-5{--tw-border-opacity:0.05}.group:hover .md\\:group-hover\\:border-opacity-10{--tw-border-opacity:0.1}.group:hover .md\\:group-hover\\:border-opacity-20{--tw-border-opacity:0.2}.group:hover .md\\:group-hover\\:border-opacity-25{--tw-border-opacity:0.25}.group:hover .md\\:group-hover\\:border-opacity-30{--tw-border-opacity:0.3}.group:hover .md\\:group-hover\\:border-opacity-40{--tw-border-opacity:0.4}.group:hover .md\\:group-hover\\:border-opacity-50{--tw-border-opacity:0.5}.group:hover .md\\:group-hover\\:border-opacity-60{--tw-border-opacity:0.6}.group:hover .md\\:group-hover\\:border-opacity-70{--tw-border-opacity:0.7}.group:hover .md\\:group-hover\\:border-opacity-75{--tw-border-opacity:0.75}.group:hover .md\\:group-hover\\:border-opacity-80{--tw-border-opacity:0.8}.group:hover .md\\:group-hover\\:border-opacity-90{--tw-border-opacity:0.9}.group:hover .md\\:group-hover\\:border-opacity-95{--tw-border-opacity:0.95}.group:hover .md\\:group-hover\\:border-opacity-100{--tw-border-opacity:1}.md\\:focus-within\\:border-opacity-0:focus-within{--tw-border-opacity:0}.md\\:focus-within\\:border-opacity-5:focus-within{--tw-border-opacity:0.05}.md\\:focus-within\\:border-opacity-10:focus-within{--tw-border-opacity:0.1}.md\\:focus-within\\:border-opacity-20:focus-within{--tw-border-opacity:0.2}.md\\:focus-within\\:border-opacity-25:focus-within{--tw-border-opacity:0.25}.md\\:focus-within\\:border-opacity-30:focus-within{--tw-border-opacity:0.3}.md\\:focus-within\\:border-opacity-40:focus-within{--tw-border-opacity:0.4}.md\\:focus-within\\:border-opacity-50:focus-within{--tw-border-opacity:0.5}.md\\:focus-within\\:border-opacity-60:focus-within{--tw-border-opacity:0.6}.md\\:focus-within\\:border-opacity-70:focus-within{--tw-border-opacity:0.7}.md\\:focus-within\\:border-opacity-75:focus-within{--tw-border-opacity:0.75}.md\\:focus-within\\:border-opacity-80:focus-within{--tw-border-opacity:0.8}.md\\:focus-within\\:border-opacity-90:focus-within{--tw-border-opacity:0.9}.md\\:focus-within\\:border-opacity-95:focus-within{--tw-border-opacity:0.95}.md\\:focus-within\\:border-opacity-100:focus-within{--tw-border-opacity:1}.md\\:hover\\:border-opacity-0:hover{--tw-border-opacity:0}.md\\:hover\\:border-opacity-5:hover{--tw-border-opacity:0.05}.md\\:hover\\:border-opacity-10:hover{--tw-border-opacity:0.1}.md\\:hover\\:border-opacity-20:hover{--tw-border-opacity:0.2}.md\\:hover\\:border-opacity-25:hover{--tw-border-opacity:0.25}.md\\:hover\\:border-opacity-30:hover{--tw-border-opacity:0.3}.md\\:hover\\:border-opacity-40:hover{--tw-border-opacity:0.4}.md\\:hover\\:border-opacity-50:hover{--tw-border-opacity:0.5}.md\\:hover\\:border-opacity-60:hover{--tw-border-opacity:0.6}.md\\:hover\\:border-opacity-70:hover{--tw-border-opacity:0.7}.md\\:hover\\:border-opacity-75:hover{--tw-border-opacity:0.75}.md\\:hover\\:border-opacity-80:hover{--tw-border-opacity:0.8}.md\\:hover\\:border-opacity-90:hover{--tw-border-opacity:0.9}.md\\:hover\\:border-opacity-95:hover{--tw-border-opacity:0.95}.md\\:hover\\:border-opacity-100:hover{--tw-border-opacity:1}.md\\:focus\\:border-opacity-0:focus{--tw-border-opacity:0}.md\\:focus\\:border-opacity-5:focus{--tw-border-opacity:0.05}.md\\:focus\\:border-opacity-10:focus{--tw-border-opacity:0.1}.md\\:focus\\:border-opacity-20:focus{--tw-border-opacity:0.2}.md\\:focus\\:border-opacity-25:focus{--tw-border-opacity:0.25}.md\\:focus\\:border-opacity-30:focus{--tw-border-opacity:0.3}.md\\:focus\\:border-opacity-40:focus{--tw-border-opacity:0.4}.md\\:focus\\:border-opacity-50:focus{--tw-border-opacity:0.5}.md\\:focus\\:border-opacity-60:focus{--tw-border-opacity:0.6}.md\\:focus\\:border-opacity-70:focus{--tw-border-opacity:0.7}.md\\:focus\\:border-opacity-75:focus{--tw-border-opacity:0.75}.md\\:focus\\:border-opacity-80:focus{--tw-border-opacity:0.8}.md\\:focus\\:border-opacity-90:focus{--tw-border-opacity:0.9}.md\\:focus\\:border-opacity-95:focus{--tw-border-opacity:0.95}.md\\:focus\\:border-opacity-100:focus{--tw-border-opacity:1}@media(prefers-color-scheme: dark){.md\\:dark\\:border-opacity-0{--tw-border-opacity:0}.md\\:dark\\:border-opacity-5{--tw-border-opacity:0.05}.md\\:dark\\:border-opacity-10{--tw-border-opacity:0.1}.md\\:dark\\:border-opacity-20{--tw-border-opacity:0.2}.md\\:dark\\:border-opacity-25{--tw-border-opacity:0.25}.md\\:dark\\:border-opacity-30{--tw-border-opacity:0.3}.md\\:dark\\:border-opacity-40{--tw-border-opacity:0.4}.md\\:dark\\:border-opacity-50{--tw-border-opacity:0.5}.md\\:dark\\:border-opacity-60{--tw-border-opacity:0.6}.md\\:dark\\:border-opacity-70{--tw-border-opacity:0.7}.md\\:dark\\:border-opacity-75{--tw-border-opacity:0.75}.md\\:dark\\:border-opacity-80{--tw-border-opacity:0.8}.md\\:dark\\:border-opacity-90{--tw-border-opacity:0.9}.md\\:dark\\:border-opacity-95{--tw-border-opacity:0.95}.md\\:dark\\:border-opacity-100{--tw-border-opacity:1}.group:hover .md\\:dark\\:group-hover\\:border-opacity-0{--tw-border-opacity:0}.group:hover .md\\:dark\\:group-hover\\:border-opacity-5{--tw-border-opacity:0.05}.group:hover .md\\:dark\\:group-hover\\:border-opacity-10{--tw-border-opacity:0.1}.group:hover .md\\:dark\\:group-hover\\:border-opacity-20{--tw-border-opacity:0.2}.group:hover .md\\:dark\\:group-hover\\:border-opacity-25{--tw-border-opacity:0.25}.group:hover .md\\:dark\\:group-hover\\:border-opacity-30{--tw-border-opacity:0.3}.group:hover .md\\:dark\\:group-hover\\:border-opacity-40{--tw-border-opacity:0.4}.group:hover .md\\:dark\\:group-hover\\:border-opacity-50{--tw-border-opacity:0.5}.group:hover .md\\:dark\\:group-hover\\:border-opacity-60{--tw-border-opacity:0.6}.group:hover .md\\:dark\\:group-hover\\:border-opacity-70{--tw-border-opacity:0.7}.group:hover .md\\:dark\\:group-hover\\:border-opacity-75{--tw-border-opacity:0.75}.group:hover .md\\:dark\\:group-hover\\:border-opacity-80{--tw-border-opacity:0.8}.group:hover .md\\:dark\\:group-hover\\:border-opacity-90{--tw-border-opacity:0.9}.group:hover .md\\:dark\\:group-hover\\:border-opacity-95{--tw-border-opacity:0.95}.group:hover .md\\:dark\\:group-hover\\:border-opacity-100{--tw-border-opacity:1}.md\\:dark\\:focus-within\\:border-opacity-0:focus-within{--tw-border-opacity:0}.md\\:dark\\:focus-within\\:border-opacity-5:focus-within{--tw-border-opacity:0.05}.md\\:dark\\:focus-within\\:border-opacity-10:focus-within{--tw-border-opacity:0.1}.md\\:dark\\:focus-within\\:border-opacity-20:focus-within{--tw-border-opacity:0.2}.md\\:dark\\:focus-within\\:border-opacity-25:focus-within{--tw-border-opacity:0.25}.md\\:dark\\:focus-within\\:border-opacity-30:focus-within{--tw-border-opacity:0.3}.md\\:dark\\:focus-within\\:border-opacity-40:focus-within{--tw-border-opacity:0.4}.md\\:dark\\:focus-within\\:border-opacity-50:focus-within{--tw-border-opacity:0.5}.md\\:dark\\:focus-within\\:border-opacity-60:focus-within{--tw-border-opacity:0.6}.md\\:dark\\:focus-within\\:border-opacity-70:focus-within{--tw-border-opacity:0.7}.md\\:dark\\:focus-within\\:border-opacity-75:focus-within{--tw-border-opacity:0.75}.md\\:dark\\:focus-within\\:border-opacity-80:focus-within{--tw-border-opacity:0.8}.md\\:dark\\:focus-within\\:border-opacity-90:focus-within{--tw-border-opacity:0.9}.md\\:dark\\:focus-within\\:border-opacity-95:focus-within{--tw-border-opacity:0.95}.md\\:dark\\:focus-within\\:border-opacity-100:focus-within{--tw-border-opacity:1}.md\\:dark\\:hover\\:border-opacity-0:hover{--tw-border-opacity:0}.md\\:dark\\:hover\\:border-opacity-5:hover{--tw-border-opacity:0.05}.md\\:dark\\:hover\\:border-opacity-10:hover{--tw-border-opacity:0.1}.md\\:dark\\:hover\\:border-opacity-20:hover{--tw-border-opacity:0.2}.md\\:dark\\:hover\\:border-opacity-25:hover{--tw-border-opacity:0.25}.md\\:dark\\:hover\\:border-opacity-30:hover{--tw-border-opacity:0.3}.md\\:dark\\:hover\\:border-opacity-40:hover{--tw-border-opacity:0.4}.md\\:dark\\:hover\\:border-opacity-50:hover{--tw-border-opacity:0.5}.md\\:dark\\:hover\\:border-opacity-60:hover{--tw-border-opacity:0.6}.md\\:dark\\:hover\\:border-opacity-70:hover{--tw-border-opacity:0.7}.md\\:dark\\:hover\\:border-opacity-75:hover{--tw-border-opacity:0.75}.md\\:dark\\:hover\\:border-opacity-80:hover{--tw-border-opacity:0.8}.md\\:dark\\:hover\\:border-opacity-90:hover{--tw-border-opacity:0.9}.md\\:dark\\:hover\\:border-opacity-95:hover{--tw-border-opacity:0.95}.md\\:dark\\:hover\\:border-opacity-100:hover{--tw-border-opacity:1}.md\\:dark\\:focus\\:border-opacity-0:focus{--tw-border-opacity:0}.md\\:dark\\:focus\\:border-opacity-5:focus{--tw-border-opacity:0.05}.md\\:dark\\:focus\\:border-opacity-10:focus{--tw-border-opacity:0.1}.md\\:dark\\:focus\\:border-opacity-20:focus{--tw-border-opacity:0.2}.md\\:dark\\:focus\\:border-opacity-25:focus{--tw-border-opacity:0.25}.md\\:dark\\:focus\\:border-opacity-30:focus{--tw-border-opacity:0.3}.md\\:dark\\:focus\\:border-opacity-40:focus{--tw-border-opacity:0.4}.md\\:dark\\:focus\\:border-opacity-50:focus{--tw-border-opacity:0.5}.md\\:dark\\:focus\\:border-opacity-60:focus{--tw-border-opacity:0.6}.md\\:dark\\:focus\\:border-opacity-70:focus{--tw-border-opacity:0.7}.md\\:dark\\:focus\\:border-opacity-75:focus{--tw-border-opacity:0.75}.md\\:dark\\:focus\\:border-opacity-80:focus{--tw-border-opacity:0.8}.md\\:dark\\:focus\\:border-opacity-90:focus{--tw-border-opacity:0.9}.md\\:dark\\:focus\\:border-opacity-95:focus{--tw-border-opacity:0.95}.md\\:dark\\:focus\\:border-opacity-100:focus{--tw-border-opacity:1}}.md\\:bg-transparent{background-color:transparent}.md\\:bg-current{background-color:currentColor}.md\\:bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.md\\:bg-lightgrey{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.md\\:bg-midgrey{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.md\\:bg-darkgrey{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.md\\:bg-grey{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.md\\:bg-black{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.md\\:bg-highlight{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.md\\:bg-highlight_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.md\\:bg-button_outline{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.md\\:bg-error{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.md\\:bg-text-light{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.md\\:bg-text-dimmed{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.md\\:bg-text-dark{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.md\\:bg-body-light{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.md\\:bg-body-dark{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.md\\:bg-button{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.md\\:bg-button_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.group:hover .md\\:group-hover\\:bg-transparent{background-color:transparent}.group:hover .md\\:group-hover\\:bg-current{background-color:currentColor}.group:hover .md\\:group-hover\\:bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .md\\:group-hover\\:bg-lightgrey{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.group:hover .md\\:group-hover\\:bg-midgrey{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .md\\:group-hover\\:bg-darkgrey{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.group:hover .md\\:group-hover\\:bg-grey{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.group:hover .md\\:group-hover\\:bg-black{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.group:hover .md\\:group-hover\\:bg-highlight{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.group:hover .md\\:group-hover\\:bg-highlight_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.group:hover .md\\:group-hover\\:bg-button_outline{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .md\\:group-hover\\:bg-error{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.group:hover .md\\:group-hover\\:bg-text-light{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.group:hover .md\\:group-hover\\:bg-text-dimmed{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .md\\:group-hover\\:bg-text-dark{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .md\\:group-hover\\:bg-body-light{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .md\\:group-hover\\:bg-body-dark{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.group:hover .md\\:group-hover\\:bg-button{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.group:hover .md\\:group-hover\\:bg-button_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.md\\:focus-within\\:bg-transparent:focus-within{background-color:transparent}.md\\:focus-within\\:bg-current:focus-within{background-color:currentColor}.md\\:focus-within\\:bg-white:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.md\\:focus-within\\:bg-lightgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.md\\:focus-within\\:bg-midgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.md\\:focus-within\\:bg-darkgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.md\\:focus-within\\:bg-grey:focus-within{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.md\\:focus-within\\:bg-black:focus-within{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.md\\:focus-within\\:bg-highlight:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.md\\:focus-within\\:bg-highlight_hover:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.md\\:focus-within\\:bg-button_outline:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.md\\:focus-within\\:bg-error:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.md\\:focus-within\\:bg-text-light:focus-within{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.md\\:focus-within\\:bg-text-dimmed:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.md\\:focus-within\\:bg-text-dark:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.md\\:focus-within\\:bg-body-light:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.md\\:focus-within\\:bg-body-dark:focus-within{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.md\\:focus-within\\:bg-button:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.md\\:focus-within\\:bg-button_hover:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.md\\:hover\\:bg-transparent:hover{background-color:transparent}.md\\:hover\\:bg-current:hover{background-color:currentColor}.md\\:hover\\:bg-white:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.md\\:hover\\:bg-lightgrey:hover{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.md\\:hover\\:bg-midgrey:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.md\\:hover\\:bg-darkgrey:hover{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.md\\:hover\\:bg-grey:hover{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.md\\:hover\\:bg-black:hover{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.md\\:hover\\:bg-highlight:hover{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.md\\:hover\\:bg-highlight_hover:hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.md\\:hover\\:bg-button_outline:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.md\\:hover\\:bg-error:hover{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.md\\:hover\\:bg-text-light:hover{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.md\\:hover\\:bg-text-dimmed:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.md\\:hover\\:bg-text-dark:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.md\\:hover\\:bg-body-light:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.md\\:hover\\:bg-body-dark:hover{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.md\\:hover\\:bg-button:hover{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.md\\:hover\\:bg-button_hover:hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.md\\:focus\\:bg-transparent:focus{background-color:transparent}.md\\:focus\\:bg-current:focus{background-color:currentColor}.md\\:focus\\:bg-white:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.md\\:focus\\:bg-lightgrey:focus{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.md\\:focus\\:bg-midgrey:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.md\\:focus\\:bg-darkgrey:focus{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.md\\:focus\\:bg-grey:focus{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.md\\:focus\\:bg-black:focus{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.md\\:focus\\:bg-highlight:focus{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.md\\:focus\\:bg-highlight_hover:focus{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.md\\:focus\\:bg-button_outline:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.md\\:focus\\:bg-error:focus{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.md\\:focus\\:bg-text-light:focus{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.md\\:focus\\:bg-text-dimmed:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.md\\:focus\\:bg-text-dark:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.md\\:focus\\:bg-body-light:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.md\\:focus\\:bg-body-dark:focus{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.md\\:focus\\:bg-button:focus{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.md\\:focus\\:bg-button_hover:focus{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}@media(prefers-color-scheme: dark){.md\\:dark\\:bg-transparent{background-color:transparent}.md\\:dark\\:bg-current{background-color:currentColor}.md\\:dark\\:bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.md\\:dark\\:bg-lightgrey{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.md\\:dark\\:bg-midgrey{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.md\\:dark\\:bg-darkgrey{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.md\\:dark\\:bg-grey{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.md\\:dark\\:bg-black{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.md\\:dark\\:bg-highlight{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.md\\:dark\\:bg-highlight_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.md\\:dark\\:bg-button_outline{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.md\\:dark\\:bg-error{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.md\\:dark\\:bg-text-light{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.md\\:dark\\:bg-text-dimmed{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.md\\:dark\\:bg-text-dark{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.md\\:dark\\:bg-body-light{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.md\\:dark\\:bg-body-dark{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.md\\:dark\\:bg-button{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.md\\:dark\\:bg-button_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.group:hover .md\\:dark\\:group-hover\\:bg-transparent{background-color:transparent}.group:hover .md\\:dark\\:group-hover\\:bg-current{background-color:currentColor}.group:hover .md\\:dark\\:group-hover\\:bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .md\\:dark\\:group-hover\\:bg-lightgrey{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.group:hover .md\\:dark\\:group-hover\\:bg-midgrey{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .md\\:dark\\:group-hover\\:bg-darkgrey{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.group:hover .md\\:dark\\:group-hover\\:bg-grey{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.group:hover .md\\:dark\\:group-hover\\:bg-black{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.group:hover .md\\:dark\\:group-hover\\:bg-highlight{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.group:hover .md\\:dark\\:group-hover\\:bg-highlight_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.group:hover .md\\:dark\\:group-hover\\:bg-button_outline{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .md\\:dark\\:group-hover\\:bg-error{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.group:hover .md\\:dark\\:group-hover\\:bg-text-light{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.group:hover .md\\:dark\\:group-hover\\:bg-text-dimmed{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .md\\:dark\\:group-hover\\:bg-text-dark{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .md\\:dark\\:group-hover\\:bg-body-light{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .md\\:dark\\:group-hover\\:bg-body-dark{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.group:hover .md\\:dark\\:group-hover\\:bg-button{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.group:hover .md\\:dark\\:group-hover\\:bg-button_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.md\\:dark\\:focus-within\\:bg-transparent:focus-within{background-color:transparent}.md\\:dark\\:focus-within\\:bg-current:focus-within{background-color:currentColor}.md\\:dark\\:focus-within\\:bg-white:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.md\\:dark\\:focus-within\\:bg-lightgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.md\\:dark\\:focus-within\\:bg-midgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.md\\:dark\\:focus-within\\:bg-darkgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.md\\:dark\\:focus-within\\:bg-grey:focus-within{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.md\\:dark\\:focus-within\\:bg-black:focus-within{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.md\\:dark\\:focus-within\\:bg-highlight:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.md\\:dark\\:focus-within\\:bg-highlight_hover:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.md\\:dark\\:focus-within\\:bg-button_outline:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.md\\:dark\\:focus-within\\:bg-error:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.md\\:dark\\:focus-within\\:bg-text-light:focus-within{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.md\\:dark\\:focus-within\\:bg-text-dimmed:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.md\\:dark\\:focus-within\\:bg-text-dark:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.md\\:dark\\:focus-within\\:bg-body-light:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.md\\:dark\\:focus-within\\:bg-body-dark:focus-within{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.md\\:dark\\:focus-within\\:bg-button:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.md\\:dark\\:focus-within\\:bg-button_hover:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.md\\:dark\\:hover\\:bg-transparent:hover{background-color:transparent}.md\\:dark\\:hover\\:bg-current:hover{background-color:currentColor}.md\\:dark\\:hover\\:bg-white:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.md\\:dark\\:hover\\:bg-lightgrey:hover{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.md\\:dark\\:hover\\:bg-midgrey:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.md\\:dark\\:hover\\:bg-darkgrey:hover{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.md\\:dark\\:hover\\:bg-grey:hover{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.md\\:dark\\:hover\\:bg-black:hover{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.md\\:dark\\:hover\\:bg-highlight:hover{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.md\\:dark\\:hover\\:bg-highlight_hover:hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.md\\:dark\\:hover\\:bg-button_outline:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.md\\:dark\\:hover\\:bg-error:hover{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.md\\:dark\\:hover\\:bg-text-light:hover{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.md\\:dark\\:hover\\:bg-text-dimmed:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.md\\:dark\\:hover\\:bg-text-dark:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.md\\:dark\\:hover\\:bg-body-light:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.md\\:dark\\:hover\\:bg-body-dark:hover{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.md\\:dark\\:hover\\:bg-button:hover{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.md\\:dark\\:hover\\:bg-button_hover:hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.md\\:dark\\:focus\\:bg-transparent:focus{background-color:transparent}.md\\:dark\\:focus\\:bg-current:focus{background-color:currentColor}.md\\:dark\\:focus\\:bg-white:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.md\\:dark\\:focus\\:bg-lightgrey:focus{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.md\\:dark\\:focus\\:bg-midgrey:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.md\\:dark\\:focus\\:bg-darkgrey:focus{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.md\\:dark\\:focus\\:bg-grey:focus{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.md\\:dark\\:focus\\:bg-black:focus{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.md\\:dark\\:focus\\:bg-highlight:focus{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.md\\:dark\\:focus\\:bg-highlight_hover:focus{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.md\\:dark\\:focus\\:bg-button_outline:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.md\\:dark\\:focus\\:bg-error:focus{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.md\\:dark\\:focus\\:bg-text-light:focus{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.md\\:dark\\:focus\\:bg-text-dimmed:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.md\\:dark\\:focus\\:bg-text-dark:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.md\\:dark\\:focus\\:bg-body-light:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.md\\:dark\\:focus\\:bg-body-dark:focus{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.md\\:dark\\:focus\\:bg-button:focus{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.md\\:dark\\:focus\\:bg-button_hover:focus{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}}.md\\:bg-opacity-0{--tw-bg-opacity:0}.md\\:bg-opacity-5{--tw-bg-opacity:0.05}.md\\:bg-opacity-10{--tw-bg-opacity:0.1}.md\\:bg-opacity-20{--tw-bg-opacity:0.2}.md\\:bg-opacity-25{--tw-bg-opacity:0.25}.md\\:bg-opacity-30{--tw-bg-opacity:0.3}.md\\:bg-opacity-40{--tw-bg-opacity:0.4}.md\\:bg-opacity-50{--tw-bg-opacity:0.5}.md\\:bg-opacity-60{--tw-bg-opacity:0.6}.md\\:bg-opacity-70{--tw-bg-opacity:0.7}.md\\:bg-opacity-75{--tw-bg-opacity:0.75}.md\\:bg-opacity-80{--tw-bg-opacity:0.8}.md\\:bg-opacity-90{--tw-bg-opacity:0.9}.md\\:bg-opacity-95{--tw-bg-opacity:0.95}.md\\:bg-opacity-100{--tw-bg-opacity:1}.group:hover .md\\:group-hover\\:bg-opacity-0{--tw-bg-opacity:0}.group:hover .md\\:group-hover\\:bg-opacity-5{--tw-bg-opacity:0.05}.group:hover .md\\:group-hover\\:bg-opacity-10{--tw-bg-opacity:0.1}.group:hover .md\\:group-hover\\:bg-opacity-20{--tw-bg-opacity:0.2}.group:hover .md\\:group-hover\\:bg-opacity-25{--tw-bg-opacity:0.25}.group:hover .md\\:group-hover\\:bg-opacity-30{--tw-bg-opacity:0.3}.group:hover .md\\:group-hover\\:bg-opacity-40{--tw-bg-opacity:0.4}.group:hover .md\\:group-hover\\:bg-opacity-50{--tw-bg-opacity:0.5}.group:hover .md\\:group-hover\\:bg-opacity-60{--tw-bg-opacity:0.6}.group:hover .md\\:group-hover\\:bg-opacity-70{--tw-bg-opacity:0.7}.group:hover .md\\:group-hover\\:bg-opacity-75{--tw-bg-opacity:0.75}.group:hover .md\\:group-hover\\:bg-opacity-80{--tw-bg-opacity:0.8}.group:hover .md\\:group-hover\\:bg-opacity-90{--tw-bg-opacity:0.9}.group:hover .md\\:group-hover\\:bg-opacity-95{--tw-bg-opacity:0.95}.group:hover .md\\:group-hover\\:bg-opacity-100{--tw-bg-opacity:1}.md\\:focus-within\\:bg-opacity-0:focus-within{--tw-bg-opacity:0}.md\\:focus-within\\:bg-opacity-5:focus-within{--tw-bg-opacity:0.05}.md\\:focus-within\\:bg-opacity-10:focus-within{--tw-bg-opacity:0.1}.md\\:focus-within\\:bg-opacity-20:focus-within{--tw-bg-opacity:0.2}.md\\:focus-within\\:bg-opacity-25:focus-within{--tw-bg-opacity:0.25}.md\\:focus-within\\:bg-opacity-30:focus-within{--tw-bg-opacity:0.3}.md\\:focus-within\\:bg-opacity-40:focus-within{--tw-bg-opacity:0.4}.md\\:focus-within\\:bg-opacity-50:focus-within{--tw-bg-opacity:0.5}.md\\:focus-within\\:bg-opacity-60:focus-within{--tw-bg-opacity:0.6}.md\\:focus-within\\:bg-opacity-70:focus-within{--tw-bg-opacity:0.7}.md\\:focus-within\\:bg-opacity-75:focus-within{--tw-bg-opacity:0.75}.md\\:focus-within\\:bg-opacity-80:focus-within{--tw-bg-opacity:0.8}.md\\:focus-within\\:bg-opacity-90:focus-within{--tw-bg-opacity:0.9}.md\\:focus-within\\:bg-opacity-95:focus-within{--tw-bg-opacity:0.95}.md\\:focus-within\\:bg-opacity-100:focus-within{--tw-bg-opacity:1}.md\\:hover\\:bg-opacity-0:hover{--tw-bg-opacity:0}.md\\:hover\\:bg-opacity-5:hover{--tw-bg-opacity:0.05}.md\\:hover\\:bg-opacity-10:hover{--tw-bg-opacity:0.1}.md\\:hover\\:bg-opacity-20:hover{--tw-bg-opacity:0.2}.md\\:hover\\:bg-opacity-25:hover{--tw-bg-opacity:0.25}.md\\:hover\\:bg-opacity-30:hover{--tw-bg-opacity:0.3}.md\\:hover\\:bg-opacity-40:hover{--tw-bg-opacity:0.4}.md\\:hover\\:bg-opacity-50:hover{--tw-bg-opacity:0.5}.md\\:hover\\:bg-opacity-60:hover{--tw-bg-opacity:0.6}.md\\:hover\\:bg-opacity-70:hover{--tw-bg-opacity:0.7}.md\\:hover\\:bg-opacity-75:hover{--tw-bg-opacity:0.75}.md\\:hover\\:bg-opacity-80:hover{--tw-bg-opacity:0.8}.md\\:hover\\:bg-opacity-90:hover{--tw-bg-opacity:0.9}.md\\:hover\\:bg-opacity-95:hover{--tw-bg-opacity:0.95}.md\\:hover\\:bg-opacity-100:hover{--tw-bg-opacity:1}.md\\:focus\\:bg-opacity-0:focus{--tw-bg-opacity:0}.md\\:focus\\:bg-opacity-5:focus{--tw-bg-opacity:0.05}.md\\:focus\\:bg-opacity-10:focus{--tw-bg-opacity:0.1}.md\\:focus\\:bg-opacity-20:focus{--tw-bg-opacity:0.2}.md\\:focus\\:bg-opacity-25:focus{--tw-bg-opacity:0.25}.md\\:focus\\:bg-opacity-30:focus{--tw-bg-opacity:0.3}.md\\:focus\\:bg-opacity-40:focus{--tw-bg-opacity:0.4}.md\\:focus\\:bg-opacity-50:focus{--tw-bg-opacity:0.5}.md\\:focus\\:bg-opacity-60:focus{--tw-bg-opacity:0.6}.md\\:focus\\:bg-opacity-70:focus{--tw-bg-opacity:0.7}.md\\:focus\\:bg-opacity-75:focus{--tw-bg-opacity:0.75}.md\\:focus\\:bg-opacity-80:focus{--tw-bg-opacity:0.8}.md\\:focus\\:bg-opacity-90:focus{--tw-bg-opacity:0.9}.md\\:focus\\:bg-opacity-95:focus{--tw-bg-opacity:0.95}.md\\:focus\\:bg-opacity-100:focus{--tw-bg-opacity:1}@media(prefers-color-scheme: dark){.md\\:dark\\:bg-opacity-0{--tw-bg-opacity:0}.md\\:dark\\:bg-opacity-5{--tw-bg-opacity:0.05}.md\\:dark\\:bg-opacity-10{--tw-bg-opacity:0.1}.md\\:dark\\:bg-opacity-20{--tw-bg-opacity:0.2}.md\\:dark\\:bg-opacity-25{--tw-bg-opacity:0.25}.md\\:dark\\:bg-opacity-30{--tw-bg-opacity:0.3}.md\\:dark\\:bg-opacity-40{--tw-bg-opacity:0.4}.md\\:dark\\:bg-opacity-50{--tw-bg-opacity:0.5}.md\\:dark\\:bg-opacity-60{--tw-bg-opacity:0.6}.md\\:dark\\:bg-opacity-70{--tw-bg-opacity:0.7}.md\\:dark\\:bg-opacity-75{--tw-bg-opacity:0.75}.md\\:dark\\:bg-opacity-80{--tw-bg-opacity:0.8}.md\\:dark\\:bg-opacity-90{--tw-bg-opacity:0.9}.md\\:dark\\:bg-opacity-95{--tw-bg-opacity:0.95}.md\\:dark\\:bg-opacity-100{--tw-bg-opacity:1}.group:hover .md\\:dark\\:group-hover\\:bg-opacity-0{--tw-bg-opacity:0}.group:hover .md\\:dark\\:group-hover\\:bg-opacity-5{--tw-bg-opacity:0.05}.group:hover .md\\:dark\\:group-hover\\:bg-opacity-10{--tw-bg-opacity:0.1}.group:hover .md\\:dark\\:group-hover\\:bg-opacity-20{--tw-bg-opacity:0.2}.group:hover .md\\:dark\\:group-hover\\:bg-opacity-25{--tw-bg-opacity:0.25}.group:hover .md\\:dark\\:group-hover\\:bg-opacity-30{--tw-bg-opacity:0.3}.group:hover .md\\:dark\\:group-hover\\:bg-opacity-40{--tw-bg-opacity:0.4}.group:hover .md\\:dark\\:group-hover\\:bg-opacity-50{--tw-bg-opacity:0.5}.group:hover .md\\:dark\\:group-hover\\:bg-opacity-60{--tw-bg-opacity:0.6}.group:hover .md\\:dark\\:group-hover\\:bg-opacity-70{--tw-bg-opacity:0.7}.group:hover .md\\:dark\\:group-hover\\:bg-opacity-75{--tw-bg-opacity:0.75}.group:hover .md\\:dark\\:group-hover\\:bg-opacity-80{--tw-bg-opacity:0.8}.group:hover .md\\:dark\\:group-hover\\:bg-opacity-90{--tw-bg-opacity:0.9}.group:hover .md\\:dark\\:group-hover\\:bg-opacity-95{--tw-bg-opacity:0.95}.group:hover .md\\:dark\\:group-hover\\:bg-opacity-100{--tw-bg-opacity:1}.md\\:dark\\:focus-within\\:bg-opacity-0:focus-within{--tw-bg-opacity:0}.md\\:dark\\:focus-within\\:bg-opacity-5:focus-within{--tw-bg-opacity:0.05}.md\\:dark\\:focus-within\\:bg-opacity-10:focus-within{--tw-bg-opacity:0.1}.md\\:dark\\:focus-within\\:bg-opacity-20:focus-within{--tw-bg-opacity:0.2}.md\\:dark\\:focus-within\\:bg-opacity-25:focus-within{--tw-bg-opacity:0.25}.md\\:dark\\:focus-within\\:bg-opacity-30:focus-within{--tw-bg-opacity:0.3}.md\\:dark\\:focus-within\\:bg-opacity-40:focus-within{--tw-bg-opacity:0.4}.md\\:dark\\:focus-within\\:bg-opacity-50:focus-within{--tw-bg-opacity:0.5}.md\\:dark\\:focus-within\\:bg-opacity-60:focus-within{--tw-bg-opacity:0.6}.md\\:dark\\:focus-within\\:bg-opacity-70:focus-within{--tw-bg-opacity:0.7}.md\\:dark\\:focus-within\\:bg-opacity-75:focus-within{--tw-bg-opacity:0.75}.md\\:dark\\:focus-within\\:bg-opacity-80:focus-within{--tw-bg-opacity:0.8}.md\\:dark\\:focus-within\\:bg-opacity-90:focus-within{--tw-bg-opacity:0.9}.md\\:dark\\:focus-within\\:bg-opacity-95:focus-within{--tw-bg-opacity:0.95}.md\\:dark\\:focus-within\\:bg-opacity-100:focus-within{--tw-bg-opacity:1}.md\\:dark\\:hover\\:bg-opacity-0:hover{--tw-bg-opacity:0}.md\\:dark\\:hover\\:bg-opacity-5:hover{--tw-bg-opacity:0.05}.md\\:dark\\:hover\\:bg-opacity-10:hover{--tw-bg-opacity:0.1}.md\\:dark\\:hover\\:bg-opacity-20:hover{--tw-bg-opacity:0.2}.md\\:dark\\:hover\\:bg-opacity-25:hover{--tw-bg-opacity:0.25}.md\\:dark\\:hover\\:bg-opacity-30:hover{--tw-bg-opacity:0.3}.md\\:dark\\:hover\\:bg-opacity-40:hover{--tw-bg-opacity:0.4}.md\\:dark\\:hover\\:bg-opacity-50:hover{--tw-bg-opacity:0.5}.md\\:dark\\:hover\\:bg-opacity-60:hover{--tw-bg-opacity:0.6}.md\\:dark\\:hover\\:bg-opacity-70:hover{--tw-bg-opacity:0.7}.md\\:dark\\:hover\\:bg-opacity-75:hover{--tw-bg-opacity:0.75}.md\\:dark\\:hover\\:bg-opacity-80:hover{--tw-bg-opacity:0.8}.md\\:dark\\:hover\\:bg-opacity-90:hover{--tw-bg-opacity:0.9}.md\\:dark\\:hover\\:bg-opacity-95:hover{--tw-bg-opacity:0.95}.md\\:dark\\:hover\\:bg-opacity-100:hover{--tw-bg-opacity:1}.md\\:dark\\:focus\\:bg-opacity-0:focus{--tw-bg-opacity:0}.md\\:dark\\:focus\\:bg-opacity-5:focus{--tw-bg-opacity:0.05}.md\\:dark\\:focus\\:bg-opacity-10:focus{--tw-bg-opacity:0.1}.md\\:dark\\:focus\\:bg-opacity-20:focus{--tw-bg-opacity:0.2}.md\\:dark\\:focus\\:bg-opacity-25:focus{--tw-bg-opacity:0.25}.md\\:dark\\:focus\\:bg-opacity-30:focus{--tw-bg-opacity:0.3}.md\\:dark\\:focus\\:bg-opacity-40:focus{--tw-bg-opacity:0.4}.md\\:dark\\:focus\\:bg-opacity-50:focus{--tw-bg-opacity:0.5}.md\\:dark\\:focus\\:bg-opacity-60:focus{--tw-bg-opacity:0.6}.md\\:dark\\:focus\\:bg-opacity-70:focus{--tw-bg-opacity:0.7}.md\\:dark\\:focus\\:bg-opacity-75:focus{--tw-bg-opacity:0.75}.md\\:dark\\:focus\\:bg-opacity-80:focus{--tw-bg-opacity:0.8}.md\\:dark\\:focus\\:bg-opacity-90:focus{--tw-bg-opacity:0.9}.md\\:dark\\:focus\\:bg-opacity-95:focus{--tw-bg-opacity:0.95}.md\\:dark\\:focus\\:bg-opacity-100:focus{--tw-bg-opacity:1}}.md\\:bg-none{background-image:none}.md\\:bg-gradient-to-t{background-image:linear-gradient(to top, var(--tw-gradient-stops))}.md\\:bg-gradient-to-tr{background-image:linear-gradient(to top right, var(--tw-gradient-stops))}.md\\:bg-gradient-to-r{background-image:linear-gradient(to right, var(--tw-gradient-stops))}.md\\:bg-gradient-to-br{background-image:linear-gradient(to bottom right, var(--tw-gradient-stops))}.md\\:bg-gradient-to-b{background-image:linear-gradient(to bottom, var(--tw-gradient-stops))}.md\\:bg-gradient-to-bl{background-image:linear-gradient(to bottom left, var(--tw-gradient-stops))}.md\\:bg-gradient-to-l{background-image:linear-gradient(to left, var(--tw-gradient-stops))}.md\\:bg-gradient-to-tl{background-image:linear-gradient(to top left, var(--tw-gradient-stops))}.md\\:from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.md\\:from-current{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:from-white{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:from-lightgrey{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.md\\:from-midgrey{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:from-darkgrey{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.md\\:from-grey{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.md\\:from-black{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.md\\:from-highlight{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.md\\:from-highlight_hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.md\\:from-button_outline{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:from-error{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.md\\:from-text-light{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.md\\:from-text-dimmed{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:from-text-dark{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:from-body-light{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:from-body-dark{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.md\\:from-button{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.md\\:from-button_hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.md\\:hover\\:from-transparent:hover{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.md\\:hover\\:from-current:hover{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:hover\\:from-white:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:hover\\:from-lightgrey:hover{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.md\\:hover\\:from-midgrey:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:hover\\:from-darkgrey:hover{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.md\\:hover\\:from-grey:hover{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.md\\:hover\\:from-black:hover{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.md\\:hover\\:from-highlight:hover{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.md\\:hover\\:from-highlight_hover:hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.md\\:hover\\:from-button_outline:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:hover\\:from-error:hover{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.md\\:hover\\:from-text-light:hover{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.md\\:hover\\:from-text-dimmed:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:hover\\:from-text-dark:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:hover\\:from-body-light:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:hover\\:from-body-dark:hover{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.md\\:hover\\:from-button:hover{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.md\\:hover\\:from-button_hover:hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.md\\:focus\\:from-transparent:focus{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.md\\:focus\\:from-current:focus{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:focus\\:from-white:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:focus\\:from-lightgrey:focus{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.md\\:focus\\:from-midgrey:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:focus\\:from-darkgrey:focus{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.md\\:focus\\:from-grey:focus{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.md\\:focus\\:from-black:focus{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.md\\:focus\\:from-highlight:focus{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.md\\:focus\\:from-highlight_hover:focus{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.md\\:focus\\:from-button_outline:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:focus\\:from-error:focus{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.md\\:focus\\:from-text-light:focus{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.md\\:focus\\:from-text-dimmed:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:focus\\:from-text-dark:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:focus\\:from-body-light:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:focus\\:from-body-dark:focus{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.md\\:focus\\:from-button:focus{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.md\\:focus\\:from-button_hover:focus{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}@media(prefers-color-scheme: dark){.md\\:dark\\:from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.md\\:dark\\:from-current{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:dark\\:from-white{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:dark\\:from-lightgrey{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.md\\:dark\\:from-midgrey{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:dark\\:from-darkgrey{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.md\\:dark\\:from-grey{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.md\\:dark\\:from-black{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.md\\:dark\\:from-highlight{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.md\\:dark\\:from-highlight_hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.md\\:dark\\:from-button_outline{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:dark\\:from-error{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.md\\:dark\\:from-text-light{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.md\\:dark\\:from-text-dimmed{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:dark\\:from-text-dark{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:dark\\:from-body-light{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:dark\\:from-body-dark{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.md\\:dark\\:from-button{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.md\\:dark\\:from-button_hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.md\\:dark\\:hover\\:from-transparent:hover{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.md\\:dark\\:hover\\:from-current:hover{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:dark\\:hover\\:from-white:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:dark\\:hover\\:from-lightgrey:hover{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.md\\:dark\\:hover\\:from-midgrey:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:dark\\:hover\\:from-darkgrey:hover{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.md\\:dark\\:hover\\:from-grey:hover{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.md\\:dark\\:hover\\:from-black:hover{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.md\\:dark\\:hover\\:from-highlight:hover{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.md\\:dark\\:hover\\:from-highlight_hover:hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.md\\:dark\\:hover\\:from-button_outline:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:dark\\:hover\\:from-error:hover{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.md\\:dark\\:hover\\:from-text-light:hover{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.md\\:dark\\:hover\\:from-text-dimmed:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:dark\\:hover\\:from-text-dark:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:dark\\:hover\\:from-body-light:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:dark\\:hover\\:from-body-dark:hover{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.md\\:dark\\:hover\\:from-button:hover{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.md\\:dark\\:hover\\:from-button_hover:hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.md\\:dark\\:focus\\:from-transparent:focus{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.md\\:dark\\:focus\\:from-current:focus{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:dark\\:focus\\:from-white:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:dark\\:focus\\:from-lightgrey:focus{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.md\\:dark\\:focus\\:from-midgrey:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:dark\\:focus\\:from-darkgrey:focus{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.md\\:dark\\:focus\\:from-grey:focus{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.md\\:dark\\:focus\\:from-black:focus{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.md\\:dark\\:focus\\:from-highlight:focus{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.md\\:dark\\:focus\\:from-highlight_hover:focus{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.md\\:dark\\:focus\\:from-button_outline:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:dark\\:focus\\:from-error:focus{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.md\\:dark\\:focus\\:from-text-light:focus{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.md\\:dark\\:focus\\:from-text-dimmed:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:dark\\:focus\\:from-text-dark:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:dark\\:focus\\:from-body-light:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:dark\\:focus\\:from-body-dark:focus{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.md\\:dark\\:focus\\:from-button:focus{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.md\\:dark\\:focus\\:from-button_hover:focus{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}}.md\\:via-transparent{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.md\\:via-current{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:via-white{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:via-lightgrey{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.md\\:via-midgrey{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:via-darkgrey{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.md\\:via-grey{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.md\\:via-black{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.md\\:via-highlight{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.md\\:via-highlight_hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.md\\:via-button_outline{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:via-error{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.md\\:via-text-light{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.md\\:via-text-dimmed{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:via-text-dark{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:via-body-light{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:via-body-dark{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.md\\:via-button{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.md\\:via-button_hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.md\\:hover\\:via-transparent:hover{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.md\\:hover\\:via-current:hover{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:hover\\:via-white:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:hover\\:via-lightgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.md\\:hover\\:via-midgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:hover\\:via-darkgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.md\\:hover\\:via-grey:hover{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.md\\:hover\\:via-black:hover{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.md\\:hover\\:via-highlight:hover{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.md\\:hover\\:via-highlight_hover:hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.md\\:hover\\:via-button_outline:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:hover\\:via-error:hover{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.md\\:hover\\:via-text-light:hover{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.md\\:hover\\:via-text-dimmed:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:hover\\:via-text-dark:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:hover\\:via-body-light:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:hover\\:via-body-dark:hover{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.md\\:hover\\:via-button:hover{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.md\\:hover\\:via-button_hover:hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.md\\:focus\\:via-transparent:focus{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.md\\:focus\\:via-current:focus{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:focus\\:via-white:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:focus\\:via-lightgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.md\\:focus\\:via-midgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:focus\\:via-darkgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.md\\:focus\\:via-grey:focus{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.md\\:focus\\:via-black:focus{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.md\\:focus\\:via-highlight:focus{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.md\\:focus\\:via-highlight_hover:focus{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.md\\:focus\\:via-button_outline:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:focus\\:via-error:focus{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.md\\:focus\\:via-text-light:focus{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.md\\:focus\\:via-text-dimmed:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:focus\\:via-text-dark:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:focus\\:via-body-light:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:focus\\:via-body-dark:focus{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.md\\:focus\\:via-button:focus{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.md\\:focus\\:via-button_hover:focus{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}@media(prefers-color-scheme: dark){.md\\:dark\\:via-transparent{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.md\\:dark\\:via-current{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:dark\\:via-white{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:dark\\:via-lightgrey{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.md\\:dark\\:via-midgrey{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:dark\\:via-darkgrey{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.md\\:dark\\:via-grey{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.md\\:dark\\:via-black{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.md\\:dark\\:via-highlight{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.md\\:dark\\:via-highlight_hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.md\\:dark\\:via-button_outline{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:dark\\:via-error{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.md\\:dark\\:via-text-light{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.md\\:dark\\:via-text-dimmed{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:dark\\:via-text-dark{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:dark\\:via-body-light{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:dark\\:via-body-dark{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.md\\:dark\\:via-button{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.md\\:dark\\:via-button_hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.md\\:dark\\:hover\\:via-transparent:hover{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.md\\:dark\\:hover\\:via-current:hover{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:dark\\:hover\\:via-white:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:dark\\:hover\\:via-lightgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.md\\:dark\\:hover\\:via-midgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:dark\\:hover\\:via-darkgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.md\\:dark\\:hover\\:via-grey:hover{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.md\\:dark\\:hover\\:via-black:hover{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.md\\:dark\\:hover\\:via-highlight:hover{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.md\\:dark\\:hover\\:via-highlight_hover:hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.md\\:dark\\:hover\\:via-button_outline:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:dark\\:hover\\:via-error:hover{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.md\\:dark\\:hover\\:via-text-light:hover{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.md\\:dark\\:hover\\:via-text-dimmed:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:dark\\:hover\\:via-text-dark:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:dark\\:hover\\:via-body-light:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:dark\\:hover\\:via-body-dark:hover{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.md\\:dark\\:hover\\:via-button:hover{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.md\\:dark\\:hover\\:via-button_hover:hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.md\\:dark\\:focus\\:via-transparent:focus{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.md\\:dark\\:focus\\:via-current:focus{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:dark\\:focus\\:via-white:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:dark\\:focus\\:via-lightgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.md\\:dark\\:focus\\:via-midgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:dark\\:focus\\:via-darkgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.md\\:dark\\:focus\\:via-grey:focus{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.md\\:dark\\:focus\\:via-black:focus{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.md\\:dark\\:focus\\:via-highlight:focus{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.md\\:dark\\:focus\\:via-highlight_hover:focus{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.md\\:dark\\:focus\\:via-button_outline:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:dark\\:focus\\:via-error:focus{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.md\\:dark\\:focus\\:via-text-light:focus{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.md\\:dark\\:focus\\:via-text-dimmed:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:dark\\:focus\\:via-text-dark:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:dark\\:focus\\:via-body-light:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:dark\\:focus\\:via-body-dark:focus{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.md\\:dark\\:focus\\:via-button:focus{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.md\\:dark\\:focus\\:via-button_hover:focus{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}}.md\\:to-transparent{--tw-gradient-to:transparent}.md\\:to-current{--tw-gradient-to:currentColor}.md\\:to-white{--tw-gradient-to:#fff}.md\\:to-lightgrey{--tw-gradient-to:#F7F7F7}.md\\:to-midgrey{--tw-gradient-to:#cfcfcf}.md\\:to-darkgrey{--tw-gradient-to:#7f7f7f}.md\\:to-grey{--tw-gradient-to:#1e1e1e}.md\\:to-black{--tw-gradient-to:#0f0f0f}.md\\:to-highlight{--tw-gradient-to:#0071e3}.md\\:to-highlight_hover{--tw-gradient-to:#0077ed}.md\\:to-button_outline{--tw-gradient-to:#cfcfcf}.md\\:to-error{--tw-gradient-to:#ff453a}.md\\:to-text-light{--tw-gradient-to:#0f0f0f}.md\\:to-text-dimmed{--tw-gradient-to:#cfcfcf}.md\\:to-text-dark{--tw-gradient-to:#fff}.md\\:to-body-light{--tw-gradient-to:#fff}.md\\:to-body-dark{--tw-gradient-to:#1e1e1e}.md\\:to-button{--tw-gradient-to:#0071e3}.md\\:to-button_hover{--tw-gradient-to:#0077ed}.md\\:hover\\:to-transparent:hover{--tw-gradient-to:transparent}.md\\:hover\\:to-current:hover{--tw-gradient-to:currentColor}.md\\:hover\\:to-white:hover{--tw-gradient-to:#fff}.md\\:hover\\:to-lightgrey:hover{--tw-gradient-to:#F7F7F7}.md\\:hover\\:to-midgrey:hover{--tw-gradient-to:#cfcfcf}.md\\:hover\\:to-darkgrey:hover{--tw-gradient-to:#7f7f7f}.md\\:hover\\:to-grey:hover{--tw-gradient-to:#1e1e1e}.md\\:hover\\:to-black:hover{--tw-gradient-to:#0f0f0f}.md\\:hover\\:to-highlight:hover{--tw-gradient-to:#0071e3}.md\\:hover\\:to-highlight_hover:hover{--tw-gradient-to:#0077ed}.md\\:hover\\:to-button_outline:hover{--tw-gradient-to:#cfcfcf}.md\\:hover\\:to-error:hover{--tw-gradient-to:#ff453a}.md\\:hover\\:to-text-light:hover{--tw-gradient-to:#0f0f0f}.md\\:hover\\:to-text-dimmed:hover{--tw-gradient-to:#cfcfcf}.md\\:hover\\:to-text-dark:hover{--tw-gradient-to:#fff}.md\\:hover\\:to-body-light:hover{--tw-gradient-to:#fff}.md\\:hover\\:to-body-dark:hover{--tw-gradient-to:#1e1e1e}.md\\:hover\\:to-button:hover{--tw-gradient-to:#0071e3}.md\\:hover\\:to-button_hover:hover{--tw-gradient-to:#0077ed}.md\\:focus\\:to-transparent:focus{--tw-gradient-to:transparent}.md\\:focus\\:to-current:focus{--tw-gradient-to:currentColor}.md\\:focus\\:to-white:focus{--tw-gradient-to:#fff}.md\\:focus\\:to-lightgrey:focus{--tw-gradient-to:#F7F7F7}.md\\:focus\\:to-midgrey:focus{--tw-gradient-to:#cfcfcf}.md\\:focus\\:to-darkgrey:focus{--tw-gradient-to:#7f7f7f}.md\\:focus\\:to-grey:focus{--tw-gradient-to:#1e1e1e}.md\\:focus\\:to-black:focus{--tw-gradient-to:#0f0f0f}.md\\:focus\\:to-highlight:focus{--tw-gradient-to:#0071e3}.md\\:focus\\:to-highlight_hover:focus{--tw-gradient-to:#0077ed}.md\\:focus\\:to-button_outline:focus{--tw-gradient-to:#cfcfcf}.md\\:focus\\:to-error:focus{--tw-gradient-to:#ff453a}.md\\:focus\\:to-text-light:focus{--tw-gradient-to:#0f0f0f}.md\\:focus\\:to-text-dimmed:focus{--tw-gradient-to:#cfcfcf}.md\\:focus\\:to-text-dark:focus{--tw-gradient-to:#fff}.md\\:focus\\:to-body-light:focus{--tw-gradient-to:#fff}.md\\:focus\\:to-body-dark:focus{--tw-gradient-to:#1e1e1e}.md\\:focus\\:to-button:focus{--tw-gradient-to:#0071e3}.md\\:focus\\:to-button_hover:focus{--tw-gradient-to:#0077ed}@media(prefers-color-scheme: dark){.md\\:dark\\:to-transparent{--tw-gradient-to:transparent}.md\\:dark\\:to-current{--tw-gradient-to:currentColor}.md\\:dark\\:to-white{--tw-gradient-to:#fff}.md\\:dark\\:to-lightgrey{--tw-gradient-to:#F7F7F7}.md\\:dark\\:to-midgrey{--tw-gradient-to:#cfcfcf}.md\\:dark\\:to-darkgrey{--tw-gradient-to:#7f7f7f}.md\\:dark\\:to-grey{--tw-gradient-to:#1e1e1e}.md\\:dark\\:to-black{--tw-gradient-to:#0f0f0f}.md\\:dark\\:to-highlight{--tw-gradient-to:#0071e3}.md\\:dark\\:to-highlight_hover{--tw-gradient-to:#0077ed}.md\\:dark\\:to-button_outline{--tw-gradient-to:#cfcfcf}.md\\:dark\\:to-error{--tw-gradient-to:#ff453a}.md\\:dark\\:to-text-light{--tw-gradient-to:#0f0f0f}.md\\:dark\\:to-text-dimmed{--tw-gradient-to:#cfcfcf}.md\\:dark\\:to-text-dark{--tw-gradient-to:#fff}.md\\:dark\\:to-body-light{--tw-gradient-to:#fff}.md\\:dark\\:to-body-dark{--tw-gradient-to:#1e1e1e}.md\\:dark\\:to-button{--tw-gradient-to:#0071e3}.md\\:dark\\:to-button_hover{--tw-gradient-to:#0077ed}.md\\:dark\\:hover\\:to-transparent:hover{--tw-gradient-to:transparent}.md\\:dark\\:hover\\:to-current:hover{--tw-gradient-to:currentColor}.md\\:dark\\:hover\\:to-white:hover{--tw-gradient-to:#fff}.md\\:dark\\:hover\\:to-lightgrey:hover{--tw-gradient-to:#F7F7F7}.md\\:dark\\:hover\\:to-midgrey:hover{--tw-gradient-to:#cfcfcf}.md\\:dark\\:hover\\:to-darkgrey:hover{--tw-gradient-to:#7f7f7f}.md\\:dark\\:hover\\:to-grey:hover{--tw-gradient-to:#1e1e1e}.md\\:dark\\:hover\\:to-black:hover{--tw-gradient-to:#0f0f0f}.md\\:dark\\:hover\\:to-highlight:hover{--tw-gradient-to:#0071e3}.md\\:dark\\:hover\\:to-highlight_hover:hover{--tw-gradient-to:#0077ed}.md\\:dark\\:hover\\:to-button_outline:hover{--tw-gradient-to:#cfcfcf}.md\\:dark\\:hover\\:to-error:hover{--tw-gradient-to:#ff453a}.md\\:dark\\:hover\\:to-text-light:hover{--tw-gradient-to:#0f0f0f}.md\\:dark\\:hover\\:to-text-dimmed:hover{--tw-gradient-to:#cfcfcf}.md\\:dark\\:hover\\:to-text-dark:hover{--tw-gradient-to:#fff}.md\\:dark\\:hover\\:to-body-light:hover{--tw-gradient-to:#fff}.md\\:dark\\:hover\\:to-body-dark:hover{--tw-gradient-to:#1e1e1e}.md\\:dark\\:hover\\:to-button:hover{--tw-gradient-to:#0071e3}.md\\:dark\\:hover\\:to-button_hover:hover{--tw-gradient-to:#0077ed}.md\\:dark\\:focus\\:to-transparent:focus{--tw-gradient-to:transparent}.md\\:dark\\:focus\\:to-current:focus{--tw-gradient-to:currentColor}.md\\:dark\\:focus\\:to-white:focus{--tw-gradient-to:#fff}.md\\:dark\\:focus\\:to-lightgrey:focus{--tw-gradient-to:#F7F7F7}.md\\:dark\\:focus\\:to-midgrey:focus{--tw-gradient-to:#cfcfcf}.md\\:dark\\:focus\\:to-darkgrey:focus{--tw-gradient-to:#7f7f7f}.md\\:dark\\:focus\\:to-grey:focus{--tw-gradient-to:#1e1e1e}.md\\:dark\\:focus\\:to-black:focus{--tw-gradient-to:#0f0f0f}.md\\:dark\\:focus\\:to-highlight:focus{--tw-gradient-to:#0071e3}.md\\:dark\\:focus\\:to-highlight_hover:focus{--tw-gradient-to:#0077ed}.md\\:dark\\:focus\\:to-button_outline:focus{--tw-gradient-to:#cfcfcf}.md\\:dark\\:focus\\:to-error:focus{--tw-gradient-to:#ff453a}.md\\:dark\\:focus\\:to-text-light:focus{--tw-gradient-to:#0f0f0f}.md\\:dark\\:focus\\:to-text-dimmed:focus{--tw-gradient-to:#cfcfcf}.md\\:dark\\:focus\\:to-text-dark:focus{--tw-gradient-to:#fff}.md\\:dark\\:focus\\:to-body-light:focus{--tw-gradient-to:#fff}.md\\:dark\\:focus\\:to-body-dark:focus{--tw-gradient-to:#1e1e1e}.md\\:dark\\:focus\\:to-button:focus{--tw-gradient-to:#0071e3}.md\\:dark\\:focus\\:to-button_hover:focus{--tw-gradient-to:#0077ed}}.md\\:decoration-slice{-webkit-box-decoration-break:slice;box-decoration-break:slice}.md\\:decoration-clone{-webkit-box-decoration-break:clone;box-decoration-break:clone}.md\\:bg-auto{background-size:auto}.md\\:bg-cover{background-size:cover}.md\\:bg-contain{background-size:contain}.md\\:bg-fixed{background-attachment:fixed}.md\\:bg-local{background-attachment:local}.md\\:bg-scroll{background-attachment:scroll}.md\\:bg-clip-border{background-clip:border-box}.md\\:bg-clip-padding{background-clip:padding-box}.md\\:bg-clip-content{background-clip:content-box}.md\\:bg-clip-text{background-clip:text}.md\\:bg-bottom{background-position:bottom}.md\\:bg-center{background-position:center}.md\\:bg-left{background-position:left}.md\\:bg-left-bottom{background-position:left bottom}.md\\:bg-left-top{background-position:left top}.md\\:bg-right{background-position:right}.md\\:bg-right-bottom{background-position:right bottom}.md\\:bg-right-top{background-position:right top}.md\\:bg-top{background-position:top}.md\\:bg-repeat{background-repeat:repeat}.md\\:bg-no-repeat{background-repeat:no-repeat}.md\\:bg-repeat-x{background-repeat:repeat-x}.md\\:bg-repeat-y{background-repeat:repeat-y}.md\\:bg-repeat-round{background-repeat:round}.md\\:bg-repeat-space{background-repeat:space}.md\\:bg-origin-border{background-origin:border-box}.md\\:bg-origin-padding{background-origin:padding-box}.md\\:bg-origin-content{background-origin:content-box}.md\\:fill-current{fill:currentColor}.md\\:stroke-current{stroke:currentColor}.md\\:stroke-0{stroke-width:0}.md\\:stroke-1{stroke-width:1}.md\\:stroke-2{stroke-width:2}.md\\:object-contain{object-fit:contain}.md\\:object-cover{object-fit:cover}.md\\:object-fill{object-fit:fill}.md\\:object-none{object-fit:none}.md\\:object-scale-down{object-fit:scale-down}.md\\:object-bottom{object-position:bottom}.md\\:object-center{object-position:center}.md\\:object-left{object-position:left}.md\\:object-left-bottom{object-position:left bottom}.md\\:object-left-top{object-position:left top}.md\\:object-right{object-position:right}.md\\:object-right-bottom{object-position:right bottom}.md\\:object-right-top{object-position:right top}.md\\:object-top{object-position:top}.md\\:p-0{padding:0px}.md\\:p-1{padding:0.25rem}.md\\:p-2{padding:0.5rem}.md\\:p-3{padding:0.75rem}.md\\:p-4{padding:1rem}.md\\:p-5{padding:1.25rem}.md\\:p-6{padding:1.5rem}.md\\:p-7{padding:1.75rem}.md\\:p-8{padding:2rem}.md\\:p-9{padding:2.25rem}.md\\:p-10{padding:2.5rem}.md\\:p-11{padding:2.75rem}.md\\:p-12{padding:3rem}.md\\:p-14{padding:3.5rem}.md\\:p-16{padding:4rem}.md\\:p-20{padding:5rem}.md\\:p-24{padding:6rem}.md\\:p-28{padding:7rem}.md\\:p-32{padding:8rem}.md\\:p-36{padding:9rem}.md\\:p-40{padding:10rem}.md\\:p-44{padding:11rem}.md\\:p-48{padding:12rem}.md\\:p-52{padding:13rem}.md\\:p-56{padding:14rem}.md\\:p-60{padding:15rem}.md\\:p-64{padding:16rem}.md\\:p-72{padding:18rem}.md\\:p-80{padding:20rem}.md\\:p-96{padding:24rem}.md\\:p-px{padding:1px}.md\\:p-0\\.5{padding:0.125rem}.md\\:p-1\\.5{padding:0.375rem}.md\\:p-2\\.5{padding:0.625rem}.md\\:p-3\\.5{padding:0.875rem}.md\\:px-0{padding-left:0px;padding-right:0px}.md\\:px-1{padding-left:0.25rem;padding-right:0.25rem}.md\\:px-2{padding-left:0.5rem;padding-right:0.5rem}.md\\:px-3{padding-left:0.75rem;padding-right:0.75rem}.md\\:px-4{padding-left:1rem;padding-right:1rem}.md\\:px-5{padding-left:1.25rem;padding-right:1.25rem}.md\\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\\:px-7{padding-left:1.75rem;padding-right:1.75rem}.md\\:px-8{padding-left:2rem;padding-right:2rem}.md\\:px-9{padding-left:2.25rem;padding-right:2.25rem}.md\\:px-10{padding-left:2.5rem;padding-right:2.5rem}.md\\:px-11{padding-left:2.75rem;padding-right:2.75rem}.md\\:px-12{padding-left:3rem;padding-right:3rem}.md\\:px-14{padding-left:3.5rem;padding-right:3.5rem}.md\\:px-16{padding-left:4rem;padding-right:4rem}.md\\:px-20{padding-left:5rem;padding-right:5rem}.md\\:px-24{padding-left:6rem;padding-right:6rem}.md\\:px-28{padding-left:7rem;padding-right:7rem}.md\\:px-32{padding-left:8rem;padding-right:8rem}.md\\:px-36{padding-left:9rem;padding-right:9rem}.md\\:px-40{padding-left:10rem;padding-right:10rem}.md\\:px-44{padding-left:11rem;padding-right:11rem}.md\\:px-48{padding-left:12rem;padding-right:12rem}.md\\:px-52{padding-left:13rem;padding-right:13rem}.md\\:px-56{padding-left:14rem;padding-right:14rem}.md\\:px-60{padding-left:15rem;padding-right:15rem}.md\\:px-64{padding-left:16rem;padding-right:16rem}.md\\:px-72{padding-left:18rem;padding-right:18rem}.md\\:px-80{padding-left:20rem;padding-right:20rem}.md\\:px-96{padding-left:24rem;padding-right:24rem}.md\\:px-px{padding-left:1px;padding-right:1px}.md\\:px-0\\.5{padding-left:0.125rem;padding-right:0.125rem}.md\\:px-1\\.5{padding-left:0.375rem;padding-right:0.375rem}.md\\:px-2\\.5{padding-left:0.625rem;padding-right:0.625rem}.md\\:px-3\\.5{padding-left:0.875rem;padding-right:0.875rem}.md\\:py-0{padding-top:0px;padding-bottom:0px}.md\\:py-1{padding-top:0.25rem;padding-bottom:0.25rem}.md\\:py-2{padding-top:0.5rem;padding-bottom:0.5rem}.md\\:py-3{padding-top:0.75rem;padding-bottom:0.75rem}.md\\:py-4{padding-top:1rem;padding-bottom:1rem}.md\\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.md\\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.md\\:py-7{padding-top:1.75rem;padding-bottom:1.75rem}.md\\:py-8{padding-top:2rem;padding-bottom:2rem}.md\\:py-9{padding-top:2.25rem;padding-bottom:2.25rem}.md\\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.md\\:py-11{padding-top:2.75rem;padding-bottom:2.75rem}.md\\:py-12{padding-top:3rem;padding-bottom:3rem}.md\\:py-14{padding-top:3.5rem;padding-bottom:3.5rem}.md\\:py-16{padding-top:4rem;padding-bottom:4rem}.md\\:py-20{padding-top:5rem;padding-bottom:5rem}.md\\:py-24{padding-top:6rem;padding-bottom:6rem}.md\\:py-28{padding-top:7rem;padding-bottom:7rem}.md\\:py-32{padding-top:8rem;padding-bottom:8rem}.md\\:py-36{padding-top:9rem;padding-bottom:9rem}.md\\:py-40{padding-top:10rem;padding-bottom:10rem}.md\\:py-44{padding-top:11rem;padding-bottom:11rem}.md\\:py-48{padding-top:12rem;padding-bottom:12rem}.md\\:py-52{padding-top:13rem;padding-bottom:13rem}.md\\:py-56{padding-top:14rem;padding-bottom:14rem}.md\\:py-60{padding-top:15rem;padding-bottom:15rem}.md\\:py-64{padding-top:16rem;padding-bottom:16rem}.md\\:py-72{padding-top:18rem;padding-bottom:18rem}.md\\:py-80{padding-top:20rem;padding-bottom:20rem}.md\\:py-96{padding-top:24rem;padding-bottom:24rem}.md\\:py-px{padding-top:1px;padding-bottom:1px}.md\\:py-0\\.5{padding-top:0.125rem;padding-bottom:0.125rem}.md\\:py-1\\.5{padding-top:0.375rem;padding-bottom:0.375rem}.md\\:py-2\\.5{padding-top:0.625rem;padding-bottom:0.625rem}.md\\:py-3\\.5{padding-top:0.875rem;padding-bottom:0.875rem}.md\\:pt-0{padding-top:0px}.md\\:pt-1{padding-top:0.25rem}.md\\:pt-2{padding-top:0.5rem}.md\\:pt-3{padding-top:0.75rem}.md\\:pt-4{padding-top:1rem}.md\\:pt-5{padding-top:1.25rem}.md\\:pt-6{padding-top:1.5rem}.md\\:pt-7{padding-top:1.75rem}.md\\:pt-8{padding-top:2rem}.md\\:pt-9{padding-top:2.25rem}.md\\:pt-10{padding-top:2.5rem}.md\\:pt-11{padding-top:2.75rem}.md\\:pt-12{padding-top:3rem}.md\\:pt-14{padding-top:3.5rem}.md\\:pt-16{padding-top:4rem}.md\\:pt-20{padding-top:5rem}.md\\:pt-24{padding-top:6rem}.md\\:pt-28{padding-top:7rem}.md\\:pt-32{padding-top:8rem}.md\\:pt-36{padding-top:9rem}.md\\:pt-40{padding-top:10rem}.md\\:pt-44{padding-top:11rem}.md\\:pt-48{padding-top:12rem}.md\\:pt-52{padding-top:13rem}.md\\:pt-56{padding-top:14rem}.md\\:pt-60{padding-top:15rem}.md\\:pt-64{padding-top:16rem}.md\\:pt-72{padding-top:18rem}.md\\:pt-80{padding-top:20rem}.md\\:pt-96{padding-top:24rem}.md\\:pt-px{padding-top:1px}.md\\:pt-0\\.5{padding-top:0.125rem}.md\\:pt-1\\.5{padding-top:0.375rem}.md\\:pt-2\\.5{padding-top:0.625rem}.md\\:pt-3\\.5{padding-top:0.875rem}.md\\:pr-0{padding-right:0px}.md\\:pr-1{padding-right:0.25rem}.md\\:pr-2{padding-right:0.5rem}.md\\:pr-3{padding-right:0.75rem}.md\\:pr-4{padding-right:1rem}.md\\:pr-5{padding-right:1.25rem}.md\\:pr-6{padding-right:1.5rem}.md\\:pr-7{padding-right:1.75rem}.md\\:pr-8{padding-right:2rem}.md\\:pr-9{padding-right:2.25rem}.md\\:pr-10{padding-right:2.5rem}.md\\:pr-11{padding-right:2.75rem}.md\\:pr-12{padding-right:3rem}.md\\:pr-14{padding-right:3.5rem}.md\\:pr-16{padding-right:4rem}.md\\:pr-20{padding-right:5rem}.md\\:pr-24{padding-right:6rem}.md\\:pr-28{padding-right:7rem}.md\\:pr-32{padding-right:8rem}.md\\:pr-36{padding-right:9rem}.md\\:pr-40{padding-right:10rem}.md\\:pr-44{padding-right:11rem}.md\\:pr-48{padding-right:12rem}.md\\:pr-52{padding-right:13rem}.md\\:pr-56{padding-right:14rem}.md\\:pr-60{padding-right:15rem}.md\\:pr-64{padding-right:16rem}.md\\:pr-72{padding-right:18rem}.md\\:pr-80{padding-right:20rem}.md\\:pr-96{padding-right:24rem}.md\\:pr-px{padding-right:1px}.md\\:pr-0\\.5{padding-right:0.125rem}.md\\:pr-1\\.5{padding-right:0.375rem}.md\\:pr-2\\.5{padding-right:0.625rem}.md\\:pr-3\\.5{padding-right:0.875rem}.md\\:pb-0{padding-bottom:0px}.md\\:pb-1{padding-bottom:0.25rem}.md\\:pb-2{padding-bottom:0.5rem}.md\\:pb-3{padding-bottom:0.75rem}.md\\:pb-4{padding-bottom:1rem}.md\\:pb-5{padding-bottom:1.25rem}.md\\:pb-6{padding-bottom:1.5rem}.md\\:pb-7{padding-bottom:1.75rem}.md\\:pb-8{padding-bottom:2rem}.md\\:pb-9{padding-bottom:2.25rem}.md\\:pb-10{padding-bottom:2.5rem}.md\\:pb-11{padding-bottom:2.75rem}.md\\:pb-12{padding-bottom:3rem}.md\\:pb-14{padding-bottom:3.5rem}.md\\:pb-16{padding-bottom:4rem}.md\\:pb-20{padding-bottom:5rem}.md\\:pb-24{padding-bottom:6rem}.md\\:pb-28{padding-bottom:7rem}.md\\:pb-32{padding-bottom:8rem}.md\\:pb-36{padding-bottom:9rem}.md\\:pb-40{padding-bottom:10rem}.md\\:pb-44{padding-bottom:11rem}.md\\:pb-48{padding-bottom:12rem}.md\\:pb-52{padding-bottom:13rem}.md\\:pb-56{padding-bottom:14rem}.md\\:pb-60{padding-bottom:15rem}.md\\:pb-64{padding-bottom:16rem}.md\\:pb-72{padding-bottom:18rem}.md\\:pb-80{padding-bottom:20rem}.md\\:pb-96{padding-bottom:24rem}.md\\:pb-px{padding-bottom:1px}.md\\:pb-0\\.5{padding-bottom:0.125rem}.md\\:pb-1\\.5{padding-bottom:0.375rem}.md\\:pb-2\\.5{padding-bottom:0.625rem}.md\\:pb-3\\.5{padding-bottom:0.875rem}.md\\:pl-0{padding-left:0px}.md\\:pl-1{padding-left:0.25rem}.md\\:pl-2{padding-left:0.5rem}.md\\:pl-3{padding-left:0.75rem}.md\\:pl-4{padding-left:1rem}.md\\:pl-5{padding-left:1.25rem}.md\\:pl-6{padding-left:1.5rem}.md\\:pl-7{padding-left:1.75rem}.md\\:pl-8{padding-left:2rem}.md\\:pl-9{padding-left:2.25rem}.md\\:pl-10{padding-left:2.5rem}.md\\:pl-11{padding-left:2.75rem}.md\\:pl-12{padding-left:3rem}.md\\:pl-14{padding-left:3.5rem}.md\\:pl-16{padding-left:4rem}.md\\:pl-20{padding-left:5rem}.md\\:pl-24{padding-left:6rem}.md\\:pl-28{padding-left:7rem}.md\\:pl-32{padding-left:8rem}.md\\:pl-36{padding-left:9rem}.md\\:pl-40{padding-left:10rem}.md\\:pl-44{padding-left:11rem}.md\\:pl-48{padding-left:12rem}.md\\:pl-52{padding-left:13rem}.md\\:pl-56{padding-left:14rem}.md\\:pl-60{padding-left:15rem}.md\\:pl-64{padding-left:16rem}.md\\:pl-72{padding-left:18rem}.md\\:pl-80{padding-left:20rem}.md\\:pl-96{padding-left:24rem}.md\\:pl-px{padding-left:1px}.md\\:pl-0\\.5{padding-left:0.125rem}.md\\:pl-1\\.5{padding-left:0.375rem}.md\\:pl-2\\.5{padding-left:0.625rem}.md\\:pl-3\\.5{padding-left:0.875rem}.md\\:text-left{text-align:left}.md\\:text-center{text-align:center}.md\\:text-right{text-align:right}.md\\:text-justify{text-align:justify}.md\\:align-baseline{vertical-align:baseline}.md\\:align-top{vertical-align:top}.md\\:align-middle{vertical-align:middle}.md\\:align-bottom{vertical-align:bottom}.md\\:align-text-top{vertical-align:text-top}.md\\:align-text-bottom{vertical-align:text-bottom}.md\\:font-sans{font-family:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"}.md\\:font-serif{font-family:ui-serif, Georgia, Cambria, \"Times New Roman\", Times, serif}.md\\:font-mono{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace}.md\\:text-xs{font-size:0.75rem;line-height:1rem}.md\\:text-sm{font-size:0.875rem;line-height:1.25rem}.md\\:text-base{font-size:1rem;line-height:1.5rem}.md\\:text-lg{font-size:1.125rem;line-height:1.75rem}.md\\:text-xl{font-size:1.25rem;line-height:1.75rem}.md\\:text-2xl{font-size:1.5rem;line-height:2rem}.md\\:text-3xl{font-size:1.875rem;line-height:2.25rem}.md\\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\\:text-5xl{font-size:3rem;line-height:1}.md\\:text-6xl{font-size:3.75rem;line-height:1}.md\\:text-7xl{font-size:4.5rem;line-height:1}.md\\:text-8xl{font-size:6rem;line-height:1}.md\\:text-9xl{font-size:8rem;line-height:1}.md\\:font-thin{font-weight:100}.md\\:font-extralight{font-weight:200}.md\\:font-light{font-weight:300}.md\\:font-normal{font-weight:400}.md\\:font-medium{font-weight:500}.md\\:font-semibold{font-weight:600}.md\\:font-bold{font-weight:700}.md\\:font-extrabold{font-weight:800}.md\\:font-black{font-weight:900}.md\\:uppercase{text-transform:uppercase}.md\\:lowercase{text-transform:lowercase}.md\\:capitalize{text-transform:capitalize}.md\\:normal-case{text-transform:none}.md\\:italic{font-style:italic}.md\\:not-italic{font-style:normal}.md\\:ordinal,.md\\:slashed-zero,.md\\:lining-nums,.md\\:oldstyle-nums,.md\\:proportional-nums,.md\\:tabular-nums,.md\\:diagonal-fractions,.md\\:stacked-fractions{--tw-ordinal:var(--tw-empty,/*!*/ /*!*/);--tw-slashed-zero:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-figure:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-spacing:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-fraction:var(--tw-empty,/*!*/ /*!*/);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.md\\:normal-nums{font-variant-numeric:normal}.md\\:ordinal{--tw-ordinal:ordinal}.md\\:slashed-zero{--tw-slashed-zero:slashed-zero}.md\\:lining-nums{--tw-numeric-figure:lining-nums}.md\\:oldstyle-nums{--tw-numeric-figure:oldstyle-nums}.md\\:proportional-nums{--tw-numeric-spacing:proportional-nums}.md\\:tabular-nums{--tw-numeric-spacing:tabular-nums}.md\\:diagonal-fractions{--tw-numeric-fraction:diagonal-fractions}.md\\:stacked-fractions{--tw-numeric-fraction:stacked-fractions}.md\\:leading-3{line-height:.75rem}.md\\:leading-4{line-height:1rem}.md\\:leading-5{line-height:1.25rem}.md\\:leading-6{line-height:1.5rem}.md\\:leading-7{line-height:1.75rem}.md\\:leading-8{line-height:2rem}.md\\:leading-9{line-height:2.25rem}.md\\:leading-10{line-height:2.5rem}.md\\:leading-none{line-height:1}.md\\:leading-tight{line-height:1.25}.md\\:leading-snug{line-height:1.375}.md\\:leading-normal{line-height:1.5}.md\\:leading-relaxed{line-height:1.625}.md\\:leading-loose{line-height:2}.md\\:tracking-tighter{letter-spacing:-0.05em}.md\\:tracking-tight{letter-spacing:-0.025em}.md\\:tracking-normal{letter-spacing:0em}.md\\:tracking-wide{letter-spacing:0.025em}.md\\:tracking-wider{letter-spacing:0.05em}.md\\:tracking-widest{letter-spacing:0.1em}.md\\:text-transparent{color:transparent}.md\\:text-current{color:currentColor}.md\\:text-white{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.md\\:text-lightgrey{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.md\\:text-midgrey{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.md\\:text-darkgrey{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.md\\:text-grey{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.md\\:text-black{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.md\\:text-highlight{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.md\\:text-highlight_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.md\\:text-button_outline{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.md\\:text-error{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.md\\:text-text-light{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.md\\:text-text-dimmed{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.md\\:text-text-dark{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.md\\:text-body-light{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.md\\:text-body-dark{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.md\\:text-button{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.md\\:text-button_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.group:hover .md\\:group-hover\\:text-transparent{color:transparent}.group:hover .md\\:group-hover\\:text-current{color:currentColor}.group:hover .md\\:group-hover\\:text-white{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .md\\:group-hover\\:text-lightgrey{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.group:hover .md\\:group-hover\\:text-midgrey{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .md\\:group-hover\\:text-darkgrey{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.group:hover .md\\:group-hover\\:text-grey{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.group:hover .md\\:group-hover\\:text-black{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.group:hover .md\\:group-hover\\:text-highlight{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.group:hover .md\\:group-hover\\:text-highlight_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.group:hover .md\\:group-hover\\:text-button_outline{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .md\\:group-hover\\:text-error{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.group:hover .md\\:group-hover\\:text-text-light{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.group:hover .md\\:group-hover\\:text-text-dimmed{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .md\\:group-hover\\:text-text-dark{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .md\\:group-hover\\:text-body-light{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .md\\:group-hover\\:text-body-dark{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.group:hover .md\\:group-hover\\:text-button{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.group:hover .md\\:group-hover\\:text-button_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.md\\:focus-within\\:text-transparent:focus-within{color:transparent}.md\\:focus-within\\:text-current:focus-within{color:currentColor}.md\\:focus-within\\:text-white:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.md\\:focus-within\\:text-lightgrey:focus-within{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.md\\:focus-within\\:text-midgrey:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.md\\:focus-within\\:text-darkgrey:focus-within{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.md\\:focus-within\\:text-grey:focus-within{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.md\\:focus-within\\:text-black:focus-within{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.md\\:focus-within\\:text-highlight:focus-within{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.md\\:focus-within\\:text-highlight_hover:focus-within{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.md\\:focus-within\\:text-button_outline:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.md\\:focus-within\\:text-error:focus-within{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.md\\:focus-within\\:text-text-light:focus-within{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.md\\:focus-within\\:text-text-dimmed:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.md\\:focus-within\\:text-text-dark:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.md\\:focus-within\\:text-body-light:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.md\\:focus-within\\:text-body-dark:focus-within{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.md\\:focus-within\\:text-button:focus-within{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.md\\:focus-within\\:text-button_hover:focus-within{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.md\\:hover\\:text-transparent:hover{color:transparent}.md\\:hover\\:text-current:hover{color:currentColor}.md\\:hover\\:text-white:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.md\\:hover\\:text-lightgrey:hover{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.md\\:hover\\:text-midgrey:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.md\\:hover\\:text-darkgrey:hover{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.md\\:hover\\:text-grey:hover{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.md\\:hover\\:text-black:hover{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.md\\:hover\\:text-highlight:hover{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.md\\:hover\\:text-highlight_hover:hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.md\\:hover\\:text-button_outline:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.md\\:hover\\:text-error:hover{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.md\\:hover\\:text-text-light:hover{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.md\\:hover\\:text-text-dimmed:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.md\\:hover\\:text-text-dark:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.md\\:hover\\:text-body-light:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.md\\:hover\\:text-body-dark:hover{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.md\\:hover\\:text-button:hover{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.md\\:hover\\:text-button_hover:hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.md\\:focus\\:text-transparent:focus{color:transparent}.md\\:focus\\:text-current:focus{color:currentColor}.md\\:focus\\:text-white:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.md\\:focus\\:text-lightgrey:focus{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.md\\:focus\\:text-midgrey:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.md\\:focus\\:text-darkgrey:focus{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.md\\:focus\\:text-grey:focus{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.md\\:focus\\:text-black:focus{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.md\\:focus\\:text-highlight:focus{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.md\\:focus\\:text-highlight_hover:focus{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.md\\:focus\\:text-button_outline:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.md\\:focus\\:text-error:focus{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.md\\:focus\\:text-text-light:focus{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.md\\:focus\\:text-text-dimmed:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.md\\:focus\\:text-text-dark:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.md\\:focus\\:text-body-light:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.md\\:focus\\:text-body-dark:focus{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.md\\:focus\\:text-button:focus{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.md\\:focus\\:text-button_hover:focus{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}@media(prefers-color-scheme: dark){.md\\:dark\\:text-transparent{color:transparent}.md\\:dark\\:text-current{color:currentColor}.md\\:dark\\:text-white{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.md\\:dark\\:text-lightgrey{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.md\\:dark\\:text-midgrey{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.md\\:dark\\:text-darkgrey{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.md\\:dark\\:text-grey{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.md\\:dark\\:text-black{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.md\\:dark\\:text-highlight{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.md\\:dark\\:text-highlight_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.md\\:dark\\:text-button_outline{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.md\\:dark\\:text-error{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.md\\:dark\\:text-text-light{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.md\\:dark\\:text-text-dimmed{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.md\\:dark\\:text-text-dark{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.md\\:dark\\:text-body-light{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.md\\:dark\\:text-body-dark{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.md\\:dark\\:text-button{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.md\\:dark\\:text-button_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.group:hover .md\\:dark\\:group-hover\\:text-transparent{color:transparent}.group:hover .md\\:dark\\:group-hover\\:text-current{color:currentColor}.group:hover .md\\:dark\\:group-hover\\:text-white{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .md\\:dark\\:group-hover\\:text-lightgrey{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.group:hover .md\\:dark\\:group-hover\\:text-midgrey{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .md\\:dark\\:group-hover\\:text-darkgrey{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.group:hover .md\\:dark\\:group-hover\\:text-grey{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.group:hover .md\\:dark\\:group-hover\\:text-black{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.group:hover .md\\:dark\\:group-hover\\:text-highlight{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.group:hover .md\\:dark\\:group-hover\\:text-highlight_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.group:hover .md\\:dark\\:group-hover\\:text-button_outline{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .md\\:dark\\:group-hover\\:text-error{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.group:hover .md\\:dark\\:group-hover\\:text-text-light{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.group:hover .md\\:dark\\:group-hover\\:text-text-dimmed{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .md\\:dark\\:group-hover\\:text-text-dark{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .md\\:dark\\:group-hover\\:text-body-light{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .md\\:dark\\:group-hover\\:text-body-dark{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.group:hover .md\\:dark\\:group-hover\\:text-button{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.group:hover .md\\:dark\\:group-hover\\:text-button_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.md\\:dark\\:focus-within\\:text-transparent:focus-within{color:transparent}.md\\:dark\\:focus-within\\:text-current:focus-within{color:currentColor}.md\\:dark\\:focus-within\\:text-white:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.md\\:dark\\:focus-within\\:text-lightgrey:focus-within{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.md\\:dark\\:focus-within\\:text-midgrey:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.md\\:dark\\:focus-within\\:text-darkgrey:focus-within{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.md\\:dark\\:focus-within\\:text-grey:focus-within{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.md\\:dark\\:focus-within\\:text-black:focus-within{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.md\\:dark\\:focus-within\\:text-highlight:focus-within{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.md\\:dark\\:focus-within\\:text-highlight_hover:focus-within{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.md\\:dark\\:focus-within\\:text-button_outline:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.md\\:dark\\:focus-within\\:text-error:focus-within{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.md\\:dark\\:focus-within\\:text-text-light:focus-within{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.md\\:dark\\:focus-within\\:text-text-dimmed:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.md\\:dark\\:focus-within\\:text-text-dark:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.md\\:dark\\:focus-within\\:text-body-light:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.md\\:dark\\:focus-within\\:text-body-dark:focus-within{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.md\\:dark\\:focus-within\\:text-button:focus-within{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.md\\:dark\\:focus-within\\:text-button_hover:focus-within{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.md\\:dark\\:hover\\:text-transparent:hover{color:transparent}.md\\:dark\\:hover\\:text-current:hover{color:currentColor}.md\\:dark\\:hover\\:text-white:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.md\\:dark\\:hover\\:text-lightgrey:hover{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.md\\:dark\\:hover\\:text-midgrey:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.md\\:dark\\:hover\\:text-darkgrey:hover{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.md\\:dark\\:hover\\:text-grey:hover{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.md\\:dark\\:hover\\:text-black:hover{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.md\\:dark\\:hover\\:text-highlight:hover{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.md\\:dark\\:hover\\:text-highlight_hover:hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.md\\:dark\\:hover\\:text-button_outline:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.md\\:dark\\:hover\\:text-error:hover{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.md\\:dark\\:hover\\:text-text-light:hover{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.md\\:dark\\:hover\\:text-text-dimmed:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.md\\:dark\\:hover\\:text-text-dark:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.md\\:dark\\:hover\\:text-body-light:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.md\\:dark\\:hover\\:text-body-dark:hover{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.md\\:dark\\:hover\\:text-button:hover{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.md\\:dark\\:hover\\:text-button_hover:hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.md\\:dark\\:focus\\:text-transparent:focus{color:transparent}.md\\:dark\\:focus\\:text-current:focus{color:currentColor}.md\\:dark\\:focus\\:text-white:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.md\\:dark\\:focus\\:text-lightgrey:focus{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.md\\:dark\\:focus\\:text-midgrey:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.md\\:dark\\:focus\\:text-darkgrey:focus{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.md\\:dark\\:focus\\:text-grey:focus{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.md\\:dark\\:focus\\:text-black:focus{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.md\\:dark\\:focus\\:text-highlight:focus{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.md\\:dark\\:focus\\:text-highlight_hover:focus{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.md\\:dark\\:focus\\:text-button_outline:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.md\\:dark\\:focus\\:text-error:focus{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.md\\:dark\\:focus\\:text-text-light:focus{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.md\\:dark\\:focus\\:text-text-dimmed:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.md\\:dark\\:focus\\:text-text-dark:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.md\\:dark\\:focus\\:text-body-light:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.md\\:dark\\:focus\\:text-body-dark:focus{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.md\\:dark\\:focus\\:text-button:focus{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.md\\:dark\\:focus\\:text-button_hover:focus{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}}.md\\:text-opacity-0{--tw-text-opacity:0}.md\\:text-opacity-5{--tw-text-opacity:0.05}.md\\:text-opacity-10{--tw-text-opacity:0.1}.md\\:text-opacity-20{--tw-text-opacity:0.2}.md\\:text-opacity-25{--tw-text-opacity:0.25}.md\\:text-opacity-30{--tw-text-opacity:0.3}.md\\:text-opacity-40{--tw-text-opacity:0.4}.md\\:text-opacity-50{--tw-text-opacity:0.5}.md\\:text-opacity-60{--tw-text-opacity:0.6}.md\\:text-opacity-70{--tw-text-opacity:0.7}.md\\:text-opacity-75{--tw-text-opacity:0.75}.md\\:text-opacity-80{--tw-text-opacity:0.8}.md\\:text-opacity-90{--tw-text-opacity:0.9}.md\\:text-opacity-95{--tw-text-opacity:0.95}.md\\:text-opacity-100{--tw-text-opacity:1}.group:hover .md\\:group-hover\\:text-opacity-0{--tw-text-opacity:0}.group:hover .md\\:group-hover\\:text-opacity-5{--tw-text-opacity:0.05}.group:hover .md\\:group-hover\\:text-opacity-10{--tw-text-opacity:0.1}.group:hover .md\\:group-hover\\:text-opacity-20{--tw-text-opacity:0.2}.group:hover .md\\:group-hover\\:text-opacity-25{--tw-text-opacity:0.25}.group:hover .md\\:group-hover\\:text-opacity-30{--tw-text-opacity:0.3}.group:hover .md\\:group-hover\\:text-opacity-40{--tw-text-opacity:0.4}.group:hover .md\\:group-hover\\:text-opacity-50{--tw-text-opacity:0.5}.group:hover .md\\:group-hover\\:text-opacity-60{--tw-text-opacity:0.6}.group:hover .md\\:group-hover\\:text-opacity-70{--tw-text-opacity:0.7}.group:hover .md\\:group-hover\\:text-opacity-75{--tw-text-opacity:0.75}.group:hover .md\\:group-hover\\:text-opacity-80{--tw-text-opacity:0.8}.group:hover .md\\:group-hover\\:text-opacity-90{--tw-text-opacity:0.9}.group:hover .md\\:group-hover\\:text-opacity-95{--tw-text-opacity:0.95}.group:hover .md\\:group-hover\\:text-opacity-100{--tw-text-opacity:1}.md\\:focus-within\\:text-opacity-0:focus-within{--tw-text-opacity:0}.md\\:focus-within\\:text-opacity-5:focus-within{--tw-text-opacity:0.05}.md\\:focus-within\\:text-opacity-10:focus-within{--tw-text-opacity:0.1}.md\\:focus-within\\:text-opacity-20:focus-within{--tw-text-opacity:0.2}.md\\:focus-within\\:text-opacity-25:focus-within{--tw-text-opacity:0.25}.md\\:focus-within\\:text-opacity-30:focus-within{--tw-text-opacity:0.3}.md\\:focus-within\\:text-opacity-40:focus-within{--tw-text-opacity:0.4}.md\\:focus-within\\:text-opacity-50:focus-within{--tw-text-opacity:0.5}.md\\:focus-within\\:text-opacity-60:focus-within{--tw-text-opacity:0.6}.md\\:focus-within\\:text-opacity-70:focus-within{--tw-text-opacity:0.7}.md\\:focus-within\\:text-opacity-75:focus-within{--tw-text-opacity:0.75}.md\\:focus-within\\:text-opacity-80:focus-within{--tw-text-opacity:0.8}.md\\:focus-within\\:text-opacity-90:focus-within{--tw-text-opacity:0.9}.md\\:focus-within\\:text-opacity-95:focus-within{--tw-text-opacity:0.95}.md\\:focus-within\\:text-opacity-100:focus-within{--tw-text-opacity:1}.md\\:hover\\:text-opacity-0:hover{--tw-text-opacity:0}.md\\:hover\\:text-opacity-5:hover{--tw-text-opacity:0.05}.md\\:hover\\:text-opacity-10:hover{--tw-text-opacity:0.1}.md\\:hover\\:text-opacity-20:hover{--tw-text-opacity:0.2}.md\\:hover\\:text-opacity-25:hover{--tw-text-opacity:0.25}.md\\:hover\\:text-opacity-30:hover{--tw-text-opacity:0.3}.md\\:hover\\:text-opacity-40:hover{--tw-text-opacity:0.4}.md\\:hover\\:text-opacity-50:hover{--tw-text-opacity:0.5}.md\\:hover\\:text-opacity-60:hover{--tw-text-opacity:0.6}.md\\:hover\\:text-opacity-70:hover{--tw-text-opacity:0.7}.md\\:hover\\:text-opacity-75:hover{--tw-text-opacity:0.75}.md\\:hover\\:text-opacity-80:hover{--tw-text-opacity:0.8}.md\\:hover\\:text-opacity-90:hover{--tw-text-opacity:0.9}.md\\:hover\\:text-opacity-95:hover{--tw-text-opacity:0.95}.md\\:hover\\:text-opacity-100:hover{--tw-text-opacity:1}.md\\:focus\\:text-opacity-0:focus{--tw-text-opacity:0}.md\\:focus\\:text-opacity-5:focus{--tw-text-opacity:0.05}.md\\:focus\\:text-opacity-10:focus{--tw-text-opacity:0.1}.md\\:focus\\:text-opacity-20:focus{--tw-text-opacity:0.2}.md\\:focus\\:text-opacity-25:focus{--tw-text-opacity:0.25}.md\\:focus\\:text-opacity-30:focus{--tw-text-opacity:0.3}.md\\:focus\\:text-opacity-40:focus{--tw-text-opacity:0.4}.md\\:focus\\:text-opacity-50:focus{--tw-text-opacity:0.5}.md\\:focus\\:text-opacity-60:focus{--tw-text-opacity:0.6}.md\\:focus\\:text-opacity-70:focus{--tw-text-opacity:0.7}.md\\:focus\\:text-opacity-75:focus{--tw-text-opacity:0.75}.md\\:focus\\:text-opacity-80:focus{--tw-text-opacity:0.8}.md\\:focus\\:text-opacity-90:focus{--tw-text-opacity:0.9}.md\\:focus\\:text-opacity-95:focus{--tw-text-opacity:0.95}.md\\:focus\\:text-opacity-100:focus{--tw-text-opacity:1}@media(prefers-color-scheme: dark){.md\\:dark\\:text-opacity-0{--tw-text-opacity:0}.md\\:dark\\:text-opacity-5{--tw-text-opacity:0.05}.md\\:dark\\:text-opacity-10{--tw-text-opacity:0.1}.md\\:dark\\:text-opacity-20{--tw-text-opacity:0.2}.md\\:dark\\:text-opacity-25{--tw-text-opacity:0.25}.md\\:dark\\:text-opacity-30{--tw-text-opacity:0.3}.md\\:dark\\:text-opacity-40{--tw-text-opacity:0.4}.md\\:dark\\:text-opacity-50{--tw-text-opacity:0.5}.md\\:dark\\:text-opacity-60{--tw-text-opacity:0.6}.md\\:dark\\:text-opacity-70{--tw-text-opacity:0.7}.md\\:dark\\:text-opacity-75{--tw-text-opacity:0.75}.md\\:dark\\:text-opacity-80{--tw-text-opacity:0.8}.md\\:dark\\:text-opacity-90{--tw-text-opacity:0.9}.md\\:dark\\:text-opacity-95{--tw-text-opacity:0.95}.md\\:dark\\:text-opacity-100{--tw-text-opacity:1}.group:hover .md\\:dark\\:group-hover\\:text-opacity-0{--tw-text-opacity:0}.group:hover .md\\:dark\\:group-hover\\:text-opacity-5{--tw-text-opacity:0.05}.group:hover .md\\:dark\\:group-hover\\:text-opacity-10{--tw-text-opacity:0.1}.group:hover .md\\:dark\\:group-hover\\:text-opacity-20{--tw-text-opacity:0.2}.group:hover .md\\:dark\\:group-hover\\:text-opacity-25{--tw-text-opacity:0.25}.group:hover .md\\:dark\\:group-hover\\:text-opacity-30{--tw-text-opacity:0.3}.group:hover .md\\:dark\\:group-hover\\:text-opacity-40{--tw-text-opacity:0.4}.group:hover .md\\:dark\\:group-hover\\:text-opacity-50{--tw-text-opacity:0.5}.group:hover .md\\:dark\\:group-hover\\:text-opacity-60{--tw-text-opacity:0.6}.group:hover .md\\:dark\\:group-hover\\:text-opacity-70{--tw-text-opacity:0.7}.group:hover .md\\:dark\\:group-hover\\:text-opacity-75{--tw-text-opacity:0.75}.group:hover .md\\:dark\\:group-hover\\:text-opacity-80{--tw-text-opacity:0.8}.group:hover .md\\:dark\\:group-hover\\:text-opacity-90{--tw-text-opacity:0.9}.group:hover .md\\:dark\\:group-hover\\:text-opacity-95{--tw-text-opacity:0.95}.group:hover .md\\:dark\\:group-hover\\:text-opacity-100{--tw-text-opacity:1}.md\\:dark\\:focus-within\\:text-opacity-0:focus-within{--tw-text-opacity:0}.md\\:dark\\:focus-within\\:text-opacity-5:focus-within{--tw-text-opacity:0.05}.md\\:dark\\:focus-within\\:text-opacity-10:focus-within{--tw-text-opacity:0.1}.md\\:dark\\:focus-within\\:text-opacity-20:focus-within{--tw-text-opacity:0.2}.md\\:dark\\:focus-within\\:text-opacity-25:focus-within{--tw-text-opacity:0.25}.md\\:dark\\:focus-within\\:text-opacity-30:focus-within{--tw-text-opacity:0.3}.md\\:dark\\:focus-within\\:text-opacity-40:focus-within{--tw-text-opacity:0.4}.md\\:dark\\:focus-within\\:text-opacity-50:focus-within{--tw-text-opacity:0.5}.md\\:dark\\:focus-within\\:text-opacity-60:focus-within{--tw-text-opacity:0.6}.md\\:dark\\:focus-within\\:text-opacity-70:focus-within{--tw-text-opacity:0.7}.md\\:dark\\:focus-within\\:text-opacity-75:focus-within{--tw-text-opacity:0.75}.md\\:dark\\:focus-within\\:text-opacity-80:focus-within{--tw-text-opacity:0.8}.md\\:dark\\:focus-within\\:text-opacity-90:focus-within{--tw-text-opacity:0.9}.md\\:dark\\:focus-within\\:text-opacity-95:focus-within{--tw-text-opacity:0.95}.md\\:dark\\:focus-within\\:text-opacity-100:focus-within{--tw-text-opacity:1}.md\\:dark\\:hover\\:text-opacity-0:hover{--tw-text-opacity:0}.md\\:dark\\:hover\\:text-opacity-5:hover{--tw-text-opacity:0.05}.md\\:dark\\:hover\\:text-opacity-10:hover{--tw-text-opacity:0.1}.md\\:dark\\:hover\\:text-opacity-20:hover{--tw-text-opacity:0.2}.md\\:dark\\:hover\\:text-opacity-25:hover{--tw-text-opacity:0.25}.md\\:dark\\:hover\\:text-opacity-30:hover{--tw-text-opacity:0.3}.md\\:dark\\:hover\\:text-opacity-40:hover{--tw-text-opacity:0.4}.md\\:dark\\:hover\\:text-opacity-50:hover{--tw-text-opacity:0.5}.md\\:dark\\:hover\\:text-opacity-60:hover{--tw-text-opacity:0.6}.md\\:dark\\:hover\\:text-opacity-70:hover{--tw-text-opacity:0.7}.md\\:dark\\:hover\\:text-opacity-75:hover{--tw-text-opacity:0.75}.md\\:dark\\:hover\\:text-opacity-80:hover{--tw-text-opacity:0.8}.md\\:dark\\:hover\\:text-opacity-90:hover{--tw-text-opacity:0.9}.md\\:dark\\:hover\\:text-opacity-95:hover{--tw-text-opacity:0.95}.md\\:dark\\:hover\\:text-opacity-100:hover{--tw-text-opacity:1}.md\\:dark\\:focus\\:text-opacity-0:focus{--tw-text-opacity:0}.md\\:dark\\:focus\\:text-opacity-5:focus{--tw-text-opacity:0.05}.md\\:dark\\:focus\\:text-opacity-10:focus{--tw-text-opacity:0.1}.md\\:dark\\:focus\\:text-opacity-20:focus{--tw-text-opacity:0.2}.md\\:dark\\:focus\\:text-opacity-25:focus{--tw-text-opacity:0.25}.md\\:dark\\:focus\\:text-opacity-30:focus{--tw-text-opacity:0.3}.md\\:dark\\:focus\\:text-opacity-40:focus{--tw-text-opacity:0.4}.md\\:dark\\:focus\\:text-opacity-50:focus{--tw-text-opacity:0.5}.md\\:dark\\:focus\\:text-opacity-60:focus{--tw-text-opacity:0.6}.md\\:dark\\:focus\\:text-opacity-70:focus{--tw-text-opacity:0.7}.md\\:dark\\:focus\\:text-opacity-75:focus{--tw-text-opacity:0.75}.md\\:dark\\:focus\\:text-opacity-80:focus{--tw-text-opacity:0.8}.md\\:dark\\:focus\\:text-opacity-90:focus{--tw-text-opacity:0.9}.md\\:dark\\:focus\\:text-opacity-95:focus{--tw-text-opacity:0.95}.md\\:dark\\:focus\\:text-opacity-100:focus{--tw-text-opacity:1}}.md\\:underline{text-decoration:underline}.md\\:line-through{text-decoration:line-through}.md\\:no-underline{text-decoration:none}.group:hover .md\\:group-hover\\:underline{text-decoration:underline}.group:hover .md\\:group-hover\\:line-through{text-decoration:line-through}.group:hover .md\\:group-hover\\:no-underline{text-decoration:none}.md\\:focus-within\\:underline:focus-within{text-decoration:underline}.md\\:focus-within\\:line-through:focus-within{text-decoration:line-through}.md\\:focus-within\\:no-underline:focus-within{text-decoration:none}.md\\:hover\\:underline:hover{text-decoration:underline}.md\\:hover\\:line-through:hover{text-decoration:line-through}.md\\:hover\\:no-underline:hover{text-decoration:none}.md\\:focus\\:underline:focus{text-decoration:underline}.md\\:focus\\:line-through:focus{text-decoration:line-through}.md\\:focus\\:no-underline:focus{text-decoration:none}.md\\:antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.md\\:subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.md\\:placeholder-transparent::placeholder{color:transparent}.md\\:placeholder-current::placeholder{color:currentColor}.md\\:placeholder-white::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.md\\:placeholder-lightgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(247, 247, 247, var(--tw-placeholder-opacity))}.md\\:placeholder-midgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.md\\:placeholder-darkgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(127, 127, 127, var(--tw-placeholder-opacity))}.md\\:placeholder-grey::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.md\\:placeholder-black::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.md\\:placeholder-highlight::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.md\\:placeholder-highlight_hover::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.md\\:placeholder-button_outline::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.md\\:placeholder-error::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 69, 58, var(--tw-placeholder-opacity))}.md\\:placeholder-text-light::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.md\\:placeholder-text-dimmed::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.md\\:placeholder-text-dark::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.md\\:placeholder-body-light::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.md\\:placeholder-body-dark::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.md\\:placeholder-button::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.md\\:placeholder-button_hover::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.md\\:focus\\:placeholder-transparent:focus::placeholder{color:transparent}.md\\:focus\\:placeholder-current:focus::placeholder{color:currentColor}.md\\:focus\\:placeholder-white:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.md\\:focus\\:placeholder-lightgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(247, 247, 247, var(--tw-placeholder-opacity))}.md\\:focus\\:placeholder-midgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.md\\:focus\\:placeholder-darkgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(127, 127, 127, var(--tw-placeholder-opacity))}.md\\:focus\\:placeholder-grey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.md\\:focus\\:placeholder-black:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.md\\:focus\\:placeholder-highlight:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.md\\:focus\\:placeholder-highlight_hover:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.md\\:focus\\:placeholder-button_outline:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.md\\:focus\\:placeholder-error:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 69, 58, var(--tw-placeholder-opacity))}.md\\:focus\\:placeholder-text-light:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.md\\:focus\\:placeholder-text-dimmed:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.md\\:focus\\:placeholder-text-dark:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.md\\:focus\\:placeholder-body-light:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.md\\:focus\\:placeholder-body-dark:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.md\\:focus\\:placeholder-button:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.md\\:focus\\:placeholder-button_hover:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}@media(prefers-color-scheme: dark){.md\\:dark\\:placeholder-transparent::placeholder{color:transparent}.md\\:dark\\:placeholder-current::placeholder{color:currentColor}.md\\:dark\\:placeholder-white::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.md\\:dark\\:placeholder-lightgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(247, 247, 247, var(--tw-placeholder-opacity))}.md\\:dark\\:placeholder-midgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.md\\:dark\\:placeholder-darkgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(127, 127, 127, var(--tw-placeholder-opacity))}.md\\:dark\\:placeholder-grey::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.md\\:dark\\:placeholder-black::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.md\\:dark\\:placeholder-highlight::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.md\\:dark\\:placeholder-highlight_hover::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.md\\:dark\\:placeholder-button_outline::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.md\\:dark\\:placeholder-error::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 69, 58, var(--tw-placeholder-opacity))}.md\\:dark\\:placeholder-text-light::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.md\\:dark\\:placeholder-text-dimmed::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.md\\:dark\\:placeholder-text-dark::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.md\\:dark\\:placeholder-body-light::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.md\\:dark\\:placeholder-body-dark::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.md\\:dark\\:placeholder-button::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.md\\:dark\\:placeholder-button_hover::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.md\\:dark\\:focus\\:placeholder-transparent:focus::placeholder{color:transparent}.md\\:dark\\:focus\\:placeholder-current:focus::placeholder{color:currentColor}.md\\:dark\\:focus\\:placeholder-white:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.md\\:dark\\:focus\\:placeholder-lightgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(247, 247, 247, var(--tw-placeholder-opacity))}.md\\:dark\\:focus\\:placeholder-midgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.md\\:dark\\:focus\\:placeholder-darkgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(127, 127, 127, var(--tw-placeholder-opacity))}.md\\:dark\\:focus\\:placeholder-grey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.md\\:dark\\:focus\\:placeholder-black:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.md\\:dark\\:focus\\:placeholder-highlight:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.md\\:dark\\:focus\\:placeholder-highlight_hover:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.md\\:dark\\:focus\\:placeholder-button_outline:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.md\\:dark\\:focus\\:placeholder-error:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 69, 58, var(--tw-placeholder-opacity))}.md\\:dark\\:focus\\:placeholder-text-light:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.md\\:dark\\:focus\\:placeholder-text-dimmed:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.md\\:dark\\:focus\\:placeholder-text-dark:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.md\\:dark\\:focus\\:placeholder-body-light:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.md\\:dark\\:focus\\:placeholder-body-dark:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.md\\:dark\\:focus\\:placeholder-button:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.md\\:dark\\:focus\\:placeholder-button_hover:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}}.md\\:placeholder-opacity-0::placeholder{--tw-placeholder-opacity:0}.md\\:placeholder-opacity-5::placeholder{--tw-placeholder-opacity:0.05}.md\\:placeholder-opacity-10::placeholder{--tw-placeholder-opacity:0.1}.md\\:placeholder-opacity-20::placeholder{--tw-placeholder-opacity:0.2}.md\\:placeholder-opacity-25::placeholder{--tw-placeholder-opacity:0.25}.md\\:placeholder-opacity-30::placeholder{--tw-placeholder-opacity:0.3}.md\\:placeholder-opacity-40::placeholder{--tw-placeholder-opacity:0.4}.md\\:placeholder-opacity-50::placeholder{--tw-placeholder-opacity:0.5}.md\\:placeholder-opacity-60::placeholder{--tw-placeholder-opacity:0.6}.md\\:placeholder-opacity-70::placeholder{--tw-placeholder-opacity:0.7}.md\\:placeholder-opacity-75::placeholder{--tw-placeholder-opacity:0.75}.md\\:placeholder-opacity-80::placeholder{--tw-placeholder-opacity:0.8}.md\\:placeholder-opacity-90::placeholder{--tw-placeholder-opacity:0.9}.md\\:placeholder-opacity-95::placeholder{--tw-placeholder-opacity:0.95}.md\\:placeholder-opacity-100::placeholder{--tw-placeholder-opacity:1}.md\\:focus\\:placeholder-opacity-0:focus::placeholder{--tw-placeholder-opacity:0}.md\\:focus\\:placeholder-opacity-5:focus::placeholder{--tw-placeholder-opacity:0.05}.md\\:focus\\:placeholder-opacity-10:focus::placeholder{--tw-placeholder-opacity:0.1}.md\\:focus\\:placeholder-opacity-20:focus::placeholder{--tw-placeholder-opacity:0.2}.md\\:focus\\:placeholder-opacity-25:focus::placeholder{--tw-placeholder-opacity:0.25}.md\\:focus\\:placeholder-opacity-30:focus::placeholder{--tw-placeholder-opacity:0.3}.md\\:focus\\:placeholder-opacity-40:focus::placeholder{--tw-placeholder-opacity:0.4}.md\\:focus\\:placeholder-opacity-50:focus::placeholder{--tw-placeholder-opacity:0.5}.md\\:focus\\:placeholder-opacity-60:focus::placeholder{--tw-placeholder-opacity:0.6}.md\\:focus\\:placeholder-opacity-70:focus::placeholder{--tw-placeholder-opacity:0.7}.md\\:focus\\:placeholder-opacity-75:focus::placeholder{--tw-placeholder-opacity:0.75}.md\\:focus\\:placeholder-opacity-80:focus::placeholder{--tw-placeholder-opacity:0.8}.md\\:focus\\:placeholder-opacity-90:focus::placeholder{--tw-placeholder-opacity:0.9}.md\\:focus\\:placeholder-opacity-95:focus::placeholder{--tw-placeholder-opacity:0.95}.md\\:focus\\:placeholder-opacity-100:focus::placeholder{--tw-placeholder-opacity:1}@media(prefers-color-scheme: dark){.md\\:dark\\:placeholder-opacity-0::placeholder{--tw-placeholder-opacity:0}.md\\:dark\\:placeholder-opacity-5::placeholder{--tw-placeholder-opacity:0.05}.md\\:dark\\:placeholder-opacity-10::placeholder{--tw-placeholder-opacity:0.1}.md\\:dark\\:placeholder-opacity-20::placeholder{--tw-placeholder-opacity:0.2}.md\\:dark\\:placeholder-opacity-25::placeholder{--tw-placeholder-opacity:0.25}.md\\:dark\\:placeholder-opacity-30::placeholder{--tw-placeholder-opacity:0.3}.md\\:dark\\:placeholder-opacity-40::placeholder{--tw-placeholder-opacity:0.4}.md\\:dark\\:placeholder-opacity-50::placeholder{--tw-placeholder-opacity:0.5}.md\\:dark\\:placeholder-opacity-60::placeholder{--tw-placeholder-opacity:0.6}.md\\:dark\\:placeholder-opacity-70::placeholder{--tw-placeholder-opacity:0.7}.md\\:dark\\:placeholder-opacity-75::placeholder{--tw-placeholder-opacity:0.75}.md\\:dark\\:placeholder-opacity-80::placeholder{--tw-placeholder-opacity:0.8}.md\\:dark\\:placeholder-opacity-90::placeholder{--tw-placeholder-opacity:0.9}.md\\:dark\\:placeholder-opacity-95::placeholder{--tw-placeholder-opacity:0.95}.md\\:dark\\:placeholder-opacity-100::placeholder{--tw-placeholder-opacity:1}.md\\:dark\\:focus\\:placeholder-opacity-0:focus::placeholder{--tw-placeholder-opacity:0}.md\\:dark\\:focus\\:placeholder-opacity-5:focus::placeholder{--tw-placeholder-opacity:0.05}.md\\:dark\\:focus\\:placeholder-opacity-10:focus::placeholder{--tw-placeholder-opacity:0.1}.md\\:dark\\:focus\\:placeholder-opacity-20:focus::placeholder{--tw-placeholder-opacity:0.2}.md\\:dark\\:focus\\:placeholder-opacity-25:focus::placeholder{--tw-placeholder-opacity:0.25}.md\\:dark\\:focus\\:placeholder-opacity-30:focus::placeholder{--tw-placeholder-opacity:0.3}.md\\:dark\\:focus\\:placeholder-opacity-40:focus::placeholder{--tw-placeholder-opacity:0.4}.md\\:dark\\:focus\\:placeholder-opacity-50:focus::placeholder{--tw-placeholder-opacity:0.5}.md\\:dark\\:focus\\:placeholder-opacity-60:focus::placeholder{--tw-placeholder-opacity:0.6}.md\\:dark\\:focus\\:placeholder-opacity-70:focus::placeholder{--tw-placeholder-opacity:0.7}.md\\:dark\\:focus\\:placeholder-opacity-75:focus::placeholder{--tw-placeholder-opacity:0.75}.md\\:dark\\:focus\\:placeholder-opacity-80:focus::placeholder{--tw-placeholder-opacity:0.8}.md\\:dark\\:focus\\:placeholder-opacity-90:focus::placeholder{--tw-placeholder-opacity:0.9}.md\\:dark\\:focus\\:placeholder-opacity-95:focus::placeholder{--tw-placeholder-opacity:0.95}.md\\:dark\\:focus\\:placeholder-opacity-100:focus::placeholder{--tw-placeholder-opacity:1}}.md\\:opacity-0{opacity:0}.md\\:opacity-5{opacity:0.05}.md\\:opacity-10{opacity:0.1}.md\\:opacity-20{opacity:0.2}.md\\:opacity-25{opacity:0.25}.md\\:opacity-30{opacity:0.3}.md\\:opacity-40{opacity:0.4}.md\\:opacity-50{opacity:0.5}.md\\:opacity-60{opacity:0.6}.md\\:opacity-70{opacity:0.7}.md\\:opacity-75{opacity:0.75}.md\\:opacity-80{opacity:0.8}.md\\:opacity-90{opacity:0.9}.md\\:opacity-95{opacity:0.95}.md\\:opacity-100{opacity:1}.group:hover .md\\:group-hover\\:opacity-0{opacity:0}.group:hover .md\\:group-hover\\:opacity-5{opacity:0.05}.group:hover .md\\:group-hover\\:opacity-10{opacity:0.1}.group:hover .md\\:group-hover\\:opacity-20{opacity:0.2}.group:hover .md\\:group-hover\\:opacity-25{opacity:0.25}.group:hover .md\\:group-hover\\:opacity-30{opacity:0.3}.group:hover .md\\:group-hover\\:opacity-40{opacity:0.4}.group:hover .md\\:group-hover\\:opacity-50{opacity:0.5}.group:hover .md\\:group-hover\\:opacity-60{opacity:0.6}.group:hover .md\\:group-hover\\:opacity-70{opacity:0.7}.group:hover .md\\:group-hover\\:opacity-75{opacity:0.75}.group:hover .md\\:group-hover\\:opacity-80{opacity:0.8}.group:hover .md\\:group-hover\\:opacity-90{opacity:0.9}.group:hover .md\\:group-hover\\:opacity-95{opacity:0.95}.group:hover .md\\:group-hover\\:opacity-100{opacity:1}.md\\:focus-within\\:opacity-0:focus-within{opacity:0}.md\\:focus-within\\:opacity-5:focus-within{opacity:0.05}.md\\:focus-within\\:opacity-10:focus-within{opacity:0.1}.md\\:focus-within\\:opacity-20:focus-within{opacity:0.2}.md\\:focus-within\\:opacity-25:focus-within{opacity:0.25}.md\\:focus-within\\:opacity-30:focus-within{opacity:0.3}.md\\:focus-within\\:opacity-40:focus-within{opacity:0.4}.md\\:focus-within\\:opacity-50:focus-within{opacity:0.5}.md\\:focus-within\\:opacity-60:focus-within{opacity:0.6}.md\\:focus-within\\:opacity-70:focus-within{opacity:0.7}.md\\:focus-within\\:opacity-75:focus-within{opacity:0.75}.md\\:focus-within\\:opacity-80:focus-within{opacity:0.8}.md\\:focus-within\\:opacity-90:focus-within{opacity:0.9}.md\\:focus-within\\:opacity-95:focus-within{opacity:0.95}.md\\:focus-within\\:opacity-100:focus-within{opacity:1}.md\\:hover\\:opacity-0:hover{opacity:0}.md\\:hover\\:opacity-5:hover{opacity:0.05}.md\\:hover\\:opacity-10:hover{opacity:0.1}.md\\:hover\\:opacity-20:hover{opacity:0.2}.md\\:hover\\:opacity-25:hover{opacity:0.25}.md\\:hover\\:opacity-30:hover{opacity:0.3}.md\\:hover\\:opacity-40:hover{opacity:0.4}.md\\:hover\\:opacity-50:hover{opacity:0.5}.md\\:hover\\:opacity-60:hover{opacity:0.6}.md\\:hover\\:opacity-70:hover{opacity:0.7}.md\\:hover\\:opacity-75:hover{opacity:0.75}.md\\:hover\\:opacity-80:hover{opacity:0.8}.md\\:hover\\:opacity-90:hover{opacity:0.9}.md\\:hover\\:opacity-95:hover{opacity:0.95}.md\\:hover\\:opacity-100:hover{opacity:1}.md\\:focus\\:opacity-0:focus{opacity:0}.md\\:focus\\:opacity-5:focus{opacity:0.05}.md\\:focus\\:opacity-10:focus{opacity:0.1}.md\\:focus\\:opacity-20:focus{opacity:0.2}.md\\:focus\\:opacity-25:focus{opacity:0.25}.md\\:focus\\:opacity-30:focus{opacity:0.3}.md\\:focus\\:opacity-40:focus{opacity:0.4}.md\\:focus\\:opacity-50:focus{opacity:0.5}.md\\:focus\\:opacity-60:focus{opacity:0.6}.md\\:focus\\:opacity-70:focus{opacity:0.7}.md\\:focus\\:opacity-75:focus{opacity:0.75}.md\\:focus\\:opacity-80:focus{opacity:0.8}.md\\:focus\\:opacity-90:focus{opacity:0.9}.md\\:focus\\:opacity-95:focus{opacity:0.95}.md\\:focus\\:opacity-100:focus{opacity:1}.md\\:bg-blend-normal{background-blend-mode:normal}.md\\:bg-blend-multiply{background-blend-mode:multiply}.md\\:bg-blend-screen{background-blend-mode:screen}.md\\:bg-blend-overlay{background-blend-mode:overlay}.md\\:bg-blend-darken{background-blend-mode:darken}.md\\:bg-blend-lighten{background-blend-mode:lighten}.md\\:bg-blend-color-dodge{background-blend-mode:color-dodge}.md\\:bg-blend-color-burn{background-blend-mode:color-burn}.md\\:bg-blend-hard-light{background-blend-mode:hard-light}.md\\:bg-blend-soft-light{background-blend-mode:soft-light}.md\\:bg-blend-difference{background-blend-mode:difference}.md\\:bg-blend-exclusion{background-blend-mode:exclusion}.md\\:bg-blend-hue{background-blend-mode:hue}.md\\:bg-blend-saturation{background-blend-mode:saturation}.md\\:bg-blend-color{background-blend-mode:color}.md\\:bg-blend-luminosity{background-blend-mode:luminosity}.md\\:mix-blend-normal{mix-blend-mode:normal}.md\\:mix-blend-multiply{mix-blend-mode:multiply}.md\\:mix-blend-screen{mix-blend-mode:screen}.md\\:mix-blend-overlay{mix-blend-mode:overlay}.md\\:mix-blend-darken{mix-blend-mode:darken}.md\\:mix-blend-lighten{mix-blend-mode:lighten}.md\\:mix-blend-color-dodge{mix-blend-mode:color-dodge}.md\\:mix-blend-color-burn{mix-blend-mode:color-burn}.md\\:mix-blend-hard-light{mix-blend-mode:hard-light}.md\\:mix-blend-soft-light{mix-blend-mode:soft-light}.md\\:mix-blend-difference{mix-blend-mode:difference}.md\\:mix-blend-exclusion{mix-blend-mode:exclusion}.md\\:mix-blend-hue{mix-blend-mode:hue}.md\\:mix-blend-saturation{mix-blend-mode:saturation}.md\\:mix-blend-color{mix-blend-mode:color}.md\\:mix-blend-luminosity{mix-blend-mode:luminosity}.md\\:shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:shadow{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:shadow-md{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .md\\:group-hover\\:shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .md\\:group-hover\\:shadow{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .md\\:group-hover\\:shadow-md{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .md\\:group-hover\\:shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .md\\:group-hover\\:shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .md\\:group-hover\\:shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .md\\:group-hover\\:shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .md\\:group-hover\\:shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:focus-within\\:shadow-sm:focus-within{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:focus-within\\:shadow:focus-within{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:focus-within\\:shadow-md:focus-within{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:focus-within\\:shadow-lg:focus-within{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:focus-within\\:shadow-xl:focus-within{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:focus-within\\:shadow-2xl:focus-within{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:focus-within\\:shadow-inner:focus-within{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:focus-within\\:shadow-none:focus-within{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:hover\\:shadow-sm:hover{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:hover\\:shadow:hover{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:hover\\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:hover\\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:hover\\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:hover\\:shadow-2xl:hover{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:hover\\:shadow-inner:hover{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:hover\\:shadow-none:hover{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:focus\\:shadow-sm:focus{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:focus\\:shadow:focus{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:focus\\:shadow-md:focus{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:focus\\:shadow-lg:focus{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:focus\\:shadow-xl:focus{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:focus\\:shadow-2xl:focus{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:focus\\:shadow-inner:focus{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:focus\\:shadow-none:focus{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:outline-none{outline:2px solid transparent;outline-offset:2px}.md\\:outline-white{outline:2px dotted white;outline-offset:2px}.md\\:outline-black{outline:2px dotted black;outline-offset:2px}.md\\:focus-within\\:outline-none:focus-within{outline:2px solid transparent;outline-offset:2px}.md\\:focus-within\\:outline-white:focus-within{outline:2px dotted white;outline-offset:2px}.md\\:focus-within\\:outline-black:focus-within{outline:2px dotted black;outline-offset:2px}.md\\:focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.md\\:focus\\:outline-white:focus{outline:2px dotted white;outline-offset:2px}.md\\:focus\\:outline-black:focus{outline:2px dotted black;outline-offset:2px}.md\\:ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.md\\:ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.md\\:ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.md\\:ring-4{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.md\\:ring-8{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.md\\:ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.md\\:focus-within\\:ring-0:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.md\\:focus-within\\:ring-1:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.md\\:focus-within\\:ring-2:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.md\\:focus-within\\:ring-4:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.md\\:focus-within\\:ring-8:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.md\\:focus-within\\:ring:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.md\\:focus\\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.md\\:focus\\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.md\\:focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.md\\:focus\\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.md\\:focus\\:ring-8:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.md\\:focus\\:ring:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.md\\:ring-inset{--tw-ring-inset:inset}.md\\:focus-within\\:ring-inset:focus-within{--tw-ring-inset:inset}.md\\:focus\\:ring-inset:focus{--tw-ring-inset:inset}.md\\:ring-transparent{--tw-ring-color:transparent}.md\\:ring-current{--tw-ring-color:currentColor}.md\\:ring-white{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.md\\:ring-lightgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.md\\:ring-midgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.md\\:ring-darkgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.md\\:ring-grey{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.md\\:ring-black{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.md\\:ring-highlight{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.md\\:ring-highlight_hover{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.md\\:ring-button_outline{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.md\\:ring-error{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.md\\:ring-text-light{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.md\\:ring-text-dimmed{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.md\\:ring-text-dark{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.md\\:ring-body-light{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.md\\:ring-body-dark{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.md\\:ring-button{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.md\\:ring-button_hover{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.md\\:focus-within\\:ring-transparent:focus-within{--tw-ring-color:transparent}.md\\:focus-within\\:ring-current:focus-within{--tw-ring-color:currentColor}.md\\:focus-within\\:ring-white:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.md\\:focus-within\\:ring-lightgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.md\\:focus-within\\:ring-midgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.md\\:focus-within\\:ring-darkgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.md\\:focus-within\\:ring-grey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.md\\:focus-within\\:ring-black:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.md\\:focus-within\\:ring-highlight:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.md\\:focus-within\\:ring-highlight_hover:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.md\\:focus-within\\:ring-button_outline:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.md\\:focus-within\\:ring-error:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.md\\:focus-within\\:ring-text-light:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.md\\:focus-within\\:ring-text-dimmed:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.md\\:focus-within\\:ring-text-dark:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.md\\:focus-within\\:ring-body-light:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.md\\:focus-within\\:ring-body-dark:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.md\\:focus-within\\:ring-button:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.md\\:focus-within\\:ring-button_hover:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.md\\:focus\\:ring-transparent:focus{--tw-ring-color:transparent}.md\\:focus\\:ring-current:focus{--tw-ring-color:currentColor}.md\\:focus\\:ring-white:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.md\\:focus\\:ring-lightgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.md\\:focus\\:ring-midgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.md\\:focus\\:ring-darkgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.md\\:focus\\:ring-grey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.md\\:focus\\:ring-black:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.md\\:focus\\:ring-highlight:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.md\\:focus\\:ring-highlight_hover:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.md\\:focus\\:ring-button_outline:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.md\\:focus\\:ring-error:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.md\\:focus\\:ring-text-light:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.md\\:focus\\:ring-text-dimmed:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.md\\:focus\\:ring-text-dark:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.md\\:focus\\:ring-body-light:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.md\\:focus\\:ring-body-dark:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.md\\:focus\\:ring-button:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.md\\:focus\\:ring-button_hover:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}@media(prefers-color-scheme: dark){.md\\:dark\\:ring-transparent{--tw-ring-color:transparent}.md\\:dark\\:ring-current{--tw-ring-color:currentColor}.md\\:dark\\:ring-white{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.md\\:dark\\:ring-lightgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.md\\:dark\\:ring-midgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.md\\:dark\\:ring-darkgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.md\\:dark\\:ring-grey{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.md\\:dark\\:ring-black{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.md\\:dark\\:ring-highlight{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.md\\:dark\\:ring-highlight_hover{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.md\\:dark\\:ring-button_outline{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.md\\:dark\\:ring-error{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.md\\:dark\\:ring-text-light{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.md\\:dark\\:ring-text-dimmed{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.md\\:dark\\:ring-text-dark{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.md\\:dark\\:ring-body-light{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.md\\:dark\\:ring-body-dark{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.md\\:dark\\:ring-button{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.md\\:dark\\:ring-button_hover{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.md\\:dark\\:focus-within\\:ring-transparent:focus-within{--tw-ring-color:transparent}.md\\:dark\\:focus-within\\:ring-current:focus-within{--tw-ring-color:currentColor}.md\\:dark\\:focus-within\\:ring-white:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.md\\:dark\\:focus-within\\:ring-lightgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.md\\:dark\\:focus-within\\:ring-midgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.md\\:dark\\:focus-within\\:ring-darkgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.md\\:dark\\:focus-within\\:ring-grey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.md\\:dark\\:focus-within\\:ring-black:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.md\\:dark\\:focus-within\\:ring-highlight:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.md\\:dark\\:focus-within\\:ring-highlight_hover:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.md\\:dark\\:focus-within\\:ring-button_outline:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.md\\:dark\\:focus-within\\:ring-error:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.md\\:dark\\:focus-within\\:ring-text-light:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.md\\:dark\\:focus-within\\:ring-text-dimmed:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.md\\:dark\\:focus-within\\:ring-text-dark:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.md\\:dark\\:focus-within\\:ring-body-light:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.md\\:dark\\:focus-within\\:ring-body-dark:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.md\\:dark\\:focus-within\\:ring-button:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.md\\:dark\\:focus-within\\:ring-button_hover:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.md\\:dark\\:focus\\:ring-transparent:focus{--tw-ring-color:transparent}.md\\:dark\\:focus\\:ring-current:focus{--tw-ring-color:currentColor}.md\\:dark\\:focus\\:ring-white:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.md\\:dark\\:focus\\:ring-lightgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.md\\:dark\\:focus\\:ring-midgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.md\\:dark\\:focus\\:ring-darkgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.md\\:dark\\:focus\\:ring-grey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.md\\:dark\\:focus\\:ring-black:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.md\\:dark\\:focus\\:ring-highlight:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.md\\:dark\\:focus\\:ring-highlight_hover:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.md\\:dark\\:focus\\:ring-button_outline:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.md\\:dark\\:focus\\:ring-error:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.md\\:dark\\:focus\\:ring-text-light:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.md\\:dark\\:focus\\:ring-text-dimmed:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.md\\:dark\\:focus\\:ring-text-dark:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.md\\:dark\\:focus\\:ring-body-light:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.md\\:dark\\:focus\\:ring-body-dark:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.md\\:dark\\:focus\\:ring-button:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.md\\:dark\\:focus\\:ring-button_hover:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}}.md\\:ring-opacity-0{--tw-ring-opacity:0}.md\\:ring-opacity-5{--tw-ring-opacity:0.05}.md\\:ring-opacity-10{--tw-ring-opacity:0.1}.md\\:ring-opacity-20{--tw-ring-opacity:0.2}.md\\:ring-opacity-25{--tw-ring-opacity:0.25}.md\\:ring-opacity-30{--tw-ring-opacity:0.3}.md\\:ring-opacity-40{--tw-ring-opacity:0.4}.md\\:ring-opacity-50{--tw-ring-opacity:0.5}.md\\:ring-opacity-60{--tw-ring-opacity:0.6}.md\\:ring-opacity-70{--tw-ring-opacity:0.7}.md\\:ring-opacity-75{--tw-ring-opacity:0.75}.md\\:ring-opacity-80{--tw-ring-opacity:0.8}.md\\:ring-opacity-90{--tw-ring-opacity:0.9}.md\\:ring-opacity-95{--tw-ring-opacity:0.95}.md\\:ring-opacity-100{--tw-ring-opacity:1}.md\\:focus-within\\:ring-opacity-0:focus-within{--tw-ring-opacity:0}.md\\:focus-within\\:ring-opacity-5:focus-within{--tw-ring-opacity:0.05}.md\\:focus-within\\:ring-opacity-10:focus-within{--tw-ring-opacity:0.1}.md\\:focus-within\\:ring-opacity-20:focus-within{--tw-ring-opacity:0.2}.md\\:focus-within\\:ring-opacity-25:focus-within{--tw-ring-opacity:0.25}.md\\:focus-within\\:ring-opacity-30:focus-within{--tw-ring-opacity:0.3}.md\\:focus-within\\:ring-opacity-40:focus-within{--tw-ring-opacity:0.4}.md\\:focus-within\\:ring-opacity-50:focus-within{--tw-ring-opacity:0.5}.md\\:focus-within\\:ring-opacity-60:focus-within{--tw-ring-opacity:0.6}.md\\:focus-within\\:ring-opacity-70:focus-within{--tw-ring-opacity:0.7}.md\\:focus-within\\:ring-opacity-75:focus-within{--tw-ring-opacity:0.75}.md\\:focus-within\\:ring-opacity-80:focus-within{--tw-ring-opacity:0.8}.md\\:focus-within\\:ring-opacity-90:focus-within{--tw-ring-opacity:0.9}.md\\:focus-within\\:ring-opacity-95:focus-within{--tw-ring-opacity:0.95}.md\\:focus-within\\:ring-opacity-100:focus-within{--tw-ring-opacity:1}.md\\:focus\\:ring-opacity-0:focus{--tw-ring-opacity:0}.md\\:focus\\:ring-opacity-5:focus{--tw-ring-opacity:0.05}.md\\:focus\\:ring-opacity-10:focus{--tw-ring-opacity:0.1}.md\\:focus\\:ring-opacity-20:focus{--tw-ring-opacity:0.2}.md\\:focus\\:ring-opacity-25:focus{--tw-ring-opacity:0.25}.md\\:focus\\:ring-opacity-30:focus{--tw-ring-opacity:0.3}.md\\:focus\\:ring-opacity-40:focus{--tw-ring-opacity:0.4}.md\\:focus\\:ring-opacity-50:focus{--tw-ring-opacity:0.5}.md\\:focus\\:ring-opacity-60:focus{--tw-ring-opacity:0.6}.md\\:focus\\:ring-opacity-70:focus{--tw-ring-opacity:0.7}.md\\:focus\\:ring-opacity-75:focus{--tw-ring-opacity:0.75}.md\\:focus\\:ring-opacity-80:focus{--tw-ring-opacity:0.8}.md\\:focus\\:ring-opacity-90:focus{--tw-ring-opacity:0.9}.md\\:focus\\:ring-opacity-95:focus{--tw-ring-opacity:0.95}.md\\:focus\\:ring-opacity-100:focus{--tw-ring-opacity:1}@media(prefers-color-scheme: dark){.md\\:dark\\:ring-opacity-0{--tw-ring-opacity:0}.md\\:dark\\:ring-opacity-5{--tw-ring-opacity:0.05}.md\\:dark\\:ring-opacity-10{--tw-ring-opacity:0.1}.md\\:dark\\:ring-opacity-20{--tw-ring-opacity:0.2}.md\\:dark\\:ring-opacity-25{--tw-ring-opacity:0.25}.md\\:dark\\:ring-opacity-30{--tw-ring-opacity:0.3}.md\\:dark\\:ring-opacity-40{--tw-ring-opacity:0.4}.md\\:dark\\:ring-opacity-50{--tw-ring-opacity:0.5}.md\\:dark\\:ring-opacity-60{--tw-ring-opacity:0.6}.md\\:dark\\:ring-opacity-70{--tw-ring-opacity:0.7}.md\\:dark\\:ring-opacity-75{--tw-ring-opacity:0.75}.md\\:dark\\:ring-opacity-80{--tw-ring-opacity:0.8}.md\\:dark\\:ring-opacity-90{--tw-ring-opacity:0.9}.md\\:dark\\:ring-opacity-95{--tw-ring-opacity:0.95}.md\\:dark\\:ring-opacity-100{--tw-ring-opacity:1}.md\\:dark\\:focus-within\\:ring-opacity-0:focus-within{--tw-ring-opacity:0}.md\\:dark\\:focus-within\\:ring-opacity-5:focus-within{--tw-ring-opacity:0.05}.md\\:dark\\:focus-within\\:ring-opacity-10:focus-within{--tw-ring-opacity:0.1}.md\\:dark\\:focus-within\\:ring-opacity-20:focus-within{--tw-ring-opacity:0.2}.md\\:dark\\:focus-within\\:ring-opacity-25:focus-within{--tw-ring-opacity:0.25}.md\\:dark\\:focus-within\\:ring-opacity-30:focus-within{--tw-ring-opacity:0.3}.md\\:dark\\:focus-within\\:ring-opacity-40:focus-within{--tw-ring-opacity:0.4}.md\\:dark\\:focus-within\\:ring-opacity-50:focus-within{--tw-ring-opacity:0.5}.md\\:dark\\:focus-within\\:ring-opacity-60:focus-within{--tw-ring-opacity:0.6}.md\\:dark\\:focus-within\\:ring-opacity-70:focus-within{--tw-ring-opacity:0.7}.md\\:dark\\:focus-within\\:ring-opacity-75:focus-within{--tw-ring-opacity:0.75}.md\\:dark\\:focus-within\\:ring-opacity-80:focus-within{--tw-ring-opacity:0.8}.md\\:dark\\:focus-within\\:ring-opacity-90:focus-within{--tw-ring-opacity:0.9}.md\\:dark\\:focus-within\\:ring-opacity-95:focus-within{--tw-ring-opacity:0.95}.md\\:dark\\:focus-within\\:ring-opacity-100:focus-within{--tw-ring-opacity:1}.md\\:dark\\:focus\\:ring-opacity-0:focus{--tw-ring-opacity:0}.md\\:dark\\:focus\\:ring-opacity-5:focus{--tw-ring-opacity:0.05}.md\\:dark\\:focus\\:ring-opacity-10:focus{--tw-ring-opacity:0.1}.md\\:dark\\:focus\\:ring-opacity-20:focus{--tw-ring-opacity:0.2}.md\\:dark\\:focus\\:ring-opacity-25:focus{--tw-ring-opacity:0.25}.md\\:dark\\:focus\\:ring-opacity-30:focus{--tw-ring-opacity:0.3}.md\\:dark\\:focus\\:ring-opacity-40:focus{--tw-ring-opacity:0.4}.md\\:dark\\:focus\\:ring-opacity-50:focus{--tw-ring-opacity:0.5}.md\\:dark\\:focus\\:ring-opacity-60:focus{--tw-ring-opacity:0.6}.md\\:dark\\:focus\\:ring-opacity-70:focus{--tw-ring-opacity:0.7}.md\\:dark\\:focus\\:ring-opacity-75:focus{--tw-ring-opacity:0.75}.md\\:dark\\:focus\\:ring-opacity-80:focus{--tw-ring-opacity:0.8}.md\\:dark\\:focus\\:ring-opacity-90:focus{--tw-ring-opacity:0.9}.md\\:dark\\:focus\\:ring-opacity-95:focus{--tw-ring-opacity:0.95}.md\\:dark\\:focus\\:ring-opacity-100:focus{--tw-ring-opacity:1}}.md\\:ring-offset-0{--tw-ring-offset-width:0px}.md\\:ring-offset-1{--tw-ring-offset-width:1px}.md\\:ring-offset-2{--tw-ring-offset-width:2px}.md\\:ring-offset-4{--tw-ring-offset-width:4px}.md\\:ring-offset-8{--tw-ring-offset-width:8px}.md\\:focus-within\\:ring-offset-0:focus-within{--tw-ring-offset-width:0px}.md\\:focus-within\\:ring-offset-1:focus-within{--tw-ring-offset-width:1px}.md\\:focus-within\\:ring-offset-2:focus-within{--tw-ring-offset-width:2px}.md\\:focus-within\\:ring-offset-4:focus-within{--tw-ring-offset-width:4px}.md\\:focus-within\\:ring-offset-8:focus-within{--tw-ring-offset-width:8px}.md\\:focus\\:ring-offset-0:focus{--tw-ring-offset-width:0px}.md\\:focus\\:ring-offset-1:focus{--tw-ring-offset-width:1px}.md\\:focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}.md\\:focus\\:ring-offset-4:focus{--tw-ring-offset-width:4px}.md\\:focus\\:ring-offset-8:focus{--tw-ring-offset-width:8px}.md\\:ring-offset-transparent{--tw-ring-offset-color:transparent}.md\\:ring-offset-current{--tw-ring-offset-color:currentColor}.md\\:ring-offset-white{--tw-ring-offset-color:#fff}.md\\:ring-offset-lightgrey{--tw-ring-offset-color:#F7F7F7}.md\\:ring-offset-midgrey{--tw-ring-offset-color:#cfcfcf}.md\\:ring-offset-darkgrey{--tw-ring-offset-color:#7f7f7f}.md\\:ring-offset-grey{--tw-ring-offset-color:#1e1e1e}.md\\:ring-offset-black{--tw-ring-offset-color:#0f0f0f}.md\\:ring-offset-highlight{--tw-ring-offset-color:#0071e3}.md\\:ring-offset-highlight_hover{--tw-ring-offset-color:#0077ed}.md\\:ring-offset-button_outline{--tw-ring-offset-color:#cfcfcf}.md\\:ring-offset-error{--tw-ring-offset-color:#ff453a}.md\\:ring-offset-text-light{--tw-ring-offset-color:#0f0f0f}.md\\:ring-offset-text-dimmed{--tw-ring-offset-color:#cfcfcf}.md\\:ring-offset-text-dark{--tw-ring-offset-color:#fff}.md\\:ring-offset-body-light{--tw-ring-offset-color:#fff}.md\\:ring-offset-body-dark{--tw-ring-offset-color:#1e1e1e}.md\\:ring-offset-button{--tw-ring-offset-color:#0071e3}.md\\:ring-offset-button_hover{--tw-ring-offset-color:#0077ed}.md\\:focus-within\\:ring-offset-transparent:focus-within{--tw-ring-offset-color:transparent}.md\\:focus-within\\:ring-offset-current:focus-within{--tw-ring-offset-color:currentColor}.md\\:focus-within\\:ring-offset-white:focus-within{--tw-ring-offset-color:#fff}.md\\:focus-within\\:ring-offset-lightgrey:focus-within{--tw-ring-offset-color:#F7F7F7}.md\\:focus-within\\:ring-offset-midgrey:focus-within{--tw-ring-offset-color:#cfcfcf}.md\\:focus-within\\:ring-offset-darkgrey:focus-within{--tw-ring-offset-color:#7f7f7f}.md\\:focus-within\\:ring-offset-grey:focus-within{--tw-ring-offset-color:#1e1e1e}.md\\:focus-within\\:ring-offset-black:focus-within{--tw-ring-offset-color:#0f0f0f}.md\\:focus-within\\:ring-offset-highlight:focus-within{--tw-ring-offset-color:#0071e3}.md\\:focus-within\\:ring-offset-highlight_hover:focus-within{--tw-ring-offset-color:#0077ed}.md\\:focus-within\\:ring-offset-button_outline:focus-within{--tw-ring-offset-color:#cfcfcf}.md\\:focus-within\\:ring-offset-error:focus-within{--tw-ring-offset-color:#ff453a}.md\\:focus-within\\:ring-offset-text-light:focus-within{--tw-ring-offset-color:#0f0f0f}.md\\:focus-within\\:ring-offset-text-dimmed:focus-within{--tw-ring-offset-color:#cfcfcf}.md\\:focus-within\\:ring-offset-text-dark:focus-within{--tw-ring-offset-color:#fff}.md\\:focus-within\\:ring-offset-body-light:focus-within{--tw-ring-offset-color:#fff}.md\\:focus-within\\:ring-offset-body-dark:focus-within{--tw-ring-offset-color:#1e1e1e}.md\\:focus-within\\:ring-offset-button:focus-within{--tw-ring-offset-color:#0071e3}.md\\:focus-within\\:ring-offset-button_hover:focus-within{--tw-ring-offset-color:#0077ed}.md\\:focus\\:ring-offset-transparent:focus{--tw-ring-offset-color:transparent}.md\\:focus\\:ring-offset-current:focus{--tw-ring-offset-color:currentColor}.md\\:focus\\:ring-offset-white:focus{--tw-ring-offset-color:#fff}.md\\:focus\\:ring-offset-lightgrey:focus{--tw-ring-offset-color:#F7F7F7}.md\\:focus\\:ring-offset-midgrey:focus{--tw-ring-offset-color:#cfcfcf}.md\\:focus\\:ring-offset-darkgrey:focus{--tw-ring-offset-color:#7f7f7f}.md\\:focus\\:ring-offset-grey:focus{--tw-ring-offset-color:#1e1e1e}.md\\:focus\\:ring-offset-black:focus{--tw-ring-offset-color:#0f0f0f}.md\\:focus\\:ring-offset-highlight:focus{--tw-ring-offset-color:#0071e3}.md\\:focus\\:ring-offset-highlight_hover:focus{--tw-ring-offset-color:#0077ed}.md\\:focus\\:ring-offset-button_outline:focus{--tw-ring-offset-color:#cfcfcf}.md\\:focus\\:ring-offset-error:focus{--tw-ring-offset-color:#ff453a}.md\\:focus\\:ring-offset-text-light:focus{--tw-ring-offset-color:#0f0f0f}.md\\:focus\\:ring-offset-text-dimmed:focus{--tw-ring-offset-color:#cfcfcf}.md\\:focus\\:ring-offset-text-dark:focus{--tw-ring-offset-color:#fff}.md\\:focus\\:ring-offset-body-light:focus{--tw-ring-offset-color:#fff}.md\\:focus\\:ring-offset-body-dark:focus{--tw-ring-offset-color:#1e1e1e}.md\\:focus\\:ring-offset-button:focus{--tw-ring-offset-color:#0071e3}.md\\:focus\\:ring-offset-button_hover:focus{--tw-ring-offset-color:#0077ed}@media(prefers-color-scheme: dark){.md\\:dark\\:ring-offset-transparent{--tw-ring-offset-color:transparent}.md\\:dark\\:ring-offset-current{--tw-ring-offset-color:currentColor}.md\\:dark\\:ring-offset-white{--tw-ring-offset-color:#fff}.md\\:dark\\:ring-offset-lightgrey{--tw-ring-offset-color:#F7F7F7}.md\\:dark\\:ring-offset-midgrey{--tw-ring-offset-color:#cfcfcf}.md\\:dark\\:ring-offset-darkgrey{--tw-ring-offset-color:#7f7f7f}.md\\:dark\\:ring-offset-grey{--tw-ring-offset-color:#1e1e1e}.md\\:dark\\:ring-offset-black{--tw-ring-offset-color:#0f0f0f}.md\\:dark\\:ring-offset-highlight{--tw-ring-offset-color:#0071e3}.md\\:dark\\:ring-offset-highlight_hover{--tw-ring-offset-color:#0077ed}.md\\:dark\\:ring-offset-button_outline{--tw-ring-offset-color:#cfcfcf}.md\\:dark\\:ring-offset-error{--tw-ring-offset-color:#ff453a}.md\\:dark\\:ring-offset-text-light{--tw-ring-offset-color:#0f0f0f}.md\\:dark\\:ring-offset-text-dimmed{--tw-ring-offset-color:#cfcfcf}.md\\:dark\\:ring-offset-text-dark{--tw-ring-offset-color:#fff}.md\\:dark\\:ring-offset-body-light{--tw-ring-offset-color:#fff}.md\\:dark\\:ring-offset-body-dark{--tw-ring-offset-color:#1e1e1e}.md\\:dark\\:ring-offset-button{--tw-ring-offset-color:#0071e3}.md\\:dark\\:ring-offset-button_hover{--tw-ring-offset-color:#0077ed}.md\\:dark\\:focus-within\\:ring-offset-transparent:focus-within{--tw-ring-offset-color:transparent}.md\\:dark\\:focus-within\\:ring-offset-current:focus-within{--tw-ring-offset-color:currentColor}.md\\:dark\\:focus-within\\:ring-offset-white:focus-within{--tw-ring-offset-color:#fff}.md\\:dark\\:focus-within\\:ring-offset-lightgrey:focus-within{--tw-ring-offset-color:#F7F7F7}.md\\:dark\\:focus-within\\:ring-offset-midgrey:focus-within{--tw-ring-offset-color:#cfcfcf}.md\\:dark\\:focus-within\\:ring-offset-darkgrey:focus-within{--tw-ring-offset-color:#7f7f7f}.md\\:dark\\:focus-within\\:ring-offset-grey:focus-within{--tw-ring-offset-color:#1e1e1e}.md\\:dark\\:focus-within\\:ring-offset-black:focus-within{--tw-ring-offset-color:#0f0f0f}.md\\:dark\\:focus-within\\:ring-offset-highlight:focus-within{--tw-ring-offset-color:#0071e3}.md\\:dark\\:focus-within\\:ring-offset-highlight_hover:focus-within{--tw-ring-offset-color:#0077ed}.md\\:dark\\:focus-within\\:ring-offset-button_outline:focus-within{--tw-ring-offset-color:#cfcfcf}.md\\:dark\\:focus-within\\:ring-offset-error:focus-within{--tw-ring-offset-color:#ff453a}.md\\:dark\\:focus-within\\:ring-offset-text-light:focus-within{--tw-ring-offset-color:#0f0f0f}.md\\:dark\\:focus-within\\:ring-offset-text-dimmed:focus-within{--tw-ring-offset-color:#cfcfcf}.md\\:dark\\:focus-within\\:ring-offset-text-dark:focus-within{--tw-ring-offset-color:#fff}.md\\:dark\\:focus-within\\:ring-offset-body-light:focus-within{--tw-ring-offset-color:#fff}.md\\:dark\\:focus-within\\:ring-offset-body-dark:focus-within{--tw-ring-offset-color:#1e1e1e}.md\\:dark\\:focus-within\\:ring-offset-button:focus-within{--tw-ring-offset-color:#0071e3}.md\\:dark\\:focus-within\\:ring-offset-button_hover:focus-within{--tw-ring-offset-color:#0077ed}.md\\:dark\\:focus\\:ring-offset-transparent:focus{--tw-ring-offset-color:transparent}.md\\:dark\\:focus\\:ring-offset-current:focus{--tw-ring-offset-color:currentColor}.md\\:dark\\:focus\\:ring-offset-white:focus{--tw-ring-offset-color:#fff}.md\\:dark\\:focus\\:ring-offset-lightgrey:focus{--tw-ring-offset-color:#F7F7F7}.md\\:dark\\:focus\\:ring-offset-midgrey:focus{--tw-ring-offset-color:#cfcfcf}.md\\:dark\\:focus\\:ring-offset-darkgrey:focus{--tw-ring-offset-color:#7f7f7f}.md\\:dark\\:focus\\:ring-offset-grey:focus{--tw-ring-offset-color:#1e1e1e}.md\\:dark\\:focus\\:ring-offset-black:focus{--tw-ring-offset-color:#0f0f0f}.md\\:dark\\:focus\\:ring-offset-highlight:focus{--tw-ring-offset-color:#0071e3}.md\\:dark\\:focus\\:ring-offset-highlight_hover:focus{--tw-ring-offset-color:#0077ed}.md\\:dark\\:focus\\:ring-offset-button_outline:focus{--tw-ring-offset-color:#cfcfcf}.md\\:dark\\:focus\\:ring-offset-error:focus{--tw-ring-offset-color:#ff453a}.md\\:dark\\:focus\\:ring-offset-text-light:focus{--tw-ring-offset-color:#0f0f0f}.md\\:dark\\:focus\\:ring-offset-text-dimmed:focus{--tw-ring-offset-color:#cfcfcf}.md\\:dark\\:focus\\:ring-offset-text-dark:focus{--tw-ring-offset-color:#fff}.md\\:dark\\:focus\\:ring-offset-body-light:focus{--tw-ring-offset-color:#fff}.md\\:dark\\:focus\\:ring-offset-body-dark:focus{--tw-ring-offset-color:#1e1e1e}.md\\:dark\\:focus\\:ring-offset-button:focus{--tw-ring-offset-color:#0071e3}.md\\:dark\\:focus\\:ring-offset-button_hover:focus{--tw-ring-offset-color:#0077ed}}.md\\:filter{--tw-blur:var(--tw-empty,/*!*/ /*!*/);--tw-brightness:var(--tw-empty,/*!*/ /*!*/);--tw-contrast:var(--tw-empty,/*!*/ /*!*/);--tw-grayscale:var(--tw-empty,/*!*/ /*!*/);--tw-hue-rotate:var(--tw-empty,/*!*/ /*!*/);--tw-invert:var(--tw-empty,/*!*/ /*!*/);--tw-saturate:var(--tw-empty,/*!*/ /*!*/);--tw-sepia:var(--tw-empty,/*!*/ /*!*/);--tw-drop-shadow:var(--tw-empty,/*!*/ /*!*/);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.md\\:filter-none{filter:none}.md\\:blur-0{--tw-blur:blur(0)}.md\\:blur-none{--tw-blur:blur(0)}.md\\:blur-sm{--tw-blur:blur(4px)}.md\\:blur{--tw-blur:blur(8px)}.md\\:blur-md{--tw-blur:blur(12px)}.md\\:blur-lg{--tw-blur:blur(16px)}.md\\:blur-xl{--tw-blur:blur(24px)}.md\\:blur-2xl{--tw-blur:blur(40px)}.md\\:blur-3xl{--tw-blur:blur(64px)}.md\\:brightness-0{--tw-brightness:brightness(0)}.md\\:brightness-50{--tw-brightness:brightness(.5)}.md\\:brightness-75{--tw-brightness:brightness(.75)}.md\\:brightness-90{--tw-brightness:brightness(.9)}.md\\:brightness-95{--tw-brightness:brightness(.95)}.md\\:brightness-100{--tw-brightness:brightness(1)}.md\\:brightness-105{--tw-brightness:brightness(1.05)}.md\\:brightness-110{--tw-brightness:brightness(1.1)}.md\\:brightness-125{--tw-brightness:brightness(1.25)}.md\\:brightness-150{--tw-brightness:brightness(1.5)}.md\\:brightness-200{--tw-brightness:brightness(2)}.md\\:contrast-0{--tw-contrast:contrast(0)}.md\\:contrast-50{--tw-contrast:contrast(.5)}.md\\:contrast-75{--tw-contrast:contrast(.75)}.md\\:contrast-100{--tw-contrast:contrast(1)}.md\\:contrast-125{--tw-contrast:contrast(1.25)}.md\\:contrast-150{--tw-contrast:contrast(1.5)}.md\\:contrast-200{--tw-contrast:contrast(2)}.md\\:drop-shadow-sm{--tw-drop-shadow:drop-shadow(0 1px 1px rgba(0,0,0,0.05))}.md\\:drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1)) drop-shadow(0 1px 1px rgba(0, 0, 0, 0.06))}.md\\:drop-shadow-md{--tw-drop-shadow:drop-shadow(0 4px 3px rgba(0, 0, 0, 0.07)) drop-shadow(0 2px 2px rgba(0, 0, 0, 0.06))}.md\\:drop-shadow-lg{--tw-drop-shadow:drop-shadow(0 10px 8px rgba(0, 0, 0, 0.04)) drop-shadow(0 4px 3px rgba(0, 0, 0, 0.1))}.md\\:drop-shadow-xl{--tw-drop-shadow:drop-shadow(0 20px 13px rgba(0, 0, 0, 0.03)) drop-shadow(0 8px 5px rgba(0, 0, 0, 0.08))}.md\\:drop-shadow-2xl{--tw-drop-shadow:drop-shadow(0 25px 25px rgba(0, 0, 0, 0.15))}.md\\:drop-shadow-none{--tw-drop-shadow:drop-shadow(0 0 #0000)}.md\\:grayscale-0{--tw-grayscale:grayscale(0)}.md\\:grayscale{--tw-grayscale:grayscale(100%)}.md\\:hue-rotate-0{--tw-hue-rotate:hue-rotate(0deg)}.md\\:hue-rotate-15{--tw-hue-rotate:hue-rotate(15deg)}.md\\:hue-rotate-30{--tw-hue-rotate:hue-rotate(30deg)}.md\\:hue-rotate-60{--tw-hue-rotate:hue-rotate(60deg)}.md\\:hue-rotate-90{--tw-hue-rotate:hue-rotate(90deg)}.md\\:hue-rotate-180{--tw-hue-rotate:hue-rotate(180deg)}.md\\:-hue-rotate-180{--tw-hue-rotate:hue-rotate(-180deg)}.md\\:-hue-rotate-90{--tw-hue-rotate:hue-rotate(-90deg)}.md\\:-hue-rotate-60{--tw-hue-rotate:hue-rotate(-60deg)}.md\\:-hue-rotate-30{--tw-hue-rotate:hue-rotate(-30deg)}.md\\:-hue-rotate-15{--tw-hue-rotate:hue-rotate(-15deg)}.md\\:invert-0{--tw-invert:invert(0)}.md\\:invert{--tw-invert:invert(100%)}.md\\:saturate-0{--tw-saturate:saturate(0)}.md\\:saturate-50{--tw-saturate:saturate(.5)}.md\\:saturate-100{--tw-saturate:saturate(1)}.md\\:saturate-150{--tw-saturate:saturate(1.5)}.md\\:saturate-200{--tw-saturate:saturate(2)}.md\\:sepia-0{--tw-sepia:sepia(0)}.md\\:sepia{--tw-sepia:sepia(100%)}.md\\:backdrop-filter{--tw-backdrop-blur:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-brightness:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-contrast:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-grayscale:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-hue-rotate:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-invert:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-opacity:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-saturate:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-sepia:var(--tw-empty,/*!*/ /*!*/);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.md\\:backdrop-filter-none{backdrop-filter:none}.md\\:backdrop-blur-0{--tw-backdrop-blur:blur(0)}.md\\:backdrop-blur-none{--tw-backdrop-blur:blur(0)}.md\\:backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.md\\:backdrop-blur{--tw-backdrop-blur:blur(8px)}.md\\:backdrop-blur-md{--tw-backdrop-blur:blur(12px)}.md\\:backdrop-blur-lg{--tw-backdrop-blur:blur(16px)}.md\\:backdrop-blur-xl{--tw-backdrop-blur:blur(24px)}.md\\:backdrop-blur-2xl{--tw-backdrop-blur:blur(40px)}.md\\:backdrop-blur-3xl{--tw-backdrop-blur:blur(64px)}.md\\:backdrop-brightness-0{--tw-backdrop-brightness:brightness(0)}.md\\:backdrop-brightness-50{--tw-backdrop-brightness:brightness(.5)}.md\\:backdrop-brightness-75{--tw-backdrop-brightness:brightness(.75)}.md\\:backdrop-brightness-90{--tw-backdrop-brightness:brightness(.9)}.md\\:backdrop-brightness-95{--tw-backdrop-brightness:brightness(.95)}.md\\:backdrop-brightness-100{--tw-backdrop-brightness:brightness(1)}.md\\:backdrop-brightness-105{--tw-backdrop-brightness:brightness(1.05)}.md\\:backdrop-brightness-110{--tw-backdrop-brightness:brightness(1.1)}.md\\:backdrop-brightness-125{--tw-backdrop-brightness:brightness(1.25)}.md\\:backdrop-brightness-150{--tw-backdrop-brightness:brightness(1.5)}.md\\:backdrop-brightness-200{--tw-backdrop-brightness:brightness(2)}.md\\:backdrop-contrast-0{--tw-backdrop-contrast:contrast(0)}.md\\:backdrop-contrast-50{--tw-backdrop-contrast:contrast(.5)}.md\\:backdrop-contrast-75{--tw-backdrop-contrast:contrast(.75)}.md\\:backdrop-contrast-100{--tw-backdrop-contrast:contrast(1)}.md\\:backdrop-contrast-125{--tw-backdrop-contrast:contrast(1.25)}.md\\:backdrop-contrast-150{--tw-backdrop-contrast:contrast(1.5)}.md\\:backdrop-contrast-200{--tw-backdrop-contrast:contrast(2)}.md\\:backdrop-grayscale-0{--tw-backdrop-grayscale:grayscale(0)}.md\\:backdrop-grayscale{--tw-backdrop-grayscale:grayscale(100%)}.md\\:backdrop-hue-rotate-0{--tw-backdrop-hue-rotate:hue-rotate(0deg)}.md\\:backdrop-hue-rotate-15{--tw-backdrop-hue-rotate:hue-rotate(15deg)}.md\\:backdrop-hue-rotate-30{--tw-backdrop-hue-rotate:hue-rotate(30deg)}.md\\:backdrop-hue-rotate-60{--tw-backdrop-hue-rotate:hue-rotate(60deg)}.md\\:backdrop-hue-rotate-90{--tw-backdrop-hue-rotate:hue-rotate(90deg)}.md\\:backdrop-hue-rotate-180{--tw-backdrop-hue-rotate:hue-rotate(180deg)}.md\\:-backdrop-hue-rotate-180{--tw-backdrop-hue-rotate:hue-rotate(-180deg)}.md\\:-backdrop-hue-rotate-90{--tw-backdrop-hue-rotate:hue-rotate(-90deg)}.md\\:-backdrop-hue-rotate-60{--tw-backdrop-hue-rotate:hue-rotate(-60deg)}.md\\:-backdrop-hue-rotate-30{--tw-backdrop-hue-rotate:hue-rotate(-30deg)}.md\\:-backdrop-hue-rotate-15{--tw-backdrop-hue-rotate:hue-rotate(-15deg)}.md\\:backdrop-invert-0{--tw-backdrop-invert:invert(0)}.md\\:backdrop-invert{--tw-backdrop-invert:invert(100%)}.md\\:backdrop-opacity-0{--tw-backdrop-opacity:opacity(0)}.md\\:backdrop-opacity-5{--tw-backdrop-opacity:opacity(0.05)}.md\\:backdrop-opacity-10{--tw-backdrop-opacity:opacity(0.1)}.md\\:backdrop-opacity-20{--tw-backdrop-opacity:opacity(0.2)}.md\\:backdrop-opacity-25{--tw-backdrop-opacity:opacity(0.25)}.md\\:backdrop-opacity-30{--tw-backdrop-opacity:opacity(0.3)}.md\\:backdrop-opacity-40{--tw-backdrop-opacity:opacity(0.4)}.md\\:backdrop-opacity-50{--tw-backdrop-opacity:opacity(0.5)}.md\\:backdrop-opacity-60{--tw-backdrop-opacity:opacity(0.6)}.md\\:backdrop-opacity-70{--tw-backdrop-opacity:opacity(0.7)}.md\\:backdrop-opacity-75{--tw-backdrop-opacity:opacity(0.75)}.md\\:backdrop-opacity-80{--tw-backdrop-opacity:opacity(0.8)}.md\\:backdrop-opacity-90{--tw-backdrop-opacity:opacity(0.9)}.md\\:backdrop-opacity-95{--tw-backdrop-opacity:opacity(0.95)}.md\\:backdrop-opacity-100{--tw-backdrop-opacity:opacity(1)}.md\\:backdrop-saturate-0{--tw-backdrop-saturate:saturate(0)}.md\\:backdrop-saturate-50{--tw-backdrop-saturate:saturate(.5)}.md\\:backdrop-saturate-100{--tw-backdrop-saturate:saturate(1)}.md\\:backdrop-saturate-150{--tw-backdrop-saturate:saturate(1.5)}.md\\:backdrop-saturate-200{--tw-backdrop-saturate:saturate(2)}.md\\:backdrop-sepia-0{--tw-backdrop-sepia:sepia(0)}.md\\:backdrop-sepia{--tw-backdrop-sepia:sepia(100%)}.md\\:transition-none{transition-property:none}.md\\:transition-all{transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.md\\:transition{transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.md\\:transition-colors{transition-property:background-color, border-color, color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.md\\:transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.md\\:transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.md\\:transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.md\\:delay-75{transition-delay:75ms}.md\\:delay-100{transition-delay:100ms}.md\\:delay-150{transition-delay:150ms}.md\\:delay-200{transition-delay:200ms}.md\\:delay-300{transition-delay:300ms}.md\\:delay-500{transition-delay:500ms}.md\\:delay-700{transition-delay:700ms}.md\\:delay-1000{transition-delay:1000ms}.md\\:duration-75{transition-duration:75ms}.md\\:duration-100{transition-duration:100ms}.md\\:duration-150{transition-duration:150ms}.md\\:duration-200{transition-duration:200ms}.md\\:duration-300{transition-duration:300ms}.md\\:duration-500{transition-duration:500ms}.md\\:duration-700{transition-duration:700ms}.md\\:duration-1000{transition-duration:1000ms}.md\\:ease-linear{transition-timing-function:linear}.md\\:ease-in{transition-timing-function:cubic-bezier(0.4, 0, 1, 1)}.md\\:ease-out{transition-timing-function:cubic-bezier(0, 0, 0.2, 1)}.md\\:ease-in-out{transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}}@media(min-width: 1024px){.lg\\:container{width:100%}@media(min-width: 640px){.lg\\:container{max-width:640px}}@media(min-width: 768px){.lg\\:container{max-width:768px}}@media(min-width: 1024px){.lg\\:container{max-width:1024px}}@media(min-width: 1280px){.lg\\:container{max-width:1280px}}@media(min-width: 1536px){.lg\\:container{max-width:1536px}}.lg\\:sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.lg\\:not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.lg\\:focus-within\\:sr-only:focus-within{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.lg\\:focus-within\\:not-sr-only:focus-within{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.lg\\:focus\\:sr-only:focus{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.lg\\:focus\\:not-sr-only:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.lg\\:pointer-events-none{pointer-events:none}.lg\\:pointer-events-auto{pointer-events:auto}.lg\\:visible{visibility:visible}.lg\\:invisible{visibility:hidden}.lg\\:static{position:static}.lg\\:fixed{position:fixed}.lg\\:absolute{position:absolute}.lg\\:relative{position:relative}.lg\\:sticky{position:sticky}.lg\\:inset-0{top:0px;right:0px;bottom:0px;left:0px}.lg\\:inset-1{top:0.25rem;right:0.25rem;bottom:0.25rem;left:0.25rem}.lg\\:inset-2{top:0.5rem;right:0.5rem;bottom:0.5rem;left:0.5rem}.lg\\:inset-3{top:0.75rem;right:0.75rem;bottom:0.75rem;left:0.75rem}.lg\\:inset-4{top:1rem;right:1rem;bottom:1rem;left:1rem}.lg\\:inset-5{top:1.25rem;right:1.25rem;bottom:1.25rem;left:1.25rem}.lg\\:inset-6{top:1.5rem;right:1.5rem;bottom:1.5rem;left:1.5rem}.lg\\:inset-7{top:1.75rem;right:1.75rem;bottom:1.75rem;left:1.75rem}.lg\\:inset-8{top:2rem;right:2rem;bottom:2rem;left:2rem}.lg\\:inset-9{top:2.25rem;right:2.25rem;bottom:2.25rem;left:2.25rem}.lg\\:inset-10{top:2.5rem;right:2.5rem;bottom:2.5rem;left:2.5rem}.lg\\:inset-11{top:2.75rem;right:2.75rem;bottom:2.75rem;left:2.75rem}.lg\\:inset-12{top:3rem;right:3rem;bottom:3rem;left:3rem}.lg\\:inset-14{top:3.5rem;right:3.5rem;bottom:3.5rem;left:3.5rem}.lg\\:inset-16{top:4rem;right:4rem;bottom:4rem;left:4rem}.lg\\:inset-20{top:5rem;right:5rem;bottom:5rem;left:5rem}.lg\\:inset-24{top:6rem;right:6rem;bottom:6rem;left:6rem}.lg\\:inset-28{top:7rem;right:7rem;bottom:7rem;left:7rem}.lg\\:inset-32{top:8rem;right:8rem;bottom:8rem;left:8rem}.lg\\:inset-36{top:9rem;right:9rem;bottom:9rem;left:9rem}.lg\\:inset-40{top:10rem;right:10rem;bottom:10rem;left:10rem}.lg\\:inset-44{top:11rem;right:11rem;bottom:11rem;left:11rem}.lg\\:inset-48{top:12rem;right:12rem;bottom:12rem;left:12rem}.lg\\:inset-52{top:13rem;right:13rem;bottom:13rem;left:13rem}.lg\\:inset-56{top:14rem;right:14rem;bottom:14rem;left:14rem}.lg\\:inset-60{top:15rem;right:15rem;bottom:15rem;left:15rem}.lg\\:inset-64{top:16rem;right:16rem;bottom:16rem;left:16rem}.lg\\:inset-72{top:18rem;right:18rem;bottom:18rem;left:18rem}.lg\\:inset-80{top:20rem;right:20rem;bottom:20rem;left:20rem}.lg\\:inset-96{top:24rem;right:24rem;bottom:24rem;left:24rem}.lg\\:inset-auto{top:auto;right:auto;bottom:auto;left:auto}.lg\\:inset-px{top:1px;right:1px;bottom:1px;left:1px}.lg\\:inset-0\\.5{top:0.125rem;right:0.125rem;bottom:0.125rem;left:0.125rem}.lg\\:inset-1\\.5{top:0.375rem;right:0.375rem;bottom:0.375rem;left:0.375rem}.lg\\:inset-2\\.5{top:0.625rem;right:0.625rem;bottom:0.625rem;left:0.625rem}.lg\\:inset-3\\.5{top:0.875rem;right:0.875rem;bottom:0.875rem;left:0.875rem}.lg\\:-inset-0{top:0px;right:0px;bottom:0px;left:0px}.lg\\:-inset-1{top:-0.25rem;right:-0.25rem;bottom:-0.25rem;left:-0.25rem}.lg\\:-inset-2{top:-0.5rem;right:-0.5rem;bottom:-0.5rem;left:-0.5rem}.lg\\:-inset-3{top:-0.75rem;right:-0.75rem;bottom:-0.75rem;left:-0.75rem}.lg\\:-inset-4{top:-1rem;right:-1rem;bottom:-1rem;left:-1rem}.lg\\:-inset-5{top:-1.25rem;right:-1.25rem;bottom:-1.25rem;left:-1.25rem}.lg\\:-inset-6{top:-1.5rem;right:-1.5rem;bottom:-1.5rem;left:-1.5rem}.lg\\:-inset-7{top:-1.75rem;right:-1.75rem;bottom:-1.75rem;left:-1.75rem}.lg\\:-inset-8{top:-2rem;right:-2rem;bottom:-2rem;left:-2rem}.lg\\:-inset-9{top:-2.25rem;right:-2.25rem;bottom:-2.25rem;left:-2.25rem}.lg\\:-inset-10{top:-2.5rem;right:-2.5rem;bottom:-2.5rem;left:-2.5rem}.lg\\:-inset-11{top:-2.75rem;right:-2.75rem;bottom:-2.75rem;left:-2.75rem}.lg\\:-inset-12{top:-3rem;right:-3rem;bottom:-3rem;left:-3rem}.lg\\:-inset-14{top:-3.5rem;right:-3.5rem;bottom:-3.5rem;left:-3.5rem}.lg\\:-inset-16{top:-4rem;right:-4rem;bottom:-4rem;left:-4rem}.lg\\:-inset-20{top:-5rem;right:-5rem;bottom:-5rem;left:-5rem}.lg\\:-inset-24{top:-6rem;right:-6rem;bottom:-6rem;left:-6rem}.lg\\:-inset-28{top:-7rem;right:-7rem;bottom:-7rem;left:-7rem}.lg\\:-inset-32{top:-8rem;right:-8rem;bottom:-8rem;left:-8rem}.lg\\:-inset-36{top:-9rem;right:-9rem;bottom:-9rem;left:-9rem}.lg\\:-inset-40{top:-10rem;right:-10rem;bottom:-10rem;left:-10rem}.lg\\:-inset-44{top:-11rem;right:-11rem;bottom:-11rem;left:-11rem}.lg\\:-inset-48{top:-12rem;right:-12rem;bottom:-12rem;left:-12rem}.lg\\:-inset-52{top:-13rem;right:-13rem;bottom:-13rem;left:-13rem}.lg\\:-inset-56{top:-14rem;right:-14rem;bottom:-14rem;left:-14rem}.lg\\:-inset-60{top:-15rem;right:-15rem;bottom:-15rem;left:-15rem}.lg\\:-inset-64{top:-16rem;right:-16rem;bottom:-16rem;left:-16rem}.lg\\:-inset-72{top:-18rem;right:-18rem;bottom:-18rem;left:-18rem}.lg\\:-inset-80{top:-20rem;right:-20rem;bottom:-20rem;left:-20rem}.lg\\:-inset-96{top:-24rem;right:-24rem;bottom:-24rem;left:-24rem}.lg\\:-inset-px{top:-1px;right:-1px;bottom:-1px;left:-1px}.lg\\:-inset-0\\.5{top:-0.125rem;right:-0.125rem;bottom:-0.125rem;left:-0.125rem}.lg\\:-inset-1\\.5{top:-0.375rem;right:-0.375rem;bottom:-0.375rem;left:-0.375rem}.lg\\:-inset-2\\.5{top:-0.625rem;right:-0.625rem;bottom:-0.625rem;left:-0.625rem}.lg\\:-inset-3\\.5{top:-0.875rem;right:-0.875rem;bottom:-0.875rem;left:-0.875rem}.lg\\:inset-1\\/2{top:50%;right:50%;bottom:50%;left:50%}.lg\\:inset-1\\/3{top:33.333333%;right:33.333333%;bottom:33.333333%;left:33.333333%}.lg\\:inset-2\\/3{top:66.666667%;right:66.666667%;bottom:66.666667%;left:66.666667%}.lg\\:inset-1\\/4{top:25%;right:25%;bottom:25%;left:25%}.lg\\:inset-2\\/4{top:50%;right:50%;bottom:50%;left:50%}.lg\\:inset-3\\/4{top:75%;right:75%;bottom:75%;left:75%}.lg\\:inset-full{top:100%;right:100%;bottom:100%;left:100%}.lg\\:-inset-1\\/2{top:-50%;right:-50%;bottom:-50%;left:-50%}.lg\\:-inset-1\\/3{top:-33.333333%;right:-33.333333%;bottom:-33.333333%;left:-33.333333%}.lg\\:-inset-2\\/3{top:-66.666667%;right:-66.666667%;bottom:-66.666667%;left:-66.666667%}.lg\\:-inset-1\\/4{top:-25%;right:-25%;bottom:-25%;left:-25%}.lg\\:-inset-2\\/4{top:-50%;right:-50%;bottom:-50%;left:-50%}.lg\\:-inset-3\\/4{top:-75%;right:-75%;bottom:-75%;left:-75%}.lg\\:-inset-full{top:-100%;right:-100%;bottom:-100%;left:-100%}.lg\\:inset-x-0{left:0px;right:0px}.lg\\:inset-x-1{left:0.25rem;right:0.25rem}.lg\\:inset-x-2{left:0.5rem;right:0.5rem}.lg\\:inset-x-3{left:0.75rem;right:0.75rem}.lg\\:inset-x-4{left:1rem;right:1rem}.lg\\:inset-x-5{left:1.25rem;right:1.25rem}.lg\\:inset-x-6{left:1.5rem;right:1.5rem}.lg\\:inset-x-7{left:1.75rem;right:1.75rem}.lg\\:inset-x-8{left:2rem;right:2rem}.lg\\:inset-x-9{left:2.25rem;right:2.25rem}.lg\\:inset-x-10{left:2.5rem;right:2.5rem}.lg\\:inset-x-11{left:2.75rem;right:2.75rem}.lg\\:inset-x-12{left:3rem;right:3rem}.lg\\:inset-x-14{left:3.5rem;right:3.5rem}.lg\\:inset-x-16{left:4rem;right:4rem}.lg\\:inset-x-20{left:5rem;right:5rem}.lg\\:inset-x-24{left:6rem;right:6rem}.lg\\:inset-x-28{left:7rem;right:7rem}.lg\\:inset-x-32{left:8rem;right:8rem}.lg\\:inset-x-36{left:9rem;right:9rem}.lg\\:inset-x-40{left:10rem;right:10rem}.lg\\:inset-x-44{left:11rem;right:11rem}.lg\\:inset-x-48{left:12rem;right:12rem}.lg\\:inset-x-52{left:13rem;right:13rem}.lg\\:inset-x-56{left:14rem;right:14rem}.lg\\:inset-x-60{left:15rem;right:15rem}.lg\\:inset-x-64{left:16rem;right:16rem}.lg\\:inset-x-72{left:18rem;right:18rem}.lg\\:inset-x-80{left:20rem;right:20rem}.lg\\:inset-x-96{left:24rem;right:24rem}.lg\\:inset-x-auto{left:auto;right:auto}.lg\\:inset-x-px{left:1px;right:1px}.lg\\:inset-x-0\\.5{left:0.125rem;right:0.125rem}.lg\\:inset-x-1\\.5{left:0.375rem;right:0.375rem}.lg\\:inset-x-2\\.5{left:0.625rem;right:0.625rem}.lg\\:inset-x-3\\.5{left:0.875rem;right:0.875rem}.lg\\:-inset-x-0{left:0px;right:0px}.lg\\:-inset-x-1{left:-0.25rem;right:-0.25rem}.lg\\:-inset-x-2{left:-0.5rem;right:-0.5rem}.lg\\:-inset-x-3{left:-0.75rem;right:-0.75rem}.lg\\:-inset-x-4{left:-1rem;right:-1rem}.lg\\:-inset-x-5{left:-1.25rem;right:-1.25rem}.lg\\:-inset-x-6{left:-1.5rem;right:-1.5rem}.lg\\:-inset-x-7{left:-1.75rem;right:-1.75rem}.lg\\:-inset-x-8{left:-2rem;right:-2rem}.lg\\:-inset-x-9{left:-2.25rem;right:-2.25rem}.lg\\:-inset-x-10{left:-2.5rem;right:-2.5rem}.lg\\:-inset-x-11{left:-2.75rem;right:-2.75rem}.lg\\:-inset-x-12{left:-3rem;right:-3rem}.lg\\:-inset-x-14{left:-3.5rem;right:-3.5rem}.lg\\:-inset-x-16{left:-4rem;right:-4rem}.lg\\:-inset-x-20{left:-5rem;right:-5rem}.lg\\:-inset-x-24{left:-6rem;right:-6rem}.lg\\:-inset-x-28{left:-7rem;right:-7rem}.lg\\:-inset-x-32{left:-8rem;right:-8rem}.lg\\:-inset-x-36{left:-9rem;right:-9rem}.lg\\:-inset-x-40{left:-10rem;right:-10rem}.lg\\:-inset-x-44{left:-11rem;right:-11rem}.lg\\:-inset-x-48{left:-12rem;right:-12rem}.lg\\:-inset-x-52{left:-13rem;right:-13rem}.lg\\:-inset-x-56{left:-14rem;right:-14rem}.lg\\:-inset-x-60{left:-15rem;right:-15rem}.lg\\:-inset-x-64{left:-16rem;right:-16rem}.lg\\:-inset-x-72{left:-18rem;right:-18rem}.lg\\:-inset-x-80{left:-20rem;right:-20rem}.lg\\:-inset-x-96{left:-24rem;right:-24rem}.lg\\:-inset-x-px{left:-1px;right:-1px}.lg\\:-inset-x-0\\.5{left:-0.125rem;right:-0.125rem}.lg\\:-inset-x-1\\.5{left:-0.375rem;right:-0.375rem}.lg\\:-inset-x-2\\.5{left:-0.625rem;right:-0.625rem}.lg\\:-inset-x-3\\.5{left:-0.875rem;right:-0.875rem}.lg\\:inset-x-1\\/2{left:50%;right:50%}.lg\\:inset-x-1\\/3{left:33.333333%;right:33.333333%}.lg\\:inset-x-2\\/3{left:66.666667%;right:66.666667%}.lg\\:inset-x-1\\/4{left:25%;right:25%}.lg\\:inset-x-2\\/4{left:50%;right:50%}.lg\\:inset-x-3\\/4{left:75%;right:75%}.lg\\:inset-x-full{left:100%;right:100%}.lg\\:-inset-x-1\\/2{left:-50%;right:-50%}.lg\\:-inset-x-1\\/3{left:-33.333333%;right:-33.333333%}.lg\\:-inset-x-2\\/3{left:-66.666667%;right:-66.666667%}.lg\\:-inset-x-1\\/4{left:-25%;right:-25%}.lg\\:-inset-x-2\\/4{left:-50%;right:-50%}.lg\\:-inset-x-3\\/4{left:-75%;right:-75%}.lg\\:-inset-x-full{left:-100%;right:-100%}.lg\\:inset-y-0{top:0px;bottom:0px}.lg\\:inset-y-1{top:0.25rem;bottom:0.25rem}.lg\\:inset-y-2{top:0.5rem;bottom:0.5rem}.lg\\:inset-y-3{top:0.75rem;bottom:0.75rem}.lg\\:inset-y-4{top:1rem;bottom:1rem}.lg\\:inset-y-5{top:1.25rem;bottom:1.25rem}.lg\\:inset-y-6{top:1.5rem;bottom:1.5rem}.lg\\:inset-y-7{top:1.75rem;bottom:1.75rem}.lg\\:inset-y-8{top:2rem;bottom:2rem}.lg\\:inset-y-9{top:2.25rem;bottom:2.25rem}.lg\\:inset-y-10{top:2.5rem;bottom:2.5rem}.lg\\:inset-y-11{top:2.75rem;bottom:2.75rem}.lg\\:inset-y-12{top:3rem;bottom:3rem}.lg\\:inset-y-14{top:3.5rem;bottom:3.5rem}.lg\\:inset-y-16{top:4rem;bottom:4rem}.lg\\:inset-y-20{top:5rem;bottom:5rem}.lg\\:inset-y-24{top:6rem;bottom:6rem}.lg\\:inset-y-28{top:7rem;bottom:7rem}.lg\\:inset-y-32{top:8rem;bottom:8rem}.lg\\:inset-y-36{top:9rem;bottom:9rem}.lg\\:inset-y-40{top:10rem;bottom:10rem}.lg\\:inset-y-44{top:11rem;bottom:11rem}.lg\\:inset-y-48{top:12rem;bottom:12rem}.lg\\:inset-y-52{top:13rem;bottom:13rem}.lg\\:inset-y-56{top:14rem;bottom:14rem}.lg\\:inset-y-60{top:15rem;bottom:15rem}.lg\\:inset-y-64{top:16rem;bottom:16rem}.lg\\:inset-y-72{top:18rem;bottom:18rem}.lg\\:inset-y-80{top:20rem;bottom:20rem}.lg\\:inset-y-96{top:24rem;bottom:24rem}.lg\\:inset-y-auto{top:auto;bottom:auto}.lg\\:inset-y-px{top:1px;bottom:1px}.lg\\:inset-y-0\\.5{top:0.125rem;bottom:0.125rem}.lg\\:inset-y-1\\.5{top:0.375rem;bottom:0.375rem}.lg\\:inset-y-2\\.5{top:0.625rem;bottom:0.625rem}.lg\\:inset-y-3\\.5{top:0.875rem;bottom:0.875rem}.lg\\:-inset-y-0{top:0px;bottom:0px}.lg\\:-inset-y-1{top:-0.25rem;bottom:-0.25rem}.lg\\:-inset-y-2{top:-0.5rem;bottom:-0.5rem}.lg\\:-inset-y-3{top:-0.75rem;bottom:-0.75rem}.lg\\:-inset-y-4{top:-1rem;bottom:-1rem}.lg\\:-inset-y-5{top:-1.25rem;bottom:-1.25rem}.lg\\:-inset-y-6{top:-1.5rem;bottom:-1.5rem}.lg\\:-inset-y-7{top:-1.75rem;bottom:-1.75rem}.lg\\:-inset-y-8{top:-2rem;bottom:-2rem}.lg\\:-inset-y-9{top:-2.25rem;bottom:-2.25rem}.lg\\:-inset-y-10{top:-2.5rem;bottom:-2.5rem}.lg\\:-inset-y-11{top:-2.75rem;bottom:-2.75rem}.lg\\:-inset-y-12{top:-3rem;bottom:-3rem}.lg\\:-inset-y-14{top:-3.5rem;bottom:-3.5rem}.lg\\:-inset-y-16{top:-4rem;bottom:-4rem}.lg\\:-inset-y-20{top:-5rem;bottom:-5rem}.lg\\:-inset-y-24{top:-6rem;bottom:-6rem}.lg\\:-inset-y-28{top:-7rem;bottom:-7rem}.lg\\:-inset-y-32{top:-8rem;bottom:-8rem}.lg\\:-inset-y-36{top:-9rem;bottom:-9rem}.lg\\:-inset-y-40{top:-10rem;bottom:-10rem}.lg\\:-inset-y-44{top:-11rem;bottom:-11rem}.lg\\:-inset-y-48{top:-12rem;bottom:-12rem}.lg\\:-inset-y-52{top:-13rem;bottom:-13rem}.lg\\:-inset-y-56{top:-14rem;bottom:-14rem}.lg\\:-inset-y-60{top:-15rem;bottom:-15rem}.lg\\:-inset-y-64{top:-16rem;bottom:-16rem}.lg\\:-inset-y-72{top:-18rem;bottom:-18rem}.lg\\:-inset-y-80{top:-20rem;bottom:-20rem}.lg\\:-inset-y-96{top:-24rem;bottom:-24rem}.lg\\:-inset-y-px{top:-1px;bottom:-1px}.lg\\:-inset-y-0\\.5{top:-0.125rem;bottom:-0.125rem}.lg\\:-inset-y-1\\.5{top:-0.375rem;bottom:-0.375rem}.lg\\:-inset-y-2\\.5{top:-0.625rem;bottom:-0.625rem}.lg\\:-inset-y-3\\.5{top:-0.875rem;bottom:-0.875rem}.lg\\:inset-y-1\\/2{top:50%;bottom:50%}.lg\\:inset-y-1\\/3{top:33.333333%;bottom:33.333333%}.lg\\:inset-y-2\\/3{top:66.666667%;bottom:66.666667%}.lg\\:inset-y-1\\/4{top:25%;bottom:25%}.lg\\:inset-y-2\\/4{top:50%;bottom:50%}.lg\\:inset-y-3\\/4{top:75%;bottom:75%}.lg\\:inset-y-full{top:100%;bottom:100%}.lg\\:-inset-y-1\\/2{top:-50%;bottom:-50%}.lg\\:-inset-y-1\\/3{top:-33.333333%;bottom:-33.333333%}.lg\\:-inset-y-2\\/3{top:-66.666667%;bottom:-66.666667%}.lg\\:-inset-y-1\\/4{top:-25%;bottom:-25%}.lg\\:-inset-y-2\\/4{top:-50%;bottom:-50%}.lg\\:-inset-y-3\\/4{top:-75%;bottom:-75%}.lg\\:-inset-y-full{top:-100%;bottom:-100%}.lg\\:top-0{top:0px}.lg\\:top-1{top:0.25rem}.lg\\:top-2{top:0.5rem}.lg\\:top-3{top:0.75rem}.lg\\:top-4{top:1rem}.lg\\:top-5{top:1.25rem}.lg\\:top-6{top:1.5rem}.lg\\:top-7{top:1.75rem}.lg\\:top-8{top:2rem}.lg\\:top-9{top:2.25rem}.lg\\:top-10{top:2.5rem}.lg\\:top-11{top:2.75rem}.lg\\:top-12{top:3rem}.lg\\:top-14{top:3.5rem}.lg\\:top-16{top:4rem}.lg\\:top-20{top:5rem}.lg\\:top-24{top:6rem}.lg\\:top-28{top:7rem}.lg\\:top-32{top:8rem}.lg\\:top-36{top:9rem}.lg\\:top-40{top:10rem}.lg\\:top-44{top:11rem}.lg\\:top-48{top:12rem}.lg\\:top-52{top:13rem}.lg\\:top-56{top:14rem}.lg\\:top-60{top:15rem}.lg\\:top-64{top:16rem}.lg\\:top-72{top:18rem}.lg\\:top-80{top:20rem}.lg\\:top-96{top:24rem}.lg\\:top-auto{top:auto}.lg\\:top-px{top:1px}.lg\\:top-0\\.5{top:0.125rem}.lg\\:top-1\\.5{top:0.375rem}.lg\\:top-2\\.5{top:0.625rem}.lg\\:top-3\\.5{top:0.875rem}.lg\\:-top-0{top:0px}.lg\\:-top-1{top:-0.25rem}.lg\\:-top-2{top:-0.5rem}.lg\\:-top-3{top:-0.75rem}.lg\\:-top-4{top:-1rem}.lg\\:-top-5{top:-1.25rem}.lg\\:-top-6{top:-1.5rem}.lg\\:-top-7{top:-1.75rem}.lg\\:-top-8{top:-2rem}.lg\\:-top-9{top:-2.25rem}.lg\\:-top-10{top:-2.5rem}.lg\\:-top-11{top:-2.75rem}.lg\\:-top-12{top:-3rem}.lg\\:-top-14{top:-3.5rem}.lg\\:-top-16{top:-4rem}.lg\\:-top-20{top:-5rem}.lg\\:-top-24{top:-6rem}.lg\\:-top-28{top:-7rem}.lg\\:-top-32{top:-8rem}.lg\\:-top-36{top:-9rem}.lg\\:-top-40{top:-10rem}.lg\\:-top-44{top:-11rem}.lg\\:-top-48{top:-12rem}.lg\\:-top-52{top:-13rem}.lg\\:-top-56{top:-14rem}.lg\\:-top-60{top:-15rem}.lg\\:-top-64{top:-16rem}.lg\\:-top-72{top:-18rem}.lg\\:-top-80{top:-20rem}.lg\\:-top-96{top:-24rem}.lg\\:-top-px{top:-1px}.lg\\:-top-0\\.5{top:-0.125rem}.lg\\:-top-1\\.5{top:-0.375rem}.lg\\:-top-2\\.5{top:-0.625rem}.lg\\:-top-3\\.5{top:-0.875rem}.lg\\:top-1\\/2{top:50%}.lg\\:top-1\\/3{top:33.333333%}.lg\\:top-2\\/3{top:66.666667%}.lg\\:top-1\\/4{top:25%}.lg\\:top-2\\/4{top:50%}.lg\\:top-3\\/4{top:75%}.lg\\:top-full{top:100%}.lg\\:-top-1\\/2{top:-50%}.lg\\:-top-1\\/3{top:-33.333333%}.lg\\:-top-2\\/3{top:-66.666667%}.lg\\:-top-1\\/4{top:-25%}.lg\\:-top-2\\/4{top:-50%}.lg\\:-top-3\\/4{top:-75%}.lg\\:-top-full{top:-100%}.lg\\:right-0{right:0px}.lg\\:right-1{right:0.25rem}.lg\\:right-2{right:0.5rem}.lg\\:right-3{right:0.75rem}.lg\\:right-4{right:1rem}.lg\\:right-5{right:1.25rem}.lg\\:right-6{right:1.5rem}.lg\\:right-7{right:1.75rem}.lg\\:right-8{right:2rem}.lg\\:right-9{right:2.25rem}.lg\\:right-10{right:2.5rem}.lg\\:right-11{right:2.75rem}.lg\\:right-12{right:3rem}.lg\\:right-14{right:3.5rem}.lg\\:right-16{right:4rem}.lg\\:right-20{right:5rem}.lg\\:right-24{right:6rem}.lg\\:right-28{right:7rem}.lg\\:right-32{right:8rem}.lg\\:right-36{right:9rem}.lg\\:right-40{right:10rem}.lg\\:right-44{right:11rem}.lg\\:right-48{right:12rem}.lg\\:right-52{right:13rem}.lg\\:right-56{right:14rem}.lg\\:right-60{right:15rem}.lg\\:right-64{right:16rem}.lg\\:right-72{right:18rem}.lg\\:right-80{right:20rem}.lg\\:right-96{right:24rem}.lg\\:right-auto{right:auto}.lg\\:right-px{right:1px}.lg\\:right-0\\.5{right:0.125rem}.lg\\:right-1\\.5{right:0.375rem}.lg\\:right-2\\.5{right:0.625rem}.lg\\:right-3\\.5{right:0.875rem}.lg\\:-right-0{right:0px}.lg\\:-right-1{right:-0.25rem}.lg\\:-right-2{right:-0.5rem}.lg\\:-right-3{right:-0.75rem}.lg\\:-right-4{right:-1rem}.lg\\:-right-5{right:-1.25rem}.lg\\:-right-6{right:-1.5rem}.lg\\:-right-7{right:-1.75rem}.lg\\:-right-8{right:-2rem}.lg\\:-right-9{right:-2.25rem}.lg\\:-right-10{right:-2.5rem}.lg\\:-right-11{right:-2.75rem}.lg\\:-right-12{right:-3rem}.lg\\:-right-14{right:-3.5rem}.lg\\:-right-16{right:-4rem}.lg\\:-right-20{right:-5rem}.lg\\:-right-24{right:-6rem}.lg\\:-right-28{right:-7rem}.lg\\:-right-32{right:-8rem}.lg\\:-right-36{right:-9rem}.lg\\:-right-40{right:-10rem}.lg\\:-right-44{right:-11rem}.lg\\:-right-48{right:-12rem}.lg\\:-right-52{right:-13rem}.lg\\:-right-56{right:-14rem}.lg\\:-right-60{right:-15rem}.lg\\:-right-64{right:-16rem}.lg\\:-right-72{right:-18rem}.lg\\:-right-80{right:-20rem}.lg\\:-right-96{right:-24rem}.lg\\:-right-px{right:-1px}.lg\\:-right-0\\.5{right:-0.125rem}.lg\\:-right-1\\.5{right:-0.375rem}.lg\\:-right-2\\.5{right:-0.625rem}.lg\\:-right-3\\.5{right:-0.875rem}.lg\\:right-1\\/2{right:50%}.lg\\:right-1\\/3{right:33.333333%}.lg\\:right-2\\/3{right:66.666667%}.lg\\:right-1\\/4{right:25%}.lg\\:right-2\\/4{right:50%}.lg\\:right-3\\/4{right:75%}.lg\\:right-full{right:100%}.lg\\:-right-1\\/2{right:-50%}.lg\\:-right-1\\/3{right:-33.333333%}.lg\\:-right-2\\/3{right:-66.666667%}.lg\\:-right-1\\/4{right:-25%}.lg\\:-right-2\\/4{right:-50%}.lg\\:-right-3\\/4{right:-75%}.lg\\:-right-full{right:-100%}.lg\\:bottom-0{bottom:0px}.lg\\:bottom-1{bottom:0.25rem}.lg\\:bottom-2{bottom:0.5rem}.lg\\:bottom-3{bottom:0.75rem}.lg\\:bottom-4{bottom:1rem}.lg\\:bottom-5{bottom:1.25rem}.lg\\:bottom-6{bottom:1.5rem}.lg\\:bottom-7{bottom:1.75rem}.lg\\:bottom-8{bottom:2rem}.lg\\:bottom-9{bottom:2.25rem}.lg\\:bottom-10{bottom:2.5rem}.lg\\:bottom-11{bottom:2.75rem}.lg\\:bottom-12{bottom:3rem}.lg\\:bottom-14{bottom:3.5rem}.lg\\:bottom-16{bottom:4rem}.lg\\:bottom-20{bottom:5rem}.lg\\:bottom-24{bottom:6rem}.lg\\:bottom-28{bottom:7rem}.lg\\:bottom-32{bottom:8rem}.lg\\:bottom-36{bottom:9rem}.lg\\:bottom-40{bottom:10rem}.lg\\:bottom-44{bottom:11rem}.lg\\:bottom-48{bottom:12rem}.lg\\:bottom-52{bottom:13rem}.lg\\:bottom-56{bottom:14rem}.lg\\:bottom-60{bottom:15rem}.lg\\:bottom-64{bottom:16rem}.lg\\:bottom-72{bottom:18rem}.lg\\:bottom-80{bottom:20rem}.lg\\:bottom-96{bottom:24rem}.lg\\:bottom-auto{bottom:auto}.lg\\:bottom-px{bottom:1px}.lg\\:bottom-0\\.5{bottom:0.125rem}.lg\\:bottom-1\\.5{bottom:0.375rem}.lg\\:bottom-2\\.5{bottom:0.625rem}.lg\\:bottom-3\\.5{bottom:0.875rem}.lg\\:-bottom-0{bottom:0px}.lg\\:-bottom-1{bottom:-0.25rem}.lg\\:-bottom-2{bottom:-0.5rem}.lg\\:-bottom-3{bottom:-0.75rem}.lg\\:-bottom-4{bottom:-1rem}.lg\\:-bottom-5{bottom:-1.25rem}.lg\\:-bottom-6{bottom:-1.5rem}.lg\\:-bottom-7{bottom:-1.75rem}.lg\\:-bottom-8{bottom:-2rem}.lg\\:-bottom-9{bottom:-2.25rem}.lg\\:-bottom-10{bottom:-2.5rem}.lg\\:-bottom-11{bottom:-2.75rem}.lg\\:-bottom-12{bottom:-3rem}.lg\\:-bottom-14{bottom:-3.5rem}.lg\\:-bottom-16{bottom:-4rem}.lg\\:-bottom-20{bottom:-5rem}.lg\\:-bottom-24{bottom:-6rem}.lg\\:-bottom-28{bottom:-7rem}.lg\\:-bottom-32{bottom:-8rem}.lg\\:-bottom-36{bottom:-9rem}.lg\\:-bottom-40{bottom:-10rem}.lg\\:-bottom-44{bottom:-11rem}.lg\\:-bottom-48{bottom:-12rem}.lg\\:-bottom-52{bottom:-13rem}.lg\\:-bottom-56{bottom:-14rem}.lg\\:-bottom-60{bottom:-15rem}.lg\\:-bottom-64{bottom:-16rem}.lg\\:-bottom-72{bottom:-18rem}.lg\\:-bottom-80{bottom:-20rem}.lg\\:-bottom-96{bottom:-24rem}.lg\\:-bottom-px{bottom:-1px}.lg\\:-bottom-0\\.5{bottom:-0.125rem}.lg\\:-bottom-1\\.5{bottom:-0.375rem}.lg\\:-bottom-2\\.5{bottom:-0.625rem}.lg\\:-bottom-3\\.5{bottom:-0.875rem}.lg\\:bottom-1\\/2{bottom:50%}.lg\\:bottom-1\\/3{bottom:33.333333%}.lg\\:bottom-2\\/3{bottom:66.666667%}.lg\\:bottom-1\\/4{bottom:25%}.lg\\:bottom-2\\/4{bottom:50%}.lg\\:bottom-3\\/4{bottom:75%}.lg\\:bottom-full{bottom:100%}.lg\\:-bottom-1\\/2{bottom:-50%}.lg\\:-bottom-1\\/3{bottom:-33.333333%}.lg\\:-bottom-2\\/3{bottom:-66.666667%}.lg\\:-bottom-1\\/4{bottom:-25%}.lg\\:-bottom-2\\/4{bottom:-50%}.lg\\:-bottom-3\\/4{bottom:-75%}.lg\\:-bottom-full{bottom:-100%}.lg\\:left-0{left:0px}.lg\\:left-1{left:0.25rem}.lg\\:left-2{left:0.5rem}.lg\\:left-3{left:0.75rem}.lg\\:left-4{left:1rem}.lg\\:left-5{left:1.25rem}.lg\\:left-6{left:1.5rem}.lg\\:left-7{left:1.75rem}.lg\\:left-8{left:2rem}.lg\\:left-9{left:2.25rem}.lg\\:left-10{left:2.5rem}.lg\\:left-11{left:2.75rem}.lg\\:left-12{left:3rem}.lg\\:left-14{left:3.5rem}.lg\\:left-16{left:4rem}.lg\\:left-20{left:5rem}.lg\\:left-24{left:6rem}.lg\\:left-28{left:7rem}.lg\\:left-32{left:8rem}.lg\\:left-36{left:9rem}.lg\\:left-40{left:10rem}.lg\\:left-44{left:11rem}.lg\\:left-48{left:12rem}.lg\\:left-52{left:13rem}.lg\\:left-56{left:14rem}.lg\\:left-60{left:15rem}.lg\\:left-64{left:16rem}.lg\\:left-72{left:18rem}.lg\\:left-80{left:20rem}.lg\\:left-96{left:24rem}.lg\\:left-auto{left:auto}.lg\\:left-px{left:1px}.lg\\:left-0\\.5{left:0.125rem}.lg\\:left-1\\.5{left:0.375rem}.lg\\:left-2\\.5{left:0.625rem}.lg\\:left-3\\.5{left:0.875rem}.lg\\:-left-0{left:0px}.lg\\:-left-1{left:-0.25rem}.lg\\:-left-2{left:-0.5rem}.lg\\:-left-3{left:-0.75rem}.lg\\:-left-4{left:-1rem}.lg\\:-left-5{left:-1.25rem}.lg\\:-left-6{left:-1.5rem}.lg\\:-left-7{left:-1.75rem}.lg\\:-left-8{left:-2rem}.lg\\:-left-9{left:-2.25rem}.lg\\:-left-10{left:-2.5rem}.lg\\:-left-11{left:-2.75rem}.lg\\:-left-12{left:-3rem}.lg\\:-left-14{left:-3.5rem}.lg\\:-left-16{left:-4rem}.lg\\:-left-20{left:-5rem}.lg\\:-left-24{left:-6rem}.lg\\:-left-28{left:-7rem}.lg\\:-left-32{left:-8rem}.lg\\:-left-36{left:-9rem}.lg\\:-left-40{left:-10rem}.lg\\:-left-44{left:-11rem}.lg\\:-left-48{left:-12rem}.lg\\:-left-52{left:-13rem}.lg\\:-left-56{left:-14rem}.lg\\:-left-60{left:-15rem}.lg\\:-left-64{left:-16rem}.lg\\:-left-72{left:-18rem}.lg\\:-left-80{left:-20rem}.lg\\:-left-96{left:-24rem}.lg\\:-left-px{left:-1px}.lg\\:-left-0\\.5{left:-0.125rem}.lg\\:-left-1\\.5{left:-0.375rem}.lg\\:-left-2\\.5{left:-0.625rem}.lg\\:-left-3\\.5{left:-0.875rem}.lg\\:left-1\\/2{left:50%}.lg\\:left-1\\/3{left:33.333333%}.lg\\:left-2\\/3{left:66.666667%}.lg\\:left-1\\/4{left:25%}.lg\\:left-2\\/4{left:50%}.lg\\:left-3\\/4{left:75%}.lg\\:left-full{left:100%}.lg\\:-left-1\\/2{left:-50%}.lg\\:-left-1\\/3{left:-33.333333%}.lg\\:-left-2\\/3{left:-66.666667%}.lg\\:-left-1\\/4{left:-25%}.lg\\:-left-2\\/4{left:-50%}.lg\\:-left-3\\/4{left:-75%}.lg\\:-left-full{left:-100%}.lg\\:isolate{isolation:isolate}.lg\\:isolation-auto{isolation:auto}.lg\\:z-0{z-index:0}.lg\\:z-10{z-index:10}.lg\\:z-20{z-index:20}.lg\\:z-30{z-index:30}.lg\\:z-40{z-index:40}.lg\\:z-50{z-index:50}.lg\\:z-auto{z-index:auto}.lg\\:focus-within\\:z-0:focus-within{z-index:0}.lg\\:focus-within\\:z-10:focus-within{z-index:10}.lg\\:focus-within\\:z-20:focus-within{z-index:20}.lg\\:focus-within\\:z-30:focus-within{z-index:30}.lg\\:focus-within\\:z-40:focus-within{z-index:40}.lg\\:focus-within\\:z-50:focus-within{z-index:50}.lg\\:focus-within\\:z-auto:focus-within{z-index:auto}.lg\\:focus\\:z-0:focus{z-index:0}.lg\\:focus\\:z-10:focus{z-index:10}.lg\\:focus\\:z-20:focus{z-index:20}.lg\\:focus\\:z-30:focus{z-index:30}.lg\\:focus\\:z-40:focus{z-index:40}.lg\\:focus\\:z-50:focus{z-index:50}.lg\\:focus\\:z-auto:focus{z-index:auto}.lg\\:order-1{order:1}.lg\\:order-2{order:2}.lg\\:order-3{order:3}.lg\\:order-4{order:4}.lg\\:order-5{order:5}.lg\\:order-6{order:6}.lg\\:order-7{order:7}.lg\\:order-8{order:8}.lg\\:order-9{order:9}.lg\\:order-10{order:10}.lg\\:order-11{order:11}.lg\\:order-12{order:12}.lg\\:order-first{order:-9999}.lg\\:order-last{order:9999}.lg\\:order-none{order:0}.lg\\:col-auto{grid-column:auto}.lg\\:col-span-1{grid-column:span 1 / span 1}.lg\\:col-span-2{grid-column:span 2 / span 2}.lg\\:col-span-3{grid-column:span 3 / span 3}.lg\\:col-span-4{grid-column:span 4 / span 4}.lg\\:col-span-5{grid-column:span 5 / span 5}.lg\\:col-span-6{grid-column:span 6 / span 6}.lg\\:col-span-7{grid-column:span 7 / span 7}.lg\\:col-span-8{grid-column:span 8 / span 8}.lg\\:col-span-9{grid-column:span 9 / span 9}.lg\\:col-span-10{grid-column:span 10 / span 10}.lg\\:col-span-11{grid-column:span 11 / span 11}.lg\\:col-span-12{grid-column:span 12 / span 12}.lg\\:col-span-full{grid-column:1 / -1}.lg\\:col-start-1{grid-column-start:1}.lg\\:col-start-2{grid-column-start:2}.lg\\:col-start-3{grid-column-start:3}.lg\\:col-start-4{grid-column-start:4}.lg\\:col-start-5{grid-column-start:5}.lg\\:col-start-6{grid-column-start:6}.lg\\:col-start-7{grid-column-start:7}.lg\\:col-start-8{grid-column-start:8}.lg\\:col-start-9{grid-column-start:9}.lg\\:col-start-10{grid-column-start:10}.lg\\:col-start-11{grid-column-start:11}.lg\\:col-start-12{grid-column-start:12}.lg\\:col-start-13{grid-column-start:13}.lg\\:col-start-auto{grid-column-start:auto}.lg\\:col-end-1{grid-column-end:1}.lg\\:col-end-2{grid-column-end:2}.lg\\:col-end-3{grid-column-end:3}.lg\\:col-end-4{grid-column-end:4}.lg\\:col-end-5{grid-column-end:5}.lg\\:col-end-6{grid-column-end:6}.lg\\:col-end-7{grid-column-end:7}.lg\\:col-end-8{grid-column-end:8}.lg\\:col-end-9{grid-column-end:9}.lg\\:col-end-10{grid-column-end:10}.lg\\:col-end-11{grid-column-end:11}.lg\\:col-end-12{grid-column-end:12}.lg\\:col-end-13{grid-column-end:13}.lg\\:col-end-auto{grid-column-end:auto}.lg\\:row-auto{grid-row:auto}.lg\\:row-span-1{grid-row:span 1 / span 1}.lg\\:row-span-2{grid-row:span 2 / span 2}.lg\\:row-span-3{grid-row:span 3 / span 3}.lg\\:row-span-4{grid-row:span 4 / span 4}.lg\\:row-span-5{grid-row:span 5 / span 5}.lg\\:row-span-6{grid-row:span 6 / span 6}.lg\\:row-span-full{grid-row:1 / -1}.lg\\:row-start-1{grid-row-start:1}.lg\\:row-start-2{grid-row-start:2}.lg\\:row-start-3{grid-row-start:3}.lg\\:row-start-4{grid-row-start:4}.lg\\:row-start-5{grid-row-start:5}.lg\\:row-start-6{grid-row-start:6}.lg\\:row-start-7{grid-row-start:7}.lg\\:row-start-auto{grid-row-start:auto}.lg\\:row-end-1{grid-row-end:1}.lg\\:row-end-2{grid-row-end:2}.lg\\:row-end-3{grid-row-end:3}.lg\\:row-end-4{grid-row-end:4}.lg\\:row-end-5{grid-row-end:5}.lg\\:row-end-6{grid-row-end:6}.lg\\:row-end-7{grid-row-end:7}.lg\\:row-end-auto{grid-row-end:auto}.lg\\:float-right{float:right}.lg\\:float-left{float:left}.lg\\:float-none{float:none}.lg\\:clear-left{clear:left}.lg\\:clear-right{clear:right}.lg\\:clear-both{clear:both}.lg\\:clear-none{clear:none}.lg\\:m-0{margin:0px}.lg\\:m-1{margin:0.25rem}.lg\\:m-2{margin:0.5rem}.lg\\:m-3{margin:0.75rem}.lg\\:m-4{margin:1rem}.lg\\:m-5{margin:1.25rem}.lg\\:m-6{margin:1.5rem}.lg\\:m-7{margin:1.75rem}.lg\\:m-8{margin:2rem}.lg\\:m-9{margin:2.25rem}.lg\\:m-10{margin:2.5rem}.lg\\:m-11{margin:2.75rem}.lg\\:m-12{margin:3rem}.lg\\:m-14{margin:3.5rem}.lg\\:m-16{margin:4rem}.lg\\:m-20{margin:5rem}.lg\\:m-24{margin:6rem}.lg\\:m-28{margin:7rem}.lg\\:m-32{margin:8rem}.lg\\:m-36{margin:9rem}.lg\\:m-40{margin:10rem}.lg\\:m-44{margin:11rem}.lg\\:m-48{margin:12rem}.lg\\:m-52{margin:13rem}.lg\\:m-56{margin:14rem}.lg\\:m-60{margin:15rem}.lg\\:m-64{margin:16rem}.lg\\:m-72{margin:18rem}.lg\\:m-80{margin:20rem}.lg\\:m-96{margin:24rem}.lg\\:m-auto{margin:auto}.lg\\:m-px{margin:1px}.lg\\:m-0\\.5{margin:0.125rem}.lg\\:m-1\\.5{margin:0.375rem}.lg\\:m-2\\.5{margin:0.625rem}.lg\\:m-3\\.5{margin:0.875rem}.lg\\:-m-0{margin:0px}.lg\\:-m-1{margin:-0.25rem}.lg\\:-m-2{margin:-0.5rem}.lg\\:-m-3{margin:-0.75rem}.lg\\:-m-4{margin:-1rem}.lg\\:-m-5{margin:-1.25rem}.lg\\:-m-6{margin:-1.5rem}.lg\\:-m-7{margin:-1.75rem}.lg\\:-m-8{margin:-2rem}.lg\\:-m-9{margin:-2.25rem}.lg\\:-m-10{margin:-2.5rem}.lg\\:-m-11{margin:-2.75rem}.lg\\:-m-12{margin:-3rem}.lg\\:-m-14{margin:-3.5rem}.lg\\:-m-16{margin:-4rem}.lg\\:-m-20{margin:-5rem}.lg\\:-m-24{margin:-6rem}.lg\\:-m-28{margin:-7rem}.lg\\:-m-32{margin:-8rem}.lg\\:-m-36{margin:-9rem}.lg\\:-m-40{margin:-10rem}.lg\\:-m-44{margin:-11rem}.lg\\:-m-48{margin:-12rem}.lg\\:-m-52{margin:-13rem}.lg\\:-m-56{margin:-14rem}.lg\\:-m-60{margin:-15rem}.lg\\:-m-64{margin:-16rem}.lg\\:-m-72{margin:-18rem}.lg\\:-m-80{margin:-20rem}.lg\\:-m-96{margin:-24rem}.lg\\:-m-px{margin:-1px}.lg\\:-m-0\\.5{margin:-0.125rem}.lg\\:-m-1\\.5{margin:-0.375rem}.lg\\:-m-2\\.5{margin:-0.625rem}.lg\\:-m-3\\.5{margin:-0.875rem}.lg\\:mx-0{margin-left:0px;margin-right:0px}.lg\\:mx-1{margin-left:0.25rem;margin-right:0.25rem}.lg\\:mx-2{margin-left:0.5rem;margin-right:0.5rem}.lg\\:mx-3{margin-left:0.75rem;margin-right:0.75rem}.lg\\:mx-4{margin-left:1rem;margin-right:1rem}.lg\\:mx-5{margin-left:1.25rem;margin-right:1.25rem}.lg\\:mx-6{margin-left:1.5rem;margin-right:1.5rem}.lg\\:mx-7{margin-left:1.75rem;margin-right:1.75rem}.lg\\:mx-8{margin-left:2rem;margin-right:2rem}.lg\\:mx-9{margin-left:2.25rem;margin-right:2.25rem}.lg\\:mx-10{margin-left:2.5rem;margin-right:2.5rem}.lg\\:mx-11{margin-left:2.75rem;margin-right:2.75rem}.lg\\:mx-12{margin-left:3rem;margin-right:3rem}.lg\\:mx-14{margin-left:3.5rem;margin-right:3.5rem}.lg\\:mx-16{margin-left:4rem;margin-right:4rem}.lg\\:mx-20{margin-left:5rem;margin-right:5rem}.lg\\:mx-24{margin-left:6rem;margin-right:6rem}.lg\\:mx-28{margin-left:7rem;margin-right:7rem}.lg\\:mx-32{margin-left:8rem;margin-right:8rem}.lg\\:mx-36{margin-left:9rem;margin-right:9rem}.lg\\:mx-40{margin-left:10rem;margin-right:10rem}.lg\\:mx-44{margin-left:11rem;margin-right:11rem}.lg\\:mx-48{margin-left:12rem;margin-right:12rem}.lg\\:mx-52{margin-left:13rem;margin-right:13rem}.lg\\:mx-56{margin-left:14rem;margin-right:14rem}.lg\\:mx-60{margin-left:15rem;margin-right:15rem}.lg\\:mx-64{margin-left:16rem;margin-right:16rem}.lg\\:mx-72{margin-left:18rem;margin-right:18rem}.lg\\:mx-80{margin-left:20rem;margin-right:20rem}.lg\\:mx-96{margin-left:24rem;margin-right:24rem}.lg\\:mx-auto{margin-left:auto;margin-right:auto}.lg\\:mx-px{margin-left:1px;margin-right:1px}.lg\\:mx-0\\.5{margin-left:0.125rem;margin-right:0.125rem}.lg\\:mx-1\\.5{margin-left:0.375rem;margin-right:0.375rem}.lg\\:mx-2\\.5{margin-left:0.625rem;margin-right:0.625rem}.lg\\:mx-3\\.5{margin-left:0.875rem;margin-right:0.875rem}.lg\\:-mx-0{margin-left:0px;margin-right:0px}.lg\\:-mx-1{margin-left:-0.25rem;margin-right:-0.25rem}.lg\\:-mx-2{margin-left:-0.5rem;margin-right:-0.5rem}.lg\\:-mx-3{margin-left:-0.75rem;margin-right:-0.75rem}.lg\\:-mx-4{margin-left:-1rem;margin-right:-1rem}.lg\\:-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.lg\\:-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.lg\\:-mx-7{margin-left:-1.75rem;margin-right:-1.75rem}.lg\\:-mx-8{margin-left:-2rem;margin-right:-2rem}.lg\\:-mx-9{margin-left:-2.25rem;margin-right:-2.25rem}.lg\\:-mx-10{margin-left:-2.5rem;margin-right:-2.5rem}.lg\\:-mx-11{margin-left:-2.75rem;margin-right:-2.75rem}.lg\\:-mx-12{margin-left:-3rem;margin-right:-3rem}.lg\\:-mx-14{margin-left:-3.5rem;margin-right:-3.5rem}.lg\\:-mx-16{margin-left:-4rem;margin-right:-4rem}.lg\\:-mx-20{margin-left:-5rem;margin-right:-5rem}.lg\\:-mx-24{margin-left:-6rem;margin-right:-6rem}.lg\\:-mx-28{margin-left:-7rem;margin-right:-7rem}.lg\\:-mx-32{margin-left:-8rem;margin-right:-8rem}.lg\\:-mx-36{margin-left:-9rem;margin-right:-9rem}.lg\\:-mx-40{margin-left:-10rem;margin-right:-10rem}.lg\\:-mx-44{margin-left:-11rem;margin-right:-11rem}.lg\\:-mx-48{margin-left:-12rem;margin-right:-12rem}.lg\\:-mx-52{margin-left:-13rem;margin-right:-13rem}.lg\\:-mx-56{margin-left:-14rem;margin-right:-14rem}.lg\\:-mx-60{margin-left:-15rem;margin-right:-15rem}.lg\\:-mx-64{margin-left:-16rem;margin-right:-16rem}.lg\\:-mx-72{margin-left:-18rem;margin-right:-18rem}.lg\\:-mx-80{margin-left:-20rem;margin-right:-20rem}.lg\\:-mx-96{margin-left:-24rem;margin-right:-24rem}.lg\\:-mx-px{margin-left:-1px;margin-right:-1px}.lg\\:-mx-0\\.5{margin-left:-0.125rem;margin-right:-0.125rem}.lg\\:-mx-1\\.5{margin-left:-0.375rem;margin-right:-0.375rem}.lg\\:-mx-2\\.5{margin-left:-0.625rem;margin-right:-0.625rem}.lg\\:-mx-3\\.5{margin-left:-0.875rem;margin-right:-0.875rem}.lg\\:my-0{margin-top:0px;margin-bottom:0px}.lg\\:my-1{margin-top:0.25rem;margin-bottom:0.25rem}.lg\\:my-2{margin-top:0.5rem;margin-bottom:0.5rem}.lg\\:my-3{margin-top:0.75rem;margin-bottom:0.75rem}.lg\\:my-4{margin-top:1rem;margin-bottom:1rem}.lg\\:my-5{margin-top:1.25rem;margin-bottom:1.25rem}.lg\\:my-6{margin-top:1.5rem;margin-bottom:1.5rem}.lg\\:my-7{margin-top:1.75rem;margin-bottom:1.75rem}.lg\\:my-8{margin-top:2rem;margin-bottom:2rem}.lg\\:my-9{margin-top:2.25rem;margin-bottom:2.25rem}.lg\\:my-10{margin-top:2.5rem;margin-bottom:2.5rem}.lg\\:my-11{margin-top:2.75rem;margin-bottom:2.75rem}.lg\\:my-12{margin-top:3rem;margin-bottom:3rem}.lg\\:my-14{margin-top:3.5rem;margin-bottom:3.5rem}.lg\\:my-16{margin-top:4rem;margin-bottom:4rem}.lg\\:my-20{margin-top:5rem;margin-bottom:5rem}.lg\\:my-24{margin-top:6rem;margin-bottom:6rem}.lg\\:my-28{margin-top:7rem;margin-bottom:7rem}.lg\\:my-32{margin-top:8rem;margin-bottom:8rem}.lg\\:my-36{margin-top:9rem;margin-bottom:9rem}.lg\\:my-40{margin-top:10rem;margin-bottom:10rem}.lg\\:my-44{margin-top:11rem;margin-bottom:11rem}.lg\\:my-48{margin-top:12rem;margin-bottom:12rem}.lg\\:my-52{margin-top:13rem;margin-bottom:13rem}.lg\\:my-56{margin-top:14rem;margin-bottom:14rem}.lg\\:my-60{margin-top:15rem;margin-bottom:15rem}.lg\\:my-64{margin-top:16rem;margin-bottom:16rem}.lg\\:my-72{margin-top:18rem;margin-bottom:18rem}.lg\\:my-80{margin-top:20rem;margin-bottom:20rem}.lg\\:my-96{margin-top:24rem;margin-bottom:24rem}.lg\\:my-auto{margin-top:auto;margin-bottom:auto}.lg\\:my-px{margin-top:1px;margin-bottom:1px}.lg\\:my-0\\.5{margin-top:0.125rem;margin-bottom:0.125rem}.lg\\:my-1\\.5{margin-top:0.375rem;margin-bottom:0.375rem}.lg\\:my-2\\.5{margin-top:0.625rem;margin-bottom:0.625rem}.lg\\:my-3\\.5{margin-top:0.875rem;margin-bottom:0.875rem}.lg\\:-my-0{margin-top:0px;margin-bottom:0px}.lg\\:-my-1{margin-top:-0.25rem;margin-bottom:-0.25rem}.lg\\:-my-2{margin-top:-0.5rem;margin-bottom:-0.5rem}.lg\\:-my-3{margin-top:-0.75rem;margin-bottom:-0.75rem}.lg\\:-my-4{margin-top:-1rem;margin-bottom:-1rem}.lg\\:-my-5{margin-top:-1.25rem;margin-bottom:-1.25rem}.lg\\:-my-6{margin-top:-1.5rem;margin-bottom:-1.5rem}.lg\\:-my-7{margin-top:-1.75rem;margin-bottom:-1.75rem}.lg\\:-my-8{margin-top:-2rem;margin-bottom:-2rem}.lg\\:-my-9{margin-top:-2.25rem;margin-bottom:-2.25rem}.lg\\:-my-10{margin-top:-2.5rem;margin-bottom:-2.5rem}.lg\\:-my-11{margin-top:-2.75rem;margin-bottom:-2.75rem}.lg\\:-my-12{margin-top:-3rem;margin-bottom:-3rem}.lg\\:-my-14{margin-top:-3.5rem;margin-bottom:-3.5rem}.lg\\:-my-16{margin-top:-4rem;margin-bottom:-4rem}.lg\\:-my-20{margin-top:-5rem;margin-bottom:-5rem}.lg\\:-my-24{margin-top:-6rem;margin-bottom:-6rem}.lg\\:-my-28{margin-top:-7rem;margin-bottom:-7rem}.lg\\:-my-32{margin-top:-8rem;margin-bottom:-8rem}.lg\\:-my-36{margin-top:-9rem;margin-bottom:-9rem}.lg\\:-my-40{margin-top:-10rem;margin-bottom:-10rem}.lg\\:-my-44{margin-top:-11rem;margin-bottom:-11rem}.lg\\:-my-48{margin-top:-12rem;margin-bottom:-12rem}.lg\\:-my-52{margin-top:-13rem;margin-bottom:-13rem}.lg\\:-my-56{margin-top:-14rem;margin-bottom:-14rem}.lg\\:-my-60{margin-top:-15rem;margin-bottom:-15rem}.lg\\:-my-64{margin-top:-16rem;margin-bottom:-16rem}.lg\\:-my-72{margin-top:-18rem;margin-bottom:-18rem}.lg\\:-my-80{margin-top:-20rem;margin-bottom:-20rem}.lg\\:-my-96{margin-top:-24rem;margin-bottom:-24rem}.lg\\:-my-px{margin-top:-1px;margin-bottom:-1px}.lg\\:-my-0\\.5{margin-top:-0.125rem;margin-bottom:-0.125rem}.lg\\:-my-1\\.5{margin-top:-0.375rem;margin-bottom:-0.375rem}.lg\\:-my-2\\.5{margin-top:-0.625rem;margin-bottom:-0.625rem}.lg\\:-my-3\\.5{margin-top:-0.875rem;margin-bottom:-0.875rem}.lg\\:mt-0{margin-top:0px}.lg\\:mt-1{margin-top:0.25rem}.lg\\:mt-2{margin-top:0.5rem}.lg\\:mt-3{margin-top:0.75rem}.lg\\:mt-4{margin-top:1rem}.lg\\:mt-5{margin-top:1.25rem}.lg\\:mt-6{margin-top:1.5rem}.lg\\:mt-7{margin-top:1.75rem}.lg\\:mt-8{margin-top:2rem}.lg\\:mt-9{margin-top:2.25rem}.lg\\:mt-10{margin-top:2.5rem}.lg\\:mt-11{margin-top:2.75rem}.lg\\:mt-12{margin-top:3rem}.lg\\:mt-14{margin-top:3.5rem}.lg\\:mt-16{margin-top:4rem}.lg\\:mt-20{margin-top:5rem}.lg\\:mt-24{margin-top:6rem}.lg\\:mt-28{margin-top:7rem}.lg\\:mt-32{margin-top:8rem}.lg\\:mt-36{margin-top:9rem}.lg\\:mt-40{margin-top:10rem}.lg\\:mt-44{margin-top:11rem}.lg\\:mt-48{margin-top:12rem}.lg\\:mt-52{margin-top:13rem}.lg\\:mt-56{margin-top:14rem}.lg\\:mt-60{margin-top:15rem}.lg\\:mt-64{margin-top:16rem}.lg\\:mt-72{margin-top:18rem}.lg\\:mt-80{margin-top:20rem}.lg\\:mt-96{margin-top:24rem}.lg\\:mt-auto{margin-top:auto}.lg\\:mt-px{margin-top:1px}.lg\\:mt-0\\.5{margin-top:0.125rem}.lg\\:mt-1\\.5{margin-top:0.375rem}.lg\\:mt-2\\.5{margin-top:0.625rem}.lg\\:mt-3\\.5{margin-top:0.875rem}.lg\\:-mt-0{margin-top:0px}.lg\\:-mt-1{margin-top:-0.25rem}.lg\\:-mt-2{margin-top:-0.5rem}.lg\\:-mt-3{margin-top:-0.75rem}.lg\\:-mt-4{margin-top:-1rem}.lg\\:-mt-5{margin-top:-1.25rem}.lg\\:-mt-6{margin-top:-1.5rem}.lg\\:-mt-7{margin-top:-1.75rem}.lg\\:-mt-8{margin-top:-2rem}.lg\\:-mt-9{margin-top:-2.25rem}.lg\\:-mt-10{margin-top:-2.5rem}.lg\\:-mt-11{margin-top:-2.75rem}.lg\\:-mt-12{margin-top:-3rem}.lg\\:-mt-14{margin-top:-3.5rem}.lg\\:-mt-16{margin-top:-4rem}.lg\\:-mt-20{margin-top:-5rem}.lg\\:-mt-24{margin-top:-6rem}.lg\\:-mt-28{margin-top:-7rem}.lg\\:-mt-32{margin-top:-8rem}.lg\\:-mt-36{margin-top:-9rem}.lg\\:-mt-40{margin-top:-10rem}.lg\\:-mt-44{margin-top:-11rem}.lg\\:-mt-48{margin-top:-12rem}.lg\\:-mt-52{margin-top:-13rem}.lg\\:-mt-56{margin-top:-14rem}.lg\\:-mt-60{margin-top:-15rem}.lg\\:-mt-64{margin-top:-16rem}.lg\\:-mt-72{margin-top:-18rem}.lg\\:-mt-80{margin-top:-20rem}.lg\\:-mt-96{margin-top:-24rem}.lg\\:-mt-px{margin-top:-1px}.lg\\:-mt-0\\.5{margin-top:-0.125rem}.lg\\:-mt-1\\.5{margin-top:-0.375rem}.lg\\:-mt-2\\.5{margin-top:-0.625rem}.lg\\:-mt-3\\.5{margin-top:-0.875rem}.lg\\:mr-0{margin-right:0px}.lg\\:mr-1{margin-right:0.25rem}.lg\\:mr-2{margin-right:0.5rem}.lg\\:mr-3{margin-right:0.75rem}.lg\\:mr-4{margin-right:1rem}.lg\\:mr-5{margin-right:1.25rem}.lg\\:mr-6{margin-right:1.5rem}.lg\\:mr-7{margin-right:1.75rem}.lg\\:mr-8{margin-right:2rem}.lg\\:mr-9{margin-right:2.25rem}.lg\\:mr-10{margin-right:2.5rem}.lg\\:mr-11{margin-right:2.75rem}.lg\\:mr-12{margin-right:3rem}.lg\\:mr-14{margin-right:3.5rem}.lg\\:mr-16{margin-right:4rem}.lg\\:mr-20{margin-right:5rem}.lg\\:mr-24{margin-right:6rem}.lg\\:mr-28{margin-right:7rem}.lg\\:mr-32{margin-right:8rem}.lg\\:mr-36{margin-right:9rem}.lg\\:mr-40{margin-right:10rem}.lg\\:mr-44{margin-right:11rem}.lg\\:mr-48{margin-right:12rem}.lg\\:mr-52{margin-right:13rem}.lg\\:mr-56{margin-right:14rem}.lg\\:mr-60{margin-right:15rem}.lg\\:mr-64{margin-right:16rem}.lg\\:mr-72{margin-right:18rem}.lg\\:mr-80{margin-right:20rem}.lg\\:mr-96{margin-right:24rem}.lg\\:mr-auto{margin-right:auto}.lg\\:mr-px{margin-right:1px}.lg\\:mr-0\\.5{margin-right:0.125rem}.lg\\:mr-1\\.5{margin-right:0.375rem}.lg\\:mr-2\\.5{margin-right:0.625rem}.lg\\:mr-3\\.5{margin-right:0.875rem}.lg\\:-mr-0{margin-right:0px}.lg\\:-mr-1{margin-right:-0.25rem}.lg\\:-mr-2{margin-right:-0.5rem}.lg\\:-mr-3{margin-right:-0.75rem}.lg\\:-mr-4{margin-right:-1rem}.lg\\:-mr-5{margin-right:-1.25rem}.lg\\:-mr-6{margin-right:-1.5rem}.lg\\:-mr-7{margin-right:-1.75rem}.lg\\:-mr-8{margin-right:-2rem}.lg\\:-mr-9{margin-right:-2.25rem}.lg\\:-mr-10{margin-right:-2.5rem}.lg\\:-mr-11{margin-right:-2.75rem}.lg\\:-mr-12{margin-right:-3rem}.lg\\:-mr-14{margin-right:-3.5rem}.lg\\:-mr-16{margin-right:-4rem}.lg\\:-mr-20{margin-right:-5rem}.lg\\:-mr-24{margin-right:-6rem}.lg\\:-mr-28{margin-right:-7rem}.lg\\:-mr-32{margin-right:-8rem}.lg\\:-mr-36{margin-right:-9rem}.lg\\:-mr-40{margin-right:-10rem}.lg\\:-mr-44{margin-right:-11rem}.lg\\:-mr-48{margin-right:-12rem}.lg\\:-mr-52{margin-right:-13rem}.lg\\:-mr-56{margin-right:-14rem}.lg\\:-mr-60{margin-right:-15rem}.lg\\:-mr-64{margin-right:-16rem}.lg\\:-mr-72{margin-right:-18rem}.lg\\:-mr-80{margin-right:-20rem}.lg\\:-mr-96{margin-right:-24rem}.lg\\:-mr-px{margin-right:-1px}.lg\\:-mr-0\\.5{margin-right:-0.125rem}.lg\\:-mr-1\\.5{margin-right:-0.375rem}.lg\\:-mr-2\\.5{margin-right:-0.625rem}.lg\\:-mr-3\\.5{margin-right:-0.875rem}.lg\\:mb-0{margin-bottom:0px}.lg\\:mb-1{margin-bottom:0.25rem}.lg\\:mb-2{margin-bottom:0.5rem}.lg\\:mb-3{margin-bottom:0.75rem}.lg\\:mb-4{margin-bottom:1rem}.lg\\:mb-5{margin-bottom:1.25rem}.lg\\:mb-6{margin-bottom:1.5rem}.lg\\:mb-7{margin-bottom:1.75rem}.lg\\:mb-8{margin-bottom:2rem}.lg\\:mb-9{margin-bottom:2.25rem}.lg\\:mb-10{margin-bottom:2.5rem}.lg\\:mb-11{margin-bottom:2.75rem}.lg\\:mb-12{margin-bottom:3rem}.lg\\:mb-14{margin-bottom:3.5rem}.lg\\:mb-16{margin-bottom:4rem}.lg\\:mb-20{margin-bottom:5rem}.lg\\:mb-24{margin-bottom:6rem}.lg\\:mb-28{margin-bottom:7rem}.lg\\:mb-32{margin-bottom:8rem}.lg\\:mb-36{margin-bottom:9rem}.lg\\:mb-40{margin-bottom:10rem}.lg\\:mb-44{margin-bottom:11rem}.lg\\:mb-48{margin-bottom:12rem}.lg\\:mb-52{margin-bottom:13rem}.lg\\:mb-56{margin-bottom:14rem}.lg\\:mb-60{margin-bottom:15rem}.lg\\:mb-64{margin-bottom:16rem}.lg\\:mb-72{margin-bottom:18rem}.lg\\:mb-80{margin-bottom:20rem}.lg\\:mb-96{margin-bottom:24rem}.lg\\:mb-auto{margin-bottom:auto}.lg\\:mb-px{margin-bottom:1px}.lg\\:mb-0\\.5{margin-bottom:0.125rem}.lg\\:mb-1\\.5{margin-bottom:0.375rem}.lg\\:mb-2\\.5{margin-bottom:0.625rem}.lg\\:mb-3\\.5{margin-bottom:0.875rem}.lg\\:-mb-0{margin-bottom:0px}.lg\\:-mb-1{margin-bottom:-0.25rem}.lg\\:-mb-2{margin-bottom:-0.5rem}.lg\\:-mb-3{margin-bottom:-0.75rem}.lg\\:-mb-4{margin-bottom:-1rem}.lg\\:-mb-5{margin-bottom:-1.25rem}.lg\\:-mb-6{margin-bottom:-1.5rem}.lg\\:-mb-7{margin-bottom:-1.75rem}.lg\\:-mb-8{margin-bottom:-2rem}.lg\\:-mb-9{margin-bottom:-2.25rem}.lg\\:-mb-10{margin-bottom:-2.5rem}.lg\\:-mb-11{margin-bottom:-2.75rem}.lg\\:-mb-12{margin-bottom:-3rem}.lg\\:-mb-14{margin-bottom:-3.5rem}.lg\\:-mb-16{margin-bottom:-4rem}.lg\\:-mb-20{margin-bottom:-5rem}.lg\\:-mb-24{margin-bottom:-6rem}.lg\\:-mb-28{margin-bottom:-7rem}.lg\\:-mb-32{margin-bottom:-8rem}.lg\\:-mb-36{margin-bottom:-9rem}.lg\\:-mb-40{margin-bottom:-10rem}.lg\\:-mb-44{margin-bottom:-11rem}.lg\\:-mb-48{margin-bottom:-12rem}.lg\\:-mb-52{margin-bottom:-13rem}.lg\\:-mb-56{margin-bottom:-14rem}.lg\\:-mb-60{margin-bottom:-15rem}.lg\\:-mb-64{margin-bottom:-16rem}.lg\\:-mb-72{margin-bottom:-18rem}.lg\\:-mb-80{margin-bottom:-20rem}.lg\\:-mb-96{margin-bottom:-24rem}.lg\\:-mb-px{margin-bottom:-1px}.lg\\:-mb-0\\.5{margin-bottom:-0.125rem}.lg\\:-mb-1\\.5{margin-bottom:-0.375rem}.lg\\:-mb-2\\.5{margin-bottom:-0.625rem}.lg\\:-mb-3\\.5{margin-bottom:-0.875rem}.lg\\:ml-0{margin-left:0px}.lg\\:ml-1{margin-left:0.25rem}.lg\\:ml-2{margin-left:0.5rem}.lg\\:ml-3{margin-left:0.75rem}.lg\\:ml-4{margin-left:1rem}.lg\\:ml-5{margin-left:1.25rem}.lg\\:ml-6{margin-left:1.5rem}.lg\\:ml-7{margin-left:1.75rem}.lg\\:ml-8{margin-left:2rem}.lg\\:ml-9{margin-left:2.25rem}.lg\\:ml-10{margin-left:2.5rem}.lg\\:ml-11{margin-left:2.75rem}.lg\\:ml-12{margin-left:3rem}.lg\\:ml-14{margin-left:3.5rem}.lg\\:ml-16{margin-left:4rem}.lg\\:ml-20{margin-left:5rem}.lg\\:ml-24{margin-left:6rem}.lg\\:ml-28{margin-left:7rem}.lg\\:ml-32{margin-left:8rem}.lg\\:ml-36{margin-left:9rem}.lg\\:ml-40{margin-left:10rem}.lg\\:ml-44{margin-left:11rem}.lg\\:ml-48{margin-left:12rem}.lg\\:ml-52{margin-left:13rem}.lg\\:ml-56{margin-left:14rem}.lg\\:ml-60{margin-left:15rem}.lg\\:ml-64{margin-left:16rem}.lg\\:ml-72{margin-left:18rem}.lg\\:ml-80{margin-left:20rem}.lg\\:ml-96{margin-left:24rem}.lg\\:ml-auto{margin-left:auto}.lg\\:ml-px{margin-left:1px}.lg\\:ml-0\\.5{margin-left:0.125rem}.lg\\:ml-1\\.5{margin-left:0.375rem}.lg\\:ml-2\\.5{margin-left:0.625rem}.lg\\:ml-3\\.5{margin-left:0.875rem}.lg\\:-ml-0{margin-left:0px}.lg\\:-ml-1{margin-left:-0.25rem}.lg\\:-ml-2{margin-left:-0.5rem}.lg\\:-ml-3{margin-left:-0.75rem}.lg\\:-ml-4{margin-left:-1rem}.lg\\:-ml-5{margin-left:-1.25rem}.lg\\:-ml-6{margin-left:-1.5rem}.lg\\:-ml-7{margin-left:-1.75rem}.lg\\:-ml-8{margin-left:-2rem}.lg\\:-ml-9{margin-left:-2.25rem}.lg\\:-ml-10{margin-left:-2.5rem}.lg\\:-ml-11{margin-left:-2.75rem}.lg\\:-ml-12{margin-left:-3rem}.lg\\:-ml-14{margin-left:-3.5rem}.lg\\:-ml-16{margin-left:-4rem}.lg\\:-ml-20{margin-left:-5rem}.lg\\:-ml-24{margin-left:-6rem}.lg\\:-ml-28{margin-left:-7rem}.lg\\:-ml-32{margin-left:-8rem}.lg\\:-ml-36{margin-left:-9rem}.lg\\:-ml-40{margin-left:-10rem}.lg\\:-ml-44{margin-left:-11rem}.lg\\:-ml-48{margin-left:-12rem}.lg\\:-ml-52{margin-left:-13rem}.lg\\:-ml-56{margin-left:-14rem}.lg\\:-ml-60{margin-left:-15rem}.lg\\:-ml-64{margin-left:-16rem}.lg\\:-ml-72{margin-left:-18rem}.lg\\:-ml-80{margin-left:-20rem}.lg\\:-ml-96{margin-left:-24rem}.lg\\:-ml-px{margin-left:-1px}.lg\\:-ml-0\\.5{margin-left:-0.125rem}.lg\\:-ml-1\\.5{margin-left:-0.375rem}.lg\\:-ml-2\\.5{margin-left:-0.625rem}.lg\\:-ml-3\\.5{margin-left:-0.875rem}.lg\\:box-border{box-sizing:border-box}.lg\\:box-content{box-sizing:content-box}.lg\\:block{display:block}.lg\\:inline-block{display:inline-block}.lg\\:inline{display:inline}.lg\\:flex{display:flex}.lg\\:inline-flex{display:inline-flex}.lg\\:table{display:table}.lg\\:inline-table{display:inline-table}.lg\\:table-caption{display:table-caption}.lg\\:table-cell{display:table-cell}.lg\\:table-column{display:table-column}.lg\\:table-column-group{display:table-column-group}.lg\\:table-footer-group{display:table-footer-group}.lg\\:table-header-group{display:table-header-group}.lg\\:table-row-group{display:table-row-group}.lg\\:table-row{display:table-row}.lg\\:flow-root{display:flow-root}.lg\\:grid{display:grid}.lg\\:inline-grid{display:inline-grid}.lg\\:contents{display:contents}.lg\\:list-item{display:list-item}.lg\\:hidden{display:none}.lg\\:h-0{height:0px}.lg\\:h-1{height:0.25rem}.lg\\:h-2{height:0.5rem}.lg\\:h-3{height:0.75rem}.lg\\:h-4{height:1rem}.lg\\:h-5{height:1.25rem}.lg\\:h-6{height:1.5rem}.lg\\:h-7{height:1.75rem}.lg\\:h-8{height:2rem}.lg\\:h-9{height:2.25rem}.lg\\:h-10{height:2.5rem}.lg\\:h-11{height:2.75rem}.lg\\:h-12{height:3rem}.lg\\:h-14{height:3.5rem}.lg\\:h-16{height:4rem}.lg\\:h-20{height:5rem}.lg\\:h-24{height:6rem}.lg\\:h-28{height:7rem}.lg\\:h-32{height:8rem}.lg\\:h-36{height:9rem}.lg\\:h-40{height:10rem}.lg\\:h-44{height:11rem}.lg\\:h-48{height:12rem}.lg\\:h-52{height:13rem}.lg\\:h-56{height:14rem}.lg\\:h-60{height:15rem}.lg\\:h-64{height:16rem}.lg\\:h-72{height:18rem}.lg\\:h-80{height:20rem}.lg\\:h-96{height:24rem}.lg\\:h-auto{height:auto}.lg\\:h-px{height:1px}.lg\\:h-0\\.5{height:0.125rem}.lg\\:h-1\\.5{height:0.375rem}.lg\\:h-2\\.5{height:0.625rem}.lg\\:h-3\\.5{height:0.875rem}.lg\\:h-1\\/2{height:50%}.lg\\:h-1\\/3{height:33.333333%}.lg\\:h-2\\/3{height:66.666667%}.lg\\:h-1\\/4{height:25%}.lg\\:h-2\\/4{height:50%}.lg\\:h-3\\/4{height:75%}.lg\\:h-1\\/5{height:20%}.lg\\:h-2\\/5{height:40%}.lg\\:h-3\\/5{height:60%}.lg\\:h-4\\/5{height:80%}.lg\\:h-1\\/6{height:16.666667%}.lg\\:h-2\\/6{height:33.333333%}.lg\\:h-3\\/6{height:50%}.lg\\:h-4\\/6{height:66.666667%}.lg\\:h-5\\/6{height:83.333333%}.lg\\:h-full{height:100%}.lg\\:h-screen{height:100vh}.lg\\:h-XS{height:250px}.lg\\:h-S{height:500px}.lg\\:h-M{height:750px}.lg\\:h-L{height:1000px}.lg\\:h-XL{height:1250px}.lg\\:h-XXL{height:1500px}.lg\\:max-h-0{max-height:0px}.lg\\:max-h-1{max-height:0.25rem}.lg\\:max-h-2{max-height:0.5rem}.lg\\:max-h-3{max-height:0.75rem}.lg\\:max-h-4{max-height:1rem}.lg\\:max-h-5{max-height:1.25rem}.lg\\:max-h-6{max-height:1.5rem}.lg\\:max-h-7{max-height:1.75rem}.lg\\:max-h-8{max-height:2rem}.lg\\:max-h-9{max-height:2.25rem}.lg\\:max-h-10{max-height:2.5rem}.lg\\:max-h-11{max-height:2.75rem}.lg\\:max-h-12{max-height:3rem}.lg\\:max-h-14{max-height:3.5rem}.lg\\:max-h-16{max-height:4rem}.lg\\:max-h-20{max-height:5rem}.lg\\:max-h-24{max-height:6rem}.lg\\:max-h-28{max-height:7rem}.lg\\:max-h-32{max-height:8rem}.lg\\:max-h-36{max-height:9rem}.lg\\:max-h-40{max-height:10rem}.lg\\:max-h-44{max-height:11rem}.lg\\:max-h-48{max-height:12rem}.lg\\:max-h-52{max-height:13rem}.lg\\:max-h-56{max-height:14rem}.lg\\:max-h-60{max-height:15rem}.lg\\:max-h-64{max-height:16rem}.lg\\:max-h-72{max-height:18rem}.lg\\:max-h-80{max-height:20rem}.lg\\:max-h-96{max-height:24rem}.lg\\:max-h-px{max-height:1px}.lg\\:max-h-0\\.5{max-height:0.125rem}.lg\\:max-h-1\\.5{max-height:0.375rem}.lg\\:max-h-2\\.5{max-height:0.625rem}.lg\\:max-h-3\\.5{max-height:0.875rem}.lg\\:max-h-full{max-height:100%}.lg\\:max-h-screen{max-height:100vh}.lg\\:max-h-XS{max-height:250px}.lg\\:max-h-S{max-height:500px}.lg\\:max-h-M{max-height:750px}.lg\\:max-h-L{max-height:1000px}.lg\\:max-h-XL{max-height:1250px}.lg\\:max-h-XXL{max-height:1500px}.lg\\:min-h-0{min-height:0px}.lg\\:min-h-full{min-height:100%}.lg\\:min-h-screen{min-height:100vh}.lg\\:w-0{width:0px}.lg\\:w-1{width:0.25rem}.lg\\:w-2{width:0.5rem}.lg\\:w-3{width:0.75rem}.lg\\:w-4{width:1rem}.lg\\:w-5{width:1.25rem}.lg\\:w-6{width:1.5rem}.lg\\:w-7{width:1.75rem}.lg\\:w-8{width:2rem}.lg\\:w-9{width:2.25rem}.lg\\:w-10{width:2.5rem}.lg\\:w-11{width:2.75rem}.lg\\:w-12{width:3rem}.lg\\:w-14{width:3.5rem}.lg\\:w-16{width:4rem}.lg\\:w-20{width:5rem}.lg\\:w-24{width:6rem}.lg\\:w-28{width:7rem}.lg\\:w-32{width:8rem}.lg\\:w-36{width:9rem}.lg\\:w-40{width:10rem}.lg\\:w-44{width:11rem}.lg\\:w-48{width:12rem}.lg\\:w-52{width:13rem}.lg\\:w-56{width:14rem}.lg\\:w-60{width:15rem}.lg\\:w-64{width:16rem}.lg\\:w-72{width:18rem}.lg\\:w-80{width:20rem}.lg\\:w-96{width:24rem}.lg\\:w-auto{width:auto}.lg\\:w-px{width:1px}.lg\\:w-0\\.5{width:0.125rem}.lg\\:w-1\\.5{width:0.375rem}.lg\\:w-2\\.5{width:0.625rem}.lg\\:w-3\\.5{width:0.875rem}.lg\\:w-1\\/2{width:50%}.lg\\:w-1\\/3{width:33.333333%}.lg\\:w-2\\/3{width:66.666667%}.lg\\:w-1\\/4{width:25%}.lg\\:w-2\\/4{width:50%}.lg\\:w-3\\/4{width:75%}.lg\\:w-1\\/5{width:20%}.lg\\:w-2\\/5{width:40%}.lg\\:w-3\\/5{width:60%}.lg\\:w-4\\/5{width:80%}.lg\\:w-1\\/6{width:16.666667%}.lg\\:w-2\\/6{width:33.333333%}.lg\\:w-3\\/6{width:50%}.lg\\:w-4\\/6{width:66.666667%}.lg\\:w-5\\/6{width:83.333333%}.lg\\:w-1\\/12{width:8.333333%}.lg\\:w-2\\/12{width:16.666667%}.lg\\:w-3\\/12{width:25%}.lg\\:w-4\\/12{width:33.333333%}.lg\\:w-5\\/12{width:41.666667%}.lg\\:w-6\\/12{width:50%}.lg\\:w-7\\/12{width:58.333333%}.lg\\:w-8\\/12{width:66.666667%}.lg\\:w-9\\/12{width:75%}.lg\\:w-10\\/12{width:83.333333%}.lg\\:w-11\\/12{width:91.666667%}.lg\\:w-full{width:100%}.lg\\:w-screen{width:100vw}.lg\\:w-min{width:min-content}.lg\\:w-max{width:max-content}.lg\\:min-w-0{min-width:0px}.lg\\:min-w-full{min-width:100%}.lg\\:min-w-min{min-width:min-content}.lg\\:min-w-max{min-width:max-content}.lg\\:max-w-0{max-width:0rem}.lg\\:max-w-none{max-width:none}.lg\\:max-w-xs{max-width:20rem}.lg\\:max-w-sm{max-width:24rem}.lg\\:max-w-md{max-width:28rem}.lg\\:max-w-lg{max-width:32rem}.lg\\:max-w-xl{max-width:36rem}.lg\\:max-w-2xl{max-width:42rem}.lg\\:max-w-3xl{max-width:48rem}.lg\\:max-w-4xl{max-width:56rem}.lg\\:max-w-5xl{max-width:64rem}.lg\\:max-w-6xl{max-width:72rem}.lg\\:max-w-7xl{max-width:80rem}.lg\\:max-w-full{max-width:100%}.lg\\:max-w-min{max-width:min-content}.lg\\:max-w-max{max-width:max-content}.lg\\:max-w-prose{max-width:65ch}.lg\\:max-w-screen-sm{max-width:640px}.lg\\:max-w-screen-md{max-width:768px}.lg\\:max-w-screen-lg{max-width:1024px}.lg\\:max-w-screen-xl{max-width:1280px}.lg\\:max-w-screen-2xl{max-width:1536px}.lg\\:flex-1{flex:1 1 0%}.lg\\:flex-auto{flex:1 1 auto}.lg\\:flex-initial{flex:0 1 auto}.lg\\:flex-none{flex:none}.lg\\:flex-shrink-0{flex-shrink:0}.lg\\:flex-shrink{flex-shrink:1}.lg\\:flex-grow-0{flex-grow:0}.lg\\:flex-grow{flex-grow:1}.lg\\:table-auto{table-layout:auto}.lg\\:table-fixed{table-layout:fixed}.lg\\:border-collapse{border-collapse:collapse}.lg\\:border-separate{border-collapse:separate}.lg\\:origin-center{transform-origin:center}.lg\\:origin-top{transform-origin:top}.lg\\:origin-top-right{transform-origin:top right}.lg\\:origin-right{transform-origin:right}.lg\\:origin-bottom-right{transform-origin:bottom right}.lg\\:origin-bottom{transform-origin:bottom}.lg\\:origin-bottom-left{transform-origin:bottom left}.lg\\:origin-left{transform-origin:left}.lg\\:origin-top-left{transform-origin:top left}.lg\\:transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lg\\:transform-gpu{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translate3d(var(--tw-translate-x), var(--tw-translate-y), 0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lg\\:transform-none{transform:none}.lg\\:translate-x-0{--tw-translate-x:0px}.lg\\:translate-x-1{--tw-translate-x:0.25rem}.lg\\:translate-x-2{--tw-translate-x:0.5rem}.lg\\:translate-x-3{--tw-translate-x:0.75rem}.lg\\:translate-x-4{--tw-translate-x:1rem}.lg\\:translate-x-5{--tw-translate-x:1.25rem}.lg\\:translate-x-6{--tw-translate-x:1.5rem}.lg\\:translate-x-7{--tw-translate-x:1.75rem}.lg\\:translate-x-8{--tw-translate-x:2rem}.lg\\:translate-x-9{--tw-translate-x:2.25rem}.lg\\:translate-x-10{--tw-translate-x:2.5rem}.lg\\:translate-x-11{--tw-translate-x:2.75rem}.lg\\:translate-x-12{--tw-translate-x:3rem}.lg\\:translate-x-14{--tw-translate-x:3.5rem}.lg\\:translate-x-16{--tw-translate-x:4rem}.lg\\:translate-x-20{--tw-translate-x:5rem}.lg\\:translate-x-24{--tw-translate-x:6rem}.lg\\:translate-x-28{--tw-translate-x:7rem}.lg\\:translate-x-32{--tw-translate-x:8rem}.lg\\:translate-x-36{--tw-translate-x:9rem}.lg\\:translate-x-40{--tw-translate-x:10rem}.lg\\:translate-x-44{--tw-translate-x:11rem}.lg\\:translate-x-48{--tw-translate-x:12rem}.lg\\:translate-x-52{--tw-translate-x:13rem}.lg\\:translate-x-56{--tw-translate-x:14rem}.lg\\:translate-x-60{--tw-translate-x:15rem}.lg\\:translate-x-64{--tw-translate-x:16rem}.lg\\:translate-x-72{--tw-translate-x:18rem}.lg\\:translate-x-80{--tw-translate-x:20rem}.lg\\:translate-x-96{--tw-translate-x:24rem}.lg\\:translate-x-px{--tw-translate-x:1px}.lg\\:translate-x-0\\.5{--tw-translate-x:0.125rem}.lg\\:translate-x-1\\.5{--tw-translate-x:0.375rem}.lg\\:translate-x-2\\.5{--tw-translate-x:0.625rem}.lg\\:translate-x-3\\.5{--tw-translate-x:0.875rem}.lg\\:-translate-x-0{--tw-translate-x:0px}.lg\\:-translate-x-1{--tw-translate-x:-0.25rem}.lg\\:-translate-x-2{--tw-translate-x:-0.5rem}.lg\\:-translate-x-3{--tw-translate-x:-0.75rem}.lg\\:-translate-x-4{--tw-translate-x:-1rem}.lg\\:-translate-x-5{--tw-translate-x:-1.25rem}.lg\\:-translate-x-6{--tw-translate-x:-1.5rem}.lg\\:-translate-x-7{--tw-translate-x:-1.75rem}.lg\\:-translate-x-8{--tw-translate-x:-2rem}.lg\\:-translate-x-9{--tw-translate-x:-2.25rem}.lg\\:-translate-x-10{--tw-translate-x:-2.5rem}.lg\\:-translate-x-11{--tw-translate-x:-2.75rem}.lg\\:-translate-x-12{--tw-translate-x:-3rem}.lg\\:-translate-x-14{--tw-translate-x:-3.5rem}.lg\\:-translate-x-16{--tw-translate-x:-4rem}.lg\\:-translate-x-20{--tw-translate-x:-5rem}.lg\\:-translate-x-24{--tw-translate-x:-6rem}.lg\\:-translate-x-28{--tw-translate-x:-7rem}.lg\\:-translate-x-32{--tw-translate-x:-8rem}.lg\\:-translate-x-36{--tw-translate-x:-9rem}.lg\\:-translate-x-40{--tw-translate-x:-10rem}.lg\\:-translate-x-44{--tw-translate-x:-11rem}.lg\\:-translate-x-48{--tw-translate-x:-12rem}.lg\\:-translate-x-52{--tw-translate-x:-13rem}.lg\\:-translate-x-56{--tw-translate-x:-14rem}.lg\\:-translate-x-60{--tw-translate-x:-15rem}.lg\\:-translate-x-64{--tw-translate-x:-16rem}.lg\\:-translate-x-72{--tw-translate-x:-18rem}.lg\\:-translate-x-80{--tw-translate-x:-20rem}.lg\\:-translate-x-96{--tw-translate-x:-24rem}.lg\\:-translate-x-px{--tw-translate-x:-1px}.lg\\:-translate-x-0\\.5{--tw-translate-x:-0.125rem}.lg\\:-translate-x-1\\.5{--tw-translate-x:-0.375rem}.lg\\:-translate-x-2\\.5{--tw-translate-x:-0.625rem}.lg\\:-translate-x-3\\.5{--tw-translate-x:-0.875rem}.lg\\:translate-x-1\\/2{--tw-translate-x:50%}.lg\\:translate-x-1\\/3{--tw-translate-x:33.333333%}.lg\\:translate-x-2\\/3{--tw-translate-x:66.666667%}.lg\\:translate-x-1\\/4{--tw-translate-x:25%}.lg\\:translate-x-2\\/4{--tw-translate-x:50%}.lg\\:translate-x-3\\/4{--tw-translate-x:75%}.lg\\:translate-x-full{--tw-translate-x:100%}.lg\\:-translate-x-1\\/2{--tw-translate-x:-50%}.lg\\:-translate-x-1\\/3{--tw-translate-x:-33.333333%}.lg\\:-translate-x-2\\/3{--tw-translate-x:-66.666667%}.lg\\:-translate-x-1\\/4{--tw-translate-x:-25%}.lg\\:-translate-x-2\\/4{--tw-translate-x:-50%}.lg\\:-translate-x-3\\/4{--tw-translate-x:-75%}.lg\\:-translate-x-full{--tw-translate-x:-100%}.lg\\:translate-y-0{--tw-translate-y:0px}.lg\\:translate-y-1{--tw-translate-y:0.25rem}.lg\\:translate-y-2{--tw-translate-y:0.5rem}.lg\\:translate-y-3{--tw-translate-y:0.75rem}.lg\\:translate-y-4{--tw-translate-y:1rem}.lg\\:translate-y-5{--tw-translate-y:1.25rem}.lg\\:translate-y-6{--tw-translate-y:1.5rem}.lg\\:translate-y-7{--tw-translate-y:1.75rem}.lg\\:translate-y-8{--tw-translate-y:2rem}.lg\\:translate-y-9{--tw-translate-y:2.25rem}.lg\\:translate-y-10{--tw-translate-y:2.5rem}.lg\\:translate-y-11{--tw-translate-y:2.75rem}.lg\\:translate-y-12{--tw-translate-y:3rem}.lg\\:translate-y-14{--tw-translate-y:3.5rem}.lg\\:translate-y-16{--tw-translate-y:4rem}.lg\\:translate-y-20{--tw-translate-y:5rem}.lg\\:translate-y-24{--tw-translate-y:6rem}.lg\\:translate-y-28{--tw-translate-y:7rem}.lg\\:translate-y-32{--tw-translate-y:8rem}.lg\\:translate-y-36{--tw-translate-y:9rem}.lg\\:translate-y-40{--tw-translate-y:10rem}.lg\\:translate-y-44{--tw-translate-y:11rem}.lg\\:translate-y-48{--tw-translate-y:12rem}.lg\\:translate-y-52{--tw-translate-y:13rem}.lg\\:translate-y-56{--tw-translate-y:14rem}.lg\\:translate-y-60{--tw-translate-y:15rem}.lg\\:translate-y-64{--tw-translate-y:16rem}.lg\\:translate-y-72{--tw-translate-y:18rem}.lg\\:translate-y-80{--tw-translate-y:20rem}.lg\\:translate-y-96{--tw-translate-y:24rem}.lg\\:translate-y-px{--tw-translate-y:1px}.lg\\:translate-y-0\\.5{--tw-translate-y:0.125rem}.lg\\:translate-y-1\\.5{--tw-translate-y:0.375rem}.lg\\:translate-y-2\\.5{--tw-translate-y:0.625rem}.lg\\:translate-y-3\\.5{--tw-translate-y:0.875rem}.lg\\:-translate-y-0{--tw-translate-y:0px}.lg\\:-translate-y-1{--tw-translate-y:-0.25rem}.lg\\:-translate-y-2{--tw-translate-y:-0.5rem}.lg\\:-translate-y-3{--tw-translate-y:-0.75rem}.lg\\:-translate-y-4{--tw-translate-y:-1rem}.lg\\:-translate-y-5{--tw-translate-y:-1.25rem}.lg\\:-translate-y-6{--tw-translate-y:-1.5rem}.lg\\:-translate-y-7{--tw-translate-y:-1.75rem}.lg\\:-translate-y-8{--tw-translate-y:-2rem}.lg\\:-translate-y-9{--tw-translate-y:-2.25rem}.lg\\:-translate-y-10{--tw-translate-y:-2.5rem}.lg\\:-translate-y-11{--tw-translate-y:-2.75rem}.lg\\:-translate-y-12{--tw-translate-y:-3rem}.lg\\:-translate-y-14{--tw-translate-y:-3.5rem}.lg\\:-translate-y-16{--tw-translate-y:-4rem}.lg\\:-translate-y-20{--tw-translate-y:-5rem}.lg\\:-translate-y-24{--tw-translate-y:-6rem}.lg\\:-translate-y-28{--tw-translate-y:-7rem}.lg\\:-translate-y-32{--tw-translate-y:-8rem}.lg\\:-translate-y-36{--tw-translate-y:-9rem}.lg\\:-translate-y-40{--tw-translate-y:-10rem}.lg\\:-translate-y-44{--tw-translate-y:-11rem}.lg\\:-translate-y-48{--tw-translate-y:-12rem}.lg\\:-translate-y-52{--tw-translate-y:-13rem}.lg\\:-translate-y-56{--tw-translate-y:-14rem}.lg\\:-translate-y-60{--tw-translate-y:-15rem}.lg\\:-translate-y-64{--tw-translate-y:-16rem}.lg\\:-translate-y-72{--tw-translate-y:-18rem}.lg\\:-translate-y-80{--tw-translate-y:-20rem}.lg\\:-translate-y-96{--tw-translate-y:-24rem}.lg\\:-translate-y-px{--tw-translate-y:-1px}.lg\\:-translate-y-0\\.5{--tw-translate-y:-0.125rem}.lg\\:-translate-y-1\\.5{--tw-translate-y:-0.375rem}.lg\\:-translate-y-2\\.5{--tw-translate-y:-0.625rem}.lg\\:-translate-y-3\\.5{--tw-translate-y:-0.875rem}.lg\\:translate-y-1\\/2{--tw-translate-y:50%}.lg\\:translate-y-1\\/3{--tw-translate-y:33.333333%}.lg\\:translate-y-2\\/3{--tw-translate-y:66.666667%}.lg\\:translate-y-1\\/4{--tw-translate-y:25%}.lg\\:translate-y-2\\/4{--tw-translate-y:50%}.lg\\:translate-y-3\\/4{--tw-translate-y:75%}.lg\\:translate-y-full{--tw-translate-y:100%}.lg\\:-translate-y-1\\/2{--tw-translate-y:-50%}.lg\\:-translate-y-1\\/3{--tw-translate-y:-33.333333%}.lg\\:-translate-y-2\\/3{--tw-translate-y:-66.666667%}.lg\\:-translate-y-1\\/4{--tw-translate-y:-25%}.lg\\:-translate-y-2\\/4{--tw-translate-y:-50%}.lg\\:-translate-y-3\\/4{--tw-translate-y:-75%}.lg\\:-translate-y-full{--tw-translate-y:-100%}.lg\\:hover\\:translate-x-0:hover{--tw-translate-x:0px}.lg\\:hover\\:translate-x-1:hover{--tw-translate-x:0.25rem}.lg\\:hover\\:translate-x-2:hover{--tw-translate-x:0.5rem}.lg\\:hover\\:translate-x-3:hover{--tw-translate-x:0.75rem}.lg\\:hover\\:translate-x-4:hover{--tw-translate-x:1rem}.lg\\:hover\\:translate-x-5:hover{--tw-translate-x:1.25rem}.lg\\:hover\\:translate-x-6:hover{--tw-translate-x:1.5rem}.lg\\:hover\\:translate-x-7:hover{--tw-translate-x:1.75rem}.lg\\:hover\\:translate-x-8:hover{--tw-translate-x:2rem}.lg\\:hover\\:translate-x-9:hover{--tw-translate-x:2.25rem}.lg\\:hover\\:translate-x-10:hover{--tw-translate-x:2.5rem}.lg\\:hover\\:translate-x-11:hover{--tw-translate-x:2.75rem}.lg\\:hover\\:translate-x-12:hover{--tw-translate-x:3rem}.lg\\:hover\\:translate-x-14:hover{--tw-translate-x:3.5rem}.lg\\:hover\\:translate-x-16:hover{--tw-translate-x:4rem}.lg\\:hover\\:translate-x-20:hover{--tw-translate-x:5rem}.lg\\:hover\\:translate-x-24:hover{--tw-translate-x:6rem}.lg\\:hover\\:translate-x-28:hover{--tw-translate-x:7rem}.lg\\:hover\\:translate-x-32:hover{--tw-translate-x:8rem}.lg\\:hover\\:translate-x-36:hover{--tw-translate-x:9rem}.lg\\:hover\\:translate-x-40:hover{--tw-translate-x:10rem}.lg\\:hover\\:translate-x-44:hover{--tw-translate-x:11rem}.lg\\:hover\\:translate-x-48:hover{--tw-translate-x:12rem}.lg\\:hover\\:translate-x-52:hover{--tw-translate-x:13rem}.lg\\:hover\\:translate-x-56:hover{--tw-translate-x:14rem}.lg\\:hover\\:translate-x-60:hover{--tw-translate-x:15rem}.lg\\:hover\\:translate-x-64:hover{--tw-translate-x:16rem}.lg\\:hover\\:translate-x-72:hover{--tw-translate-x:18rem}.lg\\:hover\\:translate-x-80:hover{--tw-translate-x:20rem}.lg\\:hover\\:translate-x-96:hover{--tw-translate-x:24rem}.lg\\:hover\\:translate-x-px:hover{--tw-translate-x:1px}.lg\\:hover\\:translate-x-0\\.5:hover{--tw-translate-x:0.125rem}.lg\\:hover\\:translate-x-1\\.5:hover{--tw-translate-x:0.375rem}.lg\\:hover\\:translate-x-2\\.5:hover{--tw-translate-x:0.625rem}.lg\\:hover\\:translate-x-3\\.5:hover{--tw-translate-x:0.875rem}.lg\\:hover\\:-translate-x-0:hover{--tw-translate-x:0px}.lg\\:hover\\:-translate-x-1:hover{--tw-translate-x:-0.25rem}.lg\\:hover\\:-translate-x-2:hover{--tw-translate-x:-0.5rem}.lg\\:hover\\:-translate-x-3:hover{--tw-translate-x:-0.75rem}.lg\\:hover\\:-translate-x-4:hover{--tw-translate-x:-1rem}.lg\\:hover\\:-translate-x-5:hover{--tw-translate-x:-1.25rem}.lg\\:hover\\:-translate-x-6:hover{--tw-translate-x:-1.5rem}.lg\\:hover\\:-translate-x-7:hover{--tw-translate-x:-1.75rem}.lg\\:hover\\:-translate-x-8:hover{--tw-translate-x:-2rem}.lg\\:hover\\:-translate-x-9:hover{--tw-translate-x:-2.25rem}.lg\\:hover\\:-translate-x-10:hover{--tw-translate-x:-2.5rem}.lg\\:hover\\:-translate-x-11:hover{--tw-translate-x:-2.75rem}.lg\\:hover\\:-translate-x-12:hover{--tw-translate-x:-3rem}.lg\\:hover\\:-translate-x-14:hover{--tw-translate-x:-3.5rem}.lg\\:hover\\:-translate-x-16:hover{--tw-translate-x:-4rem}.lg\\:hover\\:-translate-x-20:hover{--tw-translate-x:-5rem}.lg\\:hover\\:-translate-x-24:hover{--tw-translate-x:-6rem}.lg\\:hover\\:-translate-x-28:hover{--tw-translate-x:-7rem}.lg\\:hover\\:-translate-x-32:hover{--tw-translate-x:-8rem}.lg\\:hover\\:-translate-x-36:hover{--tw-translate-x:-9rem}.lg\\:hover\\:-translate-x-40:hover{--tw-translate-x:-10rem}.lg\\:hover\\:-translate-x-44:hover{--tw-translate-x:-11rem}.lg\\:hover\\:-translate-x-48:hover{--tw-translate-x:-12rem}.lg\\:hover\\:-translate-x-52:hover{--tw-translate-x:-13rem}.lg\\:hover\\:-translate-x-56:hover{--tw-translate-x:-14rem}.lg\\:hover\\:-translate-x-60:hover{--tw-translate-x:-15rem}.lg\\:hover\\:-translate-x-64:hover{--tw-translate-x:-16rem}.lg\\:hover\\:-translate-x-72:hover{--tw-translate-x:-18rem}.lg\\:hover\\:-translate-x-80:hover{--tw-translate-x:-20rem}.lg\\:hover\\:-translate-x-96:hover{--tw-translate-x:-24rem}.lg\\:hover\\:-translate-x-px:hover{--tw-translate-x:-1px}.lg\\:hover\\:-translate-x-0\\.5:hover{--tw-translate-x:-0.125rem}.lg\\:hover\\:-translate-x-1\\.5:hover{--tw-translate-x:-0.375rem}.lg\\:hover\\:-translate-x-2\\.5:hover{--tw-translate-x:-0.625rem}.lg\\:hover\\:-translate-x-3\\.5:hover{--tw-translate-x:-0.875rem}.lg\\:hover\\:translate-x-1\\/2:hover{--tw-translate-x:50%}.lg\\:hover\\:translate-x-1\\/3:hover{--tw-translate-x:33.333333%}.lg\\:hover\\:translate-x-2\\/3:hover{--tw-translate-x:66.666667%}.lg\\:hover\\:translate-x-1\\/4:hover{--tw-translate-x:25%}.lg\\:hover\\:translate-x-2\\/4:hover{--tw-translate-x:50%}.lg\\:hover\\:translate-x-3\\/4:hover{--tw-translate-x:75%}.lg\\:hover\\:translate-x-full:hover{--tw-translate-x:100%}.lg\\:hover\\:-translate-x-1\\/2:hover{--tw-translate-x:-50%}.lg\\:hover\\:-translate-x-1\\/3:hover{--tw-translate-x:-33.333333%}.lg\\:hover\\:-translate-x-2\\/3:hover{--tw-translate-x:-66.666667%}.lg\\:hover\\:-translate-x-1\\/4:hover{--tw-translate-x:-25%}.lg\\:hover\\:-translate-x-2\\/4:hover{--tw-translate-x:-50%}.lg\\:hover\\:-translate-x-3\\/4:hover{--tw-translate-x:-75%}.lg\\:hover\\:-translate-x-full:hover{--tw-translate-x:-100%}.lg\\:hover\\:translate-y-0:hover{--tw-translate-y:0px}.lg\\:hover\\:translate-y-1:hover{--tw-translate-y:0.25rem}.lg\\:hover\\:translate-y-2:hover{--tw-translate-y:0.5rem}.lg\\:hover\\:translate-y-3:hover{--tw-translate-y:0.75rem}.lg\\:hover\\:translate-y-4:hover{--tw-translate-y:1rem}.lg\\:hover\\:translate-y-5:hover{--tw-translate-y:1.25rem}.lg\\:hover\\:translate-y-6:hover{--tw-translate-y:1.5rem}.lg\\:hover\\:translate-y-7:hover{--tw-translate-y:1.75rem}.lg\\:hover\\:translate-y-8:hover{--tw-translate-y:2rem}.lg\\:hover\\:translate-y-9:hover{--tw-translate-y:2.25rem}.lg\\:hover\\:translate-y-10:hover{--tw-translate-y:2.5rem}.lg\\:hover\\:translate-y-11:hover{--tw-translate-y:2.75rem}.lg\\:hover\\:translate-y-12:hover{--tw-translate-y:3rem}.lg\\:hover\\:translate-y-14:hover{--tw-translate-y:3.5rem}.lg\\:hover\\:translate-y-16:hover{--tw-translate-y:4rem}.lg\\:hover\\:translate-y-20:hover{--tw-translate-y:5rem}.lg\\:hover\\:translate-y-24:hover{--tw-translate-y:6rem}.lg\\:hover\\:translate-y-28:hover{--tw-translate-y:7rem}.lg\\:hover\\:translate-y-32:hover{--tw-translate-y:8rem}.lg\\:hover\\:translate-y-36:hover{--tw-translate-y:9rem}.lg\\:hover\\:translate-y-40:hover{--tw-translate-y:10rem}.lg\\:hover\\:translate-y-44:hover{--tw-translate-y:11rem}.lg\\:hover\\:translate-y-48:hover{--tw-translate-y:12rem}.lg\\:hover\\:translate-y-52:hover{--tw-translate-y:13rem}.lg\\:hover\\:translate-y-56:hover{--tw-translate-y:14rem}.lg\\:hover\\:translate-y-60:hover{--tw-translate-y:15rem}.lg\\:hover\\:translate-y-64:hover{--tw-translate-y:16rem}.lg\\:hover\\:translate-y-72:hover{--tw-translate-y:18rem}.lg\\:hover\\:translate-y-80:hover{--tw-translate-y:20rem}.lg\\:hover\\:translate-y-96:hover{--tw-translate-y:24rem}.lg\\:hover\\:translate-y-px:hover{--tw-translate-y:1px}.lg\\:hover\\:translate-y-0\\.5:hover{--tw-translate-y:0.125rem}.lg\\:hover\\:translate-y-1\\.5:hover{--tw-translate-y:0.375rem}.lg\\:hover\\:translate-y-2\\.5:hover{--tw-translate-y:0.625rem}.lg\\:hover\\:translate-y-3\\.5:hover{--tw-translate-y:0.875rem}.lg\\:hover\\:-translate-y-0:hover{--tw-translate-y:0px}.lg\\:hover\\:-translate-y-1:hover{--tw-translate-y:-0.25rem}.lg\\:hover\\:-translate-y-2:hover{--tw-translate-y:-0.5rem}.lg\\:hover\\:-translate-y-3:hover{--tw-translate-y:-0.75rem}.lg\\:hover\\:-translate-y-4:hover{--tw-translate-y:-1rem}.lg\\:hover\\:-translate-y-5:hover{--tw-translate-y:-1.25rem}.lg\\:hover\\:-translate-y-6:hover{--tw-translate-y:-1.5rem}.lg\\:hover\\:-translate-y-7:hover{--tw-translate-y:-1.75rem}.lg\\:hover\\:-translate-y-8:hover{--tw-translate-y:-2rem}.lg\\:hover\\:-translate-y-9:hover{--tw-translate-y:-2.25rem}.lg\\:hover\\:-translate-y-10:hover{--tw-translate-y:-2.5rem}.lg\\:hover\\:-translate-y-11:hover{--tw-translate-y:-2.75rem}.lg\\:hover\\:-translate-y-12:hover{--tw-translate-y:-3rem}.lg\\:hover\\:-translate-y-14:hover{--tw-translate-y:-3.5rem}.lg\\:hover\\:-translate-y-16:hover{--tw-translate-y:-4rem}.lg\\:hover\\:-translate-y-20:hover{--tw-translate-y:-5rem}.lg\\:hover\\:-translate-y-24:hover{--tw-translate-y:-6rem}.lg\\:hover\\:-translate-y-28:hover{--tw-translate-y:-7rem}.lg\\:hover\\:-translate-y-32:hover{--tw-translate-y:-8rem}.lg\\:hover\\:-translate-y-36:hover{--tw-translate-y:-9rem}.lg\\:hover\\:-translate-y-40:hover{--tw-translate-y:-10rem}.lg\\:hover\\:-translate-y-44:hover{--tw-translate-y:-11rem}.lg\\:hover\\:-translate-y-48:hover{--tw-translate-y:-12rem}.lg\\:hover\\:-translate-y-52:hover{--tw-translate-y:-13rem}.lg\\:hover\\:-translate-y-56:hover{--tw-translate-y:-14rem}.lg\\:hover\\:-translate-y-60:hover{--tw-translate-y:-15rem}.lg\\:hover\\:-translate-y-64:hover{--tw-translate-y:-16rem}.lg\\:hover\\:-translate-y-72:hover{--tw-translate-y:-18rem}.lg\\:hover\\:-translate-y-80:hover{--tw-translate-y:-20rem}.lg\\:hover\\:-translate-y-96:hover{--tw-translate-y:-24rem}.lg\\:hover\\:-translate-y-px:hover{--tw-translate-y:-1px}.lg\\:hover\\:-translate-y-0\\.5:hover{--tw-translate-y:-0.125rem}.lg\\:hover\\:-translate-y-1\\.5:hover{--tw-translate-y:-0.375rem}.lg\\:hover\\:-translate-y-2\\.5:hover{--tw-translate-y:-0.625rem}.lg\\:hover\\:-translate-y-3\\.5:hover{--tw-translate-y:-0.875rem}.lg\\:hover\\:translate-y-1\\/2:hover{--tw-translate-y:50%}.lg\\:hover\\:translate-y-1\\/3:hover{--tw-translate-y:33.333333%}.lg\\:hover\\:translate-y-2\\/3:hover{--tw-translate-y:66.666667%}.lg\\:hover\\:translate-y-1\\/4:hover{--tw-translate-y:25%}.lg\\:hover\\:translate-y-2\\/4:hover{--tw-translate-y:50%}.lg\\:hover\\:translate-y-3\\/4:hover{--tw-translate-y:75%}.lg\\:hover\\:translate-y-full:hover{--tw-translate-y:100%}.lg\\:hover\\:-translate-y-1\\/2:hover{--tw-translate-y:-50%}.lg\\:hover\\:-translate-y-1\\/3:hover{--tw-translate-y:-33.333333%}.lg\\:hover\\:-translate-y-2\\/3:hover{--tw-translate-y:-66.666667%}.lg\\:hover\\:-translate-y-1\\/4:hover{--tw-translate-y:-25%}.lg\\:hover\\:-translate-y-2\\/4:hover{--tw-translate-y:-50%}.lg\\:hover\\:-translate-y-3\\/4:hover{--tw-translate-y:-75%}.lg\\:hover\\:-translate-y-full:hover{--tw-translate-y:-100%}.lg\\:focus\\:translate-x-0:focus{--tw-translate-x:0px}.lg\\:focus\\:translate-x-1:focus{--tw-translate-x:0.25rem}.lg\\:focus\\:translate-x-2:focus{--tw-translate-x:0.5rem}.lg\\:focus\\:translate-x-3:focus{--tw-translate-x:0.75rem}.lg\\:focus\\:translate-x-4:focus{--tw-translate-x:1rem}.lg\\:focus\\:translate-x-5:focus{--tw-translate-x:1.25rem}.lg\\:focus\\:translate-x-6:focus{--tw-translate-x:1.5rem}.lg\\:focus\\:translate-x-7:focus{--tw-translate-x:1.75rem}.lg\\:focus\\:translate-x-8:focus{--tw-translate-x:2rem}.lg\\:focus\\:translate-x-9:focus{--tw-translate-x:2.25rem}.lg\\:focus\\:translate-x-10:focus{--tw-translate-x:2.5rem}.lg\\:focus\\:translate-x-11:focus{--tw-translate-x:2.75rem}.lg\\:focus\\:translate-x-12:focus{--tw-translate-x:3rem}.lg\\:focus\\:translate-x-14:focus{--tw-translate-x:3.5rem}.lg\\:focus\\:translate-x-16:focus{--tw-translate-x:4rem}.lg\\:focus\\:translate-x-20:focus{--tw-translate-x:5rem}.lg\\:focus\\:translate-x-24:focus{--tw-translate-x:6rem}.lg\\:focus\\:translate-x-28:focus{--tw-translate-x:7rem}.lg\\:focus\\:translate-x-32:focus{--tw-translate-x:8rem}.lg\\:focus\\:translate-x-36:focus{--tw-translate-x:9rem}.lg\\:focus\\:translate-x-40:focus{--tw-translate-x:10rem}.lg\\:focus\\:translate-x-44:focus{--tw-translate-x:11rem}.lg\\:focus\\:translate-x-48:focus{--tw-translate-x:12rem}.lg\\:focus\\:translate-x-52:focus{--tw-translate-x:13rem}.lg\\:focus\\:translate-x-56:focus{--tw-translate-x:14rem}.lg\\:focus\\:translate-x-60:focus{--tw-translate-x:15rem}.lg\\:focus\\:translate-x-64:focus{--tw-translate-x:16rem}.lg\\:focus\\:translate-x-72:focus{--tw-translate-x:18rem}.lg\\:focus\\:translate-x-80:focus{--tw-translate-x:20rem}.lg\\:focus\\:translate-x-96:focus{--tw-translate-x:24rem}.lg\\:focus\\:translate-x-px:focus{--tw-translate-x:1px}.lg\\:focus\\:translate-x-0\\.5:focus{--tw-translate-x:0.125rem}.lg\\:focus\\:translate-x-1\\.5:focus{--tw-translate-x:0.375rem}.lg\\:focus\\:translate-x-2\\.5:focus{--tw-translate-x:0.625rem}.lg\\:focus\\:translate-x-3\\.5:focus{--tw-translate-x:0.875rem}.lg\\:focus\\:-translate-x-0:focus{--tw-translate-x:0px}.lg\\:focus\\:-translate-x-1:focus{--tw-translate-x:-0.25rem}.lg\\:focus\\:-translate-x-2:focus{--tw-translate-x:-0.5rem}.lg\\:focus\\:-translate-x-3:focus{--tw-translate-x:-0.75rem}.lg\\:focus\\:-translate-x-4:focus{--tw-translate-x:-1rem}.lg\\:focus\\:-translate-x-5:focus{--tw-translate-x:-1.25rem}.lg\\:focus\\:-translate-x-6:focus{--tw-translate-x:-1.5rem}.lg\\:focus\\:-translate-x-7:focus{--tw-translate-x:-1.75rem}.lg\\:focus\\:-translate-x-8:focus{--tw-translate-x:-2rem}.lg\\:focus\\:-translate-x-9:focus{--tw-translate-x:-2.25rem}.lg\\:focus\\:-translate-x-10:focus{--tw-translate-x:-2.5rem}.lg\\:focus\\:-translate-x-11:focus{--tw-translate-x:-2.75rem}.lg\\:focus\\:-translate-x-12:focus{--tw-translate-x:-3rem}.lg\\:focus\\:-translate-x-14:focus{--tw-translate-x:-3.5rem}.lg\\:focus\\:-translate-x-16:focus{--tw-translate-x:-4rem}.lg\\:focus\\:-translate-x-20:focus{--tw-translate-x:-5rem}.lg\\:focus\\:-translate-x-24:focus{--tw-translate-x:-6rem}.lg\\:focus\\:-translate-x-28:focus{--tw-translate-x:-7rem}.lg\\:focus\\:-translate-x-32:focus{--tw-translate-x:-8rem}.lg\\:focus\\:-translate-x-36:focus{--tw-translate-x:-9rem}.lg\\:focus\\:-translate-x-40:focus{--tw-translate-x:-10rem}.lg\\:focus\\:-translate-x-44:focus{--tw-translate-x:-11rem}.lg\\:focus\\:-translate-x-48:focus{--tw-translate-x:-12rem}.lg\\:focus\\:-translate-x-52:focus{--tw-translate-x:-13rem}.lg\\:focus\\:-translate-x-56:focus{--tw-translate-x:-14rem}.lg\\:focus\\:-translate-x-60:focus{--tw-translate-x:-15rem}.lg\\:focus\\:-translate-x-64:focus{--tw-translate-x:-16rem}.lg\\:focus\\:-translate-x-72:focus{--tw-translate-x:-18rem}.lg\\:focus\\:-translate-x-80:focus{--tw-translate-x:-20rem}.lg\\:focus\\:-translate-x-96:focus{--tw-translate-x:-24rem}.lg\\:focus\\:-translate-x-px:focus{--tw-translate-x:-1px}.lg\\:focus\\:-translate-x-0\\.5:focus{--tw-translate-x:-0.125rem}.lg\\:focus\\:-translate-x-1\\.5:focus{--tw-translate-x:-0.375rem}.lg\\:focus\\:-translate-x-2\\.5:focus{--tw-translate-x:-0.625rem}.lg\\:focus\\:-translate-x-3\\.5:focus{--tw-translate-x:-0.875rem}.lg\\:focus\\:translate-x-1\\/2:focus{--tw-translate-x:50%}.lg\\:focus\\:translate-x-1\\/3:focus{--tw-translate-x:33.333333%}.lg\\:focus\\:translate-x-2\\/3:focus{--tw-translate-x:66.666667%}.lg\\:focus\\:translate-x-1\\/4:focus{--tw-translate-x:25%}.lg\\:focus\\:translate-x-2\\/4:focus{--tw-translate-x:50%}.lg\\:focus\\:translate-x-3\\/4:focus{--tw-translate-x:75%}.lg\\:focus\\:translate-x-full:focus{--tw-translate-x:100%}.lg\\:focus\\:-translate-x-1\\/2:focus{--tw-translate-x:-50%}.lg\\:focus\\:-translate-x-1\\/3:focus{--tw-translate-x:-33.333333%}.lg\\:focus\\:-translate-x-2\\/3:focus{--tw-translate-x:-66.666667%}.lg\\:focus\\:-translate-x-1\\/4:focus{--tw-translate-x:-25%}.lg\\:focus\\:-translate-x-2\\/4:focus{--tw-translate-x:-50%}.lg\\:focus\\:-translate-x-3\\/4:focus{--tw-translate-x:-75%}.lg\\:focus\\:-translate-x-full:focus{--tw-translate-x:-100%}.lg\\:focus\\:translate-y-0:focus{--tw-translate-y:0px}.lg\\:focus\\:translate-y-1:focus{--tw-translate-y:0.25rem}.lg\\:focus\\:translate-y-2:focus{--tw-translate-y:0.5rem}.lg\\:focus\\:translate-y-3:focus{--tw-translate-y:0.75rem}.lg\\:focus\\:translate-y-4:focus{--tw-translate-y:1rem}.lg\\:focus\\:translate-y-5:focus{--tw-translate-y:1.25rem}.lg\\:focus\\:translate-y-6:focus{--tw-translate-y:1.5rem}.lg\\:focus\\:translate-y-7:focus{--tw-translate-y:1.75rem}.lg\\:focus\\:translate-y-8:focus{--tw-translate-y:2rem}.lg\\:focus\\:translate-y-9:focus{--tw-translate-y:2.25rem}.lg\\:focus\\:translate-y-10:focus{--tw-translate-y:2.5rem}.lg\\:focus\\:translate-y-11:focus{--tw-translate-y:2.75rem}.lg\\:focus\\:translate-y-12:focus{--tw-translate-y:3rem}.lg\\:focus\\:translate-y-14:focus{--tw-translate-y:3.5rem}.lg\\:focus\\:translate-y-16:focus{--tw-translate-y:4rem}.lg\\:focus\\:translate-y-20:focus{--tw-translate-y:5rem}.lg\\:focus\\:translate-y-24:focus{--tw-translate-y:6rem}.lg\\:focus\\:translate-y-28:focus{--tw-translate-y:7rem}.lg\\:focus\\:translate-y-32:focus{--tw-translate-y:8rem}.lg\\:focus\\:translate-y-36:focus{--tw-translate-y:9rem}.lg\\:focus\\:translate-y-40:focus{--tw-translate-y:10rem}.lg\\:focus\\:translate-y-44:focus{--tw-translate-y:11rem}.lg\\:focus\\:translate-y-48:focus{--tw-translate-y:12rem}.lg\\:focus\\:translate-y-52:focus{--tw-translate-y:13rem}.lg\\:focus\\:translate-y-56:focus{--tw-translate-y:14rem}.lg\\:focus\\:translate-y-60:focus{--tw-translate-y:15rem}.lg\\:focus\\:translate-y-64:focus{--tw-translate-y:16rem}.lg\\:focus\\:translate-y-72:focus{--tw-translate-y:18rem}.lg\\:focus\\:translate-y-80:focus{--tw-translate-y:20rem}.lg\\:focus\\:translate-y-96:focus{--tw-translate-y:24rem}.lg\\:focus\\:translate-y-px:focus{--tw-translate-y:1px}.lg\\:focus\\:translate-y-0\\.5:focus{--tw-translate-y:0.125rem}.lg\\:focus\\:translate-y-1\\.5:focus{--tw-translate-y:0.375rem}.lg\\:focus\\:translate-y-2\\.5:focus{--tw-translate-y:0.625rem}.lg\\:focus\\:translate-y-3\\.5:focus{--tw-translate-y:0.875rem}.lg\\:focus\\:-translate-y-0:focus{--tw-translate-y:0px}.lg\\:focus\\:-translate-y-1:focus{--tw-translate-y:-0.25rem}.lg\\:focus\\:-translate-y-2:focus{--tw-translate-y:-0.5rem}.lg\\:focus\\:-translate-y-3:focus{--tw-translate-y:-0.75rem}.lg\\:focus\\:-translate-y-4:focus{--tw-translate-y:-1rem}.lg\\:focus\\:-translate-y-5:focus{--tw-translate-y:-1.25rem}.lg\\:focus\\:-translate-y-6:focus{--tw-translate-y:-1.5rem}.lg\\:focus\\:-translate-y-7:focus{--tw-translate-y:-1.75rem}.lg\\:focus\\:-translate-y-8:focus{--tw-translate-y:-2rem}.lg\\:focus\\:-translate-y-9:focus{--tw-translate-y:-2.25rem}.lg\\:focus\\:-translate-y-10:focus{--tw-translate-y:-2.5rem}.lg\\:focus\\:-translate-y-11:focus{--tw-translate-y:-2.75rem}.lg\\:focus\\:-translate-y-12:focus{--tw-translate-y:-3rem}.lg\\:focus\\:-translate-y-14:focus{--tw-translate-y:-3.5rem}.lg\\:focus\\:-translate-y-16:focus{--tw-translate-y:-4rem}.lg\\:focus\\:-translate-y-20:focus{--tw-translate-y:-5rem}.lg\\:focus\\:-translate-y-24:focus{--tw-translate-y:-6rem}.lg\\:focus\\:-translate-y-28:focus{--tw-translate-y:-7rem}.lg\\:focus\\:-translate-y-32:focus{--tw-translate-y:-8rem}.lg\\:focus\\:-translate-y-36:focus{--tw-translate-y:-9rem}.lg\\:focus\\:-translate-y-40:focus{--tw-translate-y:-10rem}.lg\\:focus\\:-translate-y-44:focus{--tw-translate-y:-11rem}.lg\\:focus\\:-translate-y-48:focus{--tw-translate-y:-12rem}.lg\\:focus\\:-translate-y-52:focus{--tw-translate-y:-13rem}.lg\\:focus\\:-translate-y-56:focus{--tw-translate-y:-14rem}.lg\\:focus\\:-translate-y-60:focus{--tw-translate-y:-15rem}.lg\\:focus\\:-translate-y-64:focus{--tw-translate-y:-16rem}.lg\\:focus\\:-translate-y-72:focus{--tw-translate-y:-18rem}.lg\\:focus\\:-translate-y-80:focus{--tw-translate-y:-20rem}.lg\\:focus\\:-translate-y-96:focus{--tw-translate-y:-24rem}.lg\\:focus\\:-translate-y-px:focus{--tw-translate-y:-1px}.lg\\:focus\\:-translate-y-0\\.5:focus{--tw-translate-y:-0.125rem}.lg\\:focus\\:-translate-y-1\\.5:focus{--tw-translate-y:-0.375rem}.lg\\:focus\\:-translate-y-2\\.5:focus{--tw-translate-y:-0.625rem}.lg\\:focus\\:-translate-y-3\\.5:focus{--tw-translate-y:-0.875rem}.lg\\:focus\\:translate-y-1\\/2:focus{--tw-translate-y:50%}.lg\\:focus\\:translate-y-1\\/3:focus{--tw-translate-y:33.333333%}.lg\\:focus\\:translate-y-2\\/3:focus{--tw-translate-y:66.666667%}.lg\\:focus\\:translate-y-1\\/4:focus{--tw-translate-y:25%}.lg\\:focus\\:translate-y-2\\/4:focus{--tw-translate-y:50%}.lg\\:focus\\:translate-y-3\\/4:focus{--tw-translate-y:75%}.lg\\:focus\\:translate-y-full:focus{--tw-translate-y:100%}.lg\\:focus\\:-translate-y-1\\/2:focus{--tw-translate-y:-50%}.lg\\:focus\\:-translate-y-1\\/3:focus{--tw-translate-y:-33.333333%}.lg\\:focus\\:-translate-y-2\\/3:focus{--tw-translate-y:-66.666667%}.lg\\:focus\\:-translate-y-1\\/4:focus{--tw-translate-y:-25%}.lg\\:focus\\:-translate-y-2\\/4:focus{--tw-translate-y:-50%}.lg\\:focus\\:-translate-y-3\\/4:focus{--tw-translate-y:-75%}.lg\\:focus\\:-translate-y-full:focus{--tw-translate-y:-100%}.lg\\:rotate-0{--tw-rotate:0deg}.lg\\:rotate-1{--tw-rotate:1deg}.lg\\:rotate-2{--tw-rotate:2deg}.lg\\:rotate-3{--tw-rotate:3deg}.lg\\:rotate-6{--tw-rotate:6deg}.lg\\:rotate-12{--tw-rotate:12deg}.lg\\:rotate-45{--tw-rotate:45deg}.lg\\:rotate-90{--tw-rotate:90deg}.lg\\:rotate-180{--tw-rotate:180deg}.lg\\:-rotate-180{--tw-rotate:-180deg}.lg\\:-rotate-90{--tw-rotate:-90deg}.lg\\:-rotate-45{--tw-rotate:-45deg}.lg\\:-rotate-12{--tw-rotate:-12deg}.lg\\:-rotate-6{--tw-rotate:-6deg}.lg\\:-rotate-3{--tw-rotate:-3deg}.lg\\:-rotate-2{--tw-rotate:-2deg}.lg\\:-rotate-1{--tw-rotate:-1deg}.lg\\:hover\\:rotate-0:hover{--tw-rotate:0deg}.lg\\:hover\\:rotate-1:hover{--tw-rotate:1deg}.lg\\:hover\\:rotate-2:hover{--tw-rotate:2deg}.lg\\:hover\\:rotate-3:hover{--tw-rotate:3deg}.lg\\:hover\\:rotate-6:hover{--tw-rotate:6deg}.lg\\:hover\\:rotate-12:hover{--tw-rotate:12deg}.lg\\:hover\\:rotate-45:hover{--tw-rotate:45deg}.lg\\:hover\\:rotate-90:hover{--tw-rotate:90deg}.lg\\:hover\\:rotate-180:hover{--tw-rotate:180deg}.lg\\:hover\\:-rotate-180:hover{--tw-rotate:-180deg}.lg\\:hover\\:-rotate-90:hover{--tw-rotate:-90deg}.lg\\:hover\\:-rotate-45:hover{--tw-rotate:-45deg}.lg\\:hover\\:-rotate-12:hover{--tw-rotate:-12deg}.lg\\:hover\\:-rotate-6:hover{--tw-rotate:-6deg}.lg\\:hover\\:-rotate-3:hover{--tw-rotate:-3deg}.lg\\:hover\\:-rotate-2:hover{--tw-rotate:-2deg}.lg\\:hover\\:-rotate-1:hover{--tw-rotate:-1deg}.lg\\:focus\\:rotate-0:focus{--tw-rotate:0deg}.lg\\:focus\\:rotate-1:focus{--tw-rotate:1deg}.lg\\:focus\\:rotate-2:focus{--tw-rotate:2deg}.lg\\:focus\\:rotate-3:focus{--tw-rotate:3deg}.lg\\:focus\\:rotate-6:focus{--tw-rotate:6deg}.lg\\:focus\\:rotate-12:focus{--tw-rotate:12deg}.lg\\:focus\\:rotate-45:focus{--tw-rotate:45deg}.lg\\:focus\\:rotate-90:focus{--tw-rotate:90deg}.lg\\:focus\\:rotate-180:focus{--tw-rotate:180deg}.lg\\:focus\\:-rotate-180:focus{--tw-rotate:-180deg}.lg\\:focus\\:-rotate-90:focus{--tw-rotate:-90deg}.lg\\:focus\\:-rotate-45:focus{--tw-rotate:-45deg}.lg\\:focus\\:-rotate-12:focus{--tw-rotate:-12deg}.lg\\:focus\\:-rotate-6:focus{--tw-rotate:-6deg}.lg\\:focus\\:-rotate-3:focus{--tw-rotate:-3deg}.lg\\:focus\\:-rotate-2:focus{--tw-rotate:-2deg}.lg\\:focus\\:-rotate-1:focus{--tw-rotate:-1deg}.lg\\:skew-x-0{--tw-skew-x:0deg}.lg\\:skew-x-1{--tw-skew-x:1deg}.lg\\:skew-x-2{--tw-skew-x:2deg}.lg\\:skew-x-3{--tw-skew-x:3deg}.lg\\:skew-x-6{--tw-skew-x:6deg}.lg\\:skew-x-12{--tw-skew-x:12deg}.lg\\:-skew-x-12{--tw-skew-x:-12deg}.lg\\:-skew-x-6{--tw-skew-x:-6deg}.lg\\:-skew-x-3{--tw-skew-x:-3deg}.lg\\:-skew-x-2{--tw-skew-x:-2deg}.lg\\:-skew-x-1{--tw-skew-x:-1deg}.lg\\:skew-y-0{--tw-skew-y:0deg}.lg\\:skew-y-1{--tw-skew-y:1deg}.lg\\:skew-y-2{--tw-skew-y:2deg}.lg\\:skew-y-3{--tw-skew-y:3deg}.lg\\:skew-y-6{--tw-skew-y:6deg}.lg\\:skew-y-12{--tw-skew-y:12deg}.lg\\:-skew-y-12{--tw-skew-y:-12deg}.lg\\:-skew-y-6{--tw-skew-y:-6deg}.lg\\:-skew-y-3{--tw-skew-y:-3deg}.lg\\:-skew-y-2{--tw-skew-y:-2deg}.lg\\:-skew-y-1{--tw-skew-y:-1deg}.lg\\:hover\\:skew-x-0:hover{--tw-skew-x:0deg}.lg\\:hover\\:skew-x-1:hover{--tw-skew-x:1deg}.lg\\:hover\\:skew-x-2:hover{--tw-skew-x:2deg}.lg\\:hover\\:skew-x-3:hover{--tw-skew-x:3deg}.lg\\:hover\\:skew-x-6:hover{--tw-skew-x:6deg}.lg\\:hover\\:skew-x-12:hover{--tw-skew-x:12deg}.lg\\:hover\\:-skew-x-12:hover{--tw-skew-x:-12deg}.lg\\:hover\\:-skew-x-6:hover{--tw-skew-x:-6deg}.lg\\:hover\\:-skew-x-3:hover{--tw-skew-x:-3deg}.lg\\:hover\\:-skew-x-2:hover{--tw-skew-x:-2deg}.lg\\:hover\\:-skew-x-1:hover{--tw-skew-x:-1deg}.lg\\:hover\\:skew-y-0:hover{--tw-skew-y:0deg}.lg\\:hover\\:skew-y-1:hover{--tw-skew-y:1deg}.lg\\:hover\\:skew-y-2:hover{--tw-skew-y:2deg}.lg\\:hover\\:skew-y-3:hover{--tw-skew-y:3deg}.lg\\:hover\\:skew-y-6:hover{--tw-skew-y:6deg}.lg\\:hover\\:skew-y-12:hover{--tw-skew-y:12deg}.lg\\:hover\\:-skew-y-12:hover{--tw-skew-y:-12deg}.lg\\:hover\\:-skew-y-6:hover{--tw-skew-y:-6deg}.lg\\:hover\\:-skew-y-3:hover{--tw-skew-y:-3deg}.lg\\:hover\\:-skew-y-2:hover{--tw-skew-y:-2deg}.lg\\:hover\\:-skew-y-1:hover{--tw-skew-y:-1deg}.lg\\:focus\\:skew-x-0:focus{--tw-skew-x:0deg}.lg\\:focus\\:skew-x-1:focus{--tw-skew-x:1deg}.lg\\:focus\\:skew-x-2:focus{--tw-skew-x:2deg}.lg\\:focus\\:skew-x-3:focus{--tw-skew-x:3deg}.lg\\:focus\\:skew-x-6:focus{--tw-skew-x:6deg}.lg\\:focus\\:skew-x-12:focus{--tw-skew-x:12deg}.lg\\:focus\\:-skew-x-12:focus{--tw-skew-x:-12deg}.lg\\:focus\\:-skew-x-6:focus{--tw-skew-x:-6deg}.lg\\:focus\\:-skew-x-3:focus{--tw-skew-x:-3deg}.lg\\:focus\\:-skew-x-2:focus{--tw-skew-x:-2deg}.lg\\:focus\\:-skew-x-1:focus{--tw-skew-x:-1deg}.lg\\:focus\\:skew-y-0:focus{--tw-skew-y:0deg}.lg\\:focus\\:skew-y-1:focus{--tw-skew-y:1deg}.lg\\:focus\\:skew-y-2:focus{--tw-skew-y:2deg}.lg\\:focus\\:skew-y-3:focus{--tw-skew-y:3deg}.lg\\:focus\\:skew-y-6:focus{--tw-skew-y:6deg}.lg\\:focus\\:skew-y-12:focus{--tw-skew-y:12deg}.lg\\:focus\\:-skew-y-12:focus{--tw-skew-y:-12deg}.lg\\:focus\\:-skew-y-6:focus{--tw-skew-y:-6deg}.lg\\:focus\\:-skew-y-3:focus{--tw-skew-y:-3deg}.lg\\:focus\\:-skew-y-2:focus{--tw-skew-y:-2deg}.lg\\:focus\\:-skew-y-1:focus{--tw-skew-y:-1deg}.lg\\:scale-0{--tw-scale-x:0;--tw-scale-y:0}.lg\\:scale-50{--tw-scale-x:.5;--tw-scale-y:.5}.lg\\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75}.lg\\:scale-90{--tw-scale-x:.9;--tw-scale-y:.9}.lg\\:scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.lg\\:scale-100{--tw-scale-x:1;--tw-scale-y:1}.lg\\:scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05}.lg\\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1}.lg\\:scale-125{--tw-scale-x:1.25;--tw-scale-y:1.25}.lg\\:scale-150{--tw-scale-x:1.5;--tw-scale-y:1.5}.lg\\:hover\\:scale-0:hover{--tw-scale-x:0;--tw-scale-y:0}.lg\\:hover\\:scale-50:hover{--tw-scale-x:.5;--tw-scale-y:.5}.lg\\:hover\\:scale-75:hover{--tw-scale-x:.75;--tw-scale-y:.75}.lg\\:hover\\:scale-90:hover{--tw-scale-x:.9;--tw-scale-y:.9}.lg\\:hover\\:scale-95:hover{--tw-scale-x:.95;--tw-scale-y:.95}.lg\\:hover\\:scale-100:hover{--tw-scale-x:1;--tw-scale-y:1}.lg\\:hover\\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.lg\\:hover\\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.lg\\:hover\\:scale-125:hover{--tw-scale-x:1.25;--tw-scale-y:1.25}.lg\\:hover\\:scale-150:hover{--tw-scale-x:1.5;--tw-scale-y:1.5}.lg\\:focus\\:scale-0:focus{--tw-scale-x:0;--tw-scale-y:0}.lg\\:focus\\:scale-50:focus{--tw-scale-x:.5;--tw-scale-y:.5}.lg\\:focus\\:scale-75:focus{--tw-scale-x:.75;--tw-scale-y:.75}.lg\\:focus\\:scale-90:focus{--tw-scale-x:.9;--tw-scale-y:.9}.lg\\:focus\\:scale-95:focus{--tw-scale-x:.95;--tw-scale-y:.95}.lg\\:focus\\:scale-100:focus{--tw-scale-x:1;--tw-scale-y:1}.lg\\:focus\\:scale-105:focus{--tw-scale-x:1.05;--tw-scale-y:1.05}.lg\\:focus\\:scale-110:focus{--tw-scale-x:1.1;--tw-scale-y:1.1}.lg\\:focus\\:scale-125:focus{--tw-scale-x:1.25;--tw-scale-y:1.25}.lg\\:focus\\:scale-150:focus{--tw-scale-x:1.5;--tw-scale-y:1.5}.lg\\:scale-x-0{--tw-scale-x:0}.lg\\:scale-x-50{--tw-scale-x:.5}.lg\\:scale-x-75{--tw-scale-x:.75}.lg\\:scale-x-90{--tw-scale-x:.9}.lg\\:scale-x-95{--tw-scale-x:.95}.lg\\:scale-x-100{--tw-scale-x:1}.lg\\:scale-x-105{--tw-scale-x:1.05}.lg\\:scale-x-110{--tw-scale-x:1.1}.lg\\:scale-x-125{--tw-scale-x:1.25}.lg\\:scale-x-150{--tw-scale-x:1.5}.lg\\:scale-y-0{--tw-scale-y:0}.lg\\:scale-y-50{--tw-scale-y:.5}.lg\\:scale-y-75{--tw-scale-y:.75}.lg\\:scale-y-90{--tw-scale-y:.9}.lg\\:scale-y-95{--tw-scale-y:.95}.lg\\:scale-y-100{--tw-scale-y:1}.lg\\:scale-y-105{--tw-scale-y:1.05}.lg\\:scale-y-110{--tw-scale-y:1.1}.lg\\:scale-y-125{--tw-scale-y:1.25}.lg\\:scale-y-150{--tw-scale-y:1.5}.lg\\:hover\\:scale-x-0:hover{--tw-scale-x:0}.lg\\:hover\\:scale-x-50:hover{--tw-scale-x:.5}.lg\\:hover\\:scale-x-75:hover{--tw-scale-x:.75}.lg\\:hover\\:scale-x-90:hover{--tw-scale-x:.9}.lg\\:hover\\:scale-x-95:hover{--tw-scale-x:.95}.lg\\:hover\\:scale-x-100:hover{--tw-scale-x:1}.lg\\:hover\\:scale-x-105:hover{--tw-scale-x:1.05}.lg\\:hover\\:scale-x-110:hover{--tw-scale-x:1.1}.lg\\:hover\\:scale-x-125:hover{--tw-scale-x:1.25}.lg\\:hover\\:scale-x-150:hover{--tw-scale-x:1.5}.lg\\:hover\\:scale-y-0:hover{--tw-scale-y:0}.lg\\:hover\\:scale-y-50:hover{--tw-scale-y:.5}.lg\\:hover\\:scale-y-75:hover{--tw-scale-y:.75}.lg\\:hover\\:scale-y-90:hover{--tw-scale-y:.9}.lg\\:hover\\:scale-y-95:hover{--tw-scale-y:.95}.lg\\:hover\\:scale-y-100:hover{--tw-scale-y:1}.lg\\:hover\\:scale-y-105:hover{--tw-scale-y:1.05}.lg\\:hover\\:scale-y-110:hover{--tw-scale-y:1.1}.lg\\:hover\\:scale-y-125:hover{--tw-scale-y:1.25}.lg\\:hover\\:scale-y-150:hover{--tw-scale-y:1.5}.lg\\:focus\\:scale-x-0:focus{--tw-scale-x:0}.lg\\:focus\\:scale-x-50:focus{--tw-scale-x:.5}.lg\\:focus\\:scale-x-75:focus{--tw-scale-x:.75}.lg\\:focus\\:scale-x-90:focus{--tw-scale-x:.9}.lg\\:focus\\:scale-x-95:focus{--tw-scale-x:.95}.lg\\:focus\\:scale-x-100:focus{--tw-scale-x:1}.lg\\:focus\\:scale-x-105:focus{--tw-scale-x:1.05}.lg\\:focus\\:scale-x-110:focus{--tw-scale-x:1.1}.lg\\:focus\\:scale-x-125:focus{--tw-scale-x:1.25}.lg\\:focus\\:scale-x-150:focus{--tw-scale-x:1.5}.lg\\:focus\\:scale-y-0:focus{--tw-scale-y:0}.lg\\:focus\\:scale-y-50:focus{--tw-scale-y:.5}.lg\\:focus\\:scale-y-75:focus{--tw-scale-y:.75}.lg\\:focus\\:scale-y-90:focus{--tw-scale-y:.9}.lg\\:focus\\:scale-y-95:focus{--tw-scale-y:.95}.lg\\:focus\\:scale-y-100:focus{--tw-scale-y:1}.lg\\:focus\\:scale-y-105:focus{--tw-scale-y:1.05}.lg\\:focus\\:scale-y-110:focus{--tw-scale-y:1.1}.lg\\:focus\\:scale-y-125:focus{--tw-scale-y:1.25}.lg\\:focus\\:scale-y-150:focus{--tw-scale-y:1.5}.lg\\:animate-none{animation:none}.lg\\:animate-spin{animation:spin 1s linear infinite}.lg\\:animate-ping{animation:ping 1s cubic-bezier(0, 0, 0.2, 1) infinite}.lg\\:animate-pulse{animation:pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite}.lg\\:animate-bounce{animation:bounce 1s infinite}.lg\\:cursor-auto{cursor:auto}.lg\\:cursor-default{cursor:default}.lg\\:cursor-pointer{cursor:pointer}.lg\\:cursor-wait{cursor:wait}.lg\\:cursor-text{cursor:text}.lg\\:cursor-move{cursor:move}.lg\\:cursor-help{cursor:help}.lg\\:cursor-not-allowed{cursor:not-allowed}.lg\\:select-none{-webkit-user-select:none;user-select:none}.lg\\:select-text{-webkit-user-select:text;user-select:text}.lg\\:select-all{-webkit-user-select:all;user-select:all}.lg\\:select-auto{-webkit-user-select:auto;user-select:auto}.lg\\:resize-none{resize:none}.lg\\:resize-y{resize:vertical}.lg\\:resize-x{resize:horizontal}.lg\\:resize{resize:both}.lg\\:list-inside{list-style-position:inside}.lg\\:list-outside{list-style-position:outside}.lg\\:list-none{list-style-type:none}.lg\\:list-disc{list-style-type:disc}.lg\\:list-decimal{list-style-type:decimal}.lg\\:appearance-none{appearance:none}.lg\\:auto-cols-auto{grid-auto-columns:auto}.lg\\:auto-cols-min{grid-auto-columns:min-content}.lg\\:auto-cols-max{grid-auto-columns:max-content}.lg\\:auto-cols-fr{grid-auto-columns:minmax(0, 1fr)}.lg\\:grid-flow-row{grid-auto-flow:row}.lg\\:grid-flow-col{grid-auto-flow:column}.lg\\:grid-flow-row-dense{grid-auto-flow:row dense}.lg\\:grid-flow-col-dense{grid-auto-flow:column dense}.lg\\:auto-rows-auto{grid-auto-rows:auto}.lg\\:auto-rows-min{grid-auto-rows:min-content}.lg\\:auto-rows-max{grid-auto-rows:max-content}.lg\\:auto-rows-fr{grid-auto-rows:minmax(0, 1fr)}.lg\\:grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}.lg\\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.lg\\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.lg\\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}.lg\\:grid-cols-5{grid-template-columns:repeat(5, minmax(0, 1fr))}.lg\\:grid-cols-6{grid-template-columns:repeat(6, minmax(0, 1fr))}.lg\\:grid-cols-7{grid-template-columns:repeat(7, minmax(0, 1fr))}.lg\\:grid-cols-8{grid-template-columns:repeat(8, minmax(0, 1fr))}.lg\\:grid-cols-9{grid-template-columns:repeat(9, minmax(0, 1fr))}.lg\\:grid-cols-10{grid-template-columns:repeat(10, minmax(0, 1fr))}.lg\\:grid-cols-11{grid-template-columns:repeat(11, minmax(0, 1fr))}.lg\\:grid-cols-12{grid-template-columns:repeat(12, minmax(0, 1fr))}.lg\\:grid-cols-none{grid-template-columns:none}.lg\\:grid-rows-1{grid-template-rows:repeat(1, minmax(0, 1fr))}.lg\\:grid-rows-2{grid-template-rows:repeat(2, minmax(0, 1fr))}.lg\\:grid-rows-3{grid-template-rows:repeat(3, minmax(0, 1fr))}.lg\\:grid-rows-4{grid-template-rows:repeat(4, minmax(0, 1fr))}.lg\\:grid-rows-5{grid-template-rows:repeat(5, minmax(0, 1fr))}.lg\\:grid-rows-6{grid-template-rows:repeat(6, minmax(0, 1fr))}.lg\\:grid-rows-none{grid-template-rows:none}.lg\\:flex-row{flex-direction:row}.lg\\:flex-row-reverse{flex-direction:row-reverse}.lg\\:flex-col{flex-direction:column}.lg\\:flex-col-reverse{flex-direction:column-reverse}.lg\\:flex-wrap{flex-wrap:wrap}.lg\\:flex-wrap-reverse{flex-wrap:wrap-reverse}.lg\\:flex-nowrap{flex-wrap:nowrap}.lg\\:place-content-center{place-content:center}.lg\\:place-content-start{place-content:start}.lg\\:place-content-end{place-content:end}.lg\\:place-content-between{place-content:space-between}.lg\\:place-content-around{place-content:space-around}.lg\\:place-content-evenly{place-content:space-evenly}.lg\\:place-content-stretch{place-content:stretch}.lg\\:place-items-start{place-items:start}.lg\\:place-items-end{place-items:end}.lg\\:place-items-center{place-items:center}.lg\\:place-items-stretch{place-items:stretch}.lg\\:content-center{align-content:center}.lg\\:content-start{align-content:flex-start}.lg\\:content-end{align-content:flex-end}.lg\\:content-between{align-content:space-between}.lg\\:content-around{align-content:space-around}.lg\\:content-evenly{align-content:space-evenly}.lg\\:items-start{align-items:flex-start}.lg\\:items-end{align-items:flex-end}.lg\\:items-center{align-items:center}.lg\\:items-baseline{align-items:baseline}.lg\\:items-stretch{align-items:stretch}.lg\\:justify-start{justify-content:flex-start}.lg\\:justify-end{justify-content:flex-end}.lg\\:justify-center{justify-content:center}.lg\\:justify-between{justify-content:space-between}.lg\\:justify-around{justify-content:space-around}.lg\\:justify-evenly{justify-content:space-evenly}.lg\\:justify-items-start{justify-items:start}.lg\\:justify-items-end{justify-items:end}.lg\\:justify-items-center{justify-items:center}.lg\\:justify-items-stretch{justify-items:stretch}.lg\\:gap-0{gap:0px}.lg\\:gap-1{gap:0.25rem}.lg\\:gap-2{gap:0.5rem}.lg\\:gap-3{gap:0.75rem}.lg\\:gap-4{gap:1rem}.lg\\:gap-5{gap:1.25rem}.lg\\:gap-6{gap:1.5rem}.lg\\:gap-7{gap:1.75rem}.lg\\:gap-8{gap:2rem}.lg\\:gap-9{gap:2.25rem}.lg\\:gap-10{gap:2.5rem}.lg\\:gap-11{gap:2.75rem}.lg\\:gap-12{gap:3rem}.lg\\:gap-14{gap:3.5rem}.lg\\:gap-16{gap:4rem}.lg\\:gap-20{gap:5rem}.lg\\:gap-24{gap:6rem}.lg\\:gap-28{gap:7rem}.lg\\:gap-32{gap:8rem}.lg\\:gap-36{gap:9rem}.lg\\:gap-40{gap:10rem}.lg\\:gap-44{gap:11rem}.lg\\:gap-48{gap:12rem}.lg\\:gap-52{gap:13rem}.lg\\:gap-56{gap:14rem}.lg\\:gap-60{gap:15rem}.lg\\:gap-64{gap:16rem}.lg\\:gap-72{gap:18rem}.lg\\:gap-80{gap:20rem}.lg\\:gap-96{gap:24rem}.lg\\:gap-px{gap:1px}.lg\\:gap-0\\.5{gap:0.125rem}.lg\\:gap-1\\.5{gap:0.375rem}.lg\\:gap-2\\.5{gap:0.625rem}.lg\\:gap-3\\.5{gap:0.875rem}.lg\\:gap-x-0{column-gap:0px}.lg\\:gap-x-1{column-gap:0.25rem}.lg\\:gap-x-2{column-gap:0.5rem}.lg\\:gap-x-3{column-gap:0.75rem}.lg\\:gap-x-4{column-gap:1rem}.lg\\:gap-x-5{column-gap:1.25rem}.lg\\:gap-x-6{column-gap:1.5rem}.lg\\:gap-x-7{column-gap:1.75rem}.lg\\:gap-x-8{column-gap:2rem}.lg\\:gap-x-9{column-gap:2.25rem}.lg\\:gap-x-10{column-gap:2.5rem}.lg\\:gap-x-11{column-gap:2.75rem}.lg\\:gap-x-12{column-gap:3rem}.lg\\:gap-x-14{column-gap:3.5rem}.lg\\:gap-x-16{column-gap:4rem}.lg\\:gap-x-20{column-gap:5rem}.lg\\:gap-x-24{column-gap:6rem}.lg\\:gap-x-28{column-gap:7rem}.lg\\:gap-x-32{column-gap:8rem}.lg\\:gap-x-36{column-gap:9rem}.lg\\:gap-x-40{column-gap:10rem}.lg\\:gap-x-44{column-gap:11rem}.lg\\:gap-x-48{column-gap:12rem}.lg\\:gap-x-52{column-gap:13rem}.lg\\:gap-x-56{column-gap:14rem}.lg\\:gap-x-60{column-gap:15rem}.lg\\:gap-x-64{column-gap:16rem}.lg\\:gap-x-72{column-gap:18rem}.lg\\:gap-x-80{column-gap:20rem}.lg\\:gap-x-96{column-gap:24rem}.lg\\:gap-x-px{column-gap:1px}.lg\\:gap-x-0\\.5{column-gap:0.125rem}.lg\\:gap-x-1\\.5{column-gap:0.375rem}.lg\\:gap-x-2\\.5{column-gap:0.625rem}.lg\\:gap-x-3\\.5{column-gap:0.875rem}.lg\\:gap-y-0{row-gap:0px}.lg\\:gap-y-1{row-gap:0.25rem}.lg\\:gap-y-2{row-gap:0.5rem}.lg\\:gap-y-3{row-gap:0.75rem}.lg\\:gap-y-4{row-gap:1rem}.lg\\:gap-y-5{row-gap:1.25rem}.lg\\:gap-y-6{row-gap:1.5rem}.lg\\:gap-y-7{row-gap:1.75rem}.lg\\:gap-y-8{row-gap:2rem}.lg\\:gap-y-9{row-gap:2.25rem}.lg\\:gap-y-10{row-gap:2.5rem}.lg\\:gap-y-11{row-gap:2.75rem}.lg\\:gap-y-12{row-gap:3rem}.lg\\:gap-y-14{row-gap:3.5rem}.lg\\:gap-y-16{row-gap:4rem}.lg\\:gap-y-20{row-gap:5rem}.lg\\:gap-y-24{row-gap:6rem}.lg\\:gap-y-28{row-gap:7rem}.lg\\:gap-y-32{row-gap:8rem}.lg\\:gap-y-36{row-gap:9rem}.lg\\:gap-y-40{row-gap:10rem}.lg\\:gap-y-44{row-gap:11rem}.lg\\:gap-y-48{row-gap:12rem}.lg\\:gap-y-52{row-gap:13rem}.lg\\:gap-y-56{row-gap:14rem}.lg\\:gap-y-60{row-gap:15rem}.lg\\:gap-y-64{row-gap:16rem}.lg\\:gap-y-72{row-gap:18rem}.lg\\:gap-y-80{row-gap:20rem}.lg\\:gap-y-96{row-gap:24rem}.lg\\:gap-y-px{row-gap:1px}.lg\\:gap-y-0\\.5{row-gap:0.125rem}.lg\\:gap-y-1\\.5{row-gap:0.375rem}.lg\\:gap-y-2\\.5{row-gap:0.625rem}.lg\\:gap-y-3\\.5{row-gap:0.875rem}.lg\\:space-x-0>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0px * var(--tw-space-x-reverse));margin-left:calc(0px * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.25rem * var(--tw-space-x-reverse));margin-left:calc(0.25rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.5rem * var(--tw-space-x-reverse));margin-left:calc(0.5rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.75rem * var(--tw-space-x-reverse));margin-left:calc(0.75rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.25rem * var(--tw-space-x-reverse));margin-left:calc(1.25rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.5rem * var(--tw-space-x-reverse));margin-left:calc(1.5rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-7>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.75rem * var(--tw-space-x-reverse));margin-left:calc(1.75rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2rem * var(--tw-space-x-reverse));margin-left:calc(2rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-9>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2.25rem * var(--tw-space-x-reverse));margin-left:calc(2.25rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-10>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2.5rem * var(--tw-space-x-reverse));margin-left:calc(2.5rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-11>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2.75rem * var(--tw-space-x-reverse));margin-left:calc(2.75rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-12>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(3rem * var(--tw-space-x-reverse));margin-left:calc(3rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-14>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(3.5rem * var(--tw-space-x-reverse));margin-left:calc(3.5rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-16>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(4rem * var(--tw-space-x-reverse));margin-left:calc(4rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-20>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(5rem * var(--tw-space-x-reverse));margin-left:calc(5rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-24>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(6rem * var(--tw-space-x-reverse));margin-left:calc(6rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-28>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(7rem * var(--tw-space-x-reverse));margin-left:calc(7rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-32>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(8rem * var(--tw-space-x-reverse));margin-left:calc(8rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-36>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(9rem * var(--tw-space-x-reverse));margin-left:calc(9rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-40>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(10rem * var(--tw-space-x-reverse));margin-left:calc(10rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-44>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(11rem * var(--tw-space-x-reverse));margin-left:calc(11rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-48>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(12rem * var(--tw-space-x-reverse));margin-left:calc(12rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-52>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(13rem * var(--tw-space-x-reverse));margin-left:calc(13rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-56>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(14rem * var(--tw-space-x-reverse));margin-left:calc(14rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-60>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(15rem * var(--tw-space-x-reverse));margin-left:calc(15rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-64>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(16rem * var(--tw-space-x-reverse));margin-left:calc(16rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-72>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(18rem * var(--tw-space-x-reverse));margin-left:calc(18rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-80>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(20rem * var(--tw-space-x-reverse));margin-left:calc(20rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-96>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(24rem * var(--tw-space-x-reverse));margin-left:calc(24rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1px * var(--tw-space-x-reverse));margin-left:calc(1px * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-0\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.125rem * var(--tw-space-x-reverse));margin-left:calc(0.125rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-1\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.375rem * var(--tw-space-x-reverse));margin-left:calc(0.375rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-2\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.625rem * var(--tw-space-x-reverse));margin-left:calc(0.625rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-3\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.875rem * var(--tw-space-x-reverse));margin-left:calc(0.875rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-0>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0px * var(--tw-space-x-reverse));margin-left:calc(0px * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.25rem * var(--tw-space-x-reverse));margin-left:calc(-0.25rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.5rem * var(--tw-space-x-reverse));margin-left:calc(-0.5rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.75rem * var(--tw-space-x-reverse));margin-left:calc(-0.75rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1rem * var(--tw-space-x-reverse));margin-left:calc(-1rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1.25rem * var(--tw-space-x-reverse));margin-left:calc(-1.25rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1.5rem * var(--tw-space-x-reverse));margin-left:calc(-1.5rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-7>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1.75rem * var(--tw-space-x-reverse));margin-left:calc(-1.75rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2rem * var(--tw-space-x-reverse));margin-left:calc(-2rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-9>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2.25rem * var(--tw-space-x-reverse));margin-left:calc(-2.25rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-10>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2.5rem * var(--tw-space-x-reverse));margin-left:calc(-2.5rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-11>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2.75rem * var(--tw-space-x-reverse));margin-left:calc(-2.75rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-12>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-3rem * var(--tw-space-x-reverse));margin-left:calc(-3rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-14>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-3.5rem * var(--tw-space-x-reverse));margin-left:calc(-3.5rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-16>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-4rem * var(--tw-space-x-reverse));margin-left:calc(-4rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-20>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-5rem * var(--tw-space-x-reverse));margin-left:calc(-5rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-24>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-6rem * var(--tw-space-x-reverse));margin-left:calc(-6rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-28>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-7rem * var(--tw-space-x-reverse));margin-left:calc(-7rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-32>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-8rem * var(--tw-space-x-reverse));margin-left:calc(-8rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-36>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-9rem * var(--tw-space-x-reverse));margin-left:calc(-9rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-40>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-10rem * var(--tw-space-x-reverse));margin-left:calc(-10rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-44>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-11rem * var(--tw-space-x-reverse));margin-left:calc(-11rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-48>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-12rem * var(--tw-space-x-reverse));margin-left:calc(-12rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-52>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-13rem * var(--tw-space-x-reverse));margin-left:calc(-13rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-56>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-14rem * var(--tw-space-x-reverse));margin-left:calc(-14rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-60>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-15rem * var(--tw-space-x-reverse));margin-left:calc(-15rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-64>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-16rem * var(--tw-space-x-reverse));margin-left:calc(-16rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-72>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-18rem * var(--tw-space-x-reverse));margin-left:calc(-18rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-80>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-20rem * var(--tw-space-x-reverse));margin-left:calc(-20rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-96>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-24rem * var(--tw-space-x-reverse));margin-left:calc(-24rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1px * var(--tw-space-x-reverse));margin-left:calc(-1px * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-0\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.125rem * var(--tw-space-x-reverse));margin-left:calc(-0.125rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-1\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.375rem * var(--tw-space-x-reverse));margin-left:calc(-0.375rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-2\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.625rem * var(--tw-space-x-reverse));margin-left:calc(-0.625rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-3\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.875rem * var(--tw-space-x-reverse));margin-left:calc(-0.875rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.lg\\:space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.25rem * var(--tw-space-y-reverse))}.lg\\:space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.5rem * var(--tw-space-y-reverse))}.lg\\:space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.75rem * var(--tw-space-y-reverse))}.lg\\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.lg\\:space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.lg\\:space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.lg\\:space-y-7>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.75rem * var(--tw-space-y-reverse))}.lg\\:space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.lg\\:space-y-9>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.25rem * var(--tw-space-y-reverse))}.lg\\:space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.5rem * var(--tw-space-y-reverse))}.lg\\:space-y-11>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.75rem * var(--tw-space-y-reverse))}.lg\\:space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3rem * var(--tw-space-y-reverse))}.lg\\:space-y-14>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(3.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3.5rem * var(--tw-space-y-reverse))}.lg\\:space-y-16>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(4rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(4rem * var(--tw-space-y-reverse))}.lg\\:space-y-20>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(5rem * var(--tw-space-y-reverse))}.lg\\:space-y-24>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(6rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(6rem * var(--tw-space-y-reverse))}.lg\\:space-y-28>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(7rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(7rem * var(--tw-space-y-reverse))}.lg\\:space-y-32>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(8rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(8rem * var(--tw-space-y-reverse))}.lg\\:space-y-36>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(9rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(9rem * var(--tw-space-y-reverse))}.lg\\:space-y-40>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(10rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(10rem * var(--tw-space-y-reverse))}.lg\\:space-y-44>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(11rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(11rem * var(--tw-space-y-reverse))}.lg\\:space-y-48>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(12rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(12rem * var(--tw-space-y-reverse))}.lg\\:space-y-52>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(13rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(13rem * var(--tw-space-y-reverse))}.lg\\:space-y-56>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(14rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(14rem * var(--tw-space-y-reverse))}.lg\\:space-y-60>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(15rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(15rem * var(--tw-space-y-reverse))}.lg\\:space-y-64>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(16rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(16rem * var(--tw-space-y-reverse))}.lg\\:space-y-72>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(18rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(18rem * var(--tw-space-y-reverse))}.lg\\:space-y-80>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(20rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(20rem * var(--tw-space-y-reverse))}.lg\\:space-y-96>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(24rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(24rem * var(--tw-space-y-reverse))}.lg\\:space-y-px>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1px * var(--tw-space-y-reverse))}.lg\\:space-y-0\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.125rem * var(--tw-space-y-reverse))}.lg\\:space-y-1\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.375rem * var(--tw-space-y-reverse))}.lg\\:space-y-2\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.625rem * var(--tw-space-y-reverse))}.lg\\:space-y-3\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.875rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.875rem * var(--tw-space-y-reverse))}.lg\\:-space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.lg\\:-space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.25rem * var(--tw-space-y-reverse))}.lg\\:-space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.5rem * var(--tw-space-y-reverse))}.lg\\:-space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.75rem * var(--tw-space-y-reverse))}.lg\\:-space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1rem * var(--tw-space-y-reverse))}.lg\\:-space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1.25rem * var(--tw-space-y-reverse))}.lg\\:-space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1.5rem * var(--tw-space-y-reverse))}.lg\\:-space-y-7>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1.75rem * var(--tw-space-y-reverse))}.lg\\:-space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2rem * var(--tw-space-y-reverse))}.lg\\:-space-y-9>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2.25rem * var(--tw-space-y-reverse))}.lg\\:-space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2.5rem * var(--tw-space-y-reverse))}.lg\\:-space-y-11>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2.75rem * var(--tw-space-y-reverse))}.lg\\:-space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-3rem * var(--tw-space-y-reverse))}.lg\\:-space-y-14>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-3.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-3.5rem * var(--tw-space-y-reverse))}.lg\\:-space-y-16>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-4rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-4rem * var(--tw-space-y-reverse))}.lg\\:-space-y-20>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-5rem * var(--tw-space-y-reverse))}.lg\\:-space-y-24>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-6rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-6rem * var(--tw-space-y-reverse))}.lg\\:-space-y-28>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-7rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-7rem * var(--tw-space-y-reverse))}.lg\\:-space-y-32>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-8rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-8rem * var(--tw-space-y-reverse))}.lg\\:-space-y-36>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-9rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-9rem * var(--tw-space-y-reverse))}.lg\\:-space-y-40>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-10rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-10rem * var(--tw-space-y-reverse))}.lg\\:-space-y-44>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-11rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-11rem * var(--tw-space-y-reverse))}.lg\\:-space-y-48>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-12rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-12rem * var(--tw-space-y-reverse))}.lg\\:-space-y-52>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-13rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-13rem * var(--tw-space-y-reverse))}.lg\\:-space-y-56>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-14rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-14rem * var(--tw-space-y-reverse))}.lg\\:-space-y-60>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-15rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-15rem * var(--tw-space-y-reverse))}.lg\\:-space-y-64>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-16rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-16rem * var(--tw-space-y-reverse))}.lg\\:-space-y-72>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-18rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-18rem * var(--tw-space-y-reverse))}.lg\\:-space-y-80>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-20rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-20rem * var(--tw-space-y-reverse))}.lg\\:-space-y-96>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-24rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-24rem * var(--tw-space-y-reverse))}.lg\\:-space-y-px>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1px * var(--tw-space-y-reverse))}.lg\\:-space-y-0\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.125rem * var(--tw-space-y-reverse))}.lg\\:-space-y-1\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.375rem * var(--tw-space-y-reverse))}.lg\\:-space-y-2\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.625rem * var(--tw-space-y-reverse))}.lg\\:-space-y-3\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.875rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.875rem * var(--tw-space-y-reverse))}.lg\\:space-y-reverse>:not([hidden])~:not([hidden]){--tw-space-y-reverse:1}.lg\\:space-x-reverse>:not([hidden])~:not([hidden]){--tw-space-x-reverse:1}.lg\\:divide-x-0>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(0px * var(--tw-divide-x-reverse));border-left-width:calc(0px * calc(1 - var(--tw-divide-x-reverse)))}.lg\\:divide-x-2>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(2px * var(--tw-divide-x-reverse));border-left-width:calc(2px * calc(1 - var(--tw-divide-x-reverse)))}.lg\\:divide-x-4>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(4px * var(--tw-divide-x-reverse));border-left-width:calc(4px * calc(1 - var(--tw-divide-x-reverse)))}.lg\\:divide-x-8>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(8px * var(--tw-divide-x-reverse));border-left-width:calc(8px * calc(1 - var(--tw-divide-x-reverse)))}.lg\\:divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(1px * var(--tw-divide-x-reverse));border-left-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}.lg\\:divide-y-0>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(0px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(0px * var(--tw-divide-y-reverse))}.lg\\:divide-y-2>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(2px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(2px * var(--tw-divide-y-reverse))}.lg\\:divide-y-4>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(4px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(4px * var(--tw-divide-y-reverse))}.lg\\:divide-y-8>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(8px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(8px * var(--tw-divide-y-reverse))}.lg\\:divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.lg\\:divide-y-reverse>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:1}.lg\\:divide-x-reverse>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:1}.lg\\:divide-solid>:not([hidden])~:not([hidden]){border-style:solid}.lg\\:divide-dashed>:not([hidden])~:not([hidden]){border-style:dashed}.lg\\:divide-dotted>:not([hidden])~:not([hidden]){border-style:dotted}.lg\\:divide-double>:not([hidden])~:not([hidden]){border-style:double}.lg\\:divide-none>:not([hidden])~:not([hidden]){border-style:none}.lg\\:divide-transparent>:not([hidden])~:not([hidden]){border-color:transparent}.lg\\:divide-current>:not([hidden])~:not([hidden]){border-color:currentColor}.lg\\:divide-white>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.lg\\:divide-lightgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(247, 247, 247, var(--tw-divide-opacity))}.lg\\:divide-midgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.lg\\:divide-darkgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(127, 127, 127, var(--tw-divide-opacity))}.lg\\:divide-grey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(30, 30, 30, var(--tw-divide-opacity))}.lg\\:divide-black>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(15, 15, 15, var(--tw-divide-opacity))}.lg\\:divide-highlight>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 113, 227, var(--tw-divide-opacity))}.lg\\:divide-highlight_hover>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 119, 237, var(--tw-divide-opacity))}.lg\\:divide-button_outline>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.lg\\:divide-error>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 69, 58, var(--tw-divide-opacity))}.lg\\:divide-text-light>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(15, 15, 15, var(--tw-divide-opacity))}.lg\\:divide-text-dimmed>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.lg\\:divide-text-dark>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.lg\\:divide-body-light>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.lg\\:divide-body-dark>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(30, 30, 30, var(--tw-divide-opacity))}.lg\\:divide-button>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 113, 227, var(--tw-divide-opacity))}.lg\\:divide-button_hover>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 119, 237, var(--tw-divide-opacity))}@media(prefers-color-scheme: dark){.lg\\:dark\\:divide-transparent>:not([hidden])~:not([hidden]){border-color:transparent}.lg\\:dark\\:divide-current>:not([hidden])~:not([hidden]){border-color:currentColor}.lg\\:dark\\:divide-white>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.lg\\:dark\\:divide-lightgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(247, 247, 247, var(--tw-divide-opacity))}.lg\\:dark\\:divide-midgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.lg\\:dark\\:divide-darkgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(127, 127, 127, var(--tw-divide-opacity))}.lg\\:dark\\:divide-grey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(30, 30, 30, var(--tw-divide-opacity))}.lg\\:dark\\:divide-black>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(15, 15, 15, var(--tw-divide-opacity))}.lg\\:dark\\:divide-highlight>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 113, 227, var(--tw-divide-opacity))}.lg\\:dark\\:divide-highlight_hover>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 119, 237, var(--tw-divide-opacity))}.lg\\:dark\\:divide-button_outline>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.lg\\:dark\\:divide-error>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 69, 58, var(--tw-divide-opacity))}.lg\\:dark\\:divide-text-light>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(15, 15, 15, var(--tw-divide-opacity))}.lg\\:dark\\:divide-text-dimmed>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.lg\\:dark\\:divide-text-dark>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.lg\\:dark\\:divide-body-light>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.lg\\:dark\\:divide-body-dark>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(30, 30, 30, var(--tw-divide-opacity))}.lg\\:dark\\:divide-button>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 113, 227, var(--tw-divide-opacity))}.lg\\:dark\\:divide-button_hover>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 119, 237, var(--tw-divide-opacity))}}.lg\\:divide-opacity-0>:not([hidden])~:not([hidden]){--tw-divide-opacity:0}.lg\\:divide-opacity-5>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.05}.lg\\:divide-opacity-10>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.1}.lg\\:divide-opacity-20>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.2}.lg\\:divide-opacity-25>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.25}.lg\\:divide-opacity-30>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.3}.lg\\:divide-opacity-40>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.4}.lg\\:divide-opacity-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.5}.lg\\:divide-opacity-60>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.6}.lg\\:divide-opacity-70>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.7}.lg\\:divide-opacity-75>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.75}.lg\\:divide-opacity-80>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.8}.lg\\:divide-opacity-90>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.9}.lg\\:divide-opacity-95>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.95}.lg\\:divide-opacity-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1}@media(prefers-color-scheme: dark){.lg\\:dark\\:divide-opacity-0>:not([hidden])~:not([hidden]){--tw-divide-opacity:0}.lg\\:dark\\:divide-opacity-5>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.05}.lg\\:dark\\:divide-opacity-10>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.1}.lg\\:dark\\:divide-opacity-20>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.2}.lg\\:dark\\:divide-opacity-25>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.25}.lg\\:dark\\:divide-opacity-30>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.3}.lg\\:dark\\:divide-opacity-40>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.4}.lg\\:dark\\:divide-opacity-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.5}.lg\\:dark\\:divide-opacity-60>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.6}.lg\\:dark\\:divide-opacity-70>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.7}.lg\\:dark\\:divide-opacity-75>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.75}.lg\\:dark\\:divide-opacity-80>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.8}.lg\\:dark\\:divide-opacity-90>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.9}.lg\\:dark\\:divide-opacity-95>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.95}.lg\\:dark\\:divide-opacity-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1}}.lg\\:place-self-auto{place-self:auto}.lg\\:place-self-start{place-self:start}.lg\\:place-self-end{place-self:end}.lg\\:place-self-center{place-self:center}.lg\\:place-self-stretch{place-self:stretch}.lg\\:self-auto{align-self:auto}.lg\\:self-start{align-self:flex-start}.lg\\:self-end{align-self:flex-end}.lg\\:self-center{align-self:center}.lg\\:self-stretch{align-self:stretch}.lg\\:self-baseline{align-self:baseline}.lg\\:justify-self-auto{justify-self:auto}.lg\\:justify-self-start{justify-self:start}.lg\\:justify-self-end{justify-self:end}.lg\\:justify-self-center{justify-self:center}.lg\\:justify-self-stretch{justify-self:stretch}.lg\\:overflow-auto{overflow:auto}.lg\\:overflow-hidden{overflow:hidden}.lg\\:overflow-visible{overflow:visible}.lg\\:overflow-scroll{overflow:scroll}.lg\\:overflow-x-auto{overflow-x:auto}.lg\\:overflow-y-auto{overflow-y:auto}.lg\\:overflow-x-hidden{overflow-x:hidden}.lg\\:overflow-y-hidden{overflow-y:hidden}.lg\\:overflow-x-visible{overflow-x:visible}.lg\\:overflow-y-visible{overflow-y:visible}.lg\\:overflow-x-scroll{overflow-x:scroll}.lg\\:overflow-y-scroll{overflow-y:scroll}.lg\\:overscroll-auto{overscroll-behavior:auto}.lg\\:overscroll-contain{overscroll-behavior:contain}.lg\\:overscroll-none{overscroll-behavior:none}.lg\\:overscroll-y-auto{overscroll-behavior-y:auto}.lg\\:overscroll-y-contain{overscroll-behavior-y:contain}.lg\\:overscroll-y-none{overscroll-behavior-y:none}.lg\\:overscroll-x-auto{overscroll-behavior-x:auto}.lg\\:overscroll-x-contain{overscroll-behavior-x:contain}.lg\\:overscroll-x-none{overscroll-behavior-x:none}.lg\\:truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lg\\:overflow-ellipsis{text-overflow:ellipsis}.lg\\:overflow-clip{text-overflow:clip}.lg\\:whitespace-normal{white-space:normal}.lg\\:whitespace-nowrap{white-space:nowrap}.lg\\:whitespace-pre{white-space:pre}.lg\\:whitespace-pre-line{white-space:pre-line}.lg\\:whitespace-pre-wrap{white-space:pre-wrap}.lg\\:break-normal{overflow-wrap:normal;word-break:normal}.lg\\:break-words{overflow-wrap:break-word}.lg\\:break-all{word-break:break-all}.lg\\:rounded-none{border-radius:0px}.lg\\:rounded-sm{border-radius:0.125rem}.lg\\:rounded{border-radius:0.25rem}.lg\\:rounded-md{border-radius:0.375rem}.lg\\:rounded-lg{border-radius:0.5rem}.lg\\:rounded-xl{border-radius:0.75rem}.lg\\:rounded-2xl{border-radius:1rem}.lg\\:rounded-3xl{border-radius:1.5rem}.lg\\:rounded-full{border-radius:9999px}.lg\\:rounded-t-none{border-top-left-radius:0px;border-top-right-radius:0px}.lg\\:rounded-t-sm{border-top-left-radius:0.125rem;border-top-right-radius:0.125rem}.lg\\:rounded-t{border-top-left-radius:0.25rem;border-top-right-radius:0.25rem}.lg\\:rounded-t-md{border-top-left-radius:0.375rem;border-top-right-radius:0.375rem}.lg\\:rounded-t-lg{border-top-left-radius:0.5rem;border-top-right-radius:0.5rem}.lg\\:rounded-t-xl{border-top-left-radius:0.75rem;border-top-right-radius:0.75rem}.lg\\:rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.lg\\:rounded-t-3xl{border-top-left-radius:1.5rem;border-top-right-radius:1.5rem}.lg\\:rounded-t-full{border-top-left-radius:9999px;border-top-right-radius:9999px}.lg\\:rounded-r-none{border-top-right-radius:0px;border-bottom-right-radius:0px}.lg\\:rounded-r-sm{border-top-right-radius:0.125rem;border-bottom-right-radius:0.125rem}.lg\\:rounded-r{border-top-right-radius:0.25rem;border-bottom-right-radius:0.25rem}.lg\\:rounded-r-md{border-top-right-radius:0.375rem;border-bottom-right-radius:0.375rem}.lg\\:rounded-r-lg{border-top-right-radius:0.5rem;border-bottom-right-radius:0.5rem}.lg\\:rounded-r-xl{border-top-right-radius:0.75rem;border-bottom-right-radius:0.75rem}.lg\\:rounded-r-2xl{border-top-right-radius:1rem;border-bottom-right-radius:1rem}.lg\\:rounded-r-3xl{border-top-right-radius:1.5rem;border-bottom-right-radius:1.5rem}.lg\\:rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.lg\\:rounded-b-none{border-bottom-right-radius:0px;border-bottom-left-radius:0px}.lg\\:rounded-b-sm{border-bottom-right-radius:0.125rem;border-bottom-left-radius:0.125rem}.lg\\:rounded-b{border-bottom-right-radius:0.25rem;border-bottom-left-radius:0.25rem}.lg\\:rounded-b-md{border-bottom-right-radius:0.375rem;border-bottom-left-radius:0.375rem}.lg\\:rounded-b-lg{border-bottom-right-radius:0.5rem;border-bottom-left-radius:0.5rem}.lg\\:rounded-b-xl{border-bottom-right-radius:0.75rem;border-bottom-left-radius:0.75rem}.lg\\:rounded-b-2xl{border-bottom-right-radius:1rem;border-bottom-left-radius:1rem}.lg\\:rounded-b-3xl{border-bottom-right-radius:1.5rem;border-bottom-left-radius:1.5rem}.lg\\:rounded-b-full{border-bottom-right-radius:9999px;border-bottom-left-radius:9999px}.lg\\:rounded-l-none{border-top-left-radius:0px;border-bottom-left-radius:0px}.lg\\:rounded-l-sm{border-top-left-radius:0.125rem;border-bottom-left-radius:0.125rem}.lg\\:rounded-l{border-top-left-radius:0.25rem;border-bottom-left-radius:0.25rem}.lg\\:rounded-l-md{border-top-left-radius:0.375rem;border-bottom-left-radius:0.375rem}.lg\\:rounded-l-lg{border-top-left-radius:0.5rem;border-bottom-left-radius:0.5rem}.lg\\:rounded-l-xl{border-top-left-radius:0.75rem;border-bottom-left-radius:0.75rem}.lg\\:rounded-l-2xl{border-top-left-radius:1rem;border-bottom-left-radius:1rem}.lg\\:rounded-l-3xl{border-top-left-radius:1.5rem;border-bottom-left-radius:1.5rem}.lg\\:rounded-l-full{border-top-left-radius:9999px;border-bottom-left-radius:9999px}.lg\\:rounded-tl-none{border-top-left-radius:0px}.lg\\:rounded-tl-sm{border-top-left-radius:0.125rem}.lg\\:rounded-tl{border-top-left-radius:0.25rem}.lg\\:rounded-tl-md{border-top-left-radius:0.375rem}.lg\\:rounded-tl-lg{border-top-left-radius:0.5rem}.lg\\:rounded-tl-xl{border-top-left-radius:0.75rem}.lg\\:rounded-tl-2xl{border-top-left-radius:1rem}.lg\\:rounded-tl-3xl{border-top-left-radius:1.5rem}.lg\\:rounded-tl-full{border-top-left-radius:9999px}.lg\\:rounded-tr-none{border-top-right-radius:0px}.lg\\:rounded-tr-sm{border-top-right-radius:0.125rem}.lg\\:rounded-tr{border-top-right-radius:0.25rem}.lg\\:rounded-tr-md{border-top-right-radius:0.375rem}.lg\\:rounded-tr-lg{border-top-right-radius:0.5rem}.lg\\:rounded-tr-xl{border-top-right-radius:0.75rem}.lg\\:rounded-tr-2xl{border-top-right-radius:1rem}.lg\\:rounded-tr-3xl{border-top-right-radius:1.5rem}.lg\\:rounded-tr-full{border-top-right-radius:9999px}.lg\\:rounded-br-none{border-bottom-right-radius:0px}.lg\\:rounded-br-sm{border-bottom-right-radius:0.125rem}.lg\\:rounded-br{border-bottom-right-radius:0.25rem}.lg\\:rounded-br-md{border-bottom-right-radius:0.375rem}.lg\\:rounded-br-lg{border-bottom-right-radius:0.5rem}.lg\\:rounded-br-xl{border-bottom-right-radius:0.75rem}.lg\\:rounded-br-2xl{border-bottom-right-radius:1rem}.lg\\:rounded-br-3xl{border-bottom-right-radius:1.5rem}.lg\\:rounded-br-full{border-bottom-right-radius:9999px}.lg\\:rounded-bl-none{border-bottom-left-radius:0px}.lg\\:rounded-bl-sm{border-bottom-left-radius:0.125rem}.lg\\:rounded-bl{border-bottom-left-radius:0.25rem}.lg\\:rounded-bl-md{border-bottom-left-radius:0.375rem}.lg\\:rounded-bl-lg{border-bottom-left-radius:0.5rem}.lg\\:rounded-bl-xl{border-bottom-left-radius:0.75rem}.lg\\:rounded-bl-2xl{border-bottom-left-radius:1rem}.lg\\:rounded-bl-3xl{border-bottom-left-radius:1.5rem}.lg\\:rounded-bl-full{border-bottom-left-radius:9999px}.lg\\:border-0{border-width:0px}.lg\\:border-2{border-width:2px}.lg\\:border-4{border-width:4px}.lg\\:border-8{border-width:8px}.lg\\:border{border-width:1px}.lg\\:border-t-0{border-top-width:0px}.lg\\:border-t-2{border-top-width:2px}.lg\\:border-t-4{border-top-width:4px}.lg\\:border-t-8{border-top-width:8px}.lg\\:border-t{border-top-width:1px}.lg\\:border-r-0{border-right-width:0px}.lg\\:border-r-2{border-right-width:2px}.lg\\:border-r-4{border-right-width:4px}.lg\\:border-r-8{border-right-width:8px}.lg\\:border-r{border-right-width:1px}.lg\\:border-b-0{border-bottom-width:0px}.lg\\:border-b-2{border-bottom-width:2px}.lg\\:border-b-4{border-bottom-width:4px}.lg\\:border-b-8{border-bottom-width:8px}.lg\\:border-b{border-bottom-width:1px}.lg\\:border-l-0{border-left-width:0px}.lg\\:border-l-2{border-left-width:2px}.lg\\:border-l-4{border-left-width:4px}.lg\\:border-l-8{border-left-width:8px}.lg\\:border-l{border-left-width:1px}.lg\\:border-solid{border-style:solid}.lg\\:border-dashed{border-style:dashed}.lg\\:border-dotted{border-style:dotted}.lg\\:border-double{border-style:double}.lg\\:border-none{border-style:none}.lg\\:border-transparent{border-color:transparent}.lg\\:border-current{border-color:currentColor}.lg\\:border-white{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.lg\\:border-lightgrey{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.lg\\:border-midgrey{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.lg\\:border-darkgrey{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.lg\\:border-grey{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.lg\\:border-black{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.lg\\:border-highlight{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.lg\\:border-highlight_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.lg\\:border-button_outline{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.lg\\:border-error{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.lg\\:border-text-light{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.lg\\:border-text-dimmed{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.lg\\:border-text-dark{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.lg\\:border-body-light{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.lg\\:border-body-dark{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.lg\\:border-button{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.lg\\:border-button_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.group:hover .lg\\:group-hover\\:border-transparent{border-color:transparent}.group:hover .lg\\:group-hover\\:border-current{border-color:currentColor}.group:hover .lg\\:group-hover\\:border-white{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .lg\\:group-hover\\:border-lightgrey{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.group:hover .lg\\:group-hover\\:border-midgrey{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .lg\\:group-hover\\:border-darkgrey{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.group:hover .lg\\:group-hover\\:border-grey{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.group:hover .lg\\:group-hover\\:border-black{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.group:hover .lg\\:group-hover\\:border-highlight{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.group:hover .lg\\:group-hover\\:border-highlight_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.group:hover .lg\\:group-hover\\:border-button_outline{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .lg\\:group-hover\\:border-error{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.group:hover .lg\\:group-hover\\:border-text-light{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.group:hover .lg\\:group-hover\\:border-text-dimmed{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .lg\\:group-hover\\:border-text-dark{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .lg\\:group-hover\\:border-body-light{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .lg\\:group-hover\\:border-body-dark{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.group:hover .lg\\:group-hover\\:border-button{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.group:hover .lg\\:group-hover\\:border-button_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.lg\\:focus-within\\:border-transparent:focus-within{border-color:transparent}.lg\\:focus-within\\:border-current:focus-within{border-color:currentColor}.lg\\:focus-within\\:border-white:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.lg\\:focus-within\\:border-lightgrey:focus-within{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.lg\\:focus-within\\:border-midgrey:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.lg\\:focus-within\\:border-darkgrey:focus-within{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.lg\\:focus-within\\:border-grey:focus-within{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.lg\\:focus-within\\:border-black:focus-within{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.lg\\:focus-within\\:border-highlight:focus-within{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.lg\\:focus-within\\:border-highlight_hover:focus-within{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.lg\\:focus-within\\:border-button_outline:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.lg\\:focus-within\\:border-error:focus-within{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.lg\\:focus-within\\:border-text-light:focus-within{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.lg\\:focus-within\\:border-text-dimmed:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.lg\\:focus-within\\:border-text-dark:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.lg\\:focus-within\\:border-body-light:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.lg\\:focus-within\\:border-body-dark:focus-within{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.lg\\:focus-within\\:border-button:focus-within{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.lg\\:focus-within\\:border-button_hover:focus-within{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.lg\\:hover\\:border-transparent:hover{border-color:transparent}.lg\\:hover\\:border-current:hover{border-color:currentColor}.lg\\:hover\\:border-white:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.lg\\:hover\\:border-lightgrey:hover{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.lg\\:hover\\:border-midgrey:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.lg\\:hover\\:border-darkgrey:hover{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.lg\\:hover\\:border-grey:hover{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.lg\\:hover\\:border-black:hover{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.lg\\:hover\\:border-highlight:hover{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.lg\\:hover\\:border-highlight_hover:hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.lg\\:hover\\:border-button_outline:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.lg\\:hover\\:border-error:hover{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.lg\\:hover\\:border-text-light:hover{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.lg\\:hover\\:border-text-dimmed:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.lg\\:hover\\:border-text-dark:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.lg\\:hover\\:border-body-light:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.lg\\:hover\\:border-body-dark:hover{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.lg\\:hover\\:border-button:hover{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.lg\\:hover\\:border-button_hover:hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.lg\\:focus\\:border-transparent:focus{border-color:transparent}.lg\\:focus\\:border-current:focus{border-color:currentColor}.lg\\:focus\\:border-white:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.lg\\:focus\\:border-lightgrey:focus{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.lg\\:focus\\:border-midgrey:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.lg\\:focus\\:border-darkgrey:focus{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.lg\\:focus\\:border-grey:focus{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.lg\\:focus\\:border-black:focus{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.lg\\:focus\\:border-highlight:focus{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.lg\\:focus\\:border-highlight_hover:focus{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.lg\\:focus\\:border-button_outline:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.lg\\:focus\\:border-error:focus{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.lg\\:focus\\:border-text-light:focus{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.lg\\:focus\\:border-text-dimmed:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.lg\\:focus\\:border-text-dark:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.lg\\:focus\\:border-body-light:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.lg\\:focus\\:border-body-dark:focus{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.lg\\:focus\\:border-button:focus{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.lg\\:focus\\:border-button_hover:focus{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}@media(prefers-color-scheme: dark){.lg\\:dark\\:border-transparent{border-color:transparent}.lg\\:dark\\:border-current{border-color:currentColor}.lg\\:dark\\:border-white{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.lg\\:dark\\:border-lightgrey{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.lg\\:dark\\:border-midgrey{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.lg\\:dark\\:border-darkgrey{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.lg\\:dark\\:border-grey{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.lg\\:dark\\:border-black{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.lg\\:dark\\:border-highlight{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.lg\\:dark\\:border-highlight_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.lg\\:dark\\:border-button_outline{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.lg\\:dark\\:border-error{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.lg\\:dark\\:border-text-light{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.lg\\:dark\\:border-text-dimmed{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.lg\\:dark\\:border-text-dark{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.lg\\:dark\\:border-body-light{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.lg\\:dark\\:border-body-dark{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.lg\\:dark\\:border-button{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.lg\\:dark\\:border-button_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.group:hover .lg\\:dark\\:group-hover\\:border-transparent{border-color:transparent}.group:hover .lg\\:dark\\:group-hover\\:border-current{border-color:currentColor}.group:hover .lg\\:dark\\:group-hover\\:border-white{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .lg\\:dark\\:group-hover\\:border-lightgrey{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.group:hover .lg\\:dark\\:group-hover\\:border-midgrey{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .lg\\:dark\\:group-hover\\:border-darkgrey{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.group:hover .lg\\:dark\\:group-hover\\:border-grey{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.group:hover .lg\\:dark\\:group-hover\\:border-black{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.group:hover .lg\\:dark\\:group-hover\\:border-highlight{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.group:hover .lg\\:dark\\:group-hover\\:border-highlight_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.group:hover .lg\\:dark\\:group-hover\\:border-button_outline{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .lg\\:dark\\:group-hover\\:border-error{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.group:hover .lg\\:dark\\:group-hover\\:border-text-light{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.group:hover .lg\\:dark\\:group-hover\\:border-text-dimmed{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .lg\\:dark\\:group-hover\\:border-text-dark{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .lg\\:dark\\:group-hover\\:border-body-light{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .lg\\:dark\\:group-hover\\:border-body-dark{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.group:hover .lg\\:dark\\:group-hover\\:border-button{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.group:hover .lg\\:dark\\:group-hover\\:border-button_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.lg\\:dark\\:focus-within\\:border-transparent:focus-within{border-color:transparent}.lg\\:dark\\:focus-within\\:border-current:focus-within{border-color:currentColor}.lg\\:dark\\:focus-within\\:border-white:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.lg\\:dark\\:focus-within\\:border-lightgrey:focus-within{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.lg\\:dark\\:focus-within\\:border-midgrey:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.lg\\:dark\\:focus-within\\:border-darkgrey:focus-within{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.lg\\:dark\\:focus-within\\:border-grey:focus-within{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.lg\\:dark\\:focus-within\\:border-black:focus-within{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.lg\\:dark\\:focus-within\\:border-highlight:focus-within{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.lg\\:dark\\:focus-within\\:border-highlight_hover:focus-within{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.lg\\:dark\\:focus-within\\:border-button_outline:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.lg\\:dark\\:focus-within\\:border-error:focus-within{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.lg\\:dark\\:focus-within\\:border-text-light:focus-within{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.lg\\:dark\\:focus-within\\:border-text-dimmed:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.lg\\:dark\\:focus-within\\:border-text-dark:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.lg\\:dark\\:focus-within\\:border-body-light:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.lg\\:dark\\:focus-within\\:border-body-dark:focus-within{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.lg\\:dark\\:focus-within\\:border-button:focus-within{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.lg\\:dark\\:focus-within\\:border-button_hover:focus-within{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.lg\\:dark\\:hover\\:border-transparent:hover{border-color:transparent}.lg\\:dark\\:hover\\:border-current:hover{border-color:currentColor}.lg\\:dark\\:hover\\:border-white:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.lg\\:dark\\:hover\\:border-lightgrey:hover{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.lg\\:dark\\:hover\\:border-midgrey:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.lg\\:dark\\:hover\\:border-darkgrey:hover{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.lg\\:dark\\:hover\\:border-grey:hover{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.lg\\:dark\\:hover\\:border-black:hover{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.lg\\:dark\\:hover\\:border-highlight:hover{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.lg\\:dark\\:hover\\:border-highlight_hover:hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.lg\\:dark\\:hover\\:border-button_outline:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.lg\\:dark\\:hover\\:border-error:hover{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.lg\\:dark\\:hover\\:border-text-light:hover{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.lg\\:dark\\:hover\\:border-text-dimmed:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.lg\\:dark\\:hover\\:border-text-dark:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.lg\\:dark\\:hover\\:border-body-light:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.lg\\:dark\\:hover\\:border-body-dark:hover{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.lg\\:dark\\:hover\\:border-button:hover{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.lg\\:dark\\:hover\\:border-button_hover:hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.lg\\:dark\\:focus\\:border-transparent:focus{border-color:transparent}.lg\\:dark\\:focus\\:border-current:focus{border-color:currentColor}.lg\\:dark\\:focus\\:border-white:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.lg\\:dark\\:focus\\:border-lightgrey:focus{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.lg\\:dark\\:focus\\:border-midgrey:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.lg\\:dark\\:focus\\:border-darkgrey:focus{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.lg\\:dark\\:focus\\:border-grey:focus{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.lg\\:dark\\:focus\\:border-black:focus{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.lg\\:dark\\:focus\\:border-highlight:focus{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.lg\\:dark\\:focus\\:border-highlight_hover:focus{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.lg\\:dark\\:focus\\:border-button_outline:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.lg\\:dark\\:focus\\:border-error:focus{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.lg\\:dark\\:focus\\:border-text-light:focus{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.lg\\:dark\\:focus\\:border-text-dimmed:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.lg\\:dark\\:focus\\:border-text-dark:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.lg\\:dark\\:focus\\:border-body-light:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.lg\\:dark\\:focus\\:border-body-dark:focus{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.lg\\:dark\\:focus\\:border-button:focus{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.lg\\:dark\\:focus\\:border-button_hover:focus{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}}.lg\\:border-opacity-0{--tw-border-opacity:0}.lg\\:border-opacity-5{--tw-border-opacity:0.05}.lg\\:border-opacity-10{--tw-border-opacity:0.1}.lg\\:border-opacity-20{--tw-border-opacity:0.2}.lg\\:border-opacity-25{--tw-border-opacity:0.25}.lg\\:border-opacity-30{--tw-border-opacity:0.3}.lg\\:border-opacity-40{--tw-border-opacity:0.4}.lg\\:border-opacity-50{--tw-border-opacity:0.5}.lg\\:border-opacity-60{--tw-border-opacity:0.6}.lg\\:border-opacity-70{--tw-border-opacity:0.7}.lg\\:border-opacity-75{--tw-border-opacity:0.75}.lg\\:border-opacity-80{--tw-border-opacity:0.8}.lg\\:border-opacity-90{--tw-border-opacity:0.9}.lg\\:border-opacity-95{--tw-border-opacity:0.95}.lg\\:border-opacity-100{--tw-border-opacity:1}.group:hover .lg\\:group-hover\\:border-opacity-0{--tw-border-opacity:0}.group:hover .lg\\:group-hover\\:border-opacity-5{--tw-border-opacity:0.05}.group:hover .lg\\:group-hover\\:border-opacity-10{--tw-border-opacity:0.1}.group:hover .lg\\:group-hover\\:border-opacity-20{--tw-border-opacity:0.2}.group:hover .lg\\:group-hover\\:border-opacity-25{--tw-border-opacity:0.25}.group:hover .lg\\:group-hover\\:border-opacity-30{--tw-border-opacity:0.3}.group:hover .lg\\:group-hover\\:border-opacity-40{--tw-border-opacity:0.4}.group:hover .lg\\:group-hover\\:border-opacity-50{--tw-border-opacity:0.5}.group:hover .lg\\:group-hover\\:border-opacity-60{--tw-border-opacity:0.6}.group:hover .lg\\:group-hover\\:border-opacity-70{--tw-border-opacity:0.7}.group:hover .lg\\:group-hover\\:border-opacity-75{--tw-border-opacity:0.75}.group:hover .lg\\:group-hover\\:border-opacity-80{--tw-border-opacity:0.8}.group:hover .lg\\:group-hover\\:border-opacity-90{--tw-border-opacity:0.9}.group:hover .lg\\:group-hover\\:border-opacity-95{--tw-border-opacity:0.95}.group:hover .lg\\:group-hover\\:border-opacity-100{--tw-border-opacity:1}.lg\\:focus-within\\:border-opacity-0:focus-within{--tw-border-opacity:0}.lg\\:focus-within\\:border-opacity-5:focus-within{--tw-border-opacity:0.05}.lg\\:focus-within\\:border-opacity-10:focus-within{--tw-border-opacity:0.1}.lg\\:focus-within\\:border-opacity-20:focus-within{--tw-border-opacity:0.2}.lg\\:focus-within\\:border-opacity-25:focus-within{--tw-border-opacity:0.25}.lg\\:focus-within\\:border-opacity-30:focus-within{--tw-border-opacity:0.3}.lg\\:focus-within\\:border-opacity-40:focus-within{--tw-border-opacity:0.4}.lg\\:focus-within\\:border-opacity-50:focus-within{--tw-border-opacity:0.5}.lg\\:focus-within\\:border-opacity-60:focus-within{--tw-border-opacity:0.6}.lg\\:focus-within\\:border-opacity-70:focus-within{--tw-border-opacity:0.7}.lg\\:focus-within\\:border-opacity-75:focus-within{--tw-border-opacity:0.75}.lg\\:focus-within\\:border-opacity-80:focus-within{--tw-border-opacity:0.8}.lg\\:focus-within\\:border-opacity-90:focus-within{--tw-border-opacity:0.9}.lg\\:focus-within\\:border-opacity-95:focus-within{--tw-border-opacity:0.95}.lg\\:focus-within\\:border-opacity-100:focus-within{--tw-border-opacity:1}.lg\\:hover\\:border-opacity-0:hover{--tw-border-opacity:0}.lg\\:hover\\:border-opacity-5:hover{--tw-border-opacity:0.05}.lg\\:hover\\:border-opacity-10:hover{--tw-border-opacity:0.1}.lg\\:hover\\:border-opacity-20:hover{--tw-border-opacity:0.2}.lg\\:hover\\:border-opacity-25:hover{--tw-border-opacity:0.25}.lg\\:hover\\:border-opacity-30:hover{--tw-border-opacity:0.3}.lg\\:hover\\:border-opacity-40:hover{--tw-border-opacity:0.4}.lg\\:hover\\:border-opacity-50:hover{--tw-border-opacity:0.5}.lg\\:hover\\:border-opacity-60:hover{--tw-border-opacity:0.6}.lg\\:hover\\:border-opacity-70:hover{--tw-border-opacity:0.7}.lg\\:hover\\:border-opacity-75:hover{--tw-border-opacity:0.75}.lg\\:hover\\:border-opacity-80:hover{--tw-border-opacity:0.8}.lg\\:hover\\:border-opacity-90:hover{--tw-border-opacity:0.9}.lg\\:hover\\:border-opacity-95:hover{--tw-border-opacity:0.95}.lg\\:hover\\:border-opacity-100:hover{--tw-border-opacity:1}.lg\\:focus\\:border-opacity-0:focus{--tw-border-opacity:0}.lg\\:focus\\:border-opacity-5:focus{--tw-border-opacity:0.05}.lg\\:focus\\:border-opacity-10:focus{--tw-border-opacity:0.1}.lg\\:focus\\:border-opacity-20:focus{--tw-border-opacity:0.2}.lg\\:focus\\:border-opacity-25:focus{--tw-border-opacity:0.25}.lg\\:focus\\:border-opacity-30:focus{--tw-border-opacity:0.3}.lg\\:focus\\:border-opacity-40:focus{--tw-border-opacity:0.4}.lg\\:focus\\:border-opacity-50:focus{--tw-border-opacity:0.5}.lg\\:focus\\:border-opacity-60:focus{--tw-border-opacity:0.6}.lg\\:focus\\:border-opacity-70:focus{--tw-border-opacity:0.7}.lg\\:focus\\:border-opacity-75:focus{--tw-border-opacity:0.75}.lg\\:focus\\:border-opacity-80:focus{--tw-border-opacity:0.8}.lg\\:focus\\:border-opacity-90:focus{--tw-border-opacity:0.9}.lg\\:focus\\:border-opacity-95:focus{--tw-border-opacity:0.95}.lg\\:focus\\:border-opacity-100:focus{--tw-border-opacity:1}@media(prefers-color-scheme: dark){.lg\\:dark\\:border-opacity-0{--tw-border-opacity:0}.lg\\:dark\\:border-opacity-5{--tw-border-opacity:0.05}.lg\\:dark\\:border-opacity-10{--tw-border-opacity:0.1}.lg\\:dark\\:border-opacity-20{--tw-border-opacity:0.2}.lg\\:dark\\:border-opacity-25{--tw-border-opacity:0.25}.lg\\:dark\\:border-opacity-30{--tw-border-opacity:0.3}.lg\\:dark\\:border-opacity-40{--tw-border-opacity:0.4}.lg\\:dark\\:border-opacity-50{--tw-border-opacity:0.5}.lg\\:dark\\:border-opacity-60{--tw-border-opacity:0.6}.lg\\:dark\\:border-opacity-70{--tw-border-opacity:0.7}.lg\\:dark\\:border-opacity-75{--tw-border-opacity:0.75}.lg\\:dark\\:border-opacity-80{--tw-border-opacity:0.8}.lg\\:dark\\:border-opacity-90{--tw-border-opacity:0.9}.lg\\:dark\\:border-opacity-95{--tw-border-opacity:0.95}.lg\\:dark\\:border-opacity-100{--tw-border-opacity:1}.group:hover .lg\\:dark\\:group-hover\\:border-opacity-0{--tw-border-opacity:0}.group:hover .lg\\:dark\\:group-hover\\:border-opacity-5{--tw-border-opacity:0.05}.group:hover .lg\\:dark\\:group-hover\\:border-opacity-10{--tw-border-opacity:0.1}.group:hover .lg\\:dark\\:group-hover\\:border-opacity-20{--tw-border-opacity:0.2}.group:hover .lg\\:dark\\:group-hover\\:border-opacity-25{--tw-border-opacity:0.25}.group:hover .lg\\:dark\\:group-hover\\:border-opacity-30{--tw-border-opacity:0.3}.group:hover .lg\\:dark\\:group-hover\\:border-opacity-40{--tw-border-opacity:0.4}.group:hover .lg\\:dark\\:group-hover\\:border-opacity-50{--tw-border-opacity:0.5}.group:hover .lg\\:dark\\:group-hover\\:border-opacity-60{--tw-border-opacity:0.6}.group:hover .lg\\:dark\\:group-hover\\:border-opacity-70{--tw-border-opacity:0.7}.group:hover .lg\\:dark\\:group-hover\\:border-opacity-75{--tw-border-opacity:0.75}.group:hover .lg\\:dark\\:group-hover\\:border-opacity-80{--tw-border-opacity:0.8}.group:hover .lg\\:dark\\:group-hover\\:border-opacity-90{--tw-border-opacity:0.9}.group:hover .lg\\:dark\\:group-hover\\:border-opacity-95{--tw-border-opacity:0.95}.group:hover .lg\\:dark\\:group-hover\\:border-opacity-100{--tw-border-opacity:1}.lg\\:dark\\:focus-within\\:border-opacity-0:focus-within{--tw-border-opacity:0}.lg\\:dark\\:focus-within\\:border-opacity-5:focus-within{--tw-border-opacity:0.05}.lg\\:dark\\:focus-within\\:border-opacity-10:focus-within{--tw-border-opacity:0.1}.lg\\:dark\\:focus-within\\:border-opacity-20:focus-within{--tw-border-opacity:0.2}.lg\\:dark\\:focus-within\\:border-opacity-25:focus-within{--tw-border-opacity:0.25}.lg\\:dark\\:focus-within\\:border-opacity-30:focus-within{--tw-border-opacity:0.3}.lg\\:dark\\:focus-within\\:border-opacity-40:focus-within{--tw-border-opacity:0.4}.lg\\:dark\\:focus-within\\:border-opacity-50:focus-within{--tw-border-opacity:0.5}.lg\\:dark\\:focus-within\\:border-opacity-60:focus-within{--tw-border-opacity:0.6}.lg\\:dark\\:focus-within\\:border-opacity-70:focus-within{--tw-border-opacity:0.7}.lg\\:dark\\:focus-within\\:border-opacity-75:focus-within{--tw-border-opacity:0.75}.lg\\:dark\\:focus-within\\:border-opacity-80:focus-within{--tw-border-opacity:0.8}.lg\\:dark\\:focus-within\\:border-opacity-90:focus-within{--tw-border-opacity:0.9}.lg\\:dark\\:focus-within\\:border-opacity-95:focus-within{--tw-border-opacity:0.95}.lg\\:dark\\:focus-within\\:border-opacity-100:focus-within{--tw-border-opacity:1}.lg\\:dark\\:hover\\:border-opacity-0:hover{--tw-border-opacity:0}.lg\\:dark\\:hover\\:border-opacity-5:hover{--tw-border-opacity:0.05}.lg\\:dark\\:hover\\:border-opacity-10:hover{--tw-border-opacity:0.1}.lg\\:dark\\:hover\\:border-opacity-20:hover{--tw-border-opacity:0.2}.lg\\:dark\\:hover\\:border-opacity-25:hover{--tw-border-opacity:0.25}.lg\\:dark\\:hover\\:border-opacity-30:hover{--tw-border-opacity:0.3}.lg\\:dark\\:hover\\:border-opacity-40:hover{--tw-border-opacity:0.4}.lg\\:dark\\:hover\\:border-opacity-50:hover{--tw-border-opacity:0.5}.lg\\:dark\\:hover\\:border-opacity-60:hover{--tw-border-opacity:0.6}.lg\\:dark\\:hover\\:border-opacity-70:hover{--tw-border-opacity:0.7}.lg\\:dark\\:hover\\:border-opacity-75:hover{--tw-border-opacity:0.75}.lg\\:dark\\:hover\\:border-opacity-80:hover{--tw-border-opacity:0.8}.lg\\:dark\\:hover\\:border-opacity-90:hover{--tw-border-opacity:0.9}.lg\\:dark\\:hover\\:border-opacity-95:hover{--tw-border-opacity:0.95}.lg\\:dark\\:hover\\:border-opacity-100:hover{--tw-border-opacity:1}.lg\\:dark\\:focus\\:border-opacity-0:focus{--tw-border-opacity:0}.lg\\:dark\\:focus\\:border-opacity-5:focus{--tw-border-opacity:0.05}.lg\\:dark\\:focus\\:border-opacity-10:focus{--tw-border-opacity:0.1}.lg\\:dark\\:focus\\:border-opacity-20:focus{--tw-border-opacity:0.2}.lg\\:dark\\:focus\\:border-opacity-25:focus{--tw-border-opacity:0.25}.lg\\:dark\\:focus\\:border-opacity-30:focus{--tw-border-opacity:0.3}.lg\\:dark\\:focus\\:border-opacity-40:focus{--tw-border-opacity:0.4}.lg\\:dark\\:focus\\:border-opacity-50:focus{--tw-border-opacity:0.5}.lg\\:dark\\:focus\\:border-opacity-60:focus{--tw-border-opacity:0.6}.lg\\:dark\\:focus\\:border-opacity-70:focus{--tw-border-opacity:0.7}.lg\\:dark\\:focus\\:border-opacity-75:focus{--tw-border-opacity:0.75}.lg\\:dark\\:focus\\:border-opacity-80:focus{--tw-border-opacity:0.8}.lg\\:dark\\:focus\\:border-opacity-90:focus{--tw-border-opacity:0.9}.lg\\:dark\\:focus\\:border-opacity-95:focus{--tw-border-opacity:0.95}.lg\\:dark\\:focus\\:border-opacity-100:focus{--tw-border-opacity:1}}.lg\\:bg-transparent{background-color:transparent}.lg\\:bg-current{background-color:currentColor}.lg\\:bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.lg\\:bg-lightgrey{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.lg\\:bg-midgrey{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.lg\\:bg-darkgrey{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.lg\\:bg-grey{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.lg\\:bg-black{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.lg\\:bg-highlight{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.lg\\:bg-highlight_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.lg\\:bg-button_outline{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.lg\\:bg-error{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.lg\\:bg-text-light{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.lg\\:bg-text-dimmed{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.lg\\:bg-text-dark{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.lg\\:bg-body-light{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.lg\\:bg-body-dark{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.lg\\:bg-button{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.lg\\:bg-button_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.group:hover .lg\\:group-hover\\:bg-transparent{background-color:transparent}.group:hover .lg\\:group-hover\\:bg-current{background-color:currentColor}.group:hover .lg\\:group-hover\\:bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .lg\\:group-hover\\:bg-lightgrey{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.group:hover .lg\\:group-hover\\:bg-midgrey{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .lg\\:group-hover\\:bg-darkgrey{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.group:hover .lg\\:group-hover\\:bg-grey{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.group:hover .lg\\:group-hover\\:bg-black{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.group:hover .lg\\:group-hover\\:bg-highlight{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.group:hover .lg\\:group-hover\\:bg-highlight_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.group:hover .lg\\:group-hover\\:bg-button_outline{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .lg\\:group-hover\\:bg-error{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.group:hover .lg\\:group-hover\\:bg-text-light{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.group:hover .lg\\:group-hover\\:bg-text-dimmed{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .lg\\:group-hover\\:bg-text-dark{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .lg\\:group-hover\\:bg-body-light{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .lg\\:group-hover\\:bg-body-dark{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.group:hover .lg\\:group-hover\\:bg-button{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.group:hover .lg\\:group-hover\\:bg-button_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.lg\\:focus-within\\:bg-transparent:focus-within{background-color:transparent}.lg\\:focus-within\\:bg-current:focus-within{background-color:currentColor}.lg\\:focus-within\\:bg-white:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.lg\\:focus-within\\:bg-lightgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.lg\\:focus-within\\:bg-midgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.lg\\:focus-within\\:bg-darkgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.lg\\:focus-within\\:bg-grey:focus-within{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.lg\\:focus-within\\:bg-black:focus-within{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.lg\\:focus-within\\:bg-highlight:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.lg\\:focus-within\\:bg-highlight_hover:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.lg\\:focus-within\\:bg-button_outline:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.lg\\:focus-within\\:bg-error:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.lg\\:focus-within\\:bg-text-light:focus-within{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.lg\\:focus-within\\:bg-text-dimmed:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.lg\\:focus-within\\:bg-text-dark:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.lg\\:focus-within\\:bg-body-light:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.lg\\:focus-within\\:bg-body-dark:focus-within{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.lg\\:focus-within\\:bg-button:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.lg\\:focus-within\\:bg-button_hover:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.lg\\:hover\\:bg-transparent:hover{background-color:transparent}.lg\\:hover\\:bg-current:hover{background-color:currentColor}.lg\\:hover\\:bg-white:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.lg\\:hover\\:bg-lightgrey:hover{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.lg\\:hover\\:bg-midgrey:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.lg\\:hover\\:bg-darkgrey:hover{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.lg\\:hover\\:bg-grey:hover{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.lg\\:hover\\:bg-black:hover{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.lg\\:hover\\:bg-highlight:hover{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.lg\\:hover\\:bg-highlight_hover:hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.lg\\:hover\\:bg-button_outline:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.lg\\:hover\\:bg-error:hover{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.lg\\:hover\\:bg-text-light:hover{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.lg\\:hover\\:bg-text-dimmed:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.lg\\:hover\\:bg-text-dark:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.lg\\:hover\\:bg-body-light:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.lg\\:hover\\:bg-body-dark:hover{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.lg\\:hover\\:bg-button:hover{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.lg\\:hover\\:bg-button_hover:hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.lg\\:focus\\:bg-transparent:focus{background-color:transparent}.lg\\:focus\\:bg-current:focus{background-color:currentColor}.lg\\:focus\\:bg-white:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.lg\\:focus\\:bg-lightgrey:focus{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.lg\\:focus\\:bg-midgrey:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.lg\\:focus\\:bg-darkgrey:focus{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.lg\\:focus\\:bg-grey:focus{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.lg\\:focus\\:bg-black:focus{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.lg\\:focus\\:bg-highlight:focus{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.lg\\:focus\\:bg-highlight_hover:focus{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.lg\\:focus\\:bg-button_outline:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.lg\\:focus\\:bg-error:focus{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.lg\\:focus\\:bg-text-light:focus{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.lg\\:focus\\:bg-text-dimmed:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.lg\\:focus\\:bg-text-dark:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.lg\\:focus\\:bg-body-light:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.lg\\:focus\\:bg-body-dark:focus{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.lg\\:focus\\:bg-button:focus{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.lg\\:focus\\:bg-button_hover:focus{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}@media(prefers-color-scheme: dark){.lg\\:dark\\:bg-transparent{background-color:transparent}.lg\\:dark\\:bg-current{background-color:currentColor}.lg\\:dark\\:bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.lg\\:dark\\:bg-lightgrey{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.lg\\:dark\\:bg-midgrey{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.lg\\:dark\\:bg-darkgrey{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.lg\\:dark\\:bg-grey{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.lg\\:dark\\:bg-black{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.lg\\:dark\\:bg-highlight{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.lg\\:dark\\:bg-highlight_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.lg\\:dark\\:bg-button_outline{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.lg\\:dark\\:bg-error{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.lg\\:dark\\:bg-text-light{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.lg\\:dark\\:bg-text-dimmed{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.lg\\:dark\\:bg-text-dark{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.lg\\:dark\\:bg-body-light{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.lg\\:dark\\:bg-body-dark{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.lg\\:dark\\:bg-button{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.lg\\:dark\\:bg-button_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.group:hover .lg\\:dark\\:group-hover\\:bg-transparent{background-color:transparent}.group:hover .lg\\:dark\\:group-hover\\:bg-current{background-color:currentColor}.group:hover .lg\\:dark\\:group-hover\\:bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .lg\\:dark\\:group-hover\\:bg-lightgrey{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.group:hover .lg\\:dark\\:group-hover\\:bg-midgrey{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .lg\\:dark\\:group-hover\\:bg-darkgrey{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.group:hover .lg\\:dark\\:group-hover\\:bg-grey{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.group:hover .lg\\:dark\\:group-hover\\:bg-black{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.group:hover .lg\\:dark\\:group-hover\\:bg-highlight{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.group:hover .lg\\:dark\\:group-hover\\:bg-highlight_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.group:hover .lg\\:dark\\:group-hover\\:bg-button_outline{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .lg\\:dark\\:group-hover\\:bg-error{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.group:hover .lg\\:dark\\:group-hover\\:bg-text-light{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.group:hover .lg\\:dark\\:group-hover\\:bg-text-dimmed{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .lg\\:dark\\:group-hover\\:bg-text-dark{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .lg\\:dark\\:group-hover\\:bg-body-light{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .lg\\:dark\\:group-hover\\:bg-body-dark{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.group:hover .lg\\:dark\\:group-hover\\:bg-button{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.group:hover .lg\\:dark\\:group-hover\\:bg-button_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.lg\\:dark\\:focus-within\\:bg-transparent:focus-within{background-color:transparent}.lg\\:dark\\:focus-within\\:bg-current:focus-within{background-color:currentColor}.lg\\:dark\\:focus-within\\:bg-white:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.lg\\:dark\\:focus-within\\:bg-lightgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.lg\\:dark\\:focus-within\\:bg-midgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.lg\\:dark\\:focus-within\\:bg-darkgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.lg\\:dark\\:focus-within\\:bg-grey:focus-within{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.lg\\:dark\\:focus-within\\:bg-black:focus-within{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.lg\\:dark\\:focus-within\\:bg-highlight:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.lg\\:dark\\:focus-within\\:bg-highlight_hover:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.lg\\:dark\\:focus-within\\:bg-button_outline:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.lg\\:dark\\:focus-within\\:bg-error:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.lg\\:dark\\:focus-within\\:bg-text-light:focus-within{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.lg\\:dark\\:focus-within\\:bg-text-dimmed:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.lg\\:dark\\:focus-within\\:bg-text-dark:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.lg\\:dark\\:focus-within\\:bg-body-light:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.lg\\:dark\\:focus-within\\:bg-body-dark:focus-within{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.lg\\:dark\\:focus-within\\:bg-button:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.lg\\:dark\\:focus-within\\:bg-button_hover:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.lg\\:dark\\:hover\\:bg-transparent:hover{background-color:transparent}.lg\\:dark\\:hover\\:bg-current:hover{background-color:currentColor}.lg\\:dark\\:hover\\:bg-white:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.lg\\:dark\\:hover\\:bg-lightgrey:hover{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.lg\\:dark\\:hover\\:bg-midgrey:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.lg\\:dark\\:hover\\:bg-darkgrey:hover{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.lg\\:dark\\:hover\\:bg-grey:hover{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.lg\\:dark\\:hover\\:bg-black:hover{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.lg\\:dark\\:hover\\:bg-highlight:hover{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.lg\\:dark\\:hover\\:bg-highlight_hover:hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.lg\\:dark\\:hover\\:bg-button_outline:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.lg\\:dark\\:hover\\:bg-error:hover{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.lg\\:dark\\:hover\\:bg-text-light:hover{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.lg\\:dark\\:hover\\:bg-text-dimmed:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.lg\\:dark\\:hover\\:bg-text-dark:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.lg\\:dark\\:hover\\:bg-body-light:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.lg\\:dark\\:hover\\:bg-body-dark:hover{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.lg\\:dark\\:hover\\:bg-button:hover{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.lg\\:dark\\:hover\\:bg-button_hover:hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.lg\\:dark\\:focus\\:bg-transparent:focus{background-color:transparent}.lg\\:dark\\:focus\\:bg-current:focus{background-color:currentColor}.lg\\:dark\\:focus\\:bg-white:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.lg\\:dark\\:focus\\:bg-lightgrey:focus{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.lg\\:dark\\:focus\\:bg-midgrey:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.lg\\:dark\\:focus\\:bg-darkgrey:focus{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.lg\\:dark\\:focus\\:bg-grey:focus{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.lg\\:dark\\:focus\\:bg-black:focus{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.lg\\:dark\\:focus\\:bg-highlight:focus{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.lg\\:dark\\:focus\\:bg-highlight_hover:focus{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.lg\\:dark\\:focus\\:bg-button_outline:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.lg\\:dark\\:focus\\:bg-error:focus{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.lg\\:dark\\:focus\\:bg-text-light:focus{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.lg\\:dark\\:focus\\:bg-text-dimmed:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.lg\\:dark\\:focus\\:bg-text-dark:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.lg\\:dark\\:focus\\:bg-body-light:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.lg\\:dark\\:focus\\:bg-body-dark:focus{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.lg\\:dark\\:focus\\:bg-button:focus{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.lg\\:dark\\:focus\\:bg-button_hover:focus{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}}.lg\\:bg-opacity-0{--tw-bg-opacity:0}.lg\\:bg-opacity-5{--tw-bg-opacity:0.05}.lg\\:bg-opacity-10{--tw-bg-opacity:0.1}.lg\\:bg-opacity-20{--tw-bg-opacity:0.2}.lg\\:bg-opacity-25{--tw-bg-opacity:0.25}.lg\\:bg-opacity-30{--tw-bg-opacity:0.3}.lg\\:bg-opacity-40{--tw-bg-opacity:0.4}.lg\\:bg-opacity-50{--tw-bg-opacity:0.5}.lg\\:bg-opacity-60{--tw-bg-opacity:0.6}.lg\\:bg-opacity-70{--tw-bg-opacity:0.7}.lg\\:bg-opacity-75{--tw-bg-opacity:0.75}.lg\\:bg-opacity-80{--tw-bg-opacity:0.8}.lg\\:bg-opacity-90{--tw-bg-opacity:0.9}.lg\\:bg-opacity-95{--tw-bg-opacity:0.95}.lg\\:bg-opacity-100{--tw-bg-opacity:1}.group:hover .lg\\:group-hover\\:bg-opacity-0{--tw-bg-opacity:0}.group:hover .lg\\:group-hover\\:bg-opacity-5{--tw-bg-opacity:0.05}.group:hover .lg\\:group-hover\\:bg-opacity-10{--tw-bg-opacity:0.1}.group:hover .lg\\:group-hover\\:bg-opacity-20{--tw-bg-opacity:0.2}.group:hover .lg\\:group-hover\\:bg-opacity-25{--tw-bg-opacity:0.25}.group:hover .lg\\:group-hover\\:bg-opacity-30{--tw-bg-opacity:0.3}.group:hover .lg\\:group-hover\\:bg-opacity-40{--tw-bg-opacity:0.4}.group:hover .lg\\:group-hover\\:bg-opacity-50{--tw-bg-opacity:0.5}.group:hover .lg\\:group-hover\\:bg-opacity-60{--tw-bg-opacity:0.6}.group:hover .lg\\:group-hover\\:bg-opacity-70{--tw-bg-opacity:0.7}.group:hover .lg\\:group-hover\\:bg-opacity-75{--tw-bg-opacity:0.75}.group:hover .lg\\:group-hover\\:bg-opacity-80{--tw-bg-opacity:0.8}.group:hover .lg\\:group-hover\\:bg-opacity-90{--tw-bg-opacity:0.9}.group:hover .lg\\:group-hover\\:bg-opacity-95{--tw-bg-opacity:0.95}.group:hover .lg\\:group-hover\\:bg-opacity-100{--tw-bg-opacity:1}.lg\\:focus-within\\:bg-opacity-0:focus-within{--tw-bg-opacity:0}.lg\\:focus-within\\:bg-opacity-5:focus-within{--tw-bg-opacity:0.05}.lg\\:focus-within\\:bg-opacity-10:focus-within{--tw-bg-opacity:0.1}.lg\\:focus-within\\:bg-opacity-20:focus-within{--tw-bg-opacity:0.2}.lg\\:focus-within\\:bg-opacity-25:focus-within{--tw-bg-opacity:0.25}.lg\\:focus-within\\:bg-opacity-30:focus-within{--tw-bg-opacity:0.3}.lg\\:focus-within\\:bg-opacity-40:focus-within{--tw-bg-opacity:0.4}.lg\\:focus-within\\:bg-opacity-50:focus-within{--tw-bg-opacity:0.5}.lg\\:focus-within\\:bg-opacity-60:focus-within{--tw-bg-opacity:0.6}.lg\\:focus-within\\:bg-opacity-70:focus-within{--tw-bg-opacity:0.7}.lg\\:focus-within\\:bg-opacity-75:focus-within{--tw-bg-opacity:0.75}.lg\\:focus-within\\:bg-opacity-80:focus-within{--tw-bg-opacity:0.8}.lg\\:focus-within\\:bg-opacity-90:focus-within{--tw-bg-opacity:0.9}.lg\\:focus-within\\:bg-opacity-95:focus-within{--tw-bg-opacity:0.95}.lg\\:focus-within\\:bg-opacity-100:focus-within{--tw-bg-opacity:1}.lg\\:hover\\:bg-opacity-0:hover{--tw-bg-opacity:0}.lg\\:hover\\:bg-opacity-5:hover{--tw-bg-opacity:0.05}.lg\\:hover\\:bg-opacity-10:hover{--tw-bg-opacity:0.1}.lg\\:hover\\:bg-opacity-20:hover{--tw-bg-opacity:0.2}.lg\\:hover\\:bg-opacity-25:hover{--tw-bg-opacity:0.25}.lg\\:hover\\:bg-opacity-30:hover{--tw-bg-opacity:0.3}.lg\\:hover\\:bg-opacity-40:hover{--tw-bg-opacity:0.4}.lg\\:hover\\:bg-opacity-50:hover{--tw-bg-opacity:0.5}.lg\\:hover\\:bg-opacity-60:hover{--tw-bg-opacity:0.6}.lg\\:hover\\:bg-opacity-70:hover{--tw-bg-opacity:0.7}.lg\\:hover\\:bg-opacity-75:hover{--tw-bg-opacity:0.75}.lg\\:hover\\:bg-opacity-80:hover{--tw-bg-opacity:0.8}.lg\\:hover\\:bg-opacity-90:hover{--tw-bg-opacity:0.9}.lg\\:hover\\:bg-opacity-95:hover{--tw-bg-opacity:0.95}.lg\\:hover\\:bg-opacity-100:hover{--tw-bg-opacity:1}.lg\\:focus\\:bg-opacity-0:focus{--tw-bg-opacity:0}.lg\\:focus\\:bg-opacity-5:focus{--tw-bg-opacity:0.05}.lg\\:focus\\:bg-opacity-10:focus{--tw-bg-opacity:0.1}.lg\\:focus\\:bg-opacity-20:focus{--tw-bg-opacity:0.2}.lg\\:focus\\:bg-opacity-25:focus{--tw-bg-opacity:0.25}.lg\\:focus\\:bg-opacity-30:focus{--tw-bg-opacity:0.3}.lg\\:focus\\:bg-opacity-40:focus{--tw-bg-opacity:0.4}.lg\\:focus\\:bg-opacity-50:focus{--tw-bg-opacity:0.5}.lg\\:focus\\:bg-opacity-60:focus{--tw-bg-opacity:0.6}.lg\\:focus\\:bg-opacity-70:focus{--tw-bg-opacity:0.7}.lg\\:focus\\:bg-opacity-75:focus{--tw-bg-opacity:0.75}.lg\\:focus\\:bg-opacity-80:focus{--tw-bg-opacity:0.8}.lg\\:focus\\:bg-opacity-90:focus{--tw-bg-opacity:0.9}.lg\\:focus\\:bg-opacity-95:focus{--tw-bg-opacity:0.95}.lg\\:focus\\:bg-opacity-100:focus{--tw-bg-opacity:1}@media(prefers-color-scheme: dark){.lg\\:dark\\:bg-opacity-0{--tw-bg-opacity:0}.lg\\:dark\\:bg-opacity-5{--tw-bg-opacity:0.05}.lg\\:dark\\:bg-opacity-10{--tw-bg-opacity:0.1}.lg\\:dark\\:bg-opacity-20{--tw-bg-opacity:0.2}.lg\\:dark\\:bg-opacity-25{--tw-bg-opacity:0.25}.lg\\:dark\\:bg-opacity-30{--tw-bg-opacity:0.3}.lg\\:dark\\:bg-opacity-40{--tw-bg-opacity:0.4}.lg\\:dark\\:bg-opacity-50{--tw-bg-opacity:0.5}.lg\\:dark\\:bg-opacity-60{--tw-bg-opacity:0.6}.lg\\:dark\\:bg-opacity-70{--tw-bg-opacity:0.7}.lg\\:dark\\:bg-opacity-75{--tw-bg-opacity:0.75}.lg\\:dark\\:bg-opacity-80{--tw-bg-opacity:0.8}.lg\\:dark\\:bg-opacity-90{--tw-bg-opacity:0.9}.lg\\:dark\\:bg-opacity-95{--tw-bg-opacity:0.95}.lg\\:dark\\:bg-opacity-100{--tw-bg-opacity:1}.group:hover .lg\\:dark\\:group-hover\\:bg-opacity-0{--tw-bg-opacity:0}.group:hover .lg\\:dark\\:group-hover\\:bg-opacity-5{--tw-bg-opacity:0.05}.group:hover .lg\\:dark\\:group-hover\\:bg-opacity-10{--tw-bg-opacity:0.1}.group:hover .lg\\:dark\\:group-hover\\:bg-opacity-20{--tw-bg-opacity:0.2}.group:hover .lg\\:dark\\:group-hover\\:bg-opacity-25{--tw-bg-opacity:0.25}.group:hover .lg\\:dark\\:group-hover\\:bg-opacity-30{--tw-bg-opacity:0.3}.group:hover .lg\\:dark\\:group-hover\\:bg-opacity-40{--tw-bg-opacity:0.4}.group:hover .lg\\:dark\\:group-hover\\:bg-opacity-50{--tw-bg-opacity:0.5}.group:hover .lg\\:dark\\:group-hover\\:bg-opacity-60{--tw-bg-opacity:0.6}.group:hover .lg\\:dark\\:group-hover\\:bg-opacity-70{--tw-bg-opacity:0.7}.group:hover .lg\\:dark\\:group-hover\\:bg-opacity-75{--tw-bg-opacity:0.75}.group:hover .lg\\:dark\\:group-hover\\:bg-opacity-80{--tw-bg-opacity:0.8}.group:hover .lg\\:dark\\:group-hover\\:bg-opacity-90{--tw-bg-opacity:0.9}.group:hover .lg\\:dark\\:group-hover\\:bg-opacity-95{--tw-bg-opacity:0.95}.group:hover .lg\\:dark\\:group-hover\\:bg-opacity-100{--tw-bg-opacity:1}.lg\\:dark\\:focus-within\\:bg-opacity-0:focus-within{--tw-bg-opacity:0}.lg\\:dark\\:focus-within\\:bg-opacity-5:focus-within{--tw-bg-opacity:0.05}.lg\\:dark\\:focus-within\\:bg-opacity-10:focus-within{--tw-bg-opacity:0.1}.lg\\:dark\\:focus-within\\:bg-opacity-20:focus-within{--tw-bg-opacity:0.2}.lg\\:dark\\:focus-within\\:bg-opacity-25:focus-within{--tw-bg-opacity:0.25}.lg\\:dark\\:focus-within\\:bg-opacity-30:focus-within{--tw-bg-opacity:0.3}.lg\\:dark\\:focus-within\\:bg-opacity-40:focus-within{--tw-bg-opacity:0.4}.lg\\:dark\\:focus-within\\:bg-opacity-50:focus-within{--tw-bg-opacity:0.5}.lg\\:dark\\:focus-within\\:bg-opacity-60:focus-within{--tw-bg-opacity:0.6}.lg\\:dark\\:focus-within\\:bg-opacity-70:focus-within{--tw-bg-opacity:0.7}.lg\\:dark\\:focus-within\\:bg-opacity-75:focus-within{--tw-bg-opacity:0.75}.lg\\:dark\\:focus-within\\:bg-opacity-80:focus-within{--tw-bg-opacity:0.8}.lg\\:dark\\:focus-within\\:bg-opacity-90:focus-within{--tw-bg-opacity:0.9}.lg\\:dark\\:focus-within\\:bg-opacity-95:focus-within{--tw-bg-opacity:0.95}.lg\\:dark\\:focus-within\\:bg-opacity-100:focus-within{--tw-bg-opacity:1}.lg\\:dark\\:hover\\:bg-opacity-0:hover{--tw-bg-opacity:0}.lg\\:dark\\:hover\\:bg-opacity-5:hover{--tw-bg-opacity:0.05}.lg\\:dark\\:hover\\:bg-opacity-10:hover{--tw-bg-opacity:0.1}.lg\\:dark\\:hover\\:bg-opacity-20:hover{--tw-bg-opacity:0.2}.lg\\:dark\\:hover\\:bg-opacity-25:hover{--tw-bg-opacity:0.25}.lg\\:dark\\:hover\\:bg-opacity-30:hover{--tw-bg-opacity:0.3}.lg\\:dark\\:hover\\:bg-opacity-40:hover{--tw-bg-opacity:0.4}.lg\\:dark\\:hover\\:bg-opacity-50:hover{--tw-bg-opacity:0.5}.lg\\:dark\\:hover\\:bg-opacity-60:hover{--tw-bg-opacity:0.6}.lg\\:dark\\:hover\\:bg-opacity-70:hover{--tw-bg-opacity:0.7}.lg\\:dark\\:hover\\:bg-opacity-75:hover{--tw-bg-opacity:0.75}.lg\\:dark\\:hover\\:bg-opacity-80:hover{--tw-bg-opacity:0.8}.lg\\:dark\\:hover\\:bg-opacity-90:hover{--tw-bg-opacity:0.9}.lg\\:dark\\:hover\\:bg-opacity-95:hover{--tw-bg-opacity:0.95}.lg\\:dark\\:hover\\:bg-opacity-100:hover{--tw-bg-opacity:1}.lg\\:dark\\:focus\\:bg-opacity-0:focus{--tw-bg-opacity:0}.lg\\:dark\\:focus\\:bg-opacity-5:focus{--tw-bg-opacity:0.05}.lg\\:dark\\:focus\\:bg-opacity-10:focus{--tw-bg-opacity:0.1}.lg\\:dark\\:focus\\:bg-opacity-20:focus{--tw-bg-opacity:0.2}.lg\\:dark\\:focus\\:bg-opacity-25:focus{--tw-bg-opacity:0.25}.lg\\:dark\\:focus\\:bg-opacity-30:focus{--tw-bg-opacity:0.3}.lg\\:dark\\:focus\\:bg-opacity-40:focus{--tw-bg-opacity:0.4}.lg\\:dark\\:focus\\:bg-opacity-50:focus{--tw-bg-opacity:0.5}.lg\\:dark\\:focus\\:bg-opacity-60:focus{--tw-bg-opacity:0.6}.lg\\:dark\\:focus\\:bg-opacity-70:focus{--tw-bg-opacity:0.7}.lg\\:dark\\:focus\\:bg-opacity-75:focus{--tw-bg-opacity:0.75}.lg\\:dark\\:focus\\:bg-opacity-80:focus{--tw-bg-opacity:0.8}.lg\\:dark\\:focus\\:bg-opacity-90:focus{--tw-bg-opacity:0.9}.lg\\:dark\\:focus\\:bg-opacity-95:focus{--tw-bg-opacity:0.95}.lg\\:dark\\:focus\\:bg-opacity-100:focus{--tw-bg-opacity:1}}.lg\\:bg-none{background-image:none}.lg\\:bg-gradient-to-t{background-image:linear-gradient(to top, var(--tw-gradient-stops))}.lg\\:bg-gradient-to-tr{background-image:linear-gradient(to top right, var(--tw-gradient-stops))}.lg\\:bg-gradient-to-r{background-image:linear-gradient(to right, var(--tw-gradient-stops))}.lg\\:bg-gradient-to-br{background-image:linear-gradient(to bottom right, var(--tw-gradient-stops))}.lg\\:bg-gradient-to-b{background-image:linear-gradient(to bottom, var(--tw-gradient-stops))}.lg\\:bg-gradient-to-bl{background-image:linear-gradient(to bottom left, var(--tw-gradient-stops))}.lg\\:bg-gradient-to-l{background-image:linear-gradient(to left, var(--tw-gradient-stops))}.lg\\:bg-gradient-to-tl{background-image:linear-gradient(to top left, var(--tw-gradient-stops))}.lg\\:from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.lg\\:from-current{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:from-white{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:from-lightgrey{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.lg\\:from-midgrey{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:from-darkgrey{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.lg\\:from-grey{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.lg\\:from-black{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.lg\\:from-highlight{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.lg\\:from-highlight_hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.lg\\:from-button_outline{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:from-error{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.lg\\:from-text-light{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.lg\\:from-text-dimmed{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:from-text-dark{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:from-body-light{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:from-body-dark{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.lg\\:from-button{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.lg\\:from-button_hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.lg\\:hover\\:from-transparent:hover{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.lg\\:hover\\:from-current:hover{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:hover\\:from-white:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:hover\\:from-lightgrey:hover{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.lg\\:hover\\:from-midgrey:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:hover\\:from-darkgrey:hover{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.lg\\:hover\\:from-grey:hover{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.lg\\:hover\\:from-black:hover{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.lg\\:hover\\:from-highlight:hover{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.lg\\:hover\\:from-highlight_hover:hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.lg\\:hover\\:from-button_outline:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:hover\\:from-error:hover{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.lg\\:hover\\:from-text-light:hover{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.lg\\:hover\\:from-text-dimmed:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:hover\\:from-text-dark:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:hover\\:from-body-light:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:hover\\:from-body-dark:hover{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.lg\\:hover\\:from-button:hover{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.lg\\:hover\\:from-button_hover:hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.lg\\:focus\\:from-transparent:focus{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.lg\\:focus\\:from-current:focus{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:focus\\:from-white:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:focus\\:from-lightgrey:focus{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.lg\\:focus\\:from-midgrey:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:focus\\:from-darkgrey:focus{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.lg\\:focus\\:from-grey:focus{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.lg\\:focus\\:from-black:focus{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.lg\\:focus\\:from-highlight:focus{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.lg\\:focus\\:from-highlight_hover:focus{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.lg\\:focus\\:from-button_outline:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:focus\\:from-error:focus{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.lg\\:focus\\:from-text-light:focus{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.lg\\:focus\\:from-text-dimmed:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:focus\\:from-text-dark:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:focus\\:from-body-light:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:focus\\:from-body-dark:focus{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.lg\\:focus\\:from-button:focus{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.lg\\:focus\\:from-button_hover:focus{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}@media(prefers-color-scheme: dark){.lg\\:dark\\:from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.lg\\:dark\\:from-current{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:dark\\:from-white{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:dark\\:from-lightgrey{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.lg\\:dark\\:from-midgrey{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:dark\\:from-darkgrey{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.lg\\:dark\\:from-grey{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.lg\\:dark\\:from-black{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.lg\\:dark\\:from-highlight{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.lg\\:dark\\:from-highlight_hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.lg\\:dark\\:from-button_outline{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:dark\\:from-error{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.lg\\:dark\\:from-text-light{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.lg\\:dark\\:from-text-dimmed{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:dark\\:from-text-dark{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:dark\\:from-body-light{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:dark\\:from-body-dark{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.lg\\:dark\\:from-button{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.lg\\:dark\\:from-button_hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.lg\\:dark\\:hover\\:from-transparent:hover{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.lg\\:dark\\:hover\\:from-current:hover{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:dark\\:hover\\:from-white:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:dark\\:hover\\:from-lightgrey:hover{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.lg\\:dark\\:hover\\:from-midgrey:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:dark\\:hover\\:from-darkgrey:hover{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.lg\\:dark\\:hover\\:from-grey:hover{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.lg\\:dark\\:hover\\:from-black:hover{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.lg\\:dark\\:hover\\:from-highlight:hover{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.lg\\:dark\\:hover\\:from-highlight_hover:hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.lg\\:dark\\:hover\\:from-button_outline:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:dark\\:hover\\:from-error:hover{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.lg\\:dark\\:hover\\:from-text-light:hover{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.lg\\:dark\\:hover\\:from-text-dimmed:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:dark\\:hover\\:from-text-dark:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:dark\\:hover\\:from-body-light:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:dark\\:hover\\:from-body-dark:hover{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.lg\\:dark\\:hover\\:from-button:hover{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.lg\\:dark\\:hover\\:from-button_hover:hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.lg\\:dark\\:focus\\:from-transparent:focus{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.lg\\:dark\\:focus\\:from-current:focus{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:dark\\:focus\\:from-white:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:dark\\:focus\\:from-lightgrey:focus{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.lg\\:dark\\:focus\\:from-midgrey:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:dark\\:focus\\:from-darkgrey:focus{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.lg\\:dark\\:focus\\:from-grey:focus{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.lg\\:dark\\:focus\\:from-black:focus{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.lg\\:dark\\:focus\\:from-highlight:focus{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.lg\\:dark\\:focus\\:from-highlight_hover:focus{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.lg\\:dark\\:focus\\:from-button_outline:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:dark\\:focus\\:from-error:focus{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.lg\\:dark\\:focus\\:from-text-light:focus{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.lg\\:dark\\:focus\\:from-text-dimmed:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:dark\\:focus\\:from-text-dark:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:dark\\:focus\\:from-body-light:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:dark\\:focus\\:from-body-dark:focus{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.lg\\:dark\\:focus\\:from-button:focus{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.lg\\:dark\\:focus\\:from-button_hover:focus{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}}.lg\\:via-transparent{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.lg\\:via-current{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:via-white{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:via-lightgrey{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.lg\\:via-midgrey{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:via-darkgrey{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.lg\\:via-grey{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.lg\\:via-black{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.lg\\:via-highlight{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.lg\\:via-highlight_hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.lg\\:via-button_outline{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:via-error{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.lg\\:via-text-light{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.lg\\:via-text-dimmed{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:via-text-dark{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:via-body-light{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:via-body-dark{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.lg\\:via-button{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.lg\\:via-button_hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.lg\\:hover\\:via-transparent:hover{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.lg\\:hover\\:via-current:hover{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:hover\\:via-white:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:hover\\:via-lightgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.lg\\:hover\\:via-midgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:hover\\:via-darkgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.lg\\:hover\\:via-grey:hover{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.lg\\:hover\\:via-black:hover{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.lg\\:hover\\:via-highlight:hover{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.lg\\:hover\\:via-highlight_hover:hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.lg\\:hover\\:via-button_outline:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:hover\\:via-error:hover{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.lg\\:hover\\:via-text-light:hover{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.lg\\:hover\\:via-text-dimmed:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:hover\\:via-text-dark:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:hover\\:via-body-light:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:hover\\:via-body-dark:hover{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.lg\\:hover\\:via-button:hover{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.lg\\:hover\\:via-button_hover:hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.lg\\:focus\\:via-transparent:focus{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.lg\\:focus\\:via-current:focus{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:focus\\:via-white:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:focus\\:via-lightgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.lg\\:focus\\:via-midgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:focus\\:via-darkgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.lg\\:focus\\:via-grey:focus{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.lg\\:focus\\:via-black:focus{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.lg\\:focus\\:via-highlight:focus{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.lg\\:focus\\:via-highlight_hover:focus{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.lg\\:focus\\:via-button_outline:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:focus\\:via-error:focus{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.lg\\:focus\\:via-text-light:focus{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.lg\\:focus\\:via-text-dimmed:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:focus\\:via-text-dark:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:focus\\:via-body-light:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:focus\\:via-body-dark:focus{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.lg\\:focus\\:via-button:focus{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.lg\\:focus\\:via-button_hover:focus{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}@media(prefers-color-scheme: dark){.lg\\:dark\\:via-transparent{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.lg\\:dark\\:via-current{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:dark\\:via-white{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:dark\\:via-lightgrey{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.lg\\:dark\\:via-midgrey{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:dark\\:via-darkgrey{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.lg\\:dark\\:via-grey{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.lg\\:dark\\:via-black{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.lg\\:dark\\:via-highlight{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.lg\\:dark\\:via-highlight_hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.lg\\:dark\\:via-button_outline{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:dark\\:via-error{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.lg\\:dark\\:via-text-light{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.lg\\:dark\\:via-text-dimmed{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:dark\\:via-text-dark{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:dark\\:via-body-light{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:dark\\:via-body-dark{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.lg\\:dark\\:via-button{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.lg\\:dark\\:via-button_hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.lg\\:dark\\:hover\\:via-transparent:hover{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.lg\\:dark\\:hover\\:via-current:hover{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:dark\\:hover\\:via-white:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:dark\\:hover\\:via-lightgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.lg\\:dark\\:hover\\:via-midgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:dark\\:hover\\:via-darkgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.lg\\:dark\\:hover\\:via-grey:hover{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.lg\\:dark\\:hover\\:via-black:hover{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.lg\\:dark\\:hover\\:via-highlight:hover{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.lg\\:dark\\:hover\\:via-highlight_hover:hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.lg\\:dark\\:hover\\:via-button_outline:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:dark\\:hover\\:via-error:hover{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.lg\\:dark\\:hover\\:via-text-light:hover{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.lg\\:dark\\:hover\\:via-text-dimmed:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:dark\\:hover\\:via-text-dark:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:dark\\:hover\\:via-body-light:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:dark\\:hover\\:via-body-dark:hover{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.lg\\:dark\\:hover\\:via-button:hover{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.lg\\:dark\\:hover\\:via-button_hover:hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.lg\\:dark\\:focus\\:via-transparent:focus{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.lg\\:dark\\:focus\\:via-current:focus{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:dark\\:focus\\:via-white:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:dark\\:focus\\:via-lightgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.lg\\:dark\\:focus\\:via-midgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:dark\\:focus\\:via-darkgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.lg\\:dark\\:focus\\:via-grey:focus{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.lg\\:dark\\:focus\\:via-black:focus{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.lg\\:dark\\:focus\\:via-highlight:focus{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.lg\\:dark\\:focus\\:via-highlight_hover:focus{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.lg\\:dark\\:focus\\:via-button_outline:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:dark\\:focus\\:via-error:focus{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.lg\\:dark\\:focus\\:via-text-light:focus{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.lg\\:dark\\:focus\\:via-text-dimmed:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:dark\\:focus\\:via-text-dark:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:dark\\:focus\\:via-body-light:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:dark\\:focus\\:via-body-dark:focus{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.lg\\:dark\\:focus\\:via-button:focus{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.lg\\:dark\\:focus\\:via-button_hover:focus{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}}.lg\\:to-transparent{--tw-gradient-to:transparent}.lg\\:to-current{--tw-gradient-to:currentColor}.lg\\:to-white{--tw-gradient-to:#fff}.lg\\:to-lightgrey{--tw-gradient-to:#F7F7F7}.lg\\:to-midgrey{--tw-gradient-to:#cfcfcf}.lg\\:to-darkgrey{--tw-gradient-to:#7f7f7f}.lg\\:to-grey{--tw-gradient-to:#1e1e1e}.lg\\:to-black{--tw-gradient-to:#0f0f0f}.lg\\:to-highlight{--tw-gradient-to:#0071e3}.lg\\:to-highlight_hover{--tw-gradient-to:#0077ed}.lg\\:to-button_outline{--tw-gradient-to:#cfcfcf}.lg\\:to-error{--tw-gradient-to:#ff453a}.lg\\:to-text-light{--tw-gradient-to:#0f0f0f}.lg\\:to-text-dimmed{--tw-gradient-to:#cfcfcf}.lg\\:to-text-dark{--tw-gradient-to:#fff}.lg\\:to-body-light{--tw-gradient-to:#fff}.lg\\:to-body-dark{--tw-gradient-to:#1e1e1e}.lg\\:to-button{--tw-gradient-to:#0071e3}.lg\\:to-button_hover{--tw-gradient-to:#0077ed}.lg\\:hover\\:to-transparent:hover{--tw-gradient-to:transparent}.lg\\:hover\\:to-current:hover{--tw-gradient-to:currentColor}.lg\\:hover\\:to-white:hover{--tw-gradient-to:#fff}.lg\\:hover\\:to-lightgrey:hover{--tw-gradient-to:#F7F7F7}.lg\\:hover\\:to-midgrey:hover{--tw-gradient-to:#cfcfcf}.lg\\:hover\\:to-darkgrey:hover{--tw-gradient-to:#7f7f7f}.lg\\:hover\\:to-grey:hover{--tw-gradient-to:#1e1e1e}.lg\\:hover\\:to-black:hover{--tw-gradient-to:#0f0f0f}.lg\\:hover\\:to-highlight:hover{--tw-gradient-to:#0071e3}.lg\\:hover\\:to-highlight_hover:hover{--tw-gradient-to:#0077ed}.lg\\:hover\\:to-button_outline:hover{--tw-gradient-to:#cfcfcf}.lg\\:hover\\:to-error:hover{--tw-gradient-to:#ff453a}.lg\\:hover\\:to-text-light:hover{--tw-gradient-to:#0f0f0f}.lg\\:hover\\:to-text-dimmed:hover{--tw-gradient-to:#cfcfcf}.lg\\:hover\\:to-text-dark:hover{--tw-gradient-to:#fff}.lg\\:hover\\:to-body-light:hover{--tw-gradient-to:#fff}.lg\\:hover\\:to-body-dark:hover{--tw-gradient-to:#1e1e1e}.lg\\:hover\\:to-button:hover{--tw-gradient-to:#0071e3}.lg\\:hover\\:to-button_hover:hover{--tw-gradient-to:#0077ed}.lg\\:focus\\:to-transparent:focus{--tw-gradient-to:transparent}.lg\\:focus\\:to-current:focus{--tw-gradient-to:currentColor}.lg\\:focus\\:to-white:focus{--tw-gradient-to:#fff}.lg\\:focus\\:to-lightgrey:focus{--tw-gradient-to:#F7F7F7}.lg\\:focus\\:to-midgrey:focus{--tw-gradient-to:#cfcfcf}.lg\\:focus\\:to-darkgrey:focus{--tw-gradient-to:#7f7f7f}.lg\\:focus\\:to-grey:focus{--tw-gradient-to:#1e1e1e}.lg\\:focus\\:to-black:focus{--tw-gradient-to:#0f0f0f}.lg\\:focus\\:to-highlight:focus{--tw-gradient-to:#0071e3}.lg\\:focus\\:to-highlight_hover:focus{--tw-gradient-to:#0077ed}.lg\\:focus\\:to-button_outline:focus{--tw-gradient-to:#cfcfcf}.lg\\:focus\\:to-error:focus{--tw-gradient-to:#ff453a}.lg\\:focus\\:to-text-light:focus{--tw-gradient-to:#0f0f0f}.lg\\:focus\\:to-text-dimmed:focus{--tw-gradient-to:#cfcfcf}.lg\\:focus\\:to-text-dark:focus{--tw-gradient-to:#fff}.lg\\:focus\\:to-body-light:focus{--tw-gradient-to:#fff}.lg\\:focus\\:to-body-dark:focus{--tw-gradient-to:#1e1e1e}.lg\\:focus\\:to-button:focus{--tw-gradient-to:#0071e3}.lg\\:focus\\:to-button_hover:focus{--tw-gradient-to:#0077ed}@media(prefers-color-scheme: dark){.lg\\:dark\\:to-transparent{--tw-gradient-to:transparent}.lg\\:dark\\:to-current{--tw-gradient-to:currentColor}.lg\\:dark\\:to-white{--tw-gradient-to:#fff}.lg\\:dark\\:to-lightgrey{--tw-gradient-to:#F7F7F7}.lg\\:dark\\:to-midgrey{--tw-gradient-to:#cfcfcf}.lg\\:dark\\:to-darkgrey{--tw-gradient-to:#7f7f7f}.lg\\:dark\\:to-grey{--tw-gradient-to:#1e1e1e}.lg\\:dark\\:to-black{--tw-gradient-to:#0f0f0f}.lg\\:dark\\:to-highlight{--tw-gradient-to:#0071e3}.lg\\:dark\\:to-highlight_hover{--tw-gradient-to:#0077ed}.lg\\:dark\\:to-button_outline{--tw-gradient-to:#cfcfcf}.lg\\:dark\\:to-error{--tw-gradient-to:#ff453a}.lg\\:dark\\:to-text-light{--tw-gradient-to:#0f0f0f}.lg\\:dark\\:to-text-dimmed{--tw-gradient-to:#cfcfcf}.lg\\:dark\\:to-text-dark{--tw-gradient-to:#fff}.lg\\:dark\\:to-body-light{--tw-gradient-to:#fff}.lg\\:dark\\:to-body-dark{--tw-gradient-to:#1e1e1e}.lg\\:dark\\:to-button{--tw-gradient-to:#0071e3}.lg\\:dark\\:to-button_hover{--tw-gradient-to:#0077ed}.lg\\:dark\\:hover\\:to-transparent:hover{--tw-gradient-to:transparent}.lg\\:dark\\:hover\\:to-current:hover{--tw-gradient-to:currentColor}.lg\\:dark\\:hover\\:to-white:hover{--tw-gradient-to:#fff}.lg\\:dark\\:hover\\:to-lightgrey:hover{--tw-gradient-to:#F7F7F7}.lg\\:dark\\:hover\\:to-midgrey:hover{--tw-gradient-to:#cfcfcf}.lg\\:dark\\:hover\\:to-darkgrey:hover{--tw-gradient-to:#7f7f7f}.lg\\:dark\\:hover\\:to-grey:hover{--tw-gradient-to:#1e1e1e}.lg\\:dark\\:hover\\:to-black:hover{--tw-gradient-to:#0f0f0f}.lg\\:dark\\:hover\\:to-highlight:hover{--tw-gradient-to:#0071e3}.lg\\:dark\\:hover\\:to-highlight_hover:hover{--tw-gradient-to:#0077ed}.lg\\:dark\\:hover\\:to-button_outline:hover{--tw-gradient-to:#cfcfcf}.lg\\:dark\\:hover\\:to-error:hover{--tw-gradient-to:#ff453a}.lg\\:dark\\:hover\\:to-text-light:hover{--tw-gradient-to:#0f0f0f}.lg\\:dark\\:hover\\:to-text-dimmed:hover{--tw-gradient-to:#cfcfcf}.lg\\:dark\\:hover\\:to-text-dark:hover{--tw-gradient-to:#fff}.lg\\:dark\\:hover\\:to-body-light:hover{--tw-gradient-to:#fff}.lg\\:dark\\:hover\\:to-body-dark:hover{--tw-gradient-to:#1e1e1e}.lg\\:dark\\:hover\\:to-button:hover{--tw-gradient-to:#0071e3}.lg\\:dark\\:hover\\:to-button_hover:hover{--tw-gradient-to:#0077ed}.lg\\:dark\\:focus\\:to-transparent:focus{--tw-gradient-to:transparent}.lg\\:dark\\:focus\\:to-current:focus{--tw-gradient-to:currentColor}.lg\\:dark\\:focus\\:to-white:focus{--tw-gradient-to:#fff}.lg\\:dark\\:focus\\:to-lightgrey:focus{--tw-gradient-to:#F7F7F7}.lg\\:dark\\:focus\\:to-midgrey:focus{--tw-gradient-to:#cfcfcf}.lg\\:dark\\:focus\\:to-darkgrey:focus{--tw-gradient-to:#7f7f7f}.lg\\:dark\\:focus\\:to-grey:focus{--tw-gradient-to:#1e1e1e}.lg\\:dark\\:focus\\:to-black:focus{--tw-gradient-to:#0f0f0f}.lg\\:dark\\:focus\\:to-highlight:focus{--tw-gradient-to:#0071e3}.lg\\:dark\\:focus\\:to-highlight_hover:focus{--tw-gradient-to:#0077ed}.lg\\:dark\\:focus\\:to-button_outline:focus{--tw-gradient-to:#cfcfcf}.lg\\:dark\\:focus\\:to-error:focus{--tw-gradient-to:#ff453a}.lg\\:dark\\:focus\\:to-text-light:focus{--tw-gradient-to:#0f0f0f}.lg\\:dark\\:focus\\:to-text-dimmed:focus{--tw-gradient-to:#cfcfcf}.lg\\:dark\\:focus\\:to-text-dark:focus{--tw-gradient-to:#fff}.lg\\:dark\\:focus\\:to-body-light:focus{--tw-gradient-to:#fff}.lg\\:dark\\:focus\\:to-body-dark:focus{--tw-gradient-to:#1e1e1e}.lg\\:dark\\:focus\\:to-button:focus{--tw-gradient-to:#0071e3}.lg\\:dark\\:focus\\:to-button_hover:focus{--tw-gradient-to:#0077ed}}.lg\\:decoration-slice{-webkit-box-decoration-break:slice;box-decoration-break:slice}.lg\\:decoration-clone{-webkit-box-decoration-break:clone;box-decoration-break:clone}.lg\\:bg-auto{background-size:auto}.lg\\:bg-cover{background-size:cover}.lg\\:bg-contain{background-size:contain}.lg\\:bg-fixed{background-attachment:fixed}.lg\\:bg-local{background-attachment:local}.lg\\:bg-scroll{background-attachment:scroll}.lg\\:bg-clip-border{background-clip:border-box}.lg\\:bg-clip-padding{background-clip:padding-box}.lg\\:bg-clip-content{background-clip:content-box}.lg\\:bg-clip-text{background-clip:text}.lg\\:bg-bottom{background-position:bottom}.lg\\:bg-center{background-position:center}.lg\\:bg-left{background-position:left}.lg\\:bg-left-bottom{background-position:left bottom}.lg\\:bg-left-top{background-position:left top}.lg\\:bg-right{background-position:right}.lg\\:bg-right-bottom{background-position:right bottom}.lg\\:bg-right-top{background-position:right top}.lg\\:bg-top{background-position:top}.lg\\:bg-repeat{background-repeat:repeat}.lg\\:bg-no-repeat{background-repeat:no-repeat}.lg\\:bg-repeat-x{background-repeat:repeat-x}.lg\\:bg-repeat-y{background-repeat:repeat-y}.lg\\:bg-repeat-round{background-repeat:round}.lg\\:bg-repeat-space{background-repeat:space}.lg\\:bg-origin-border{background-origin:border-box}.lg\\:bg-origin-padding{background-origin:padding-box}.lg\\:bg-origin-content{background-origin:content-box}.lg\\:fill-current{fill:currentColor}.lg\\:stroke-current{stroke:currentColor}.lg\\:stroke-0{stroke-width:0}.lg\\:stroke-1{stroke-width:1}.lg\\:stroke-2{stroke-width:2}.lg\\:object-contain{object-fit:contain}.lg\\:object-cover{object-fit:cover}.lg\\:object-fill{object-fit:fill}.lg\\:object-none{object-fit:none}.lg\\:object-scale-down{object-fit:scale-down}.lg\\:object-bottom{object-position:bottom}.lg\\:object-center{object-position:center}.lg\\:object-left{object-position:left}.lg\\:object-left-bottom{object-position:left bottom}.lg\\:object-left-top{object-position:left top}.lg\\:object-right{object-position:right}.lg\\:object-right-bottom{object-position:right bottom}.lg\\:object-right-top{object-position:right top}.lg\\:object-top{object-position:top}.lg\\:p-0{padding:0px}.lg\\:p-1{padding:0.25rem}.lg\\:p-2{padding:0.5rem}.lg\\:p-3{padding:0.75rem}.lg\\:p-4{padding:1rem}.lg\\:p-5{padding:1.25rem}.lg\\:p-6{padding:1.5rem}.lg\\:p-7{padding:1.75rem}.lg\\:p-8{padding:2rem}.lg\\:p-9{padding:2.25rem}.lg\\:p-10{padding:2.5rem}.lg\\:p-11{padding:2.75rem}.lg\\:p-12{padding:3rem}.lg\\:p-14{padding:3.5rem}.lg\\:p-16{padding:4rem}.lg\\:p-20{padding:5rem}.lg\\:p-24{padding:6rem}.lg\\:p-28{padding:7rem}.lg\\:p-32{padding:8rem}.lg\\:p-36{padding:9rem}.lg\\:p-40{padding:10rem}.lg\\:p-44{padding:11rem}.lg\\:p-48{padding:12rem}.lg\\:p-52{padding:13rem}.lg\\:p-56{padding:14rem}.lg\\:p-60{padding:15rem}.lg\\:p-64{padding:16rem}.lg\\:p-72{padding:18rem}.lg\\:p-80{padding:20rem}.lg\\:p-96{padding:24rem}.lg\\:p-px{padding:1px}.lg\\:p-0\\.5{padding:0.125rem}.lg\\:p-1\\.5{padding:0.375rem}.lg\\:p-2\\.5{padding:0.625rem}.lg\\:p-3\\.5{padding:0.875rem}.lg\\:px-0{padding-left:0px;padding-right:0px}.lg\\:px-1{padding-left:0.25rem;padding-right:0.25rem}.lg\\:px-2{padding-left:0.5rem;padding-right:0.5rem}.lg\\:px-3{padding-left:0.75rem;padding-right:0.75rem}.lg\\:px-4{padding-left:1rem;padding-right:1rem}.lg\\:px-5{padding-left:1.25rem;padding-right:1.25rem}.lg\\:px-6{padding-left:1.5rem;padding-right:1.5rem}.lg\\:px-7{padding-left:1.75rem;padding-right:1.75rem}.lg\\:px-8{padding-left:2rem;padding-right:2rem}.lg\\:px-9{padding-left:2.25rem;padding-right:2.25rem}.lg\\:px-10{padding-left:2.5rem;padding-right:2.5rem}.lg\\:px-11{padding-left:2.75rem;padding-right:2.75rem}.lg\\:px-12{padding-left:3rem;padding-right:3rem}.lg\\:px-14{padding-left:3.5rem;padding-right:3.5rem}.lg\\:px-16{padding-left:4rem;padding-right:4rem}.lg\\:px-20{padding-left:5rem;padding-right:5rem}.lg\\:px-24{padding-left:6rem;padding-right:6rem}.lg\\:px-28{padding-left:7rem;padding-right:7rem}.lg\\:px-32{padding-left:8rem;padding-right:8rem}.lg\\:px-36{padding-left:9rem;padding-right:9rem}.lg\\:px-40{padding-left:10rem;padding-right:10rem}.lg\\:px-44{padding-left:11rem;padding-right:11rem}.lg\\:px-48{padding-left:12rem;padding-right:12rem}.lg\\:px-52{padding-left:13rem;padding-right:13rem}.lg\\:px-56{padding-left:14rem;padding-right:14rem}.lg\\:px-60{padding-left:15rem;padding-right:15rem}.lg\\:px-64{padding-left:16rem;padding-right:16rem}.lg\\:px-72{padding-left:18rem;padding-right:18rem}.lg\\:px-80{padding-left:20rem;padding-right:20rem}.lg\\:px-96{padding-left:24rem;padding-right:24rem}.lg\\:px-px{padding-left:1px;padding-right:1px}.lg\\:px-0\\.5{padding-left:0.125rem;padding-right:0.125rem}.lg\\:px-1\\.5{padding-left:0.375rem;padding-right:0.375rem}.lg\\:px-2\\.5{padding-left:0.625rem;padding-right:0.625rem}.lg\\:px-3\\.5{padding-left:0.875rem;padding-right:0.875rem}.lg\\:py-0{padding-top:0px;padding-bottom:0px}.lg\\:py-1{padding-top:0.25rem;padding-bottom:0.25rem}.lg\\:py-2{padding-top:0.5rem;padding-bottom:0.5rem}.lg\\:py-3{padding-top:0.75rem;padding-bottom:0.75rem}.lg\\:py-4{padding-top:1rem;padding-bottom:1rem}.lg\\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.lg\\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.lg\\:py-7{padding-top:1.75rem;padding-bottom:1.75rem}.lg\\:py-8{padding-top:2rem;padding-bottom:2rem}.lg\\:py-9{padding-top:2.25rem;padding-bottom:2.25rem}.lg\\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.lg\\:py-11{padding-top:2.75rem;padding-bottom:2.75rem}.lg\\:py-12{padding-top:3rem;padding-bottom:3rem}.lg\\:py-14{padding-top:3.5rem;padding-bottom:3.5rem}.lg\\:py-16{padding-top:4rem;padding-bottom:4rem}.lg\\:py-20{padding-top:5rem;padding-bottom:5rem}.lg\\:py-24{padding-top:6rem;padding-bottom:6rem}.lg\\:py-28{padding-top:7rem;padding-bottom:7rem}.lg\\:py-32{padding-top:8rem;padding-bottom:8rem}.lg\\:py-36{padding-top:9rem;padding-bottom:9rem}.lg\\:py-40{padding-top:10rem;padding-bottom:10rem}.lg\\:py-44{padding-top:11rem;padding-bottom:11rem}.lg\\:py-48{padding-top:12rem;padding-bottom:12rem}.lg\\:py-52{padding-top:13rem;padding-bottom:13rem}.lg\\:py-56{padding-top:14rem;padding-bottom:14rem}.lg\\:py-60{padding-top:15rem;padding-bottom:15rem}.lg\\:py-64{padding-top:16rem;padding-bottom:16rem}.lg\\:py-72{padding-top:18rem;padding-bottom:18rem}.lg\\:py-80{padding-top:20rem;padding-bottom:20rem}.lg\\:py-96{padding-top:24rem;padding-bottom:24rem}.lg\\:py-px{padding-top:1px;padding-bottom:1px}.lg\\:py-0\\.5{padding-top:0.125rem;padding-bottom:0.125rem}.lg\\:py-1\\.5{padding-top:0.375rem;padding-bottom:0.375rem}.lg\\:py-2\\.5{padding-top:0.625rem;padding-bottom:0.625rem}.lg\\:py-3\\.5{padding-top:0.875rem;padding-bottom:0.875rem}.lg\\:pt-0{padding-top:0px}.lg\\:pt-1{padding-top:0.25rem}.lg\\:pt-2{padding-top:0.5rem}.lg\\:pt-3{padding-top:0.75rem}.lg\\:pt-4{padding-top:1rem}.lg\\:pt-5{padding-top:1.25rem}.lg\\:pt-6{padding-top:1.5rem}.lg\\:pt-7{padding-top:1.75rem}.lg\\:pt-8{padding-top:2rem}.lg\\:pt-9{padding-top:2.25rem}.lg\\:pt-10{padding-top:2.5rem}.lg\\:pt-11{padding-top:2.75rem}.lg\\:pt-12{padding-top:3rem}.lg\\:pt-14{padding-top:3.5rem}.lg\\:pt-16{padding-top:4rem}.lg\\:pt-20{padding-top:5rem}.lg\\:pt-24{padding-top:6rem}.lg\\:pt-28{padding-top:7rem}.lg\\:pt-32{padding-top:8rem}.lg\\:pt-36{padding-top:9rem}.lg\\:pt-40{padding-top:10rem}.lg\\:pt-44{padding-top:11rem}.lg\\:pt-48{padding-top:12rem}.lg\\:pt-52{padding-top:13rem}.lg\\:pt-56{padding-top:14rem}.lg\\:pt-60{padding-top:15rem}.lg\\:pt-64{padding-top:16rem}.lg\\:pt-72{padding-top:18rem}.lg\\:pt-80{padding-top:20rem}.lg\\:pt-96{padding-top:24rem}.lg\\:pt-px{padding-top:1px}.lg\\:pt-0\\.5{padding-top:0.125rem}.lg\\:pt-1\\.5{padding-top:0.375rem}.lg\\:pt-2\\.5{padding-top:0.625rem}.lg\\:pt-3\\.5{padding-top:0.875rem}.lg\\:pr-0{padding-right:0px}.lg\\:pr-1{padding-right:0.25rem}.lg\\:pr-2{padding-right:0.5rem}.lg\\:pr-3{padding-right:0.75rem}.lg\\:pr-4{padding-right:1rem}.lg\\:pr-5{padding-right:1.25rem}.lg\\:pr-6{padding-right:1.5rem}.lg\\:pr-7{padding-right:1.75rem}.lg\\:pr-8{padding-right:2rem}.lg\\:pr-9{padding-right:2.25rem}.lg\\:pr-10{padding-right:2.5rem}.lg\\:pr-11{padding-right:2.75rem}.lg\\:pr-12{padding-right:3rem}.lg\\:pr-14{padding-right:3.5rem}.lg\\:pr-16{padding-right:4rem}.lg\\:pr-20{padding-right:5rem}.lg\\:pr-24{padding-right:6rem}.lg\\:pr-28{padding-right:7rem}.lg\\:pr-32{padding-right:8rem}.lg\\:pr-36{padding-right:9rem}.lg\\:pr-40{padding-right:10rem}.lg\\:pr-44{padding-right:11rem}.lg\\:pr-48{padding-right:12rem}.lg\\:pr-52{padding-right:13rem}.lg\\:pr-56{padding-right:14rem}.lg\\:pr-60{padding-right:15rem}.lg\\:pr-64{padding-right:16rem}.lg\\:pr-72{padding-right:18rem}.lg\\:pr-80{padding-right:20rem}.lg\\:pr-96{padding-right:24rem}.lg\\:pr-px{padding-right:1px}.lg\\:pr-0\\.5{padding-right:0.125rem}.lg\\:pr-1\\.5{padding-right:0.375rem}.lg\\:pr-2\\.5{padding-right:0.625rem}.lg\\:pr-3\\.5{padding-right:0.875rem}.lg\\:pb-0{padding-bottom:0px}.lg\\:pb-1{padding-bottom:0.25rem}.lg\\:pb-2{padding-bottom:0.5rem}.lg\\:pb-3{padding-bottom:0.75rem}.lg\\:pb-4{padding-bottom:1rem}.lg\\:pb-5{padding-bottom:1.25rem}.lg\\:pb-6{padding-bottom:1.5rem}.lg\\:pb-7{padding-bottom:1.75rem}.lg\\:pb-8{padding-bottom:2rem}.lg\\:pb-9{padding-bottom:2.25rem}.lg\\:pb-10{padding-bottom:2.5rem}.lg\\:pb-11{padding-bottom:2.75rem}.lg\\:pb-12{padding-bottom:3rem}.lg\\:pb-14{padding-bottom:3.5rem}.lg\\:pb-16{padding-bottom:4rem}.lg\\:pb-20{padding-bottom:5rem}.lg\\:pb-24{padding-bottom:6rem}.lg\\:pb-28{padding-bottom:7rem}.lg\\:pb-32{padding-bottom:8rem}.lg\\:pb-36{padding-bottom:9rem}.lg\\:pb-40{padding-bottom:10rem}.lg\\:pb-44{padding-bottom:11rem}.lg\\:pb-48{padding-bottom:12rem}.lg\\:pb-52{padding-bottom:13rem}.lg\\:pb-56{padding-bottom:14rem}.lg\\:pb-60{padding-bottom:15rem}.lg\\:pb-64{padding-bottom:16rem}.lg\\:pb-72{padding-bottom:18rem}.lg\\:pb-80{padding-bottom:20rem}.lg\\:pb-96{padding-bottom:24rem}.lg\\:pb-px{padding-bottom:1px}.lg\\:pb-0\\.5{padding-bottom:0.125rem}.lg\\:pb-1\\.5{padding-bottom:0.375rem}.lg\\:pb-2\\.5{padding-bottom:0.625rem}.lg\\:pb-3\\.5{padding-bottom:0.875rem}.lg\\:pl-0{padding-left:0px}.lg\\:pl-1{padding-left:0.25rem}.lg\\:pl-2{padding-left:0.5rem}.lg\\:pl-3{padding-left:0.75rem}.lg\\:pl-4{padding-left:1rem}.lg\\:pl-5{padding-left:1.25rem}.lg\\:pl-6{padding-left:1.5rem}.lg\\:pl-7{padding-left:1.75rem}.lg\\:pl-8{padding-left:2rem}.lg\\:pl-9{padding-left:2.25rem}.lg\\:pl-10{padding-left:2.5rem}.lg\\:pl-11{padding-left:2.75rem}.lg\\:pl-12{padding-left:3rem}.lg\\:pl-14{padding-left:3.5rem}.lg\\:pl-16{padding-left:4rem}.lg\\:pl-20{padding-left:5rem}.lg\\:pl-24{padding-left:6rem}.lg\\:pl-28{padding-left:7rem}.lg\\:pl-32{padding-left:8rem}.lg\\:pl-36{padding-left:9rem}.lg\\:pl-40{padding-left:10rem}.lg\\:pl-44{padding-left:11rem}.lg\\:pl-48{padding-left:12rem}.lg\\:pl-52{padding-left:13rem}.lg\\:pl-56{padding-left:14rem}.lg\\:pl-60{padding-left:15rem}.lg\\:pl-64{padding-left:16rem}.lg\\:pl-72{padding-left:18rem}.lg\\:pl-80{padding-left:20rem}.lg\\:pl-96{padding-left:24rem}.lg\\:pl-px{padding-left:1px}.lg\\:pl-0\\.5{padding-left:0.125rem}.lg\\:pl-1\\.5{padding-left:0.375rem}.lg\\:pl-2\\.5{padding-left:0.625rem}.lg\\:pl-3\\.5{padding-left:0.875rem}.lg\\:text-left{text-align:left}.lg\\:text-center{text-align:center}.lg\\:text-right{text-align:right}.lg\\:text-justify{text-align:justify}.lg\\:align-baseline{vertical-align:baseline}.lg\\:align-top{vertical-align:top}.lg\\:align-middle{vertical-align:middle}.lg\\:align-bottom{vertical-align:bottom}.lg\\:align-text-top{vertical-align:text-top}.lg\\:align-text-bottom{vertical-align:text-bottom}.lg\\:font-sans{font-family:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"}.lg\\:font-serif{font-family:ui-serif, Georgia, Cambria, \"Times New Roman\", Times, serif}.lg\\:font-mono{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace}.lg\\:text-xs{font-size:0.75rem;line-height:1rem}.lg\\:text-sm{font-size:0.875rem;line-height:1.25rem}.lg\\:text-base{font-size:1rem;line-height:1.5rem}.lg\\:text-lg{font-size:1.125rem;line-height:1.75rem}.lg\\:text-xl{font-size:1.25rem;line-height:1.75rem}.lg\\:text-2xl{font-size:1.5rem;line-height:2rem}.lg\\:text-3xl{font-size:1.875rem;line-height:2.25rem}.lg\\:text-4xl{font-size:2.25rem;line-height:2.5rem}.lg\\:text-5xl{font-size:3rem;line-height:1}.lg\\:text-6xl{font-size:3.75rem;line-height:1}.lg\\:text-7xl{font-size:4.5rem;line-height:1}.lg\\:text-8xl{font-size:6rem;line-height:1}.lg\\:text-9xl{font-size:8rem;line-height:1}.lg\\:font-thin{font-weight:100}.lg\\:font-extralight{font-weight:200}.lg\\:font-light{font-weight:300}.lg\\:font-normal{font-weight:400}.lg\\:font-medium{font-weight:500}.lg\\:font-semibold{font-weight:600}.lg\\:font-bold{font-weight:700}.lg\\:font-extrabold{font-weight:800}.lg\\:font-black{font-weight:900}.lg\\:uppercase{text-transform:uppercase}.lg\\:lowercase{text-transform:lowercase}.lg\\:capitalize{text-transform:capitalize}.lg\\:normal-case{text-transform:none}.lg\\:italic{font-style:italic}.lg\\:not-italic{font-style:normal}.lg\\:ordinal,.lg\\:slashed-zero,.lg\\:lining-nums,.lg\\:oldstyle-nums,.lg\\:proportional-nums,.lg\\:tabular-nums,.lg\\:diagonal-fractions,.lg\\:stacked-fractions{--tw-ordinal:var(--tw-empty,/*!*/ /*!*/);--tw-slashed-zero:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-figure:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-spacing:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-fraction:var(--tw-empty,/*!*/ /*!*/);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.lg\\:normal-nums{font-variant-numeric:normal}.lg\\:ordinal{--tw-ordinal:ordinal}.lg\\:slashed-zero{--tw-slashed-zero:slashed-zero}.lg\\:lining-nums{--tw-numeric-figure:lining-nums}.lg\\:oldstyle-nums{--tw-numeric-figure:oldstyle-nums}.lg\\:proportional-nums{--tw-numeric-spacing:proportional-nums}.lg\\:tabular-nums{--tw-numeric-spacing:tabular-nums}.lg\\:diagonal-fractions{--tw-numeric-fraction:diagonal-fractions}.lg\\:stacked-fractions{--tw-numeric-fraction:stacked-fractions}.lg\\:leading-3{line-height:.75rem}.lg\\:leading-4{line-height:1rem}.lg\\:leading-5{line-height:1.25rem}.lg\\:leading-6{line-height:1.5rem}.lg\\:leading-7{line-height:1.75rem}.lg\\:leading-8{line-height:2rem}.lg\\:leading-9{line-height:2.25rem}.lg\\:leading-10{line-height:2.5rem}.lg\\:leading-none{line-height:1}.lg\\:leading-tight{line-height:1.25}.lg\\:leading-snug{line-height:1.375}.lg\\:leading-normal{line-height:1.5}.lg\\:leading-relaxed{line-height:1.625}.lg\\:leading-loose{line-height:2}.lg\\:tracking-tighter{letter-spacing:-0.05em}.lg\\:tracking-tight{letter-spacing:-0.025em}.lg\\:tracking-normal{letter-spacing:0em}.lg\\:tracking-wide{letter-spacing:0.025em}.lg\\:tracking-wider{letter-spacing:0.05em}.lg\\:tracking-widest{letter-spacing:0.1em}.lg\\:text-transparent{color:transparent}.lg\\:text-current{color:currentColor}.lg\\:text-white{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.lg\\:text-lightgrey{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.lg\\:text-midgrey{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.lg\\:text-darkgrey{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.lg\\:text-grey{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.lg\\:text-black{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.lg\\:text-highlight{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.lg\\:text-highlight_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.lg\\:text-button_outline{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.lg\\:text-error{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.lg\\:text-text-light{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.lg\\:text-text-dimmed{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.lg\\:text-text-dark{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.lg\\:text-body-light{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.lg\\:text-body-dark{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.lg\\:text-button{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.lg\\:text-button_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.group:hover .lg\\:group-hover\\:text-transparent{color:transparent}.group:hover .lg\\:group-hover\\:text-current{color:currentColor}.group:hover .lg\\:group-hover\\:text-white{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .lg\\:group-hover\\:text-lightgrey{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.group:hover .lg\\:group-hover\\:text-midgrey{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .lg\\:group-hover\\:text-darkgrey{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.group:hover .lg\\:group-hover\\:text-grey{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.group:hover .lg\\:group-hover\\:text-black{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.group:hover .lg\\:group-hover\\:text-highlight{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.group:hover .lg\\:group-hover\\:text-highlight_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.group:hover .lg\\:group-hover\\:text-button_outline{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .lg\\:group-hover\\:text-error{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.group:hover .lg\\:group-hover\\:text-text-light{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.group:hover .lg\\:group-hover\\:text-text-dimmed{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .lg\\:group-hover\\:text-text-dark{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .lg\\:group-hover\\:text-body-light{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .lg\\:group-hover\\:text-body-dark{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.group:hover .lg\\:group-hover\\:text-button{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.group:hover .lg\\:group-hover\\:text-button_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.lg\\:focus-within\\:text-transparent:focus-within{color:transparent}.lg\\:focus-within\\:text-current:focus-within{color:currentColor}.lg\\:focus-within\\:text-white:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.lg\\:focus-within\\:text-lightgrey:focus-within{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.lg\\:focus-within\\:text-midgrey:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.lg\\:focus-within\\:text-darkgrey:focus-within{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.lg\\:focus-within\\:text-grey:focus-within{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.lg\\:focus-within\\:text-black:focus-within{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.lg\\:focus-within\\:text-highlight:focus-within{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.lg\\:focus-within\\:text-highlight_hover:focus-within{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.lg\\:focus-within\\:text-button_outline:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.lg\\:focus-within\\:text-error:focus-within{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.lg\\:focus-within\\:text-text-light:focus-within{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.lg\\:focus-within\\:text-text-dimmed:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.lg\\:focus-within\\:text-text-dark:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.lg\\:focus-within\\:text-body-light:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.lg\\:focus-within\\:text-body-dark:focus-within{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.lg\\:focus-within\\:text-button:focus-within{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.lg\\:focus-within\\:text-button_hover:focus-within{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.lg\\:hover\\:text-transparent:hover{color:transparent}.lg\\:hover\\:text-current:hover{color:currentColor}.lg\\:hover\\:text-white:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.lg\\:hover\\:text-lightgrey:hover{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.lg\\:hover\\:text-midgrey:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.lg\\:hover\\:text-darkgrey:hover{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.lg\\:hover\\:text-grey:hover{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.lg\\:hover\\:text-black:hover{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.lg\\:hover\\:text-highlight:hover{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.lg\\:hover\\:text-highlight_hover:hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.lg\\:hover\\:text-button_outline:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.lg\\:hover\\:text-error:hover{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.lg\\:hover\\:text-text-light:hover{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.lg\\:hover\\:text-text-dimmed:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.lg\\:hover\\:text-text-dark:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.lg\\:hover\\:text-body-light:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.lg\\:hover\\:text-body-dark:hover{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.lg\\:hover\\:text-button:hover{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.lg\\:hover\\:text-button_hover:hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.lg\\:focus\\:text-transparent:focus{color:transparent}.lg\\:focus\\:text-current:focus{color:currentColor}.lg\\:focus\\:text-white:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.lg\\:focus\\:text-lightgrey:focus{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.lg\\:focus\\:text-midgrey:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.lg\\:focus\\:text-darkgrey:focus{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.lg\\:focus\\:text-grey:focus{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.lg\\:focus\\:text-black:focus{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.lg\\:focus\\:text-highlight:focus{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.lg\\:focus\\:text-highlight_hover:focus{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.lg\\:focus\\:text-button_outline:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.lg\\:focus\\:text-error:focus{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.lg\\:focus\\:text-text-light:focus{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.lg\\:focus\\:text-text-dimmed:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.lg\\:focus\\:text-text-dark:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.lg\\:focus\\:text-body-light:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.lg\\:focus\\:text-body-dark:focus{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.lg\\:focus\\:text-button:focus{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.lg\\:focus\\:text-button_hover:focus{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}@media(prefers-color-scheme: dark){.lg\\:dark\\:text-transparent{color:transparent}.lg\\:dark\\:text-current{color:currentColor}.lg\\:dark\\:text-white{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.lg\\:dark\\:text-lightgrey{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.lg\\:dark\\:text-midgrey{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.lg\\:dark\\:text-darkgrey{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.lg\\:dark\\:text-grey{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.lg\\:dark\\:text-black{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.lg\\:dark\\:text-highlight{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.lg\\:dark\\:text-highlight_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.lg\\:dark\\:text-button_outline{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.lg\\:dark\\:text-error{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.lg\\:dark\\:text-text-light{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.lg\\:dark\\:text-text-dimmed{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.lg\\:dark\\:text-text-dark{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.lg\\:dark\\:text-body-light{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.lg\\:dark\\:text-body-dark{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.lg\\:dark\\:text-button{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.lg\\:dark\\:text-button_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.group:hover .lg\\:dark\\:group-hover\\:text-transparent{color:transparent}.group:hover .lg\\:dark\\:group-hover\\:text-current{color:currentColor}.group:hover .lg\\:dark\\:group-hover\\:text-white{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .lg\\:dark\\:group-hover\\:text-lightgrey{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.group:hover .lg\\:dark\\:group-hover\\:text-midgrey{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .lg\\:dark\\:group-hover\\:text-darkgrey{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.group:hover .lg\\:dark\\:group-hover\\:text-grey{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.group:hover .lg\\:dark\\:group-hover\\:text-black{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.group:hover .lg\\:dark\\:group-hover\\:text-highlight{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.group:hover .lg\\:dark\\:group-hover\\:text-highlight_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.group:hover .lg\\:dark\\:group-hover\\:text-button_outline{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .lg\\:dark\\:group-hover\\:text-error{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.group:hover .lg\\:dark\\:group-hover\\:text-text-light{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.group:hover .lg\\:dark\\:group-hover\\:text-text-dimmed{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .lg\\:dark\\:group-hover\\:text-text-dark{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .lg\\:dark\\:group-hover\\:text-body-light{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .lg\\:dark\\:group-hover\\:text-body-dark{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.group:hover .lg\\:dark\\:group-hover\\:text-button{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.group:hover .lg\\:dark\\:group-hover\\:text-button_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.lg\\:dark\\:focus-within\\:text-transparent:focus-within{color:transparent}.lg\\:dark\\:focus-within\\:text-current:focus-within{color:currentColor}.lg\\:dark\\:focus-within\\:text-white:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.lg\\:dark\\:focus-within\\:text-lightgrey:focus-within{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.lg\\:dark\\:focus-within\\:text-midgrey:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.lg\\:dark\\:focus-within\\:text-darkgrey:focus-within{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.lg\\:dark\\:focus-within\\:text-grey:focus-within{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.lg\\:dark\\:focus-within\\:text-black:focus-within{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.lg\\:dark\\:focus-within\\:text-highlight:focus-within{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.lg\\:dark\\:focus-within\\:text-highlight_hover:focus-within{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.lg\\:dark\\:focus-within\\:text-button_outline:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.lg\\:dark\\:focus-within\\:text-error:focus-within{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.lg\\:dark\\:focus-within\\:text-text-light:focus-within{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.lg\\:dark\\:focus-within\\:text-text-dimmed:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.lg\\:dark\\:focus-within\\:text-text-dark:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.lg\\:dark\\:focus-within\\:text-body-light:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.lg\\:dark\\:focus-within\\:text-body-dark:focus-within{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.lg\\:dark\\:focus-within\\:text-button:focus-within{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.lg\\:dark\\:focus-within\\:text-button_hover:focus-within{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.lg\\:dark\\:hover\\:text-transparent:hover{color:transparent}.lg\\:dark\\:hover\\:text-current:hover{color:currentColor}.lg\\:dark\\:hover\\:text-white:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.lg\\:dark\\:hover\\:text-lightgrey:hover{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.lg\\:dark\\:hover\\:text-midgrey:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.lg\\:dark\\:hover\\:text-darkgrey:hover{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.lg\\:dark\\:hover\\:text-grey:hover{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.lg\\:dark\\:hover\\:text-black:hover{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.lg\\:dark\\:hover\\:text-highlight:hover{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.lg\\:dark\\:hover\\:text-highlight_hover:hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.lg\\:dark\\:hover\\:text-button_outline:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.lg\\:dark\\:hover\\:text-error:hover{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.lg\\:dark\\:hover\\:text-text-light:hover{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.lg\\:dark\\:hover\\:text-text-dimmed:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.lg\\:dark\\:hover\\:text-text-dark:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.lg\\:dark\\:hover\\:text-body-light:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.lg\\:dark\\:hover\\:text-body-dark:hover{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.lg\\:dark\\:hover\\:text-button:hover{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.lg\\:dark\\:hover\\:text-button_hover:hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.lg\\:dark\\:focus\\:text-transparent:focus{color:transparent}.lg\\:dark\\:focus\\:text-current:focus{color:currentColor}.lg\\:dark\\:focus\\:text-white:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.lg\\:dark\\:focus\\:text-lightgrey:focus{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.lg\\:dark\\:focus\\:text-midgrey:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.lg\\:dark\\:focus\\:text-darkgrey:focus{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.lg\\:dark\\:focus\\:text-grey:focus{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.lg\\:dark\\:focus\\:text-black:focus{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.lg\\:dark\\:focus\\:text-highlight:focus{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.lg\\:dark\\:focus\\:text-highlight_hover:focus{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.lg\\:dark\\:focus\\:text-button_outline:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.lg\\:dark\\:focus\\:text-error:focus{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.lg\\:dark\\:focus\\:text-text-light:focus{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.lg\\:dark\\:focus\\:text-text-dimmed:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.lg\\:dark\\:focus\\:text-text-dark:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.lg\\:dark\\:focus\\:text-body-light:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.lg\\:dark\\:focus\\:text-body-dark:focus{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.lg\\:dark\\:focus\\:text-button:focus{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.lg\\:dark\\:focus\\:text-button_hover:focus{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}}.lg\\:text-opacity-0{--tw-text-opacity:0}.lg\\:text-opacity-5{--tw-text-opacity:0.05}.lg\\:text-opacity-10{--tw-text-opacity:0.1}.lg\\:text-opacity-20{--tw-text-opacity:0.2}.lg\\:text-opacity-25{--tw-text-opacity:0.25}.lg\\:text-opacity-30{--tw-text-opacity:0.3}.lg\\:text-opacity-40{--tw-text-opacity:0.4}.lg\\:text-opacity-50{--tw-text-opacity:0.5}.lg\\:text-opacity-60{--tw-text-opacity:0.6}.lg\\:text-opacity-70{--tw-text-opacity:0.7}.lg\\:text-opacity-75{--tw-text-opacity:0.75}.lg\\:text-opacity-80{--tw-text-opacity:0.8}.lg\\:text-opacity-90{--tw-text-opacity:0.9}.lg\\:text-opacity-95{--tw-text-opacity:0.95}.lg\\:text-opacity-100{--tw-text-opacity:1}.group:hover .lg\\:group-hover\\:text-opacity-0{--tw-text-opacity:0}.group:hover .lg\\:group-hover\\:text-opacity-5{--tw-text-opacity:0.05}.group:hover .lg\\:group-hover\\:text-opacity-10{--tw-text-opacity:0.1}.group:hover .lg\\:group-hover\\:text-opacity-20{--tw-text-opacity:0.2}.group:hover .lg\\:group-hover\\:text-opacity-25{--tw-text-opacity:0.25}.group:hover .lg\\:group-hover\\:text-opacity-30{--tw-text-opacity:0.3}.group:hover .lg\\:group-hover\\:text-opacity-40{--tw-text-opacity:0.4}.group:hover .lg\\:group-hover\\:text-opacity-50{--tw-text-opacity:0.5}.group:hover .lg\\:group-hover\\:text-opacity-60{--tw-text-opacity:0.6}.group:hover .lg\\:group-hover\\:text-opacity-70{--tw-text-opacity:0.7}.group:hover .lg\\:group-hover\\:text-opacity-75{--tw-text-opacity:0.75}.group:hover .lg\\:group-hover\\:text-opacity-80{--tw-text-opacity:0.8}.group:hover .lg\\:group-hover\\:text-opacity-90{--tw-text-opacity:0.9}.group:hover .lg\\:group-hover\\:text-opacity-95{--tw-text-opacity:0.95}.group:hover .lg\\:group-hover\\:text-opacity-100{--tw-text-opacity:1}.lg\\:focus-within\\:text-opacity-0:focus-within{--tw-text-opacity:0}.lg\\:focus-within\\:text-opacity-5:focus-within{--tw-text-opacity:0.05}.lg\\:focus-within\\:text-opacity-10:focus-within{--tw-text-opacity:0.1}.lg\\:focus-within\\:text-opacity-20:focus-within{--tw-text-opacity:0.2}.lg\\:focus-within\\:text-opacity-25:focus-within{--tw-text-opacity:0.25}.lg\\:focus-within\\:text-opacity-30:focus-within{--tw-text-opacity:0.3}.lg\\:focus-within\\:text-opacity-40:focus-within{--tw-text-opacity:0.4}.lg\\:focus-within\\:text-opacity-50:focus-within{--tw-text-opacity:0.5}.lg\\:focus-within\\:text-opacity-60:focus-within{--tw-text-opacity:0.6}.lg\\:focus-within\\:text-opacity-70:focus-within{--tw-text-opacity:0.7}.lg\\:focus-within\\:text-opacity-75:focus-within{--tw-text-opacity:0.75}.lg\\:focus-within\\:text-opacity-80:focus-within{--tw-text-opacity:0.8}.lg\\:focus-within\\:text-opacity-90:focus-within{--tw-text-opacity:0.9}.lg\\:focus-within\\:text-opacity-95:focus-within{--tw-text-opacity:0.95}.lg\\:focus-within\\:text-opacity-100:focus-within{--tw-text-opacity:1}.lg\\:hover\\:text-opacity-0:hover{--tw-text-opacity:0}.lg\\:hover\\:text-opacity-5:hover{--tw-text-opacity:0.05}.lg\\:hover\\:text-opacity-10:hover{--tw-text-opacity:0.1}.lg\\:hover\\:text-opacity-20:hover{--tw-text-opacity:0.2}.lg\\:hover\\:text-opacity-25:hover{--tw-text-opacity:0.25}.lg\\:hover\\:text-opacity-30:hover{--tw-text-opacity:0.3}.lg\\:hover\\:text-opacity-40:hover{--tw-text-opacity:0.4}.lg\\:hover\\:text-opacity-50:hover{--tw-text-opacity:0.5}.lg\\:hover\\:text-opacity-60:hover{--tw-text-opacity:0.6}.lg\\:hover\\:text-opacity-70:hover{--tw-text-opacity:0.7}.lg\\:hover\\:text-opacity-75:hover{--tw-text-opacity:0.75}.lg\\:hover\\:text-opacity-80:hover{--tw-text-opacity:0.8}.lg\\:hover\\:text-opacity-90:hover{--tw-text-opacity:0.9}.lg\\:hover\\:text-opacity-95:hover{--tw-text-opacity:0.95}.lg\\:hover\\:text-opacity-100:hover{--tw-text-opacity:1}.lg\\:focus\\:text-opacity-0:focus{--tw-text-opacity:0}.lg\\:focus\\:text-opacity-5:focus{--tw-text-opacity:0.05}.lg\\:focus\\:text-opacity-10:focus{--tw-text-opacity:0.1}.lg\\:focus\\:text-opacity-20:focus{--tw-text-opacity:0.2}.lg\\:focus\\:text-opacity-25:focus{--tw-text-opacity:0.25}.lg\\:focus\\:text-opacity-30:focus{--tw-text-opacity:0.3}.lg\\:focus\\:text-opacity-40:focus{--tw-text-opacity:0.4}.lg\\:focus\\:text-opacity-50:focus{--tw-text-opacity:0.5}.lg\\:focus\\:text-opacity-60:focus{--tw-text-opacity:0.6}.lg\\:focus\\:text-opacity-70:focus{--tw-text-opacity:0.7}.lg\\:focus\\:text-opacity-75:focus{--tw-text-opacity:0.75}.lg\\:focus\\:text-opacity-80:focus{--tw-text-opacity:0.8}.lg\\:focus\\:text-opacity-90:focus{--tw-text-opacity:0.9}.lg\\:focus\\:text-opacity-95:focus{--tw-text-opacity:0.95}.lg\\:focus\\:text-opacity-100:focus{--tw-text-opacity:1}@media(prefers-color-scheme: dark){.lg\\:dark\\:text-opacity-0{--tw-text-opacity:0}.lg\\:dark\\:text-opacity-5{--tw-text-opacity:0.05}.lg\\:dark\\:text-opacity-10{--tw-text-opacity:0.1}.lg\\:dark\\:text-opacity-20{--tw-text-opacity:0.2}.lg\\:dark\\:text-opacity-25{--tw-text-opacity:0.25}.lg\\:dark\\:text-opacity-30{--tw-text-opacity:0.3}.lg\\:dark\\:text-opacity-40{--tw-text-opacity:0.4}.lg\\:dark\\:text-opacity-50{--tw-text-opacity:0.5}.lg\\:dark\\:text-opacity-60{--tw-text-opacity:0.6}.lg\\:dark\\:text-opacity-70{--tw-text-opacity:0.7}.lg\\:dark\\:text-opacity-75{--tw-text-opacity:0.75}.lg\\:dark\\:text-opacity-80{--tw-text-opacity:0.8}.lg\\:dark\\:text-opacity-90{--tw-text-opacity:0.9}.lg\\:dark\\:text-opacity-95{--tw-text-opacity:0.95}.lg\\:dark\\:text-opacity-100{--tw-text-opacity:1}.group:hover .lg\\:dark\\:group-hover\\:text-opacity-0{--tw-text-opacity:0}.group:hover .lg\\:dark\\:group-hover\\:text-opacity-5{--tw-text-opacity:0.05}.group:hover .lg\\:dark\\:group-hover\\:text-opacity-10{--tw-text-opacity:0.1}.group:hover .lg\\:dark\\:group-hover\\:text-opacity-20{--tw-text-opacity:0.2}.group:hover .lg\\:dark\\:group-hover\\:text-opacity-25{--tw-text-opacity:0.25}.group:hover .lg\\:dark\\:group-hover\\:text-opacity-30{--tw-text-opacity:0.3}.group:hover .lg\\:dark\\:group-hover\\:text-opacity-40{--tw-text-opacity:0.4}.group:hover .lg\\:dark\\:group-hover\\:text-opacity-50{--tw-text-opacity:0.5}.group:hover .lg\\:dark\\:group-hover\\:text-opacity-60{--tw-text-opacity:0.6}.group:hover .lg\\:dark\\:group-hover\\:text-opacity-70{--tw-text-opacity:0.7}.group:hover .lg\\:dark\\:group-hover\\:text-opacity-75{--tw-text-opacity:0.75}.group:hover .lg\\:dark\\:group-hover\\:text-opacity-80{--tw-text-opacity:0.8}.group:hover .lg\\:dark\\:group-hover\\:text-opacity-90{--tw-text-opacity:0.9}.group:hover .lg\\:dark\\:group-hover\\:text-opacity-95{--tw-text-opacity:0.95}.group:hover .lg\\:dark\\:group-hover\\:text-opacity-100{--tw-text-opacity:1}.lg\\:dark\\:focus-within\\:text-opacity-0:focus-within{--tw-text-opacity:0}.lg\\:dark\\:focus-within\\:text-opacity-5:focus-within{--tw-text-opacity:0.05}.lg\\:dark\\:focus-within\\:text-opacity-10:focus-within{--tw-text-opacity:0.1}.lg\\:dark\\:focus-within\\:text-opacity-20:focus-within{--tw-text-opacity:0.2}.lg\\:dark\\:focus-within\\:text-opacity-25:focus-within{--tw-text-opacity:0.25}.lg\\:dark\\:focus-within\\:text-opacity-30:focus-within{--tw-text-opacity:0.3}.lg\\:dark\\:focus-within\\:text-opacity-40:focus-within{--tw-text-opacity:0.4}.lg\\:dark\\:focus-within\\:text-opacity-50:focus-within{--tw-text-opacity:0.5}.lg\\:dark\\:focus-within\\:text-opacity-60:focus-within{--tw-text-opacity:0.6}.lg\\:dark\\:focus-within\\:text-opacity-70:focus-within{--tw-text-opacity:0.7}.lg\\:dark\\:focus-within\\:text-opacity-75:focus-within{--tw-text-opacity:0.75}.lg\\:dark\\:focus-within\\:text-opacity-80:focus-within{--tw-text-opacity:0.8}.lg\\:dark\\:focus-within\\:text-opacity-90:focus-within{--tw-text-opacity:0.9}.lg\\:dark\\:focus-within\\:text-opacity-95:focus-within{--tw-text-opacity:0.95}.lg\\:dark\\:focus-within\\:text-opacity-100:focus-within{--tw-text-opacity:1}.lg\\:dark\\:hover\\:text-opacity-0:hover{--tw-text-opacity:0}.lg\\:dark\\:hover\\:text-opacity-5:hover{--tw-text-opacity:0.05}.lg\\:dark\\:hover\\:text-opacity-10:hover{--tw-text-opacity:0.1}.lg\\:dark\\:hover\\:text-opacity-20:hover{--tw-text-opacity:0.2}.lg\\:dark\\:hover\\:text-opacity-25:hover{--tw-text-opacity:0.25}.lg\\:dark\\:hover\\:text-opacity-30:hover{--tw-text-opacity:0.3}.lg\\:dark\\:hover\\:text-opacity-40:hover{--tw-text-opacity:0.4}.lg\\:dark\\:hover\\:text-opacity-50:hover{--tw-text-opacity:0.5}.lg\\:dark\\:hover\\:text-opacity-60:hover{--tw-text-opacity:0.6}.lg\\:dark\\:hover\\:text-opacity-70:hover{--tw-text-opacity:0.7}.lg\\:dark\\:hover\\:text-opacity-75:hover{--tw-text-opacity:0.75}.lg\\:dark\\:hover\\:text-opacity-80:hover{--tw-text-opacity:0.8}.lg\\:dark\\:hover\\:text-opacity-90:hover{--tw-text-opacity:0.9}.lg\\:dark\\:hover\\:text-opacity-95:hover{--tw-text-opacity:0.95}.lg\\:dark\\:hover\\:text-opacity-100:hover{--tw-text-opacity:1}.lg\\:dark\\:focus\\:text-opacity-0:focus{--tw-text-opacity:0}.lg\\:dark\\:focus\\:text-opacity-5:focus{--tw-text-opacity:0.05}.lg\\:dark\\:focus\\:text-opacity-10:focus{--tw-text-opacity:0.1}.lg\\:dark\\:focus\\:text-opacity-20:focus{--tw-text-opacity:0.2}.lg\\:dark\\:focus\\:text-opacity-25:focus{--tw-text-opacity:0.25}.lg\\:dark\\:focus\\:text-opacity-30:focus{--tw-text-opacity:0.3}.lg\\:dark\\:focus\\:text-opacity-40:focus{--tw-text-opacity:0.4}.lg\\:dark\\:focus\\:text-opacity-50:focus{--tw-text-opacity:0.5}.lg\\:dark\\:focus\\:text-opacity-60:focus{--tw-text-opacity:0.6}.lg\\:dark\\:focus\\:text-opacity-70:focus{--tw-text-opacity:0.7}.lg\\:dark\\:focus\\:text-opacity-75:focus{--tw-text-opacity:0.75}.lg\\:dark\\:focus\\:text-opacity-80:focus{--tw-text-opacity:0.8}.lg\\:dark\\:focus\\:text-opacity-90:focus{--tw-text-opacity:0.9}.lg\\:dark\\:focus\\:text-opacity-95:focus{--tw-text-opacity:0.95}.lg\\:dark\\:focus\\:text-opacity-100:focus{--tw-text-opacity:1}}.lg\\:underline{text-decoration:underline}.lg\\:line-through{text-decoration:line-through}.lg\\:no-underline{text-decoration:none}.group:hover .lg\\:group-hover\\:underline{text-decoration:underline}.group:hover .lg\\:group-hover\\:line-through{text-decoration:line-through}.group:hover .lg\\:group-hover\\:no-underline{text-decoration:none}.lg\\:focus-within\\:underline:focus-within{text-decoration:underline}.lg\\:focus-within\\:line-through:focus-within{text-decoration:line-through}.lg\\:focus-within\\:no-underline:focus-within{text-decoration:none}.lg\\:hover\\:underline:hover{text-decoration:underline}.lg\\:hover\\:line-through:hover{text-decoration:line-through}.lg\\:hover\\:no-underline:hover{text-decoration:none}.lg\\:focus\\:underline:focus{text-decoration:underline}.lg\\:focus\\:line-through:focus{text-decoration:line-through}.lg\\:focus\\:no-underline:focus{text-decoration:none}.lg\\:antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.lg\\:subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.lg\\:placeholder-transparent::placeholder{color:transparent}.lg\\:placeholder-current::placeholder{color:currentColor}.lg\\:placeholder-white::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.lg\\:placeholder-lightgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(247, 247, 247, var(--tw-placeholder-opacity))}.lg\\:placeholder-midgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.lg\\:placeholder-darkgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(127, 127, 127, var(--tw-placeholder-opacity))}.lg\\:placeholder-grey::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.lg\\:placeholder-black::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.lg\\:placeholder-highlight::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.lg\\:placeholder-highlight_hover::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.lg\\:placeholder-button_outline::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.lg\\:placeholder-error::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 69, 58, var(--tw-placeholder-opacity))}.lg\\:placeholder-text-light::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.lg\\:placeholder-text-dimmed::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.lg\\:placeholder-text-dark::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.lg\\:placeholder-body-light::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.lg\\:placeholder-body-dark::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.lg\\:placeholder-button::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.lg\\:placeholder-button_hover::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.lg\\:focus\\:placeholder-transparent:focus::placeholder{color:transparent}.lg\\:focus\\:placeholder-current:focus::placeholder{color:currentColor}.lg\\:focus\\:placeholder-white:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.lg\\:focus\\:placeholder-lightgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(247, 247, 247, var(--tw-placeholder-opacity))}.lg\\:focus\\:placeholder-midgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.lg\\:focus\\:placeholder-darkgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(127, 127, 127, var(--tw-placeholder-opacity))}.lg\\:focus\\:placeholder-grey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.lg\\:focus\\:placeholder-black:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.lg\\:focus\\:placeholder-highlight:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.lg\\:focus\\:placeholder-highlight_hover:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.lg\\:focus\\:placeholder-button_outline:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.lg\\:focus\\:placeholder-error:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 69, 58, var(--tw-placeholder-opacity))}.lg\\:focus\\:placeholder-text-light:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.lg\\:focus\\:placeholder-text-dimmed:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.lg\\:focus\\:placeholder-text-dark:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.lg\\:focus\\:placeholder-body-light:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.lg\\:focus\\:placeholder-body-dark:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.lg\\:focus\\:placeholder-button:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.lg\\:focus\\:placeholder-button_hover:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}@media(prefers-color-scheme: dark){.lg\\:dark\\:placeholder-transparent::placeholder{color:transparent}.lg\\:dark\\:placeholder-current::placeholder{color:currentColor}.lg\\:dark\\:placeholder-white::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.lg\\:dark\\:placeholder-lightgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(247, 247, 247, var(--tw-placeholder-opacity))}.lg\\:dark\\:placeholder-midgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.lg\\:dark\\:placeholder-darkgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(127, 127, 127, var(--tw-placeholder-opacity))}.lg\\:dark\\:placeholder-grey::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.lg\\:dark\\:placeholder-black::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.lg\\:dark\\:placeholder-highlight::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.lg\\:dark\\:placeholder-highlight_hover::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.lg\\:dark\\:placeholder-button_outline::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.lg\\:dark\\:placeholder-error::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 69, 58, var(--tw-placeholder-opacity))}.lg\\:dark\\:placeholder-text-light::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.lg\\:dark\\:placeholder-text-dimmed::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.lg\\:dark\\:placeholder-text-dark::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.lg\\:dark\\:placeholder-body-light::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.lg\\:dark\\:placeholder-body-dark::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.lg\\:dark\\:placeholder-button::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.lg\\:dark\\:placeholder-button_hover::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.lg\\:dark\\:focus\\:placeholder-transparent:focus::placeholder{color:transparent}.lg\\:dark\\:focus\\:placeholder-current:focus::placeholder{color:currentColor}.lg\\:dark\\:focus\\:placeholder-white:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.lg\\:dark\\:focus\\:placeholder-lightgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(247, 247, 247, var(--tw-placeholder-opacity))}.lg\\:dark\\:focus\\:placeholder-midgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.lg\\:dark\\:focus\\:placeholder-darkgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(127, 127, 127, var(--tw-placeholder-opacity))}.lg\\:dark\\:focus\\:placeholder-grey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.lg\\:dark\\:focus\\:placeholder-black:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.lg\\:dark\\:focus\\:placeholder-highlight:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.lg\\:dark\\:focus\\:placeholder-highlight_hover:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.lg\\:dark\\:focus\\:placeholder-button_outline:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.lg\\:dark\\:focus\\:placeholder-error:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 69, 58, var(--tw-placeholder-opacity))}.lg\\:dark\\:focus\\:placeholder-text-light:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.lg\\:dark\\:focus\\:placeholder-text-dimmed:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.lg\\:dark\\:focus\\:placeholder-text-dark:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.lg\\:dark\\:focus\\:placeholder-body-light:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.lg\\:dark\\:focus\\:placeholder-body-dark:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.lg\\:dark\\:focus\\:placeholder-button:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.lg\\:dark\\:focus\\:placeholder-button_hover:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}}.lg\\:placeholder-opacity-0::placeholder{--tw-placeholder-opacity:0}.lg\\:placeholder-opacity-5::placeholder{--tw-placeholder-opacity:0.05}.lg\\:placeholder-opacity-10::placeholder{--tw-placeholder-opacity:0.1}.lg\\:placeholder-opacity-20::placeholder{--tw-placeholder-opacity:0.2}.lg\\:placeholder-opacity-25::placeholder{--tw-placeholder-opacity:0.25}.lg\\:placeholder-opacity-30::placeholder{--tw-placeholder-opacity:0.3}.lg\\:placeholder-opacity-40::placeholder{--tw-placeholder-opacity:0.4}.lg\\:placeholder-opacity-50::placeholder{--tw-placeholder-opacity:0.5}.lg\\:placeholder-opacity-60::placeholder{--tw-placeholder-opacity:0.6}.lg\\:placeholder-opacity-70::placeholder{--tw-placeholder-opacity:0.7}.lg\\:placeholder-opacity-75::placeholder{--tw-placeholder-opacity:0.75}.lg\\:placeholder-opacity-80::placeholder{--tw-placeholder-opacity:0.8}.lg\\:placeholder-opacity-90::placeholder{--tw-placeholder-opacity:0.9}.lg\\:placeholder-opacity-95::placeholder{--tw-placeholder-opacity:0.95}.lg\\:placeholder-opacity-100::placeholder{--tw-placeholder-opacity:1}.lg\\:focus\\:placeholder-opacity-0:focus::placeholder{--tw-placeholder-opacity:0}.lg\\:focus\\:placeholder-opacity-5:focus::placeholder{--tw-placeholder-opacity:0.05}.lg\\:focus\\:placeholder-opacity-10:focus::placeholder{--tw-placeholder-opacity:0.1}.lg\\:focus\\:placeholder-opacity-20:focus::placeholder{--tw-placeholder-opacity:0.2}.lg\\:focus\\:placeholder-opacity-25:focus::placeholder{--tw-placeholder-opacity:0.25}.lg\\:focus\\:placeholder-opacity-30:focus::placeholder{--tw-placeholder-opacity:0.3}.lg\\:focus\\:placeholder-opacity-40:focus::placeholder{--tw-placeholder-opacity:0.4}.lg\\:focus\\:placeholder-opacity-50:focus::placeholder{--tw-placeholder-opacity:0.5}.lg\\:focus\\:placeholder-opacity-60:focus::placeholder{--tw-placeholder-opacity:0.6}.lg\\:focus\\:placeholder-opacity-70:focus::placeholder{--tw-placeholder-opacity:0.7}.lg\\:focus\\:placeholder-opacity-75:focus::placeholder{--tw-placeholder-opacity:0.75}.lg\\:focus\\:placeholder-opacity-80:focus::placeholder{--tw-placeholder-opacity:0.8}.lg\\:focus\\:placeholder-opacity-90:focus::placeholder{--tw-placeholder-opacity:0.9}.lg\\:focus\\:placeholder-opacity-95:focus::placeholder{--tw-placeholder-opacity:0.95}.lg\\:focus\\:placeholder-opacity-100:focus::placeholder{--tw-placeholder-opacity:1}@media(prefers-color-scheme: dark){.lg\\:dark\\:placeholder-opacity-0::placeholder{--tw-placeholder-opacity:0}.lg\\:dark\\:placeholder-opacity-5::placeholder{--tw-placeholder-opacity:0.05}.lg\\:dark\\:placeholder-opacity-10::placeholder{--tw-placeholder-opacity:0.1}.lg\\:dark\\:placeholder-opacity-20::placeholder{--tw-placeholder-opacity:0.2}.lg\\:dark\\:placeholder-opacity-25::placeholder{--tw-placeholder-opacity:0.25}.lg\\:dark\\:placeholder-opacity-30::placeholder{--tw-placeholder-opacity:0.3}.lg\\:dark\\:placeholder-opacity-40::placeholder{--tw-placeholder-opacity:0.4}.lg\\:dark\\:placeholder-opacity-50::placeholder{--tw-placeholder-opacity:0.5}.lg\\:dark\\:placeholder-opacity-60::placeholder{--tw-placeholder-opacity:0.6}.lg\\:dark\\:placeholder-opacity-70::placeholder{--tw-placeholder-opacity:0.7}.lg\\:dark\\:placeholder-opacity-75::placeholder{--tw-placeholder-opacity:0.75}.lg\\:dark\\:placeholder-opacity-80::placeholder{--tw-placeholder-opacity:0.8}.lg\\:dark\\:placeholder-opacity-90::placeholder{--tw-placeholder-opacity:0.9}.lg\\:dark\\:placeholder-opacity-95::placeholder{--tw-placeholder-opacity:0.95}.lg\\:dark\\:placeholder-opacity-100::placeholder{--tw-placeholder-opacity:1}.lg\\:dark\\:focus\\:placeholder-opacity-0:focus::placeholder{--tw-placeholder-opacity:0}.lg\\:dark\\:focus\\:placeholder-opacity-5:focus::placeholder{--tw-placeholder-opacity:0.05}.lg\\:dark\\:focus\\:placeholder-opacity-10:focus::placeholder{--tw-placeholder-opacity:0.1}.lg\\:dark\\:focus\\:placeholder-opacity-20:focus::placeholder{--tw-placeholder-opacity:0.2}.lg\\:dark\\:focus\\:placeholder-opacity-25:focus::placeholder{--tw-placeholder-opacity:0.25}.lg\\:dark\\:focus\\:placeholder-opacity-30:focus::placeholder{--tw-placeholder-opacity:0.3}.lg\\:dark\\:focus\\:placeholder-opacity-40:focus::placeholder{--tw-placeholder-opacity:0.4}.lg\\:dark\\:focus\\:placeholder-opacity-50:focus::placeholder{--tw-placeholder-opacity:0.5}.lg\\:dark\\:focus\\:placeholder-opacity-60:focus::placeholder{--tw-placeholder-opacity:0.6}.lg\\:dark\\:focus\\:placeholder-opacity-70:focus::placeholder{--tw-placeholder-opacity:0.7}.lg\\:dark\\:focus\\:placeholder-opacity-75:focus::placeholder{--tw-placeholder-opacity:0.75}.lg\\:dark\\:focus\\:placeholder-opacity-80:focus::placeholder{--tw-placeholder-opacity:0.8}.lg\\:dark\\:focus\\:placeholder-opacity-90:focus::placeholder{--tw-placeholder-opacity:0.9}.lg\\:dark\\:focus\\:placeholder-opacity-95:focus::placeholder{--tw-placeholder-opacity:0.95}.lg\\:dark\\:focus\\:placeholder-opacity-100:focus::placeholder{--tw-placeholder-opacity:1}}.lg\\:opacity-0{opacity:0}.lg\\:opacity-5{opacity:0.05}.lg\\:opacity-10{opacity:0.1}.lg\\:opacity-20{opacity:0.2}.lg\\:opacity-25{opacity:0.25}.lg\\:opacity-30{opacity:0.3}.lg\\:opacity-40{opacity:0.4}.lg\\:opacity-50{opacity:0.5}.lg\\:opacity-60{opacity:0.6}.lg\\:opacity-70{opacity:0.7}.lg\\:opacity-75{opacity:0.75}.lg\\:opacity-80{opacity:0.8}.lg\\:opacity-90{opacity:0.9}.lg\\:opacity-95{opacity:0.95}.lg\\:opacity-100{opacity:1}.group:hover .lg\\:group-hover\\:opacity-0{opacity:0}.group:hover .lg\\:group-hover\\:opacity-5{opacity:0.05}.group:hover .lg\\:group-hover\\:opacity-10{opacity:0.1}.group:hover .lg\\:group-hover\\:opacity-20{opacity:0.2}.group:hover .lg\\:group-hover\\:opacity-25{opacity:0.25}.group:hover .lg\\:group-hover\\:opacity-30{opacity:0.3}.group:hover .lg\\:group-hover\\:opacity-40{opacity:0.4}.group:hover .lg\\:group-hover\\:opacity-50{opacity:0.5}.group:hover .lg\\:group-hover\\:opacity-60{opacity:0.6}.group:hover .lg\\:group-hover\\:opacity-70{opacity:0.7}.group:hover .lg\\:group-hover\\:opacity-75{opacity:0.75}.group:hover .lg\\:group-hover\\:opacity-80{opacity:0.8}.group:hover .lg\\:group-hover\\:opacity-90{opacity:0.9}.group:hover .lg\\:group-hover\\:opacity-95{opacity:0.95}.group:hover .lg\\:group-hover\\:opacity-100{opacity:1}.lg\\:focus-within\\:opacity-0:focus-within{opacity:0}.lg\\:focus-within\\:opacity-5:focus-within{opacity:0.05}.lg\\:focus-within\\:opacity-10:focus-within{opacity:0.1}.lg\\:focus-within\\:opacity-20:focus-within{opacity:0.2}.lg\\:focus-within\\:opacity-25:focus-within{opacity:0.25}.lg\\:focus-within\\:opacity-30:focus-within{opacity:0.3}.lg\\:focus-within\\:opacity-40:focus-within{opacity:0.4}.lg\\:focus-within\\:opacity-50:focus-within{opacity:0.5}.lg\\:focus-within\\:opacity-60:focus-within{opacity:0.6}.lg\\:focus-within\\:opacity-70:focus-within{opacity:0.7}.lg\\:focus-within\\:opacity-75:focus-within{opacity:0.75}.lg\\:focus-within\\:opacity-80:focus-within{opacity:0.8}.lg\\:focus-within\\:opacity-90:focus-within{opacity:0.9}.lg\\:focus-within\\:opacity-95:focus-within{opacity:0.95}.lg\\:focus-within\\:opacity-100:focus-within{opacity:1}.lg\\:hover\\:opacity-0:hover{opacity:0}.lg\\:hover\\:opacity-5:hover{opacity:0.05}.lg\\:hover\\:opacity-10:hover{opacity:0.1}.lg\\:hover\\:opacity-20:hover{opacity:0.2}.lg\\:hover\\:opacity-25:hover{opacity:0.25}.lg\\:hover\\:opacity-30:hover{opacity:0.3}.lg\\:hover\\:opacity-40:hover{opacity:0.4}.lg\\:hover\\:opacity-50:hover{opacity:0.5}.lg\\:hover\\:opacity-60:hover{opacity:0.6}.lg\\:hover\\:opacity-70:hover{opacity:0.7}.lg\\:hover\\:opacity-75:hover{opacity:0.75}.lg\\:hover\\:opacity-80:hover{opacity:0.8}.lg\\:hover\\:opacity-90:hover{opacity:0.9}.lg\\:hover\\:opacity-95:hover{opacity:0.95}.lg\\:hover\\:opacity-100:hover{opacity:1}.lg\\:focus\\:opacity-0:focus{opacity:0}.lg\\:focus\\:opacity-5:focus{opacity:0.05}.lg\\:focus\\:opacity-10:focus{opacity:0.1}.lg\\:focus\\:opacity-20:focus{opacity:0.2}.lg\\:focus\\:opacity-25:focus{opacity:0.25}.lg\\:focus\\:opacity-30:focus{opacity:0.3}.lg\\:focus\\:opacity-40:focus{opacity:0.4}.lg\\:focus\\:opacity-50:focus{opacity:0.5}.lg\\:focus\\:opacity-60:focus{opacity:0.6}.lg\\:focus\\:opacity-70:focus{opacity:0.7}.lg\\:focus\\:opacity-75:focus{opacity:0.75}.lg\\:focus\\:opacity-80:focus{opacity:0.8}.lg\\:focus\\:opacity-90:focus{opacity:0.9}.lg\\:focus\\:opacity-95:focus{opacity:0.95}.lg\\:focus\\:opacity-100:focus{opacity:1}.lg\\:bg-blend-normal{background-blend-mode:normal}.lg\\:bg-blend-multiply{background-blend-mode:multiply}.lg\\:bg-blend-screen{background-blend-mode:screen}.lg\\:bg-blend-overlay{background-blend-mode:overlay}.lg\\:bg-blend-darken{background-blend-mode:darken}.lg\\:bg-blend-lighten{background-blend-mode:lighten}.lg\\:bg-blend-color-dodge{background-blend-mode:color-dodge}.lg\\:bg-blend-color-burn{background-blend-mode:color-burn}.lg\\:bg-blend-hard-light{background-blend-mode:hard-light}.lg\\:bg-blend-soft-light{background-blend-mode:soft-light}.lg\\:bg-blend-difference{background-blend-mode:difference}.lg\\:bg-blend-exclusion{background-blend-mode:exclusion}.lg\\:bg-blend-hue{background-blend-mode:hue}.lg\\:bg-blend-saturation{background-blend-mode:saturation}.lg\\:bg-blend-color{background-blend-mode:color}.lg\\:bg-blend-luminosity{background-blend-mode:luminosity}.lg\\:mix-blend-normal{mix-blend-mode:normal}.lg\\:mix-blend-multiply{mix-blend-mode:multiply}.lg\\:mix-blend-screen{mix-blend-mode:screen}.lg\\:mix-blend-overlay{mix-blend-mode:overlay}.lg\\:mix-blend-darken{mix-blend-mode:darken}.lg\\:mix-blend-lighten{mix-blend-mode:lighten}.lg\\:mix-blend-color-dodge{mix-blend-mode:color-dodge}.lg\\:mix-blend-color-burn{mix-blend-mode:color-burn}.lg\\:mix-blend-hard-light{mix-blend-mode:hard-light}.lg\\:mix-blend-soft-light{mix-blend-mode:soft-light}.lg\\:mix-blend-difference{mix-blend-mode:difference}.lg\\:mix-blend-exclusion{mix-blend-mode:exclusion}.lg\\:mix-blend-hue{mix-blend-mode:hue}.lg\\:mix-blend-saturation{mix-blend-mode:saturation}.lg\\:mix-blend-color{mix-blend-mode:color}.lg\\:mix-blend-luminosity{mix-blend-mode:luminosity}.lg\\:shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:shadow{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:shadow-md{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .lg\\:group-hover\\:shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .lg\\:group-hover\\:shadow{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .lg\\:group-hover\\:shadow-md{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .lg\\:group-hover\\:shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .lg\\:group-hover\\:shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .lg\\:group-hover\\:shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .lg\\:group-hover\\:shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .lg\\:group-hover\\:shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:focus-within\\:shadow-sm:focus-within{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:focus-within\\:shadow:focus-within{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:focus-within\\:shadow-md:focus-within{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:focus-within\\:shadow-lg:focus-within{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:focus-within\\:shadow-xl:focus-within{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:focus-within\\:shadow-2xl:focus-within{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:focus-within\\:shadow-inner:focus-within{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:focus-within\\:shadow-none:focus-within{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:hover\\:shadow-sm:hover{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:hover\\:shadow:hover{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:hover\\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:hover\\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:hover\\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:hover\\:shadow-2xl:hover{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:hover\\:shadow-inner:hover{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:hover\\:shadow-none:hover{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:focus\\:shadow-sm:focus{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:focus\\:shadow:focus{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:focus\\:shadow-md:focus{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:focus\\:shadow-lg:focus{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:focus\\:shadow-xl:focus{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:focus\\:shadow-2xl:focus{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:focus\\:shadow-inner:focus{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:focus\\:shadow-none:focus{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:outline-none{outline:2px solid transparent;outline-offset:2px}.lg\\:outline-white{outline:2px dotted white;outline-offset:2px}.lg\\:outline-black{outline:2px dotted black;outline-offset:2px}.lg\\:focus-within\\:outline-none:focus-within{outline:2px solid transparent;outline-offset:2px}.lg\\:focus-within\\:outline-white:focus-within{outline:2px dotted white;outline-offset:2px}.lg\\:focus-within\\:outline-black:focus-within{outline:2px dotted black;outline-offset:2px}.lg\\:focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.lg\\:focus\\:outline-white:focus{outline:2px dotted white;outline-offset:2px}.lg\\:focus\\:outline-black:focus{outline:2px dotted black;outline-offset:2px}.lg\\:ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.lg\\:ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.lg\\:ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.lg\\:ring-4{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.lg\\:ring-8{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.lg\\:ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.lg\\:focus-within\\:ring-0:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.lg\\:focus-within\\:ring-1:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.lg\\:focus-within\\:ring-2:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.lg\\:focus-within\\:ring-4:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.lg\\:focus-within\\:ring-8:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.lg\\:focus-within\\:ring:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.lg\\:focus\\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.lg\\:focus\\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.lg\\:focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.lg\\:focus\\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.lg\\:focus\\:ring-8:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.lg\\:focus\\:ring:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.lg\\:ring-inset{--tw-ring-inset:inset}.lg\\:focus-within\\:ring-inset:focus-within{--tw-ring-inset:inset}.lg\\:focus\\:ring-inset:focus{--tw-ring-inset:inset}.lg\\:ring-transparent{--tw-ring-color:transparent}.lg\\:ring-current{--tw-ring-color:currentColor}.lg\\:ring-white{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.lg\\:ring-lightgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.lg\\:ring-midgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.lg\\:ring-darkgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.lg\\:ring-grey{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.lg\\:ring-black{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.lg\\:ring-highlight{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.lg\\:ring-highlight_hover{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.lg\\:ring-button_outline{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.lg\\:ring-error{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.lg\\:ring-text-light{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.lg\\:ring-text-dimmed{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.lg\\:ring-text-dark{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.lg\\:ring-body-light{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.lg\\:ring-body-dark{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.lg\\:ring-button{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.lg\\:ring-button_hover{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.lg\\:focus-within\\:ring-transparent:focus-within{--tw-ring-color:transparent}.lg\\:focus-within\\:ring-current:focus-within{--tw-ring-color:currentColor}.lg\\:focus-within\\:ring-white:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.lg\\:focus-within\\:ring-lightgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.lg\\:focus-within\\:ring-midgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.lg\\:focus-within\\:ring-darkgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.lg\\:focus-within\\:ring-grey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.lg\\:focus-within\\:ring-black:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.lg\\:focus-within\\:ring-highlight:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.lg\\:focus-within\\:ring-highlight_hover:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.lg\\:focus-within\\:ring-button_outline:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.lg\\:focus-within\\:ring-error:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.lg\\:focus-within\\:ring-text-light:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.lg\\:focus-within\\:ring-text-dimmed:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.lg\\:focus-within\\:ring-text-dark:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.lg\\:focus-within\\:ring-body-light:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.lg\\:focus-within\\:ring-body-dark:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.lg\\:focus-within\\:ring-button:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.lg\\:focus-within\\:ring-button_hover:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.lg\\:focus\\:ring-transparent:focus{--tw-ring-color:transparent}.lg\\:focus\\:ring-current:focus{--tw-ring-color:currentColor}.lg\\:focus\\:ring-white:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.lg\\:focus\\:ring-lightgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.lg\\:focus\\:ring-midgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.lg\\:focus\\:ring-darkgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.lg\\:focus\\:ring-grey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.lg\\:focus\\:ring-black:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.lg\\:focus\\:ring-highlight:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.lg\\:focus\\:ring-highlight_hover:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.lg\\:focus\\:ring-button_outline:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.lg\\:focus\\:ring-error:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.lg\\:focus\\:ring-text-light:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.lg\\:focus\\:ring-text-dimmed:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.lg\\:focus\\:ring-text-dark:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.lg\\:focus\\:ring-body-light:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.lg\\:focus\\:ring-body-dark:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.lg\\:focus\\:ring-button:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.lg\\:focus\\:ring-button_hover:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}@media(prefers-color-scheme: dark){.lg\\:dark\\:ring-transparent{--tw-ring-color:transparent}.lg\\:dark\\:ring-current{--tw-ring-color:currentColor}.lg\\:dark\\:ring-white{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.lg\\:dark\\:ring-lightgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.lg\\:dark\\:ring-midgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.lg\\:dark\\:ring-darkgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.lg\\:dark\\:ring-grey{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.lg\\:dark\\:ring-black{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.lg\\:dark\\:ring-highlight{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.lg\\:dark\\:ring-highlight_hover{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.lg\\:dark\\:ring-button_outline{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.lg\\:dark\\:ring-error{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.lg\\:dark\\:ring-text-light{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.lg\\:dark\\:ring-text-dimmed{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.lg\\:dark\\:ring-text-dark{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.lg\\:dark\\:ring-body-light{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.lg\\:dark\\:ring-body-dark{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.lg\\:dark\\:ring-button{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.lg\\:dark\\:ring-button_hover{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.lg\\:dark\\:focus-within\\:ring-transparent:focus-within{--tw-ring-color:transparent}.lg\\:dark\\:focus-within\\:ring-current:focus-within{--tw-ring-color:currentColor}.lg\\:dark\\:focus-within\\:ring-white:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.lg\\:dark\\:focus-within\\:ring-lightgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.lg\\:dark\\:focus-within\\:ring-midgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.lg\\:dark\\:focus-within\\:ring-darkgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.lg\\:dark\\:focus-within\\:ring-grey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.lg\\:dark\\:focus-within\\:ring-black:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.lg\\:dark\\:focus-within\\:ring-highlight:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.lg\\:dark\\:focus-within\\:ring-highlight_hover:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.lg\\:dark\\:focus-within\\:ring-button_outline:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.lg\\:dark\\:focus-within\\:ring-error:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.lg\\:dark\\:focus-within\\:ring-text-light:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.lg\\:dark\\:focus-within\\:ring-text-dimmed:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.lg\\:dark\\:focus-within\\:ring-text-dark:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.lg\\:dark\\:focus-within\\:ring-body-light:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.lg\\:dark\\:focus-within\\:ring-body-dark:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.lg\\:dark\\:focus-within\\:ring-button:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.lg\\:dark\\:focus-within\\:ring-button_hover:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.lg\\:dark\\:focus\\:ring-transparent:focus{--tw-ring-color:transparent}.lg\\:dark\\:focus\\:ring-current:focus{--tw-ring-color:currentColor}.lg\\:dark\\:focus\\:ring-white:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.lg\\:dark\\:focus\\:ring-lightgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.lg\\:dark\\:focus\\:ring-midgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.lg\\:dark\\:focus\\:ring-darkgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.lg\\:dark\\:focus\\:ring-grey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.lg\\:dark\\:focus\\:ring-black:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.lg\\:dark\\:focus\\:ring-highlight:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.lg\\:dark\\:focus\\:ring-highlight_hover:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.lg\\:dark\\:focus\\:ring-button_outline:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.lg\\:dark\\:focus\\:ring-error:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.lg\\:dark\\:focus\\:ring-text-light:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.lg\\:dark\\:focus\\:ring-text-dimmed:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.lg\\:dark\\:focus\\:ring-text-dark:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.lg\\:dark\\:focus\\:ring-body-light:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.lg\\:dark\\:focus\\:ring-body-dark:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.lg\\:dark\\:focus\\:ring-button:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.lg\\:dark\\:focus\\:ring-button_hover:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}}.lg\\:ring-opacity-0{--tw-ring-opacity:0}.lg\\:ring-opacity-5{--tw-ring-opacity:0.05}.lg\\:ring-opacity-10{--tw-ring-opacity:0.1}.lg\\:ring-opacity-20{--tw-ring-opacity:0.2}.lg\\:ring-opacity-25{--tw-ring-opacity:0.25}.lg\\:ring-opacity-30{--tw-ring-opacity:0.3}.lg\\:ring-opacity-40{--tw-ring-opacity:0.4}.lg\\:ring-opacity-50{--tw-ring-opacity:0.5}.lg\\:ring-opacity-60{--tw-ring-opacity:0.6}.lg\\:ring-opacity-70{--tw-ring-opacity:0.7}.lg\\:ring-opacity-75{--tw-ring-opacity:0.75}.lg\\:ring-opacity-80{--tw-ring-opacity:0.8}.lg\\:ring-opacity-90{--tw-ring-opacity:0.9}.lg\\:ring-opacity-95{--tw-ring-opacity:0.95}.lg\\:ring-opacity-100{--tw-ring-opacity:1}.lg\\:focus-within\\:ring-opacity-0:focus-within{--tw-ring-opacity:0}.lg\\:focus-within\\:ring-opacity-5:focus-within{--tw-ring-opacity:0.05}.lg\\:focus-within\\:ring-opacity-10:focus-within{--tw-ring-opacity:0.1}.lg\\:focus-within\\:ring-opacity-20:focus-within{--tw-ring-opacity:0.2}.lg\\:focus-within\\:ring-opacity-25:focus-within{--tw-ring-opacity:0.25}.lg\\:focus-within\\:ring-opacity-30:focus-within{--tw-ring-opacity:0.3}.lg\\:focus-within\\:ring-opacity-40:focus-within{--tw-ring-opacity:0.4}.lg\\:focus-within\\:ring-opacity-50:focus-within{--tw-ring-opacity:0.5}.lg\\:focus-within\\:ring-opacity-60:focus-within{--tw-ring-opacity:0.6}.lg\\:focus-within\\:ring-opacity-70:focus-within{--tw-ring-opacity:0.7}.lg\\:focus-within\\:ring-opacity-75:focus-within{--tw-ring-opacity:0.75}.lg\\:focus-within\\:ring-opacity-80:focus-within{--tw-ring-opacity:0.8}.lg\\:focus-within\\:ring-opacity-90:focus-within{--tw-ring-opacity:0.9}.lg\\:focus-within\\:ring-opacity-95:focus-within{--tw-ring-opacity:0.95}.lg\\:focus-within\\:ring-opacity-100:focus-within{--tw-ring-opacity:1}.lg\\:focus\\:ring-opacity-0:focus{--tw-ring-opacity:0}.lg\\:focus\\:ring-opacity-5:focus{--tw-ring-opacity:0.05}.lg\\:focus\\:ring-opacity-10:focus{--tw-ring-opacity:0.1}.lg\\:focus\\:ring-opacity-20:focus{--tw-ring-opacity:0.2}.lg\\:focus\\:ring-opacity-25:focus{--tw-ring-opacity:0.25}.lg\\:focus\\:ring-opacity-30:focus{--tw-ring-opacity:0.3}.lg\\:focus\\:ring-opacity-40:focus{--tw-ring-opacity:0.4}.lg\\:focus\\:ring-opacity-50:focus{--tw-ring-opacity:0.5}.lg\\:focus\\:ring-opacity-60:focus{--tw-ring-opacity:0.6}.lg\\:focus\\:ring-opacity-70:focus{--tw-ring-opacity:0.7}.lg\\:focus\\:ring-opacity-75:focus{--tw-ring-opacity:0.75}.lg\\:focus\\:ring-opacity-80:focus{--tw-ring-opacity:0.8}.lg\\:focus\\:ring-opacity-90:focus{--tw-ring-opacity:0.9}.lg\\:focus\\:ring-opacity-95:focus{--tw-ring-opacity:0.95}.lg\\:focus\\:ring-opacity-100:focus{--tw-ring-opacity:1}@media(prefers-color-scheme: dark){.lg\\:dark\\:ring-opacity-0{--tw-ring-opacity:0}.lg\\:dark\\:ring-opacity-5{--tw-ring-opacity:0.05}.lg\\:dark\\:ring-opacity-10{--tw-ring-opacity:0.1}.lg\\:dark\\:ring-opacity-20{--tw-ring-opacity:0.2}.lg\\:dark\\:ring-opacity-25{--tw-ring-opacity:0.25}.lg\\:dark\\:ring-opacity-30{--tw-ring-opacity:0.3}.lg\\:dark\\:ring-opacity-40{--tw-ring-opacity:0.4}.lg\\:dark\\:ring-opacity-50{--tw-ring-opacity:0.5}.lg\\:dark\\:ring-opacity-60{--tw-ring-opacity:0.6}.lg\\:dark\\:ring-opacity-70{--tw-ring-opacity:0.7}.lg\\:dark\\:ring-opacity-75{--tw-ring-opacity:0.75}.lg\\:dark\\:ring-opacity-80{--tw-ring-opacity:0.8}.lg\\:dark\\:ring-opacity-90{--tw-ring-opacity:0.9}.lg\\:dark\\:ring-opacity-95{--tw-ring-opacity:0.95}.lg\\:dark\\:ring-opacity-100{--tw-ring-opacity:1}.lg\\:dark\\:focus-within\\:ring-opacity-0:focus-within{--tw-ring-opacity:0}.lg\\:dark\\:focus-within\\:ring-opacity-5:focus-within{--tw-ring-opacity:0.05}.lg\\:dark\\:focus-within\\:ring-opacity-10:focus-within{--tw-ring-opacity:0.1}.lg\\:dark\\:focus-within\\:ring-opacity-20:focus-within{--tw-ring-opacity:0.2}.lg\\:dark\\:focus-within\\:ring-opacity-25:focus-within{--tw-ring-opacity:0.25}.lg\\:dark\\:focus-within\\:ring-opacity-30:focus-within{--tw-ring-opacity:0.3}.lg\\:dark\\:focus-within\\:ring-opacity-40:focus-within{--tw-ring-opacity:0.4}.lg\\:dark\\:focus-within\\:ring-opacity-50:focus-within{--tw-ring-opacity:0.5}.lg\\:dark\\:focus-within\\:ring-opacity-60:focus-within{--tw-ring-opacity:0.6}.lg\\:dark\\:focus-within\\:ring-opacity-70:focus-within{--tw-ring-opacity:0.7}.lg\\:dark\\:focus-within\\:ring-opacity-75:focus-within{--tw-ring-opacity:0.75}.lg\\:dark\\:focus-within\\:ring-opacity-80:focus-within{--tw-ring-opacity:0.8}.lg\\:dark\\:focus-within\\:ring-opacity-90:focus-within{--tw-ring-opacity:0.9}.lg\\:dark\\:focus-within\\:ring-opacity-95:focus-within{--tw-ring-opacity:0.95}.lg\\:dark\\:focus-within\\:ring-opacity-100:focus-within{--tw-ring-opacity:1}.lg\\:dark\\:focus\\:ring-opacity-0:focus{--tw-ring-opacity:0}.lg\\:dark\\:focus\\:ring-opacity-5:focus{--tw-ring-opacity:0.05}.lg\\:dark\\:focus\\:ring-opacity-10:focus{--tw-ring-opacity:0.1}.lg\\:dark\\:focus\\:ring-opacity-20:focus{--tw-ring-opacity:0.2}.lg\\:dark\\:focus\\:ring-opacity-25:focus{--tw-ring-opacity:0.25}.lg\\:dark\\:focus\\:ring-opacity-30:focus{--tw-ring-opacity:0.3}.lg\\:dark\\:focus\\:ring-opacity-40:focus{--tw-ring-opacity:0.4}.lg\\:dark\\:focus\\:ring-opacity-50:focus{--tw-ring-opacity:0.5}.lg\\:dark\\:focus\\:ring-opacity-60:focus{--tw-ring-opacity:0.6}.lg\\:dark\\:focus\\:ring-opacity-70:focus{--tw-ring-opacity:0.7}.lg\\:dark\\:focus\\:ring-opacity-75:focus{--tw-ring-opacity:0.75}.lg\\:dark\\:focus\\:ring-opacity-80:focus{--tw-ring-opacity:0.8}.lg\\:dark\\:focus\\:ring-opacity-90:focus{--tw-ring-opacity:0.9}.lg\\:dark\\:focus\\:ring-opacity-95:focus{--tw-ring-opacity:0.95}.lg\\:dark\\:focus\\:ring-opacity-100:focus{--tw-ring-opacity:1}}.lg\\:ring-offset-0{--tw-ring-offset-width:0px}.lg\\:ring-offset-1{--tw-ring-offset-width:1px}.lg\\:ring-offset-2{--tw-ring-offset-width:2px}.lg\\:ring-offset-4{--tw-ring-offset-width:4px}.lg\\:ring-offset-8{--tw-ring-offset-width:8px}.lg\\:focus-within\\:ring-offset-0:focus-within{--tw-ring-offset-width:0px}.lg\\:focus-within\\:ring-offset-1:focus-within{--tw-ring-offset-width:1px}.lg\\:focus-within\\:ring-offset-2:focus-within{--tw-ring-offset-width:2px}.lg\\:focus-within\\:ring-offset-4:focus-within{--tw-ring-offset-width:4px}.lg\\:focus-within\\:ring-offset-8:focus-within{--tw-ring-offset-width:8px}.lg\\:focus\\:ring-offset-0:focus{--tw-ring-offset-width:0px}.lg\\:focus\\:ring-offset-1:focus{--tw-ring-offset-width:1px}.lg\\:focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}.lg\\:focus\\:ring-offset-4:focus{--tw-ring-offset-width:4px}.lg\\:focus\\:ring-offset-8:focus{--tw-ring-offset-width:8px}.lg\\:ring-offset-transparent{--tw-ring-offset-color:transparent}.lg\\:ring-offset-current{--tw-ring-offset-color:currentColor}.lg\\:ring-offset-white{--tw-ring-offset-color:#fff}.lg\\:ring-offset-lightgrey{--tw-ring-offset-color:#F7F7F7}.lg\\:ring-offset-midgrey{--tw-ring-offset-color:#cfcfcf}.lg\\:ring-offset-darkgrey{--tw-ring-offset-color:#7f7f7f}.lg\\:ring-offset-grey{--tw-ring-offset-color:#1e1e1e}.lg\\:ring-offset-black{--tw-ring-offset-color:#0f0f0f}.lg\\:ring-offset-highlight{--tw-ring-offset-color:#0071e3}.lg\\:ring-offset-highlight_hover{--tw-ring-offset-color:#0077ed}.lg\\:ring-offset-button_outline{--tw-ring-offset-color:#cfcfcf}.lg\\:ring-offset-error{--tw-ring-offset-color:#ff453a}.lg\\:ring-offset-text-light{--tw-ring-offset-color:#0f0f0f}.lg\\:ring-offset-text-dimmed{--tw-ring-offset-color:#cfcfcf}.lg\\:ring-offset-text-dark{--tw-ring-offset-color:#fff}.lg\\:ring-offset-body-light{--tw-ring-offset-color:#fff}.lg\\:ring-offset-body-dark{--tw-ring-offset-color:#1e1e1e}.lg\\:ring-offset-button{--tw-ring-offset-color:#0071e3}.lg\\:ring-offset-button_hover{--tw-ring-offset-color:#0077ed}.lg\\:focus-within\\:ring-offset-transparent:focus-within{--tw-ring-offset-color:transparent}.lg\\:focus-within\\:ring-offset-current:focus-within{--tw-ring-offset-color:currentColor}.lg\\:focus-within\\:ring-offset-white:focus-within{--tw-ring-offset-color:#fff}.lg\\:focus-within\\:ring-offset-lightgrey:focus-within{--tw-ring-offset-color:#F7F7F7}.lg\\:focus-within\\:ring-offset-midgrey:focus-within{--tw-ring-offset-color:#cfcfcf}.lg\\:focus-within\\:ring-offset-darkgrey:focus-within{--tw-ring-offset-color:#7f7f7f}.lg\\:focus-within\\:ring-offset-grey:focus-within{--tw-ring-offset-color:#1e1e1e}.lg\\:focus-within\\:ring-offset-black:focus-within{--tw-ring-offset-color:#0f0f0f}.lg\\:focus-within\\:ring-offset-highlight:focus-within{--tw-ring-offset-color:#0071e3}.lg\\:focus-within\\:ring-offset-highlight_hover:focus-within{--tw-ring-offset-color:#0077ed}.lg\\:focus-within\\:ring-offset-button_outline:focus-within{--tw-ring-offset-color:#cfcfcf}.lg\\:focus-within\\:ring-offset-error:focus-within{--tw-ring-offset-color:#ff453a}.lg\\:focus-within\\:ring-offset-text-light:focus-within{--tw-ring-offset-color:#0f0f0f}.lg\\:focus-within\\:ring-offset-text-dimmed:focus-within{--tw-ring-offset-color:#cfcfcf}.lg\\:focus-within\\:ring-offset-text-dark:focus-within{--tw-ring-offset-color:#fff}.lg\\:focus-within\\:ring-offset-body-light:focus-within{--tw-ring-offset-color:#fff}.lg\\:focus-within\\:ring-offset-body-dark:focus-within{--tw-ring-offset-color:#1e1e1e}.lg\\:focus-within\\:ring-offset-button:focus-within{--tw-ring-offset-color:#0071e3}.lg\\:focus-within\\:ring-offset-button_hover:focus-within{--tw-ring-offset-color:#0077ed}.lg\\:focus\\:ring-offset-transparent:focus{--tw-ring-offset-color:transparent}.lg\\:focus\\:ring-offset-current:focus{--tw-ring-offset-color:currentColor}.lg\\:focus\\:ring-offset-white:focus{--tw-ring-offset-color:#fff}.lg\\:focus\\:ring-offset-lightgrey:focus{--tw-ring-offset-color:#F7F7F7}.lg\\:focus\\:ring-offset-midgrey:focus{--tw-ring-offset-color:#cfcfcf}.lg\\:focus\\:ring-offset-darkgrey:focus{--tw-ring-offset-color:#7f7f7f}.lg\\:focus\\:ring-offset-grey:focus{--tw-ring-offset-color:#1e1e1e}.lg\\:focus\\:ring-offset-black:focus{--tw-ring-offset-color:#0f0f0f}.lg\\:focus\\:ring-offset-highlight:focus{--tw-ring-offset-color:#0071e3}.lg\\:focus\\:ring-offset-highlight_hover:focus{--tw-ring-offset-color:#0077ed}.lg\\:focus\\:ring-offset-button_outline:focus{--tw-ring-offset-color:#cfcfcf}.lg\\:focus\\:ring-offset-error:focus{--tw-ring-offset-color:#ff453a}.lg\\:focus\\:ring-offset-text-light:focus{--tw-ring-offset-color:#0f0f0f}.lg\\:focus\\:ring-offset-text-dimmed:focus{--tw-ring-offset-color:#cfcfcf}.lg\\:focus\\:ring-offset-text-dark:focus{--tw-ring-offset-color:#fff}.lg\\:focus\\:ring-offset-body-light:focus{--tw-ring-offset-color:#fff}.lg\\:focus\\:ring-offset-body-dark:focus{--tw-ring-offset-color:#1e1e1e}.lg\\:focus\\:ring-offset-button:focus{--tw-ring-offset-color:#0071e3}.lg\\:focus\\:ring-offset-button_hover:focus{--tw-ring-offset-color:#0077ed}@media(prefers-color-scheme: dark){.lg\\:dark\\:ring-offset-transparent{--tw-ring-offset-color:transparent}.lg\\:dark\\:ring-offset-current{--tw-ring-offset-color:currentColor}.lg\\:dark\\:ring-offset-white{--tw-ring-offset-color:#fff}.lg\\:dark\\:ring-offset-lightgrey{--tw-ring-offset-color:#F7F7F7}.lg\\:dark\\:ring-offset-midgrey{--tw-ring-offset-color:#cfcfcf}.lg\\:dark\\:ring-offset-darkgrey{--tw-ring-offset-color:#7f7f7f}.lg\\:dark\\:ring-offset-grey{--tw-ring-offset-color:#1e1e1e}.lg\\:dark\\:ring-offset-black{--tw-ring-offset-color:#0f0f0f}.lg\\:dark\\:ring-offset-highlight{--tw-ring-offset-color:#0071e3}.lg\\:dark\\:ring-offset-highlight_hover{--tw-ring-offset-color:#0077ed}.lg\\:dark\\:ring-offset-button_outline{--tw-ring-offset-color:#cfcfcf}.lg\\:dark\\:ring-offset-error{--tw-ring-offset-color:#ff453a}.lg\\:dark\\:ring-offset-text-light{--tw-ring-offset-color:#0f0f0f}.lg\\:dark\\:ring-offset-text-dimmed{--tw-ring-offset-color:#cfcfcf}.lg\\:dark\\:ring-offset-text-dark{--tw-ring-offset-color:#fff}.lg\\:dark\\:ring-offset-body-light{--tw-ring-offset-color:#fff}.lg\\:dark\\:ring-offset-body-dark{--tw-ring-offset-color:#1e1e1e}.lg\\:dark\\:ring-offset-button{--tw-ring-offset-color:#0071e3}.lg\\:dark\\:ring-offset-button_hover{--tw-ring-offset-color:#0077ed}.lg\\:dark\\:focus-within\\:ring-offset-transparent:focus-within{--tw-ring-offset-color:transparent}.lg\\:dark\\:focus-within\\:ring-offset-current:focus-within{--tw-ring-offset-color:currentColor}.lg\\:dark\\:focus-within\\:ring-offset-white:focus-within{--tw-ring-offset-color:#fff}.lg\\:dark\\:focus-within\\:ring-offset-lightgrey:focus-within{--tw-ring-offset-color:#F7F7F7}.lg\\:dark\\:focus-within\\:ring-offset-midgrey:focus-within{--tw-ring-offset-color:#cfcfcf}.lg\\:dark\\:focus-within\\:ring-offset-darkgrey:focus-within{--tw-ring-offset-color:#7f7f7f}.lg\\:dark\\:focus-within\\:ring-offset-grey:focus-within{--tw-ring-offset-color:#1e1e1e}.lg\\:dark\\:focus-within\\:ring-offset-black:focus-within{--tw-ring-offset-color:#0f0f0f}.lg\\:dark\\:focus-within\\:ring-offset-highlight:focus-within{--tw-ring-offset-color:#0071e3}.lg\\:dark\\:focus-within\\:ring-offset-highlight_hover:focus-within{--tw-ring-offset-color:#0077ed}.lg\\:dark\\:focus-within\\:ring-offset-button_outline:focus-within{--tw-ring-offset-color:#cfcfcf}.lg\\:dark\\:focus-within\\:ring-offset-error:focus-within{--tw-ring-offset-color:#ff453a}.lg\\:dark\\:focus-within\\:ring-offset-text-light:focus-within{--tw-ring-offset-color:#0f0f0f}.lg\\:dark\\:focus-within\\:ring-offset-text-dimmed:focus-within{--tw-ring-offset-color:#cfcfcf}.lg\\:dark\\:focus-within\\:ring-offset-text-dark:focus-within{--tw-ring-offset-color:#fff}.lg\\:dark\\:focus-within\\:ring-offset-body-light:focus-within{--tw-ring-offset-color:#fff}.lg\\:dark\\:focus-within\\:ring-offset-body-dark:focus-within{--tw-ring-offset-color:#1e1e1e}.lg\\:dark\\:focus-within\\:ring-offset-button:focus-within{--tw-ring-offset-color:#0071e3}.lg\\:dark\\:focus-within\\:ring-offset-button_hover:focus-within{--tw-ring-offset-color:#0077ed}.lg\\:dark\\:focus\\:ring-offset-transparent:focus{--tw-ring-offset-color:transparent}.lg\\:dark\\:focus\\:ring-offset-current:focus{--tw-ring-offset-color:currentColor}.lg\\:dark\\:focus\\:ring-offset-white:focus{--tw-ring-offset-color:#fff}.lg\\:dark\\:focus\\:ring-offset-lightgrey:focus{--tw-ring-offset-color:#F7F7F7}.lg\\:dark\\:focus\\:ring-offset-midgrey:focus{--tw-ring-offset-color:#cfcfcf}.lg\\:dark\\:focus\\:ring-offset-darkgrey:focus{--tw-ring-offset-color:#7f7f7f}.lg\\:dark\\:focus\\:ring-offset-grey:focus{--tw-ring-offset-color:#1e1e1e}.lg\\:dark\\:focus\\:ring-offset-black:focus{--tw-ring-offset-color:#0f0f0f}.lg\\:dark\\:focus\\:ring-offset-highlight:focus{--tw-ring-offset-color:#0071e3}.lg\\:dark\\:focus\\:ring-offset-highlight_hover:focus{--tw-ring-offset-color:#0077ed}.lg\\:dark\\:focus\\:ring-offset-button_outline:focus{--tw-ring-offset-color:#cfcfcf}.lg\\:dark\\:focus\\:ring-offset-error:focus{--tw-ring-offset-color:#ff453a}.lg\\:dark\\:focus\\:ring-offset-text-light:focus{--tw-ring-offset-color:#0f0f0f}.lg\\:dark\\:focus\\:ring-offset-text-dimmed:focus{--tw-ring-offset-color:#cfcfcf}.lg\\:dark\\:focus\\:ring-offset-text-dark:focus{--tw-ring-offset-color:#fff}.lg\\:dark\\:focus\\:ring-offset-body-light:focus{--tw-ring-offset-color:#fff}.lg\\:dark\\:focus\\:ring-offset-body-dark:focus{--tw-ring-offset-color:#1e1e1e}.lg\\:dark\\:focus\\:ring-offset-button:focus{--tw-ring-offset-color:#0071e3}.lg\\:dark\\:focus\\:ring-offset-button_hover:focus{--tw-ring-offset-color:#0077ed}}.lg\\:filter{--tw-blur:var(--tw-empty,/*!*/ /*!*/);--tw-brightness:var(--tw-empty,/*!*/ /*!*/);--tw-contrast:var(--tw-empty,/*!*/ /*!*/);--tw-grayscale:var(--tw-empty,/*!*/ /*!*/);--tw-hue-rotate:var(--tw-empty,/*!*/ /*!*/);--tw-invert:var(--tw-empty,/*!*/ /*!*/);--tw-saturate:var(--tw-empty,/*!*/ /*!*/);--tw-sepia:var(--tw-empty,/*!*/ /*!*/);--tw-drop-shadow:var(--tw-empty,/*!*/ /*!*/);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.lg\\:filter-none{filter:none}.lg\\:blur-0{--tw-blur:blur(0)}.lg\\:blur-none{--tw-blur:blur(0)}.lg\\:blur-sm{--tw-blur:blur(4px)}.lg\\:blur{--tw-blur:blur(8px)}.lg\\:blur-md{--tw-blur:blur(12px)}.lg\\:blur-lg{--tw-blur:blur(16px)}.lg\\:blur-xl{--tw-blur:blur(24px)}.lg\\:blur-2xl{--tw-blur:blur(40px)}.lg\\:blur-3xl{--tw-blur:blur(64px)}.lg\\:brightness-0{--tw-brightness:brightness(0)}.lg\\:brightness-50{--tw-brightness:brightness(.5)}.lg\\:brightness-75{--tw-brightness:brightness(.75)}.lg\\:brightness-90{--tw-brightness:brightness(.9)}.lg\\:brightness-95{--tw-brightness:brightness(.95)}.lg\\:brightness-100{--tw-brightness:brightness(1)}.lg\\:brightness-105{--tw-brightness:brightness(1.05)}.lg\\:brightness-110{--tw-brightness:brightness(1.1)}.lg\\:brightness-125{--tw-brightness:brightness(1.25)}.lg\\:brightness-150{--tw-brightness:brightness(1.5)}.lg\\:brightness-200{--tw-brightness:brightness(2)}.lg\\:contrast-0{--tw-contrast:contrast(0)}.lg\\:contrast-50{--tw-contrast:contrast(.5)}.lg\\:contrast-75{--tw-contrast:contrast(.75)}.lg\\:contrast-100{--tw-contrast:contrast(1)}.lg\\:contrast-125{--tw-contrast:contrast(1.25)}.lg\\:contrast-150{--tw-contrast:contrast(1.5)}.lg\\:contrast-200{--tw-contrast:contrast(2)}.lg\\:drop-shadow-sm{--tw-drop-shadow:drop-shadow(0 1px 1px rgba(0,0,0,0.05))}.lg\\:drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1)) drop-shadow(0 1px 1px rgba(0, 0, 0, 0.06))}.lg\\:drop-shadow-md{--tw-drop-shadow:drop-shadow(0 4px 3px rgba(0, 0, 0, 0.07)) drop-shadow(0 2px 2px rgba(0, 0, 0, 0.06))}.lg\\:drop-shadow-lg{--tw-drop-shadow:drop-shadow(0 10px 8px rgba(0, 0, 0, 0.04)) drop-shadow(0 4px 3px rgba(0, 0, 0, 0.1))}.lg\\:drop-shadow-xl{--tw-drop-shadow:drop-shadow(0 20px 13px rgba(0, 0, 0, 0.03)) drop-shadow(0 8px 5px rgba(0, 0, 0, 0.08))}.lg\\:drop-shadow-2xl{--tw-drop-shadow:drop-shadow(0 25px 25px rgba(0, 0, 0, 0.15))}.lg\\:drop-shadow-none{--tw-drop-shadow:drop-shadow(0 0 #0000)}.lg\\:grayscale-0{--tw-grayscale:grayscale(0)}.lg\\:grayscale{--tw-grayscale:grayscale(100%)}.lg\\:hue-rotate-0{--tw-hue-rotate:hue-rotate(0deg)}.lg\\:hue-rotate-15{--tw-hue-rotate:hue-rotate(15deg)}.lg\\:hue-rotate-30{--tw-hue-rotate:hue-rotate(30deg)}.lg\\:hue-rotate-60{--tw-hue-rotate:hue-rotate(60deg)}.lg\\:hue-rotate-90{--tw-hue-rotate:hue-rotate(90deg)}.lg\\:hue-rotate-180{--tw-hue-rotate:hue-rotate(180deg)}.lg\\:-hue-rotate-180{--tw-hue-rotate:hue-rotate(-180deg)}.lg\\:-hue-rotate-90{--tw-hue-rotate:hue-rotate(-90deg)}.lg\\:-hue-rotate-60{--tw-hue-rotate:hue-rotate(-60deg)}.lg\\:-hue-rotate-30{--tw-hue-rotate:hue-rotate(-30deg)}.lg\\:-hue-rotate-15{--tw-hue-rotate:hue-rotate(-15deg)}.lg\\:invert-0{--tw-invert:invert(0)}.lg\\:invert{--tw-invert:invert(100%)}.lg\\:saturate-0{--tw-saturate:saturate(0)}.lg\\:saturate-50{--tw-saturate:saturate(.5)}.lg\\:saturate-100{--tw-saturate:saturate(1)}.lg\\:saturate-150{--tw-saturate:saturate(1.5)}.lg\\:saturate-200{--tw-saturate:saturate(2)}.lg\\:sepia-0{--tw-sepia:sepia(0)}.lg\\:sepia{--tw-sepia:sepia(100%)}.lg\\:backdrop-filter{--tw-backdrop-blur:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-brightness:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-contrast:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-grayscale:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-hue-rotate:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-invert:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-opacity:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-saturate:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-sepia:var(--tw-empty,/*!*/ /*!*/);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.lg\\:backdrop-filter-none{backdrop-filter:none}.lg\\:backdrop-blur-0{--tw-backdrop-blur:blur(0)}.lg\\:backdrop-blur-none{--tw-backdrop-blur:blur(0)}.lg\\:backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.lg\\:backdrop-blur{--tw-backdrop-blur:blur(8px)}.lg\\:backdrop-blur-md{--tw-backdrop-blur:blur(12px)}.lg\\:backdrop-blur-lg{--tw-backdrop-blur:blur(16px)}.lg\\:backdrop-blur-xl{--tw-backdrop-blur:blur(24px)}.lg\\:backdrop-blur-2xl{--tw-backdrop-blur:blur(40px)}.lg\\:backdrop-blur-3xl{--tw-backdrop-blur:blur(64px)}.lg\\:backdrop-brightness-0{--tw-backdrop-brightness:brightness(0)}.lg\\:backdrop-brightness-50{--tw-backdrop-brightness:brightness(.5)}.lg\\:backdrop-brightness-75{--tw-backdrop-brightness:brightness(.75)}.lg\\:backdrop-brightness-90{--tw-backdrop-brightness:brightness(.9)}.lg\\:backdrop-brightness-95{--tw-backdrop-brightness:brightness(.95)}.lg\\:backdrop-brightness-100{--tw-backdrop-brightness:brightness(1)}.lg\\:backdrop-brightness-105{--tw-backdrop-brightness:brightness(1.05)}.lg\\:backdrop-brightness-110{--tw-backdrop-brightness:brightness(1.1)}.lg\\:backdrop-brightness-125{--tw-backdrop-brightness:brightness(1.25)}.lg\\:backdrop-brightness-150{--tw-backdrop-brightness:brightness(1.5)}.lg\\:backdrop-brightness-200{--tw-backdrop-brightness:brightness(2)}.lg\\:backdrop-contrast-0{--tw-backdrop-contrast:contrast(0)}.lg\\:backdrop-contrast-50{--tw-backdrop-contrast:contrast(.5)}.lg\\:backdrop-contrast-75{--tw-backdrop-contrast:contrast(.75)}.lg\\:backdrop-contrast-100{--tw-backdrop-contrast:contrast(1)}.lg\\:backdrop-contrast-125{--tw-backdrop-contrast:contrast(1.25)}.lg\\:backdrop-contrast-150{--tw-backdrop-contrast:contrast(1.5)}.lg\\:backdrop-contrast-200{--tw-backdrop-contrast:contrast(2)}.lg\\:backdrop-grayscale-0{--tw-backdrop-grayscale:grayscale(0)}.lg\\:backdrop-grayscale{--tw-backdrop-grayscale:grayscale(100%)}.lg\\:backdrop-hue-rotate-0{--tw-backdrop-hue-rotate:hue-rotate(0deg)}.lg\\:backdrop-hue-rotate-15{--tw-backdrop-hue-rotate:hue-rotate(15deg)}.lg\\:backdrop-hue-rotate-30{--tw-backdrop-hue-rotate:hue-rotate(30deg)}.lg\\:backdrop-hue-rotate-60{--tw-backdrop-hue-rotate:hue-rotate(60deg)}.lg\\:backdrop-hue-rotate-90{--tw-backdrop-hue-rotate:hue-rotate(90deg)}.lg\\:backdrop-hue-rotate-180{--tw-backdrop-hue-rotate:hue-rotate(180deg)}.lg\\:-backdrop-hue-rotate-180{--tw-backdrop-hue-rotate:hue-rotate(-180deg)}.lg\\:-backdrop-hue-rotate-90{--tw-backdrop-hue-rotate:hue-rotate(-90deg)}.lg\\:-backdrop-hue-rotate-60{--tw-backdrop-hue-rotate:hue-rotate(-60deg)}.lg\\:-backdrop-hue-rotate-30{--tw-backdrop-hue-rotate:hue-rotate(-30deg)}.lg\\:-backdrop-hue-rotate-15{--tw-backdrop-hue-rotate:hue-rotate(-15deg)}.lg\\:backdrop-invert-0{--tw-backdrop-invert:invert(0)}.lg\\:backdrop-invert{--tw-backdrop-invert:invert(100%)}.lg\\:backdrop-opacity-0{--tw-backdrop-opacity:opacity(0)}.lg\\:backdrop-opacity-5{--tw-backdrop-opacity:opacity(0.05)}.lg\\:backdrop-opacity-10{--tw-backdrop-opacity:opacity(0.1)}.lg\\:backdrop-opacity-20{--tw-backdrop-opacity:opacity(0.2)}.lg\\:backdrop-opacity-25{--tw-backdrop-opacity:opacity(0.25)}.lg\\:backdrop-opacity-30{--tw-backdrop-opacity:opacity(0.3)}.lg\\:backdrop-opacity-40{--tw-backdrop-opacity:opacity(0.4)}.lg\\:backdrop-opacity-50{--tw-backdrop-opacity:opacity(0.5)}.lg\\:backdrop-opacity-60{--tw-backdrop-opacity:opacity(0.6)}.lg\\:backdrop-opacity-70{--tw-backdrop-opacity:opacity(0.7)}.lg\\:backdrop-opacity-75{--tw-backdrop-opacity:opacity(0.75)}.lg\\:backdrop-opacity-80{--tw-backdrop-opacity:opacity(0.8)}.lg\\:backdrop-opacity-90{--tw-backdrop-opacity:opacity(0.9)}.lg\\:backdrop-opacity-95{--tw-backdrop-opacity:opacity(0.95)}.lg\\:backdrop-opacity-100{--tw-backdrop-opacity:opacity(1)}.lg\\:backdrop-saturate-0{--tw-backdrop-saturate:saturate(0)}.lg\\:backdrop-saturate-50{--tw-backdrop-saturate:saturate(.5)}.lg\\:backdrop-saturate-100{--tw-backdrop-saturate:saturate(1)}.lg\\:backdrop-saturate-150{--tw-backdrop-saturate:saturate(1.5)}.lg\\:backdrop-saturate-200{--tw-backdrop-saturate:saturate(2)}.lg\\:backdrop-sepia-0{--tw-backdrop-sepia:sepia(0)}.lg\\:backdrop-sepia{--tw-backdrop-sepia:sepia(100%)}.lg\\:transition-none{transition-property:none}.lg\\:transition-all{transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.lg\\:transition{transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.lg\\:transition-colors{transition-property:background-color, border-color, color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.lg\\:transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.lg\\:transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.lg\\:transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.lg\\:delay-75{transition-delay:75ms}.lg\\:delay-100{transition-delay:100ms}.lg\\:delay-150{transition-delay:150ms}.lg\\:delay-200{transition-delay:200ms}.lg\\:delay-300{transition-delay:300ms}.lg\\:delay-500{transition-delay:500ms}.lg\\:delay-700{transition-delay:700ms}.lg\\:delay-1000{transition-delay:1000ms}.lg\\:duration-75{transition-duration:75ms}.lg\\:duration-100{transition-duration:100ms}.lg\\:duration-150{transition-duration:150ms}.lg\\:duration-200{transition-duration:200ms}.lg\\:duration-300{transition-duration:300ms}.lg\\:duration-500{transition-duration:500ms}.lg\\:duration-700{transition-duration:700ms}.lg\\:duration-1000{transition-duration:1000ms}.lg\\:ease-linear{transition-timing-function:linear}.lg\\:ease-in{transition-timing-function:cubic-bezier(0.4, 0, 1, 1)}.lg\\:ease-out{transition-timing-function:cubic-bezier(0, 0, 0.2, 1)}.lg\\:ease-in-out{transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}}@media(min-width: 1280px){.xl\\:container{width:100%}@media(min-width: 640px){.xl\\:container{max-width:640px}}@media(min-width: 768px){.xl\\:container{max-width:768px}}@media(min-width: 1024px){.xl\\:container{max-width:1024px}}@media(min-width: 1280px){.xl\\:container{max-width:1280px}}@media(min-width: 1536px){.xl\\:container{max-width:1536px}}.xl\\:sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.xl\\:not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.xl\\:focus-within\\:sr-only:focus-within{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.xl\\:focus-within\\:not-sr-only:focus-within{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.xl\\:focus\\:sr-only:focus{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.xl\\:focus\\:not-sr-only:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.xl\\:pointer-events-none{pointer-events:none}.xl\\:pointer-events-auto{pointer-events:auto}.xl\\:visible{visibility:visible}.xl\\:invisible{visibility:hidden}.xl\\:static{position:static}.xl\\:fixed{position:fixed}.xl\\:absolute{position:absolute}.xl\\:relative{position:relative}.xl\\:sticky{position:sticky}.xl\\:inset-0{top:0px;right:0px;bottom:0px;left:0px}.xl\\:inset-1{top:0.25rem;right:0.25rem;bottom:0.25rem;left:0.25rem}.xl\\:inset-2{top:0.5rem;right:0.5rem;bottom:0.5rem;left:0.5rem}.xl\\:inset-3{top:0.75rem;right:0.75rem;bottom:0.75rem;left:0.75rem}.xl\\:inset-4{top:1rem;right:1rem;bottom:1rem;left:1rem}.xl\\:inset-5{top:1.25rem;right:1.25rem;bottom:1.25rem;left:1.25rem}.xl\\:inset-6{top:1.5rem;right:1.5rem;bottom:1.5rem;left:1.5rem}.xl\\:inset-7{top:1.75rem;right:1.75rem;bottom:1.75rem;left:1.75rem}.xl\\:inset-8{top:2rem;right:2rem;bottom:2rem;left:2rem}.xl\\:inset-9{top:2.25rem;right:2.25rem;bottom:2.25rem;left:2.25rem}.xl\\:inset-10{top:2.5rem;right:2.5rem;bottom:2.5rem;left:2.5rem}.xl\\:inset-11{top:2.75rem;right:2.75rem;bottom:2.75rem;left:2.75rem}.xl\\:inset-12{top:3rem;right:3rem;bottom:3rem;left:3rem}.xl\\:inset-14{top:3.5rem;right:3.5rem;bottom:3.5rem;left:3.5rem}.xl\\:inset-16{top:4rem;right:4rem;bottom:4rem;left:4rem}.xl\\:inset-20{top:5rem;right:5rem;bottom:5rem;left:5rem}.xl\\:inset-24{top:6rem;right:6rem;bottom:6rem;left:6rem}.xl\\:inset-28{top:7rem;right:7rem;bottom:7rem;left:7rem}.xl\\:inset-32{top:8rem;right:8rem;bottom:8rem;left:8rem}.xl\\:inset-36{top:9rem;right:9rem;bottom:9rem;left:9rem}.xl\\:inset-40{top:10rem;right:10rem;bottom:10rem;left:10rem}.xl\\:inset-44{top:11rem;right:11rem;bottom:11rem;left:11rem}.xl\\:inset-48{top:12rem;right:12rem;bottom:12rem;left:12rem}.xl\\:inset-52{top:13rem;right:13rem;bottom:13rem;left:13rem}.xl\\:inset-56{top:14rem;right:14rem;bottom:14rem;left:14rem}.xl\\:inset-60{top:15rem;right:15rem;bottom:15rem;left:15rem}.xl\\:inset-64{top:16rem;right:16rem;bottom:16rem;left:16rem}.xl\\:inset-72{top:18rem;right:18rem;bottom:18rem;left:18rem}.xl\\:inset-80{top:20rem;right:20rem;bottom:20rem;left:20rem}.xl\\:inset-96{top:24rem;right:24rem;bottom:24rem;left:24rem}.xl\\:inset-auto{top:auto;right:auto;bottom:auto;left:auto}.xl\\:inset-px{top:1px;right:1px;bottom:1px;left:1px}.xl\\:inset-0\\.5{top:0.125rem;right:0.125rem;bottom:0.125rem;left:0.125rem}.xl\\:inset-1\\.5{top:0.375rem;right:0.375rem;bottom:0.375rem;left:0.375rem}.xl\\:inset-2\\.5{top:0.625rem;right:0.625rem;bottom:0.625rem;left:0.625rem}.xl\\:inset-3\\.5{top:0.875rem;right:0.875rem;bottom:0.875rem;left:0.875rem}.xl\\:-inset-0{top:0px;right:0px;bottom:0px;left:0px}.xl\\:-inset-1{top:-0.25rem;right:-0.25rem;bottom:-0.25rem;left:-0.25rem}.xl\\:-inset-2{top:-0.5rem;right:-0.5rem;bottom:-0.5rem;left:-0.5rem}.xl\\:-inset-3{top:-0.75rem;right:-0.75rem;bottom:-0.75rem;left:-0.75rem}.xl\\:-inset-4{top:-1rem;right:-1rem;bottom:-1rem;left:-1rem}.xl\\:-inset-5{top:-1.25rem;right:-1.25rem;bottom:-1.25rem;left:-1.25rem}.xl\\:-inset-6{top:-1.5rem;right:-1.5rem;bottom:-1.5rem;left:-1.5rem}.xl\\:-inset-7{top:-1.75rem;right:-1.75rem;bottom:-1.75rem;left:-1.75rem}.xl\\:-inset-8{top:-2rem;right:-2rem;bottom:-2rem;left:-2rem}.xl\\:-inset-9{top:-2.25rem;right:-2.25rem;bottom:-2.25rem;left:-2.25rem}.xl\\:-inset-10{top:-2.5rem;right:-2.5rem;bottom:-2.5rem;left:-2.5rem}.xl\\:-inset-11{top:-2.75rem;right:-2.75rem;bottom:-2.75rem;left:-2.75rem}.xl\\:-inset-12{top:-3rem;right:-3rem;bottom:-3rem;left:-3rem}.xl\\:-inset-14{top:-3.5rem;right:-3.5rem;bottom:-3.5rem;left:-3.5rem}.xl\\:-inset-16{top:-4rem;right:-4rem;bottom:-4rem;left:-4rem}.xl\\:-inset-20{top:-5rem;right:-5rem;bottom:-5rem;left:-5rem}.xl\\:-inset-24{top:-6rem;right:-6rem;bottom:-6rem;left:-6rem}.xl\\:-inset-28{top:-7rem;right:-7rem;bottom:-7rem;left:-7rem}.xl\\:-inset-32{top:-8rem;right:-8rem;bottom:-8rem;left:-8rem}.xl\\:-inset-36{top:-9rem;right:-9rem;bottom:-9rem;left:-9rem}.xl\\:-inset-40{top:-10rem;right:-10rem;bottom:-10rem;left:-10rem}.xl\\:-inset-44{top:-11rem;right:-11rem;bottom:-11rem;left:-11rem}.xl\\:-inset-48{top:-12rem;right:-12rem;bottom:-12rem;left:-12rem}.xl\\:-inset-52{top:-13rem;right:-13rem;bottom:-13rem;left:-13rem}.xl\\:-inset-56{top:-14rem;right:-14rem;bottom:-14rem;left:-14rem}.xl\\:-inset-60{top:-15rem;right:-15rem;bottom:-15rem;left:-15rem}.xl\\:-inset-64{top:-16rem;right:-16rem;bottom:-16rem;left:-16rem}.xl\\:-inset-72{top:-18rem;right:-18rem;bottom:-18rem;left:-18rem}.xl\\:-inset-80{top:-20rem;right:-20rem;bottom:-20rem;left:-20rem}.xl\\:-inset-96{top:-24rem;right:-24rem;bottom:-24rem;left:-24rem}.xl\\:-inset-px{top:-1px;right:-1px;bottom:-1px;left:-1px}.xl\\:-inset-0\\.5{top:-0.125rem;right:-0.125rem;bottom:-0.125rem;left:-0.125rem}.xl\\:-inset-1\\.5{top:-0.375rem;right:-0.375rem;bottom:-0.375rem;left:-0.375rem}.xl\\:-inset-2\\.5{top:-0.625rem;right:-0.625rem;bottom:-0.625rem;left:-0.625rem}.xl\\:-inset-3\\.5{top:-0.875rem;right:-0.875rem;bottom:-0.875rem;left:-0.875rem}.xl\\:inset-1\\/2{top:50%;right:50%;bottom:50%;left:50%}.xl\\:inset-1\\/3{top:33.333333%;right:33.333333%;bottom:33.333333%;left:33.333333%}.xl\\:inset-2\\/3{top:66.666667%;right:66.666667%;bottom:66.666667%;left:66.666667%}.xl\\:inset-1\\/4{top:25%;right:25%;bottom:25%;left:25%}.xl\\:inset-2\\/4{top:50%;right:50%;bottom:50%;left:50%}.xl\\:inset-3\\/4{top:75%;right:75%;bottom:75%;left:75%}.xl\\:inset-full{top:100%;right:100%;bottom:100%;left:100%}.xl\\:-inset-1\\/2{top:-50%;right:-50%;bottom:-50%;left:-50%}.xl\\:-inset-1\\/3{top:-33.333333%;right:-33.333333%;bottom:-33.333333%;left:-33.333333%}.xl\\:-inset-2\\/3{top:-66.666667%;right:-66.666667%;bottom:-66.666667%;left:-66.666667%}.xl\\:-inset-1\\/4{top:-25%;right:-25%;bottom:-25%;left:-25%}.xl\\:-inset-2\\/4{top:-50%;right:-50%;bottom:-50%;left:-50%}.xl\\:-inset-3\\/4{top:-75%;right:-75%;bottom:-75%;left:-75%}.xl\\:-inset-full{top:-100%;right:-100%;bottom:-100%;left:-100%}.xl\\:inset-x-0{left:0px;right:0px}.xl\\:inset-x-1{left:0.25rem;right:0.25rem}.xl\\:inset-x-2{left:0.5rem;right:0.5rem}.xl\\:inset-x-3{left:0.75rem;right:0.75rem}.xl\\:inset-x-4{left:1rem;right:1rem}.xl\\:inset-x-5{left:1.25rem;right:1.25rem}.xl\\:inset-x-6{left:1.5rem;right:1.5rem}.xl\\:inset-x-7{left:1.75rem;right:1.75rem}.xl\\:inset-x-8{left:2rem;right:2rem}.xl\\:inset-x-9{left:2.25rem;right:2.25rem}.xl\\:inset-x-10{left:2.5rem;right:2.5rem}.xl\\:inset-x-11{left:2.75rem;right:2.75rem}.xl\\:inset-x-12{left:3rem;right:3rem}.xl\\:inset-x-14{left:3.5rem;right:3.5rem}.xl\\:inset-x-16{left:4rem;right:4rem}.xl\\:inset-x-20{left:5rem;right:5rem}.xl\\:inset-x-24{left:6rem;right:6rem}.xl\\:inset-x-28{left:7rem;right:7rem}.xl\\:inset-x-32{left:8rem;right:8rem}.xl\\:inset-x-36{left:9rem;right:9rem}.xl\\:inset-x-40{left:10rem;right:10rem}.xl\\:inset-x-44{left:11rem;right:11rem}.xl\\:inset-x-48{left:12rem;right:12rem}.xl\\:inset-x-52{left:13rem;right:13rem}.xl\\:inset-x-56{left:14rem;right:14rem}.xl\\:inset-x-60{left:15rem;right:15rem}.xl\\:inset-x-64{left:16rem;right:16rem}.xl\\:inset-x-72{left:18rem;right:18rem}.xl\\:inset-x-80{left:20rem;right:20rem}.xl\\:inset-x-96{left:24rem;right:24rem}.xl\\:inset-x-auto{left:auto;right:auto}.xl\\:inset-x-px{left:1px;right:1px}.xl\\:inset-x-0\\.5{left:0.125rem;right:0.125rem}.xl\\:inset-x-1\\.5{left:0.375rem;right:0.375rem}.xl\\:inset-x-2\\.5{left:0.625rem;right:0.625rem}.xl\\:inset-x-3\\.5{left:0.875rem;right:0.875rem}.xl\\:-inset-x-0{left:0px;right:0px}.xl\\:-inset-x-1{left:-0.25rem;right:-0.25rem}.xl\\:-inset-x-2{left:-0.5rem;right:-0.5rem}.xl\\:-inset-x-3{left:-0.75rem;right:-0.75rem}.xl\\:-inset-x-4{left:-1rem;right:-1rem}.xl\\:-inset-x-5{left:-1.25rem;right:-1.25rem}.xl\\:-inset-x-6{left:-1.5rem;right:-1.5rem}.xl\\:-inset-x-7{left:-1.75rem;right:-1.75rem}.xl\\:-inset-x-8{left:-2rem;right:-2rem}.xl\\:-inset-x-9{left:-2.25rem;right:-2.25rem}.xl\\:-inset-x-10{left:-2.5rem;right:-2.5rem}.xl\\:-inset-x-11{left:-2.75rem;right:-2.75rem}.xl\\:-inset-x-12{left:-3rem;right:-3rem}.xl\\:-inset-x-14{left:-3.5rem;right:-3.5rem}.xl\\:-inset-x-16{left:-4rem;right:-4rem}.xl\\:-inset-x-20{left:-5rem;right:-5rem}.xl\\:-inset-x-24{left:-6rem;right:-6rem}.xl\\:-inset-x-28{left:-7rem;right:-7rem}.xl\\:-inset-x-32{left:-8rem;right:-8rem}.xl\\:-inset-x-36{left:-9rem;right:-9rem}.xl\\:-inset-x-40{left:-10rem;right:-10rem}.xl\\:-inset-x-44{left:-11rem;right:-11rem}.xl\\:-inset-x-48{left:-12rem;right:-12rem}.xl\\:-inset-x-52{left:-13rem;right:-13rem}.xl\\:-inset-x-56{left:-14rem;right:-14rem}.xl\\:-inset-x-60{left:-15rem;right:-15rem}.xl\\:-inset-x-64{left:-16rem;right:-16rem}.xl\\:-inset-x-72{left:-18rem;right:-18rem}.xl\\:-inset-x-80{left:-20rem;right:-20rem}.xl\\:-inset-x-96{left:-24rem;right:-24rem}.xl\\:-inset-x-px{left:-1px;right:-1px}.xl\\:-inset-x-0\\.5{left:-0.125rem;right:-0.125rem}.xl\\:-inset-x-1\\.5{left:-0.375rem;right:-0.375rem}.xl\\:-inset-x-2\\.5{left:-0.625rem;right:-0.625rem}.xl\\:-inset-x-3\\.5{left:-0.875rem;right:-0.875rem}.xl\\:inset-x-1\\/2{left:50%;right:50%}.xl\\:inset-x-1\\/3{left:33.333333%;right:33.333333%}.xl\\:inset-x-2\\/3{left:66.666667%;right:66.666667%}.xl\\:inset-x-1\\/4{left:25%;right:25%}.xl\\:inset-x-2\\/4{left:50%;right:50%}.xl\\:inset-x-3\\/4{left:75%;right:75%}.xl\\:inset-x-full{left:100%;right:100%}.xl\\:-inset-x-1\\/2{left:-50%;right:-50%}.xl\\:-inset-x-1\\/3{left:-33.333333%;right:-33.333333%}.xl\\:-inset-x-2\\/3{left:-66.666667%;right:-66.666667%}.xl\\:-inset-x-1\\/4{left:-25%;right:-25%}.xl\\:-inset-x-2\\/4{left:-50%;right:-50%}.xl\\:-inset-x-3\\/4{left:-75%;right:-75%}.xl\\:-inset-x-full{left:-100%;right:-100%}.xl\\:inset-y-0{top:0px;bottom:0px}.xl\\:inset-y-1{top:0.25rem;bottom:0.25rem}.xl\\:inset-y-2{top:0.5rem;bottom:0.5rem}.xl\\:inset-y-3{top:0.75rem;bottom:0.75rem}.xl\\:inset-y-4{top:1rem;bottom:1rem}.xl\\:inset-y-5{top:1.25rem;bottom:1.25rem}.xl\\:inset-y-6{top:1.5rem;bottom:1.5rem}.xl\\:inset-y-7{top:1.75rem;bottom:1.75rem}.xl\\:inset-y-8{top:2rem;bottom:2rem}.xl\\:inset-y-9{top:2.25rem;bottom:2.25rem}.xl\\:inset-y-10{top:2.5rem;bottom:2.5rem}.xl\\:inset-y-11{top:2.75rem;bottom:2.75rem}.xl\\:inset-y-12{top:3rem;bottom:3rem}.xl\\:inset-y-14{top:3.5rem;bottom:3.5rem}.xl\\:inset-y-16{top:4rem;bottom:4rem}.xl\\:inset-y-20{top:5rem;bottom:5rem}.xl\\:inset-y-24{top:6rem;bottom:6rem}.xl\\:inset-y-28{top:7rem;bottom:7rem}.xl\\:inset-y-32{top:8rem;bottom:8rem}.xl\\:inset-y-36{top:9rem;bottom:9rem}.xl\\:inset-y-40{top:10rem;bottom:10rem}.xl\\:inset-y-44{top:11rem;bottom:11rem}.xl\\:inset-y-48{top:12rem;bottom:12rem}.xl\\:inset-y-52{top:13rem;bottom:13rem}.xl\\:inset-y-56{top:14rem;bottom:14rem}.xl\\:inset-y-60{top:15rem;bottom:15rem}.xl\\:inset-y-64{top:16rem;bottom:16rem}.xl\\:inset-y-72{top:18rem;bottom:18rem}.xl\\:inset-y-80{top:20rem;bottom:20rem}.xl\\:inset-y-96{top:24rem;bottom:24rem}.xl\\:inset-y-auto{top:auto;bottom:auto}.xl\\:inset-y-px{top:1px;bottom:1px}.xl\\:inset-y-0\\.5{top:0.125rem;bottom:0.125rem}.xl\\:inset-y-1\\.5{top:0.375rem;bottom:0.375rem}.xl\\:inset-y-2\\.5{top:0.625rem;bottom:0.625rem}.xl\\:inset-y-3\\.5{top:0.875rem;bottom:0.875rem}.xl\\:-inset-y-0{top:0px;bottom:0px}.xl\\:-inset-y-1{top:-0.25rem;bottom:-0.25rem}.xl\\:-inset-y-2{top:-0.5rem;bottom:-0.5rem}.xl\\:-inset-y-3{top:-0.75rem;bottom:-0.75rem}.xl\\:-inset-y-4{top:-1rem;bottom:-1rem}.xl\\:-inset-y-5{top:-1.25rem;bottom:-1.25rem}.xl\\:-inset-y-6{top:-1.5rem;bottom:-1.5rem}.xl\\:-inset-y-7{top:-1.75rem;bottom:-1.75rem}.xl\\:-inset-y-8{top:-2rem;bottom:-2rem}.xl\\:-inset-y-9{top:-2.25rem;bottom:-2.25rem}.xl\\:-inset-y-10{top:-2.5rem;bottom:-2.5rem}.xl\\:-inset-y-11{top:-2.75rem;bottom:-2.75rem}.xl\\:-inset-y-12{top:-3rem;bottom:-3rem}.xl\\:-inset-y-14{top:-3.5rem;bottom:-3.5rem}.xl\\:-inset-y-16{top:-4rem;bottom:-4rem}.xl\\:-inset-y-20{top:-5rem;bottom:-5rem}.xl\\:-inset-y-24{top:-6rem;bottom:-6rem}.xl\\:-inset-y-28{top:-7rem;bottom:-7rem}.xl\\:-inset-y-32{top:-8rem;bottom:-8rem}.xl\\:-inset-y-36{top:-9rem;bottom:-9rem}.xl\\:-inset-y-40{top:-10rem;bottom:-10rem}.xl\\:-inset-y-44{top:-11rem;bottom:-11rem}.xl\\:-inset-y-48{top:-12rem;bottom:-12rem}.xl\\:-inset-y-52{top:-13rem;bottom:-13rem}.xl\\:-inset-y-56{top:-14rem;bottom:-14rem}.xl\\:-inset-y-60{top:-15rem;bottom:-15rem}.xl\\:-inset-y-64{top:-16rem;bottom:-16rem}.xl\\:-inset-y-72{top:-18rem;bottom:-18rem}.xl\\:-inset-y-80{top:-20rem;bottom:-20rem}.xl\\:-inset-y-96{top:-24rem;bottom:-24rem}.xl\\:-inset-y-px{top:-1px;bottom:-1px}.xl\\:-inset-y-0\\.5{top:-0.125rem;bottom:-0.125rem}.xl\\:-inset-y-1\\.5{top:-0.375rem;bottom:-0.375rem}.xl\\:-inset-y-2\\.5{top:-0.625rem;bottom:-0.625rem}.xl\\:-inset-y-3\\.5{top:-0.875rem;bottom:-0.875rem}.xl\\:inset-y-1\\/2{top:50%;bottom:50%}.xl\\:inset-y-1\\/3{top:33.333333%;bottom:33.333333%}.xl\\:inset-y-2\\/3{top:66.666667%;bottom:66.666667%}.xl\\:inset-y-1\\/4{top:25%;bottom:25%}.xl\\:inset-y-2\\/4{top:50%;bottom:50%}.xl\\:inset-y-3\\/4{top:75%;bottom:75%}.xl\\:inset-y-full{top:100%;bottom:100%}.xl\\:-inset-y-1\\/2{top:-50%;bottom:-50%}.xl\\:-inset-y-1\\/3{top:-33.333333%;bottom:-33.333333%}.xl\\:-inset-y-2\\/3{top:-66.666667%;bottom:-66.666667%}.xl\\:-inset-y-1\\/4{top:-25%;bottom:-25%}.xl\\:-inset-y-2\\/4{top:-50%;bottom:-50%}.xl\\:-inset-y-3\\/4{top:-75%;bottom:-75%}.xl\\:-inset-y-full{top:-100%;bottom:-100%}.xl\\:top-0{top:0px}.xl\\:top-1{top:0.25rem}.xl\\:top-2{top:0.5rem}.xl\\:top-3{top:0.75rem}.xl\\:top-4{top:1rem}.xl\\:top-5{top:1.25rem}.xl\\:top-6{top:1.5rem}.xl\\:top-7{top:1.75rem}.xl\\:top-8{top:2rem}.xl\\:top-9{top:2.25rem}.xl\\:top-10{top:2.5rem}.xl\\:top-11{top:2.75rem}.xl\\:top-12{top:3rem}.xl\\:top-14{top:3.5rem}.xl\\:top-16{top:4rem}.xl\\:top-20{top:5rem}.xl\\:top-24{top:6rem}.xl\\:top-28{top:7rem}.xl\\:top-32{top:8rem}.xl\\:top-36{top:9rem}.xl\\:top-40{top:10rem}.xl\\:top-44{top:11rem}.xl\\:top-48{top:12rem}.xl\\:top-52{top:13rem}.xl\\:top-56{top:14rem}.xl\\:top-60{top:15rem}.xl\\:top-64{top:16rem}.xl\\:top-72{top:18rem}.xl\\:top-80{top:20rem}.xl\\:top-96{top:24rem}.xl\\:top-auto{top:auto}.xl\\:top-px{top:1px}.xl\\:top-0\\.5{top:0.125rem}.xl\\:top-1\\.5{top:0.375rem}.xl\\:top-2\\.5{top:0.625rem}.xl\\:top-3\\.5{top:0.875rem}.xl\\:-top-0{top:0px}.xl\\:-top-1{top:-0.25rem}.xl\\:-top-2{top:-0.5rem}.xl\\:-top-3{top:-0.75rem}.xl\\:-top-4{top:-1rem}.xl\\:-top-5{top:-1.25rem}.xl\\:-top-6{top:-1.5rem}.xl\\:-top-7{top:-1.75rem}.xl\\:-top-8{top:-2rem}.xl\\:-top-9{top:-2.25rem}.xl\\:-top-10{top:-2.5rem}.xl\\:-top-11{top:-2.75rem}.xl\\:-top-12{top:-3rem}.xl\\:-top-14{top:-3.5rem}.xl\\:-top-16{top:-4rem}.xl\\:-top-20{top:-5rem}.xl\\:-top-24{top:-6rem}.xl\\:-top-28{top:-7rem}.xl\\:-top-32{top:-8rem}.xl\\:-top-36{top:-9rem}.xl\\:-top-40{top:-10rem}.xl\\:-top-44{top:-11rem}.xl\\:-top-48{top:-12rem}.xl\\:-top-52{top:-13rem}.xl\\:-top-56{top:-14rem}.xl\\:-top-60{top:-15rem}.xl\\:-top-64{top:-16rem}.xl\\:-top-72{top:-18rem}.xl\\:-top-80{top:-20rem}.xl\\:-top-96{top:-24rem}.xl\\:-top-px{top:-1px}.xl\\:-top-0\\.5{top:-0.125rem}.xl\\:-top-1\\.5{top:-0.375rem}.xl\\:-top-2\\.5{top:-0.625rem}.xl\\:-top-3\\.5{top:-0.875rem}.xl\\:top-1\\/2{top:50%}.xl\\:top-1\\/3{top:33.333333%}.xl\\:top-2\\/3{top:66.666667%}.xl\\:top-1\\/4{top:25%}.xl\\:top-2\\/4{top:50%}.xl\\:top-3\\/4{top:75%}.xl\\:top-full{top:100%}.xl\\:-top-1\\/2{top:-50%}.xl\\:-top-1\\/3{top:-33.333333%}.xl\\:-top-2\\/3{top:-66.666667%}.xl\\:-top-1\\/4{top:-25%}.xl\\:-top-2\\/4{top:-50%}.xl\\:-top-3\\/4{top:-75%}.xl\\:-top-full{top:-100%}.xl\\:right-0{right:0px}.xl\\:right-1{right:0.25rem}.xl\\:right-2{right:0.5rem}.xl\\:right-3{right:0.75rem}.xl\\:right-4{right:1rem}.xl\\:right-5{right:1.25rem}.xl\\:right-6{right:1.5rem}.xl\\:right-7{right:1.75rem}.xl\\:right-8{right:2rem}.xl\\:right-9{right:2.25rem}.xl\\:right-10{right:2.5rem}.xl\\:right-11{right:2.75rem}.xl\\:right-12{right:3rem}.xl\\:right-14{right:3.5rem}.xl\\:right-16{right:4rem}.xl\\:right-20{right:5rem}.xl\\:right-24{right:6rem}.xl\\:right-28{right:7rem}.xl\\:right-32{right:8rem}.xl\\:right-36{right:9rem}.xl\\:right-40{right:10rem}.xl\\:right-44{right:11rem}.xl\\:right-48{right:12rem}.xl\\:right-52{right:13rem}.xl\\:right-56{right:14rem}.xl\\:right-60{right:15rem}.xl\\:right-64{right:16rem}.xl\\:right-72{right:18rem}.xl\\:right-80{right:20rem}.xl\\:right-96{right:24rem}.xl\\:right-auto{right:auto}.xl\\:right-px{right:1px}.xl\\:right-0\\.5{right:0.125rem}.xl\\:right-1\\.5{right:0.375rem}.xl\\:right-2\\.5{right:0.625rem}.xl\\:right-3\\.5{right:0.875rem}.xl\\:-right-0{right:0px}.xl\\:-right-1{right:-0.25rem}.xl\\:-right-2{right:-0.5rem}.xl\\:-right-3{right:-0.75rem}.xl\\:-right-4{right:-1rem}.xl\\:-right-5{right:-1.25rem}.xl\\:-right-6{right:-1.5rem}.xl\\:-right-7{right:-1.75rem}.xl\\:-right-8{right:-2rem}.xl\\:-right-9{right:-2.25rem}.xl\\:-right-10{right:-2.5rem}.xl\\:-right-11{right:-2.75rem}.xl\\:-right-12{right:-3rem}.xl\\:-right-14{right:-3.5rem}.xl\\:-right-16{right:-4rem}.xl\\:-right-20{right:-5rem}.xl\\:-right-24{right:-6rem}.xl\\:-right-28{right:-7rem}.xl\\:-right-32{right:-8rem}.xl\\:-right-36{right:-9rem}.xl\\:-right-40{right:-10rem}.xl\\:-right-44{right:-11rem}.xl\\:-right-48{right:-12rem}.xl\\:-right-52{right:-13rem}.xl\\:-right-56{right:-14rem}.xl\\:-right-60{right:-15rem}.xl\\:-right-64{right:-16rem}.xl\\:-right-72{right:-18rem}.xl\\:-right-80{right:-20rem}.xl\\:-right-96{right:-24rem}.xl\\:-right-px{right:-1px}.xl\\:-right-0\\.5{right:-0.125rem}.xl\\:-right-1\\.5{right:-0.375rem}.xl\\:-right-2\\.5{right:-0.625rem}.xl\\:-right-3\\.5{right:-0.875rem}.xl\\:right-1\\/2{right:50%}.xl\\:right-1\\/3{right:33.333333%}.xl\\:right-2\\/3{right:66.666667%}.xl\\:right-1\\/4{right:25%}.xl\\:right-2\\/4{right:50%}.xl\\:right-3\\/4{right:75%}.xl\\:right-full{right:100%}.xl\\:-right-1\\/2{right:-50%}.xl\\:-right-1\\/3{right:-33.333333%}.xl\\:-right-2\\/3{right:-66.666667%}.xl\\:-right-1\\/4{right:-25%}.xl\\:-right-2\\/4{right:-50%}.xl\\:-right-3\\/4{right:-75%}.xl\\:-right-full{right:-100%}.xl\\:bottom-0{bottom:0px}.xl\\:bottom-1{bottom:0.25rem}.xl\\:bottom-2{bottom:0.5rem}.xl\\:bottom-3{bottom:0.75rem}.xl\\:bottom-4{bottom:1rem}.xl\\:bottom-5{bottom:1.25rem}.xl\\:bottom-6{bottom:1.5rem}.xl\\:bottom-7{bottom:1.75rem}.xl\\:bottom-8{bottom:2rem}.xl\\:bottom-9{bottom:2.25rem}.xl\\:bottom-10{bottom:2.5rem}.xl\\:bottom-11{bottom:2.75rem}.xl\\:bottom-12{bottom:3rem}.xl\\:bottom-14{bottom:3.5rem}.xl\\:bottom-16{bottom:4rem}.xl\\:bottom-20{bottom:5rem}.xl\\:bottom-24{bottom:6rem}.xl\\:bottom-28{bottom:7rem}.xl\\:bottom-32{bottom:8rem}.xl\\:bottom-36{bottom:9rem}.xl\\:bottom-40{bottom:10rem}.xl\\:bottom-44{bottom:11rem}.xl\\:bottom-48{bottom:12rem}.xl\\:bottom-52{bottom:13rem}.xl\\:bottom-56{bottom:14rem}.xl\\:bottom-60{bottom:15rem}.xl\\:bottom-64{bottom:16rem}.xl\\:bottom-72{bottom:18rem}.xl\\:bottom-80{bottom:20rem}.xl\\:bottom-96{bottom:24rem}.xl\\:bottom-auto{bottom:auto}.xl\\:bottom-px{bottom:1px}.xl\\:bottom-0\\.5{bottom:0.125rem}.xl\\:bottom-1\\.5{bottom:0.375rem}.xl\\:bottom-2\\.5{bottom:0.625rem}.xl\\:bottom-3\\.5{bottom:0.875rem}.xl\\:-bottom-0{bottom:0px}.xl\\:-bottom-1{bottom:-0.25rem}.xl\\:-bottom-2{bottom:-0.5rem}.xl\\:-bottom-3{bottom:-0.75rem}.xl\\:-bottom-4{bottom:-1rem}.xl\\:-bottom-5{bottom:-1.25rem}.xl\\:-bottom-6{bottom:-1.5rem}.xl\\:-bottom-7{bottom:-1.75rem}.xl\\:-bottom-8{bottom:-2rem}.xl\\:-bottom-9{bottom:-2.25rem}.xl\\:-bottom-10{bottom:-2.5rem}.xl\\:-bottom-11{bottom:-2.75rem}.xl\\:-bottom-12{bottom:-3rem}.xl\\:-bottom-14{bottom:-3.5rem}.xl\\:-bottom-16{bottom:-4rem}.xl\\:-bottom-20{bottom:-5rem}.xl\\:-bottom-24{bottom:-6rem}.xl\\:-bottom-28{bottom:-7rem}.xl\\:-bottom-32{bottom:-8rem}.xl\\:-bottom-36{bottom:-9rem}.xl\\:-bottom-40{bottom:-10rem}.xl\\:-bottom-44{bottom:-11rem}.xl\\:-bottom-48{bottom:-12rem}.xl\\:-bottom-52{bottom:-13rem}.xl\\:-bottom-56{bottom:-14rem}.xl\\:-bottom-60{bottom:-15rem}.xl\\:-bottom-64{bottom:-16rem}.xl\\:-bottom-72{bottom:-18rem}.xl\\:-bottom-80{bottom:-20rem}.xl\\:-bottom-96{bottom:-24rem}.xl\\:-bottom-px{bottom:-1px}.xl\\:-bottom-0\\.5{bottom:-0.125rem}.xl\\:-bottom-1\\.5{bottom:-0.375rem}.xl\\:-bottom-2\\.5{bottom:-0.625rem}.xl\\:-bottom-3\\.5{bottom:-0.875rem}.xl\\:bottom-1\\/2{bottom:50%}.xl\\:bottom-1\\/3{bottom:33.333333%}.xl\\:bottom-2\\/3{bottom:66.666667%}.xl\\:bottom-1\\/4{bottom:25%}.xl\\:bottom-2\\/4{bottom:50%}.xl\\:bottom-3\\/4{bottom:75%}.xl\\:bottom-full{bottom:100%}.xl\\:-bottom-1\\/2{bottom:-50%}.xl\\:-bottom-1\\/3{bottom:-33.333333%}.xl\\:-bottom-2\\/3{bottom:-66.666667%}.xl\\:-bottom-1\\/4{bottom:-25%}.xl\\:-bottom-2\\/4{bottom:-50%}.xl\\:-bottom-3\\/4{bottom:-75%}.xl\\:-bottom-full{bottom:-100%}.xl\\:left-0{left:0px}.xl\\:left-1{left:0.25rem}.xl\\:left-2{left:0.5rem}.xl\\:left-3{left:0.75rem}.xl\\:left-4{left:1rem}.xl\\:left-5{left:1.25rem}.xl\\:left-6{left:1.5rem}.xl\\:left-7{left:1.75rem}.xl\\:left-8{left:2rem}.xl\\:left-9{left:2.25rem}.xl\\:left-10{left:2.5rem}.xl\\:left-11{left:2.75rem}.xl\\:left-12{left:3rem}.xl\\:left-14{left:3.5rem}.xl\\:left-16{left:4rem}.xl\\:left-20{left:5rem}.xl\\:left-24{left:6rem}.xl\\:left-28{left:7rem}.xl\\:left-32{left:8rem}.xl\\:left-36{left:9rem}.xl\\:left-40{left:10rem}.xl\\:left-44{left:11rem}.xl\\:left-48{left:12rem}.xl\\:left-52{left:13rem}.xl\\:left-56{left:14rem}.xl\\:left-60{left:15rem}.xl\\:left-64{left:16rem}.xl\\:left-72{left:18rem}.xl\\:left-80{left:20rem}.xl\\:left-96{left:24rem}.xl\\:left-auto{left:auto}.xl\\:left-px{left:1px}.xl\\:left-0\\.5{left:0.125rem}.xl\\:left-1\\.5{left:0.375rem}.xl\\:left-2\\.5{left:0.625rem}.xl\\:left-3\\.5{left:0.875rem}.xl\\:-left-0{left:0px}.xl\\:-left-1{left:-0.25rem}.xl\\:-left-2{left:-0.5rem}.xl\\:-left-3{left:-0.75rem}.xl\\:-left-4{left:-1rem}.xl\\:-left-5{left:-1.25rem}.xl\\:-left-6{left:-1.5rem}.xl\\:-left-7{left:-1.75rem}.xl\\:-left-8{left:-2rem}.xl\\:-left-9{left:-2.25rem}.xl\\:-left-10{left:-2.5rem}.xl\\:-left-11{left:-2.75rem}.xl\\:-left-12{left:-3rem}.xl\\:-left-14{left:-3.5rem}.xl\\:-left-16{left:-4rem}.xl\\:-left-20{left:-5rem}.xl\\:-left-24{left:-6rem}.xl\\:-left-28{left:-7rem}.xl\\:-left-32{left:-8rem}.xl\\:-left-36{left:-9rem}.xl\\:-left-40{left:-10rem}.xl\\:-left-44{left:-11rem}.xl\\:-left-48{left:-12rem}.xl\\:-left-52{left:-13rem}.xl\\:-left-56{left:-14rem}.xl\\:-left-60{left:-15rem}.xl\\:-left-64{left:-16rem}.xl\\:-left-72{left:-18rem}.xl\\:-left-80{left:-20rem}.xl\\:-left-96{left:-24rem}.xl\\:-left-px{left:-1px}.xl\\:-left-0\\.5{left:-0.125rem}.xl\\:-left-1\\.5{left:-0.375rem}.xl\\:-left-2\\.5{left:-0.625rem}.xl\\:-left-3\\.5{left:-0.875rem}.xl\\:left-1\\/2{left:50%}.xl\\:left-1\\/3{left:33.333333%}.xl\\:left-2\\/3{left:66.666667%}.xl\\:left-1\\/4{left:25%}.xl\\:left-2\\/4{left:50%}.xl\\:left-3\\/4{left:75%}.xl\\:left-full{left:100%}.xl\\:-left-1\\/2{left:-50%}.xl\\:-left-1\\/3{left:-33.333333%}.xl\\:-left-2\\/3{left:-66.666667%}.xl\\:-left-1\\/4{left:-25%}.xl\\:-left-2\\/4{left:-50%}.xl\\:-left-3\\/4{left:-75%}.xl\\:-left-full{left:-100%}.xl\\:isolate{isolation:isolate}.xl\\:isolation-auto{isolation:auto}.xl\\:z-0{z-index:0}.xl\\:z-10{z-index:10}.xl\\:z-20{z-index:20}.xl\\:z-30{z-index:30}.xl\\:z-40{z-index:40}.xl\\:z-50{z-index:50}.xl\\:z-auto{z-index:auto}.xl\\:focus-within\\:z-0:focus-within{z-index:0}.xl\\:focus-within\\:z-10:focus-within{z-index:10}.xl\\:focus-within\\:z-20:focus-within{z-index:20}.xl\\:focus-within\\:z-30:focus-within{z-index:30}.xl\\:focus-within\\:z-40:focus-within{z-index:40}.xl\\:focus-within\\:z-50:focus-within{z-index:50}.xl\\:focus-within\\:z-auto:focus-within{z-index:auto}.xl\\:focus\\:z-0:focus{z-index:0}.xl\\:focus\\:z-10:focus{z-index:10}.xl\\:focus\\:z-20:focus{z-index:20}.xl\\:focus\\:z-30:focus{z-index:30}.xl\\:focus\\:z-40:focus{z-index:40}.xl\\:focus\\:z-50:focus{z-index:50}.xl\\:focus\\:z-auto:focus{z-index:auto}.xl\\:order-1{order:1}.xl\\:order-2{order:2}.xl\\:order-3{order:3}.xl\\:order-4{order:4}.xl\\:order-5{order:5}.xl\\:order-6{order:6}.xl\\:order-7{order:7}.xl\\:order-8{order:8}.xl\\:order-9{order:9}.xl\\:order-10{order:10}.xl\\:order-11{order:11}.xl\\:order-12{order:12}.xl\\:order-first{order:-9999}.xl\\:order-last{order:9999}.xl\\:order-none{order:0}.xl\\:col-auto{grid-column:auto}.xl\\:col-span-1{grid-column:span 1 / span 1}.xl\\:col-span-2{grid-column:span 2 / span 2}.xl\\:col-span-3{grid-column:span 3 / span 3}.xl\\:col-span-4{grid-column:span 4 / span 4}.xl\\:col-span-5{grid-column:span 5 / span 5}.xl\\:col-span-6{grid-column:span 6 / span 6}.xl\\:col-span-7{grid-column:span 7 / span 7}.xl\\:col-span-8{grid-column:span 8 / span 8}.xl\\:col-span-9{grid-column:span 9 / span 9}.xl\\:col-span-10{grid-column:span 10 / span 10}.xl\\:col-span-11{grid-column:span 11 / span 11}.xl\\:col-span-12{grid-column:span 12 / span 12}.xl\\:col-span-full{grid-column:1 / -1}.xl\\:col-start-1{grid-column-start:1}.xl\\:col-start-2{grid-column-start:2}.xl\\:col-start-3{grid-column-start:3}.xl\\:col-start-4{grid-column-start:4}.xl\\:col-start-5{grid-column-start:5}.xl\\:col-start-6{grid-column-start:6}.xl\\:col-start-7{grid-column-start:7}.xl\\:col-start-8{grid-column-start:8}.xl\\:col-start-9{grid-column-start:9}.xl\\:col-start-10{grid-column-start:10}.xl\\:col-start-11{grid-column-start:11}.xl\\:col-start-12{grid-column-start:12}.xl\\:col-start-13{grid-column-start:13}.xl\\:col-start-auto{grid-column-start:auto}.xl\\:col-end-1{grid-column-end:1}.xl\\:col-end-2{grid-column-end:2}.xl\\:col-end-3{grid-column-end:3}.xl\\:col-end-4{grid-column-end:4}.xl\\:col-end-5{grid-column-end:5}.xl\\:col-end-6{grid-column-end:6}.xl\\:col-end-7{grid-column-end:7}.xl\\:col-end-8{grid-column-end:8}.xl\\:col-end-9{grid-column-end:9}.xl\\:col-end-10{grid-column-end:10}.xl\\:col-end-11{grid-column-end:11}.xl\\:col-end-12{grid-column-end:12}.xl\\:col-end-13{grid-column-end:13}.xl\\:col-end-auto{grid-column-end:auto}.xl\\:row-auto{grid-row:auto}.xl\\:row-span-1{grid-row:span 1 / span 1}.xl\\:row-span-2{grid-row:span 2 / span 2}.xl\\:row-span-3{grid-row:span 3 / span 3}.xl\\:row-span-4{grid-row:span 4 / span 4}.xl\\:row-span-5{grid-row:span 5 / span 5}.xl\\:row-span-6{grid-row:span 6 / span 6}.xl\\:row-span-full{grid-row:1 / -1}.xl\\:row-start-1{grid-row-start:1}.xl\\:row-start-2{grid-row-start:2}.xl\\:row-start-3{grid-row-start:3}.xl\\:row-start-4{grid-row-start:4}.xl\\:row-start-5{grid-row-start:5}.xl\\:row-start-6{grid-row-start:6}.xl\\:row-start-7{grid-row-start:7}.xl\\:row-start-auto{grid-row-start:auto}.xl\\:row-end-1{grid-row-end:1}.xl\\:row-end-2{grid-row-end:2}.xl\\:row-end-3{grid-row-end:3}.xl\\:row-end-4{grid-row-end:4}.xl\\:row-end-5{grid-row-end:5}.xl\\:row-end-6{grid-row-end:6}.xl\\:row-end-7{grid-row-end:7}.xl\\:row-end-auto{grid-row-end:auto}.xl\\:float-right{float:right}.xl\\:float-left{float:left}.xl\\:float-none{float:none}.xl\\:clear-left{clear:left}.xl\\:clear-right{clear:right}.xl\\:clear-both{clear:both}.xl\\:clear-none{clear:none}.xl\\:m-0{margin:0px}.xl\\:m-1{margin:0.25rem}.xl\\:m-2{margin:0.5rem}.xl\\:m-3{margin:0.75rem}.xl\\:m-4{margin:1rem}.xl\\:m-5{margin:1.25rem}.xl\\:m-6{margin:1.5rem}.xl\\:m-7{margin:1.75rem}.xl\\:m-8{margin:2rem}.xl\\:m-9{margin:2.25rem}.xl\\:m-10{margin:2.5rem}.xl\\:m-11{margin:2.75rem}.xl\\:m-12{margin:3rem}.xl\\:m-14{margin:3.5rem}.xl\\:m-16{margin:4rem}.xl\\:m-20{margin:5rem}.xl\\:m-24{margin:6rem}.xl\\:m-28{margin:7rem}.xl\\:m-32{margin:8rem}.xl\\:m-36{margin:9rem}.xl\\:m-40{margin:10rem}.xl\\:m-44{margin:11rem}.xl\\:m-48{margin:12rem}.xl\\:m-52{margin:13rem}.xl\\:m-56{margin:14rem}.xl\\:m-60{margin:15rem}.xl\\:m-64{margin:16rem}.xl\\:m-72{margin:18rem}.xl\\:m-80{margin:20rem}.xl\\:m-96{margin:24rem}.xl\\:m-auto{margin:auto}.xl\\:m-px{margin:1px}.xl\\:m-0\\.5{margin:0.125rem}.xl\\:m-1\\.5{margin:0.375rem}.xl\\:m-2\\.5{margin:0.625rem}.xl\\:m-3\\.5{margin:0.875rem}.xl\\:-m-0{margin:0px}.xl\\:-m-1{margin:-0.25rem}.xl\\:-m-2{margin:-0.5rem}.xl\\:-m-3{margin:-0.75rem}.xl\\:-m-4{margin:-1rem}.xl\\:-m-5{margin:-1.25rem}.xl\\:-m-6{margin:-1.5rem}.xl\\:-m-7{margin:-1.75rem}.xl\\:-m-8{margin:-2rem}.xl\\:-m-9{margin:-2.25rem}.xl\\:-m-10{margin:-2.5rem}.xl\\:-m-11{margin:-2.75rem}.xl\\:-m-12{margin:-3rem}.xl\\:-m-14{margin:-3.5rem}.xl\\:-m-16{margin:-4rem}.xl\\:-m-20{margin:-5rem}.xl\\:-m-24{margin:-6rem}.xl\\:-m-28{margin:-7rem}.xl\\:-m-32{margin:-8rem}.xl\\:-m-36{margin:-9rem}.xl\\:-m-40{margin:-10rem}.xl\\:-m-44{margin:-11rem}.xl\\:-m-48{margin:-12rem}.xl\\:-m-52{margin:-13rem}.xl\\:-m-56{margin:-14rem}.xl\\:-m-60{margin:-15rem}.xl\\:-m-64{margin:-16rem}.xl\\:-m-72{margin:-18rem}.xl\\:-m-80{margin:-20rem}.xl\\:-m-96{margin:-24rem}.xl\\:-m-px{margin:-1px}.xl\\:-m-0\\.5{margin:-0.125rem}.xl\\:-m-1\\.5{margin:-0.375rem}.xl\\:-m-2\\.5{margin:-0.625rem}.xl\\:-m-3\\.5{margin:-0.875rem}.xl\\:mx-0{margin-left:0px;margin-right:0px}.xl\\:mx-1{margin-left:0.25rem;margin-right:0.25rem}.xl\\:mx-2{margin-left:0.5rem;margin-right:0.5rem}.xl\\:mx-3{margin-left:0.75rem;margin-right:0.75rem}.xl\\:mx-4{margin-left:1rem;margin-right:1rem}.xl\\:mx-5{margin-left:1.25rem;margin-right:1.25rem}.xl\\:mx-6{margin-left:1.5rem;margin-right:1.5rem}.xl\\:mx-7{margin-left:1.75rem;margin-right:1.75rem}.xl\\:mx-8{margin-left:2rem;margin-right:2rem}.xl\\:mx-9{margin-left:2.25rem;margin-right:2.25rem}.xl\\:mx-10{margin-left:2.5rem;margin-right:2.5rem}.xl\\:mx-11{margin-left:2.75rem;margin-right:2.75rem}.xl\\:mx-12{margin-left:3rem;margin-right:3rem}.xl\\:mx-14{margin-left:3.5rem;margin-right:3.5rem}.xl\\:mx-16{margin-left:4rem;margin-right:4rem}.xl\\:mx-20{margin-left:5rem;margin-right:5rem}.xl\\:mx-24{margin-left:6rem;margin-right:6rem}.xl\\:mx-28{margin-left:7rem;margin-right:7rem}.xl\\:mx-32{margin-left:8rem;margin-right:8rem}.xl\\:mx-36{margin-left:9rem;margin-right:9rem}.xl\\:mx-40{margin-left:10rem;margin-right:10rem}.xl\\:mx-44{margin-left:11rem;margin-right:11rem}.xl\\:mx-48{margin-left:12rem;margin-right:12rem}.xl\\:mx-52{margin-left:13rem;margin-right:13rem}.xl\\:mx-56{margin-left:14rem;margin-right:14rem}.xl\\:mx-60{margin-left:15rem;margin-right:15rem}.xl\\:mx-64{margin-left:16rem;margin-right:16rem}.xl\\:mx-72{margin-left:18rem;margin-right:18rem}.xl\\:mx-80{margin-left:20rem;margin-right:20rem}.xl\\:mx-96{margin-left:24rem;margin-right:24rem}.xl\\:mx-auto{margin-left:auto;margin-right:auto}.xl\\:mx-px{margin-left:1px;margin-right:1px}.xl\\:mx-0\\.5{margin-left:0.125rem;margin-right:0.125rem}.xl\\:mx-1\\.5{margin-left:0.375rem;margin-right:0.375rem}.xl\\:mx-2\\.5{margin-left:0.625rem;margin-right:0.625rem}.xl\\:mx-3\\.5{margin-left:0.875rem;margin-right:0.875rem}.xl\\:-mx-0{margin-left:0px;margin-right:0px}.xl\\:-mx-1{margin-left:-0.25rem;margin-right:-0.25rem}.xl\\:-mx-2{margin-left:-0.5rem;margin-right:-0.5rem}.xl\\:-mx-3{margin-left:-0.75rem;margin-right:-0.75rem}.xl\\:-mx-4{margin-left:-1rem;margin-right:-1rem}.xl\\:-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.xl\\:-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.xl\\:-mx-7{margin-left:-1.75rem;margin-right:-1.75rem}.xl\\:-mx-8{margin-left:-2rem;margin-right:-2rem}.xl\\:-mx-9{margin-left:-2.25rem;margin-right:-2.25rem}.xl\\:-mx-10{margin-left:-2.5rem;margin-right:-2.5rem}.xl\\:-mx-11{margin-left:-2.75rem;margin-right:-2.75rem}.xl\\:-mx-12{margin-left:-3rem;margin-right:-3rem}.xl\\:-mx-14{margin-left:-3.5rem;margin-right:-3.5rem}.xl\\:-mx-16{margin-left:-4rem;margin-right:-4rem}.xl\\:-mx-20{margin-left:-5rem;margin-right:-5rem}.xl\\:-mx-24{margin-left:-6rem;margin-right:-6rem}.xl\\:-mx-28{margin-left:-7rem;margin-right:-7rem}.xl\\:-mx-32{margin-left:-8rem;margin-right:-8rem}.xl\\:-mx-36{margin-left:-9rem;margin-right:-9rem}.xl\\:-mx-40{margin-left:-10rem;margin-right:-10rem}.xl\\:-mx-44{margin-left:-11rem;margin-right:-11rem}.xl\\:-mx-48{margin-left:-12rem;margin-right:-12rem}.xl\\:-mx-52{margin-left:-13rem;margin-right:-13rem}.xl\\:-mx-56{margin-left:-14rem;margin-right:-14rem}.xl\\:-mx-60{margin-left:-15rem;margin-right:-15rem}.xl\\:-mx-64{margin-left:-16rem;margin-right:-16rem}.xl\\:-mx-72{margin-left:-18rem;margin-right:-18rem}.xl\\:-mx-80{margin-left:-20rem;margin-right:-20rem}.xl\\:-mx-96{margin-left:-24rem;margin-right:-24rem}.xl\\:-mx-px{margin-left:-1px;margin-right:-1px}.xl\\:-mx-0\\.5{margin-left:-0.125rem;margin-right:-0.125rem}.xl\\:-mx-1\\.5{margin-left:-0.375rem;margin-right:-0.375rem}.xl\\:-mx-2\\.5{margin-left:-0.625rem;margin-right:-0.625rem}.xl\\:-mx-3\\.5{margin-left:-0.875rem;margin-right:-0.875rem}.xl\\:my-0{margin-top:0px;margin-bottom:0px}.xl\\:my-1{margin-top:0.25rem;margin-bottom:0.25rem}.xl\\:my-2{margin-top:0.5rem;margin-bottom:0.5rem}.xl\\:my-3{margin-top:0.75rem;margin-bottom:0.75rem}.xl\\:my-4{margin-top:1rem;margin-bottom:1rem}.xl\\:my-5{margin-top:1.25rem;margin-bottom:1.25rem}.xl\\:my-6{margin-top:1.5rem;margin-bottom:1.5rem}.xl\\:my-7{margin-top:1.75rem;margin-bottom:1.75rem}.xl\\:my-8{margin-top:2rem;margin-bottom:2rem}.xl\\:my-9{margin-top:2.25rem;margin-bottom:2.25rem}.xl\\:my-10{margin-top:2.5rem;margin-bottom:2.5rem}.xl\\:my-11{margin-top:2.75rem;margin-bottom:2.75rem}.xl\\:my-12{margin-top:3rem;margin-bottom:3rem}.xl\\:my-14{margin-top:3.5rem;margin-bottom:3.5rem}.xl\\:my-16{margin-top:4rem;margin-bottom:4rem}.xl\\:my-20{margin-top:5rem;margin-bottom:5rem}.xl\\:my-24{margin-top:6rem;margin-bottom:6rem}.xl\\:my-28{margin-top:7rem;margin-bottom:7rem}.xl\\:my-32{margin-top:8rem;margin-bottom:8rem}.xl\\:my-36{margin-top:9rem;margin-bottom:9rem}.xl\\:my-40{margin-top:10rem;margin-bottom:10rem}.xl\\:my-44{margin-top:11rem;margin-bottom:11rem}.xl\\:my-48{margin-top:12rem;margin-bottom:12rem}.xl\\:my-52{margin-top:13rem;margin-bottom:13rem}.xl\\:my-56{margin-top:14rem;margin-bottom:14rem}.xl\\:my-60{margin-top:15rem;margin-bottom:15rem}.xl\\:my-64{margin-top:16rem;margin-bottom:16rem}.xl\\:my-72{margin-top:18rem;margin-bottom:18rem}.xl\\:my-80{margin-top:20rem;margin-bottom:20rem}.xl\\:my-96{margin-top:24rem;margin-bottom:24rem}.xl\\:my-auto{margin-top:auto;margin-bottom:auto}.xl\\:my-px{margin-top:1px;margin-bottom:1px}.xl\\:my-0\\.5{margin-top:0.125rem;margin-bottom:0.125rem}.xl\\:my-1\\.5{margin-top:0.375rem;margin-bottom:0.375rem}.xl\\:my-2\\.5{margin-top:0.625rem;margin-bottom:0.625rem}.xl\\:my-3\\.5{margin-top:0.875rem;margin-bottom:0.875rem}.xl\\:-my-0{margin-top:0px;margin-bottom:0px}.xl\\:-my-1{margin-top:-0.25rem;margin-bottom:-0.25rem}.xl\\:-my-2{margin-top:-0.5rem;margin-bottom:-0.5rem}.xl\\:-my-3{margin-top:-0.75rem;margin-bottom:-0.75rem}.xl\\:-my-4{margin-top:-1rem;margin-bottom:-1rem}.xl\\:-my-5{margin-top:-1.25rem;margin-bottom:-1.25rem}.xl\\:-my-6{margin-top:-1.5rem;margin-bottom:-1.5rem}.xl\\:-my-7{margin-top:-1.75rem;margin-bottom:-1.75rem}.xl\\:-my-8{margin-top:-2rem;margin-bottom:-2rem}.xl\\:-my-9{margin-top:-2.25rem;margin-bottom:-2.25rem}.xl\\:-my-10{margin-top:-2.5rem;margin-bottom:-2.5rem}.xl\\:-my-11{margin-top:-2.75rem;margin-bottom:-2.75rem}.xl\\:-my-12{margin-top:-3rem;margin-bottom:-3rem}.xl\\:-my-14{margin-top:-3.5rem;margin-bottom:-3.5rem}.xl\\:-my-16{margin-top:-4rem;margin-bottom:-4rem}.xl\\:-my-20{margin-top:-5rem;margin-bottom:-5rem}.xl\\:-my-24{margin-top:-6rem;margin-bottom:-6rem}.xl\\:-my-28{margin-top:-7rem;margin-bottom:-7rem}.xl\\:-my-32{margin-top:-8rem;margin-bottom:-8rem}.xl\\:-my-36{margin-top:-9rem;margin-bottom:-9rem}.xl\\:-my-40{margin-top:-10rem;margin-bottom:-10rem}.xl\\:-my-44{margin-top:-11rem;margin-bottom:-11rem}.xl\\:-my-48{margin-top:-12rem;margin-bottom:-12rem}.xl\\:-my-52{margin-top:-13rem;margin-bottom:-13rem}.xl\\:-my-56{margin-top:-14rem;margin-bottom:-14rem}.xl\\:-my-60{margin-top:-15rem;margin-bottom:-15rem}.xl\\:-my-64{margin-top:-16rem;margin-bottom:-16rem}.xl\\:-my-72{margin-top:-18rem;margin-bottom:-18rem}.xl\\:-my-80{margin-top:-20rem;margin-bottom:-20rem}.xl\\:-my-96{margin-top:-24rem;margin-bottom:-24rem}.xl\\:-my-px{margin-top:-1px;margin-bottom:-1px}.xl\\:-my-0\\.5{margin-top:-0.125rem;margin-bottom:-0.125rem}.xl\\:-my-1\\.5{margin-top:-0.375rem;margin-bottom:-0.375rem}.xl\\:-my-2\\.5{margin-top:-0.625rem;margin-bottom:-0.625rem}.xl\\:-my-3\\.5{margin-top:-0.875rem;margin-bottom:-0.875rem}.xl\\:mt-0{margin-top:0px}.xl\\:mt-1{margin-top:0.25rem}.xl\\:mt-2{margin-top:0.5rem}.xl\\:mt-3{margin-top:0.75rem}.xl\\:mt-4{margin-top:1rem}.xl\\:mt-5{margin-top:1.25rem}.xl\\:mt-6{margin-top:1.5rem}.xl\\:mt-7{margin-top:1.75rem}.xl\\:mt-8{margin-top:2rem}.xl\\:mt-9{margin-top:2.25rem}.xl\\:mt-10{margin-top:2.5rem}.xl\\:mt-11{margin-top:2.75rem}.xl\\:mt-12{margin-top:3rem}.xl\\:mt-14{margin-top:3.5rem}.xl\\:mt-16{margin-top:4rem}.xl\\:mt-20{margin-top:5rem}.xl\\:mt-24{margin-top:6rem}.xl\\:mt-28{margin-top:7rem}.xl\\:mt-32{margin-top:8rem}.xl\\:mt-36{margin-top:9rem}.xl\\:mt-40{margin-top:10rem}.xl\\:mt-44{margin-top:11rem}.xl\\:mt-48{margin-top:12rem}.xl\\:mt-52{margin-top:13rem}.xl\\:mt-56{margin-top:14rem}.xl\\:mt-60{margin-top:15rem}.xl\\:mt-64{margin-top:16rem}.xl\\:mt-72{margin-top:18rem}.xl\\:mt-80{margin-top:20rem}.xl\\:mt-96{margin-top:24rem}.xl\\:mt-auto{margin-top:auto}.xl\\:mt-px{margin-top:1px}.xl\\:mt-0\\.5{margin-top:0.125rem}.xl\\:mt-1\\.5{margin-top:0.375rem}.xl\\:mt-2\\.5{margin-top:0.625rem}.xl\\:mt-3\\.5{margin-top:0.875rem}.xl\\:-mt-0{margin-top:0px}.xl\\:-mt-1{margin-top:-0.25rem}.xl\\:-mt-2{margin-top:-0.5rem}.xl\\:-mt-3{margin-top:-0.75rem}.xl\\:-mt-4{margin-top:-1rem}.xl\\:-mt-5{margin-top:-1.25rem}.xl\\:-mt-6{margin-top:-1.5rem}.xl\\:-mt-7{margin-top:-1.75rem}.xl\\:-mt-8{margin-top:-2rem}.xl\\:-mt-9{margin-top:-2.25rem}.xl\\:-mt-10{margin-top:-2.5rem}.xl\\:-mt-11{margin-top:-2.75rem}.xl\\:-mt-12{margin-top:-3rem}.xl\\:-mt-14{margin-top:-3.5rem}.xl\\:-mt-16{margin-top:-4rem}.xl\\:-mt-20{margin-top:-5rem}.xl\\:-mt-24{margin-top:-6rem}.xl\\:-mt-28{margin-top:-7rem}.xl\\:-mt-32{margin-top:-8rem}.xl\\:-mt-36{margin-top:-9rem}.xl\\:-mt-40{margin-top:-10rem}.xl\\:-mt-44{margin-top:-11rem}.xl\\:-mt-48{margin-top:-12rem}.xl\\:-mt-52{margin-top:-13rem}.xl\\:-mt-56{margin-top:-14rem}.xl\\:-mt-60{margin-top:-15rem}.xl\\:-mt-64{margin-top:-16rem}.xl\\:-mt-72{margin-top:-18rem}.xl\\:-mt-80{margin-top:-20rem}.xl\\:-mt-96{margin-top:-24rem}.xl\\:-mt-px{margin-top:-1px}.xl\\:-mt-0\\.5{margin-top:-0.125rem}.xl\\:-mt-1\\.5{margin-top:-0.375rem}.xl\\:-mt-2\\.5{margin-top:-0.625rem}.xl\\:-mt-3\\.5{margin-top:-0.875rem}.xl\\:mr-0{margin-right:0px}.xl\\:mr-1{margin-right:0.25rem}.xl\\:mr-2{margin-right:0.5rem}.xl\\:mr-3{margin-right:0.75rem}.xl\\:mr-4{margin-right:1rem}.xl\\:mr-5{margin-right:1.25rem}.xl\\:mr-6{margin-right:1.5rem}.xl\\:mr-7{margin-right:1.75rem}.xl\\:mr-8{margin-right:2rem}.xl\\:mr-9{margin-right:2.25rem}.xl\\:mr-10{margin-right:2.5rem}.xl\\:mr-11{margin-right:2.75rem}.xl\\:mr-12{margin-right:3rem}.xl\\:mr-14{margin-right:3.5rem}.xl\\:mr-16{margin-right:4rem}.xl\\:mr-20{margin-right:5rem}.xl\\:mr-24{margin-right:6rem}.xl\\:mr-28{margin-right:7rem}.xl\\:mr-32{margin-right:8rem}.xl\\:mr-36{margin-right:9rem}.xl\\:mr-40{margin-right:10rem}.xl\\:mr-44{margin-right:11rem}.xl\\:mr-48{margin-right:12rem}.xl\\:mr-52{margin-right:13rem}.xl\\:mr-56{margin-right:14rem}.xl\\:mr-60{margin-right:15rem}.xl\\:mr-64{margin-right:16rem}.xl\\:mr-72{margin-right:18rem}.xl\\:mr-80{margin-right:20rem}.xl\\:mr-96{margin-right:24rem}.xl\\:mr-auto{margin-right:auto}.xl\\:mr-px{margin-right:1px}.xl\\:mr-0\\.5{margin-right:0.125rem}.xl\\:mr-1\\.5{margin-right:0.375rem}.xl\\:mr-2\\.5{margin-right:0.625rem}.xl\\:mr-3\\.5{margin-right:0.875rem}.xl\\:-mr-0{margin-right:0px}.xl\\:-mr-1{margin-right:-0.25rem}.xl\\:-mr-2{margin-right:-0.5rem}.xl\\:-mr-3{margin-right:-0.75rem}.xl\\:-mr-4{margin-right:-1rem}.xl\\:-mr-5{margin-right:-1.25rem}.xl\\:-mr-6{margin-right:-1.5rem}.xl\\:-mr-7{margin-right:-1.75rem}.xl\\:-mr-8{margin-right:-2rem}.xl\\:-mr-9{margin-right:-2.25rem}.xl\\:-mr-10{margin-right:-2.5rem}.xl\\:-mr-11{margin-right:-2.75rem}.xl\\:-mr-12{margin-right:-3rem}.xl\\:-mr-14{margin-right:-3.5rem}.xl\\:-mr-16{margin-right:-4rem}.xl\\:-mr-20{margin-right:-5rem}.xl\\:-mr-24{margin-right:-6rem}.xl\\:-mr-28{margin-right:-7rem}.xl\\:-mr-32{margin-right:-8rem}.xl\\:-mr-36{margin-right:-9rem}.xl\\:-mr-40{margin-right:-10rem}.xl\\:-mr-44{margin-right:-11rem}.xl\\:-mr-48{margin-right:-12rem}.xl\\:-mr-52{margin-right:-13rem}.xl\\:-mr-56{margin-right:-14rem}.xl\\:-mr-60{margin-right:-15rem}.xl\\:-mr-64{margin-right:-16rem}.xl\\:-mr-72{margin-right:-18rem}.xl\\:-mr-80{margin-right:-20rem}.xl\\:-mr-96{margin-right:-24rem}.xl\\:-mr-px{margin-right:-1px}.xl\\:-mr-0\\.5{margin-right:-0.125rem}.xl\\:-mr-1\\.5{margin-right:-0.375rem}.xl\\:-mr-2\\.5{margin-right:-0.625rem}.xl\\:-mr-3\\.5{margin-right:-0.875rem}.xl\\:mb-0{margin-bottom:0px}.xl\\:mb-1{margin-bottom:0.25rem}.xl\\:mb-2{margin-bottom:0.5rem}.xl\\:mb-3{margin-bottom:0.75rem}.xl\\:mb-4{margin-bottom:1rem}.xl\\:mb-5{margin-bottom:1.25rem}.xl\\:mb-6{margin-bottom:1.5rem}.xl\\:mb-7{margin-bottom:1.75rem}.xl\\:mb-8{margin-bottom:2rem}.xl\\:mb-9{margin-bottom:2.25rem}.xl\\:mb-10{margin-bottom:2.5rem}.xl\\:mb-11{margin-bottom:2.75rem}.xl\\:mb-12{margin-bottom:3rem}.xl\\:mb-14{margin-bottom:3.5rem}.xl\\:mb-16{margin-bottom:4rem}.xl\\:mb-20{margin-bottom:5rem}.xl\\:mb-24{margin-bottom:6rem}.xl\\:mb-28{margin-bottom:7rem}.xl\\:mb-32{margin-bottom:8rem}.xl\\:mb-36{margin-bottom:9rem}.xl\\:mb-40{margin-bottom:10rem}.xl\\:mb-44{margin-bottom:11rem}.xl\\:mb-48{margin-bottom:12rem}.xl\\:mb-52{margin-bottom:13rem}.xl\\:mb-56{margin-bottom:14rem}.xl\\:mb-60{margin-bottom:15rem}.xl\\:mb-64{margin-bottom:16rem}.xl\\:mb-72{margin-bottom:18rem}.xl\\:mb-80{margin-bottom:20rem}.xl\\:mb-96{margin-bottom:24rem}.xl\\:mb-auto{margin-bottom:auto}.xl\\:mb-px{margin-bottom:1px}.xl\\:mb-0\\.5{margin-bottom:0.125rem}.xl\\:mb-1\\.5{margin-bottom:0.375rem}.xl\\:mb-2\\.5{margin-bottom:0.625rem}.xl\\:mb-3\\.5{margin-bottom:0.875rem}.xl\\:-mb-0{margin-bottom:0px}.xl\\:-mb-1{margin-bottom:-0.25rem}.xl\\:-mb-2{margin-bottom:-0.5rem}.xl\\:-mb-3{margin-bottom:-0.75rem}.xl\\:-mb-4{margin-bottom:-1rem}.xl\\:-mb-5{margin-bottom:-1.25rem}.xl\\:-mb-6{margin-bottom:-1.5rem}.xl\\:-mb-7{margin-bottom:-1.75rem}.xl\\:-mb-8{margin-bottom:-2rem}.xl\\:-mb-9{margin-bottom:-2.25rem}.xl\\:-mb-10{margin-bottom:-2.5rem}.xl\\:-mb-11{margin-bottom:-2.75rem}.xl\\:-mb-12{margin-bottom:-3rem}.xl\\:-mb-14{margin-bottom:-3.5rem}.xl\\:-mb-16{margin-bottom:-4rem}.xl\\:-mb-20{margin-bottom:-5rem}.xl\\:-mb-24{margin-bottom:-6rem}.xl\\:-mb-28{margin-bottom:-7rem}.xl\\:-mb-32{margin-bottom:-8rem}.xl\\:-mb-36{margin-bottom:-9rem}.xl\\:-mb-40{margin-bottom:-10rem}.xl\\:-mb-44{margin-bottom:-11rem}.xl\\:-mb-48{margin-bottom:-12rem}.xl\\:-mb-52{margin-bottom:-13rem}.xl\\:-mb-56{margin-bottom:-14rem}.xl\\:-mb-60{margin-bottom:-15rem}.xl\\:-mb-64{margin-bottom:-16rem}.xl\\:-mb-72{margin-bottom:-18rem}.xl\\:-mb-80{margin-bottom:-20rem}.xl\\:-mb-96{margin-bottom:-24rem}.xl\\:-mb-px{margin-bottom:-1px}.xl\\:-mb-0\\.5{margin-bottom:-0.125rem}.xl\\:-mb-1\\.5{margin-bottom:-0.375rem}.xl\\:-mb-2\\.5{margin-bottom:-0.625rem}.xl\\:-mb-3\\.5{margin-bottom:-0.875rem}.xl\\:ml-0{margin-left:0px}.xl\\:ml-1{margin-left:0.25rem}.xl\\:ml-2{margin-left:0.5rem}.xl\\:ml-3{margin-left:0.75rem}.xl\\:ml-4{margin-left:1rem}.xl\\:ml-5{margin-left:1.25rem}.xl\\:ml-6{margin-left:1.5rem}.xl\\:ml-7{margin-left:1.75rem}.xl\\:ml-8{margin-left:2rem}.xl\\:ml-9{margin-left:2.25rem}.xl\\:ml-10{margin-left:2.5rem}.xl\\:ml-11{margin-left:2.75rem}.xl\\:ml-12{margin-left:3rem}.xl\\:ml-14{margin-left:3.5rem}.xl\\:ml-16{margin-left:4rem}.xl\\:ml-20{margin-left:5rem}.xl\\:ml-24{margin-left:6rem}.xl\\:ml-28{margin-left:7rem}.xl\\:ml-32{margin-left:8rem}.xl\\:ml-36{margin-left:9rem}.xl\\:ml-40{margin-left:10rem}.xl\\:ml-44{margin-left:11rem}.xl\\:ml-48{margin-left:12rem}.xl\\:ml-52{margin-left:13rem}.xl\\:ml-56{margin-left:14rem}.xl\\:ml-60{margin-left:15rem}.xl\\:ml-64{margin-left:16rem}.xl\\:ml-72{margin-left:18rem}.xl\\:ml-80{margin-left:20rem}.xl\\:ml-96{margin-left:24rem}.xl\\:ml-auto{margin-left:auto}.xl\\:ml-px{margin-left:1px}.xl\\:ml-0\\.5{margin-left:0.125rem}.xl\\:ml-1\\.5{margin-left:0.375rem}.xl\\:ml-2\\.5{margin-left:0.625rem}.xl\\:ml-3\\.5{margin-left:0.875rem}.xl\\:-ml-0{margin-left:0px}.xl\\:-ml-1{margin-left:-0.25rem}.xl\\:-ml-2{margin-left:-0.5rem}.xl\\:-ml-3{margin-left:-0.75rem}.xl\\:-ml-4{margin-left:-1rem}.xl\\:-ml-5{margin-left:-1.25rem}.xl\\:-ml-6{margin-left:-1.5rem}.xl\\:-ml-7{margin-left:-1.75rem}.xl\\:-ml-8{margin-left:-2rem}.xl\\:-ml-9{margin-left:-2.25rem}.xl\\:-ml-10{margin-left:-2.5rem}.xl\\:-ml-11{margin-left:-2.75rem}.xl\\:-ml-12{margin-left:-3rem}.xl\\:-ml-14{margin-left:-3.5rem}.xl\\:-ml-16{margin-left:-4rem}.xl\\:-ml-20{margin-left:-5rem}.xl\\:-ml-24{margin-left:-6rem}.xl\\:-ml-28{margin-left:-7rem}.xl\\:-ml-32{margin-left:-8rem}.xl\\:-ml-36{margin-left:-9rem}.xl\\:-ml-40{margin-left:-10rem}.xl\\:-ml-44{margin-left:-11rem}.xl\\:-ml-48{margin-left:-12rem}.xl\\:-ml-52{margin-left:-13rem}.xl\\:-ml-56{margin-left:-14rem}.xl\\:-ml-60{margin-left:-15rem}.xl\\:-ml-64{margin-left:-16rem}.xl\\:-ml-72{margin-left:-18rem}.xl\\:-ml-80{margin-left:-20rem}.xl\\:-ml-96{margin-left:-24rem}.xl\\:-ml-px{margin-left:-1px}.xl\\:-ml-0\\.5{margin-left:-0.125rem}.xl\\:-ml-1\\.5{margin-left:-0.375rem}.xl\\:-ml-2\\.5{margin-left:-0.625rem}.xl\\:-ml-3\\.5{margin-left:-0.875rem}.xl\\:box-border{box-sizing:border-box}.xl\\:box-content{box-sizing:content-box}.xl\\:block{display:block}.xl\\:inline-block{display:inline-block}.xl\\:inline{display:inline}.xl\\:flex{display:flex}.xl\\:inline-flex{display:inline-flex}.xl\\:table{display:table}.xl\\:inline-table{display:inline-table}.xl\\:table-caption{display:table-caption}.xl\\:table-cell{display:table-cell}.xl\\:table-column{display:table-column}.xl\\:table-column-group{display:table-column-group}.xl\\:table-footer-group{display:table-footer-group}.xl\\:table-header-group{display:table-header-group}.xl\\:table-row-group{display:table-row-group}.xl\\:table-row{display:table-row}.xl\\:flow-root{display:flow-root}.xl\\:grid{display:grid}.xl\\:inline-grid{display:inline-grid}.xl\\:contents{display:contents}.xl\\:list-item{display:list-item}.xl\\:hidden{display:none}.xl\\:h-0{height:0px}.xl\\:h-1{height:0.25rem}.xl\\:h-2{height:0.5rem}.xl\\:h-3{height:0.75rem}.xl\\:h-4{height:1rem}.xl\\:h-5{height:1.25rem}.xl\\:h-6{height:1.5rem}.xl\\:h-7{height:1.75rem}.xl\\:h-8{height:2rem}.xl\\:h-9{height:2.25rem}.xl\\:h-10{height:2.5rem}.xl\\:h-11{height:2.75rem}.xl\\:h-12{height:3rem}.xl\\:h-14{height:3.5rem}.xl\\:h-16{height:4rem}.xl\\:h-20{height:5rem}.xl\\:h-24{height:6rem}.xl\\:h-28{height:7rem}.xl\\:h-32{height:8rem}.xl\\:h-36{height:9rem}.xl\\:h-40{height:10rem}.xl\\:h-44{height:11rem}.xl\\:h-48{height:12rem}.xl\\:h-52{height:13rem}.xl\\:h-56{height:14rem}.xl\\:h-60{height:15rem}.xl\\:h-64{height:16rem}.xl\\:h-72{height:18rem}.xl\\:h-80{height:20rem}.xl\\:h-96{height:24rem}.xl\\:h-auto{height:auto}.xl\\:h-px{height:1px}.xl\\:h-0\\.5{height:0.125rem}.xl\\:h-1\\.5{height:0.375rem}.xl\\:h-2\\.5{height:0.625rem}.xl\\:h-3\\.5{height:0.875rem}.xl\\:h-1\\/2{height:50%}.xl\\:h-1\\/3{height:33.333333%}.xl\\:h-2\\/3{height:66.666667%}.xl\\:h-1\\/4{height:25%}.xl\\:h-2\\/4{height:50%}.xl\\:h-3\\/4{height:75%}.xl\\:h-1\\/5{height:20%}.xl\\:h-2\\/5{height:40%}.xl\\:h-3\\/5{height:60%}.xl\\:h-4\\/5{height:80%}.xl\\:h-1\\/6{height:16.666667%}.xl\\:h-2\\/6{height:33.333333%}.xl\\:h-3\\/6{height:50%}.xl\\:h-4\\/6{height:66.666667%}.xl\\:h-5\\/6{height:83.333333%}.xl\\:h-full{height:100%}.xl\\:h-screen{height:100vh}.xl\\:h-XS{height:250px}.xl\\:h-S{height:500px}.xl\\:h-M{height:750px}.xl\\:h-L{height:1000px}.xl\\:h-XL{height:1250px}.xl\\:h-XXL{height:1500px}.xl\\:max-h-0{max-height:0px}.xl\\:max-h-1{max-height:0.25rem}.xl\\:max-h-2{max-height:0.5rem}.xl\\:max-h-3{max-height:0.75rem}.xl\\:max-h-4{max-height:1rem}.xl\\:max-h-5{max-height:1.25rem}.xl\\:max-h-6{max-height:1.5rem}.xl\\:max-h-7{max-height:1.75rem}.xl\\:max-h-8{max-height:2rem}.xl\\:max-h-9{max-height:2.25rem}.xl\\:max-h-10{max-height:2.5rem}.xl\\:max-h-11{max-height:2.75rem}.xl\\:max-h-12{max-height:3rem}.xl\\:max-h-14{max-height:3.5rem}.xl\\:max-h-16{max-height:4rem}.xl\\:max-h-20{max-height:5rem}.xl\\:max-h-24{max-height:6rem}.xl\\:max-h-28{max-height:7rem}.xl\\:max-h-32{max-height:8rem}.xl\\:max-h-36{max-height:9rem}.xl\\:max-h-40{max-height:10rem}.xl\\:max-h-44{max-height:11rem}.xl\\:max-h-48{max-height:12rem}.xl\\:max-h-52{max-height:13rem}.xl\\:max-h-56{max-height:14rem}.xl\\:max-h-60{max-height:15rem}.xl\\:max-h-64{max-height:16rem}.xl\\:max-h-72{max-height:18rem}.xl\\:max-h-80{max-height:20rem}.xl\\:max-h-96{max-height:24rem}.xl\\:max-h-px{max-height:1px}.xl\\:max-h-0\\.5{max-height:0.125rem}.xl\\:max-h-1\\.5{max-height:0.375rem}.xl\\:max-h-2\\.5{max-height:0.625rem}.xl\\:max-h-3\\.5{max-height:0.875rem}.xl\\:max-h-full{max-height:100%}.xl\\:max-h-screen{max-height:100vh}.xl\\:max-h-XS{max-height:250px}.xl\\:max-h-S{max-height:500px}.xl\\:max-h-M{max-height:750px}.xl\\:max-h-L{max-height:1000px}.xl\\:max-h-XL{max-height:1250px}.xl\\:max-h-XXL{max-height:1500px}.xl\\:min-h-0{min-height:0px}.xl\\:min-h-full{min-height:100%}.xl\\:min-h-screen{min-height:100vh}.xl\\:w-0{width:0px}.xl\\:w-1{width:0.25rem}.xl\\:w-2{width:0.5rem}.xl\\:w-3{width:0.75rem}.xl\\:w-4{width:1rem}.xl\\:w-5{width:1.25rem}.xl\\:w-6{width:1.5rem}.xl\\:w-7{width:1.75rem}.xl\\:w-8{width:2rem}.xl\\:w-9{width:2.25rem}.xl\\:w-10{width:2.5rem}.xl\\:w-11{width:2.75rem}.xl\\:w-12{width:3rem}.xl\\:w-14{width:3.5rem}.xl\\:w-16{width:4rem}.xl\\:w-20{width:5rem}.xl\\:w-24{width:6rem}.xl\\:w-28{width:7rem}.xl\\:w-32{width:8rem}.xl\\:w-36{width:9rem}.xl\\:w-40{width:10rem}.xl\\:w-44{width:11rem}.xl\\:w-48{width:12rem}.xl\\:w-52{width:13rem}.xl\\:w-56{width:14rem}.xl\\:w-60{width:15rem}.xl\\:w-64{width:16rem}.xl\\:w-72{width:18rem}.xl\\:w-80{width:20rem}.xl\\:w-96{width:24rem}.xl\\:w-auto{width:auto}.xl\\:w-px{width:1px}.xl\\:w-0\\.5{width:0.125rem}.xl\\:w-1\\.5{width:0.375rem}.xl\\:w-2\\.5{width:0.625rem}.xl\\:w-3\\.5{width:0.875rem}.xl\\:w-1\\/2{width:50%}.xl\\:w-1\\/3{width:33.333333%}.xl\\:w-2\\/3{width:66.666667%}.xl\\:w-1\\/4{width:25%}.xl\\:w-2\\/4{width:50%}.xl\\:w-3\\/4{width:75%}.xl\\:w-1\\/5{width:20%}.xl\\:w-2\\/5{width:40%}.xl\\:w-3\\/5{width:60%}.xl\\:w-4\\/5{width:80%}.xl\\:w-1\\/6{width:16.666667%}.xl\\:w-2\\/6{width:33.333333%}.xl\\:w-3\\/6{width:50%}.xl\\:w-4\\/6{width:66.666667%}.xl\\:w-5\\/6{width:83.333333%}.xl\\:w-1\\/12{width:8.333333%}.xl\\:w-2\\/12{width:16.666667%}.xl\\:w-3\\/12{width:25%}.xl\\:w-4\\/12{width:33.333333%}.xl\\:w-5\\/12{width:41.666667%}.xl\\:w-6\\/12{width:50%}.xl\\:w-7\\/12{width:58.333333%}.xl\\:w-8\\/12{width:66.666667%}.xl\\:w-9\\/12{width:75%}.xl\\:w-10\\/12{width:83.333333%}.xl\\:w-11\\/12{width:91.666667%}.xl\\:w-full{width:100%}.xl\\:w-screen{width:100vw}.xl\\:w-min{width:min-content}.xl\\:w-max{width:max-content}.xl\\:min-w-0{min-width:0px}.xl\\:min-w-full{min-width:100%}.xl\\:min-w-min{min-width:min-content}.xl\\:min-w-max{min-width:max-content}.xl\\:max-w-0{max-width:0rem}.xl\\:max-w-none{max-width:none}.xl\\:max-w-xs{max-width:20rem}.xl\\:max-w-sm{max-width:24rem}.xl\\:max-w-md{max-width:28rem}.xl\\:max-w-lg{max-width:32rem}.xl\\:max-w-xl{max-width:36rem}.xl\\:max-w-2xl{max-width:42rem}.xl\\:max-w-3xl{max-width:48rem}.xl\\:max-w-4xl{max-width:56rem}.xl\\:max-w-5xl{max-width:64rem}.xl\\:max-w-6xl{max-width:72rem}.xl\\:max-w-7xl{max-width:80rem}.xl\\:max-w-full{max-width:100%}.xl\\:max-w-min{max-width:min-content}.xl\\:max-w-max{max-width:max-content}.xl\\:max-w-prose{max-width:65ch}.xl\\:max-w-screen-sm{max-width:640px}.xl\\:max-w-screen-md{max-width:768px}.xl\\:max-w-screen-lg{max-width:1024px}.xl\\:max-w-screen-xl{max-width:1280px}.xl\\:max-w-screen-2xl{max-width:1536px}.xl\\:flex-1{flex:1 1 0%}.xl\\:flex-auto{flex:1 1 auto}.xl\\:flex-initial{flex:0 1 auto}.xl\\:flex-none{flex:none}.xl\\:flex-shrink-0{flex-shrink:0}.xl\\:flex-shrink{flex-shrink:1}.xl\\:flex-grow-0{flex-grow:0}.xl\\:flex-grow{flex-grow:1}.xl\\:table-auto{table-layout:auto}.xl\\:table-fixed{table-layout:fixed}.xl\\:border-collapse{border-collapse:collapse}.xl\\:border-separate{border-collapse:separate}.xl\\:origin-center{transform-origin:center}.xl\\:origin-top{transform-origin:top}.xl\\:origin-top-right{transform-origin:top right}.xl\\:origin-right{transform-origin:right}.xl\\:origin-bottom-right{transform-origin:bottom right}.xl\\:origin-bottom{transform-origin:bottom}.xl\\:origin-bottom-left{transform-origin:bottom left}.xl\\:origin-left{transform-origin:left}.xl\\:origin-top-left{transform-origin:top left}.xl\\:transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.xl\\:transform-gpu{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translate3d(var(--tw-translate-x), var(--tw-translate-y), 0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.xl\\:transform-none{transform:none}.xl\\:translate-x-0{--tw-translate-x:0px}.xl\\:translate-x-1{--tw-translate-x:0.25rem}.xl\\:translate-x-2{--tw-translate-x:0.5rem}.xl\\:translate-x-3{--tw-translate-x:0.75rem}.xl\\:translate-x-4{--tw-translate-x:1rem}.xl\\:translate-x-5{--tw-translate-x:1.25rem}.xl\\:translate-x-6{--tw-translate-x:1.5rem}.xl\\:translate-x-7{--tw-translate-x:1.75rem}.xl\\:translate-x-8{--tw-translate-x:2rem}.xl\\:translate-x-9{--tw-translate-x:2.25rem}.xl\\:translate-x-10{--tw-translate-x:2.5rem}.xl\\:translate-x-11{--tw-translate-x:2.75rem}.xl\\:translate-x-12{--tw-translate-x:3rem}.xl\\:translate-x-14{--tw-translate-x:3.5rem}.xl\\:translate-x-16{--tw-translate-x:4rem}.xl\\:translate-x-20{--tw-translate-x:5rem}.xl\\:translate-x-24{--tw-translate-x:6rem}.xl\\:translate-x-28{--tw-translate-x:7rem}.xl\\:translate-x-32{--tw-translate-x:8rem}.xl\\:translate-x-36{--tw-translate-x:9rem}.xl\\:translate-x-40{--tw-translate-x:10rem}.xl\\:translate-x-44{--tw-translate-x:11rem}.xl\\:translate-x-48{--tw-translate-x:12rem}.xl\\:translate-x-52{--tw-translate-x:13rem}.xl\\:translate-x-56{--tw-translate-x:14rem}.xl\\:translate-x-60{--tw-translate-x:15rem}.xl\\:translate-x-64{--tw-translate-x:16rem}.xl\\:translate-x-72{--tw-translate-x:18rem}.xl\\:translate-x-80{--tw-translate-x:20rem}.xl\\:translate-x-96{--tw-translate-x:24rem}.xl\\:translate-x-px{--tw-translate-x:1px}.xl\\:translate-x-0\\.5{--tw-translate-x:0.125rem}.xl\\:translate-x-1\\.5{--tw-translate-x:0.375rem}.xl\\:translate-x-2\\.5{--tw-translate-x:0.625rem}.xl\\:translate-x-3\\.5{--tw-translate-x:0.875rem}.xl\\:-translate-x-0{--tw-translate-x:0px}.xl\\:-translate-x-1{--tw-translate-x:-0.25rem}.xl\\:-translate-x-2{--tw-translate-x:-0.5rem}.xl\\:-translate-x-3{--tw-translate-x:-0.75rem}.xl\\:-translate-x-4{--tw-translate-x:-1rem}.xl\\:-translate-x-5{--tw-translate-x:-1.25rem}.xl\\:-translate-x-6{--tw-translate-x:-1.5rem}.xl\\:-translate-x-7{--tw-translate-x:-1.75rem}.xl\\:-translate-x-8{--tw-translate-x:-2rem}.xl\\:-translate-x-9{--tw-translate-x:-2.25rem}.xl\\:-translate-x-10{--tw-translate-x:-2.5rem}.xl\\:-translate-x-11{--tw-translate-x:-2.75rem}.xl\\:-translate-x-12{--tw-translate-x:-3rem}.xl\\:-translate-x-14{--tw-translate-x:-3.5rem}.xl\\:-translate-x-16{--tw-translate-x:-4rem}.xl\\:-translate-x-20{--tw-translate-x:-5rem}.xl\\:-translate-x-24{--tw-translate-x:-6rem}.xl\\:-translate-x-28{--tw-translate-x:-7rem}.xl\\:-translate-x-32{--tw-translate-x:-8rem}.xl\\:-translate-x-36{--tw-translate-x:-9rem}.xl\\:-translate-x-40{--tw-translate-x:-10rem}.xl\\:-translate-x-44{--tw-translate-x:-11rem}.xl\\:-translate-x-48{--tw-translate-x:-12rem}.xl\\:-translate-x-52{--tw-translate-x:-13rem}.xl\\:-translate-x-56{--tw-translate-x:-14rem}.xl\\:-translate-x-60{--tw-translate-x:-15rem}.xl\\:-translate-x-64{--tw-translate-x:-16rem}.xl\\:-translate-x-72{--tw-translate-x:-18rem}.xl\\:-translate-x-80{--tw-translate-x:-20rem}.xl\\:-translate-x-96{--tw-translate-x:-24rem}.xl\\:-translate-x-px{--tw-translate-x:-1px}.xl\\:-translate-x-0\\.5{--tw-translate-x:-0.125rem}.xl\\:-translate-x-1\\.5{--tw-translate-x:-0.375rem}.xl\\:-translate-x-2\\.5{--tw-translate-x:-0.625rem}.xl\\:-translate-x-3\\.5{--tw-translate-x:-0.875rem}.xl\\:translate-x-1\\/2{--tw-translate-x:50%}.xl\\:translate-x-1\\/3{--tw-translate-x:33.333333%}.xl\\:translate-x-2\\/3{--tw-translate-x:66.666667%}.xl\\:translate-x-1\\/4{--tw-translate-x:25%}.xl\\:translate-x-2\\/4{--tw-translate-x:50%}.xl\\:translate-x-3\\/4{--tw-translate-x:75%}.xl\\:translate-x-full{--tw-translate-x:100%}.xl\\:-translate-x-1\\/2{--tw-translate-x:-50%}.xl\\:-translate-x-1\\/3{--tw-translate-x:-33.333333%}.xl\\:-translate-x-2\\/3{--tw-translate-x:-66.666667%}.xl\\:-translate-x-1\\/4{--tw-translate-x:-25%}.xl\\:-translate-x-2\\/4{--tw-translate-x:-50%}.xl\\:-translate-x-3\\/4{--tw-translate-x:-75%}.xl\\:-translate-x-full{--tw-translate-x:-100%}.xl\\:translate-y-0{--tw-translate-y:0px}.xl\\:translate-y-1{--tw-translate-y:0.25rem}.xl\\:translate-y-2{--tw-translate-y:0.5rem}.xl\\:translate-y-3{--tw-translate-y:0.75rem}.xl\\:translate-y-4{--tw-translate-y:1rem}.xl\\:translate-y-5{--tw-translate-y:1.25rem}.xl\\:translate-y-6{--tw-translate-y:1.5rem}.xl\\:translate-y-7{--tw-translate-y:1.75rem}.xl\\:translate-y-8{--tw-translate-y:2rem}.xl\\:translate-y-9{--tw-translate-y:2.25rem}.xl\\:translate-y-10{--tw-translate-y:2.5rem}.xl\\:translate-y-11{--tw-translate-y:2.75rem}.xl\\:translate-y-12{--tw-translate-y:3rem}.xl\\:translate-y-14{--tw-translate-y:3.5rem}.xl\\:translate-y-16{--tw-translate-y:4rem}.xl\\:translate-y-20{--tw-translate-y:5rem}.xl\\:translate-y-24{--tw-translate-y:6rem}.xl\\:translate-y-28{--tw-translate-y:7rem}.xl\\:translate-y-32{--tw-translate-y:8rem}.xl\\:translate-y-36{--tw-translate-y:9rem}.xl\\:translate-y-40{--tw-translate-y:10rem}.xl\\:translate-y-44{--tw-translate-y:11rem}.xl\\:translate-y-48{--tw-translate-y:12rem}.xl\\:translate-y-52{--tw-translate-y:13rem}.xl\\:translate-y-56{--tw-translate-y:14rem}.xl\\:translate-y-60{--tw-translate-y:15rem}.xl\\:translate-y-64{--tw-translate-y:16rem}.xl\\:translate-y-72{--tw-translate-y:18rem}.xl\\:translate-y-80{--tw-translate-y:20rem}.xl\\:translate-y-96{--tw-translate-y:24rem}.xl\\:translate-y-px{--tw-translate-y:1px}.xl\\:translate-y-0\\.5{--tw-translate-y:0.125rem}.xl\\:translate-y-1\\.5{--tw-translate-y:0.375rem}.xl\\:translate-y-2\\.5{--tw-translate-y:0.625rem}.xl\\:translate-y-3\\.5{--tw-translate-y:0.875rem}.xl\\:-translate-y-0{--tw-translate-y:0px}.xl\\:-translate-y-1{--tw-translate-y:-0.25rem}.xl\\:-translate-y-2{--tw-translate-y:-0.5rem}.xl\\:-translate-y-3{--tw-translate-y:-0.75rem}.xl\\:-translate-y-4{--tw-translate-y:-1rem}.xl\\:-translate-y-5{--tw-translate-y:-1.25rem}.xl\\:-translate-y-6{--tw-translate-y:-1.5rem}.xl\\:-translate-y-7{--tw-translate-y:-1.75rem}.xl\\:-translate-y-8{--tw-translate-y:-2rem}.xl\\:-translate-y-9{--tw-translate-y:-2.25rem}.xl\\:-translate-y-10{--tw-translate-y:-2.5rem}.xl\\:-translate-y-11{--tw-translate-y:-2.75rem}.xl\\:-translate-y-12{--tw-translate-y:-3rem}.xl\\:-translate-y-14{--tw-translate-y:-3.5rem}.xl\\:-translate-y-16{--tw-translate-y:-4rem}.xl\\:-translate-y-20{--tw-translate-y:-5rem}.xl\\:-translate-y-24{--tw-translate-y:-6rem}.xl\\:-translate-y-28{--tw-translate-y:-7rem}.xl\\:-translate-y-32{--tw-translate-y:-8rem}.xl\\:-translate-y-36{--tw-translate-y:-9rem}.xl\\:-translate-y-40{--tw-translate-y:-10rem}.xl\\:-translate-y-44{--tw-translate-y:-11rem}.xl\\:-translate-y-48{--tw-translate-y:-12rem}.xl\\:-translate-y-52{--tw-translate-y:-13rem}.xl\\:-translate-y-56{--tw-translate-y:-14rem}.xl\\:-translate-y-60{--tw-translate-y:-15rem}.xl\\:-translate-y-64{--tw-translate-y:-16rem}.xl\\:-translate-y-72{--tw-translate-y:-18rem}.xl\\:-translate-y-80{--tw-translate-y:-20rem}.xl\\:-translate-y-96{--tw-translate-y:-24rem}.xl\\:-translate-y-px{--tw-translate-y:-1px}.xl\\:-translate-y-0\\.5{--tw-translate-y:-0.125rem}.xl\\:-translate-y-1\\.5{--tw-translate-y:-0.375rem}.xl\\:-translate-y-2\\.5{--tw-translate-y:-0.625rem}.xl\\:-translate-y-3\\.5{--tw-translate-y:-0.875rem}.xl\\:translate-y-1\\/2{--tw-translate-y:50%}.xl\\:translate-y-1\\/3{--tw-translate-y:33.333333%}.xl\\:translate-y-2\\/3{--tw-translate-y:66.666667%}.xl\\:translate-y-1\\/4{--tw-translate-y:25%}.xl\\:translate-y-2\\/4{--tw-translate-y:50%}.xl\\:translate-y-3\\/4{--tw-translate-y:75%}.xl\\:translate-y-full{--tw-translate-y:100%}.xl\\:-translate-y-1\\/2{--tw-translate-y:-50%}.xl\\:-translate-y-1\\/3{--tw-translate-y:-33.333333%}.xl\\:-translate-y-2\\/3{--tw-translate-y:-66.666667%}.xl\\:-translate-y-1\\/4{--tw-translate-y:-25%}.xl\\:-translate-y-2\\/4{--tw-translate-y:-50%}.xl\\:-translate-y-3\\/4{--tw-translate-y:-75%}.xl\\:-translate-y-full{--tw-translate-y:-100%}.xl\\:hover\\:translate-x-0:hover{--tw-translate-x:0px}.xl\\:hover\\:translate-x-1:hover{--tw-translate-x:0.25rem}.xl\\:hover\\:translate-x-2:hover{--tw-translate-x:0.5rem}.xl\\:hover\\:translate-x-3:hover{--tw-translate-x:0.75rem}.xl\\:hover\\:translate-x-4:hover{--tw-translate-x:1rem}.xl\\:hover\\:translate-x-5:hover{--tw-translate-x:1.25rem}.xl\\:hover\\:translate-x-6:hover{--tw-translate-x:1.5rem}.xl\\:hover\\:translate-x-7:hover{--tw-translate-x:1.75rem}.xl\\:hover\\:translate-x-8:hover{--tw-translate-x:2rem}.xl\\:hover\\:translate-x-9:hover{--tw-translate-x:2.25rem}.xl\\:hover\\:translate-x-10:hover{--tw-translate-x:2.5rem}.xl\\:hover\\:translate-x-11:hover{--tw-translate-x:2.75rem}.xl\\:hover\\:translate-x-12:hover{--tw-translate-x:3rem}.xl\\:hover\\:translate-x-14:hover{--tw-translate-x:3.5rem}.xl\\:hover\\:translate-x-16:hover{--tw-translate-x:4rem}.xl\\:hover\\:translate-x-20:hover{--tw-translate-x:5rem}.xl\\:hover\\:translate-x-24:hover{--tw-translate-x:6rem}.xl\\:hover\\:translate-x-28:hover{--tw-translate-x:7rem}.xl\\:hover\\:translate-x-32:hover{--tw-translate-x:8rem}.xl\\:hover\\:translate-x-36:hover{--tw-translate-x:9rem}.xl\\:hover\\:translate-x-40:hover{--tw-translate-x:10rem}.xl\\:hover\\:translate-x-44:hover{--tw-translate-x:11rem}.xl\\:hover\\:translate-x-48:hover{--tw-translate-x:12rem}.xl\\:hover\\:translate-x-52:hover{--tw-translate-x:13rem}.xl\\:hover\\:translate-x-56:hover{--tw-translate-x:14rem}.xl\\:hover\\:translate-x-60:hover{--tw-translate-x:15rem}.xl\\:hover\\:translate-x-64:hover{--tw-translate-x:16rem}.xl\\:hover\\:translate-x-72:hover{--tw-translate-x:18rem}.xl\\:hover\\:translate-x-80:hover{--tw-translate-x:20rem}.xl\\:hover\\:translate-x-96:hover{--tw-translate-x:24rem}.xl\\:hover\\:translate-x-px:hover{--tw-translate-x:1px}.xl\\:hover\\:translate-x-0\\.5:hover{--tw-translate-x:0.125rem}.xl\\:hover\\:translate-x-1\\.5:hover{--tw-translate-x:0.375rem}.xl\\:hover\\:translate-x-2\\.5:hover{--tw-translate-x:0.625rem}.xl\\:hover\\:translate-x-3\\.5:hover{--tw-translate-x:0.875rem}.xl\\:hover\\:-translate-x-0:hover{--tw-translate-x:0px}.xl\\:hover\\:-translate-x-1:hover{--tw-translate-x:-0.25rem}.xl\\:hover\\:-translate-x-2:hover{--tw-translate-x:-0.5rem}.xl\\:hover\\:-translate-x-3:hover{--tw-translate-x:-0.75rem}.xl\\:hover\\:-translate-x-4:hover{--tw-translate-x:-1rem}.xl\\:hover\\:-translate-x-5:hover{--tw-translate-x:-1.25rem}.xl\\:hover\\:-translate-x-6:hover{--tw-translate-x:-1.5rem}.xl\\:hover\\:-translate-x-7:hover{--tw-translate-x:-1.75rem}.xl\\:hover\\:-translate-x-8:hover{--tw-translate-x:-2rem}.xl\\:hover\\:-translate-x-9:hover{--tw-translate-x:-2.25rem}.xl\\:hover\\:-translate-x-10:hover{--tw-translate-x:-2.5rem}.xl\\:hover\\:-translate-x-11:hover{--tw-translate-x:-2.75rem}.xl\\:hover\\:-translate-x-12:hover{--tw-translate-x:-3rem}.xl\\:hover\\:-translate-x-14:hover{--tw-translate-x:-3.5rem}.xl\\:hover\\:-translate-x-16:hover{--tw-translate-x:-4rem}.xl\\:hover\\:-translate-x-20:hover{--tw-translate-x:-5rem}.xl\\:hover\\:-translate-x-24:hover{--tw-translate-x:-6rem}.xl\\:hover\\:-translate-x-28:hover{--tw-translate-x:-7rem}.xl\\:hover\\:-translate-x-32:hover{--tw-translate-x:-8rem}.xl\\:hover\\:-translate-x-36:hover{--tw-translate-x:-9rem}.xl\\:hover\\:-translate-x-40:hover{--tw-translate-x:-10rem}.xl\\:hover\\:-translate-x-44:hover{--tw-translate-x:-11rem}.xl\\:hover\\:-translate-x-48:hover{--tw-translate-x:-12rem}.xl\\:hover\\:-translate-x-52:hover{--tw-translate-x:-13rem}.xl\\:hover\\:-translate-x-56:hover{--tw-translate-x:-14rem}.xl\\:hover\\:-translate-x-60:hover{--tw-translate-x:-15rem}.xl\\:hover\\:-translate-x-64:hover{--tw-translate-x:-16rem}.xl\\:hover\\:-translate-x-72:hover{--tw-translate-x:-18rem}.xl\\:hover\\:-translate-x-80:hover{--tw-translate-x:-20rem}.xl\\:hover\\:-translate-x-96:hover{--tw-translate-x:-24rem}.xl\\:hover\\:-translate-x-px:hover{--tw-translate-x:-1px}.xl\\:hover\\:-translate-x-0\\.5:hover{--tw-translate-x:-0.125rem}.xl\\:hover\\:-translate-x-1\\.5:hover{--tw-translate-x:-0.375rem}.xl\\:hover\\:-translate-x-2\\.5:hover{--tw-translate-x:-0.625rem}.xl\\:hover\\:-translate-x-3\\.5:hover{--tw-translate-x:-0.875rem}.xl\\:hover\\:translate-x-1\\/2:hover{--tw-translate-x:50%}.xl\\:hover\\:translate-x-1\\/3:hover{--tw-translate-x:33.333333%}.xl\\:hover\\:translate-x-2\\/3:hover{--tw-translate-x:66.666667%}.xl\\:hover\\:translate-x-1\\/4:hover{--tw-translate-x:25%}.xl\\:hover\\:translate-x-2\\/4:hover{--tw-translate-x:50%}.xl\\:hover\\:translate-x-3\\/4:hover{--tw-translate-x:75%}.xl\\:hover\\:translate-x-full:hover{--tw-translate-x:100%}.xl\\:hover\\:-translate-x-1\\/2:hover{--tw-translate-x:-50%}.xl\\:hover\\:-translate-x-1\\/3:hover{--tw-translate-x:-33.333333%}.xl\\:hover\\:-translate-x-2\\/3:hover{--tw-translate-x:-66.666667%}.xl\\:hover\\:-translate-x-1\\/4:hover{--tw-translate-x:-25%}.xl\\:hover\\:-translate-x-2\\/4:hover{--tw-translate-x:-50%}.xl\\:hover\\:-translate-x-3\\/4:hover{--tw-translate-x:-75%}.xl\\:hover\\:-translate-x-full:hover{--tw-translate-x:-100%}.xl\\:hover\\:translate-y-0:hover{--tw-translate-y:0px}.xl\\:hover\\:translate-y-1:hover{--tw-translate-y:0.25rem}.xl\\:hover\\:translate-y-2:hover{--tw-translate-y:0.5rem}.xl\\:hover\\:translate-y-3:hover{--tw-translate-y:0.75rem}.xl\\:hover\\:translate-y-4:hover{--tw-translate-y:1rem}.xl\\:hover\\:translate-y-5:hover{--tw-translate-y:1.25rem}.xl\\:hover\\:translate-y-6:hover{--tw-translate-y:1.5rem}.xl\\:hover\\:translate-y-7:hover{--tw-translate-y:1.75rem}.xl\\:hover\\:translate-y-8:hover{--tw-translate-y:2rem}.xl\\:hover\\:translate-y-9:hover{--tw-translate-y:2.25rem}.xl\\:hover\\:translate-y-10:hover{--tw-translate-y:2.5rem}.xl\\:hover\\:translate-y-11:hover{--tw-translate-y:2.75rem}.xl\\:hover\\:translate-y-12:hover{--tw-translate-y:3rem}.xl\\:hover\\:translate-y-14:hover{--tw-translate-y:3.5rem}.xl\\:hover\\:translate-y-16:hover{--tw-translate-y:4rem}.xl\\:hover\\:translate-y-20:hover{--tw-translate-y:5rem}.xl\\:hover\\:translate-y-24:hover{--tw-translate-y:6rem}.xl\\:hover\\:translate-y-28:hover{--tw-translate-y:7rem}.xl\\:hover\\:translate-y-32:hover{--tw-translate-y:8rem}.xl\\:hover\\:translate-y-36:hover{--tw-translate-y:9rem}.xl\\:hover\\:translate-y-40:hover{--tw-translate-y:10rem}.xl\\:hover\\:translate-y-44:hover{--tw-translate-y:11rem}.xl\\:hover\\:translate-y-48:hover{--tw-translate-y:12rem}.xl\\:hover\\:translate-y-52:hover{--tw-translate-y:13rem}.xl\\:hover\\:translate-y-56:hover{--tw-translate-y:14rem}.xl\\:hover\\:translate-y-60:hover{--tw-translate-y:15rem}.xl\\:hover\\:translate-y-64:hover{--tw-translate-y:16rem}.xl\\:hover\\:translate-y-72:hover{--tw-translate-y:18rem}.xl\\:hover\\:translate-y-80:hover{--tw-translate-y:20rem}.xl\\:hover\\:translate-y-96:hover{--tw-translate-y:24rem}.xl\\:hover\\:translate-y-px:hover{--tw-translate-y:1px}.xl\\:hover\\:translate-y-0\\.5:hover{--tw-translate-y:0.125rem}.xl\\:hover\\:translate-y-1\\.5:hover{--tw-translate-y:0.375rem}.xl\\:hover\\:translate-y-2\\.5:hover{--tw-translate-y:0.625rem}.xl\\:hover\\:translate-y-3\\.5:hover{--tw-translate-y:0.875rem}.xl\\:hover\\:-translate-y-0:hover{--tw-translate-y:0px}.xl\\:hover\\:-translate-y-1:hover{--tw-translate-y:-0.25rem}.xl\\:hover\\:-translate-y-2:hover{--tw-translate-y:-0.5rem}.xl\\:hover\\:-translate-y-3:hover{--tw-translate-y:-0.75rem}.xl\\:hover\\:-translate-y-4:hover{--tw-translate-y:-1rem}.xl\\:hover\\:-translate-y-5:hover{--tw-translate-y:-1.25rem}.xl\\:hover\\:-translate-y-6:hover{--tw-translate-y:-1.5rem}.xl\\:hover\\:-translate-y-7:hover{--tw-translate-y:-1.75rem}.xl\\:hover\\:-translate-y-8:hover{--tw-translate-y:-2rem}.xl\\:hover\\:-translate-y-9:hover{--tw-translate-y:-2.25rem}.xl\\:hover\\:-translate-y-10:hover{--tw-translate-y:-2.5rem}.xl\\:hover\\:-translate-y-11:hover{--tw-translate-y:-2.75rem}.xl\\:hover\\:-translate-y-12:hover{--tw-translate-y:-3rem}.xl\\:hover\\:-translate-y-14:hover{--tw-translate-y:-3.5rem}.xl\\:hover\\:-translate-y-16:hover{--tw-translate-y:-4rem}.xl\\:hover\\:-translate-y-20:hover{--tw-translate-y:-5rem}.xl\\:hover\\:-translate-y-24:hover{--tw-translate-y:-6rem}.xl\\:hover\\:-translate-y-28:hover{--tw-translate-y:-7rem}.xl\\:hover\\:-translate-y-32:hover{--tw-translate-y:-8rem}.xl\\:hover\\:-translate-y-36:hover{--tw-translate-y:-9rem}.xl\\:hover\\:-translate-y-40:hover{--tw-translate-y:-10rem}.xl\\:hover\\:-translate-y-44:hover{--tw-translate-y:-11rem}.xl\\:hover\\:-translate-y-48:hover{--tw-translate-y:-12rem}.xl\\:hover\\:-translate-y-52:hover{--tw-translate-y:-13rem}.xl\\:hover\\:-translate-y-56:hover{--tw-translate-y:-14rem}.xl\\:hover\\:-translate-y-60:hover{--tw-translate-y:-15rem}.xl\\:hover\\:-translate-y-64:hover{--tw-translate-y:-16rem}.xl\\:hover\\:-translate-y-72:hover{--tw-translate-y:-18rem}.xl\\:hover\\:-translate-y-80:hover{--tw-translate-y:-20rem}.xl\\:hover\\:-translate-y-96:hover{--tw-translate-y:-24rem}.xl\\:hover\\:-translate-y-px:hover{--tw-translate-y:-1px}.xl\\:hover\\:-translate-y-0\\.5:hover{--tw-translate-y:-0.125rem}.xl\\:hover\\:-translate-y-1\\.5:hover{--tw-translate-y:-0.375rem}.xl\\:hover\\:-translate-y-2\\.5:hover{--tw-translate-y:-0.625rem}.xl\\:hover\\:-translate-y-3\\.5:hover{--tw-translate-y:-0.875rem}.xl\\:hover\\:translate-y-1\\/2:hover{--tw-translate-y:50%}.xl\\:hover\\:translate-y-1\\/3:hover{--tw-translate-y:33.333333%}.xl\\:hover\\:translate-y-2\\/3:hover{--tw-translate-y:66.666667%}.xl\\:hover\\:translate-y-1\\/4:hover{--tw-translate-y:25%}.xl\\:hover\\:translate-y-2\\/4:hover{--tw-translate-y:50%}.xl\\:hover\\:translate-y-3\\/4:hover{--tw-translate-y:75%}.xl\\:hover\\:translate-y-full:hover{--tw-translate-y:100%}.xl\\:hover\\:-translate-y-1\\/2:hover{--tw-translate-y:-50%}.xl\\:hover\\:-translate-y-1\\/3:hover{--tw-translate-y:-33.333333%}.xl\\:hover\\:-translate-y-2\\/3:hover{--tw-translate-y:-66.666667%}.xl\\:hover\\:-translate-y-1\\/4:hover{--tw-translate-y:-25%}.xl\\:hover\\:-translate-y-2\\/4:hover{--tw-translate-y:-50%}.xl\\:hover\\:-translate-y-3\\/4:hover{--tw-translate-y:-75%}.xl\\:hover\\:-translate-y-full:hover{--tw-translate-y:-100%}.xl\\:focus\\:translate-x-0:focus{--tw-translate-x:0px}.xl\\:focus\\:translate-x-1:focus{--tw-translate-x:0.25rem}.xl\\:focus\\:translate-x-2:focus{--tw-translate-x:0.5rem}.xl\\:focus\\:translate-x-3:focus{--tw-translate-x:0.75rem}.xl\\:focus\\:translate-x-4:focus{--tw-translate-x:1rem}.xl\\:focus\\:translate-x-5:focus{--tw-translate-x:1.25rem}.xl\\:focus\\:translate-x-6:focus{--tw-translate-x:1.5rem}.xl\\:focus\\:translate-x-7:focus{--tw-translate-x:1.75rem}.xl\\:focus\\:translate-x-8:focus{--tw-translate-x:2rem}.xl\\:focus\\:translate-x-9:focus{--tw-translate-x:2.25rem}.xl\\:focus\\:translate-x-10:focus{--tw-translate-x:2.5rem}.xl\\:focus\\:translate-x-11:focus{--tw-translate-x:2.75rem}.xl\\:focus\\:translate-x-12:focus{--tw-translate-x:3rem}.xl\\:focus\\:translate-x-14:focus{--tw-translate-x:3.5rem}.xl\\:focus\\:translate-x-16:focus{--tw-translate-x:4rem}.xl\\:focus\\:translate-x-20:focus{--tw-translate-x:5rem}.xl\\:focus\\:translate-x-24:focus{--tw-translate-x:6rem}.xl\\:focus\\:translate-x-28:focus{--tw-translate-x:7rem}.xl\\:focus\\:translate-x-32:focus{--tw-translate-x:8rem}.xl\\:focus\\:translate-x-36:focus{--tw-translate-x:9rem}.xl\\:focus\\:translate-x-40:focus{--tw-translate-x:10rem}.xl\\:focus\\:translate-x-44:focus{--tw-translate-x:11rem}.xl\\:focus\\:translate-x-48:focus{--tw-translate-x:12rem}.xl\\:focus\\:translate-x-52:focus{--tw-translate-x:13rem}.xl\\:focus\\:translate-x-56:focus{--tw-translate-x:14rem}.xl\\:focus\\:translate-x-60:focus{--tw-translate-x:15rem}.xl\\:focus\\:translate-x-64:focus{--tw-translate-x:16rem}.xl\\:focus\\:translate-x-72:focus{--tw-translate-x:18rem}.xl\\:focus\\:translate-x-80:focus{--tw-translate-x:20rem}.xl\\:focus\\:translate-x-96:focus{--tw-translate-x:24rem}.xl\\:focus\\:translate-x-px:focus{--tw-translate-x:1px}.xl\\:focus\\:translate-x-0\\.5:focus{--tw-translate-x:0.125rem}.xl\\:focus\\:translate-x-1\\.5:focus{--tw-translate-x:0.375rem}.xl\\:focus\\:translate-x-2\\.5:focus{--tw-translate-x:0.625rem}.xl\\:focus\\:translate-x-3\\.5:focus{--tw-translate-x:0.875rem}.xl\\:focus\\:-translate-x-0:focus{--tw-translate-x:0px}.xl\\:focus\\:-translate-x-1:focus{--tw-translate-x:-0.25rem}.xl\\:focus\\:-translate-x-2:focus{--tw-translate-x:-0.5rem}.xl\\:focus\\:-translate-x-3:focus{--tw-translate-x:-0.75rem}.xl\\:focus\\:-translate-x-4:focus{--tw-translate-x:-1rem}.xl\\:focus\\:-translate-x-5:focus{--tw-translate-x:-1.25rem}.xl\\:focus\\:-translate-x-6:focus{--tw-translate-x:-1.5rem}.xl\\:focus\\:-translate-x-7:focus{--tw-translate-x:-1.75rem}.xl\\:focus\\:-translate-x-8:focus{--tw-translate-x:-2rem}.xl\\:focus\\:-translate-x-9:focus{--tw-translate-x:-2.25rem}.xl\\:focus\\:-translate-x-10:focus{--tw-translate-x:-2.5rem}.xl\\:focus\\:-translate-x-11:focus{--tw-translate-x:-2.75rem}.xl\\:focus\\:-translate-x-12:focus{--tw-translate-x:-3rem}.xl\\:focus\\:-translate-x-14:focus{--tw-translate-x:-3.5rem}.xl\\:focus\\:-translate-x-16:focus{--tw-translate-x:-4rem}.xl\\:focus\\:-translate-x-20:focus{--tw-translate-x:-5rem}.xl\\:focus\\:-translate-x-24:focus{--tw-translate-x:-6rem}.xl\\:focus\\:-translate-x-28:focus{--tw-translate-x:-7rem}.xl\\:focus\\:-translate-x-32:focus{--tw-translate-x:-8rem}.xl\\:focus\\:-translate-x-36:focus{--tw-translate-x:-9rem}.xl\\:focus\\:-translate-x-40:focus{--tw-translate-x:-10rem}.xl\\:focus\\:-translate-x-44:focus{--tw-translate-x:-11rem}.xl\\:focus\\:-translate-x-48:focus{--tw-translate-x:-12rem}.xl\\:focus\\:-translate-x-52:focus{--tw-translate-x:-13rem}.xl\\:focus\\:-translate-x-56:focus{--tw-translate-x:-14rem}.xl\\:focus\\:-translate-x-60:focus{--tw-translate-x:-15rem}.xl\\:focus\\:-translate-x-64:focus{--tw-translate-x:-16rem}.xl\\:focus\\:-translate-x-72:focus{--tw-translate-x:-18rem}.xl\\:focus\\:-translate-x-80:focus{--tw-translate-x:-20rem}.xl\\:focus\\:-translate-x-96:focus{--tw-translate-x:-24rem}.xl\\:focus\\:-translate-x-px:focus{--tw-translate-x:-1px}.xl\\:focus\\:-translate-x-0\\.5:focus{--tw-translate-x:-0.125rem}.xl\\:focus\\:-translate-x-1\\.5:focus{--tw-translate-x:-0.375rem}.xl\\:focus\\:-translate-x-2\\.5:focus{--tw-translate-x:-0.625rem}.xl\\:focus\\:-translate-x-3\\.5:focus{--tw-translate-x:-0.875rem}.xl\\:focus\\:translate-x-1\\/2:focus{--tw-translate-x:50%}.xl\\:focus\\:translate-x-1\\/3:focus{--tw-translate-x:33.333333%}.xl\\:focus\\:translate-x-2\\/3:focus{--tw-translate-x:66.666667%}.xl\\:focus\\:translate-x-1\\/4:focus{--tw-translate-x:25%}.xl\\:focus\\:translate-x-2\\/4:focus{--tw-translate-x:50%}.xl\\:focus\\:translate-x-3\\/4:focus{--tw-translate-x:75%}.xl\\:focus\\:translate-x-full:focus{--tw-translate-x:100%}.xl\\:focus\\:-translate-x-1\\/2:focus{--tw-translate-x:-50%}.xl\\:focus\\:-translate-x-1\\/3:focus{--tw-translate-x:-33.333333%}.xl\\:focus\\:-translate-x-2\\/3:focus{--tw-translate-x:-66.666667%}.xl\\:focus\\:-translate-x-1\\/4:focus{--tw-translate-x:-25%}.xl\\:focus\\:-translate-x-2\\/4:focus{--tw-translate-x:-50%}.xl\\:focus\\:-translate-x-3\\/4:focus{--tw-translate-x:-75%}.xl\\:focus\\:-translate-x-full:focus{--tw-translate-x:-100%}.xl\\:focus\\:translate-y-0:focus{--tw-translate-y:0px}.xl\\:focus\\:translate-y-1:focus{--tw-translate-y:0.25rem}.xl\\:focus\\:translate-y-2:focus{--tw-translate-y:0.5rem}.xl\\:focus\\:translate-y-3:focus{--tw-translate-y:0.75rem}.xl\\:focus\\:translate-y-4:focus{--tw-translate-y:1rem}.xl\\:focus\\:translate-y-5:focus{--tw-translate-y:1.25rem}.xl\\:focus\\:translate-y-6:focus{--tw-translate-y:1.5rem}.xl\\:focus\\:translate-y-7:focus{--tw-translate-y:1.75rem}.xl\\:focus\\:translate-y-8:focus{--tw-translate-y:2rem}.xl\\:focus\\:translate-y-9:focus{--tw-translate-y:2.25rem}.xl\\:focus\\:translate-y-10:focus{--tw-translate-y:2.5rem}.xl\\:focus\\:translate-y-11:focus{--tw-translate-y:2.75rem}.xl\\:focus\\:translate-y-12:focus{--tw-translate-y:3rem}.xl\\:focus\\:translate-y-14:focus{--tw-translate-y:3.5rem}.xl\\:focus\\:translate-y-16:focus{--tw-translate-y:4rem}.xl\\:focus\\:translate-y-20:focus{--tw-translate-y:5rem}.xl\\:focus\\:translate-y-24:focus{--tw-translate-y:6rem}.xl\\:focus\\:translate-y-28:focus{--tw-translate-y:7rem}.xl\\:focus\\:translate-y-32:focus{--tw-translate-y:8rem}.xl\\:focus\\:translate-y-36:focus{--tw-translate-y:9rem}.xl\\:focus\\:translate-y-40:focus{--tw-translate-y:10rem}.xl\\:focus\\:translate-y-44:focus{--tw-translate-y:11rem}.xl\\:focus\\:translate-y-48:focus{--tw-translate-y:12rem}.xl\\:focus\\:translate-y-52:focus{--tw-translate-y:13rem}.xl\\:focus\\:translate-y-56:focus{--tw-translate-y:14rem}.xl\\:focus\\:translate-y-60:focus{--tw-translate-y:15rem}.xl\\:focus\\:translate-y-64:focus{--tw-translate-y:16rem}.xl\\:focus\\:translate-y-72:focus{--tw-translate-y:18rem}.xl\\:focus\\:translate-y-80:focus{--tw-translate-y:20rem}.xl\\:focus\\:translate-y-96:focus{--tw-translate-y:24rem}.xl\\:focus\\:translate-y-px:focus{--tw-translate-y:1px}.xl\\:focus\\:translate-y-0\\.5:focus{--tw-translate-y:0.125rem}.xl\\:focus\\:translate-y-1\\.5:focus{--tw-translate-y:0.375rem}.xl\\:focus\\:translate-y-2\\.5:focus{--tw-translate-y:0.625rem}.xl\\:focus\\:translate-y-3\\.5:focus{--tw-translate-y:0.875rem}.xl\\:focus\\:-translate-y-0:focus{--tw-translate-y:0px}.xl\\:focus\\:-translate-y-1:focus{--tw-translate-y:-0.25rem}.xl\\:focus\\:-translate-y-2:focus{--tw-translate-y:-0.5rem}.xl\\:focus\\:-translate-y-3:focus{--tw-translate-y:-0.75rem}.xl\\:focus\\:-translate-y-4:focus{--tw-translate-y:-1rem}.xl\\:focus\\:-translate-y-5:focus{--tw-translate-y:-1.25rem}.xl\\:focus\\:-translate-y-6:focus{--tw-translate-y:-1.5rem}.xl\\:focus\\:-translate-y-7:focus{--tw-translate-y:-1.75rem}.xl\\:focus\\:-translate-y-8:focus{--tw-translate-y:-2rem}.xl\\:focus\\:-translate-y-9:focus{--tw-translate-y:-2.25rem}.xl\\:focus\\:-translate-y-10:focus{--tw-translate-y:-2.5rem}.xl\\:focus\\:-translate-y-11:focus{--tw-translate-y:-2.75rem}.xl\\:focus\\:-translate-y-12:focus{--tw-translate-y:-3rem}.xl\\:focus\\:-translate-y-14:focus{--tw-translate-y:-3.5rem}.xl\\:focus\\:-translate-y-16:focus{--tw-translate-y:-4rem}.xl\\:focus\\:-translate-y-20:focus{--tw-translate-y:-5rem}.xl\\:focus\\:-translate-y-24:focus{--tw-translate-y:-6rem}.xl\\:focus\\:-translate-y-28:focus{--tw-translate-y:-7rem}.xl\\:focus\\:-translate-y-32:focus{--tw-translate-y:-8rem}.xl\\:focus\\:-translate-y-36:focus{--tw-translate-y:-9rem}.xl\\:focus\\:-translate-y-40:focus{--tw-translate-y:-10rem}.xl\\:focus\\:-translate-y-44:focus{--tw-translate-y:-11rem}.xl\\:focus\\:-translate-y-48:focus{--tw-translate-y:-12rem}.xl\\:focus\\:-translate-y-52:focus{--tw-translate-y:-13rem}.xl\\:focus\\:-translate-y-56:focus{--tw-translate-y:-14rem}.xl\\:focus\\:-translate-y-60:focus{--tw-translate-y:-15rem}.xl\\:focus\\:-translate-y-64:focus{--tw-translate-y:-16rem}.xl\\:focus\\:-translate-y-72:focus{--tw-translate-y:-18rem}.xl\\:focus\\:-translate-y-80:focus{--tw-translate-y:-20rem}.xl\\:focus\\:-translate-y-96:focus{--tw-translate-y:-24rem}.xl\\:focus\\:-translate-y-px:focus{--tw-translate-y:-1px}.xl\\:focus\\:-translate-y-0\\.5:focus{--tw-translate-y:-0.125rem}.xl\\:focus\\:-translate-y-1\\.5:focus{--tw-translate-y:-0.375rem}.xl\\:focus\\:-translate-y-2\\.5:focus{--tw-translate-y:-0.625rem}.xl\\:focus\\:-translate-y-3\\.5:focus{--tw-translate-y:-0.875rem}.xl\\:focus\\:translate-y-1\\/2:focus{--tw-translate-y:50%}.xl\\:focus\\:translate-y-1\\/3:focus{--tw-translate-y:33.333333%}.xl\\:focus\\:translate-y-2\\/3:focus{--tw-translate-y:66.666667%}.xl\\:focus\\:translate-y-1\\/4:focus{--tw-translate-y:25%}.xl\\:focus\\:translate-y-2\\/4:focus{--tw-translate-y:50%}.xl\\:focus\\:translate-y-3\\/4:focus{--tw-translate-y:75%}.xl\\:focus\\:translate-y-full:focus{--tw-translate-y:100%}.xl\\:focus\\:-translate-y-1\\/2:focus{--tw-translate-y:-50%}.xl\\:focus\\:-translate-y-1\\/3:focus{--tw-translate-y:-33.333333%}.xl\\:focus\\:-translate-y-2\\/3:focus{--tw-translate-y:-66.666667%}.xl\\:focus\\:-translate-y-1\\/4:focus{--tw-translate-y:-25%}.xl\\:focus\\:-translate-y-2\\/4:focus{--tw-translate-y:-50%}.xl\\:focus\\:-translate-y-3\\/4:focus{--tw-translate-y:-75%}.xl\\:focus\\:-translate-y-full:focus{--tw-translate-y:-100%}.xl\\:rotate-0{--tw-rotate:0deg}.xl\\:rotate-1{--tw-rotate:1deg}.xl\\:rotate-2{--tw-rotate:2deg}.xl\\:rotate-3{--tw-rotate:3deg}.xl\\:rotate-6{--tw-rotate:6deg}.xl\\:rotate-12{--tw-rotate:12deg}.xl\\:rotate-45{--tw-rotate:45deg}.xl\\:rotate-90{--tw-rotate:90deg}.xl\\:rotate-180{--tw-rotate:180deg}.xl\\:-rotate-180{--tw-rotate:-180deg}.xl\\:-rotate-90{--tw-rotate:-90deg}.xl\\:-rotate-45{--tw-rotate:-45deg}.xl\\:-rotate-12{--tw-rotate:-12deg}.xl\\:-rotate-6{--tw-rotate:-6deg}.xl\\:-rotate-3{--tw-rotate:-3deg}.xl\\:-rotate-2{--tw-rotate:-2deg}.xl\\:-rotate-1{--tw-rotate:-1deg}.xl\\:hover\\:rotate-0:hover{--tw-rotate:0deg}.xl\\:hover\\:rotate-1:hover{--tw-rotate:1deg}.xl\\:hover\\:rotate-2:hover{--tw-rotate:2deg}.xl\\:hover\\:rotate-3:hover{--tw-rotate:3deg}.xl\\:hover\\:rotate-6:hover{--tw-rotate:6deg}.xl\\:hover\\:rotate-12:hover{--tw-rotate:12deg}.xl\\:hover\\:rotate-45:hover{--tw-rotate:45deg}.xl\\:hover\\:rotate-90:hover{--tw-rotate:90deg}.xl\\:hover\\:rotate-180:hover{--tw-rotate:180deg}.xl\\:hover\\:-rotate-180:hover{--tw-rotate:-180deg}.xl\\:hover\\:-rotate-90:hover{--tw-rotate:-90deg}.xl\\:hover\\:-rotate-45:hover{--tw-rotate:-45deg}.xl\\:hover\\:-rotate-12:hover{--tw-rotate:-12deg}.xl\\:hover\\:-rotate-6:hover{--tw-rotate:-6deg}.xl\\:hover\\:-rotate-3:hover{--tw-rotate:-3deg}.xl\\:hover\\:-rotate-2:hover{--tw-rotate:-2deg}.xl\\:hover\\:-rotate-1:hover{--tw-rotate:-1deg}.xl\\:focus\\:rotate-0:focus{--tw-rotate:0deg}.xl\\:focus\\:rotate-1:focus{--tw-rotate:1deg}.xl\\:focus\\:rotate-2:focus{--tw-rotate:2deg}.xl\\:focus\\:rotate-3:focus{--tw-rotate:3deg}.xl\\:focus\\:rotate-6:focus{--tw-rotate:6deg}.xl\\:focus\\:rotate-12:focus{--tw-rotate:12deg}.xl\\:focus\\:rotate-45:focus{--tw-rotate:45deg}.xl\\:focus\\:rotate-90:focus{--tw-rotate:90deg}.xl\\:focus\\:rotate-180:focus{--tw-rotate:180deg}.xl\\:focus\\:-rotate-180:focus{--tw-rotate:-180deg}.xl\\:focus\\:-rotate-90:focus{--tw-rotate:-90deg}.xl\\:focus\\:-rotate-45:focus{--tw-rotate:-45deg}.xl\\:focus\\:-rotate-12:focus{--tw-rotate:-12deg}.xl\\:focus\\:-rotate-6:focus{--tw-rotate:-6deg}.xl\\:focus\\:-rotate-3:focus{--tw-rotate:-3deg}.xl\\:focus\\:-rotate-2:focus{--tw-rotate:-2deg}.xl\\:focus\\:-rotate-1:focus{--tw-rotate:-1deg}.xl\\:skew-x-0{--tw-skew-x:0deg}.xl\\:skew-x-1{--tw-skew-x:1deg}.xl\\:skew-x-2{--tw-skew-x:2deg}.xl\\:skew-x-3{--tw-skew-x:3deg}.xl\\:skew-x-6{--tw-skew-x:6deg}.xl\\:skew-x-12{--tw-skew-x:12deg}.xl\\:-skew-x-12{--tw-skew-x:-12deg}.xl\\:-skew-x-6{--tw-skew-x:-6deg}.xl\\:-skew-x-3{--tw-skew-x:-3deg}.xl\\:-skew-x-2{--tw-skew-x:-2deg}.xl\\:-skew-x-1{--tw-skew-x:-1deg}.xl\\:skew-y-0{--tw-skew-y:0deg}.xl\\:skew-y-1{--tw-skew-y:1deg}.xl\\:skew-y-2{--tw-skew-y:2deg}.xl\\:skew-y-3{--tw-skew-y:3deg}.xl\\:skew-y-6{--tw-skew-y:6deg}.xl\\:skew-y-12{--tw-skew-y:12deg}.xl\\:-skew-y-12{--tw-skew-y:-12deg}.xl\\:-skew-y-6{--tw-skew-y:-6deg}.xl\\:-skew-y-3{--tw-skew-y:-3deg}.xl\\:-skew-y-2{--tw-skew-y:-2deg}.xl\\:-skew-y-1{--tw-skew-y:-1deg}.xl\\:hover\\:skew-x-0:hover{--tw-skew-x:0deg}.xl\\:hover\\:skew-x-1:hover{--tw-skew-x:1deg}.xl\\:hover\\:skew-x-2:hover{--tw-skew-x:2deg}.xl\\:hover\\:skew-x-3:hover{--tw-skew-x:3deg}.xl\\:hover\\:skew-x-6:hover{--tw-skew-x:6deg}.xl\\:hover\\:skew-x-12:hover{--tw-skew-x:12deg}.xl\\:hover\\:-skew-x-12:hover{--tw-skew-x:-12deg}.xl\\:hover\\:-skew-x-6:hover{--tw-skew-x:-6deg}.xl\\:hover\\:-skew-x-3:hover{--tw-skew-x:-3deg}.xl\\:hover\\:-skew-x-2:hover{--tw-skew-x:-2deg}.xl\\:hover\\:-skew-x-1:hover{--tw-skew-x:-1deg}.xl\\:hover\\:skew-y-0:hover{--tw-skew-y:0deg}.xl\\:hover\\:skew-y-1:hover{--tw-skew-y:1deg}.xl\\:hover\\:skew-y-2:hover{--tw-skew-y:2deg}.xl\\:hover\\:skew-y-3:hover{--tw-skew-y:3deg}.xl\\:hover\\:skew-y-6:hover{--tw-skew-y:6deg}.xl\\:hover\\:skew-y-12:hover{--tw-skew-y:12deg}.xl\\:hover\\:-skew-y-12:hover{--tw-skew-y:-12deg}.xl\\:hover\\:-skew-y-6:hover{--tw-skew-y:-6deg}.xl\\:hover\\:-skew-y-3:hover{--tw-skew-y:-3deg}.xl\\:hover\\:-skew-y-2:hover{--tw-skew-y:-2deg}.xl\\:hover\\:-skew-y-1:hover{--tw-skew-y:-1deg}.xl\\:focus\\:skew-x-0:focus{--tw-skew-x:0deg}.xl\\:focus\\:skew-x-1:focus{--tw-skew-x:1deg}.xl\\:focus\\:skew-x-2:focus{--tw-skew-x:2deg}.xl\\:focus\\:skew-x-3:focus{--tw-skew-x:3deg}.xl\\:focus\\:skew-x-6:focus{--tw-skew-x:6deg}.xl\\:focus\\:skew-x-12:focus{--tw-skew-x:12deg}.xl\\:focus\\:-skew-x-12:focus{--tw-skew-x:-12deg}.xl\\:focus\\:-skew-x-6:focus{--tw-skew-x:-6deg}.xl\\:focus\\:-skew-x-3:focus{--tw-skew-x:-3deg}.xl\\:focus\\:-skew-x-2:focus{--tw-skew-x:-2deg}.xl\\:focus\\:-skew-x-1:focus{--tw-skew-x:-1deg}.xl\\:focus\\:skew-y-0:focus{--tw-skew-y:0deg}.xl\\:focus\\:skew-y-1:focus{--tw-skew-y:1deg}.xl\\:focus\\:skew-y-2:focus{--tw-skew-y:2deg}.xl\\:focus\\:skew-y-3:focus{--tw-skew-y:3deg}.xl\\:focus\\:skew-y-6:focus{--tw-skew-y:6deg}.xl\\:focus\\:skew-y-12:focus{--tw-skew-y:12deg}.xl\\:focus\\:-skew-y-12:focus{--tw-skew-y:-12deg}.xl\\:focus\\:-skew-y-6:focus{--tw-skew-y:-6deg}.xl\\:focus\\:-skew-y-3:focus{--tw-skew-y:-3deg}.xl\\:focus\\:-skew-y-2:focus{--tw-skew-y:-2deg}.xl\\:focus\\:-skew-y-1:focus{--tw-skew-y:-1deg}.xl\\:scale-0{--tw-scale-x:0;--tw-scale-y:0}.xl\\:scale-50{--tw-scale-x:.5;--tw-scale-y:.5}.xl\\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75}.xl\\:scale-90{--tw-scale-x:.9;--tw-scale-y:.9}.xl\\:scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.xl\\:scale-100{--tw-scale-x:1;--tw-scale-y:1}.xl\\:scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05}.xl\\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1}.xl\\:scale-125{--tw-scale-x:1.25;--tw-scale-y:1.25}.xl\\:scale-150{--tw-scale-x:1.5;--tw-scale-y:1.5}.xl\\:hover\\:scale-0:hover{--tw-scale-x:0;--tw-scale-y:0}.xl\\:hover\\:scale-50:hover{--tw-scale-x:.5;--tw-scale-y:.5}.xl\\:hover\\:scale-75:hover{--tw-scale-x:.75;--tw-scale-y:.75}.xl\\:hover\\:scale-90:hover{--tw-scale-x:.9;--tw-scale-y:.9}.xl\\:hover\\:scale-95:hover{--tw-scale-x:.95;--tw-scale-y:.95}.xl\\:hover\\:scale-100:hover{--tw-scale-x:1;--tw-scale-y:1}.xl\\:hover\\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.xl\\:hover\\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.xl\\:hover\\:scale-125:hover{--tw-scale-x:1.25;--tw-scale-y:1.25}.xl\\:hover\\:scale-150:hover{--tw-scale-x:1.5;--tw-scale-y:1.5}.xl\\:focus\\:scale-0:focus{--tw-scale-x:0;--tw-scale-y:0}.xl\\:focus\\:scale-50:focus{--tw-scale-x:.5;--tw-scale-y:.5}.xl\\:focus\\:scale-75:focus{--tw-scale-x:.75;--tw-scale-y:.75}.xl\\:focus\\:scale-90:focus{--tw-scale-x:.9;--tw-scale-y:.9}.xl\\:focus\\:scale-95:focus{--tw-scale-x:.95;--tw-scale-y:.95}.xl\\:focus\\:scale-100:focus{--tw-scale-x:1;--tw-scale-y:1}.xl\\:focus\\:scale-105:focus{--tw-scale-x:1.05;--tw-scale-y:1.05}.xl\\:focus\\:scale-110:focus{--tw-scale-x:1.1;--tw-scale-y:1.1}.xl\\:focus\\:scale-125:focus{--tw-scale-x:1.25;--tw-scale-y:1.25}.xl\\:focus\\:scale-150:focus{--tw-scale-x:1.5;--tw-scale-y:1.5}.xl\\:scale-x-0{--tw-scale-x:0}.xl\\:scale-x-50{--tw-scale-x:.5}.xl\\:scale-x-75{--tw-scale-x:.75}.xl\\:scale-x-90{--tw-scale-x:.9}.xl\\:scale-x-95{--tw-scale-x:.95}.xl\\:scale-x-100{--tw-scale-x:1}.xl\\:scale-x-105{--tw-scale-x:1.05}.xl\\:scale-x-110{--tw-scale-x:1.1}.xl\\:scale-x-125{--tw-scale-x:1.25}.xl\\:scale-x-150{--tw-scale-x:1.5}.xl\\:scale-y-0{--tw-scale-y:0}.xl\\:scale-y-50{--tw-scale-y:.5}.xl\\:scale-y-75{--tw-scale-y:.75}.xl\\:scale-y-90{--tw-scale-y:.9}.xl\\:scale-y-95{--tw-scale-y:.95}.xl\\:scale-y-100{--tw-scale-y:1}.xl\\:scale-y-105{--tw-scale-y:1.05}.xl\\:scale-y-110{--tw-scale-y:1.1}.xl\\:scale-y-125{--tw-scale-y:1.25}.xl\\:scale-y-150{--tw-scale-y:1.5}.xl\\:hover\\:scale-x-0:hover{--tw-scale-x:0}.xl\\:hover\\:scale-x-50:hover{--tw-scale-x:.5}.xl\\:hover\\:scale-x-75:hover{--tw-scale-x:.75}.xl\\:hover\\:scale-x-90:hover{--tw-scale-x:.9}.xl\\:hover\\:scale-x-95:hover{--tw-scale-x:.95}.xl\\:hover\\:scale-x-100:hover{--tw-scale-x:1}.xl\\:hover\\:scale-x-105:hover{--tw-scale-x:1.05}.xl\\:hover\\:scale-x-110:hover{--tw-scale-x:1.1}.xl\\:hover\\:scale-x-125:hover{--tw-scale-x:1.25}.xl\\:hover\\:scale-x-150:hover{--tw-scale-x:1.5}.xl\\:hover\\:scale-y-0:hover{--tw-scale-y:0}.xl\\:hover\\:scale-y-50:hover{--tw-scale-y:.5}.xl\\:hover\\:scale-y-75:hover{--tw-scale-y:.75}.xl\\:hover\\:scale-y-90:hover{--tw-scale-y:.9}.xl\\:hover\\:scale-y-95:hover{--tw-scale-y:.95}.xl\\:hover\\:scale-y-100:hover{--tw-scale-y:1}.xl\\:hover\\:scale-y-105:hover{--tw-scale-y:1.05}.xl\\:hover\\:scale-y-110:hover{--tw-scale-y:1.1}.xl\\:hover\\:scale-y-125:hover{--tw-scale-y:1.25}.xl\\:hover\\:scale-y-150:hover{--tw-scale-y:1.5}.xl\\:focus\\:scale-x-0:focus{--tw-scale-x:0}.xl\\:focus\\:scale-x-50:focus{--tw-scale-x:.5}.xl\\:focus\\:scale-x-75:focus{--tw-scale-x:.75}.xl\\:focus\\:scale-x-90:focus{--tw-scale-x:.9}.xl\\:focus\\:scale-x-95:focus{--tw-scale-x:.95}.xl\\:focus\\:scale-x-100:focus{--tw-scale-x:1}.xl\\:focus\\:scale-x-105:focus{--tw-scale-x:1.05}.xl\\:focus\\:scale-x-110:focus{--tw-scale-x:1.1}.xl\\:focus\\:scale-x-125:focus{--tw-scale-x:1.25}.xl\\:focus\\:scale-x-150:focus{--tw-scale-x:1.5}.xl\\:focus\\:scale-y-0:focus{--tw-scale-y:0}.xl\\:focus\\:scale-y-50:focus{--tw-scale-y:.5}.xl\\:focus\\:scale-y-75:focus{--tw-scale-y:.75}.xl\\:focus\\:scale-y-90:focus{--tw-scale-y:.9}.xl\\:focus\\:scale-y-95:focus{--tw-scale-y:.95}.xl\\:focus\\:scale-y-100:focus{--tw-scale-y:1}.xl\\:focus\\:scale-y-105:focus{--tw-scale-y:1.05}.xl\\:focus\\:scale-y-110:focus{--tw-scale-y:1.1}.xl\\:focus\\:scale-y-125:focus{--tw-scale-y:1.25}.xl\\:focus\\:scale-y-150:focus{--tw-scale-y:1.5}.xl\\:animate-none{animation:none}.xl\\:animate-spin{animation:spin 1s linear infinite}.xl\\:animate-ping{animation:ping 1s cubic-bezier(0, 0, 0.2, 1) infinite}.xl\\:animate-pulse{animation:pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite}.xl\\:animate-bounce{animation:bounce 1s infinite}.xl\\:cursor-auto{cursor:auto}.xl\\:cursor-default{cursor:default}.xl\\:cursor-pointer{cursor:pointer}.xl\\:cursor-wait{cursor:wait}.xl\\:cursor-text{cursor:text}.xl\\:cursor-move{cursor:move}.xl\\:cursor-help{cursor:help}.xl\\:cursor-not-allowed{cursor:not-allowed}.xl\\:select-none{-webkit-user-select:none;user-select:none}.xl\\:select-text{-webkit-user-select:text;user-select:text}.xl\\:select-all{-webkit-user-select:all;user-select:all}.xl\\:select-auto{-webkit-user-select:auto;user-select:auto}.xl\\:resize-none{resize:none}.xl\\:resize-y{resize:vertical}.xl\\:resize-x{resize:horizontal}.xl\\:resize{resize:both}.xl\\:list-inside{list-style-position:inside}.xl\\:list-outside{list-style-position:outside}.xl\\:list-none{list-style-type:none}.xl\\:list-disc{list-style-type:disc}.xl\\:list-decimal{list-style-type:decimal}.xl\\:appearance-none{appearance:none}.xl\\:auto-cols-auto{grid-auto-columns:auto}.xl\\:auto-cols-min{grid-auto-columns:min-content}.xl\\:auto-cols-max{grid-auto-columns:max-content}.xl\\:auto-cols-fr{grid-auto-columns:minmax(0, 1fr)}.xl\\:grid-flow-row{grid-auto-flow:row}.xl\\:grid-flow-col{grid-auto-flow:column}.xl\\:grid-flow-row-dense{grid-auto-flow:row dense}.xl\\:grid-flow-col-dense{grid-auto-flow:column dense}.xl\\:auto-rows-auto{grid-auto-rows:auto}.xl\\:auto-rows-min{grid-auto-rows:min-content}.xl\\:auto-rows-max{grid-auto-rows:max-content}.xl\\:auto-rows-fr{grid-auto-rows:minmax(0, 1fr)}.xl\\:grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}.xl\\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.xl\\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.xl\\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}.xl\\:grid-cols-5{grid-template-columns:repeat(5, minmax(0, 1fr))}.xl\\:grid-cols-6{grid-template-columns:repeat(6, minmax(0, 1fr))}.xl\\:grid-cols-7{grid-template-columns:repeat(7, minmax(0, 1fr))}.xl\\:grid-cols-8{grid-template-columns:repeat(8, minmax(0, 1fr))}.xl\\:grid-cols-9{grid-template-columns:repeat(9, minmax(0, 1fr))}.xl\\:grid-cols-10{grid-template-columns:repeat(10, minmax(0, 1fr))}.xl\\:grid-cols-11{grid-template-columns:repeat(11, minmax(0, 1fr))}.xl\\:grid-cols-12{grid-template-columns:repeat(12, minmax(0, 1fr))}.xl\\:grid-cols-none{grid-template-columns:none}.xl\\:grid-rows-1{grid-template-rows:repeat(1, minmax(0, 1fr))}.xl\\:grid-rows-2{grid-template-rows:repeat(2, minmax(0, 1fr))}.xl\\:grid-rows-3{grid-template-rows:repeat(3, minmax(0, 1fr))}.xl\\:grid-rows-4{grid-template-rows:repeat(4, minmax(0, 1fr))}.xl\\:grid-rows-5{grid-template-rows:repeat(5, minmax(0, 1fr))}.xl\\:grid-rows-6{grid-template-rows:repeat(6, minmax(0, 1fr))}.xl\\:grid-rows-none{grid-template-rows:none}.xl\\:flex-row{flex-direction:row}.xl\\:flex-row-reverse{flex-direction:row-reverse}.xl\\:flex-col{flex-direction:column}.xl\\:flex-col-reverse{flex-direction:column-reverse}.xl\\:flex-wrap{flex-wrap:wrap}.xl\\:flex-wrap-reverse{flex-wrap:wrap-reverse}.xl\\:flex-nowrap{flex-wrap:nowrap}.xl\\:place-content-center{place-content:center}.xl\\:place-content-start{place-content:start}.xl\\:place-content-end{place-content:end}.xl\\:place-content-between{place-content:space-between}.xl\\:place-content-around{place-content:space-around}.xl\\:place-content-evenly{place-content:space-evenly}.xl\\:place-content-stretch{place-content:stretch}.xl\\:place-items-start{place-items:start}.xl\\:place-items-end{place-items:end}.xl\\:place-items-center{place-items:center}.xl\\:place-items-stretch{place-items:stretch}.xl\\:content-center{align-content:center}.xl\\:content-start{align-content:flex-start}.xl\\:content-end{align-content:flex-end}.xl\\:content-between{align-content:space-between}.xl\\:content-around{align-content:space-around}.xl\\:content-evenly{align-content:space-evenly}.xl\\:items-start{align-items:flex-start}.xl\\:items-end{align-items:flex-end}.xl\\:items-center{align-items:center}.xl\\:items-baseline{align-items:baseline}.xl\\:items-stretch{align-items:stretch}.xl\\:justify-start{justify-content:flex-start}.xl\\:justify-end{justify-content:flex-end}.xl\\:justify-center{justify-content:center}.xl\\:justify-between{justify-content:space-between}.xl\\:justify-around{justify-content:space-around}.xl\\:justify-evenly{justify-content:space-evenly}.xl\\:justify-items-start{justify-items:start}.xl\\:justify-items-end{justify-items:end}.xl\\:justify-items-center{justify-items:center}.xl\\:justify-items-stretch{justify-items:stretch}.xl\\:gap-0{gap:0px}.xl\\:gap-1{gap:0.25rem}.xl\\:gap-2{gap:0.5rem}.xl\\:gap-3{gap:0.75rem}.xl\\:gap-4{gap:1rem}.xl\\:gap-5{gap:1.25rem}.xl\\:gap-6{gap:1.5rem}.xl\\:gap-7{gap:1.75rem}.xl\\:gap-8{gap:2rem}.xl\\:gap-9{gap:2.25rem}.xl\\:gap-10{gap:2.5rem}.xl\\:gap-11{gap:2.75rem}.xl\\:gap-12{gap:3rem}.xl\\:gap-14{gap:3.5rem}.xl\\:gap-16{gap:4rem}.xl\\:gap-20{gap:5rem}.xl\\:gap-24{gap:6rem}.xl\\:gap-28{gap:7rem}.xl\\:gap-32{gap:8rem}.xl\\:gap-36{gap:9rem}.xl\\:gap-40{gap:10rem}.xl\\:gap-44{gap:11rem}.xl\\:gap-48{gap:12rem}.xl\\:gap-52{gap:13rem}.xl\\:gap-56{gap:14rem}.xl\\:gap-60{gap:15rem}.xl\\:gap-64{gap:16rem}.xl\\:gap-72{gap:18rem}.xl\\:gap-80{gap:20rem}.xl\\:gap-96{gap:24rem}.xl\\:gap-px{gap:1px}.xl\\:gap-0\\.5{gap:0.125rem}.xl\\:gap-1\\.5{gap:0.375rem}.xl\\:gap-2\\.5{gap:0.625rem}.xl\\:gap-3\\.5{gap:0.875rem}.xl\\:gap-x-0{column-gap:0px}.xl\\:gap-x-1{column-gap:0.25rem}.xl\\:gap-x-2{column-gap:0.5rem}.xl\\:gap-x-3{column-gap:0.75rem}.xl\\:gap-x-4{column-gap:1rem}.xl\\:gap-x-5{column-gap:1.25rem}.xl\\:gap-x-6{column-gap:1.5rem}.xl\\:gap-x-7{column-gap:1.75rem}.xl\\:gap-x-8{column-gap:2rem}.xl\\:gap-x-9{column-gap:2.25rem}.xl\\:gap-x-10{column-gap:2.5rem}.xl\\:gap-x-11{column-gap:2.75rem}.xl\\:gap-x-12{column-gap:3rem}.xl\\:gap-x-14{column-gap:3.5rem}.xl\\:gap-x-16{column-gap:4rem}.xl\\:gap-x-20{column-gap:5rem}.xl\\:gap-x-24{column-gap:6rem}.xl\\:gap-x-28{column-gap:7rem}.xl\\:gap-x-32{column-gap:8rem}.xl\\:gap-x-36{column-gap:9rem}.xl\\:gap-x-40{column-gap:10rem}.xl\\:gap-x-44{column-gap:11rem}.xl\\:gap-x-48{column-gap:12rem}.xl\\:gap-x-52{column-gap:13rem}.xl\\:gap-x-56{column-gap:14rem}.xl\\:gap-x-60{column-gap:15rem}.xl\\:gap-x-64{column-gap:16rem}.xl\\:gap-x-72{column-gap:18rem}.xl\\:gap-x-80{column-gap:20rem}.xl\\:gap-x-96{column-gap:24rem}.xl\\:gap-x-px{column-gap:1px}.xl\\:gap-x-0\\.5{column-gap:0.125rem}.xl\\:gap-x-1\\.5{column-gap:0.375rem}.xl\\:gap-x-2\\.5{column-gap:0.625rem}.xl\\:gap-x-3\\.5{column-gap:0.875rem}.xl\\:gap-y-0{row-gap:0px}.xl\\:gap-y-1{row-gap:0.25rem}.xl\\:gap-y-2{row-gap:0.5rem}.xl\\:gap-y-3{row-gap:0.75rem}.xl\\:gap-y-4{row-gap:1rem}.xl\\:gap-y-5{row-gap:1.25rem}.xl\\:gap-y-6{row-gap:1.5rem}.xl\\:gap-y-7{row-gap:1.75rem}.xl\\:gap-y-8{row-gap:2rem}.xl\\:gap-y-9{row-gap:2.25rem}.xl\\:gap-y-10{row-gap:2.5rem}.xl\\:gap-y-11{row-gap:2.75rem}.xl\\:gap-y-12{row-gap:3rem}.xl\\:gap-y-14{row-gap:3.5rem}.xl\\:gap-y-16{row-gap:4rem}.xl\\:gap-y-20{row-gap:5rem}.xl\\:gap-y-24{row-gap:6rem}.xl\\:gap-y-28{row-gap:7rem}.xl\\:gap-y-32{row-gap:8rem}.xl\\:gap-y-36{row-gap:9rem}.xl\\:gap-y-40{row-gap:10rem}.xl\\:gap-y-44{row-gap:11rem}.xl\\:gap-y-48{row-gap:12rem}.xl\\:gap-y-52{row-gap:13rem}.xl\\:gap-y-56{row-gap:14rem}.xl\\:gap-y-60{row-gap:15rem}.xl\\:gap-y-64{row-gap:16rem}.xl\\:gap-y-72{row-gap:18rem}.xl\\:gap-y-80{row-gap:20rem}.xl\\:gap-y-96{row-gap:24rem}.xl\\:gap-y-px{row-gap:1px}.xl\\:gap-y-0\\.5{row-gap:0.125rem}.xl\\:gap-y-1\\.5{row-gap:0.375rem}.xl\\:gap-y-2\\.5{row-gap:0.625rem}.xl\\:gap-y-3\\.5{row-gap:0.875rem}.xl\\:space-x-0>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0px * var(--tw-space-x-reverse));margin-left:calc(0px * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.25rem * var(--tw-space-x-reverse));margin-left:calc(0.25rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.5rem * var(--tw-space-x-reverse));margin-left:calc(0.5rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.75rem * var(--tw-space-x-reverse));margin-left:calc(0.75rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.25rem * var(--tw-space-x-reverse));margin-left:calc(1.25rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.5rem * var(--tw-space-x-reverse));margin-left:calc(1.5rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-7>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.75rem * var(--tw-space-x-reverse));margin-left:calc(1.75rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2rem * var(--tw-space-x-reverse));margin-left:calc(2rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-9>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2.25rem * var(--tw-space-x-reverse));margin-left:calc(2.25rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-10>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2.5rem * var(--tw-space-x-reverse));margin-left:calc(2.5rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-11>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2.75rem * var(--tw-space-x-reverse));margin-left:calc(2.75rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-12>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(3rem * var(--tw-space-x-reverse));margin-left:calc(3rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-14>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(3.5rem * var(--tw-space-x-reverse));margin-left:calc(3.5rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-16>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(4rem * var(--tw-space-x-reverse));margin-left:calc(4rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-20>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(5rem * var(--tw-space-x-reverse));margin-left:calc(5rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-24>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(6rem * var(--tw-space-x-reverse));margin-left:calc(6rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-28>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(7rem * var(--tw-space-x-reverse));margin-left:calc(7rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-32>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(8rem * var(--tw-space-x-reverse));margin-left:calc(8rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-36>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(9rem * var(--tw-space-x-reverse));margin-left:calc(9rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-40>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(10rem * var(--tw-space-x-reverse));margin-left:calc(10rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-44>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(11rem * var(--tw-space-x-reverse));margin-left:calc(11rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-48>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(12rem * var(--tw-space-x-reverse));margin-left:calc(12rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-52>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(13rem * var(--tw-space-x-reverse));margin-left:calc(13rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-56>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(14rem * var(--tw-space-x-reverse));margin-left:calc(14rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-60>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(15rem * var(--tw-space-x-reverse));margin-left:calc(15rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-64>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(16rem * var(--tw-space-x-reverse));margin-left:calc(16rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-72>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(18rem * var(--tw-space-x-reverse));margin-left:calc(18rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-80>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(20rem * var(--tw-space-x-reverse));margin-left:calc(20rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-96>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(24rem * var(--tw-space-x-reverse));margin-left:calc(24rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1px * var(--tw-space-x-reverse));margin-left:calc(1px * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-0\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.125rem * var(--tw-space-x-reverse));margin-left:calc(0.125rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-1\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.375rem * var(--tw-space-x-reverse));margin-left:calc(0.375rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-2\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.625rem * var(--tw-space-x-reverse));margin-left:calc(0.625rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-3\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.875rem * var(--tw-space-x-reverse));margin-left:calc(0.875rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-0>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0px * var(--tw-space-x-reverse));margin-left:calc(0px * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.25rem * var(--tw-space-x-reverse));margin-left:calc(-0.25rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.5rem * var(--tw-space-x-reverse));margin-left:calc(-0.5rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.75rem * var(--tw-space-x-reverse));margin-left:calc(-0.75rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1rem * var(--tw-space-x-reverse));margin-left:calc(-1rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1.25rem * var(--tw-space-x-reverse));margin-left:calc(-1.25rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1.5rem * var(--tw-space-x-reverse));margin-left:calc(-1.5rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-7>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1.75rem * var(--tw-space-x-reverse));margin-left:calc(-1.75rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2rem * var(--tw-space-x-reverse));margin-left:calc(-2rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-9>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2.25rem * var(--tw-space-x-reverse));margin-left:calc(-2.25rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-10>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2.5rem * var(--tw-space-x-reverse));margin-left:calc(-2.5rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-11>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2.75rem * var(--tw-space-x-reverse));margin-left:calc(-2.75rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-12>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-3rem * var(--tw-space-x-reverse));margin-left:calc(-3rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-14>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-3.5rem * var(--tw-space-x-reverse));margin-left:calc(-3.5rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-16>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-4rem * var(--tw-space-x-reverse));margin-left:calc(-4rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-20>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-5rem * var(--tw-space-x-reverse));margin-left:calc(-5rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-24>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-6rem * var(--tw-space-x-reverse));margin-left:calc(-6rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-28>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-7rem * var(--tw-space-x-reverse));margin-left:calc(-7rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-32>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-8rem * var(--tw-space-x-reverse));margin-left:calc(-8rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-36>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-9rem * var(--tw-space-x-reverse));margin-left:calc(-9rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-40>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-10rem * var(--tw-space-x-reverse));margin-left:calc(-10rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-44>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-11rem * var(--tw-space-x-reverse));margin-left:calc(-11rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-48>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-12rem * var(--tw-space-x-reverse));margin-left:calc(-12rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-52>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-13rem * var(--tw-space-x-reverse));margin-left:calc(-13rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-56>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-14rem * var(--tw-space-x-reverse));margin-left:calc(-14rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-60>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-15rem * var(--tw-space-x-reverse));margin-left:calc(-15rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-64>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-16rem * var(--tw-space-x-reverse));margin-left:calc(-16rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-72>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-18rem * var(--tw-space-x-reverse));margin-left:calc(-18rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-80>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-20rem * var(--tw-space-x-reverse));margin-left:calc(-20rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-96>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-24rem * var(--tw-space-x-reverse));margin-left:calc(-24rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1px * var(--tw-space-x-reverse));margin-left:calc(-1px * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-0\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.125rem * var(--tw-space-x-reverse));margin-left:calc(-0.125rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-1\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.375rem * var(--tw-space-x-reverse));margin-left:calc(-0.375rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-2\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.625rem * var(--tw-space-x-reverse));margin-left:calc(-0.625rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-3\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.875rem * var(--tw-space-x-reverse));margin-left:calc(-0.875rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.xl\\:space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.25rem * var(--tw-space-y-reverse))}.xl\\:space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.5rem * var(--tw-space-y-reverse))}.xl\\:space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.75rem * var(--tw-space-y-reverse))}.xl\\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.xl\\:space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.xl\\:space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.xl\\:space-y-7>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.75rem * var(--tw-space-y-reverse))}.xl\\:space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.xl\\:space-y-9>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.25rem * var(--tw-space-y-reverse))}.xl\\:space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.5rem * var(--tw-space-y-reverse))}.xl\\:space-y-11>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.75rem * var(--tw-space-y-reverse))}.xl\\:space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3rem * var(--tw-space-y-reverse))}.xl\\:space-y-14>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(3.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3.5rem * var(--tw-space-y-reverse))}.xl\\:space-y-16>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(4rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(4rem * var(--tw-space-y-reverse))}.xl\\:space-y-20>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(5rem * var(--tw-space-y-reverse))}.xl\\:space-y-24>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(6rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(6rem * var(--tw-space-y-reverse))}.xl\\:space-y-28>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(7rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(7rem * var(--tw-space-y-reverse))}.xl\\:space-y-32>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(8rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(8rem * var(--tw-space-y-reverse))}.xl\\:space-y-36>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(9rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(9rem * var(--tw-space-y-reverse))}.xl\\:space-y-40>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(10rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(10rem * var(--tw-space-y-reverse))}.xl\\:space-y-44>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(11rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(11rem * var(--tw-space-y-reverse))}.xl\\:space-y-48>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(12rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(12rem * var(--tw-space-y-reverse))}.xl\\:space-y-52>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(13rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(13rem * var(--tw-space-y-reverse))}.xl\\:space-y-56>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(14rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(14rem * var(--tw-space-y-reverse))}.xl\\:space-y-60>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(15rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(15rem * var(--tw-space-y-reverse))}.xl\\:space-y-64>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(16rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(16rem * var(--tw-space-y-reverse))}.xl\\:space-y-72>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(18rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(18rem * var(--tw-space-y-reverse))}.xl\\:space-y-80>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(20rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(20rem * var(--tw-space-y-reverse))}.xl\\:space-y-96>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(24rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(24rem * var(--tw-space-y-reverse))}.xl\\:space-y-px>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1px * var(--tw-space-y-reverse))}.xl\\:space-y-0\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.125rem * var(--tw-space-y-reverse))}.xl\\:space-y-1\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.375rem * var(--tw-space-y-reverse))}.xl\\:space-y-2\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.625rem * var(--tw-space-y-reverse))}.xl\\:space-y-3\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.875rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.875rem * var(--tw-space-y-reverse))}.xl\\:-space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.xl\\:-space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.25rem * var(--tw-space-y-reverse))}.xl\\:-space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.5rem * var(--tw-space-y-reverse))}.xl\\:-space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.75rem * var(--tw-space-y-reverse))}.xl\\:-space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1rem * var(--tw-space-y-reverse))}.xl\\:-space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1.25rem * var(--tw-space-y-reverse))}.xl\\:-space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1.5rem * var(--tw-space-y-reverse))}.xl\\:-space-y-7>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1.75rem * var(--tw-space-y-reverse))}.xl\\:-space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2rem * var(--tw-space-y-reverse))}.xl\\:-space-y-9>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2.25rem * var(--tw-space-y-reverse))}.xl\\:-space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2.5rem * var(--tw-space-y-reverse))}.xl\\:-space-y-11>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2.75rem * var(--tw-space-y-reverse))}.xl\\:-space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-3rem * var(--tw-space-y-reverse))}.xl\\:-space-y-14>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-3.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-3.5rem * var(--tw-space-y-reverse))}.xl\\:-space-y-16>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-4rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-4rem * var(--tw-space-y-reverse))}.xl\\:-space-y-20>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-5rem * var(--tw-space-y-reverse))}.xl\\:-space-y-24>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-6rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-6rem * var(--tw-space-y-reverse))}.xl\\:-space-y-28>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-7rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-7rem * var(--tw-space-y-reverse))}.xl\\:-space-y-32>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-8rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-8rem * var(--tw-space-y-reverse))}.xl\\:-space-y-36>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-9rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-9rem * var(--tw-space-y-reverse))}.xl\\:-space-y-40>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-10rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-10rem * var(--tw-space-y-reverse))}.xl\\:-space-y-44>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-11rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-11rem * var(--tw-space-y-reverse))}.xl\\:-space-y-48>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-12rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-12rem * var(--tw-space-y-reverse))}.xl\\:-space-y-52>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-13rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-13rem * var(--tw-space-y-reverse))}.xl\\:-space-y-56>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-14rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-14rem * var(--tw-space-y-reverse))}.xl\\:-space-y-60>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-15rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-15rem * var(--tw-space-y-reverse))}.xl\\:-space-y-64>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-16rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-16rem * var(--tw-space-y-reverse))}.xl\\:-space-y-72>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-18rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-18rem * var(--tw-space-y-reverse))}.xl\\:-space-y-80>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-20rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-20rem * var(--tw-space-y-reverse))}.xl\\:-space-y-96>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-24rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-24rem * var(--tw-space-y-reverse))}.xl\\:-space-y-px>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1px * var(--tw-space-y-reverse))}.xl\\:-space-y-0\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.125rem * var(--tw-space-y-reverse))}.xl\\:-space-y-1\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.375rem * var(--tw-space-y-reverse))}.xl\\:-space-y-2\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.625rem * var(--tw-space-y-reverse))}.xl\\:-space-y-3\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.875rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.875rem * var(--tw-space-y-reverse))}.xl\\:space-y-reverse>:not([hidden])~:not([hidden]){--tw-space-y-reverse:1}.xl\\:space-x-reverse>:not([hidden])~:not([hidden]){--tw-space-x-reverse:1}.xl\\:divide-x-0>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(0px * var(--tw-divide-x-reverse));border-left-width:calc(0px * calc(1 - var(--tw-divide-x-reverse)))}.xl\\:divide-x-2>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(2px * var(--tw-divide-x-reverse));border-left-width:calc(2px * calc(1 - var(--tw-divide-x-reverse)))}.xl\\:divide-x-4>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(4px * var(--tw-divide-x-reverse));border-left-width:calc(4px * calc(1 - var(--tw-divide-x-reverse)))}.xl\\:divide-x-8>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(8px * var(--tw-divide-x-reverse));border-left-width:calc(8px * calc(1 - var(--tw-divide-x-reverse)))}.xl\\:divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(1px * var(--tw-divide-x-reverse));border-left-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}.xl\\:divide-y-0>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(0px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(0px * var(--tw-divide-y-reverse))}.xl\\:divide-y-2>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(2px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(2px * var(--tw-divide-y-reverse))}.xl\\:divide-y-4>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(4px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(4px * var(--tw-divide-y-reverse))}.xl\\:divide-y-8>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(8px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(8px * var(--tw-divide-y-reverse))}.xl\\:divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.xl\\:divide-y-reverse>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:1}.xl\\:divide-x-reverse>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:1}.xl\\:divide-solid>:not([hidden])~:not([hidden]){border-style:solid}.xl\\:divide-dashed>:not([hidden])~:not([hidden]){border-style:dashed}.xl\\:divide-dotted>:not([hidden])~:not([hidden]){border-style:dotted}.xl\\:divide-double>:not([hidden])~:not([hidden]){border-style:double}.xl\\:divide-none>:not([hidden])~:not([hidden]){border-style:none}.xl\\:divide-transparent>:not([hidden])~:not([hidden]){border-color:transparent}.xl\\:divide-current>:not([hidden])~:not([hidden]){border-color:currentColor}.xl\\:divide-white>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.xl\\:divide-lightgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(247, 247, 247, var(--tw-divide-opacity))}.xl\\:divide-midgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.xl\\:divide-darkgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(127, 127, 127, var(--tw-divide-opacity))}.xl\\:divide-grey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(30, 30, 30, var(--tw-divide-opacity))}.xl\\:divide-black>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(15, 15, 15, var(--tw-divide-opacity))}.xl\\:divide-highlight>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 113, 227, var(--tw-divide-opacity))}.xl\\:divide-highlight_hover>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 119, 237, var(--tw-divide-opacity))}.xl\\:divide-button_outline>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.xl\\:divide-error>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 69, 58, var(--tw-divide-opacity))}.xl\\:divide-text-light>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(15, 15, 15, var(--tw-divide-opacity))}.xl\\:divide-text-dimmed>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.xl\\:divide-text-dark>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.xl\\:divide-body-light>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.xl\\:divide-body-dark>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(30, 30, 30, var(--tw-divide-opacity))}.xl\\:divide-button>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 113, 227, var(--tw-divide-opacity))}.xl\\:divide-button_hover>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 119, 237, var(--tw-divide-opacity))}@media(prefers-color-scheme: dark){.xl\\:dark\\:divide-transparent>:not([hidden])~:not([hidden]){border-color:transparent}.xl\\:dark\\:divide-current>:not([hidden])~:not([hidden]){border-color:currentColor}.xl\\:dark\\:divide-white>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.xl\\:dark\\:divide-lightgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(247, 247, 247, var(--tw-divide-opacity))}.xl\\:dark\\:divide-midgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.xl\\:dark\\:divide-darkgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(127, 127, 127, var(--tw-divide-opacity))}.xl\\:dark\\:divide-grey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(30, 30, 30, var(--tw-divide-opacity))}.xl\\:dark\\:divide-black>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(15, 15, 15, var(--tw-divide-opacity))}.xl\\:dark\\:divide-highlight>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 113, 227, var(--tw-divide-opacity))}.xl\\:dark\\:divide-highlight_hover>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 119, 237, var(--tw-divide-opacity))}.xl\\:dark\\:divide-button_outline>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.xl\\:dark\\:divide-error>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 69, 58, var(--tw-divide-opacity))}.xl\\:dark\\:divide-text-light>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(15, 15, 15, var(--tw-divide-opacity))}.xl\\:dark\\:divide-text-dimmed>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.xl\\:dark\\:divide-text-dark>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.xl\\:dark\\:divide-body-light>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.xl\\:dark\\:divide-body-dark>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(30, 30, 30, var(--tw-divide-opacity))}.xl\\:dark\\:divide-button>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 113, 227, var(--tw-divide-opacity))}.xl\\:dark\\:divide-button_hover>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 119, 237, var(--tw-divide-opacity))}}.xl\\:divide-opacity-0>:not([hidden])~:not([hidden]){--tw-divide-opacity:0}.xl\\:divide-opacity-5>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.05}.xl\\:divide-opacity-10>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.1}.xl\\:divide-opacity-20>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.2}.xl\\:divide-opacity-25>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.25}.xl\\:divide-opacity-30>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.3}.xl\\:divide-opacity-40>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.4}.xl\\:divide-opacity-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.5}.xl\\:divide-opacity-60>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.6}.xl\\:divide-opacity-70>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.7}.xl\\:divide-opacity-75>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.75}.xl\\:divide-opacity-80>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.8}.xl\\:divide-opacity-90>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.9}.xl\\:divide-opacity-95>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.95}.xl\\:divide-opacity-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1}@media(prefers-color-scheme: dark){.xl\\:dark\\:divide-opacity-0>:not([hidden])~:not([hidden]){--tw-divide-opacity:0}.xl\\:dark\\:divide-opacity-5>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.05}.xl\\:dark\\:divide-opacity-10>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.1}.xl\\:dark\\:divide-opacity-20>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.2}.xl\\:dark\\:divide-opacity-25>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.25}.xl\\:dark\\:divide-opacity-30>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.3}.xl\\:dark\\:divide-opacity-40>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.4}.xl\\:dark\\:divide-opacity-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.5}.xl\\:dark\\:divide-opacity-60>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.6}.xl\\:dark\\:divide-opacity-70>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.7}.xl\\:dark\\:divide-opacity-75>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.75}.xl\\:dark\\:divide-opacity-80>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.8}.xl\\:dark\\:divide-opacity-90>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.9}.xl\\:dark\\:divide-opacity-95>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.95}.xl\\:dark\\:divide-opacity-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1}}.xl\\:place-self-auto{place-self:auto}.xl\\:place-self-start{place-self:start}.xl\\:place-self-end{place-self:end}.xl\\:place-self-center{place-self:center}.xl\\:place-self-stretch{place-self:stretch}.xl\\:self-auto{align-self:auto}.xl\\:self-start{align-self:flex-start}.xl\\:self-end{align-self:flex-end}.xl\\:self-center{align-self:center}.xl\\:self-stretch{align-self:stretch}.xl\\:self-baseline{align-self:baseline}.xl\\:justify-self-auto{justify-self:auto}.xl\\:justify-self-start{justify-self:start}.xl\\:justify-self-end{justify-self:end}.xl\\:justify-self-center{justify-self:center}.xl\\:justify-self-stretch{justify-self:stretch}.xl\\:overflow-auto{overflow:auto}.xl\\:overflow-hidden{overflow:hidden}.xl\\:overflow-visible{overflow:visible}.xl\\:overflow-scroll{overflow:scroll}.xl\\:overflow-x-auto{overflow-x:auto}.xl\\:overflow-y-auto{overflow-y:auto}.xl\\:overflow-x-hidden{overflow-x:hidden}.xl\\:overflow-y-hidden{overflow-y:hidden}.xl\\:overflow-x-visible{overflow-x:visible}.xl\\:overflow-y-visible{overflow-y:visible}.xl\\:overflow-x-scroll{overflow-x:scroll}.xl\\:overflow-y-scroll{overflow-y:scroll}.xl\\:overscroll-auto{overscroll-behavior:auto}.xl\\:overscroll-contain{overscroll-behavior:contain}.xl\\:overscroll-none{overscroll-behavior:none}.xl\\:overscroll-y-auto{overscroll-behavior-y:auto}.xl\\:overscroll-y-contain{overscroll-behavior-y:contain}.xl\\:overscroll-y-none{overscroll-behavior-y:none}.xl\\:overscroll-x-auto{overscroll-behavior-x:auto}.xl\\:overscroll-x-contain{overscroll-behavior-x:contain}.xl\\:overscroll-x-none{overscroll-behavior-x:none}.xl\\:truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xl\\:overflow-ellipsis{text-overflow:ellipsis}.xl\\:overflow-clip{text-overflow:clip}.xl\\:whitespace-normal{white-space:normal}.xl\\:whitespace-nowrap{white-space:nowrap}.xl\\:whitespace-pre{white-space:pre}.xl\\:whitespace-pre-line{white-space:pre-line}.xl\\:whitespace-pre-wrap{white-space:pre-wrap}.xl\\:break-normal{overflow-wrap:normal;word-break:normal}.xl\\:break-words{overflow-wrap:break-word}.xl\\:break-all{word-break:break-all}.xl\\:rounded-none{border-radius:0px}.xl\\:rounded-sm{border-radius:0.125rem}.xl\\:rounded{border-radius:0.25rem}.xl\\:rounded-md{border-radius:0.375rem}.xl\\:rounded-lg{border-radius:0.5rem}.xl\\:rounded-xl{border-radius:0.75rem}.xl\\:rounded-2xl{border-radius:1rem}.xl\\:rounded-3xl{border-radius:1.5rem}.xl\\:rounded-full{border-radius:9999px}.xl\\:rounded-t-none{border-top-left-radius:0px;border-top-right-radius:0px}.xl\\:rounded-t-sm{border-top-left-radius:0.125rem;border-top-right-radius:0.125rem}.xl\\:rounded-t{border-top-left-radius:0.25rem;border-top-right-radius:0.25rem}.xl\\:rounded-t-md{border-top-left-radius:0.375rem;border-top-right-radius:0.375rem}.xl\\:rounded-t-lg{border-top-left-radius:0.5rem;border-top-right-radius:0.5rem}.xl\\:rounded-t-xl{border-top-left-radius:0.75rem;border-top-right-radius:0.75rem}.xl\\:rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.xl\\:rounded-t-3xl{border-top-left-radius:1.5rem;border-top-right-radius:1.5rem}.xl\\:rounded-t-full{border-top-left-radius:9999px;border-top-right-radius:9999px}.xl\\:rounded-r-none{border-top-right-radius:0px;border-bottom-right-radius:0px}.xl\\:rounded-r-sm{border-top-right-radius:0.125rem;border-bottom-right-radius:0.125rem}.xl\\:rounded-r{border-top-right-radius:0.25rem;border-bottom-right-radius:0.25rem}.xl\\:rounded-r-md{border-top-right-radius:0.375rem;border-bottom-right-radius:0.375rem}.xl\\:rounded-r-lg{border-top-right-radius:0.5rem;border-bottom-right-radius:0.5rem}.xl\\:rounded-r-xl{border-top-right-radius:0.75rem;border-bottom-right-radius:0.75rem}.xl\\:rounded-r-2xl{border-top-right-radius:1rem;border-bottom-right-radius:1rem}.xl\\:rounded-r-3xl{border-top-right-radius:1.5rem;border-bottom-right-radius:1.5rem}.xl\\:rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.xl\\:rounded-b-none{border-bottom-right-radius:0px;border-bottom-left-radius:0px}.xl\\:rounded-b-sm{border-bottom-right-radius:0.125rem;border-bottom-left-radius:0.125rem}.xl\\:rounded-b{border-bottom-right-radius:0.25rem;border-bottom-left-radius:0.25rem}.xl\\:rounded-b-md{border-bottom-right-radius:0.375rem;border-bottom-left-radius:0.375rem}.xl\\:rounded-b-lg{border-bottom-right-radius:0.5rem;border-bottom-left-radius:0.5rem}.xl\\:rounded-b-xl{border-bottom-right-radius:0.75rem;border-bottom-left-radius:0.75rem}.xl\\:rounded-b-2xl{border-bottom-right-radius:1rem;border-bottom-left-radius:1rem}.xl\\:rounded-b-3xl{border-bottom-right-radius:1.5rem;border-bottom-left-radius:1.5rem}.xl\\:rounded-b-full{border-bottom-right-radius:9999px;border-bottom-left-radius:9999px}.xl\\:rounded-l-none{border-top-left-radius:0px;border-bottom-left-radius:0px}.xl\\:rounded-l-sm{border-top-left-radius:0.125rem;border-bottom-left-radius:0.125rem}.xl\\:rounded-l{border-top-left-radius:0.25rem;border-bottom-left-radius:0.25rem}.xl\\:rounded-l-md{border-top-left-radius:0.375rem;border-bottom-left-radius:0.375rem}.xl\\:rounded-l-lg{border-top-left-radius:0.5rem;border-bottom-left-radius:0.5rem}.xl\\:rounded-l-xl{border-top-left-radius:0.75rem;border-bottom-left-radius:0.75rem}.xl\\:rounded-l-2xl{border-top-left-radius:1rem;border-bottom-left-radius:1rem}.xl\\:rounded-l-3xl{border-top-left-radius:1.5rem;border-bottom-left-radius:1.5rem}.xl\\:rounded-l-full{border-top-left-radius:9999px;border-bottom-left-radius:9999px}.xl\\:rounded-tl-none{border-top-left-radius:0px}.xl\\:rounded-tl-sm{border-top-left-radius:0.125rem}.xl\\:rounded-tl{border-top-left-radius:0.25rem}.xl\\:rounded-tl-md{border-top-left-radius:0.375rem}.xl\\:rounded-tl-lg{border-top-left-radius:0.5rem}.xl\\:rounded-tl-xl{border-top-left-radius:0.75rem}.xl\\:rounded-tl-2xl{border-top-left-radius:1rem}.xl\\:rounded-tl-3xl{border-top-left-radius:1.5rem}.xl\\:rounded-tl-full{border-top-left-radius:9999px}.xl\\:rounded-tr-none{border-top-right-radius:0px}.xl\\:rounded-tr-sm{border-top-right-radius:0.125rem}.xl\\:rounded-tr{border-top-right-radius:0.25rem}.xl\\:rounded-tr-md{border-top-right-radius:0.375rem}.xl\\:rounded-tr-lg{border-top-right-radius:0.5rem}.xl\\:rounded-tr-xl{border-top-right-radius:0.75rem}.xl\\:rounded-tr-2xl{border-top-right-radius:1rem}.xl\\:rounded-tr-3xl{border-top-right-radius:1.5rem}.xl\\:rounded-tr-full{border-top-right-radius:9999px}.xl\\:rounded-br-none{border-bottom-right-radius:0px}.xl\\:rounded-br-sm{border-bottom-right-radius:0.125rem}.xl\\:rounded-br{border-bottom-right-radius:0.25rem}.xl\\:rounded-br-md{border-bottom-right-radius:0.375rem}.xl\\:rounded-br-lg{border-bottom-right-radius:0.5rem}.xl\\:rounded-br-xl{border-bottom-right-radius:0.75rem}.xl\\:rounded-br-2xl{border-bottom-right-radius:1rem}.xl\\:rounded-br-3xl{border-bottom-right-radius:1.5rem}.xl\\:rounded-br-full{border-bottom-right-radius:9999px}.xl\\:rounded-bl-none{border-bottom-left-radius:0px}.xl\\:rounded-bl-sm{border-bottom-left-radius:0.125rem}.xl\\:rounded-bl{border-bottom-left-radius:0.25rem}.xl\\:rounded-bl-md{border-bottom-left-radius:0.375rem}.xl\\:rounded-bl-lg{border-bottom-left-radius:0.5rem}.xl\\:rounded-bl-xl{border-bottom-left-radius:0.75rem}.xl\\:rounded-bl-2xl{border-bottom-left-radius:1rem}.xl\\:rounded-bl-3xl{border-bottom-left-radius:1.5rem}.xl\\:rounded-bl-full{border-bottom-left-radius:9999px}.xl\\:border-0{border-width:0px}.xl\\:border-2{border-width:2px}.xl\\:border-4{border-width:4px}.xl\\:border-8{border-width:8px}.xl\\:border{border-width:1px}.xl\\:border-t-0{border-top-width:0px}.xl\\:border-t-2{border-top-width:2px}.xl\\:border-t-4{border-top-width:4px}.xl\\:border-t-8{border-top-width:8px}.xl\\:border-t{border-top-width:1px}.xl\\:border-r-0{border-right-width:0px}.xl\\:border-r-2{border-right-width:2px}.xl\\:border-r-4{border-right-width:4px}.xl\\:border-r-8{border-right-width:8px}.xl\\:border-r{border-right-width:1px}.xl\\:border-b-0{border-bottom-width:0px}.xl\\:border-b-2{border-bottom-width:2px}.xl\\:border-b-4{border-bottom-width:4px}.xl\\:border-b-8{border-bottom-width:8px}.xl\\:border-b{border-bottom-width:1px}.xl\\:border-l-0{border-left-width:0px}.xl\\:border-l-2{border-left-width:2px}.xl\\:border-l-4{border-left-width:4px}.xl\\:border-l-8{border-left-width:8px}.xl\\:border-l{border-left-width:1px}.xl\\:border-solid{border-style:solid}.xl\\:border-dashed{border-style:dashed}.xl\\:border-dotted{border-style:dotted}.xl\\:border-double{border-style:double}.xl\\:border-none{border-style:none}.xl\\:border-transparent{border-color:transparent}.xl\\:border-current{border-color:currentColor}.xl\\:border-white{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.xl\\:border-lightgrey{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.xl\\:border-midgrey{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.xl\\:border-darkgrey{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.xl\\:border-grey{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.xl\\:border-black{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.xl\\:border-highlight{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.xl\\:border-highlight_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.xl\\:border-button_outline{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.xl\\:border-error{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.xl\\:border-text-light{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.xl\\:border-text-dimmed{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.xl\\:border-text-dark{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.xl\\:border-body-light{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.xl\\:border-body-dark{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.xl\\:border-button{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.xl\\:border-button_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.group:hover .xl\\:group-hover\\:border-transparent{border-color:transparent}.group:hover .xl\\:group-hover\\:border-current{border-color:currentColor}.group:hover .xl\\:group-hover\\:border-white{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .xl\\:group-hover\\:border-lightgrey{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.group:hover .xl\\:group-hover\\:border-midgrey{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .xl\\:group-hover\\:border-darkgrey{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.group:hover .xl\\:group-hover\\:border-grey{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.group:hover .xl\\:group-hover\\:border-black{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.group:hover .xl\\:group-hover\\:border-highlight{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.group:hover .xl\\:group-hover\\:border-highlight_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.group:hover .xl\\:group-hover\\:border-button_outline{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .xl\\:group-hover\\:border-error{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.group:hover .xl\\:group-hover\\:border-text-light{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.group:hover .xl\\:group-hover\\:border-text-dimmed{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .xl\\:group-hover\\:border-text-dark{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .xl\\:group-hover\\:border-body-light{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .xl\\:group-hover\\:border-body-dark{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.group:hover .xl\\:group-hover\\:border-button{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.group:hover .xl\\:group-hover\\:border-button_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.xl\\:focus-within\\:border-transparent:focus-within{border-color:transparent}.xl\\:focus-within\\:border-current:focus-within{border-color:currentColor}.xl\\:focus-within\\:border-white:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.xl\\:focus-within\\:border-lightgrey:focus-within{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.xl\\:focus-within\\:border-midgrey:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.xl\\:focus-within\\:border-darkgrey:focus-within{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.xl\\:focus-within\\:border-grey:focus-within{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.xl\\:focus-within\\:border-black:focus-within{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.xl\\:focus-within\\:border-highlight:focus-within{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.xl\\:focus-within\\:border-highlight_hover:focus-within{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.xl\\:focus-within\\:border-button_outline:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.xl\\:focus-within\\:border-error:focus-within{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.xl\\:focus-within\\:border-text-light:focus-within{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.xl\\:focus-within\\:border-text-dimmed:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.xl\\:focus-within\\:border-text-dark:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.xl\\:focus-within\\:border-body-light:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.xl\\:focus-within\\:border-body-dark:focus-within{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.xl\\:focus-within\\:border-button:focus-within{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.xl\\:focus-within\\:border-button_hover:focus-within{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.xl\\:hover\\:border-transparent:hover{border-color:transparent}.xl\\:hover\\:border-current:hover{border-color:currentColor}.xl\\:hover\\:border-white:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.xl\\:hover\\:border-lightgrey:hover{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.xl\\:hover\\:border-midgrey:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.xl\\:hover\\:border-darkgrey:hover{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.xl\\:hover\\:border-grey:hover{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.xl\\:hover\\:border-black:hover{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.xl\\:hover\\:border-highlight:hover{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.xl\\:hover\\:border-highlight_hover:hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.xl\\:hover\\:border-button_outline:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.xl\\:hover\\:border-error:hover{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.xl\\:hover\\:border-text-light:hover{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.xl\\:hover\\:border-text-dimmed:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.xl\\:hover\\:border-text-dark:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.xl\\:hover\\:border-body-light:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.xl\\:hover\\:border-body-dark:hover{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.xl\\:hover\\:border-button:hover{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.xl\\:hover\\:border-button_hover:hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.xl\\:focus\\:border-transparent:focus{border-color:transparent}.xl\\:focus\\:border-current:focus{border-color:currentColor}.xl\\:focus\\:border-white:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.xl\\:focus\\:border-lightgrey:focus{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.xl\\:focus\\:border-midgrey:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.xl\\:focus\\:border-darkgrey:focus{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.xl\\:focus\\:border-grey:focus{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.xl\\:focus\\:border-black:focus{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.xl\\:focus\\:border-highlight:focus{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.xl\\:focus\\:border-highlight_hover:focus{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.xl\\:focus\\:border-button_outline:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.xl\\:focus\\:border-error:focus{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.xl\\:focus\\:border-text-light:focus{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.xl\\:focus\\:border-text-dimmed:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.xl\\:focus\\:border-text-dark:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.xl\\:focus\\:border-body-light:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.xl\\:focus\\:border-body-dark:focus{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.xl\\:focus\\:border-button:focus{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.xl\\:focus\\:border-button_hover:focus{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}@media(prefers-color-scheme: dark){.xl\\:dark\\:border-transparent{border-color:transparent}.xl\\:dark\\:border-current{border-color:currentColor}.xl\\:dark\\:border-white{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.xl\\:dark\\:border-lightgrey{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.xl\\:dark\\:border-midgrey{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.xl\\:dark\\:border-darkgrey{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.xl\\:dark\\:border-grey{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.xl\\:dark\\:border-black{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.xl\\:dark\\:border-highlight{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.xl\\:dark\\:border-highlight_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.xl\\:dark\\:border-button_outline{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.xl\\:dark\\:border-error{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.xl\\:dark\\:border-text-light{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.xl\\:dark\\:border-text-dimmed{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.xl\\:dark\\:border-text-dark{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.xl\\:dark\\:border-body-light{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.xl\\:dark\\:border-body-dark{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.xl\\:dark\\:border-button{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.xl\\:dark\\:border-button_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.group:hover .xl\\:dark\\:group-hover\\:border-transparent{border-color:transparent}.group:hover .xl\\:dark\\:group-hover\\:border-current{border-color:currentColor}.group:hover .xl\\:dark\\:group-hover\\:border-white{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .xl\\:dark\\:group-hover\\:border-lightgrey{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.group:hover .xl\\:dark\\:group-hover\\:border-midgrey{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .xl\\:dark\\:group-hover\\:border-darkgrey{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.group:hover .xl\\:dark\\:group-hover\\:border-grey{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.group:hover .xl\\:dark\\:group-hover\\:border-black{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.group:hover .xl\\:dark\\:group-hover\\:border-highlight{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.group:hover .xl\\:dark\\:group-hover\\:border-highlight_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.group:hover .xl\\:dark\\:group-hover\\:border-button_outline{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .xl\\:dark\\:group-hover\\:border-error{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.group:hover .xl\\:dark\\:group-hover\\:border-text-light{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.group:hover .xl\\:dark\\:group-hover\\:border-text-dimmed{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .xl\\:dark\\:group-hover\\:border-text-dark{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .xl\\:dark\\:group-hover\\:border-body-light{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .xl\\:dark\\:group-hover\\:border-body-dark{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.group:hover .xl\\:dark\\:group-hover\\:border-button{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.group:hover .xl\\:dark\\:group-hover\\:border-button_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.xl\\:dark\\:focus-within\\:border-transparent:focus-within{border-color:transparent}.xl\\:dark\\:focus-within\\:border-current:focus-within{border-color:currentColor}.xl\\:dark\\:focus-within\\:border-white:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.xl\\:dark\\:focus-within\\:border-lightgrey:focus-within{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.xl\\:dark\\:focus-within\\:border-midgrey:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.xl\\:dark\\:focus-within\\:border-darkgrey:focus-within{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.xl\\:dark\\:focus-within\\:border-grey:focus-within{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.xl\\:dark\\:focus-within\\:border-black:focus-within{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.xl\\:dark\\:focus-within\\:border-highlight:focus-within{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.xl\\:dark\\:focus-within\\:border-highlight_hover:focus-within{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.xl\\:dark\\:focus-within\\:border-button_outline:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.xl\\:dark\\:focus-within\\:border-error:focus-within{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.xl\\:dark\\:focus-within\\:border-text-light:focus-within{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.xl\\:dark\\:focus-within\\:border-text-dimmed:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.xl\\:dark\\:focus-within\\:border-text-dark:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.xl\\:dark\\:focus-within\\:border-body-light:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.xl\\:dark\\:focus-within\\:border-body-dark:focus-within{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.xl\\:dark\\:focus-within\\:border-button:focus-within{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.xl\\:dark\\:focus-within\\:border-button_hover:focus-within{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.xl\\:dark\\:hover\\:border-transparent:hover{border-color:transparent}.xl\\:dark\\:hover\\:border-current:hover{border-color:currentColor}.xl\\:dark\\:hover\\:border-white:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.xl\\:dark\\:hover\\:border-lightgrey:hover{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.xl\\:dark\\:hover\\:border-midgrey:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.xl\\:dark\\:hover\\:border-darkgrey:hover{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.xl\\:dark\\:hover\\:border-grey:hover{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.xl\\:dark\\:hover\\:border-black:hover{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.xl\\:dark\\:hover\\:border-highlight:hover{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.xl\\:dark\\:hover\\:border-highlight_hover:hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.xl\\:dark\\:hover\\:border-button_outline:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.xl\\:dark\\:hover\\:border-error:hover{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.xl\\:dark\\:hover\\:border-text-light:hover{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.xl\\:dark\\:hover\\:border-text-dimmed:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.xl\\:dark\\:hover\\:border-text-dark:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.xl\\:dark\\:hover\\:border-body-light:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.xl\\:dark\\:hover\\:border-body-dark:hover{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.xl\\:dark\\:hover\\:border-button:hover{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.xl\\:dark\\:hover\\:border-button_hover:hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.xl\\:dark\\:focus\\:border-transparent:focus{border-color:transparent}.xl\\:dark\\:focus\\:border-current:focus{border-color:currentColor}.xl\\:dark\\:focus\\:border-white:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.xl\\:dark\\:focus\\:border-lightgrey:focus{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.xl\\:dark\\:focus\\:border-midgrey:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.xl\\:dark\\:focus\\:border-darkgrey:focus{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.xl\\:dark\\:focus\\:border-grey:focus{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.xl\\:dark\\:focus\\:border-black:focus{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.xl\\:dark\\:focus\\:border-highlight:focus{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.xl\\:dark\\:focus\\:border-highlight_hover:focus{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.xl\\:dark\\:focus\\:border-button_outline:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.xl\\:dark\\:focus\\:border-error:focus{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.xl\\:dark\\:focus\\:border-text-light:focus{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.xl\\:dark\\:focus\\:border-text-dimmed:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.xl\\:dark\\:focus\\:border-text-dark:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.xl\\:dark\\:focus\\:border-body-light:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.xl\\:dark\\:focus\\:border-body-dark:focus{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.xl\\:dark\\:focus\\:border-button:focus{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.xl\\:dark\\:focus\\:border-button_hover:focus{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}}.xl\\:border-opacity-0{--tw-border-opacity:0}.xl\\:border-opacity-5{--tw-border-opacity:0.05}.xl\\:border-opacity-10{--tw-border-opacity:0.1}.xl\\:border-opacity-20{--tw-border-opacity:0.2}.xl\\:border-opacity-25{--tw-border-opacity:0.25}.xl\\:border-opacity-30{--tw-border-opacity:0.3}.xl\\:border-opacity-40{--tw-border-opacity:0.4}.xl\\:border-opacity-50{--tw-border-opacity:0.5}.xl\\:border-opacity-60{--tw-border-opacity:0.6}.xl\\:border-opacity-70{--tw-border-opacity:0.7}.xl\\:border-opacity-75{--tw-border-opacity:0.75}.xl\\:border-opacity-80{--tw-border-opacity:0.8}.xl\\:border-opacity-90{--tw-border-opacity:0.9}.xl\\:border-opacity-95{--tw-border-opacity:0.95}.xl\\:border-opacity-100{--tw-border-opacity:1}.group:hover .xl\\:group-hover\\:border-opacity-0{--tw-border-opacity:0}.group:hover .xl\\:group-hover\\:border-opacity-5{--tw-border-opacity:0.05}.group:hover .xl\\:group-hover\\:border-opacity-10{--tw-border-opacity:0.1}.group:hover .xl\\:group-hover\\:border-opacity-20{--tw-border-opacity:0.2}.group:hover .xl\\:group-hover\\:border-opacity-25{--tw-border-opacity:0.25}.group:hover .xl\\:group-hover\\:border-opacity-30{--tw-border-opacity:0.3}.group:hover .xl\\:group-hover\\:border-opacity-40{--tw-border-opacity:0.4}.group:hover .xl\\:group-hover\\:border-opacity-50{--tw-border-opacity:0.5}.group:hover .xl\\:group-hover\\:border-opacity-60{--tw-border-opacity:0.6}.group:hover .xl\\:group-hover\\:border-opacity-70{--tw-border-opacity:0.7}.group:hover .xl\\:group-hover\\:border-opacity-75{--tw-border-opacity:0.75}.group:hover .xl\\:group-hover\\:border-opacity-80{--tw-border-opacity:0.8}.group:hover .xl\\:group-hover\\:border-opacity-90{--tw-border-opacity:0.9}.group:hover .xl\\:group-hover\\:border-opacity-95{--tw-border-opacity:0.95}.group:hover .xl\\:group-hover\\:border-opacity-100{--tw-border-opacity:1}.xl\\:focus-within\\:border-opacity-0:focus-within{--tw-border-opacity:0}.xl\\:focus-within\\:border-opacity-5:focus-within{--tw-border-opacity:0.05}.xl\\:focus-within\\:border-opacity-10:focus-within{--tw-border-opacity:0.1}.xl\\:focus-within\\:border-opacity-20:focus-within{--tw-border-opacity:0.2}.xl\\:focus-within\\:border-opacity-25:focus-within{--tw-border-opacity:0.25}.xl\\:focus-within\\:border-opacity-30:focus-within{--tw-border-opacity:0.3}.xl\\:focus-within\\:border-opacity-40:focus-within{--tw-border-opacity:0.4}.xl\\:focus-within\\:border-opacity-50:focus-within{--tw-border-opacity:0.5}.xl\\:focus-within\\:border-opacity-60:focus-within{--tw-border-opacity:0.6}.xl\\:focus-within\\:border-opacity-70:focus-within{--tw-border-opacity:0.7}.xl\\:focus-within\\:border-opacity-75:focus-within{--tw-border-opacity:0.75}.xl\\:focus-within\\:border-opacity-80:focus-within{--tw-border-opacity:0.8}.xl\\:focus-within\\:border-opacity-90:focus-within{--tw-border-opacity:0.9}.xl\\:focus-within\\:border-opacity-95:focus-within{--tw-border-opacity:0.95}.xl\\:focus-within\\:border-opacity-100:focus-within{--tw-border-opacity:1}.xl\\:hover\\:border-opacity-0:hover{--tw-border-opacity:0}.xl\\:hover\\:border-opacity-5:hover{--tw-border-opacity:0.05}.xl\\:hover\\:border-opacity-10:hover{--tw-border-opacity:0.1}.xl\\:hover\\:border-opacity-20:hover{--tw-border-opacity:0.2}.xl\\:hover\\:border-opacity-25:hover{--tw-border-opacity:0.25}.xl\\:hover\\:border-opacity-30:hover{--tw-border-opacity:0.3}.xl\\:hover\\:border-opacity-40:hover{--tw-border-opacity:0.4}.xl\\:hover\\:border-opacity-50:hover{--tw-border-opacity:0.5}.xl\\:hover\\:border-opacity-60:hover{--tw-border-opacity:0.6}.xl\\:hover\\:border-opacity-70:hover{--tw-border-opacity:0.7}.xl\\:hover\\:border-opacity-75:hover{--tw-border-opacity:0.75}.xl\\:hover\\:border-opacity-80:hover{--tw-border-opacity:0.8}.xl\\:hover\\:border-opacity-90:hover{--tw-border-opacity:0.9}.xl\\:hover\\:border-opacity-95:hover{--tw-border-opacity:0.95}.xl\\:hover\\:border-opacity-100:hover{--tw-border-opacity:1}.xl\\:focus\\:border-opacity-0:focus{--tw-border-opacity:0}.xl\\:focus\\:border-opacity-5:focus{--tw-border-opacity:0.05}.xl\\:focus\\:border-opacity-10:focus{--tw-border-opacity:0.1}.xl\\:focus\\:border-opacity-20:focus{--tw-border-opacity:0.2}.xl\\:focus\\:border-opacity-25:focus{--tw-border-opacity:0.25}.xl\\:focus\\:border-opacity-30:focus{--tw-border-opacity:0.3}.xl\\:focus\\:border-opacity-40:focus{--tw-border-opacity:0.4}.xl\\:focus\\:border-opacity-50:focus{--tw-border-opacity:0.5}.xl\\:focus\\:border-opacity-60:focus{--tw-border-opacity:0.6}.xl\\:focus\\:border-opacity-70:focus{--tw-border-opacity:0.7}.xl\\:focus\\:border-opacity-75:focus{--tw-border-opacity:0.75}.xl\\:focus\\:border-opacity-80:focus{--tw-border-opacity:0.8}.xl\\:focus\\:border-opacity-90:focus{--tw-border-opacity:0.9}.xl\\:focus\\:border-opacity-95:focus{--tw-border-opacity:0.95}.xl\\:focus\\:border-opacity-100:focus{--tw-border-opacity:1}@media(prefers-color-scheme: dark){.xl\\:dark\\:border-opacity-0{--tw-border-opacity:0}.xl\\:dark\\:border-opacity-5{--tw-border-opacity:0.05}.xl\\:dark\\:border-opacity-10{--tw-border-opacity:0.1}.xl\\:dark\\:border-opacity-20{--tw-border-opacity:0.2}.xl\\:dark\\:border-opacity-25{--tw-border-opacity:0.25}.xl\\:dark\\:border-opacity-30{--tw-border-opacity:0.3}.xl\\:dark\\:border-opacity-40{--tw-border-opacity:0.4}.xl\\:dark\\:border-opacity-50{--tw-border-opacity:0.5}.xl\\:dark\\:border-opacity-60{--tw-border-opacity:0.6}.xl\\:dark\\:border-opacity-70{--tw-border-opacity:0.7}.xl\\:dark\\:border-opacity-75{--tw-border-opacity:0.75}.xl\\:dark\\:border-opacity-80{--tw-border-opacity:0.8}.xl\\:dark\\:border-opacity-90{--tw-border-opacity:0.9}.xl\\:dark\\:border-opacity-95{--tw-border-opacity:0.95}.xl\\:dark\\:border-opacity-100{--tw-border-opacity:1}.group:hover .xl\\:dark\\:group-hover\\:border-opacity-0{--tw-border-opacity:0}.group:hover .xl\\:dark\\:group-hover\\:border-opacity-5{--tw-border-opacity:0.05}.group:hover .xl\\:dark\\:group-hover\\:border-opacity-10{--tw-border-opacity:0.1}.group:hover .xl\\:dark\\:group-hover\\:border-opacity-20{--tw-border-opacity:0.2}.group:hover .xl\\:dark\\:group-hover\\:border-opacity-25{--tw-border-opacity:0.25}.group:hover .xl\\:dark\\:group-hover\\:border-opacity-30{--tw-border-opacity:0.3}.group:hover .xl\\:dark\\:group-hover\\:border-opacity-40{--tw-border-opacity:0.4}.group:hover .xl\\:dark\\:group-hover\\:border-opacity-50{--tw-border-opacity:0.5}.group:hover .xl\\:dark\\:group-hover\\:border-opacity-60{--tw-border-opacity:0.6}.group:hover .xl\\:dark\\:group-hover\\:border-opacity-70{--tw-border-opacity:0.7}.group:hover .xl\\:dark\\:group-hover\\:border-opacity-75{--tw-border-opacity:0.75}.group:hover .xl\\:dark\\:group-hover\\:border-opacity-80{--tw-border-opacity:0.8}.group:hover .xl\\:dark\\:group-hover\\:border-opacity-90{--tw-border-opacity:0.9}.group:hover .xl\\:dark\\:group-hover\\:border-opacity-95{--tw-border-opacity:0.95}.group:hover .xl\\:dark\\:group-hover\\:border-opacity-100{--tw-border-opacity:1}.xl\\:dark\\:focus-within\\:border-opacity-0:focus-within{--tw-border-opacity:0}.xl\\:dark\\:focus-within\\:border-opacity-5:focus-within{--tw-border-opacity:0.05}.xl\\:dark\\:focus-within\\:border-opacity-10:focus-within{--tw-border-opacity:0.1}.xl\\:dark\\:focus-within\\:border-opacity-20:focus-within{--tw-border-opacity:0.2}.xl\\:dark\\:focus-within\\:border-opacity-25:focus-within{--tw-border-opacity:0.25}.xl\\:dark\\:focus-within\\:border-opacity-30:focus-within{--tw-border-opacity:0.3}.xl\\:dark\\:focus-within\\:border-opacity-40:focus-within{--tw-border-opacity:0.4}.xl\\:dark\\:focus-within\\:border-opacity-50:focus-within{--tw-border-opacity:0.5}.xl\\:dark\\:focus-within\\:border-opacity-60:focus-within{--tw-border-opacity:0.6}.xl\\:dark\\:focus-within\\:border-opacity-70:focus-within{--tw-border-opacity:0.7}.xl\\:dark\\:focus-within\\:border-opacity-75:focus-within{--tw-border-opacity:0.75}.xl\\:dark\\:focus-within\\:border-opacity-80:focus-within{--tw-border-opacity:0.8}.xl\\:dark\\:focus-within\\:border-opacity-90:focus-within{--tw-border-opacity:0.9}.xl\\:dark\\:focus-within\\:border-opacity-95:focus-within{--tw-border-opacity:0.95}.xl\\:dark\\:focus-within\\:border-opacity-100:focus-within{--tw-border-opacity:1}.xl\\:dark\\:hover\\:border-opacity-0:hover{--tw-border-opacity:0}.xl\\:dark\\:hover\\:border-opacity-5:hover{--tw-border-opacity:0.05}.xl\\:dark\\:hover\\:border-opacity-10:hover{--tw-border-opacity:0.1}.xl\\:dark\\:hover\\:border-opacity-20:hover{--tw-border-opacity:0.2}.xl\\:dark\\:hover\\:border-opacity-25:hover{--tw-border-opacity:0.25}.xl\\:dark\\:hover\\:border-opacity-30:hover{--tw-border-opacity:0.3}.xl\\:dark\\:hover\\:border-opacity-40:hover{--tw-border-opacity:0.4}.xl\\:dark\\:hover\\:border-opacity-50:hover{--tw-border-opacity:0.5}.xl\\:dark\\:hover\\:border-opacity-60:hover{--tw-border-opacity:0.6}.xl\\:dark\\:hover\\:border-opacity-70:hover{--tw-border-opacity:0.7}.xl\\:dark\\:hover\\:border-opacity-75:hover{--tw-border-opacity:0.75}.xl\\:dark\\:hover\\:border-opacity-80:hover{--tw-border-opacity:0.8}.xl\\:dark\\:hover\\:border-opacity-90:hover{--tw-border-opacity:0.9}.xl\\:dark\\:hover\\:border-opacity-95:hover{--tw-border-opacity:0.95}.xl\\:dark\\:hover\\:border-opacity-100:hover{--tw-border-opacity:1}.xl\\:dark\\:focus\\:border-opacity-0:focus{--tw-border-opacity:0}.xl\\:dark\\:focus\\:border-opacity-5:focus{--tw-border-opacity:0.05}.xl\\:dark\\:focus\\:border-opacity-10:focus{--tw-border-opacity:0.1}.xl\\:dark\\:focus\\:border-opacity-20:focus{--tw-border-opacity:0.2}.xl\\:dark\\:focus\\:border-opacity-25:focus{--tw-border-opacity:0.25}.xl\\:dark\\:focus\\:border-opacity-30:focus{--tw-border-opacity:0.3}.xl\\:dark\\:focus\\:border-opacity-40:focus{--tw-border-opacity:0.4}.xl\\:dark\\:focus\\:border-opacity-50:focus{--tw-border-opacity:0.5}.xl\\:dark\\:focus\\:border-opacity-60:focus{--tw-border-opacity:0.6}.xl\\:dark\\:focus\\:border-opacity-70:focus{--tw-border-opacity:0.7}.xl\\:dark\\:focus\\:border-opacity-75:focus{--tw-border-opacity:0.75}.xl\\:dark\\:focus\\:border-opacity-80:focus{--tw-border-opacity:0.8}.xl\\:dark\\:focus\\:border-opacity-90:focus{--tw-border-opacity:0.9}.xl\\:dark\\:focus\\:border-opacity-95:focus{--tw-border-opacity:0.95}.xl\\:dark\\:focus\\:border-opacity-100:focus{--tw-border-opacity:1}}.xl\\:bg-transparent{background-color:transparent}.xl\\:bg-current{background-color:currentColor}.xl\\:bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.xl\\:bg-lightgrey{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.xl\\:bg-midgrey{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.xl\\:bg-darkgrey{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.xl\\:bg-grey{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.xl\\:bg-black{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.xl\\:bg-highlight{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.xl\\:bg-highlight_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.xl\\:bg-button_outline{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.xl\\:bg-error{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.xl\\:bg-text-light{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.xl\\:bg-text-dimmed{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.xl\\:bg-text-dark{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.xl\\:bg-body-light{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.xl\\:bg-body-dark{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.xl\\:bg-button{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.xl\\:bg-button_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.group:hover .xl\\:group-hover\\:bg-transparent{background-color:transparent}.group:hover .xl\\:group-hover\\:bg-current{background-color:currentColor}.group:hover .xl\\:group-hover\\:bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .xl\\:group-hover\\:bg-lightgrey{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.group:hover .xl\\:group-hover\\:bg-midgrey{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .xl\\:group-hover\\:bg-darkgrey{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.group:hover .xl\\:group-hover\\:bg-grey{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.group:hover .xl\\:group-hover\\:bg-black{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.group:hover .xl\\:group-hover\\:bg-highlight{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.group:hover .xl\\:group-hover\\:bg-highlight_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.group:hover .xl\\:group-hover\\:bg-button_outline{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .xl\\:group-hover\\:bg-error{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.group:hover .xl\\:group-hover\\:bg-text-light{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.group:hover .xl\\:group-hover\\:bg-text-dimmed{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .xl\\:group-hover\\:bg-text-dark{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .xl\\:group-hover\\:bg-body-light{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .xl\\:group-hover\\:bg-body-dark{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.group:hover .xl\\:group-hover\\:bg-button{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.group:hover .xl\\:group-hover\\:bg-button_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.xl\\:focus-within\\:bg-transparent:focus-within{background-color:transparent}.xl\\:focus-within\\:bg-current:focus-within{background-color:currentColor}.xl\\:focus-within\\:bg-white:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.xl\\:focus-within\\:bg-lightgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.xl\\:focus-within\\:bg-midgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.xl\\:focus-within\\:bg-darkgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.xl\\:focus-within\\:bg-grey:focus-within{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.xl\\:focus-within\\:bg-black:focus-within{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.xl\\:focus-within\\:bg-highlight:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.xl\\:focus-within\\:bg-highlight_hover:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.xl\\:focus-within\\:bg-button_outline:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.xl\\:focus-within\\:bg-error:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.xl\\:focus-within\\:bg-text-light:focus-within{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.xl\\:focus-within\\:bg-text-dimmed:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.xl\\:focus-within\\:bg-text-dark:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.xl\\:focus-within\\:bg-body-light:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.xl\\:focus-within\\:bg-body-dark:focus-within{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.xl\\:focus-within\\:bg-button:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.xl\\:focus-within\\:bg-button_hover:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.xl\\:hover\\:bg-transparent:hover{background-color:transparent}.xl\\:hover\\:bg-current:hover{background-color:currentColor}.xl\\:hover\\:bg-white:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.xl\\:hover\\:bg-lightgrey:hover{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.xl\\:hover\\:bg-midgrey:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.xl\\:hover\\:bg-darkgrey:hover{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.xl\\:hover\\:bg-grey:hover{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.xl\\:hover\\:bg-black:hover{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.xl\\:hover\\:bg-highlight:hover{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.xl\\:hover\\:bg-highlight_hover:hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.xl\\:hover\\:bg-button_outline:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.xl\\:hover\\:bg-error:hover{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.xl\\:hover\\:bg-text-light:hover{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.xl\\:hover\\:bg-text-dimmed:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.xl\\:hover\\:bg-text-dark:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.xl\\:hover\\:bg-body-light:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.xl\\:hover\\:bg-body-dark:hover{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.xl\\:hover\\:bg-button:hover{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.xl\\:hover\\:bg-button_hover:hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.xl\\:focus\\:bg-transparent:focus{background-color:transparent}.xl\\:focus\\:bg-current:focus{background-color:currentColor}.xl\\:focus\\:bg-white:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.xl\\:focus\\:bg-lightgrey:focus{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.xl\\:focus\\:bg-midgrey:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.xl\\:focus\\:bg-darkgrey:focus{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.xl\\:focus\\:bg-grey:focus{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.xl\\:focus\\:bg-black:focus{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.xl\\:focus\\:bg-highlight:focus{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.xl\\:focus\\:bg-highlight_hover:focus{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.xl\\:focus\\:bg-button_outline:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.xl\\:focus\\:bg-error:focus{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.xl\\:focus\\:bg-text-light:focus{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.xl\\:focus\\:bg-text-dimmed:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.xl\\:focus\\:bg-text-dark:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.xl\\:focus\\:bg-body-light:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.xl\\:focus\\:bg-body-dark:focus{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.xl\\:focus\\:bg-button:focus{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.xl\\:focus\\:bg-button_hover:focus{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}@media(prefers-color-scheme: dark){.xl\\:dark\\:bg-transparent{background-color:transparent}.xl\\:dark\\:bg-current{background-color:currentColor}.xl\\:dark\\:bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.xl\\:dark\\:bg-lightgrey{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.xl\\:dark\\:bg-midgrey{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.xl\\:dark\\:bg-darkgrey{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.xl\\:dark\\:bg-grey{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.xl\\:dark\\:bg-black{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.xl\\:dark\\:bg-highlight{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.xl\\:dark\\:bg-highlight_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.xl\\:dark\\:bg-button_outline{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.xl\\:dark\\:bg-error{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.xl\\:dark\\:bg-text-light{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.xl\\:dark\\:bg-text-dimmed{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.xl\\:dark\\:bg-text-dark{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.xl\\:dark\\:bg-body-light{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.xl\\:dark\\:bg-body-dark{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.xl\\:dark\\:bg-button{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.xl\\:dark\\:bg-button_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.group:hover .xl\\:dark\\:group-hover\\:bg-transparent{background-color:transparent}.group:hover .xl\\:dark\\:group-hover\\:bg-current{background-color:currentColor}.group:hover .xl\\:dark\\:group-hover\\:bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .xl\\:dark\\:group-hover\\:bg-lightgrey{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.group:hover .xl\\:dark\\:group-hover\\:bg-midgrey{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .xl\\:dark\\:group-hover\\:bg-darkgrey{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.group:hover .xl\\:dark\\:group-hover\\:bg-grey{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.group:hover .xl\\:dark\\:group-hover\\:bg-black{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.group:hover .xl\\:dark\\:group-hover\\:bg-highlight{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.group:hover .xl\\:dark\\:group-hover\\:bg-highlight_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.group:hover .xl\\:dark\\:group-hover\\:bg-button_outline{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .xl\\:dark\\:group-hover\\:bg-error{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.group:hover .xl\\:dark\\:group-hover\\:bg-text-light{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.group:hover .xl\\:dark\\:group-hover\\:bg-text-dimmed{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .xl\\:dark\\:group-hover\\:bg-text-dark{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .xl\\:dark\\:group-hover\\:bg-body-light{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .xl\\:dark\\:group-hover\\:bg-body-dark{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.group:hover .xl\\:dark\\:group-hover\\:bg-button{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.group:hover .xl\\:dark\\:group-hover\\:bg-button_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.xl\\:dark\\:focus-within\\:bg-transparent:focus-within{background-color:transparent}.xl\\:dark\\:focus-within\\:bg-current:focus-within{background-color:currentColor}.xl\\:dark\\:focus-within\\:bg-white:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.xl\\:dark\\:focus-within\\:bg-lightgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.xl\\:dark\\:focus-within\\:bg-midgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.xl\\:dark\\:focus-within\\:bg-darkgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.xl\\:dark\\:focus-within\\:bg-grey:focus-within{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.xl\\:dark\\:focus-within\\:bg-black:focus-within{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.xl\\:dark\\:focus-within\\:bg-highlight:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.xl\\:dark\\:focus-within\\:bg-highlight_hover:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.xl\\:dark\\:focus-within\\:bg-button_outline:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.xl\\:dark\\:focus-within\\:bg-error:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.xl\\:dark\\:focus-within\\:bg-text-light:focus-within{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.xl\\:dark\\:focus-within\\:bg-text-dimmed:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.xl\\:dark\\:focus-within\\:bg-text-dark:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.xl\\:dark\\:focus-within\\:bg-body-light:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.xl\\:dark\\:focus-within\\:bg-body-dark:focus-within{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.xl\\:dark\\:focus-within\\:bg-button:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.xl\\:dark\\:focus-within\\:bg-button_hover:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.xl\\:dark\\:hover\\:bg-transparent:hover{background-color:transparent}.xl\\:dark\\:hover\\:bg-current:hover{background-color:currentColor}.xl\\:dark\\:hover\\:bg-white:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.xl\\:dark\\:hover\\:bg-lightgrey:hover{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.xl\\:dark\\:hover\\:bg-midgrey:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.xl\\:dark\\:hover\\:bg-darkgrey:hover{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.xl\\:dark\\:hover\\:bg-grey:hover{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.xl\\:dark\\:hover\\:bg-black:hover{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.xl\\:dark\\:hover\\:bg-highlight:hover{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.xl\\:dark\\:hover\\:bg-highlight_hover:hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.xl\\:dark\\:hover\\:bg-button_outline:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.xl\\:dark\\:hover\\:bg-error:hover{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.xl\\:dark\\:hover\\:bg-text-light:hover{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.xl\\:dark\\:hover\\:bg-text-dimmed:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.xl\\:dark\\:hover\\:bg-text-dark:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.xl\\:dark\\:hover\\:bg-body-light:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.xl\\:dark\\:hover\\:bg-body-dark:hover{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.xl\\:dark\\:hover\\:bg-button:hover{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.xl\\:dark\\:hover\\:bg-button_hover:hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.xl\\:dark\\:focus\\:bg-transparent:focus{background-color:transparent}.xl\\:dark\\:focus\\:bg-current:focus{background-color:currentColor}.xl\\:dark\\:focus\\:bg-white:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.xl\\:dark\\:focus\\:bg-lightgrey:focus{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.xl\\:dark\\:focus\\:bg-midgrey:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.xl\\:dark\\:focus\\:bg-darkgrey:focus{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.xl\\:dark\\:focus\\:bg-grey:focus{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.xl\\:dark\\:focus\\:bg-black:focus{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.xl\\:dark\\:focus\\:bg-highlight:focus{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.xl\\:dark\\:focus\\:bg-highlight_hover:focus{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.xl\\:dark\\:focus\\:bg-button_outline:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.xl\\:dark\\:focus\\:bg-error:focus{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.xl\\:dark\\:focus\\:bg-text-light:focus{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.xl\\:dark\\:focus\\:bg-text-dimmed:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.xl\\:dark\\:focus\\:bg-text-dark:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.xl\\:dark\\:focus\\:bg-body-light:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.xl\\:dark\\:focus\\:bg-body-dark:focus{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.xl\\:dark\\:focus\\:bg-button:focus{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.xl\\:dark\\:focus\\:bg-button_hover:focus{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}}.xl\\:bg-opacity-0{--tw-bg-opacity:0}.xl\\:bg-opacity-5{--tw-bg-opacity:0.05}.xl\\:bg-opacity-10{--tw-bg-opacity:0.1}.xl\\:bg-opacity-20{--tw-bg-opacity:0.2}.xl\\:bg-opacity-25{--tw-bg-opacity:0.25}.xl\\:bg-opacity-30{--tw-bg-opacity:0.3}.xl\\:bg-opacity-40{--tw-bg-opacity:0.4}.xl\\:bg-opacity-50{--tw-bg-opacity:0.5}.xl\\:bg-opacity-60{--tw-bg-opacity:0.6}.xl\\:bg-opacity-70{--tw-bg-opacity:0.7}.xl\\:bg-opacity-75{--tw-bg-opacity:0.75}.xl\\:bg-opacity-80{--tw-bg-opacity:0.8}.xl\\:bg-opacity-90{--tw-bg-opacity:0.9}.xl\\:bg-opacity-95{--tw-bg-opacity:0.95}.xl\\:bg-opacity-100{--tw-bg-opacity:1}.group:hover .xl\\:group-hover\\:bg-opacity-0{--tw-bg-opacity:0}.group:hover .xl\\:group-hover\\:bg-opacity-5{--tw-bg-opacity:0.05}.group:hover .xl\\:group-hover\\:bg-opacity-10{--tw-bg-opacity:0.1}.group:hover .xl\\:group-hover\\:bg-opacity-20{--tw-bg-opacity:0.2}.group:hover .xl\\:group-hover\\:bg-opacity-25{--tw-bg-opacity:0.25}.group:hover .xl\\:group-hover\\:bg-opacity-30{--tw-bg-opacity:0.3}.group:hover .xl\\:group-hover\\:bg-opacity-40{--tw-bg-opacity:0.4}.group:hover .xl\\:group-hover\\:bg-opacity-50{--tw-bg-opacity:0.5}.group:hover .xl\\:group-hover\\:bg-opacity-60{--tw-bg-opacity:0.6}.group:hover .xl\\:group-hover\\:bg-opacity-70{--tw-bg-opacity:0.7}.group:hover .xl\\:group-hover\\:bg-opacity-75{--tw-bg-opacity:0.75}.group:hover .xl\\:group-hover\\:bg-opacity-80{--tw-bg-opacity:0.8}.group:hover .xl\\:group-hover\\:bg-opacity-90{--tw-bg-opacity:0.9}.group:hover .xl\\:group-hover\\:bg-opacity-95{--tw-bg-opacity:0.95}.group:hover .xl\\:group-hover\\:bg-opacity-100{--tw-bg-opacity:1}.xl\\:focus-within\\:bg-opacity-0:focus-within{--tw-bg-opacity:0}.xl\\:focus-within\\:bg-opacity-5:focus-within{--tw-bg-opacity:0.05}.xl\\:focus-within\\:bg-opacity-10:focus-within{--tw-bg-opacity:0.1}.xl\\:focus-within\\:bg-opacity-20:focus-within{--tw-bg-opacity:0.2}.xl\\:focus-within\\:bg-opacity-25:focus-within{--tw-bg-opacity:0.25}.xl\\:focus-within\\:bg-opacity-30:focus-within{--tw-bg-opacity:0.3}.xl\\:focus-within\\:bg-opacity-40:focus-within{--tw-bg-opacity:0.4}.xl\\:focus-within\\:bg-opacity-50:focus-within{--tw-bg-opacity:0.5}.xl\\:focus-within\\:bg-opacity-60:focus-within{--tw-bg-opacity:0.6}.xl\\:focus-within\\:bg-opacity-70:focus-within{--tw-bg-opacity:0.7}.xl\\:focus-within\\:bg-opacity-75:focus-within{--tw-bg-opacity:0.75}.xl\\:focus-within\\:bg-opacity-80:focus-within{--tw-bg-opacity:0.8}.xl\\:focus-within\\:bg-opacity-90:focus-within{--tw-bg-opacity:0.9}.xl\\:focus-within\\:bg-opacity-95:focus-within{--tw-bg-opacity:0.95}.xl\\:focus-within\\:bg-opacity-100:focus-within{--tw-bg-opacity:1}.xl\\:hover\\:bg-opacity-0:hover{--tw-bg-opacity:0}.xl\\:hover\\:bg-opacity-5:hover{--tw-bg-opacity:0.05}.xl\\:hover\\:bg-opacity-10:hover{--tw-bg-opacity:0.1}.xl\\:hover\\:bg-opacity-20:hover{--tw-bg-opacity:0.2}.xl\\:hover\\:bg-opacity-25:hover{--tw-bg-opacity:0.25}.xl\\:hover\\:bg-opacity-30:hover{--tw-bg-opacity:0.3}.xl\\:hover\\:bg-opacity-40:hover{--tw-bg-opacity:0.4}.xl\\:hover\\:bg-opacity-50:hover{--tw-bg-opacity:0.5}.xl\\:hover\\:bg-opacity-60:hover{--tw-bg-opacity:0.6}.xl\\:hover\\:bg-opacity-70:hover{--tw-bg-opacity:0.7}.xl\\:hover\\:bg-opacity-75:hover{--tw-bg-opacity:0.75}.xl\\:hover\\:bg-opacity-80:hover{--tw-bg-opacity:0.8}.xl\\:hover\\:bg-opacity-90:hover{--tw-bg-opacity:0.9}.xl\\:hover\\:bg-opacity-95:hover{--tw-bg-opacity:0.95}.xl\\:hover\\:bg-opacity-100:hover{--tw-bg-opacity:1}.xl\\:focus\\:bg-opacity-0:focus{--tw-bg-opacity:0}.xl\\:focus\\:bg-opacity-5:focus{--tw-bg-opacity:0.05}.xl\\:focus\\:bg-opacity-10:focus{--tw-bg-opacity:0.1}.xl\\:focus\\:bg-opacity-20:focus{--tw-bg-opacity:0.2}.xl\\:focus\\:bg-opacity-25:focus{--tw-bg-opacity:0.25}.xl\\:focus\\:bg-opacity-30:focus{--tw-bg-opacity:0.3}.xl\\:focus\\:bg-opacity-40:focus{--tw-bg-opacity:0.4}.xl\\:focus\\:bg-opacity-50:focus{--tw-bg-opacity:0.5}.xl\\:focus\\:bg-opacity-60:focus{--tw-bg-opacity:0.6}.xl\\:focus\\:bg-opacity-70:focus{--tw-bg-opacity:0.7}.xl\\:focus\\:bg-opacity-75:focus{--tw-bg-opacity:0.75}.xl\\:focus\\:bg-opacity-80:focus{--tw-bg-opacity:0.8}.xl\\:focus\\:bg-opacity-90:focus{--tw-bg-opacity:0.9}.xl\\:focus\\:bg-opacity-95:focus{--tw-bg-opacity:0.95}.xl\\:focus\\:bg-opacity-100:focus{--tw-bg-opacity:1}@media(prefers-color-scheme: dark){.xl\\:dark\\:bg-opacity-0{--tw-bg-opacity:0}.xl\\:dark\\:bg-opacity-5{--tw-bg-opacity:0.05}.xl\\:dark\\:bg-opacity-10{--tw-bg-opacity:0.1}.xl\\:dark\\:bg-opacity-20{--tw-bg-opacity:0.2}.xl\\:dark\\:bg-opacity-25{--tw-bg-opacity:0.25}.xl\\:dark\\:bg-opacity-30{--tw-bg-opacity:0.3}.xl\\:dark\\:bg-opacity-40{--tw-bg-opacity:0.4}.xl\\:dark\\:bg-opacity-50{--tw-bg-opacity:0.5}.xl\\:dark\\:bg-opacity-60{--tw-bg-opacity:0.6}.xl\\:dark\\:bg-opacity-70{--tw-bg-opacity:0.7}.xl\\:dark\\:bg-opacity-75{--tw-bg-opacity:0.75}.xl\\:dark\\:bg-opacity-80{--tw-bg-opacity:0.8}.xl\\:dark\\:bg-opacity-90{--tw-bg-opacity:0.9}.xl\\:dark\\:bg-opacity-95{--tw-bg-opacity:0.95}.xl\\:dark\\:bg-opacity-100{--tw-bg-opacity:1}.group:hover .xl\\:dark\\:group-hover\\:bg-opacity-0{--tw-bg-opacity:0}.group:hover .xl\\:dark\\:group-hover\\:bg-opacity-5{--tw-bg-opacity:0.05}.group:hover .xl\\:dark\\:group-hover\\:bg-opacity-10{--tw-bg-opacity:0.1}.group:hover .xl\\:dark\\:group-hover\\:bg-opacity-20{--tw-bg-opacity:0.2}.group:hover .xl\\:dark\\:group-hover\\:bg-opacity-25{--tw-bg-opacity:0.25}.group:hover .xl\\:dark\\:group-hover\\:bg-opacity-30{--tw-bg-opacity:0.3}.group:hover .xl\\:dark\\:group-hover\\:bg-opacity-40{--tw-bg-opacity:0.4}.group:hover .xl\\:dark\\:group-hover\\:bg-opacity-50{--tw-bg-opacity:0.5}.group:hover .xl\\:dark\\:group-hover\\:bg-opacity-60{--tw-bg-opacity:0.6}.group:hover .xl\\:dark\\:group-hover\\:bg-opacity-70{--tw-bg-opacity:0.7}.group:hover .xl\\:dark\\:group-hover\\:bg-opacity-75{--tw-bg-opacity:0.75}.group:hover .xl\\:dark\\:group-hover\\:bg-opacity-80{--tw-bg-opacity:0.8}.group:hover .xl\\:dark\\:group-hover\\:bg-opacity-90{--tw-bg-opacity:0.9}.group:hover .xl\\:dark\\:group-hover\\:bg-opacity-95{--tw-bg-opacity:0.95}.group:hover .xl\\:dark\\:group-hover\\:bg-opacity-100{--tw-bg-opacity:1}.xl\\:dark\\:focus-within\\:bg-opacity-0:focus-within{--tw-bg-opacity:0}.xl\\:dark\\:focus-within\\:bg-opacity-5:focus-within{--tw-bg-opacity:0.05}.xl\\:dark\\:focus-within\\:bg-opacity-10:focus-within{--tw-bg-opacity:0.1}.xl\\:dark\\:focus-within\\:bg-opacity-20:focus-within{--tw-bg-opacity:0.2}.xl\\:dark\\:focus-within\\:bg-opacity-25:focus-within{--tw-bg-opacity:0.25}.xl\\:dark\\:focus-within\\:bg-opacity-30:focus-within{--tw-bg-opacity:0.3}.xl\\:dark\\:focus-within\\:bg-opacity-40:focus-within{--tw-bg-opacity:0.4}.xl\\:dark\\:focus-within\\:bg-opacity-50:focus-within{--tw-bg-opacity:0.5}.xl\\:dark\\:focus-within\\:bg-opacity-60:focus-within{--tw-bg-opacity:0.6}.xl\\:dark\\:focus-within\\:bg-opacity-70:focus-within{--tw-bg-opacity:0.7}.xl\\:dark\\:focus-within\\:bg-opacity-75:focus-within{--tw-bg-opacity:0.75}.xl\\:dark\\:focus-within\\:bg-opacity-80:focus-within{--tw-bg-opacity:0.8}.xl\\:dark\\:focus-within\\:bg-opacity-90:focus-within{--tw-bg-opacity:0.9}.xl\\:dark\\:focus-within\\:bg-opacity-95:focus-within{--tw-bg-opacity:0.95}.xl\\:dark\\:focus-within\\:bg-opacity-100:focus-within{--tw-bg-opacity:1}.xl\\:dark\\:hover\\:bg-opacity-0:hover{--tw-bg-opacity:0}.xl\\:dark\\:hover\\:bg-opacity-5:hover{--tw-bg-opacity:0.05}.xl\\:dark\\:hover\\:bg-opacity-10:hover{--tw-bg-opacity:0.1}.xl\\:dark\\:hover\\:bg-opacity-20:hover{--tw-bg-opacity:0.2}.xl\\:dark\\:hover\\:bg-opacity-25:hover{--tw-bg-opacity:0.25}.xl\\:dark\\:hover\\:bg-opacity-30:hover{--tw-bg-opacity:0.3}.xl\\:dark\\:hover\\:bg-opacity-40:hover{--tw-bg-opacity:0.4}.xl\\:dark\\:hover\\:bg-opacity-50:hover{--tw-bg-opacity:0.5}.xl\\:dark\\:hover\\:bg-opacity-60:hover{--tw-bg-opacity:0.6}.xl\\:dark\\:hover\\:bg-opacity-70:hover{--tw-bg-opacity:0.7}.xl\\:dark\\:hover\\:bg-opacity-75:hover{--tw-bg-opacity:0.75}.xl\\:dark\\:hover\\:bg-opacity-80:hover{--tw-bg-opacity:0.8}.xl\\:dark\\:hover\\:bg-opacity-90:hover{--tw-bg-opacity:0.9}.xl\\:dark\\:hover\\:bg-opacity-95:hover{--tw-bg-opacity:0.95}.xl\\:dark\\:hover\\:bg-opacity-100:hover{--tw-bg-opacity:1}.xl\\:dark\\:focus\\:bg-opacity-0:focus{--tw-bg-opacity:0}.xl\\:dark\\:focus\\:bg-opacity-5:focus{--tw-bg-opacity:0.05}.xl\\:dark\\:focus\\:bg-opacity-10:focus{--tw-bg-opacity:0.1}.xl\\:dark\\:focus\\:bg-opacity-20:focus{--tw-bg-opacity:0.2}.xl\\:dark\\:focus\\:bg-opacity-25:focus{--tw-bg-opacity:0.25}.xl\\:dark\\:focus\\:bg-opacity-30:focus{--tw-bg-opacity:0.3}.xl\\:dark\\:focus\\:bg-opacity-40:focus{--tw-bg-opacity:0.4}.xl\\:dark\\:focus\\:bg-opacity-50:focus{--tw-bg-opacity:0.5}.xl\\:dark\\:focus\\:bg-opacity-60:focus{--tw-bg-opacity:0.6}.xl\\:dark\\:focus\\:bg-opacity-70:focus{--tw-bg-opacity:0.7}.xl\\:dark\\:focus\\:bg-opacity-75:focus{--tw-bg-opacity:0.75}.xl\\:dark\\:focus\\:bg-opacity-80:focus{--tw-bg-opacity:0.8}.xl\\:dark\\:focus\\:bg-opacity-90:focus{--tw-bg-opacity:0.9}.xl\\:dark\\:focus\\:bg-opacity-95:focus{--tw-bg-opacity:0.95}.xl\\:dark\\:focus\\:bg-opacity-100:focus{--tw-bg-opacity:1}}.xl\\:bg-none{background-image:none}.xl\\:bg-gradient-to-t{background-image:linear-gradient(to top, var(--tw-gradient-stops))}.xl\\:bg-gradient-to-tr{background-image:linear-gradient(to top right, var(--tw-gradient-stops))}.xl\\:bg-gradient-to-r{background-image:linear-gradient(to right, var(--tw-gradient-stops))}.xl\\:bg-gradient-to-br{background-image:linear-gradient(to bottom right, var(--tw-gradient-stops))}.xl\\:bg-gradient-to-b{background-image:linear-gradient(to bottom, var(--tw-gradient-stops))}.xl\\:bg-gradient-to-bl{background-image:linear-gradient(to bottom left, var(--tw-gradient-stops))}.xl\\:bg-gradient-to-l{background-image:linear-gradient(to left, var(--tw-gradient-stops))}.xl\\:bg-gradient-to-tl{background-image:linear-gradient(to top left, var(--tw-gradient-stops))}.xl\\:from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.xl\\:from-current{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:from-white{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:from-lightgrey{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.xl\\:from-midgrey{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:from-darkgrey{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.xl\\:from-grey{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.xl\\:from-black{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.xl\\:from-highlight{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.xl\\:from-highlight_hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.xl\\:from-button_outline{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:from-error{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.xl\\:from-text-light{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.xl\\:from-text-dimmed{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:from-text-dark{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:from-body-light{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:from-body-dark{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.xl\\:from-button{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.xl\\:from-button_hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.xl\\:hover\\:from-transparent:hover{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.xl\\:hover\\:from-current:hover{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:hover\\:from-white:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:hover\\:from-lightgrey:hover{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.xl\\:hover\\:from-midgrey:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:hover\\:from-darkgrey:hover{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.xl\\:hover\\:from-grey:hover{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.xl\\:hover\\:from-black:hover{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.xl\\:hover\\:from-highlight:hover{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.xl\\:hover\\:from-highlight_hover:hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.xl\\:hover\\:from-button_outline:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:hover\\:from-error:hover{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.xl\\:hover\\:from-text-light:hover{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.xl\\:hover\\:from-text-dimmed:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:hover\\:from-text-dark:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:hover\\:from-body-light:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:hover\\:from-body-dark:hover{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.xl\\:hover\\:from-button:hover{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.xl\\:hover\\:from-button_hover:hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.xl\\:focus\\:from-transparent:focus{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.xl\\:focus\\:from-current:focus{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:focus\\:from-white:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:focus\\:from-lightgrey:focus{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.xl\\:focus\\:from-midgrey:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:focus\\:from-darkgrey:focus{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.xl\\:focus\\:from-grey:focus{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.xl\\:focus\\:from-black:focus{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.xl\\:focus\\:from-highlight:focus{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.xl\\:focus\\:from-highlight_hover:focus{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.xl\\:focus\\:from-button_outline:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:focus\\:from-error:focus{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.xl\\:focus\\:from-text-light:focus{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.xl\\:focus\\:from-text-dimmed:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:focus\\:from-text-dark:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:focus\\:from-body-light:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:focus\\:from-body-dark:focus{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.xl\\:focus\\:from-button:focus{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.xl\\:focus\\:from-button_hover:focus{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}@media(prefers-color-scheme: dark){.xl\\:dark\\:from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.xl\\:dark\\:from-current{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:dark\\:from-white{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:dark\\:from-lightgrey{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.xl\\:dark\\:from-midgrey{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:dark\\:from-darkgrey{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.xl\\:dark\\:from-grey{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.xl\\:dark\\:from-black{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.xl\\:dark\\:from-highlight{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.xl\\:dark\\:from-highlight_hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.xl\\:dark\\:from-button_outline{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:dark\\:from-error{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.xl\\:dark\\:from-text-light{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.xl\\:dark\\:from-text-dimmed{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:dark\\:from-text-dark{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:dark\\:from-body-light{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:dark\\:from-body-dark{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.xl\\:dark\\:from-button{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.xl\\:dark\\:from-button_hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.xl\\:dark\\:hover\\:from-transparent:hover{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.xl\\:dark\\:hover\\:from-current:hover{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:dark\\:hover\\:from-white:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:dark\\:hover\\:from-lightgrey:hover{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.xl\\:dark\\:hover\\:from-midgrey:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:dark\\:hover\\:from-darkgrey:hover{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.xl\\:dark\\:hover\\:from-grey:hover{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.xl\\:dark\\:hover\\:from-black:hover{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.xl\\:dark\\:hover\\:from-highlight:hover{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.xl\\:dark\\:hover\\:from-highlight_hover:hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.xl\\:dark\\:hover\\:from-button_outline:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:dark\\:hover\\:from-error:hover{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.xl\\:dark\\:hover\\:from-text-light:hover{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.xl\\:dark\\:hover\\:from-text-dimmed:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:dark\\:hover\\:from-text-dark:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:dark\\:hover\\:from-body-light:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:dark\\:hover\\:from-body-dark:hover{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.xl\\:dark\\:hover\\:from-button:hover{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.xl\\:dark\\:hover\\:from-button_hover:hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.xl\\:dark\\:focus\\:from-transparent:focus{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.xl\\:dark\\:focus\\:from-current:focus{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:dark\\:focus\\:from-white:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:dark\\:focus\\:from-lightgrey:focus{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.xl\\:dark\\:focus\\:from-midgrey:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:dark\\:focus\\:from-darkgrey:focus{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.xl\\:dark\\:focus\\:from-grey:focus{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.xl\\:dark\\:focus\\:from-black:focus{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.xl\\:dark\\:focus\\:from-highlight:focus{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.xl\\:dark\\:focus\\:from-highlight_hover:focus{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.xl\\:dark\\:focus\\:from-button_outline:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:dark\\:focus\\:from-error:focus{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.xl\\:dark\\:focus\\:from-text-light:focus{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.xl\\:dark\\:focus\\:from-text-dimmed:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:dark\\:focus\\:from-text-dark:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:dark\\:focus\\:from-body-light:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:dark\\:focus\\:from-body-dark:focus{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.xl\\:dark\\:focus\\:from-button:focus{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.xl\\:dark\\:focus\\:from-button_hover:focus{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}}.xl\\:via-transparent{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.xl\\:via-current{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:via-white{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:via-lightgrey{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.xl\\:via-midgrey{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:via-darkgrey{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.xl\\:via-grey{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.xl\\:via-black{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.xl\\:via-highlight{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.xl\\:via-highlight_hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.xl\\:via-button_outline{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:via-error{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.xl\\:via-text-light{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.xl\\:via-text-dimmed{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:via-text-dark{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:via-body-light{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:via-body-dark{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.xl\\:via-button{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.xl\\:via-button_hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.xl\\:hover\\:via-transparent:hover{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.xl\\:hover\\:via-current:hover{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:hover\\:via-white:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:hover\\:via-lightgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.xl\\:hover\\:via-midgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:hover\\:via-darkgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.xl\\:hover\\:via-grey:hover{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.xl\\:hover\\:via-black:hover{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.xl\\:hover\\:via-highlight:hover{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.xl\\:hover\\:via-highlight_hover:hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.xl\\:hover\\:via-button_outline:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:hover\\:via-error:hover{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.xl\\:hover\\:via-text-light:hover{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.xl\\:hover\\:via-text-dimmed:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:hover\\:via-text-dark:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:hover\\:via-body-light:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:hover\\:via-body-dark:hover{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.xl\\:hover\\:via-button:hover{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.xl\\:hover\\:via-button_hover:hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.xl\\:focus\\:via-transparent:focus{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.xl\\:focus\\:via-current:focus{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:focus\\:via-white:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:focus\\:via-lightgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.xl\\:focus\\:via-midgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:focus\\:via-darkgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.xl\\:focus\\:via-grey:focus{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.xl\\:focus\\:via-black:focus{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.xl\\:focus\\:via-highlight:focus{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.xl\\:focus\\:via-highlight_hover:focus{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.xl\\:focus\\:via-button_outline:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:focus\\:via-error:focus{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.xl\\:focus\\:via-text-light:focus{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.xl\\:focus\\:via-text-dimmed:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:focus\\:via-text-dark:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:focus\\:via-body-light:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:focus\\:via-body-dark:focus{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.xl\\:focus\\:via-button:focus{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.xl\\:focus\\:via-button_hover:focus{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}@media(prefers-color-scheme: dark){.xl\\:dark\\:via-transparent{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.xl\\:dark\\:via-current{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:dark\\:via-white{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:dark\\:via-lightgrey{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.xl\\:dark\\:via-midgrey{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:dark\\:via-darkgrey{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.xl\\:dark\\:via-grey{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.xl\\:dark\\:via-black{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.xl\\:dark\\:via-highlight{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.xl\\:dark\\:via-highlight_hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.xl\\:dark\\:via-button_outline{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:dark\\:via-error{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.xl\\:dark\\:via-text-light{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.xl\\:dark\\:via-text-dimmed{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:dark\\:via-text-dark{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:dark\\:via-body-light{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:dark\\:via-body-dark{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.xl\\:dark\\:via-button{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.xl\\:dark\\:via-button_hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.xl\\:dark\\:hover\\:via-transparent:hover{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.xl\\:dark\\:hover\\:via-current:hover{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:dark\\:hover\\:via-white:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:dark\\:hover\\:via-lightgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.xl\\:dark\\:hover\\:via-midgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:dark\\:hover\\:via-darkgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.xl\\:dark\\:hover\\:via-grey:hover{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.xl\\:dark\\:hover\\:via-black:hover{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.xl\\:dark\\:hover\\:via-highlight:hover{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.xl\\:dark\\:hover\\:via-highlight_hover:hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.xl\\:dark\\:hover\\:via-button_outline:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:dark\\:hover\\:via-error:hover{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.xl\\:dark\\:hover\\:via-text-light:hover{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.xl\\:dark\\:hover\\:via-text-dimmed:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:dark\\:hover\\:via-text-dark:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:dark\\:hover\\:via-body-light:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:dark\\:hover\\:via-body-dark:hover{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.xl\\:dark\\:hover\\:via-button:hover{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.xl\\:dark\\:hover\\:via-button_hover:hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.xl\\:dark\\:focus\\:via-transparent:focus{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.xl\\:dark\\:focus\\:via-current:focus{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:dark\\:focus\\:via-white:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:dark\\:focus\\:via-lightgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.xl\\:dark\\:focus\\:via-midgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:dark\\:focus\\:via-darkgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.xl\\:dark\\:focus\\:via-grey:focus{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.xl\\:dark\\:focus\\:via-black:focus{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.xl\\:dark\\:focus\\:via-highlight:focus{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.xl\\:dark\\:focus\\:via-highlight_hover:focus{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.xl\\:dark\\:focus\\:via-button_outline:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:dark\\:focus\\:via-error:focus{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.xl\\:dark\\:focus\\:via-text-light:focus{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.xl\\:dark\\:focus\\:via-text-dimmed:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:dark\\:focus\\:via-text-dark:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:dark\\:focus\\:via-body-light:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:dark\\:focus\\:via-body-dark:focus{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.xl\\:dark\\:focus\\:via-button:focus{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.xl\\:dark\\:focus\\:via-button_hover:focus{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}}.xl\\:to-transparent{--tw-gradient-to:transparent}.xl\\:to-current{--tw-gradient-to:currentColor}.xl\\:to-white{--tw-gradient-to:#fff}.xl\\:to-lightgrey{--tw-gradient-to:#F7F7F7}.xl\\:to-midgrey{--tw-gradient-to:#cfcfcf}.xl\\:to-darkgrey{--tw-gradient-to:#7f7f7f}.xl\\:to-grey{--tw-gradient-to:#1e1e1e}.xl\\:to-black{--tw-gradient-to:#0f0f0f}.xl\\:to-highlight{--tw-gradient-to:#0071e3}.xl\\:to-highlight_hover{--tw-gradient-to:#0077ed}.xl\\:to-button_outline{--tw-gradient-to:#cfcfcf}.xl\\:to-error{--tw-gradient-to:#ff453a}.xl\\:to-text-light{--tw-gradient-to:#0f0f0f}.xl\\:to-text-dimmed{--tw-gradient-to:#cfcfcf}.xl\\:to-text-dark{--tw-gradient-to:#fff}.xl\\:to-body-light{--tw-gradient-to:#fff}.xl\\:to-body-dark{--tw-gradient-to:#1e1e1e}.xl\\:to-button{--tw-gradient-to:#0071e3}.xl\\:to-button_hover{--tw-gradient-to:#0077ed}.xl\\:hover\\:to-transparent:hover{--tw-gradient-to:transparent}.xl\\:hover\\:to-current:hover{--tw-gradient-to:currentColor}.xl\\:hover\\:to-white:hover{--tw-gradient-to:#fff}.xl\\:hover\\:to-lightgrey:hover{--tw-gradient-to:#F7F7F7}.xl\\:hover\\:to-midgrey:hover{--tw-gradient-to:#cfcfcf}.xl\\:hover\\:to-darkgrey:hover{--tw-gradient-to:#7f7f7f}.xl\\:hover\\:to-grey:hover{--tw-gradient-to:#1e1e1e}.xl\\:hover\\:to-black:hover{--tw-gradient-to:#0f0f0f}.xl\\:hover\\:to-highlight:hover{--tw-gradient-to:#0071e3}.xl\\:hover\\:to-highlight_hover:hover{--tw-gradient-to:#0077ed}.xl\\:hover\\:to-button_outline:hover{--tw-gradient-to:#cfcfcf}.xl\\:hover\\:to-error:hover{--tw-gradient-to:#ff453a}.xl\\:hover\\:to-text-light:hover{--tw-gradient-to:#0f0f0f}.xl\\:hover\\:to-text-dimmed:hover{--tw-gradient-to:#cfcfcf}.xl\\:hover\\:to-text-dark:hover{--tw-gradient-to:#fff}.xl\\:hover\\:to-body-light:hover{--tw-gradient-to:#fff}.xl\\:hover\\:to-body-dark:hover{--tw-gradient-to:#1e1e1e}.xl\\:hover\\:to-button:hover{--tw-gradient-to:#0071e3}.xl\\:hover\\:to-button_hover:hover{--tw-gradient-to:#0077ed}.xl\\:focus\\:to-transparent:focus{--tw-gradient-to:transparent}.xl\\:focus\\:to-current:focus{--tw-gradient-to:currentColor}.xl\\:focus\\:to-white:focus{--tw-gradient-to:#fff}.xl\\:focus\\:to-lightgrey:focus{--tw-gradient-to:#F7F7F7}.xl\\:focus\\:to-midgrey:focus{--tw-gradient-to:#cfcfcf}.xl\\:focus\\:to-darkgrey:focus{--tw-gradient-to:#7f7f7f}.xl\\:focus\\:to-grey:focus{--tw-gradient-to:#1e1e1e}.xl\\:focus\\:to-black:focus{--tw-gradient-to:#0f0f0f}.xl\\:focus\\:to-highlight:focus{--tw-gradient-to:#0071e3}.xl\\:focus\\:to-highlight_hover:focus{--tw-gradient-to:#0077ed}.xl\\:focus\\:to-button_outline:focus{--tw-gradient-to:#cfcfcf}.xl\\:focus\\:to-error:focus{--tw-gradient-to:#ff453a}.xl\\:focus\\:to-text-light:focus{--tw-gradient-to:#0f0f0f}.xl\\:focus\\:to-text-dimmed:focus{--tw-gradient-to:#cfcfcf}.xl\\:focus\\:to-text-dark:focus{--tw-gradient-to:#fff}.xl\\:focus\\:to-body-light:focus{--tw-gradient-to:#fff}.xl\\:focus\\:to-body-dark:focus{--tw-gradient-to:#1e1e1e}.xl\\:focus\\:to-button:focus{--tw-gradient-to:#0071e3}.xl\\:focus\\:to-button_hover:focus{--tw-gradient-to:#0077ed}@media(prefers-color-scheme: dark){.xl\\:dark\\:to-transparent{--tw-gradient-to:transparent}.xl\\:dark\\:to-current{--tw-gradient-to:currentColor}.xl\\:dark\\:to-white{--tw-gradient-to:#fff}.xl\\:dark\\:to-lightgrey{--tw-gradient-to:#F7F7F7}.xl\\:dark\\:to-midgrey{--tw-gradient-to:#cfcfcf}.xl\\:dark\\:to-darkgrey{--tw-gradient-to:#7f7f7f}.xl\\:dark\\:to-grey{--tw-gradient-to:#1e1e1e}.xl\\:dark\\:to-black{--tw-gradient-to:#0f0f0f}.xl\\:dark\\:to-highlight{--tw-gradient-to:#0071e3}.xl\\:dark\\:to-highlight_hover{--tw-gradient-to:#0077ed}.xl\\:dark\\:to-button_outline{--tw-gradient-to:#cfcfcf}.xl\\:dark\\:to-error{--tw-gradient-to:#ff453a}.xl\\:dark\\:to-text-light{--tw-gradient-to:#0f0f0f}.xl\\:dark\\:to-text-dimmed{--tw-gradient-to:#cfcfcf}.xl\\:dark\\:to-text-dark{--tw-gradient-to:#fff}.xl\\:dark\\:to-body-light{--tw-gradient-to:#fff}.xl\\:dark\\:to-body-dark{--tw-gradient-to:#1e1e1e}.xl\\:dark\\:to-button{--tw-gradient-to:#0071e3}.xl\\:dark\\:to-button_hover{--tw-gradient-to:#0077ed}.xl\\:dark\\:hover\\:to-transparent:hover{--tw-gradient-to:transparent}.xl\\:dark\\:hover\\:to-current:hover{--tw-gradient-to:currentColor}.xl\\:dark\\:hover\\:to-white:hover{--tw-gradient-to:#fff}.xl\\:dark\\:hover\\:to-lightgrey:hover{--tw-gradient-to:#F7F7F7}.xl\\:dark\\:hover\\:to-midgrey:hover{--tw-gradient-to:#cfcfcf}.xl\\:dark\\:hover\\:to-darkgrey:hover{--tw-gradient-to:#7f7f7f}.xl\\:dark\\:hover\\:to-grey:hover{--tw-gradient-to:#1e1e1e}.xl\\:dark\\:hover\\:to-black:hover{--tw-gradient-to:#0f0f0f}.xl\\:dark\\:hover\\:to-highlight:hover{--tw-gradient-to:#0071e3}.xl\\:dark\\:hover\\:to-highlight_hover:hover{--tw-gradient-to:#0077ed}.xl\\:dark\\:hover\\:to-button_outline:hover{--tw-gradient-to:#cfcfcf}.xl\\:dark\\:hover\\:to-error:hover{--tw-gradient-to:#ff453a}.xl\\:dark\\:hover\\:to-text-light:hover{--tw-gradient-to:#0f0f0f}.xl\\:dark\\:hover\\:to-text-dimmed:hover{--tw-gradient-to:#cfcfcf}.xl\\:dark\\:hover\\:to-text-dark:hover{--tw-gradient-to:#fff}.xl\\:dark\\:hover\\:to-body-light:hover{--tw-gradient-to:#fff}.xl\\:dark\\:hover\\:to-body-dark:hover{--tw-gradient-to:#1e1e1e}.xl\\:dark\\:hover\\:to-button:hover{--tw-gradient-to:#0071e3}.xl\\:dark\\:hover\\:to-button_hover:hover{--tw-gradient-to:#0077ed}.xl\\:dark\\:focus\\:to-transparent:focus{--tw-gradient-to:transparent}.xl\\:dark\\:focus\\:to-current:focus{--tw-gradient-to:currentColor}.xl\\:dark\\:focus\\:to-white:focus{--tw-gradient-to:#fff}.xl\\:dark\\:focus\\:to-lightgrey:focus{--tw-gradient-to:#F7F7F7}.xl\\:dark\\:focus\\:to-midgrey:focus{--tw-gradient-to:#cfcfcf}.xl\\:dark\\:focus\\:to-darkgrey:focus{--tw-gradient-to:#7f7f7f}.xl\\:dark\\:focus\\:to-grey:focus{--tw-gradient-to:#1e1e1e}.xl\\:dark\\:focus\\:to-black:focus{--tw-gradient-to:#0f0f0f}.xl\\:dark\\:focus\\:to-highlight:focus{--tw-gradient-to:#0071e3}.xl\\:dark\\:focus\\:to-highlight_hover:focus{--tw-gradient-to:#0077ed}.xl\\:dark\\:focus\\:to-button_outline:focus{--tw-gradient-to:#cfcfcf}.xl\\:dark\\:focus\\:to-error:focus{--tw-gradient-to:#ff453a}.xl\\:dark\\:focus\\:to-text-light:focus{--tw-gradient-to:#0f0f0f}.xl\\:dark\\:focus\\:to-text-dimmed:focus{--tw-gradient-to:#cfcfcf}.xl\\:dark\\:focus\\:to-text-dark:focus{--tw-gradient-to:#fff}.xl\\:dark\\:focus\\:to-body-light:focus{--tw-gradient-to:#fff}.xl\\:dark\\:focus\\:to-body-dark:focus{--tw-gradient-to:#1e1e1e}.xl\\:dark\\:focus\\:to-button:focus{--tw-gradient-to:#0071e3}.xl\\:dark\\:focus\\:to-button_hover:focus{--tw-gradient-to:#0077ed}}.xl\\:decoration-slice{-webkit-box-decoration-break:slice;box-decoration-break:slice}.xl\\:decoration-clone{-webkit-box-decoration-break:clone;box-decoration-break:clone}.xl\\:bg-auto{background-size:auto}.xl\\:bg-cover{background-size:cover}.xl\\:bg-contain{background-size:contain}.xl\\:bg-fixed{background-attachment:fixed}.xl\\:bg-local{background-attachment:local}.xl\\:bg-scroll{background-attachment:scroll}.xl\\:bg-clip-border{background-clip:border-box}.xl\\:bg-clip-padding{background-clip:padding-box}.xl\\:bg-clip-content{background-clip:content-box}.xl\\:bg-clip-text{background-clip:text}.xl\\:bg-bottom{background-position:bottom}.xl\\:bg-center{background-position:center}.xl\\:bg-left{background-position:left}.xl\\:bg-left-bottom{background-position:left bottom}.xl\\:bg-left-top{background-position:left top}.xl\\:bg-right{background-position:right}.xl\\:bg-right-bottom{background-position:right bottom}.xl\\:bg-right-top{background-position:right top}.xl\\:bg-top{background-position:top}.xl\\:bg-repeat{background-repeat:repeat}.xl\\:bg-no-repeat{background-repeat:no-repeat}.xl\\:bg-repeat-x{background-repeat:repeat-x}.xl\\:bg-repeat-y{background-repeat:repeat-y}.xl\\:bg-repeat-round{background-repeat:round}.xl\\:bg-repeat-space{background-repeat:space}.xl\\:bg-origin-border{background-origin:border-box}.xl\\:bg-origin-padding{background-origin:padding-box}.xl\\:bg-origin-content{background-origin:content-box}.xl\\:fill-current{fill:currentColor}.xl\\:stroke-current{stroke:currentColor}.xl\\:stroke-0{stroke-width:0}.xl\\:stroke-1{stroke-width:1}.xl\\:stroke-2{stroke-width:2}.xl\\:object-contain{object-fit:contain}.xl\\:object-cover{object-fit:cover}.xl\\:object-fill{object-fit:fill}.xl\\:object-none{object-fit:none}.xl\\:object-scale-down{object-fit:scale-down}.xl\\:object-bottom{object-position:bottom}.xl\\:object-center{object-position:center}.xl\\:object-left{object-position:left}.xl\\:object-left-bottom{object-position:left bottom}.xl\\:object-left-top{object-position:left top}.xl\\:object-right{object-position:right}.xl\\:object-right-bottom{object-position:right bottom}.xl\\:object-right-top{object-position:right top}.xl\\:object-top{object-position:top}.xl\\:p-0{padding:0px}.xl\\:p-1{padding:0.25rem}.xl\\:p-2{padding:0.5rem}.xl\\:p-3{padding:0.75rem}.xl\\:p-4{padding:1rem}.xl\\:p-5{padding:1.25rem}.xl\\:p-6{padding:1.5rem}.xl\\:p-7{padding:1.75rem}.xl\\:p-8{padding:2rem}.xl\\:p-9{padding:2.25rem}.xl\\:p-10{padding:2.5rem}.xl\\:p-11{padding:2.75rem}.xl\\:p-12{padding:3rem}.xl\\:p-14{padding:3.5rem}.xl\\:p-16{padding:4rem}.xl\\:p-20{padding:5rem}.xl\\:p-24{padding:6rem}.xl\\:p-28{padding:7rem}.xl\\:p-32{padding:8rem}.xl\\:p-36{padding:9rem}.xl\\:p-40{padding:10rem}.xl\\:p-44{padding:11rem}.xl\\:p-48{padding:12rem}.xl\\:p-52{padding:13rem}.xl\\:p-56{padding:14rem}.xl\\:p-60{padding:15rem}.xl\\:p-64{padding:16rem}.xl\\:p-72{padding:18rem}.xl\\:p-80{padding:20rem}.xl\\:p-96{padding:24rem}.xl\\:p-px{padding:1px}.xl\\:p-0\\.5{padding:0.125rem}.xl\\:p-1\\.5{padding:0.375rem}.xl\\:p-2\\.5{padding:0.625rem}.xl\\:p-3\\.5{padding:0.875rem}.xl\\:px-0{padding-left:0px;padding-right:0px}.xl\\:px-1{padding-left:0.25rem;padding-right:0.25rem}.xl\\:px-2{padding-left:0.5rem;padding-right:0.5rem}.xl\\:px-3{padding-left:0.75rem;padding-right:0.75rem}.xl\\:px-4{padding-left:1rem;padding-right:1rem}.xl\\:px-5{padding-left:1.25rem;padding-right:1.25rem}.xl\\:px-6{padding-left:1.5rem;padding-right:1.5rem}.xl\\:px-7{padding-left:1.75rem;padding-right:1.75rem}.xl\\:px-8{padding-left:2rem;padding-right:2rem}.xl\\:px-9{padding-left:2.25rem;padding-right:2.25rem}.xl\\:px-10{padding-left:2.5rem;padding-right:2.5rem}.xl\\:px-11{padding-left:2.75rem;padding-right:2.75rem}.xl\\:px-12{padding-left:3rem;padding-right:3rem}.xl\\:px-14{padding-left:3.5rem;padding-right:3.5rem}.xl\\:px-16{padding-left:4rem;padding-right:4rem}.xl\\:px-20{padding-left:5rem;padding-right:5rem}.xl\\:px-24{padding-left:6rem;padding-right:6rem}.xl\\:px-28{padding-left:7rem;padding-right:7rem}.xl\\:px-32{padding-left:8rem;padding-right:8rem}.xl\\:px-36{padding-left:9rem;padding-right:9rem}.xl\\:px-40{padding-left:10rem;padding-right:10rem}.xl\\:px-44{padding-left:11rem;padding-right:11rem}.xl\\:px-48{padding-left:12rem;padding-right:12rem}.xl\\:px-52{padding-left:13rem;padding-right:13rem}.xl\\:px-56{padding-left:14rem;padding-right:14rem}.xl\\:px-60{padding-left:15rem;padding-right:15rem}.xl\\:px-64{padding-left:16rem;padding-right:16rem}.xl\\:px-72{padding-left:18rem;padding-right:18rem}.xl\\:px-80{padding-left:20rem;padding-right:20rem}.xl\\:px-96{padding-left:24rem;padding-right:24rem}.xl\\:px-px{padding-left:1px;padding-right:1px}.xl\\:px-0\\.5{padding-left:0.125rem;padding-right:0.125rem}.xl\\:px-1\\.5{padding-left:0.375rem;padding-right:0.375rem}.xl\\:px-2\\.5{padding-left:0.625rem;padding-right:0.625rem}.xl\\:px-3\\.5{padding-left:0.875rem;padding-right:0.875rem}.xl\\:py-0{padding-top:0px;padding-bottom:0px}.xl\\:py-1{padding-top:0.25rem;padding-bottom:0.25rem}.xl\\:py-2{padding-top:0.5rem;padding-bottom:0.5rem}.xl\\:py-3{padding-top:0.75rem;padding-bottom:0.75rem}.xl\\:py-4{padding-top:1rem;padding-bottom:1rem}.xl\\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.xl\\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.xl\\:py-7{padding-top:1.75rem;padding-bottom:1.75rem}.xl\\:py-8{padding-top:2rem;padding-bottom:2rem}.xl\\:py-9{padding-top:2.25rem;padding-bottom:2.25rem}.xl\\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.xl\\:py-11{padding-top:2.75rem;padding-bottom:2.75rem}.xl\\:py-12{padding-top:3rem;padding-bottom:3rem}.xl\\:py-14{padding-top:3.5rem;padding-bottom:3.5rem}.xl\\:py-16{padding-top:4rem;padding-bottom:4rem}.xl\\:py-20{padding-top:5rem;padding-bottom:5rem}.xl\\:py-24{padding-top:6rem;padding-bottom:6rem}.xl\\:py-28{padding-top:7rem;padding-bottom:7rem}.xl\\:py-32{padding-top:8rem;padding-bottom:8rem}.xl\\:py-36{padding-top:9rem;padding-bottom:9rem}.xl\\:py-40{padding-top:10rem;padding-bottom:10rem}.xl\\:py-44{padding-top:11rem;padding-bottom:11rem}.xl\\:py-48{padding-top:12rem;padding-bottom:12rem}.xl\\:py-52{padding-top:13rem;padding-bottom:13rem}.xl\\:py-56{padding-top:14rem;padding-bottom:14rem}.xl\\:py-60{padding-top:15rem;padding-bottom:15rem}.xl\\:py-64{padding-top:16rem;padding-bottom:16rem}.xl\\:py-72{padding-top:18rem;padding-bottom:18rem}.xl\\:py-80{padding-top:20rem;padding-bottom:20rem}.xl\\:py-96{padding-top:24rem;padding-bottom:24rem}.xl\\:py-px{padding-top:1px;padding-bottom:1px}.xl\\:py-0\\.5{padding-top:0.125rem;padding-bottom:0.125rem}.xl\\:py-1\\.5{padding-top:0.375rem;padding-bottom:0.375rem}.xl\\:py-2\\.5{padding-top:0.625rem;padding-bottom:0.625rem}.xl\\:py-3\\.5{padding-top:0.875rem;padding-bottom:0.875rem}.xl\\:pt-0{padding-top:0px}.xl\\:pt-1{padding-top:0.25rem}.xl\\:pt-2{padding-top:0.5rem}.xl\\:pt-3{padding-top:0.75rem}.xl\\:pt-4{padding-top:1rem}.xl\\:pt-5{padding-top:1.25rem}.xl\\:pt-6{padding-top:1.5rem}.xl\\:pt-7{padding-top:1.75rem}.xl\\:pt-8{padding-top:2rem}.xl\\:pt-9{padding-top:2.25rem}.xl\\:pt-10{padding-top:2.5rem}.xl\\:pt-11{padding-top:2.75rem}.xl\\:pt-12{padding-top:3rem}.xl\\:pt-14{padding-top:3.5rem}.xl\\:pt-16{padding-top:4rem}.xl\\:pt-20{padding-top:5rem}.xl\\:pt-24{padding-top:6rem}.xl\\:pt-28{padding-top:7rem}.xl\\:pt-32{padding-top:8rem}.xl\\:pt-36{padding-top:9rem}.xl\\:pt-40{padding-top:10rem}.xl\\:pt-44{padding-top:11rem}.xl\\:pt-48{padding-top:12rem}.xl\\:pt-52{padding-top:13rem}.xl\\:pt-56{padding-top:14rem}.xl\\:pt-60{padding-top:15rem}.xl\\:pt-64{padding-top:16rem}.xl\\:pt-72{padding-top:18rem}.xl\\:pt-80{padding-top:20rem}.xl\\:pt-96{padding-top:24rem}.xl\\:pt-px{padding-top:1px}.xl\\:pt-0\\.5{padding-top:0.125rem}.xl\\:pt-1\\.5{padding-top:0.375rem}.xl\\:pt-2\\.5{padding-top:0.625rem}.xl\\:pt-3\\.5{padding-top:0.875rem}.xl\\:pr-0{padding-right:0px}.xl\\:pr-1{padding-right:0.25rem}.xl\\:pr-2{padding-right:0.5rem}.xl\\:pr-3{padding-right:0.75rem}.xl\\:pr-4{padding-right:1rem}.xl\\:pr-5{padding-right:1.25rem}.xl\\:pr-6{padding-right:1.5rem}.xl\\:pr-7{padding-right:1.75rem}.xl\\:pr-8{padding-right:2rem}.xl\\:pr-9{padding-right:2.25rem}.xl\\:pr-10{padding-right:2.5rem}.xl\\:pr-11{padding-right:2.75rem}.xl\\:pr-12{padding-right:3rem}.xl\\:pr-14{padding-right:3.5rem}.xl\\:pr-16{padding-right:4rem}.xl\\:pr-20{padding-right:5rem}.xl\\:pr-24{padding-right:6rem}.xl\\:pr-28{padding-right:7rem}.xl\\:pr-32{padding-right:8rem}.xl\\:pr-36{padding-right:9rem}.xl\\:pr-40{padding-right:10rem}.xl\\:pr-44{padding-right:11rem}.xl\\:pr-48{padding-right:12rem}.xl\\:pr-52{padding-right:13rem}.xl\\:pr-56{padding-right:14rem}.xl\\:pr-60{padding-right:15rem}.xl\\:pr-64{padding-right:16rem}.xl\\:pr-72{padding-right:18rem}.xl\\:pr-80{padding-right:20rem}.xl\\:pr-96{padding-right:24rem}.xl\\:pr-px{padding-right:1px}.xl\\:pr-0\\.5{padding-right:0.125rem}.xl\\:pr-1\\.5{padding-right:0.375rem}.xl\\:pr-2\\.5{padding-right:0.625rem}.xl\\:pr-3\\.5{padding-right:0.875rem}.xl\\:pb-0{padding-bottom:0px}.xl\\:pb-1{padding-bottom:0.25rem}.xl\\:pb-2{padding-bottom:0.5rem}.xl\\:pb-3{padding-bottom:0.75rem}.xl\\:pb-4{padding-bottom:1rem}.xl\\:pb-5{padding-bottom:1.25rem}.xl\\:pb-6{padding-bottom:1.5rem}.xl\\:pb-7{padding-bottom:1.75rem}.xl\\:pb-8{padding-bottom:2rem}.xl\\:pb-9{padding-bottom:2.25rem}.xl\\:pb-10{padding-bottom:2.5rem}.xl\\:pb-11{padding-bottom:2.75rem}.xl\\:pb-12{padding-bottom:3rem}.xl\\:pb-14{padding-bottom:3.5rem}.xl\\:pb-16{padding-bottom:4rem}.xl\\:pb-20{padding-bottom:5rem}.xl\\:pb-24{padding-bottom:6rem}.xl\\:pb-28{padding-bottom:7rem}.xl\\:pb-32{padding-bottom:8rem}.xl\\:pb-36{padding-bottom:9rem}.xl\\:pb-40{padding-bottom:10rem}.xl\\:pb-44{padding-bottom:11rem}.xl\\:pb-48{padding-bottom:12rem}.xl\\:pb-52{padding-bottom:13rem}.xl\\:pb-56{padding-bottom:14rem}.xl\\:pb-60{padding-bottom:15rem}.xl\\:pb-64{padding-bottom:16rem}.xl\\:pb-72{padding-bottom:18rem}.xl\\:pb-80{padding-bottom:20rem}.xl\\:pb-96{padding-bottom:24rem}.xl\\:pb-px{padding-bottom:1px}.xl\\:pb-0\\.5{padding-bottom:0.125rem}.xl\\:pb-1\\.5{padding-bottom:0.375rem}.xl\\:pb-2\\.5{padding-bottom:0.625rem}.xl\\:pb-3\\.5{padding-bottom:0.875rem}.xl\\:pl-0{padding-left:0px}.xl\\:pl-1{padding-left:0.25rem}.xl\\:pl-2{padding-left:0.5rem}.xl\\:pl-3{padding-left:0.75rem}.xl\\:pl-4{padding-left:1rem}.xl\\:pl-5{padding-left:1.25rem}.xl\\:pl-6{padding-left:1.5rem}.xl\\:pl-7{padding-left:1.75rem}.xl\\:pl-8{padding-left:2rem}.xl\\:pl-9{padding-left:2.25rem}.xl\\:pl-10{padding-left:2.5rem}.xl\\:pl-11{padding-left:2.75rem}.xl\\:pl-12{padding-left:3rem}.xl\\:pl-14{padding-left:3.5rem}.xl\\:pl-16{padding-left:4rem}.xl\\:pl-20{padding-left:5rem}.xl\\:pl-24{padding-left:6rem}.xl\\:pl-28{padding-left:7rem}.xl\\:pl-32{padding-left:8rem}.xl\\:pl-36{padding-left:9rem}.xl\\:pl-40{padding-left:10rem}.xl\\:pl-44{padding-left:11rem}.xl\\:pl-48{padding-left:12rem}.xl\\:pl-52{padding-left:13rem}.xl\\:pl-56{padding-left:14rem}.xl\\:pl-60{padding-left:15rem}.xl\\:pl-64{padding-left:16rem}.xl\\:pl-72{padding-left:18rem}.xl\\:pl-80{padding-left:20rem}.xl\\:pl-96{padding-left:24rem}.xl\\:pl-px{padding-left:1px}.xl\\:pl-0\\.5{padding-left:0.125rem}.xl\\:pl-1\\.5{padding-left:0.375rem}.xl\\:pl-2\\.5{padding-left:0.625rem}.xl\\:pl-3\\.5{padding-left:0.875rem}.xl\\:text-left{text-align:left}.xl\\:text-center{text-align:center}.xl\\:text-right{text-align:right}.xl\\:text-justify{text-align:justify}.xl\\:align-baseline{vertical-align:baseline}.xl\\:align-top{vertical-align:top}.xl\\:align-middle{vertical-align:middle}.xl\\:align-bottom{vertical-align:bottom}.xl\\:align-text-top{vertical-align:text-top}.xl\\:align-text-bottom{vertical-align:text-bottom}.xl\\:font-sans{font-family:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"}.xl\\:font-serif{font-family:ui-serif, Georgia, Cambria, \"Times New Roman\", Times, serif}.xl\\:font-mono{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace}.xl\\:text-xs{font-size:0.75rem;line-height:1rem}.xl\\:text-sm{font-size:0.875rem;line-height:1.25rem}.xl\\:text-base{font-size:1rem;line-height:1.5rem}.xl\\:text-lg{font-size:1.125rem;line-height:1.75rem}.xl\\:text-xl{font-size:1.25rem;line-height:1.75rem}.xl\\:text-2xl{font-size:1.5rem;line-height:2rem}.xl\\:text-3xl{font-size:1.875rem;line-height:2.25rem}.xl\\:text-4xl{font-size:2.25rem;line-height:2.5rem}.xl\\:text-5xl{font-size:3rem;line-height:1}.xl\\:text-6xl{font-size:3.75rem;line-height:1}.xl\\:text-7xl{font-size:4.5rem;line-height:1}.xl\\:text-8xl{font-size:6rem;line-height:1}.xl\\:text-9xl{font-size:8rem;line-height:1}.xl\\:font-thin{font-weight:100}.xl\\:font-extralight{font-weight:200}.xl\\:font-light{font-weight:300}.xl\\:font-normal{font-weight:400}.xl\\:font-medium{font-weight:500}.xl\\:font-semibold{font-weight:600}.xl\\:font-bold{font-weight:700}.xl\\:font-extrabold{font-weight:800}.xl\\:font-black{font-weight:900}.xl\\:uppercase{text-transform:uppercase}.xl\\:lowercase{text-transform:lowercase}.xl\\:capitalize{text-transform:capitalize}.xl\\:normal-case{text-transform:none}.xl\\:italic{font-style:italic}.xl\\:not-italic{font-style:normal}.xl\\:ordinal,.xl\\:slashed-zero,.xl\\:lining-nums,.xl\\:oldstyle-nums,.xl\\:proportional-nums,.xl\\:tabular-nums,.xl\\:diagonal-fractions,.xl\\:stacked-fractions{--tw-ordinal:var(--tw-empty,/*!*/ /*!*/);--tw-slashed-zero:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-figure:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-spacing:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-fraction:var(--tw-empty,/*!*/ /*!*/);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.xl\\:normal-nums{font-variant-numeric:normal}.xl\\:ordinal{--tw-ordinal:ordinal}.xl\\:slashed-zero{--tw-slashed-zero:slashed-zero}.xl\\:lining-nums{--tw-numeric-figure:lining-nums}.xl\\:oldstyle-nums{--tw-numeric-figure:oldstyle-nums}.xl\\:proportional-nums{--tw-numeric-spacing:proportional-nums}.xl\\:tabular-nums{--tw-numeric-spacing:tabular-nums}.xl\\:diagonal-fractions{--tw-numeric-fraction:diagonal-fractions}.xl\\:stacked-fractions{--tw-numeric-fraction:stacked-fractions}.xl\\:leading-3{line-height:.75rem}.xl\\:leading-4{line-height:1rem}.xl\\:leading-5{line-height:1.25rem}.xl\\:leading-6{line-height:1.5rem}.xl\\:leading-7{line-height:1.75rem}.xl\\:leading-8{line-height:2rem}.xl\\:leading-9{line-height:2.25rem}.xl\\:leading-10{line-height:2.5rem}.xl\\:leading-none{line-height:1}.xl\\:leading-tight{line-height:1.25}.xl\\:leading-snug{line-height:1.375}.xl\\:leading-normal{line-height:1.5}.xl\\:leading-relaxed{line-height:1.625}.xl\\:leading-loose{line-height:2}.xl\\:tracking-tighter{letter-spacing:-0.05em}.xl\\:tracking-tight{letter-spacing:-0.025em}.xl\\:tracking-normal{letter-spacing:0em}.xl\\:tracking-wide{letter-spacing:0.025em}.xl\\:tracking-wider{letter-spacing:0.05em}.xl\\:tracking-widest{letter-spacing:0.1em}.xl\\:text-transparent{color:transparent}.xl\\:text-current{color:currentColor}.xl\\:text-white{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.xl\\:text-lightgrey{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.xl\\:text-midgrey{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.xl\\:text-darkgrey{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.xl\\:text-grey{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.xl\\:text-black{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.xl\\:text-highlight{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.xl\\:text-highlight_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.xl\\:text-button_outline{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.xl\\:text-error{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.xl\\:text-text-light{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.xl\\:text-text-dimmed{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.xl\\:text-text-dark{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.xl\\:text-body-light{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.xl\\:text-body-dark{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.xl\\:text-button{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.xl\\:text-button_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.group:hover .xl\\:group-hover\\:text-transparent{color:transparent}.group:hover .xl\\:group-hover\\:text-current{color:currentColor}.group:hover .xl\\:group-hover\\:text-white{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .xl\\:group-hover\\:text-lightgrey{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.group:hover .xl\\:group-hover\\:text-midgrey{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .xl\\:group-hover\\:text-darkgrey{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.group:hover .xl\\:group-hover\\:text-grey{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.group:hover .xl\\:group-hover\\:text-black{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.group:hover .xl\\:group-hover\\:text-highlight{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.group:hover .xl\\:group-hover\\:text-highlight_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.group:hover .xl\\:group-hover\\:text-button_outline{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .xl\\:group-hover\\:text-error{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.group:hover .xl\\:group-hover\\:text-text-light{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.group:hover .xl\\:group-hover\\:text-text-dimmed{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .xl\\:group-hover\\:text-text-dark{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .xl\\:group-hover\\:text-body-light{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .xl\\:group-hover\\:text-body-dark{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.group:hover .xl\\:group-hover\\:text-button{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.group:hover .xl\\:group-hover\\:text-button_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.xl\\:focus-within\\:text-transparent:focus-within{color:transparent}.xl\\:focus-within\\:text-current:focus-within{color:currentColor}.xl\\:focus-within\\:text-white:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.xl\\:focus-within\\:text-lightgrey:focus-within{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.xl\\:focus-within\\:text-midgrey:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.xl\\:focus-within\\:text-darkgrey:focus-within{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.xl\\:focus-within\\:text-grey:focus-within{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.xl\\:focus-within\\:text-black:focus-within{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.xl\\:focus-within\\:text-highlight:focus-within{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.xl\\:focus-within\\:text-highlight_hover:focus-within{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.xl\\:focus-within\\:text-button_outline:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.xl\\:focus-within\\:text-error:focus-within{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.xl\\:focus-within\\:text-text-light:focus-within{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.xl\\:focus-within\\:text-text-dimmed:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.xl\\:focus-within\\:text-text-dark:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.xl\\:focus-within\\:text-body-light:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.xl\\:focus-within\\:text-body-dark:focus-within{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.xl\\:focus-within\\:text-button:focus-within{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.xl\\:focus-within\\:text-button_hover:focus-within{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.xl\\:hover\\:text-transparent:hover{color:transparent}.xl\\:hover\\:text-current:hover{color:currentColor}.xl\\:hover\\:text-white:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.xl\\:hover\\:text-lightgrey:hover{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.xl\\:hover\\:text-midgrey:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.xl\\:hover\\:text-darkgrey:hover{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.xl\\:hover\\:text-grey:hover{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.xl\\:hover\\:text-black:hover{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.xl\\:hover\\:text-highlight:hover{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.xl\\:hover\\:text-highlight_hover:hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.xl\\:hover\\:text-button_outline:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.xl\\:hover\\:text-error:hover{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.xl\\:hover\\:text-text-light:hover{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.xl\\:hover\\:text-text-dimmed:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.xl\\:hover\\:text-text-dark:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.xl\\:hover\\:text-body-light:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.xl\\:hover\\:text-body-dark:hover{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.xl\\:hover\\:text-button:hover{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.xl\\:hover\\:text-button_hover:hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.xl\\:focus\\:text-transparent:focus{color:transparent}.xl\\:focus\\:text-current:focus{color:currentColor}.xl\\:focus\\:text-white:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.xl\\:focus\\:text-lightgrey:focus{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.xl\\:focus\\:text-midgrey:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.xl\\:focus\\:text-darkgrey:focus{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.xl\\:focus\\:text-grey:focus{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.xl\\:focus\\:text-black:focus{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.xl\\:focus\\:text-highlight:focus{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.xl\\:focus\\:text-highlight_hover:focus{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.xl\\:focus\\:text-button_outline:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.xl\\:focus\\:text-error:focus{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.xl\\:focus\\:text-text-light:focus{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.xl\\:focus\\:text-text-dimmed:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.xl\\:focus\\:text-text-dark:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.xl\\:focus\\:text-body-light:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.xl\\:focus\\:text-body-dark:focus{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.xl\\:focus\\:text-button:focus{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.xl\\:focus\\:text-button_hover:focus{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}@media(prefers-color-scheme: dark){.xl\\:dark\\:text-transparent{color:transparent}.xl\\:dark\\:text-current{color:currentColor}.xl\\:dark\\:text-white{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.xl\\:dark\\:text-lightgrey{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.xl\\:dark\\:text-midgrey{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.xl\\:dark\\:text-darkgrey{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.xl\\:dark\\:text-grey{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.xl\\:dark\\:text-black{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.xl\\:dark\\:text-highlight{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.xl\\:dark\\:text-highlight_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.xl\\:dark\\:text-button_outline{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.xl\\:dark\\:text-error{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.xl\\:dark\\:text-text-light{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.xl\\:dark\\:text-text-dimmed{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.xl\\:dark\\:text-text-dark{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.xl\\:dark\\:text-body-light{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.xl\\:dark\\:text-body-dark{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.xl\\:dark\\:text-button{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.xl\\:dark\\:text-button_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.group:hover .xl\\:dark\\:group-hover\\:text-transparent{color:transparent}.group:hover .xl\\:dark\\:group-hover\\:text-current{color:currentColor}.group:hover .xl\\:dark\\:group-hover\\:text-white{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .xl\\:dark\\:group-hover\\:text-lightgrey{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.group:hover .xl\\:dark\\:group-hover\\:text-midgrey{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .xl\\:dark\\:group-hover\\:text-darkgrey{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.group:hover .xl\\:dark\\:group-hover\\:text-grey{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.group:hover .xl\\:dark\\:group-hover\\:text-black{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.group:hover .xl\\:dark\\:group-hover\\:text-highlight{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.group:hover .xl\\:dark\\:group-hover\\:text-highlight_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.group:hover .xl\\:dark\\:group-hover\\:text-button_outline{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .xl\\:dark\\:group-hover\\:text-error{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.group:hover .xl\\:dark\\:group-hover\\:text-text-light{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.group:hover .xl\\:dark\\:group-hover\\:text-text-dimmed{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .xl\\:dark\\:group-hover\\:text-text-dark{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .xl\\:dark\\:group-hover\\:text-body-light{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .xl\\:dark\\:group-hover\\:text-body-dark{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.group:hover .xl\\:dark\\:group-hover\\:text-button{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.group:hover .xl\\:dark\\:group-hover\\:text-button_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.xl\\:dark\\:focus-within\\:text-transparent:focus-within{color:transparent}.xl\\:dark\\:focus-within\\:text-current:focus-within{color:currentColor}.xl\\:dark\\:focus-within\\:text-white:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.xl\\:dark\\:focus-within\\:text-lightgrey:focus-within{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.xl\\:dark\\:focus-within\\:text-midgrey:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.xl\\:dark\\:focus-within\\:text-darkgrey:focus-within{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.xl\\:dark\\:focus-within\\:text-grey:focus-within{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.xl\\:dark\\:focus-within\\:text-black:focus-within{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.xl\\:dark\\:focus-within\\:text-highlight:focus-within{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.xl\\:dark\\:focus-within\\:text-highlight_hover:focus-within{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.xl\\:dark\\:focus-within\\:text-button_outline:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.xl\\:dark\\:focus-within\\:text-error:focus-within{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.xl\\:dark\\:focus-within\\:text-text-light:focus-within{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.xl\\:dark\\:focus-within\\:text-text-dimmed:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.xl\\:dark\\:focus-within\\:text-text-dark:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.xl\\:dark\\:focus-within\\:text-body-light:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.xl\\:dark\\:focus-within\\:text-body-dark:focus-within{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.xl\\:dark\\:focus-within\\:text-button:focus-within{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.xl\\:dark\\:focus-within\\:text-button_hover:focus-within{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.xl\\:dark\\:hover\\:text-transparent:hover{color:transparent}.xl\\:dark\\:hover\\:text-current:hover{color:currentColor}.xl\\:dark\\:hover\\:text-white:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.xl\\:dark\\:hover\\:text-lightgrey:hover{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.xl\\:dark\\:hover\\:text-midgrey:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.xl\\:dark\\:hover\\:text-darkgrey:hover{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.xl\\:dark\\:hover\\:text-grey:hover{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.xl\\:dark\\:hover\\:text-black:hover{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.xl\\:dark\\:hover\\:text-highlight:hover{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.xl\\:dark\\:hover\\:text-highlight_hover:hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.xl\\:dark\\:hover\\:text-button_outline:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.xl\\:dark\\:hover\\:text-error:hover{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.xl\\:dark\\:hover\\:text-text-light:hover{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.xl\\:dark\\:hover\\:text-text-dimmed:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.xl\\:dark\\:hover\\:text-text-dark:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.xl\\:dark\\:hover\\:text-body-light:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.xl\\:dark\\:hover\\:text-body-dark:hover{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.xl\\:dark\\:hover\\:text-button:hover{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.xl\\:dark\\:hover\\:text-button_hover:hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.xl\\:dark\\:focus\\:text-transparent:focus{color:transparent}.xl\\:dark\\:focus\\:text-current:focus{color:currentColor}.xl\\:dark\\:focus\\:text-white:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.xl\\:dark\\:focus\\:text-lightgrey:focus{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.xl\\:dark\\:focus\\:text-midgrey:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.xl\\:dark\\:focus\\:text-darkgrey:focus{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.xl\\:dark\\:focus\\:text-grey:focus{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.xl\\:dark\\:focus\\:text-black:focus{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.xl\\:dark\\:focus\\:text-highlight:focus{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.xl\\:dark\\:focus\\:text-highlight_hover:focus{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.xl\\:dark\\:focus\\:text-button_outline:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.xl\\:dark\\:focus\\:text-error:focus{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.xl\\:dark\\:focus\\:text-text-light:focus{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.xl\\:dark\\:focus\\:text-text-dimmed:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.xl\\:dark\\:focus\\:text-text-dark:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.xl\\:dark\\:focus\\:text-body-light:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.xl\\:dark\\:focus\\:text-body-dark:focus{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.xl\\:dark\\:focus\\:text-button:focus{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.xl\\:dark\\:focus\\:text-button_hover:focus{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}}.xl\\:text-opacity-0{--tw-text-opacity:0}.xl\\:text-opacity-5{--tw-text-opacity:0.05}.xl\\:text-opacity-10{--tw-text-opacity:0.1}.xl\\:text-opacity-20{--tw-text-opacity:0.2}.xl\\:text-opacity-25{--tw-text-opacity:0.25}.xl\\:text-opacity-30{--tw-text-opacity:0.3}.xl\\:text-opacity-40{--tw-text-opacity:0.4}.xl\\:text-opacity-50{--tw-text-opacity:0.5}.xl\\:text-opacity-60{--tw-text-opacity:0.6}.xl\\:text-opacity-70{--tw-text-opacity:0.7}.xl\\:text-opacity-75{--tw-text-opacity:0.75}.xl\\:text-opacity-80{--tw-text-opacity:0.8}.xl\\:text-opacity-90{--tw-text-opacity:0.9}.xl\\:text-opacity-95{--tw-text-opacity:0.95}.xl\\:text-opacity-100{--tw-text-opacity:1}.group:hover .xl\\:group-hover\\:text-opacity-0{--tw-text-opacity:0}.group:hover .xl\\:group-hover\\:text-opacity-5{--tw-text-opacity:0.05}.group:hover .xl\\:group-hover\\:text-opacity-10{--tw-text-opacity:0.1}.group:hover .xl\\:group-hover\\:text-opacity-20{--tw-text-opacity:0.2}.group:hover .xl\\:group-hover\\:text-opacity-25{--tw-text-opacity:0.25}.group:hover .xl\\:group-hover\\:text-opacity-30{--tw-text-opacity:0.3}.group:hover .xl\\:group-hover\\:text-opacity-40{--tw-text-opacity:0.4}.group:hover .xl\\:group-hover\\:text-opacity-50{--tw-text-opacity:0.5}.group:hover .xl\\:group-hover\\:text-opacity-60{--tw-text-opacity:0.6}.group:hover .xl\\:group-hover\\:text-opacity-70{--tw-text-opacity:0.7}.group:hover .xl\\:group-hover\\:text-opacity-75{--tw-text-opacity:0.75}.group:hover .xl\\:group-hover\\:text-opacity-80{--tw-text-opacity:0.8}.group:hover .xl\\:group-hover\\:text-opacity-90{--tw-text-opacity:0.9}.group:hover .xl\\:group-hover\\:text-opacity-95{--tw-text-opacity:0.95}.group:hover .xl\\:group-hover\\:text-opacity-100{--tw-text-opacity:1}.xl\\:focus-within\\:text-opacity-0:focus-within{--tw-text-opacity:0}.xl\\:focus-within\\:text-opacity-5:focus-within{--tw-text-opacity:0.05}.xl\\:focus-within\\:text-opacity-10:focus-within{--tw-text-opacity:0.1}.xl\\:focus-within\\:text-opacity-20:focus-within{--tw-text-opacity:0.2}.xl\\:focus-within\\:text-opacity-25:focus-within{--tw-text-opacity:0.25}.xl\\:focus-within\\:text-opacity-30:focus-within{--tw-text-opacity:0.3}.xl\\:focus-within\\:text-opacity-40:focus-within{--tw-text-opacity:0.4}.xl\\:focus-within\\:text-opacity-50:focus-within{--tw-text-opacity:0.5}.xl\\:focus-within\\:text-opacity-60:focus-within{--tw-text-opacity:0.6}.xl\\:focus-within\\:text-opacity-70:focus-within{--tw-text-opacity:0.7}.xl\\:focus-within\\:text-opacity-75:focus-within{--tw-text-opacity:0.75}.xl\\:focus-within\\:text-opacity-80:focus-within{--tw-text-opacity:0.8}.xl\\:focus-within\\:text-opacity-90:focus-within{--tw-text-opacity:0.9}.xl\\:focus-within\\:text-opacity-95:focus-within{--tw-text-opacity:0.95}.xl\\:focus-within\\:text-opacity-100:focus-within{--tw-text-opacity:1}.xl\\:hover\\:text-opacity-0:hover{--tw-text-opacity:0}.xl\\:hover\\:text-opacity-5:hover{--tw-text-opacity:0.05}.xl\\:hover\\:text-opacity-10:hover{--tw-text-opacity:0.1}.xl\\:hover\\:text-opacity-20:hover{--tw-text-opacity:0.2}.xl\\:hover\\:text-opacity-25:hover{--tw-text-opacity:0.25}.xl\\:hover\\:text-opacity-30:hover{--tw-text-opacity:0.3}.xl\\:hover\\:text-opacity-40:hover{--tw-text-opacity:0.4}.xl\\:hover\\:text-opacity-50:hover{--tw-text-opacity:0.5}.xl\\:hover\\:text-opacity-60:hover{--tw-text-opacity:0.6}.xl\\:hover\\:text-opacity-70:hover{--tw-text-opacity:0.7}.xl\\:hover\\:text-opacity-75:hover{--tw-text-opacity:0.75}.xl\\:hover\\:text-opacity-80:hover{--tw-text-opacity:0.8}.xl\\:hover\\:text-opacity-90:hover{--tw-text-opacity:0.9}.xl\\:hover\\:text-opacity-95:hover{--tw-text-opacity:0.95}.xl\\:hover\\:text-opacity-100:hover{--tw-text-opacity:1}.xl\\:focus\\:text-opacity-0:focus{--tw-text-opacity:0}.xl\\:focus\\:text-opacity-5:focus{--tw-text-opacity:0.05}.xl\\:focus\\:text-opacity-10:focus{--tw-text-opacity:0.1}.xl\\:focus\\:text-opacity-20:focus{--tw-text-opacity:0.2}.xl\\:focus\\:text-opacity-25:focus{--tw-text-opacity:0.25}.xl\\:focus\\:text-opacity-30:focus{--tw-text-opacity:0.3}.xl\\:focus\\:text-opacity-40:focus{--tw-text-opacity:0.4}.xl\\:focus\\:text-opacity-50:focus{--tw-text-opacity:0.5}.xl\\:focus\\:text-opacity-60:focus{--tw-text-opacity:0.6}.xl\\:focus\\:text-opacity-70:focus{--tw-text-opacity:0.7}.xl\\:focus\\:text-opacity-75:focus{--tw-text-opacity:0.75}.xl\\:focus\\:text-opacity-80:focus{--tw-text-opacity:0.8}.xl\\:focus\\:text-opacity-90:focus{--tw-text-opacity:0.9}.xl\\:focus\\:text-opacity-95:focus{--tw-text-opacity:0.95}.xl\\:focus\\:text-opacity-100:focus{--tw-text-opacity:1}@media(prefers-color-scheme: dark){.xl\\:dark\\:text-opacity-0{--tw-text-opacity:0}.xl\\:dark\\:text-opacity-5{--tw-text-opacity:0.05}.xl\\:dark\\:text-opacity-10{--tw-text-opacity:0.1}.xl\\:dark\\:text-opacity-20{--tw-text-opacity:0.2}.xl\\:dark\\:text-opacity-25{--tw-text-opacity:0.25}.xl\\:dark\\:text-opacity-30{--tw-text-opacity:0.3}.xl\\:dark\\:text-opacity-40{--tw-text-opacity:0.4}.xl\\:dark\\:text-opacity-50{--tw-text-opacity:0.5}.xl\\:dark\\:text-opacity-60{--tw-text-opacity:0.6}.xl\\:dark\\:text-opacity-70{--tw-text-opacity:0.7}.xl\\:dark\\:text-opacity-75{--tw-text-opacity:0.75}.xl\\:dark\\:text-opacity-80{--tw-text-opacity:0.8}.xl\\:dark\\:text-opacity-90{--tw-text-opacity:0.9}.xl\\:dark\\:text-opacity-95{--tw-text-opacity:0.95}.xl\\:dark\\:text-opacity-100{--tw-text-opacity:1}.group:hover .xl\\:dark\\:group-hover\\:text-opacity-0{--tw-text-opacity:0}.group:hover .xl\\:dark\\:group-hover\\:text-opacity-5{--tw-text-opacity:0.05}.group:hover .xl\\:dark\\:group-hover\\:text-opacity-10{--tw-text-opacity:0.1}.group:hover .xl\\:dark\\:group-hover\\:text-opacity-20{--tw-text-opacity:0.2}.group:hover .xl\\:dark\\:group-hover\\:text-opacity-25{--tw-text-opacity:0.25}.group:hover .xl\\:dark\\:group-hover\\:text-opacity-30{--tw-text-opacity:0.3}.group:hover .xl\\:dark\\:group-hover\\:text-opacity-40{--tw-text-opacity:0.4}.group:hover .xl\\:dark\\:group-hover\\:text-opacity-50{--tw-text-opacity:0.5}.group:hover .xl\\:dark\\:group-hover\\:text-opacity-60{--tw-text-opacity:0.6}.group:hover .xl\\:dark\\:group-hover\\:text-opacity-70{--tw-text-opacity:0.7}.group:hover .xl\\:dark\\:group-hover\\:text-opacity-75{--tw-text-opacity:0.75}.group:hover .xl\\:dark\\:group-hover\\:text-opacity-80{--tw-text-opacity:0.8}.group:hover .xl\\:dark\\:group-hover\\:text-opacity-90{--tw-text-opacity:0.9}.group:hover .xl\\:dark\\:group-hover\\:text-opacity-95{--tw-text-opacity:0.95}.group:hover .xl\\:dark\\:group-hover\\:text-opacity-100{--tw-text-opacity:1}.xl\\:dark\\:focus-within\\:text-opacity-0:focus-within{--tw-text-opacity:0}.xl\\:dark\\:focus-within\\:text-opacity-5:focus-within{--tw-text-opacity:0.05}.xl\\:dark\\:focus-within\\:text-opacity-10:focus-within{--tw-text-opacity:0.1}.xl\\:dark\\:focus-within\\:text-opacity-20:focus-within{--tw-text-opacity:0.2}.xl\\:dark\\:focus-within\\:text-opacity-25:focus-within{--tw-text-opacity:0.25}.xl\\:dark\\:focus-within\\:text-opacity-30:focus-within{--tw-text-opacity:0.3}.xl\\:dark\\:focus-within\\:text-opacity-40:focus-within{--tw-text-opacity:0.4}.xl\\:dark\\:focus-within\\:text-opacity-50:focus-within{--tw-text-opacity:0.5}.xl\\:dark\\:focus-within\\:text-opacity-60:focus-within{--tw-text-opacity:0.6}.xl\\:dark\\:focus-within\\:text-opacity-70:focus-within{--tw-text-opacity:0.7}.xl\\:dark\\:focus-within\\:text-opacity-75:focus-within{--tw-text-opacity:0.75}.xl\\:dark\\:focus-within\\:text-opacity-80:focus-within{--tw-text-opacity:0.8}.xl\\:dark\\:focus-within\\:text-opacity-90:focus-within{--tw-text-opacity:0.9}.xl\\:dark\\:focus-within\\:text-opacity-95:focus-within{--tw-text-opacity:0.95}.xl\\:dark\\:focus-within\\:text-opacity-100:focus-within{--tw-text-opacity:1}.xl\\:dark\\:hover\\:text-opacity-0:hover{--tw-text-opacity:0}.xl\\:dark\\:hover\\:text-opacity-5:hover{--tw-text-opacity:0.05}.xl\\:dark\\:hover\\:text-opacity-10:hover{--tw-text-opacity:0.1}.xl\\:dark\\:hover\\:text-opacity-20:hover{--tw-text-opacity:0.2}.xl\\:dark\\:hover\\:text-opacity-25:hover{--tw-text-opacity:0.25}.xl\\:dark\\:hover\\:text-opacity-30:hover{--tw-text-opacity:0.3}.xl\\:dark\\:hover\\:text-opacity-40:hover{--tw-text-opacity:0.4}.xl\\:dark\\:hover\\:text-opacity-50:hover{--tw-text-opacity:0.5}.xl\\:dark\\:hover\\:text-opacity-60:hover{--tw-text-opacity:0.6}.xl\\:dark\\:hover\\:text-opacity-70:hover{--tw-text-opacity:0.7}.xl\\:dark\\:hover\\:text-opacity-75:hover{--tw-text-opacity:0.75}.xl\\:dark\\:hover\\:text-opacity-80:hover{--tw-text-opacity:0.8}.xl\\:dark\\:hover\\:text-opacity-90:hover{--tw-text-opacity:0.9}.xl\\:dark\\:hover\\:text-opacity-95:hover{--tw-text-opacity:0.95}.xl\\:dark\\:hover\\:text-opacity-100:hover{--tw-text-opacity:1}.xl\\:dark\\:focus\\:text-opacity-0:focus{--tw-text-opacity:0}.xl\\:dark\\:focus\\:text-opacity-5:focus{--tw-text-opacity:0.05}.xl\\:dark\\:focus\\:text-opacity-10:focus{--tw-text-opacity:0.1}.xl\\:dark\\:focus\\:text-opacity-20:focus{--tw-text-opacity:0.2}.xl\\:dark\\:focus\\:text-opacity-25:focus{--tw-text-opacity:0.25}.xl\\:dark\\:focus\\:text-opacity-30:focus{--tw-text-opacity:0.3}.xl\\:dark\\:focus\\:text-opacity-40:focus{--tw-text-opacity:0.4}.xl\\:dark\\:focus\\:text-opacity-50:focus{--tw-text-opacity:0.5}.xl\\:dark\\:focus\\:text-opacity-60:focus{--tw-text-opacity:0.6}.xl\\:dark\\:focus\\:text-opacity-70:focus{--tw-text-opacity:0.7}.xl\\:dark\\:focus\\:text-opacity-75:focus{--tw-text-opacity:0.75}.xl\\:dark\\:focus\\:text-opacity-80:focus{--tw-text-opacity:0.8}.xl\\:dark\\:focus\\:text-opacity-90:focus{--tw-text-opacity:0.9}.xl\\:dark\\:focus\\:text-opacity-95:focus{--tw-text-opacity:0.95}.xl\\:dark\\:focus\\:text-opacity-100:focus{--tw-text-opacity:1}}.xl\\:underline{text-decoration:underline}.xl\\:line-through{text-decoration:line-through}.xl\\:no-underline{text-decoration:none}.group:hover .xl\\:group-hover\\:underline{text-decoration:underline}.group:hover .xl\\:group-hover\\:line-through{text-decoration:line-through}.group:hover .xl\\:group-hover\\:no-underline{text-decoration:none}.xl\\:focus-within\\:underline:focus-within{text-decoration:underline}.xl\\:focus-within\\:line-through:focus-within{text-decoration:line-through}.xl\\:focus-within\\:no-underline:focus-within{text-decoration:none}.xl\\:hover\\:underline:hover{text-decoration:underline}.xl\\:hover\\:line-through:hover{text-decoration:line-through}.xl\\:hover\\:no-underline:hover{text-decoration:none}.xl\\:focus\\:underline:focus{text-decoration:underline}.xl\\:focus\\:line-through:focus{text-decoration:line-through}.xl\\:focus\\:no-underline:focus{text-decoration:none}.xl\\:antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.xl\\:subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.xl\\:placeholder-transparent::placeholder{color:transparent}.xl\\:placeholder-current::placeholder{color:currentColor}.xl\\:placeholder-white::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.xl\\:placeholder-lightgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(247, 247, 247, var(--tw-placeholder-opacity))}.xl\\:placeholder-midgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.xl\\:placeholder-darkgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(127, 127, 127, var(--tw-placeholder-opacity))}.xl\\:placeholder-grey::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.xl\\:placeholder-black::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.xl\\:placeholder-highlight::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.xl\\:placeholder-highlight_hover::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.xl\\:placeholder-button_outline::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.xl\\:placeholder-error::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 69, 58, var(--tw-placeholder-opacity))}.xl\\:placeholder-text-light::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.xl\\:placeholder-text-dimmed::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.xl\\:placeholder-text-dark::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.xl\\:placeholder-body-light::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.xl\\:placeholder-body-dark::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.xl\\:placeholder-button::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.xl\\:placeholder-button_hover::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.xl\\:focus\\:placeholder-transparent:focus::placeholder{color:transparent}.xl\\:focus\\:placeholder-current:focus::placeholder{color:currentColor}.xl\\:focus\\:placeholder-white:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.xl\\:focus\\:placeholder-lightgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(247, 247, 247, var(--tw-placeholder-opacity))}.xl\\:focus\\:placeholder-midgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.xl\\:focus\\:placeholder-darkgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(127, 127, 127, var(--tw-placeholder-opacity))}.xl\\:focus\\:placeholder-grey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.xl\\:focus\\:placeholder-black:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.xl\\:focus\\:placeholder-highlight:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.xl\\:focus\\:placeholder-highlight_hover:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.xl\\:focus\\:placeholder-button_outline:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.xl\\:focus\\:placeholder-error:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 69, 58, var(--tw-placeholder-opacity))}.xl\\:focus\\:placeholder-text-light:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.xl\\:focus\\:placeholder-text-dimmed:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.xl\\:focus\\:placeholder-text-dark:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.xl\\:focus\\:placeholder-body-light:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.xl\\:focus\\:placeholder-body-dark:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.xl\\:focus\\:placeholder-button:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.xl\\:focus\\:placeholder-button_hover:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}@media(prefers-color-scheme: dark){.xl\\:dark\\:placeholder-transparent::placeholder{color:transparent}.xl\\:dark\\:placeholder-current::placeholder{color:currentColor}.xl\\:dark\\:placeholder-white::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.xl\\:dark\\:placeholder-lightgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(247, 247, 247, var(--tw-placeholder-opacity))}.xl\\:dark\\:placeholder-midgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.xl\\:dark\\:placeholder-darkgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(127, 127, 127, var(--tw-placeholder-opacity))}.xl\\:dark\\:placeholder-grey::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.xl\\:dark\\:placeholder-black::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.xl\\:dark\\:placeholder-highlight::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.xl\\:dark\\:placeholder-highlight_hover::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.xl\\:dark\\:placeholder-button_outline::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.xl\\:dark\\:placeholder-error::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 69, 58, var(--tw-placeholder-opacity))}.xl\\:dark\\:placeholder-text-light::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.xl\\:dark\\:placeholder-text-dimmed::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.xl\\:dark\\:placeholder-text-dark::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.xl\\:dark\\:placeholder-body-light::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.xl\\:dark\\:placeholder-body-dark::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.xl\\:dark\\:placeholder-button::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.xl\\:dark\\:placeholder-button_hover::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.xl\\:dark\\:focus\\:placeholder-transparent:focus::placeholder{color:transparent}.xl\\:dark\\:focus\\:placeholder-current:focus::placeholder{color:currentColor}.xl\\:dark\\:focus\\:placeholder-white:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.xl\\:dark\\:focus\\:placeholder-lightgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(247, 247, 247, var(--tw-placeholder-opacity))}.xl\\:dark\\:focus\\:placeholder-midgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.xl\\:dark\\:focus\\:placeholder-darkgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(127, 127, 127, var(--tw-placeholder-opacity))}.xl\\:dark\\:focus\\:placeholder-grey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.xl\\:dark\\:focus\\:placeholder-black:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.xl\\:dark\\:focus\\:placeholder-highlight:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.xl\\:dark\\:focus\\:placeholder-highlight_hover:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.xl\\:dark\\:focus\\:placeholder-button_outline:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.xl\\:dark\\:focus\\:placeholder-error:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 69, 58, var(--tw-placeholder-opacity))}.xl\\:dark\\:focus\\:placeholder-text-light:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.xl\\:dark\\:focus\\:placeholder-text-dimmed:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.xl\\:dark\\:focus\\:placeholder-text-dark:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.xl\\:dark\\:focus\\:placeholder-body-light:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.xl\\:dark\\:focus\\:placeholder-body-dark:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.xl\\:dark\\:focus\\:placeholder-button:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.xl\\:dark\\:focus\\:placeholder-button_hover:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}}.xl\\:placeholder-opacity-0::placeholder{--tw-placeholder-opacity:0}.xl\\:placeholder-opacity-5::placeholder{--tw-placeholder-opacity:0.05}.xl\\:placeholder-opacity-10::placeholder{--tw-placeholder-opacity:0.1}.xl\\:placeholder-opacity-20::placeholder{--tw-placeholder-opacity:0.2}.xl\\:placeholder-opacity-25::placeholder{--tw-placeholder-opacity:0.25}.xl\\:placeholder-opacity-30::placeholder{--tw-placeholder-opacity:0.3}.xl\\:placeholder-opacity-40::placeholder{--tw-placeholder-opacity:0.4}.xl\\:placeholder-opacity-50::placeholder{--tw-placeholder-opacity:0.5}.xl\\:placeholder-opacity-60::placeholder{--tw-placeholder-opacity:0.6}.xl\\:placeholder-opacity-70::placeholder{--tw-placeholder-opacity:0.7}.xl\\:placeholder-opacity-75::placeholder{--tw-placeholder-opacity:0.75}.xl\\:placeholder-opacity-80::placeholder{--tw-placeholder-opacity:0.8}.xl\\:placeholder-opacity-90::placeholder{--tw-placeholder-opacity:0.9}.xl\\:placeholder-opacity-95::placeholder{--tw-placeholder-opacity:0.95}.xl\\:placeholder-opacity-100::placeholder{--tw-placeholder-opacity:1}.xl\\:focus\\:placeholder-opacity-0:focus::placeholder{--tw-placeholder-opacity:0}.xl\\:focus\\:placeholder-opacity-5:focus::placeholder{--tw-placeholder-opacity:0.05}.xl\\:focus\\:placeholder-opacity-10:focus::placeholder{--tw-placeholder-opacity:0.1}.xl\\:focus\\:placeholder-opacity-20:focus::placeholder{--tw-placeholder-opacity:0.2}.xl\\:focus\\:placeholder-opacity-25:focus::placeholder{--tw-placeholder-opacity:0.25}.xl\\:focus\\:placeholder-opacity-30:focus::placeholder{--tw-placeholder-opacity:0.3}.xl\\:focus\\:placeholder-opacity-40:focus::placeholder{--tw-placeholder-opacity:0.4}.xl\\:focus\\:placeholder-opacity-50:focus::placeholder{--tw-placeholder-opacity:0.5}.xl\\:focus\\:placeholder-opacity-60:focus::placeholder{--tw-placeholder-opacity:0.6}.xl\\:focus\\:placeholder-opacity-70:focus::placeholder{--tw-placeholder-opacity:0.7}.xl\\:focus\\:placeholder-opacity-75:focus::placeholder{--tw-placeholder-opacity:0.75}.xl\\:focus\\:placeholder-opacity-80:focus::placeholder{--tw-placeholder-opacity:0.8}.xl\\:focus\\:placeholder-opacity-90:focus::placeholder{--tw-placeholder-opacity:0.9}.xl\\:focus\\:placeholder-opacity-95:focus::placeholder{--tw-placeholder-opacity:0.95}.xl\\:focus\\:placeholder-opacity-100:focus::placeholder{--tw-placeholder-opacity:1}@media(prefers-color-scheme: dark){.xl\\:dark\\:placeholder-opacity-0::placeholder{--tw-placeholder-opacity:0}.xl\\:dark\\:placeholder-opacity-5::placeholder{--tw-placeholder-opacity:0.05}.xl\\:dark\\:placeholder-opacity-10::placeholder{--tw-placeholder-opacity:0.1}.xl\\:dark\\:placeholder-opacity-20::placeholder{--tw-placeholder-opacity:0.2}.xl\\:dark\\:placeholder-opacity-25::placeholder{--tw-placeholder-opacity:0.25}.xl\\:dark\\:placeholder-opacity-30::placeholder{--tw-placeholder-opacity:0.3}.xl\\:dark\\:placeholder-opacity-40::placeholder{--tw-placeholder-opacity:0.4}.xl\\:dark\\:placeholder-opacity-50::placeholder{--tw-placeholder-opacity:0.5}.xl\\:dark\\:placeholder-opacity-60::placeholder{--tw-placeholder-opacity:0.6}.xl\\:dark\\:placeholder-opacity-70::placeholder{--tw-placeholder-opacity:0.7}.xl\\:dark\\:placeholder-opacity-75::placeholder{--tw-placeholder-opacity:0.75}.xl\\:dark\\:placeholder-opacity-80::placeholder{--tw-placeholder-opacity:0.8}.xl\\:dark\\:placeholder-opacity-90::placeholder{--tw-placeholder-opacity:0.9}.xl\\:dark\\:placeholder-opacity-95::placeholder{--tw-placeholder-opacity:0.95}.xl\\:dark\\:placeholder-opacity-100::placeholder{--tw-placeholder-opacity:1}.xl\\:dark\\:focus\\:placeholder-opacity-0:focus::placeholder{--tw-placeholder-opacity:0}.xl\\:dark\\:focus\\:placeholder-opacity-5:focus::placeholder{--tw-placeholder-opacity:0.05}.xl\\:dark\\:focus\\:placeholder-opacity-10:focus::placeholder{--tw-placeholder-opacity:0.1}.xl\\:dark\\:focus\\:placeholder-opacity-20:focus::placeholder{--tw-placeholder-opacity:0.2}.xl\\:dark\\:focus\\:placeholder-opacity-25:focus::placeholder{--tw-placeholder-opacity:0.25}.xl\\:dark\\:focus\\:placeholder-opacity-30:focus::placeholder{--tw-placeholder-opacity:0.3}.xl\\:dark\\:focus\\:placeholder-opacity-40:focus::placeholder{--tw-placeholder-opacity:0.4}.xl\\:dark\\:focus\\:placeholder-opacity-50:focus::placeholder{--tw-placeholder-opacity:0.5}.xl\\:dark\\:focus\\:placeholder-opacity-60:focus::placeholder{--tw-placeholder-opacity:0.6}.xl\\:dark\\:focus\\:placeholder-opacity-70:focus::placeholder{--tw-placeholder-opacity:0.7}.xl\\:dark\\:focus\\:placeholder-opacity-75:focus::placeholder{--tw-placeholder-opacity:0.75}.xl\\:dark\\:focus\\:placeholder-opacity-80:focus::placeholder{--tw-placeholder-opacity:0.8}.xl\\:dark\\:focus\\:placeholder-opacity-90:focus::placeholder{--tw-placeholder-opacity:0.9}.xl\\:dark\\:focus\\:placeholder-opacity-95:focus::placeholder{--tw-placeholder-opacity:0.95}.xl\\:dark\\:focus\\:placeholder-opacity-100:focus::placeholder{--tw-placeholder-opacity:1}}.xl\\:opacity-0{opacity:0}.xl\\:opacity-5{opacity:0.05}.xl\\:opacity-10{opacity:0.1}.xl\\:opacity-20{opacity:0.2}.xl\\:opacity-25{opacity:0.25}.xl\\:opacity-30{opacity:0.3}.xl\\:opacity-40{opacity:0.4}.xl\\:opacity-50{opacity:0.5}.xl\\:opacity-60{opacity:0.6}.xl\\:opacity-70{opacity:0.7}.xl\\:opacity-75{opacity:0.75}.xl\\:opacity-80{opacity:0.8}.xl\\:opacity-90{opacity:0.9}.xl\\:opacity-95{opacity:0.95}.xl\\:opacity-100{opacity:1}.group:hover .xl\\:group-hover\\:opacity-0{opacity:0}.group:hover .xl\\:group-hover\\:opacity-5{opacity:0.05}.group:hover .xl\\:group-hover\\:opacity-10{opacity:0.1}.group:hover .xl\\:group-hover\\:opacity-20{opacity:0.2}.group:hover .xl\\:group-hover\\:opacity-25{opacity:0.25}.group:hover .xl\\:group-hover\\:opacity-30{opacity:0.3}.group:hover .xl\\:group-hover\\:opacity-40{opacity:0.4}.group:hover .xl\\:group-hover\\:opacity-50{opacity:0.5}.group:hover .xl\\:group-hover\\:opacity-60{opacity:0.6}.group:hover .xl\\:group-hover\\:opacity-70{opacity:0.7}.group:hover .xl\\:group-hover\\:opacity-75{opacity:0.75}.group:hover .xl\\:group-hover\\:opacity-80{opacity:0.8}.group:hover .xl\\:group-hover\\:opacity-90{opacity:0.9}.group:hover .xl\\:group-hover\\:opacity-95{opacity:0.95}.group:hover .xl\\:group-hover\\:opacity-100{opacity:1}.xl\\:focus-within\\:opacity-0:focus-within{opacity:0}.xl\\:focus-within\\:opacity-5:focus-within{opacity:0.05}.xl\\:focus-within\\:opacity-10:focus-within{opacity:0.1}.xl\\:focus-within\\:opacity-20:focus-within{opacity:0.2}.xl\\:focus-within\\:opacity-25:focus-within{opacity:0.25}.xl\\:focus-within\\:opacity-30:focus-within{opacity:0.3}.xl\\:focus-within\\:opacity-40:focus-within{opacity:0.4}.xl\\:focus-within\\:opacity-50:focus-within{opacity:0.5}.xl\\:focus-within\\:opacity-60:focus-within{opacity:0.6}.xl\\:focus-within\\:opacity-70:focus-within{opacity:0.7}.xl\\:focus-within\\:opacity-75:focus-within{opacity:0.75}.xl\\:focus-within\\:opacity-80:focus-within{opacity:0.8}.xl\\:focus-within\\:opacity-90:focus-within{opacity:0.9}.xl\\:focus-within\\:opacity-95:focus-within{opacity:0.95}.xl\\:focus-within\\:opacity-100:focus-within{opacity:1}.xl\\:hover\\:opacity-0:hover{opacity:0}.xl\\:hover\\:opacity-5:hover{opacity:0.05}.xl\\:hover\\:opacity-10:hover{opacity:0.1}.xl\\:hover\\:opacity-20:hover{opacity:0.2}.xl\\:hover\\:opacity-25:hover{opacity:0.25}.xl\\:hover\\:opacity-30:hover{opacity:0.3}.xl\\:hover\\:opacity-40:hover{opacity:0.4}.xl\\:hover\\:opacity-50:hover{opacity:0.5}.xl\\:hover\\:opacity-60:hover{opacity:0.6}.xl\\:hover\\:opacity-70:hover{opacity:0.7}.xl\\:hover\\:opacity-75:hover{opacity:0.75}.xl\\:hover\\:opacity-80:hover{opacity:0.8}.xl\\:hover\\:opacity-90:hover{opacity:0.9}.xl\\:hover\\:opacity-95:hover{opacity:0.95}.xl\\:hover\\:opacity-100:hover{opacity:1}.xl\\:focus\\:opacity-0:focus{opacity:0}.xl\\:focus\\:opacity-5:focus{opacity:0.05}.xl\\:focus\\:opacity-10:focus{opacity:0.1}.xl\\:focus\\:opacity-20:focus{opacity:0.2}.xl\\:focus\\:opacity-25:focus{opacity:0.25}.xl\\:focus\\:opacity-30:focus{opacity:0.3}.xl\\:focus\\:opacity-40:focus{opacity:0.4}.xl\\:focus\\:opacity-50:focus{opacity:0.5}.xl\\:focus\\:opacity-60:focus{opacity:0.6}.xl\\:focus\\:opacity-70:focus{opacity:0.7}.xl\\:focus\\:opacity-75:focus{opacity:0.75}.xl\\:focus\\:opacity-80:focus{opacity:0.8}.xl\\:focus\\:opacity-90:focus{opacity:0.9}.xl\\:focus\\:opacity-95:focus{opacity:0.95}.xl\\:focus\\:opacity-100:focus{opacity:1}.xl\\:bg-blend-normal{background-blend-mode:normal}.xl\\:bg-blend-multiply{background-blend-mode:multiply}.xl\\:bg-blend-screen{background-blend-mode:screen}.xl\\:bg-blend-overlay{background-blend-mode:overlay}.xl\\:bg-blend-darken{background-blend-mode:darken}.xl\\:bg-blend-lighten{background-blend-mode:lighten}.xl\\:bg-blend-color-dodge{background-blend-mode:color-dodge}.xl\\:bg-blend-color-burn{background-blend-mode:color-burn}.xl\\:bg-blend-hard-light{background-blend-mode:hard-light}.xl\\:bg-blend-soft-light{background-blend-mode:soft-light}.xl\\:bg-blend-difference{background-blend-mode:difference}.xl\\:bg-blend-exclusion{background-blend-mode:exclusion}.xl\\:bg-blend-hue{background-blend-mode:hue}.xl\\:bg-blend-saturation{background-blend-mode:saturation}.xl\\:bg-blend-color{background-blend-mode:color}.xl\\:bg-blend-luminosity{background-blend-mode:luminosity}.xl\\:mix-blend-normal{mix-blend-mode:normal}.xl\\:mix-blend-multiply{mix-blend-mode:multiply}.xl\\:mix-blend-screen{mix-blend-mode:screen}.xl\\:mix-blend-overlay{mix-blend-mode:overlay}.xl\\:mix-blend-darken{mix-blend-mode:darken}.xl\\:mix-blend-lighten{mix-blend-mode:lighten}.xl\\:mix-blend-color-dodge{mix-blend-mode:color-dodge}.xl\\:mix-blend-color-burn{mix-blend-mode:color-burn}.xl\\:mix-blend-hard-light{mix-blend-mode:hard-light}.xl\\:mix-blend-soft-light{mix-blend-mode:soft-light}.xl\\:mix-blend-difference{mix-blend-mode:difference}.xl\\:mix-blend-exclusion{mix-blend-mode:exclusion}.xl\\:mix-blend-hue{mix-blend-mode:hue}.xl\\:mix-blend-saturation{mix-blend-mode:saturation}.xl\\:mix-blend-color{mix-blend-mode:color}.xl\\:mix-blend-luminosity{mix-blend-mode:luminosity}.xl\\:shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:shadow{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:shadow-md{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .xl\\:group-hover\\:shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .xl\\:group-hover\\:shadow{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .xl\\:group-hover\\:shadow-md{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .xl\\:group-hover\\:shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .xl\\:group-hover\\:shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .xl\\:group-hover\\:shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .xl\\:group-hover\\:shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .xl\\:group-hover\\:shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:focus-within\\:shadow-sm:focus-within{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:focus-within\\:shadow:focus-within{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:focus-within\\:shadow-md:focus-within{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:focus-within\\:shadow-lg:focus-within{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:focus-within\\:shadow-xl:focus-within{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:focus-within\\:shadow-2xl:focus-within{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:focus-within\\:shadow-inner:focus-within{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:focus-within\\:shadow-none:focus-within{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:hover\\:shadow-sm:hover{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:hover\\:shadow:hover{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:hover\\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:hover\\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:hover\\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:hover\\:shadow-2xl:hover{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:hover\\:shadow-inner:hover{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:hover\\:shadow-none:hover{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:focus\\:shadow-sm:focus{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:focus\\:shadow:focus{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:focus\\:shadow-md:focus{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:focus\\:shadow-lg:focus{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:focus\\:shadow-xl:focus{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:focus\\:shadow-2xl:focus{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:focus\\:shadow-inner:focus{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:focus\\:shadow-none:focus{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:outline-none{outline:2px solid transparent;outline-offset:2px}.xl\\:outline-white{outline:2px dotted white;outline-offset:2px}.xl\\:outline-black{outline:2px dotted black;outline-offset:2px}.xl\\:focus-within\\:outline-none:focus-within{outline:2px solid transparent;outline-offset:2px}.xl\\:focus-within\\:outline-white:focus-within{outline:2px dotted white;outline-offset:2px}.xl\\:focus-within\\:outline-black:focus-within{outline:2px dotted black;outline-offset:2px}.xl\\:focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.xl\\:focus\\:outline-white:focus{outline:2px dotted white;outline-offset:2px}.xl\\:focus\\:outline-black:focus{outline:2px dotted black;outline-offset:2px}.xl\\:ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.xl\\:ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.xl\\:ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.xl\\:ring-4{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.xl\\:ring-8{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.xl\\:ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.xl\\:focus-within\\:ring-0:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.xl\\:focus-within\\:ring-1:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.xl\\:focus-within\\:ring-2:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.xl\\:focus-within\\:ring-4:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.xl\\:focus-within\\:ring-8:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.xl\\:focus-within\\:ring:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.xl\\:focus\\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.xl\\:focus\\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.xl\\:focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.xl\\:focus\\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.xl\\:focus\\:ring-8:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.xl\\:focus\\:ring:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.xl\\:ring-inset{--tw-ring-inset:inset}.xl\\:focus-within\\:ring-inset:focus-within{--tw-ring-inset:inset}.xl\\:focus\\:ring-inset:focus{--tw-ring-inset:inset}.xl\\:ring-transparent{--tw-ring-color:transparent}.xl\\:ring-current{--tw-ring-color:currentColor}.xl\\:ring-white{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.xl\\:ring-lightgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.xl\\:ring-midgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.xl\\:ring-darkgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.xl\\:ring-grey{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.xl\\:ring-black{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.xl\\:ring-highlight{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.xl\\:ring-highlight_hover{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.xl\\:ring-button_outline{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.xl\\:ring-error{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.xl\\:ring-text-light{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.xl\\:ring-text-dimmed{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.xl\\:ring-text-dark{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.xl\\:ring-body-light{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.xl\\:ring-body-dark{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.xl\\:ring-button{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.xl\\:ring-button_hover{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.xl\\:focus-within\\:ring-transparent:focus-within{--tw-ring-color:transparent}.xl\\:focus-within\\:ring-current:focus-within{--tw-ring-color:currentColor}.xl\\:focus-within\\:ring-white:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.xl\\:focus-within\\:ring-lightgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.xl\\:focus-within\\:ring-midgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.xl\\:focus-within\\:ring-darkgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.xl\\:focus-within\\:ring-grey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.xl\\:focus-within\\:ring-black:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.xl\\:focus-within\\:ring-highlight:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.xl\\:focus-within\\:ring-highlight_hover:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.xl\\:focus-within\\:ring-button_outline:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.xl\\:focus-within\\:ring-error:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.xl\\:focus-within\\:ring-text-light:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.xl\\:focus-within\\:ring-text-dimmed:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.xl\\:focus-within\\:ring-text-dark:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.xl\\:focus-within\\:ring-body-light:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.xl\\:focus-within\\:ring-body-dark:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.xl\\:focus-within\\:ring-button:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.xl\\:focus-within\\:ring-button_hover:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.xl\\:focus\\:ring-transparent:focus{--tw-ring-color:transparent}.xl\\:focus\\:ring-current:focus{--tw-ring-color:currentColor}.xl\\:focus\\:ring-white:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.xl\\:focus\\:ring-lightgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.xl\\:focus\\:ring-midgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.xl\\:focus\\:ring-darkgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.xl\\:focus\\:ring-grey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.xl\\:focus\\:ring-black:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.xl\\:focus\\:ring-highlight:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.xl\\:focus\\:ring-highlight_hover:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.xl\\:focus\\:ring-button_outline:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.xl\\:focus\\:ring-error:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.xl\\:focus\\:ring-text-light:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.xl\\:focus\\:ring-text-dimmed:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.xl\\:focus\\:ring-text-dark:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.xl\\:focus\\:ring-body-light:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.xl\\:focus\\:ring-body-dark:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.xl\\:focus\\:ring-button:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.xl\\:focus\\:ring-button_hover:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}@media(prefers-color-scheme: dark){.xl\\:dark\\:ring-transparent{--tw-ring-color:transparent}.xl\\:dark\\:ring-current{--tw-ring-color:currentColor}.xl\\:dark\\:ring-white{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.xl\\:dark\\:ring-lightgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.xl\\:dark\\:ring-midgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.xl\\:dark\\:ring-darkgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.xl\\:dark\\:ring-grey{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.xl\\:dark\\:ring-black{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.xl\\:dark\\:ring-highlight{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.xl\\:dark\\:ring-highlight_hover{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.xl\\:dark\\:ring-button_outline{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.xl\\:dark\\:ring-error{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.xl\\:dark\\:ring-text-light{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.xl\\:dark\\:ring-text-dimmed{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.xl\\:dark\\:ring-text-dark{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.xl\\:dark\\:ring-body-light{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.xl\\:dark\\:ring-body-dark{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.xl\\:dark\\:ring-button{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.xl\\:dark\\:ring-button_hover{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.xl\\:dark\\:focus-within\\:ring-transparent:focus-within{--tw-ring-color:transparent}.xl\\:dark\\:focus-within\\:ring-current:focus-within{--tw-ring-color:currentColor}.xl\\:dark\\:focus-within\\:ring-white:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.xl\\:dark\\:focus-within\\:ring-lightgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.xl\\:dark\\:focus-within\\:ring-midgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.xl\\:dark\\:focus-within\\:ring-darkgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.xl\\:dark\\:focus-within\\:ring-grey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.xl\\:dark\\:focus-within\\:ring-black:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.xl\\:dark\\:focus-within\\:ring-highlight:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.xl\\:dark\\:focus-within\\:ring-highlight_hover:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.xl\\:dark\\:focus-within\\:ring-button_outline:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.xl\\:dark\\:focus-within\\:ring-error:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.xl\\:dark\\:focus-within\\:ring-text-light:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.xl\\:dark\\:focus-within\\:ring-text-dimmed:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.xl\\:dark\\:focus-within\\:ring-text-dark:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.xl\\:dark\\:focus-within\\:ring-body-light:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.xl\\:dark\\:focus-within\\:ring-body-dark:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.xl\\:dark\\:focus-within\\:ring-button:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.xl\\:dark\\:focus-within\\:ring-button_hover:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.xl\\:dark\\:focus\\:ring-transparent:focus{--tw-ring-color:transparent}.xl\\:dark\\:focus\\:ring-current:focus{--tw-ring-color:currentColor}.xl\\:dark\\:focus\\:ring-white:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.xl\\:dark\\:focus\\:ring-lightgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.xl\\:dark\\:focus\\:ring-midgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.xl\\:dark\\:focus\\:ring-darkgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.xl\\:dark\\:focus\\:ring-grey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.xl\\:dark\\:focus\\:ring-black:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.xl\\:dark\\:focus\\:ring-highlight:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.xl\\:dark\\:focus\\:ring-highlight_hover:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.xl\\:dark\\:focus\\:ring-button_outline:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.xl\\:dark\\:focus\\:ring-error:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.xl\\:dark\\:focus\\:ring-text-light:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.xl\\:dark\\:focus\\:ring-text-dimmed:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.xl\\:dark\\:focus\\:ring-text-dark:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.xl\\:dark\\:focus\\:ring-body-light:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.xl\\:dark\\:focus\\:ring-body-dark:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.xl\\:dark\\:focus\\:ring-button:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.xl\\:dark\\:focus\\:ring-button_hover:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}}.xl\\:ring-opacity-0{--tw-ring-opacity:0}.xl\\:ring-opacity-5{--tw-ring-opacity:0.05}.xl\\:ring-opacity-10{--tw-ring-opacity:0.1}.xl\\:ring-opacity-20{--tw-ring-opacity:0.2}.xl\\:ring-opacity-25{--tw-ring-opacity:0.25}.xl\\:ring-opacity-30{--tw-ring-opacity:0.3}.xl\\:ring-opacity-40{--tw-ring-opacity:0.4}.xl\\:ring-opacity-50{--tw-ring-opacity:0.5}.xl\\:ring-opacity-60{--tw-ring-opacity:0.6}.xl\\:ring-opacity-70{--tw-ring-opacity:0.7}.xl\\:ring-opacity-75{--tw-ring-opacity:0.75}.xl\\:ring-opacity-80{--tw-ring-opacity:0.8}.xl\\:ring-opacity-90{--tw-ring-opacity:0.9}.xl\\:ring-opacity-95{--tw-ring-opacity:0.95}.xl\\:ring-opacity-100{--tw-ring-opacity:1}.xl\\:focus-within\\:ring-opacity-0:focus-within{--tw-ring-opacity:0}.xl\\:focus-within\\:ring-opacity-5:focus-within{--tw-ring-opacity:0.05}.xl\\:focus-within\\:ring-opacity-10:focus-within{--tw-ring-opacity:0.1}.xl\\:focus-within\\:ring-opacity-20:focus-within{--tw-ring-opacity:0.2}.xl\\:focus-within\\:ring-opacity-25:focus-within{--tw-ring-opacity:0.25}.xl\\:focus-within\\:ring-opacity-30:focus-within{--tw-ring-opacity:0.3}.xl\\:focus-within\\:ring-opacity-40:focus-within{--tw-ring-opacity:0.4}.xl\\:focus-within\\:ring-opacity-50:focus-within{--tw-ring-opacity:0.5}.xl\\:focus-within\\:ring-opacity-60:focus-within{--tw-ring-opacity:0.6}.xl\\:focus-within\\:ring-opacity-70:focus-within{--tw-ring-opacity:0.7}.xl\\:focus-within\\:ring-opacity-75:focus-within{--tw-ring-opacity:0.75}.xl\\:focus-within\\:ring-opacity-80:focus-within{--tw-ring-opacity:0.8}.xl\\:focus-within\\:ring-opacity-90:focus-within{--tw-ring-opacity:0.9}.xl\\:focus-within\\:ring-opacity-95:focus-within{--tw-ring-opacity:0.95}.xl\\:focus-within\\:ring-opacity-100:focus-within{--tw-ring-opacity:1}.xl\\:focus\\:ring-opacity-0:focus{--tw-ring-opacity:0}.xl\\:focus\\:ring-opacity-5:focus{--tw-ring-opacity:0.05}.xl\\:focus\\:ring-opacity-10:focus{--tw-ring-opacity:0.1}.xl\\:focus\\:ring-opacity-20:focus{--tw-ring-opacity:0.2}.xl\\:focus\\:ring-opacity-25:focus{--tw-ring-opacity:0.25}.xl\\:focus\\:ring-opacity-30:focus{--tw-ring-opacity:0.3}.xl\\:focus\\:ring-opacity-40:focus{--tw-ring-opacity:0.4}.xl\\:focus\\:ring-opacity-50:focus{--tw-ring-opacity:0.5}.xl\\:focus\\:ring-opacity-60:focus{--tw-ring-opacity:0.6}.xl\\:focus\\:ring-opacity-70:focus{--tw-ring-opacity:0.7}.xl\\:focus\\:ring-opacity-75:focus{--tw-ring-opacity:0.75}.xl\\:focus\\:ring-opacity-80:focus{--tw-ring-opacity:0.8}.xl\\:focus\\:ring-opacity-90:focus{--tw-ring-opacity:0.9}.xl\\:focus\\:ring-opacity-95:focus{--tw-ring-opacity:0.95}.xl\\:focus\\:ring-opacity-100:focus{--tw-ring-opacity:1}@media(prefers-color-scheme: dark){.xl\\:dark\\:ring-opacity-0{--tw-ring-opacity:0}.xl\\:dark\\:ring-opacity-5{--tw-ring-opacity:0.05}.xl\\:dark\\:ring-opacity-10{--tw-ring-opacity:0.1}.xl\\:dark\\:ring-opacity-20{--tw-ring-opacity:0.2}.xl\\:dark\\:ring-opacity-25{--tw-ring-opacity:0.25}.xl\\:dark\\:ring-opacity-30{--tw-ring-opacity:0.3}.xl\\:dark\\:ring-opacity-40{--tw-ring-opacity:0.4}.xl\\:dark\\:ring-opacity-50{--tw-ring-opacity:0.5}.xl\\:dark\\:ring-opacity-60{--tw-ring-opacity:0.6}.xl\\:dark\\:ring-opacity-70{--tw-ring-opacity:0.7}.xl\\:dark\\:ring-opacity-75{--tw-ring-opacity:0.75}.xl\\:dark\\:ring-opacity-80{--tw-ring-opacity:0.8}.xl\\:dark\\:ring-opacity-90{--tw-ring-opacity:0.9}.xl\\:dark\\:ring-opacity-95{--tw-ring-opacity:0.95}.xl\\:dark\\:ring-opacity-100{--tw-ring-opacity:1}.xl\\:dark\\:focus-within\\:ring-opacity-0:focus-within{--tw-ring-opacity:0}.xl\\:dark\\:focus-within\\:ring-opacity-5:focus-within{--tw-ring-opacity:0.05}.xl\\:dark\\:focus-within\\:ring-opacity-10:focus-within{--tw-ring-opacity:0.1}.xl\\:dark\\:focus-within\\:ring-opacity-20:focus-within{--tw-ring-opacity:0.2}.xl\\:dark\\:focus-within\\:ring-opacity-25:focus-within{--tw-ring-opacity:0.25}.xl\\:dark\\:focus-within\\:ring-opacity-30:focus-within{--tw-ring-opacity:0.3}.xl\\:dark\\:focus-within\\:ring-opacity-40:focus-within{--tw-ring-opacity:0.4}.xl\\:dark\\:focus-within\\:ring-opacity-50:focus-within{--tw-ring-opacity:0.5}.xl\\:dark\\:focus-within\\:ring-opacity-60:focus-within{--tw-ring-opacity:0.6}.xl\\:dark\\:focus-within\\:ring-opacity-70:focus-within{--tw-ring-opacity:0.7}.xl\\:dark\\:focus-within\\:ring-opacity-75:focus-within{--tw-ring-opacity:0.75}.xl\\:dark\\:focus-within\\:ring-opacity-80:focus-within{--tw-ring-opacity:0.8}.xl\\:dark\\:focus-within\\:ring-opacity-90:focus-within{--tw-ring-opacity:0.9}.xl\\:dark\\:focus-within\\:ring-opacity-95:focus-within{--tw-ring-opacity:0.95}.xl\\:dark\\:focus-within\\:ring-opacity-100:focus-within{--tw-ring-opacity:1}.xl\\:dark\\:focus\\:ring-opacity-0:focus{--tw-ring-opacity:0}.xl\\:dark\\:focus\\:ring-opacity-5:focus{--tw-ring-opacity:0.05}.xl\\:dark\\:focus\\:ring-opacity-10:focus{--tw-ring-opacity:0.1}.xl\\:dark\\:focus\\:ring-opacity-20:focus{--tw-ring-opacity:0.2}.xl\\:dark\\:focus\\:ring-opacity-25:focus{--tw-ring-opacity:0.25}.xl\\:dark\\:focus\\:ring-opacity-30:focus{--tw-ring-opacity:0.3}.xl\\:dark\\:focus\\:ring-opacity-40:focus{--tw-ring-opacity:0.4}.xl\\:dark\\:focus\\:ring-opacity-50:focus{--tw-ring-opacity:0.5}.xl\\:dark\\:focus\\:ring-opacity-60:focus{--tw-ring-opacity:0.6}.xl\\:dark\\:focus\\:ring-opacity-70:focus{--tw-ring-opacity:0.7}.xl\\:dark\\:focus\\:ring-opacity-75:focus{--tw-ring-opacity:0.75}.xl\\:dark\\:focus\\:ring-opacity-80:focus{--tw-ring-opacity:0.8}.xl\\:dark\\:focus\\:ring-opacity-90:focus{--tw-ring-opacity:0.9}.xl\\:dark\\:focus\\:ring-opacity-95:focus{--tw-ring-opacity:0.95}.xl\\:dark\\:focus\\:ring-opacity-100:focus{--tw-ring-opacity:1}}.xl\\:ring-offset-0{--tw-ring-offset-width:0px}.xl\\:ring-offset-1{--tw-ring-offset-width:1px}.xl\\:ring-offset-2{--tw-ring-offset-width:2px}.xl\\:ring-offset-4{--tw-ring-offset-width:4px}.xl\\:ring-offset-8{--tw-ring-offset-width:8px}.xl\\:focus-within\\:ring-offset-0:focus-within{--tw-ring-offset-width:0px}.xl\\:focus-within\\:ring-offset-1:focus-within{--tw-ring-offset-width:1px}.xl\\:focus-within\\:ring-offset-2:focus-within{--tw-ring-offset-width:2px}.xl\\:focus-within\\:ring-offset-4:focus-within{--tw-ring-offset-width:4px}.xl\\:focus-within\\:ring-offset-8:focus-within{--tw-ring-offset-width:8px}.xl\\:focus\\:ring-offset-0:focus{--tw-ring-offset-width:0px}.xl\\:focus\\:ring-offset-1:focus{--tw-ring-offset-width:1px}.xl\\:focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}.xl\\:focus\\:ring-offset-4:focus{--tw-ring-offset-width:4px}.xl\\:focus\\:ring-offset-8:focus{--tw-ring-offset-width:8px}.xl\\:ring-offset-transparent{--tw-ring-offset-color:transparent}.xl\\:ring-offset-current{--tw-ring-offset-color:currentColor}.xl\\:ring-offset-white{--tw-ring-offset-color:#fff}.xl\\:ring-offset-lightgrey{--tw-ring-offset-color:#F7F7F7}.xl\\:ring-offset-midgrey{--tw-ring-offset-color:#cfcfcf}.xl\\:ring-offset-darkgrey{--tw-ring-offset-color:#7f7f7f}.xl\\:ring-offset-grey{--tw-ring-offset-color:#1e1e1e}.xl\\:ring-offset-black{--tw-ring-offset-color:#0f0f0f}.xl\\:ring-offset-highlight{--tw-ring-offset-color:#0071e3}.xl\\:ring-offset-highlight_hover{--tw-ring-offset-color:#0077ed}.xl\\:ring-offset-button_outline{--tw-ring-offset-color:#cfcfcf}.xl\\:ring-offset-error{--tw-ring-offset-color:#ff453a}.xl\\:ring-offset-text-light{--tw-ring-offset-color:#0f0f0f}.xl\\:ring-offset-text-dimmed{--tw-ring-offset-color:#cfcfcf}.xl\\:ring-offset-text-dark{--tw-ring-offset-color:#fff}.xl\\:ring-offset-body-light{--tw-ring-offset-color:#fff}.xl\\:ring-offset-body-dark{--tw-ring-offset-color:#1e1e1e}.xl\\:ring-offset-button{--tw-ring-offset-color:#0071e3}.xl\\:ring-offset-button_hover{--tw-ring-offset-color:#0077ed}.xl\\:focus-within\\:ring-offset-transparent:focus-within{--tw-ring-offset-color:transparent}.xl\\:focus-within\\:ring-offset-current:focus-within{--tw-ring-offset-color:currentColor}.xl\\:focus-within\\:ring-offset-white:focus-within{--tw-ring-offset-color:#fff}.xl\\:focus-within\\:ring-offset-lightgrey:focus-within{--tw-ring-offset-color:#F7F7F7}.xl\\:focus-within\\:ring-offset-midgrey:focus-within{--tw-ring-offset-color:#cfcfcf}.xl\\:focus-within\\:ring-offset-darkgrey:focus-within{--tw-ring-offset-color:#7f7f7f}.xl\\:focus-within\\:ring-offset-grey:focus-within{--tw-ring-offset-color:#1e1e1e}.xl\\:focus-within\\:ring-offset-black:focus-within{--tw-ring-offset-color:#0f0f0f}.xl\\:focus-within\\:ring-offset-highlight:focus-within{--tw-ring-offset-color:#0071e3}.xl\\:focus-within\\:ring-offset-highlight_hover:focus-within{--tw-ring-offset-color:#0077ed}.xl\\:focus-within\\:ring-offset-button_outline:focus-within{--tw-ring-offset-color:#cfcfcf}.xl\\:focus-within\\:ring-offset-error:focus-within{--tw-ring-offset-color:#ff453a}.xl\\:focus-within\\:ring-offset-text-light:focus-within{--tw-ring-offset-color:#0f0f0f}.xl\\:focus-within\\:ring-offset-text-dimmed:focus-within{--tw-ring-offset-color:#cfcfcf}.xl\\:focus-within\\:ring-offset-text-dark:focus-within{--tw-ring-offset-color:#fff}.xl\\:focus-within\\:ring-offset-body-light:focus-within{--tw-ring-offset-color:#fff}.xl\\:focus-within\\:ring-offset-body-dark:focus-within{--tw-ring-offset-color:#1e1e1e}.xl\\:focus-within\\:ring-offset-button:focus-within{--tw-ring-offset-color:#0071e3}.xl\\:focus-within\\:ring-offset-button_hover:focus-within{--tw-ring-offset-color:#0077ed}.xl\\:focus\\:ring-offset-transparent:focus{--tw-ring-offset-color:transparent}.xl\\:focus\\:ring-offset-current:focus{--tw-ring-offset-color:currentColor}.xl\\:focus\\:ring-offset-white:focus{--tw-ring-offset-color:#fff}.xl\\:focus\\:ring-offset-lightgrey:focus{--tw-ring-offset-color:#F7F7F7}.xl\\:focus\\:ring-offset-midgrey:focus{--tw-ring-offset-color:#cfcfcf}.xl\\:focus\\:ring-offset-darkgrey:focus{--tw-ring-offset-color:#7f7f7f}.xl\\:focus\\:ring-offset-grey:focus{--tw-ring-offset-color:#1e1e1e}.xl\\:focus\\:ring-offset-black:focus{--tw-ring-offset-color:#0f0f0f}.xl\\:focus\\:ring-offset-highlight:focus{--tw-ring-offset-color:#0071e3}.xl\\:focus\\:ring-offset-highlight_hover:focus{--tw-ring-offset-color:#0077ed}.xl\\:focus\\:ring-offset-button_outline:focus{--tw-ring-offset-color:#cfcfcf}.xl\\:focus\\:ring-offset-error:focus{--tw-ring-offset-color:#ff453a}.xl\\:focus\\:ring-offset-text-light:focus{--tw-ring-offset-color:#0f0f0f}.xl\\:focus\\:ring-offset-text-dimmed:focus{--tw-ring-offset-color:#cfcfcf}.xl\\:focus\\:ring-offset-text-dark:focus{--tw-ring-offset-color:#fff}.xl\\:focus\\:ring-offset-body-light:focus{--tw-ring-offset-color:#fff}.xl\\:focus\\:ring-offset-body-dark:focus{--tw-ring-offset-color:#1e1e1e}.xl\\:focus\\:ring-offset-button:focus{--tw-ring-offset-color:#0071e3}.xl\\:focus\\:ring-offset-button_hover:focus{--tw-ring-offset-color:#0077ed}@media(prefers-color-scheme: dark){.xl\\:dark\\:ring-offset-transparent{--tw-ring-offset-color:transparent}.xl\\:dark\\:ring-offset-current{--tw-ring-offset-color:currentColor}.xl\\:dark\\:ring-offset-white{--tw-ring-offset-color:#fff}.xl\\:dark\\:ring-offset-lightgrey{--tw-ring-offset-color:#F7F7F7}.xl\\:dark\\:ring-offset-midgrey{--tw-ring-offset-color:#cfcfcf}.xl\\:dark\\:ring-offset-darkgrey{--tw-ring-offset-color:#7f7f7f}.xl\\:dark\\:ring-offset-grey{--tw-ring-offset-color:#1e1e1e}.xl\\:dark\\:ring-offset-black{--tw-ring-offset-color:#0f0f0f}.xl\\:dark\\:ring-offset-highlight{--tw-ring-offset-color:#0071e3}.xl\\:dark\\:ring-offset-highlight_hover{--tw-ring-offset-color:#0077ed}.xl\\:dark\\:ring-offset-button_outline{--tw-ring-offset-color:#cfcfcf}.xl\\:dark\\:ring-offset-error{--tw-ring-offset-color:#ff453a}.xl\\:dark\\:ring-offset-text-light{--tw-ring-offset-color:#0f0f0f}.xl\\:dark\\:ring-offset-text-dimmed{--tw-ring-offset-color:#cfcfcf}.xl\\:dark\\:ring-offset-text-dark{--tw-ring-offset-color:#fff}.xl\\:dark\\:ring-offset-body-light{--tw-ring-offset-color:#fff}.xl\\:dark\\:ring-offset-body-dark{--tw-ring-offset-color:#1e1e1e}.xl\\:dark\\:ring-offset-button{--tw-ring-offset-color:#0071e3}.xl\\:dark\\:ring-offset-button_hover{--tw-ring-offset-color:#0077ed}.xl\\:dark\\:focus-within\\:ring-offset-transparent:focus-within{--tw-ring-offset-color:transparent}.xl\\:dark\\:focus-within\\:ring-offset-current:focus-within{--tw-ring-offset-color:currentColor}.xl\\:dark\\:focus-within\\:ring-offset-white:focus-within{--tw-ring-offset-color:#fff}.xl\\:dark\\:focus-within\\:ring-offset-lightgrey:focus-within{--tw-ring-offset-color:#F7F7F7}.xl\\:dark\\:focus-within\\:ring-offset-midgrey:focus-within{--tw-ring-offset-color:#cfcfcf}.xl\\:dark\\:focus-within\\:ring-offset-darkgrey:focus-within{--tw-ring-offset-color:#7f7f7f}.xl\\:dark\\:focus-within\\:ring-offset-grey:focus-within{--tw-ring-offset-color:#1e1e1e}.xl\\:dark\\:focus-within\\:ring-offset-black:focus-within{--tw-ring-offset-color:#0f0f0f}.xl\\:dark\\:focus-within\\:ring-offset-highlight:focus-within{--tw-ring-offset-color:#0071e3}.xl\\:dark\\:focus-within\\:ring-offset-highlight_hover:focus-within{--tw-ring-offset-color:#0077ed}.xl\\:dark\\:focus-within\\:ring-offset-button_outline:focus-within{--tw-ring-offset-color:#cfcfcf}.xl\\:dark\\:focus-within\\:ring-offset-error:focus-within{--tw-ring-offset-color:#ff453a}.xl\\:dark\\:focus-within\\:ring-offset-text-light:focus-within{--tw-ring-offset-color:#0f0f0f}.xl\\:dark\\:focus-within\\:ring-offset-text-dimmed:focus-within{--tw-ring-offset-color:#cfcfcf}.xl\\:dark\\:focus-within\\:ring-offset-text-dark:focus-within{--tw-ring-offset-color:#fff}.xl\\:dark\\:focus-within\\:ring-offset-body-light:focus-within{--tw-ring-offset-color:#fff}.xl\\:dark\\:focus-within\\:ring-offset-body-dark:focus-within{--tw-ring-offset-color:#1e1e1e}.xl\\:dark\\:focus-within\\:ring-offset-button:focus-within{--tw-ring-offset-color:#0071e3}.xl\\:dark\\:focus-within\\:ring-offset-button_hover:focus-within{--tw-ring-offset-color:#0077ed}.xl\\:dark\\:focus\\:ring-offset-transparent:focus{--tw-ring-offset-color:transparent}.xl\\:dark\\:focus\\:ring-offset-current:focus{--tw-ring-offset-color:currentColor}.xl\\:dark\\:focus\\:ring-offset-white:focus{--tw-ring-offset-color:#fff}.xl\\:dark\\:focus\\:ring-offset-lightgrey:focus{--tw-ring-offset-color:#F7F7F7}.xl\\:dark\\:focus\\:ring-offset-midgrey:focus{--tw-ring-offset-color:#cfcfcf}.xl\\:dark\\:focus\\:ring-offset-darkgrey:focus{--tw-ring-offset-color:#7f7f7f}.xl\\:dark\\:focus\\:ring-offset-grey:focus{--tw-ring-offset-color:#1e1e1e}.xl\\:dark\\:focus\\:ring-offset-black:focus{--tw-ring-offset-color:#0f0f0f}.xl\\:dark\\:focus\\:ring-offset-highlight:focus{--tw-ring-offset-color:#0071e3}.xl\\:dark\\:focus\\:ring-offset-highlight_hover:focus{--tw-ring-offset-color:#0077ed}.xl\\:dark\\:focus\\:ring-offset-button_outline:focus{--tw-ring-offset-color:#cfcfcf}.xl\\:dark\\:focus\\:ring-offset-error:focus{--tw-ring-offset-color:#ff453a}.xl\\:dark\\:focus\\:ring-offset-text-light:focus{--tw-ring-offset-color:#0f0f0f}.xl\\:dark\\:focus\\:ring-offset-text-dimmed:focus{--tw-ring-offset-color:#cfcfcf}.xl\\:dark\\:focus\\:ring-offset-text-dark:focus{--tw-ring-offset-color:#fff}.xl\\:dark\\:focus\\:ring-offset-body-light:focus{--tw-ring-offset-color:#fff}.xl\\:dark\\:focus\\:ring-offset-body-dark:focus{--tw-ring-offset-color:#1e1e1e}.xl\\:dark\\:focus\\:ring-offset-button:focus{--tw-ring-offset-color:#0071e3}.xl\\:dark\\:focus\\:ring-offset-button_hover:focus{--tw-ring-offset-color:#0077ed}}.xl\\:filter{--tw-blur:var(--tw-empty,/*!*/ /*!*/);--tw-brightness:var(--tw-empty,/*!*/ /*!*/);--tw-contrast:var(--tw-empty,/*!*/ /*!*/);--tw-grayscale:var(--tw-empty,/*!*/ /*!*/);--tw-hue-rotate:var(--tw-empty,/*!*/ /*!*/);--tw-invert:var(--tw-empty,/*!*/ /*!*/);--tw-saturate:var(--tw-empty,/*!*/ /*!*/);--tw-sepia:var(--tw-empty,/*!*/ /*!*/);--tw-drop-shadow:var(--tw-empty,/*!*/ /*!*/);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.xl\\:filter-none{filter:none}.xl\\:blur-0{--tw-blur:blur(0)}.xl\\:blur-none{--tw-blur:blur(0)}.xl\\:blur-sm{--tw-blur:blur(4px)}.xl\\:blur{--tw-blur:blur(8px)}.xl\\:blur-md{--tw-blur:blur(12px)}.xl\\:blur-lg{--tw-blur:blur(16px)}.xl\\:blur-xl{--tw-blur:blur(24px)}.xl\\:blur-2xl{--tw-blur:blur(40px)}.xl\\:blur-3xl{--tw-blur:blur(64px)}.xl\\:brightness-0{--tw-brightness:brightness(0)}.xl\\:brightness-50{--tw-brightness:brightness(.5)}.xl\\:brightness-75{--tw-brightness:brightness(.75)}.xl\\:brightness-90{--tw-brightness:brightness(.9)}.xl\\:brightness-95{--tw-brightness:brightness(.95)}.xl\\:brightness-100{--tw-brightness:brightness(1)}.xl\\:brightness-105{--tw-brightness:brightness(1.05)}.xl\\:brightness-110{--tw-brightness:brightness(1.1)}.xl\\:brightness-125{--tw-brightness:brightness(1.25)}.xl\\:brightness-150{--tw-brightness:brightness(1.5)}.xl\\:brightness-200{--tw-brightness:brightness(2)}.xl\\:contrast-0{--tw-contrast:contrast(0)}.xl\\:contrast-50{--tw-contrast:contrast(.5)}.xl\\:contrast-75{--tw-contrast:contrast(.75)}.xl\\:contrast-100{--tw-contrast:contrast(1)}.xl\\:contrast-125{--tw-contrast:contrast(1.25)}.xl\\:contrast-150{--tw-contrast:contrast(1.5)}.xl\\:contrast-200{--tw-contrast:contrast(2)}.xl\\:drop-shadow-sm{--tw-drop-shadow:drop-shadow(0 1px 1px rgba(0,0,0,0.05))}.xl\\:drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1)) drop-shadow(0 1px 1px rgba(0, 0, 0, 0.06))}.xl\\:drop-shadow-md{--tw-drop-shadow:drop-shadow(0 4px 3px rgba(0, 0, 0, 0.07)) drop-shadow(0 2px 2px rgba(0, 0, 0, 0.06))}.xl\\:drop-shadow-lg{--tw-drop-shadow:drop-shadow(0 10px 8px rgba(0, 0, 0, 0.04)) drop-shadow(0 4px 3px rgba(0, 0, 0, 0.1))}.xl\\:drop-shadow-xl{--tw-drop-shadow:drop-shadow(0 20px 13px rgba(0, 0, 0, 0.03)) drop-shadow(0 8px 5px rgba(0, 0, 0, 0.08))}.xl\\:drop-shadow-2xl{--tw-drop-shadow:drop-shadow(0 25px 25px rgba(0, 0, 0, 0.15))}.xl\\:drop-shadow-none{--tw-drop-shadow:drop-shadow(0 0 #0000)}.xl\\:grayscale-0{--tw-grayscale:grayscale(0)}.xl\\:grayscale{--tw-grayscale:grayscale(100%)}.xl\\:hue-rotate-0{--tw-hue-rotate:hue-rotate(0deg)}.xl\\:hue-rotate-15{--tw-hue-rotate:hue-rotate(15deg)}.xl\\:hue-rotate-30{--tw-hue-rotate:hue-rotate(30deg)}.xl\\:hue-rotate-60{--tw-hue-rotate:hue-rotate(60deg)}.xl\\:hue-rotate-90{--tw-hue-rotate:hue-rotate(90deg)}.xl\\:hue-rotate-180{--tw-hue-rotate:hue-rotate(180deg)}.xl\\:-hue-rotate-180{--tw-hue-rotate:hue-rotate(-180deg)}.xl\\:-hue-rotate-90{--tw-hue-rotate:hue-rotate(-90deg)}.xl\\:-hue-rotate-60{--tw-hue-rotate:hue-rotate(-60deg)}.xl\\:-hue-rotate-30{--tw-hue-rotate:hue-rotate(-30deg)}.xl\\:-hue-rotate-15{--tw-hue-rotate:hue-rotate(-15deg)}.xl\\:invert-0{--tw-invert:invert(0)}.xl\\:invert{--tw-invert:invert(100%)}.xl\\:saturate-0{--tw-saturate:saturate(0)}.xl\\:saturate-50{--tw-saturate:saturate(.5)}.xl\\:saturate-100{--tw-saturate:saturate(1)}.xl\\:saturate-150{--tw-saturate:saturate(1.5)}.xl\\:saturate-200{--tw-saturate:saturate(2)}.xl\\:sepia-0{--tw-sepia:sepia(0)}.xl\\:sepia{--tw-sepia:sepia(100%)}.xl\\:backdrop-filter{--tw-backdrop-blur:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-brightness:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-contrast:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-grayscale:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-hue-rotate:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-invert:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-opacity:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-saturate:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-sepia:var(--tw-empty,/*!*/ /*!*/);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.xl\\:backdrop-filter-none{backdrop-filter:none}.xl\\:backdrop-blur-0{--tw-backdrop-blur:blur(0)}.xl\\:backdrop-blur-none{--tw-backdrop-blur:blur(0)}.xl\\:backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.xl\\:backdrop-blur{--tw-backdrop-blur:blur(8px)}.xl\\:backdrop-blur-md{--tw-backdrop-blur:blur(12px)}.xl\\:backdrop-blur-lg{--tw-backdrop-blur:blur(16px)}.xl\\:backdrop-blur-xl{--tw-backdrop-blur:blur(24px)}.xl\\:backdrop-blur-2xl{--tw-backdrop-blur:blur(40px)}.xl\\:backdrop-blur-3xl{--tw-backdrop-blur:blur(64px)}.xl\\:backdrop-brightness-0{--tw-backdrop-brightness:brightness(0)}.xl\\:backdrop-brightness-50{--tw-backdrop-brightness:brightness(.5)}.xl\\:backdrop-brightness-75{--tw-backdrop-brightness:brightness(.75)}.xl\\:backdrop-brightness-90{--tw-backdrop-brightness:brightness(.9)}.xl\\:backdrop-brightness-95{--tw-backdrop-brightness:brightness(.95)}.xl\\:backdrop-brightness-100{--tw-backdrop-brightness:brightness(1)}.xl\\:backdrop-brightness-105{--tw-backdrop-brightness:brightness(1.05)}.xl\\:backdrop-brightness-110{--tw-backdrop-brightness:brightness(1.1)}.xl\\:backdrop-brightness-125{--tw-backdrop-brightness:brightness(1.25)}.xl\\:backdrop-brightness-150{--tw-backdrop-brightness:brightness(1.5)}.xl\\:backdrop-brightness-200{--tw-backdrop-brightness:brightness(2)}.xl\\:backdrop-contrast-0{--tw-backdrop-contrast:contrast(0)}.xl\\:backdrop-contrast-50{--tw-backdrop-contrast:contrast(.5)}.xl\\:backdrop-contrast-75{--tw-backdrop-contrast:contrast(.75)}.xl\\:backdrop-contrast-100{--tw-backdrop-contrast:contrast(1)}.xl\\:backdrop-contrast-125{--tw-backdrop-contrast:contrast(1.25)}.xl\\:backdrop-contrast-150{--tw-backdrop-contrast:contrast(1.5)}.xl\\:backdrop-contrast-200{--tw-backdrop-contrast:contrast(2)}.xl\\:backdrop-grayscale-0{--tw-backdrop-grayscale:grayscale(0)}.xl\\:backdrop-grayscale{--tw-backdrop-grayscale:grayscale(100%)}.xl\\:backdrop-hue-rotate-0{--tw-backdrop-hue-rotate:hue-rotate(0deg)}.xl\\:backdrop-hue-rotate-15{--tw-backdrop-hue-rotate:hue-rotate(15deg)}.xl\\:backdrop-hue-rotate-30{--tw-backdrop-hue-rotate:hue-rotate(30deg)}.xl\\:backdrop-hue-rotate-60{--tw-backdrop-hue-rotate:hue-rotate(60deg)}.xl\\:backdrop-hue-rotate-90{--tw-backdrop-hue-rotate:hue-rotate(90deg)}.xl\\:backdrop-hue-rotate-180{--tw-backdrop-hue-rotate:hue-rotate(180deg)}.xl\\:-backdrop-hue-rotate-180{--tw-backdrop-hue-rotate:hue-rotate(-180deg)}.xl\\:-backdrop-hue-rotate-90{--tw-backdrop-hue-rotate:hue-rotate(-90deg)}.xl\\:-backdrop-hue-rotate-60{--tw-backdrop-hue-rotate:hue-rotate(-60deg)}.xl\\:-backdrop-hue-rotate-30{--tw-backdrop-hue-rotate:hue-rotate(-30deg)}.xl\\:-backdrop-hue-rotate-15{--tw-backdrop-hue-rotate:hue-rotate(-15deg)}.xl\\:backdrop-invert-0{--tw-backdrop-invert:invert(0)}.xl\\:backdrop-invert{--tw-backdrop-invert:invert(100%)}.xl\\:backdrop-opacity-0{--tw-backdrop-opacity:opacity(0)}.xl\\:backdrop-opacity-5{--tw-backdrop-opacity:opacity(0.05)}.xl\\:backdrop-opacity-10{--tw-backdrop-opacity:opacity(0.1)}.xl\\:backdrop-opacity-20{--tw-backdrop-opacity:opacity(0.2)}.xl\\:backdrop-opacity-25{--tw-backdrop-opacity:opacity(0.25)}.xl\\:backdrop-opacity-30{--tw-backdrop-opacity:opacity(0.3)}.xl\\:backdrop-opacity-40{--tw-backdrop-opacity:opacity(0.4)}.xl\\:backdrop-opacity-50{--tw-backdrop-opacity:opacity(0.5)}.xl\\:backdrop-opacity-60{--tw-backdrop-opacity:opacity(0.6)}.xl\\:backdrop-opacity-70{--tw-backdrop-opacity:opacity(0.7)}.xl\\:backdrop-opacity-75{--tw-backdrop-opacity:opacity(0.75)}.xl\\:backdrop-opacity-80{--tw-backdrop-opacity:opacity(0.8)}.xl\\:backdrop-opacity-90{--tw-backdrop-opacity:opacity(0.9)}.xl\\:backdrop-opacity-95{--tw-backdrop-opacity:opacity(0.95)}.xl\\:backdrop-opacity-100{--tw-backdrop-opacity:opacity(1)}.xl\\:backdrop-saturate-0{--tw-backdrop-saturate:saturate(0)}.xl\\:backdrop-saturate-50{--tw-backdrop-saturate:saturate(.5)}.xl\\:backdrop-saturate-100{--tw-backdrop-saturate:saturate(1)}.xl\\:backdrop-saturate-150{--tw-backdrop-saturate:saturate(1.5)}.xl\\:backdrop-saturate-200{--tw-backdrop-saturate:saturate(2)}.xl\\:backdrop-sepia-0{--tw-backdrop-sepia:sepia(0)}.xl\\:backdrop-sepia{--tw-backdrop-sepia:sepia(100%)}.xl\\:transition-none{transition-property:none}.xl\\:transition-all{transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.xl\\:transition{transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.xl\\:transition-colors{transition-property:background-color, border-color, color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.xl\\:transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.xl\\:transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.xl\\:transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.xl\\:delay-75{transition-delay:75ms}.xl\\:delay-100{transition-delay:100ms}.xl\\:delay-150{transition-delay:150ms}.xl\\:delay-200{transition-delay:200ms}.xl\\:delay-300{transition-delay:300ms}.xl\\:delay-500{transition-delay:500ms}.xl\\:delay-700{transition-delay:700ms}.xl\\:delay-1000{transition-delay:1000ms}.xl\\:duration-75{transition-duration:75ms}.xl\\:duration-100{transition-duration:100ms}.xl\\:duration-150{transition-duration:150ms}.xl\\:duration-200{transition-duration:200ms}.xl\\:duration-300{transition-duration:300ms}.xl\\:duration-500{transition-duration:500ms}.xl\\:duration-700{transition-duration:700ms}.xl\\:duration-1000{transition-duration:1000ms}.xl\\:ease-linear{transition-timing-function:linear}.xl\\:ease-in{transition-timing-function:cubic-bezier(0.4, 0, 1, 1)}.xl\\:ease-out{transition-timing-function:cubic-bezier(0, 0, 0.2, 1)}.xl\\:ease-in-out{transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}}@media(min-width: 1536px){.\\32xl\\:container{width:100%}@media(min-width: 640px){.\\32xl\\:container{max-width:640px}}@media(min-width: 768px){.\\32xl\\:container{max-width:768px}}@media(min-width: 1024px){.\\32xl\\:container{max-width:1024px}}@media(min-width: 1280px){.\\32xl\\:container{max-width:1280px}}@media(min-width: 1536px){.\\32xl\\:container{max-width:1536px}}.\\32xl\\:sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.\\32xl\\:not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.\\32xl\\:focus-within\\:sr-only:focus-within{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.\\32xl\\:focus-within\\:not-sr-only:focus-within{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.\\32xl\\:focus\\:sr-only:focus{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.\\32xl\\:focus\\:not-sr-only:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.\\32xl\\:pointer-events-none{pointer-events:none}.\\32xl\\:pointer-events-auto{pointer-events:auto}.\\32xl\\:visible{visibility:visible}.\\32xl\\:invisible{visibility:hidden}.\\32xl\\:static{position:static}.\\32xl\\:fixed{position:fixed}.\\32xl\\:absolute{position:absolute}.\\32xl\\:relative{position:relative}.\\32xl\\:sticky{position:sticky}.\\32xl\\:inset-0{top:0px;right:0px;bottom:0px;left:0px}.\\32xl\\:inset-1{top:0.25rem;right:0.25rem;bottom:0.25rem;left:0.25rem}.\\32xl\\:inset-2{top:0.5rem;right:0.5rem;bottom:0.5rem;left:0.5rem}.\\32xl\\:inset-3{top:0.75rem;right:0.75rem;bottom:0.75rem;left:0.75rem}.\\32xl\\:inset-4{top:1rem;right:1rem;bottom:1rem;left:1rem}.\\32xl\\:inset-5{top:1.25rem;right:1.25rem;bottom:1.25rem;left:1.25rem}.\\32xl\\:inset-6{top:1.5rem;right:1.5rem;bottom:1.5rem;left:1.5rem}.\\32xl\\:inset-7{top:1.75rem;right:1.75rem;bottom:1.75rem;left:1.75rem}.\\32xl\\:inset-8{top:2rem;right:2rem;bottom:2rem;left:2rem}.\\32xl\\:inset-9{top:2.25rem;right:2.25rem;bottom:2.25rem;left:2.25rem}.\\32xl\\:inset-10{top:2.5rem;right:2.5rem;bottom:2.5rem;left:2.5rem}.\\32xl\\:inset-11{top:2.75rem;right:2.75rem;bottom:2.75rem;left:2.75rem}.\\32xl\\:inset-12{top:3rem;right:3rem;bottom:3rem;left:3rem}.\\32xl\\:inset-14{top:3.5rem;right:3.5rem;bottom:3.5rem;left:3.5rem}.\\32xl\\:inset-16{top:4rem;right:4rem;bottom:4rem;left:4rem}.\\32xl\\:inset-20{top:5rem;right:5rem;bottom:5rem;left:5rem}.\\32xl\\:inset-24{top:6rem;right:6rem;bottom:6rem;left:6rem}.\\32xl\\:inset-28{top:7rem;right:7rem;bottom:7rem;left:7rem}.\\32xl\\:inset-32{top:8rem;right:8rem;bottom:8rem;left:8rem}.\\32xl\\:inset-36{top:9rem;right:9rem;bottom:9rem;left:9rem}.\\32xl\\:inset-40{top:10rem;right:10rem;bottom:10rem;left:10rem}.\\32xl\\:inset-44{top:11rem;right:11rem;bottom:11rem;left:11rem}.\\32xl\\:inset-48{top:12rem;right:12rem;bottom:12rem;left:12rem}.\\32xl\\:inset-52{top:13rem;right:13rem;bottom:13rem;left:13rem}.\\32xl\\:inset-56{top:14rem;right:14rem;bottom:14rem;left:14rem}.\\32xl\\:inset-60{top:15rem;right:15rem;bottom:15rem;left:15rem}.\\32xl\\:inset-64{top:16rem;right:16rem;bottom:16rem;left:16rem}.\\32xl\\:inset-72{top:18rem;right:18rem;bottom:18rem;left:18rem}.\\32xl\\:inset-80{top:20rem;right:20rem;bottom:20rem;left:20rem}.\\32xl\\:inset-96{top:24rem;right:24rem;bottom:24rem;left:24rem}.\\32xl\\:inset-auto{top:auto;right:auto;bottom:auto;left:auto}.\\32xl\\:inset-px{top:1px;right:1px;bottom:1px;left:1px}.\\32xl\\:inset-0\\.5{top:0.125rem;right:0.125rem;bottom:0.125rem;left:0.125rem}.\\32xl\\:inset-1\\.5{top:0.375rem;right:0.375rem;bottom:0.375rem;left:0.375rem}.\\32xl\\:inset-2\\.5{top:0.625rem;right:0.625rem;bottom:0.625rem;left:0.625rem}.\\32xl\\:inset-3\\.5{top:0.875rem;right:0.875rem;bottom:0.875rem;left:0.875rem}.\\32xl\\:-inset-0{top:0px;right:0px;bottom:0px;left:0px}.\\32xl\\:-inset-1{top:-0.25rem;right:-0.25rem;bottom:-0.25rem;left:-0.25rem}.\\32xl\\:-inset-2{top:-0.5rem;right:-0.5rem;bottom:-0.5rem;left:-0.5rem}.\\32xl\\:-inset-3{top:-0.75rem;right:-0.75rem;bottom:-0.75rem;left:-0.75rem}.\\32xl\\:-inset-4{top:-1rem;right:-1rem;bottom:-1rem;left:-1rem}.\\32xl\\:-inset-5{top:-1.25rem;right:-1.25rem;bottom:-1.25rem;left:-1.25rem}.\\32xl\\:-inset-6{top:-1.5rem;right:-1.5rem;bottom:-1.5rem;left:-1.5rem}.\\32xl\\:-inset-7{top:-1.75rem;right:-1.75rem;bottom:-1.75rem;left:-1.75rem}.\\32xl\\:-inset-8{top:-2rem;right:-2rem;bottom:-2rem;left:-2rem}.\\32xl\\:-inset-9{top:-2.25rem;right:-2.25rem;bottom:-2.25rem;left:-2.25rem}.\\32xl\\:-inset-10{top:-2.5rem;right:-2.5rem;bottom:-2.5rem;left:-2.5rem}.\\32xl\\:-inset-11{top:-2.75rem;right:-2.75rem;bottom:-2.75rem;left:-2.75rem}.\\32xl\\:-inset-12{top:-3rem;right:-3rem;bottom:-3rem;left:-3rem}.\\32xl\\:-inset-14{top:-3.5rem;right:-3.5rem;bottom:-3.5rem;left:-3.5rem}.\\32xl\\:-inset-16{top:-4rem;right:-4rem;bottom:-4rem;left:-4rem}.\\32xl\\:-inset-20{top:-5rem;right:-5rem;bottom:-5rem;left:-5rem}.\\32xl\\:-inset-24{top:-6rem;right:-6rem;bottom:-6rem;left:-6rem}.\\32xl\\:-inset-28{top:-7rem;right:-7rem;bottom:-7rem;left:-7rem}.\\32xl\\:-inset-32{top:-8rem;right:-8rem;bottom:-8rem;left:-8rem}.\\32xl\\:-inset-36{top:-9rem;right:-9rem;bottom:-9rem;left:-9rem}.\\32xl\\:-inset-40{top:-10rem;right:-10rem;bottom:-10rem;left:-10rem}.\\32xl\\:-inset-44{top:-11rem;right:-11rem;bottom:-11rem;left:-11rem}.\\32xl\\:-inset-48{top:-12rem;right:-12rem;bottom:-12rem;left:-12rem}.\\32xl\\:-inset-52{top:-13rem;right:-13rem;bottom:-13rem;left:-13rem}.\\32xl\\:-inset-56{top:-14rem;right:-14rem;bottom:-14rem;left:-14rem}.\\32xl\\:-inset-60{top:-15rem;right:-15rem;bottom:-15rem;left:-15rem}.\\32xl\\:-inset-64{top:-16rem;right:-16rem;bottom:-16rem;left:-16rem}.\\32xl\\:-inset-72{top:-18rem;right:-18rem;bottom:-18rem;left:-18rem}.\\32xl\\:-inset-80{top:-20rem;right:-20rem;bottom:-20rem;left:-20rem}.\\32xl\\:-inset-96{top:-24rem;right:-24rem;bottom:-24rem;left:-24rem}.\\32xl\\:-inset-px{top:-1px;right:-1px;bottom:-1px;left:-1px}.\\32xl\\:-inset-0\\.5{top:-0.125rem;right:-0.125rem;bottom:-0.125rem;left:-0.125rem}.\\32xl\\:-inset-1\\.5{top:-0.375rem;right:-0.375rem;bottom:-0.375rem;left:-0.375rem}.\\32xl\\:-inset-2\\.5{top:-0.625rem;right:-0.625rem;bottom:-0.625rem;left:-0.625rem}.\\32xl\\:-inset-3\\.5{top:-0.875rem;right:-0.875rem;bottom:-0.875rem;left:-0.875rem}.\\32xl\\:inset-1\\/2{top:50%;right:50%;bottom:50%;left:50%}.\\32xl\\:inset-1\\/3{top:33.333333%;right:33.333333%;bottom:33.333333%;left:33.333333%}.\\32xl\\:inset-2\\/3{top:66.666667%;right:66.666667%;bottom:66.666667%;left:66.666667%}.\\32xl\\:inset-1\\/4{top:25%;right:25%;bottom:25%;left:25%}.\\32xl\\:inset-2\\/4{top:50%;right:50%;bottom:50%;left:50%}.\\32xl\\:inset-3\\/4{top:75%;right:75%;bottom:75%;left:75%}.\\32xl\\:inset-full{top:100%;right:100%;bottom:100%;left:100%}.\\32xl\\:-inset-1\\/2{top:-50%;right:-50%;bottom:-50%;left:-50%}.\\32xl\\:-inset-1\\/3{top:-33.333333%;right:-33.333333%;bottom:-33.333333%;left:-33.333333%}.\\32xl\\:-inset-2\\/3{top:-66.666667%;right:-66.666667%;bottom:-66.666667%;left:-66.666667%}.\\32xl\\:-inset-1\\/4{top:-25%;right:-25%;bottom:-25%;left:-25%}.\\32xl\\:-inset-2\\/4{top:-50%;right:-50%;bottom:-50%;left:-50%}.\\32xl\\:-inset-3\\/4{top:-75%;right:-75%;bottom:-75%;left:-75%}.\\32xl\\:-inset-full{top:-100%;right:-100%;bottom:-100%;left:-100%}.\\32xl\\:inset-x-0{left:0px;right:0px}.\\32xl\\:inset-x-1{left:0.25rem;right:0.25rem}.\\32xl\\:inset-x-2{left:0.5rem;right:0.5rem}.\\32xl\\:inset-x-3{left:0.75rem;right:0.75rem}.\\32xl\\:inset-x-4{left:1rem;right:1rem}.\\32xl\\:inset-x-5{left:1.25rem;right:1.25rem}.\\32xl\\:inset-x-6{left:1.5rem;right:1.5rem}.\\32xl\\:inset-x-7{left:1.75rem;right:1.75rem}.\\32xl\\:inset-x-8{left:2rem;right:2rem}.\\32xl\\:inset-x-9{left:2.25rem;right:2.25rem}.\\32xl\\:inset-x-10{left:2.5rem;right:2.5rem}.\\32xl\\:inset-x-11{left:2.75rem;right:2.75rem}.\\32xl\\:inset-x-12{left:3rem;right:3rem}.\\32xl\\:inset-x-14{left:3.5rem;right:3.5rem}.\\32xl\\:inset-x-16{left:4rem;right:4rem}.\\32xl\\:inset-x-20{left:5rem;right:5rem}.\\32xl\\:inset-x-24{left:6rem;right:6rem}.\\32xl\\:inset-x-28{left:7rem;right:7rem}.\\32xl\\:inset-x-32{left:8rem;right:8rem}.\\32xl\\:inset-x-36{left:9rem;right:9rem}.\\32xl\\:inset-x-40{left:10rem;right:10rem}.\\32xl\\:inset-x-44{left:11rem;right:11rem}.\\32xl\\:inset-x-48{left:12rem;right:12rem}.\\32xl\\:inset-x-52{left:13rem;right:13rem}.\\32xl\\:inset-x-56{left:14rem;right:14rem}.\\32xl\\:inset-x-60{left:15rem;right:15rem}.\\32xl\\:inset-x-64{left:16rem;right:16rem}.\\32xl\\:inset-x-72{left:18rem;right:18rem}.\\32xl\\:inset-x-80{left:20rem;right:20rem}.\\32xl\\:inset-x-96{left:24rem;right:24rem}.\\32xl\\:inset-x-auto{left:auto;right:auto}.\\32xl\\:inset-x-px{left:1px;right:1px}.\\32xl\\:inset-x-0\\.5{left:0.125rem;right:0.125rem}.\\32xl\\:inset-x-1\\.5{left:0.375rem;right:0.375rem}.\\32xl\\:inset-x-2\\.5{left:0.625rem;right:0.625rem}.\\32xl\\:inset-x-3\\.5{left:0.875rem;right:0.875rem}.\\32xl\\:-inset-x-0{left:0px;right:0px}.\\32xl\\:-inset-x-1{left:-0.25rem;right:-0.25rem}.\\32xl\\:-inset-x-2{left:-0.5rem;right:-0.5rem}.\\32xl\\:-inset-x-3{left:-0.75rem;right:-0.75rem}.\\32xl\\:-inset-x-4{left:-1rem;right:-1rem}.\\32xl\\:-inset-x-5{left:-1.25rem;right:-1.25rem}.\\32xl\\:-inset-x-6{left:-1.5rem;right:-1.5rem}.\\32xl\\:-inset-x-7{left:-1.75rem;right:-1.75rem}.\\32xl\\:-inset-x-8{left:-2rem;right:-2rem}.\\32xl\\:-inset-x-9{left:-2.25rem;right:-2.25rem}.\\32xl\\:-inset-x-10{left:-2.5rem;right:-2.5rem}.\\32xl\\:-inset-x-11{left:-2.75rem;right:-2.75rem}.\\32xl\\:-inset-x-12{left:-3rem;right:-3rem}.\\32xl\\:-inset-x-14{left:-3.5rem;right:-3.5rem}.\\32xl\\:-inset-x-16{left:-4rem;right:-4rem}.\\32xl\\:-inset-x-20{left:-5rem;right:-5rem}.\\32xl\\:-inset-x-24{left:-6rem;right:-6rem}.\\32xl\\:-inset-x-28{left:-7rem;right:-7rem}.\\32xl\\:-inset-x-32{left:-8rem;right:-8rem}.\\32xl\\:-inset-x-36{left:-9rem;right:-9rem}.\\32xl\\:-inset-x-40{left:-10rem;right:-10rem}.\\32xl\\:-inset-x-44{left:-11rem;right:-11rem}.\\32xl\\:-inset-x-48{left:-12rem;right:-12rem}.\\32xl\\:-inset-x-52{left:-13rem;right:-13rem}.\\32xl\\:-inset-x-56{left:-14rem;right:-14rem}.\\32xl\\:-inset-x-60{left:-15rem;right:-15rem}.\\32xl\\:-inset-x-64{left:-16rem;right:-16rem}.\\32xl\\:-inset-x-72{left:-18rem;right:-18rem}.\\32xl\\:-inset-x-80{left:-20rem;right:-20rem}.\\32xl\\:-inset-x-96{left:-24rem;right:-24rem}.\\32xl\\:-inset-x-px{left:-1px;right:-1px}.\\32xl\\:-inset-x-0\\.5{left:-0.125rem;right:-0.125rem}.\\32xl\\:-inset-x-1\\.5{left:-0.375rem;right:-0.375rem}.\\32xl\\:-inset-x-2\\.5{left:-0.625rem;right:-0.625rem}.\\32xl\\:-inset-x-3\\.5{left:-0.875rem;right:-0.875rem}.\\32xl\\:inset-x-1\\/2{left:50%;right:50%}.\\32xl\\:inset-x-1\\/3{left:33.333333%;right:33.333333%}.\\32xl\\:inset-x-2\\/3{left:66.666667%;right:66.666667%}.\\32xl\\:inset-x-1\\/4{left:25%;right:25%}.\\32xl\\:inset-x-2\\/4{left:50%;right:50%}.\\32xl\\:inset-x-3\\/4{left:75%;right:75%}.\\32xl\\:inset-x-full{left:100%;right:100%}.\\32xl\\:-inset-x-1\\/2{left:-50%;right:-50%}.\\32xl\\:-inset-x-1\\/3{left:-33.333333%;right:-33.333333%}.\\32xl\\:-inset-x-2\\/3{left:-66.666667%;right:-66.666667%}.\\32xl\\:-inset-x-1\\/4{left:-25%;right:-25%}.\\32xl\\:-inset-x-2\\/4{left:-50%;right:-50%}.\\32xl\\:-inset-x-3\\/4{left:-75%;right:-75%}.\\32xl\\:-inset-x-full{left:-100%;right:-100%}.\\32xl\\:inset-y-0{top:0px;bottom:0px}.\\32xl\\:inset-y-1{top:0.25rem;bottom:0.25rem}.\\32xl\\:inset-y-2{top:0.5rem;bottom:0.5rem}.\\32xl\\:inset-y-3{top:0.75rem;bottom:0.75rem}.\\32xl\\:inset-y-4{top:1rem;bottom:1rem}.\\32xl\\:inset-y-5{top:1.25rem;bottom:1.25rem}.\\32xl\\:inset-y-6{top:1.5rem;bottom:1.5rem}.\\32xl\\:inset-y-7{top:1.75rem;bottom:1.75rem}.\\32xl\\:inset-y-8{top:2rem;bottom:2rem}.\\32xl\\:inset-y-9{top:2.25rem;bottom:2.25rem}.\\32xl\\:inset-y-10{top:2.5rem;bottom:2.5rem}.\\32xl\\:inset-y-11{top:2.75rem;bottom:2.75rem}.\\32xl\\:inset-y-12{top:3rem;bottom:3rem}.\\32xl\\:inset-y-14{top:3.5rem;bottom:3.5rem}.\\32xl\\:inset-y-16{top:4rem;bottom:4rem}.\\32xl\\:inset-y-20{top:5rem;bottom:5rem}.\\32xl\\:inset-y-24{top:6rem;bottom:6rem}.\\32xl\\:inset-y-28{top:7rem;bottom:7rem}.\\32xl\\:inset-y-32{top:8rem;bottom:8rem}.\\32xl\\:inset-y-36{top:9rem;bottom:9rem}.\\32xl\\:inset-y-40{top:10rem;bottom:10rem}.\\32xl\\:inset-y-44{top:11rem;bottom:11rem}.\\32xl\\:inset-y-48{top:12rem;bottom:12rem}.\\32xl\\:inset-y-52{top:13rem;bottom:13rem}.\\32xl\\:inset-y-56{top:14rem;bottom:14rem}.\\32xl\\:inset-y-60{top:15rem;bottom:15rem}.\\32xl\\:inset-y-64{top:16rem;bottom:16rem}.\\32xl\\:inset-y-72{top:18rem;bottom:18rem}.\\32xl\\:inset-y-80{top:20rem;bottom:20rem}.\\32xl\\:inset-y-96{top:24rem;bottom:24rem}.\\32xl\\:inset-y-auto{top:auto;bottom:auto}.\\32xl\\:inset-y-px{top:1px;bottom:1px}.\\32xl\\:inset-y-0\\.5{top:0.125rem;bottom:0.125rem}.\\32xl\\:inset-y-1\\.5{top:0.375rem;bottom:0.375rem}.\\32xl\\:inset-y-2\\.5{top:0.625rem;bottom:0.625rem}.\\32xl\\:inset-y-3\\.5{top:0.875rem;bottom:0.875rem}.\\32xl\\:-inset-y-0{top:0px;bottom:0px}.\\32xl\\:-inset-y-1{top:-0.25rem;bottom:-0.25rem}.\\32xl\\:-inset-y-2{top:-0.5rem;bottom:-0.5rem}.\\32xl\\:-inset-y-3{top:-0.75rem;bottom:-0.75rem}.\\32xl\\:-inset-y-4{top:-1rem;bottom:-1rem}.\\32xl\\:-inset-y-5{top:-1.25rem;bottom:-1.25rem}.\\32xl\\:-inset-y-6{top:-1.5rem;bottom:-1.5rem}.\\32xl\\:-inset-y-7{top:-1.75rem;bottom:-1.75rem}.\\32xl\\:-inset-y-8{top:-2rem;bottom:-2rem}.\\32xl\\:-inset-y-9{top:-2.25rem;bottom:-2.25rem}.\\32xl\\:-inset-y-10{top:-2.5rem;bottom:-2.5rem}.\\32xl\\:-inset-y-11{top:-2.75rem;bottom:-2.75rem}.\\32xl\\:-inset-y-12{top:-3rem;bottom:-3rem}.\\32xl\\:-inset-y-14{top:-3.5rem;bottom:-3.5rem}.\\32xl\\:-inset-y-16{top:-4rem;bottom:-4rem}.\\32xl\\:-inset-y-20{top:-5rem;bottom:-5rem}.\\32xl\\:-inset-y-24{top:-6rem;bottom:-6rem}.\\32xl\\:-inset-y-28{top:-7rem;bottom:-7rem}.\\32xl\\:-inset-y-32{top:-8rem;bottom:-8rem}.\\32xl\\:-inset-y-36{top:-9rem;bottom:-9rem}.\\32xl\\:-inset-y-40{top:-10rem;bottom:-10rem}.\\32xl\\:-inset-y-44{top:-11rem;bottom:-11rem}.\\32xl\\:-inset-y-48{top:-12rem;bottom:-12rem}.\\32xl\\:-inset-y-52{top:-13rem;bottom:-13rem}.\\32xl\\:-inset-y-56{top:-14rem;bottom:-14rem}.\\32xl\\:-inset-y-60{top:-15rem;bottom:-15rem}.\\32xl\\:-inset-y-64{top:-16rem;bottom:-16rem}.\\32xl\\:-inset-y-72{top:-18rem;bottom:-18rem}.\\32xl\\:-inset-y-80{top:-20rem;bottom:-20rem}.\\32xl\\:-inset-y-96{top:-24rem;bottom:-24rem}.\\32xl\\:-inset-y-px{top:-1px;bottom:-1px}.\\32xl\\:-inset-y-0\\.5{top:-0.125rem;bottom:-0.125rem}.\\32xl\\:-inset-y-1\\.5{top:-0.375rem;bottom:-0.375rem}.\\32xl\\:-inset-y-2\\.5{top:-0.625rem;bottom:-0.625rem}.\\32xl\\:-inset-y-3\\.5{top:-0.875rem;bottom:-0.875rem}.\\32xl\\:inset-y-1\\/2{top:50%;bottom:50%}.\\32xl\\:inset-y-1\\/3{top:33.333333%;bottom:33.333333%}.\\32xl\\:inset-y-2\\/3{top:66.666667%;bottom:66.666667%}.\\32xl\\:inset-y-1\\/4{top:25%;bottom:25%}.\\32xl\\:inset-y-2\\/4{top:50%;bottom:50%}.\\32xl\\:inset-y-3\\/4{top:75%;bottom:75%}.\\32xl\\:inset-y-full{top:100%;bottom:100%}.\\32xl\\:-inset-y-1\\/2{top:-50%;bottom:-50%}.\\32xl\\:-inset-y-1\\/3{top:-33.333333%;bottom:-33.333333%}.\\32xl\\:-inset-y-2\\/3{top:-66.666667%;bottom:-66.666667%}.\\32xl\\:-inset-y-1\\/4{top:-25%;bottom:-25%}.\\32xl\\:-inset-y-2\\/4{top:-50%;bottom:-50%}.\\32xl\\:-inset-y-3\\/4{top:-75%;bottom:-75%}.\\32xl\\:-inset-y-full{top:-100%;bottom:-100%}.\\32xl\\:top-0{top:0px}.\\32xl\\:top-1{top:0.25rem}.\\32xl\\:top-2{top:0.5rem}.\\32xl\\:top-3{top:0.75rem}.\\32xl\\:top-4{top:1rem}.\\32xl\\:top-5{top:1.25rem}.\\32xl\\:top-6{top:1.5rem}.\\32xl\\:top-7{top:1.75rem}.\\32xl\\:top-8{top:2rem}.\\32xl\\:top-9{top:2.25rem}.\\32xl\\:top-10{top:2.5rem}.\\32xl\\:top-11{top:2.75rem}.\\32xl\\:top-12{top:3rem}.\\32xl\\:top-14{top:3.5rem}.\\32xl\\:top-16{top:4rem}.\\32xl\\:top-20{top:5rem}.\\32xl\\:top-24{top:6rem}.\\32xl\\:top-28{top:7rem}.\\32xl\\:top-32{top:8rem}.\\32xl\\:top-36{top:9rem}.\\32xl\\:top-40{top:10rem}.\\32xl\\:top-44{top:11rem}.\\32xl\\:top-48{top:12rem}.\\32xl\\:top-52{top:13rem}.\\32xl\\:top-56{top:14rem}.\\32xl\\:top-60{top:15rem}.\\32xl\\:top-64{top:16rem}.\\32xl\\:top-72{top:18rem}.\\32xl\\:top-80{top:20rem}.\\32xl\\:top-96{top:24rem}.\\32xl\\:top-auto{top:auto}.\\32xl\\:top-px{top:1px}.\\32xl\\:top-0\\.5{top:0.125rem}.\\32xl\\:top-1\\.5{top:0.375rem}.\\32xl\\:top-2\\.5{top:0.625rem}.\\32xl\\:top-3\\.5{top:0.875rem}.\\32xl\\:-top-0{top:0px}.\\32xl\\:-top-1{top:-0.25rem}.\\32xl\\:-top-2{top:-0.5rem}.\\32xl\\:-top-3{top:-0.75rem}.\\32xl\\:-top-4{top:-1rem}.\\32xl\\:-top-5{top:-1.25rem}.\\32xl\\:-top-6{top:-1.5rem}.\\32xl\\:-top-7{top:-1.75rem}.\\32xl\\:-top-8{top:-2rem}.\\32xl\\:-top-9{top:-2.25rem}.\\32xl\\:-top-10{top:-2.5rem}.\\32xl\\:-top-11{top:-2.75rem}.\\32xl\\:-top-12{top:-3rem}.\\32xl\\:-top-14{top:-3.5rem}.\\32xl\\:-top-16{top:-4rem}.\\32xl\\:-top-20{top:-5rem}.\\32xl\\:-top-24{top:-6rem}.\\32xl\\:-top-28{top:-7rem}.\\32xl\\:-top-32{top:-8rem}.\\32xl\\:-top-36{top:-9rem}.\\32xl\\:-top-40{top:-10rem}.\\32xl\\:-top-44{top:-11rem}.\\32xl\\:-top-48{top:-12rem}.\\32xl\\:-top-52{top:-13rem}.\\32xl\\:-top-56{top:-14rem}.\\32xl\\:-top-60{top:-15rem}.\\32xl\\:-top-64{top:-16rem}.\\32xl\\:-top-72{top:-18rem}.\\32xl\\:-top-80{top:-20rem}.\\32xl\\:-top-96{top:-24rem}.\\32xl\\:-top-px{top:-1px}.\\32xl\\:-top-0\\.5{top:-0.125rem}.\\32xl\\:-top-1\\.5{top:-0.375rem}.\\32xl\\:-top-2\\.5{top:-0.625rem}.\\32xl\\:-top-3\\.5{top:-0.875rem}.\\32xl\\:top-1\\/2{top:50%}.\\32xl\\:top-1\\/3{top:33.333333%}.\\32xl\\:top-2\\/3{top:66.666667%}.\\32xl\\:top-1\\/4{top:25%}.\\32xl\\:top-2\\/4{top:50%}.\\32xl\\:top-3\\/4{top:75%}.\\32xl\\:top-full{top:100%}.\\32xl\\:-top-1\\/2{top:-50%}.\\32xl\\:-top-1\\/3{top:-33.333333%}.\\32xl\\:-top-2\\/3{top:-66.666667%}.\\32xl\\:-top-1\\/4{top:-25%}.\\32xl\\:-top-2\\/4{top:-50%}.\\32xl\\:-top-3\\/4{top:-75%}.\\32xl\\:-top-full{top:-100%}.\\32xl\\:right-0{right:0px}.\\32xl\\:right-1{right:0.25rem}.\\32xl\\:right-2{right:0.5rem}.\\32xl\\:right-3{right:0.75rem}.\\32xl\\:right-4{right:1rem}.\\32xl\\:right-5{right:1.25rem}.\\32xl\\:right-6{right:1.5rem}.\\32xl\\:right-7{right:1.75rem}.\\32xl\\:right-8{right:2rem}.\\32xl\\:right-9{right:2.25rem}.\\32xl\\:right-10{right:2.5rem}.\\32xl\\:right-11{right:2.75rem}.\\32xl\\:right-12{right:3rem}.\\32xl\\:right-14{right:3.5rem}.\\32xl\\:right-16{right:4rem}.\\32xl\\:right-20{right:5rem}.\\32xl\\:right-24{right:6rem}.\\32xl\\:right-28{right:7rem}.\\32xl\\:right-32{right:8rem}.\\32xl\\:right-36{right:9rem}.\\32xl\\:right-40{right:10rem}.\\32xl\\:right-44{right:11rem}.\\32xl\\:right-48{right:12rem}.\\32xl\\:right-52{right:13rem}.\\32xl\\:right-56{right:14rem}.\\32xl\\:right-60{right:15rem}.\\32xl\\:right-64{right:16rem}.\\32xl\\:right-72{right:18rem}.\\32xl\\:right-80{right:20rem}.\\32xl\\:right-96{right:24rem}.\\32xl\\:right-auto{right:auto}.\\32xl\\:right-px{right:1px}.\\32xl\\:right-0\\.5{right:0.125rem}.\\32xl\\:right-1\\.5{right:0.375rem}.\\32xl\\:right-2\\.5{right:0.625rem}.\\32xl\\:right-3\\.5{right:0.875rem}.\\32xl\\:-right-0{right:0px}.\\32xl\\:-right-1{right:-0.25rem}.\\32xl\\:-right-2{right:-0.5rem}.\\32xl\\:-right-3{right:-0.75rem}.\\32xl\\:-right-4{right:-1rem}.\\32xl\\:-right-5{right:-1.25rem}.\\32xl\\:-right-6{right:-1.5rem}.\\32xl\\:-right-7{right:-1.75rem}.\\32xl\\:-right-8{right:-2rem}.\\32xl\\:-right-9{right:-2.25rem}.\\32xl\\:-right-10{right:-2.5rem}.\\32xl\\:-right-11{right:-2.75rem}.\\32xl\\:-right-12{right:-3rem}.\\32xl\\:-right-14{right:-3.5rem}.\\32xl\\:-right-16{right:-4rem}.\\32xl\\:-right-20{right:-5rem}.\\32xl\\:-right-24{right:-6rem}.\\32xl\\:-right-28{right:-7rem}.\\32xl\\:-right-32{right:-8rem}.\\32xl\\:-right-36{right:-9rem}.\\32xl\\:-right-40{right:-10rem}.\\32xl\\:-right-44{right:-11rem}.\\32xl\\:-right-48{right:-12rem}.\\32xl\\:-right-52{right:-13rem}.\\32xl\\:-right-56{right:-14rem}.\\32xl\\:-right-60{right:-15rem}.\\32xl\\:-right-64{right:-16rem}.\\32xl\\:-right-72{right:-18rem}.\\32xl\\:-right-80{right:-20rem}.\\32xl\\:-right-96{right:-24rem}.\\32xl\\:-right-px{right:-1px}.\\32xl\\:-right-0\\.5{right:-0.125rem}.\\32xl\\:-right-1\\.5{right:-0.375rem}.\\32xl\\:-right-2\\.5{right:-0.625rem}.\\32xl\\:-right-3\\.5{right:-0.875rem}.\\32xl\\:right-1\\/2{right:50%}.\\32xl\\:right-1\\/3{right:33.333333%}.\\32xl\\:right-2\\/3{right:66.666667%}.\\32xl\\:right-1\\/4{right:25%}.\\32xl\\:right-2\\/4{right:50%}.\\32xl\\:right-3\\/4{right:75%}.\\32xl\\:right-full{right:100%}.\\32xl\\:-right-1\\/2{right:-50%}.\\32xl\\:-right-1\\/3{right:-33.333333%}.\\32xl\\:-right-2\\/3{right:-66.666667%}.\\32xl\\:-right-1\\/4{right:-25%}.\\32xl\\:-right-2\\/4{right:-50%}.\\32xl\\:-right-3\\/4{right:-75%}.\\32xl\\:-right-full{right:-100%}.\\32xl\\:bottom-0{bottom:0px}.\\32xl\\:bottom-1{bottom:0.25rem}.\\32xl\\:bottom-2{bottom:0.5rem}.\\32xl\\:bottom-3{bottom:0.75rem}.\\32xl\\:bottom-4{bottom:1rem}.\\32xl\\:bottom-5{bottom:1.25rem}.\\32xl\\:bottom-6{bottom:1.5rem}.\\32xl\\:bottom-7{bottom:1.75rem}.\\32xl\\:bottom-8{bottom:2rem}.\\32xl\\:bottom-9{bottom:2.25rem}.\\32xl\\:bottom-10{bottom:2.5rem}.\\32xl\\:bottom-11{bottom:2.75rem}.\\32xl\\:bottom-12{bottom:3rem}.\\32xl\\:bottom-14{bottom:3.5rem}.\\32xl\\:bottom-16{bottom:4rem}.\\32xl\\:bottom-20{bottom:5rem}.\\32xl\\:bottom-24{bottom:6rem}.\\32xl\\:bottom-28{bottom:7rem}.\\32xl\\:bottom-32{bottom:8rem}.\\32xl\\:bottom-36{bottom:9rem}.\\32xl\\:bottom-40{bottom:10rem}.\\32xl\\:bottom-44{bottom:11rem}.\\32xl\\:bottom-48{bottom:12rem}.\\32xl\\:bottom-52{bottom:13rem}.\\32xl\\:bottom-56{bottom:14rem}.\\32xl\\:bottom-60{bottom:15rem}.\\32xl\\:bottom-64{bottom:16rem}.\\32xl\\:bottom-72{bottom:18rem}.\\32xl\\:bottom-80{bottom:20rem}.\\32xl\\:bottom-96{bottom:24rem}.\\32xl\\:bottom-auto{bottom:auto}.\\32xl\\:bottom-px{bottom:1px}.\\32xl\\:bottom-0\\.5{bottom:0.125rem}.\\32xl\\:bottom-1\\.5{bottom:0.375rem}.\\32xl\\:bottom-2\\.5{bottom:0.625rem}.\\32xl\\:bottom-3\\.5{bottom:0.875rem}.\\32xl\\:-bottom-0{bottom:0px}.\\32xl\\:-bottom-1{bottom:-0.25rem}.\\32xl\\:-bottom-2{bottom:-0.5rem}.\\32xl\\:-bottom-3{bottom:-0.75rem}.\\32xl\\:-bottom-4{bottom:-1rem}.\\32xl\\:-bottom-5{bottom:-1.25rem}.\\32xl\\:-bottom-6{bottom:-1.5rem}.\\32xl\\:-bottom-7{bottom:-1.75rem}.\\32xl\\:-bottom-8{bottom:-2rem}.\\32xl\\:-bottom-9{bottom:-2.25rem}.\\32xl\\:-bottom-10{bottom:-2.5rem}.\\32xl\\:-bottom-11{bottom:-2.75rem}.\\32xl\\:-bottom-12{bottom:-3rem}.\\32xl\\:-bottom-14{bottom:-3.5rem}.\\32xl\\:-bottom-16{bottom:-4rem}.\\32xl\\:-bottom-20{bottom:-5rem}.\\32xl\\:-bottom-24{bottom:-6rem}.\\32xl\\:-bottom-28{bottom:-7rem}.\\32xl\\:-bottom-32{bottom:-8rem}.\\32xl\\:-bottom-36{bottom:-9rem}.\\32xl\\:-bottom-40{bottom:-10rem}.\\32xl\\:-bottom-44{bottom:-11rem}.\\32xl\\:-bottom-48{bottom:-12rem}.\\32xl\\:-bottom-52{bottom:-13rem}.\\32xl\\:-bottom-56{bottom:-14rem}.\\32xl\\:-bottom-60{bottom:-15rem}.\\32xl\\:-bottom-64{bottom:-16rem}.\\32xl\\:-bottom-72{bottom:-18rem}.\\32xl\\:-bottom-80{bottom:-20rem}.\\32xl\\:-bottom-96{bottom:-24rem}.\\32xl\\:-bottom-px{bottom:-1px}.\\32xl\\:-bottom-0\\.5{bottom:-0.125rem}.\\32xl\\:-bottom-1\\.5{bottom:-0.375rem}.\\32xl\\:-bottom-2\\.5{bottom:-0.625rem}.\\32xl\\:-bottom-3\\.5{bottom:-0.875rem}.\\32xl\\:bottom-1\\/2{bottom:50%}.\\32xl\\:bottom-1\\/3{bottom:33.333333%}.\\32xl\\:bottom-2\\/3{bottom:66.666667%}.\\32xl\\:bottom-1\\/4{bottom:25%}.\\32xl\\:bottom-2\\/4{bottom:50%}.\\32xl\\:bottom-3\\/4{bottom:75%}.\\32xl\\:bottom-full{bottom:100%}.\\32xl\\:-bottom-1\\/2{bottom:-50%}.\\32xl\\:-bottom-1\\/3{bottom:-33.333333%}.\\32xl\\:-bottom-2\\/3{bottom:-66.666667%}.\\32xl\\:-bottom-1\\/4{bottom:-25%}.\\32xl\\:-bottom-2\\/4{bottom:-50%}.\\32xl\\:-bottom-3\\/4{bottom:-75%}.\\32xl\\:-bottom-full{bottom:-100%}.\\32xl\\:left-0{left:0px}.\\32xl\\:left-1{left:0.25rem}.\\32xl\\:left-2{left:0.5rem}.\\32xl\\:left-3{left:0.75rem}.\\32xl\\:left-4{left:1rem}.\\32xl\\:left-5{left:1.25rem}.\\32xl\\:left-6{left:1.5rem}.\\32xl\\:left-7{left:1.75rem}.\\32xl\\:left-8{left:2rem}.\\32xl\\:left-9{left:2.25rem}.\\32xl\\:left-10{left:2.5rem}.\\32xl\\:left-11{left:2.75rem}.\\32xl\\:left-12{left:3rem}.\\32xl\\:left-14{left:3.5rem}.\\32xl\\:left-16{left:4rem}.\\32xl\\:left-20{left:5rem}.\\32xl\\:left-24{left:6rem}.\\32xl\\:left-28{left:7rem}.\\32xl\\:left-32{left:8rem}.\\32xl\\:left-36{left:9rem}.\\32xl\\:left-40{left:10rem}.\\32xl\\:left-44{left:11rem}.\\32xl\\:left-48{left:12rem}.\\32xl\\:left-52{left:13rem}.\\32xl\\:left-56{left:14rem}.\\32xl\\:left-60{left:15rem}.\\32xl\\:left-64{left:16rem}.\\32xl\\:left-72{left:18rem}.\\32xl\\:left-80{left:20rem}.\\32xl\\:left-96{left:24rem}.\\32xl\\:left-auto{left:auto}.\\32xl\\:left-px{left:1px}.\\32xl\\:left-0\\.5{left:0.125rem}.\\32xl\\:left-1\\.5{left:0.375rem}.\\32xl\\:left-2\\.5{left:0.625rem}.\\32xl\\:left-3\\.5{left:0.875rem}.\\32xl\\:-left-0{left:0px}.\\32xl\\:-left-1{left:-0.25rem}.\\32xl\\:-left-2{left:-0.5rem}.\\32xl\\:-left-3{left:-0.75rem}.\\32xl\\:-left-4{left:-1rem}.\\32xl\\:-left-5{left:-1.25rem}.\\32xl\\:-left-6{left:-1.5rem}.\\32xl\\:-left-7{left:-1.75rem}.\\32xl\\:-left-8{left:-2rem}.\\32xl\\:-left-9{left:-2.25rem}.\\32xl\\:-left-10{left:-2.5rem}.\\32xl\\:-left-11{left:-2.75rem}.\\32xl\\:-left-12{left:-3rem}.\\32xl\\:-left-14{left:-3.5rem}.\\32xl\\:-left-16{left:-4rem}.\\32xl\\:-left-20{left:-5rem}.\\32xl\\:-left-24{left:-6rem}.\\32xl\\:-left-28{left:-7rem}.\\32xl\\:-left-32{left:-8rem}.\\32xl\\:-left-36{left:-9rem}.\\32xl\\:-left-40{left:-10rem}.\\32xl\\:-left-44{left:-11rem}.\\32xl\\:-left-48{left:-12rem}.\\32xl\\:-left-52{left:-13rem}.\\32xl\\:-left-56{left:-14rem}.\\32xl\\:-left-60{left:-15rem}.\\32xl\\:-left-64{left:-16rem}.\\32xl\\:-left-72{left:-18rem}.\\32xl\\:-left-80{left:-20rem}.\\32xl\\:-left-96{left:-24rem}.\\32xl\\:-left-px{left:-1px}.\\32xl\\:-left-0\\.5{left:-0.125rem}.\\32xl\\:-left-1\\.5{left:-0.375rem}.\\32xl\\:-left-2\\.5{left:-0.625rem}.\\32xl\\:-left-3\\.5{left:-0.875rem}.\\32xl\\:left-1\\/2{left:50%}.\\32xl\\:left-1\\/3{left:33.333333%}.\\32xl\\:left-2\\/3{left:66.666667%}.\\32xl\\:left-1\\/4{left:25%}.\\32xl\\:left-2\\/4{left:50%}.\\32xl\\:left-3\\/4{left:75%}.\\32xl\\:left-full{left:100%}.\\32xl\\:-left-1\\/2{left:-50%}.\\32xl\\:-left-1\\/3{left:-33.333333%}.\\32xl\\:-left-2\\/3{left:-66.666667%}.\\32xl\\:-left-1\\/4{left:-25%}.\\32xl\\:-left-2\\/4{left:-50%}.\\32xl\\:-left-3\\/4{left:-75%}.\\32xl\\:-left-full{left:-100%}.\\32xl\\:isolate{isolation:isolate}.\\32xl\\:isolation-auto{isolation:auto}.\\32xl\\:z-0{z-index:0}.\\32xl\\:z-10{z-index:10}.\\32xl\\:z-20{z-index:20}.\\32xl\\:z-30{z-index:30}.\\32xl\\:z-40{z-index:40}.\\32xl\\:z-50{z-index:50}.\\32xl\\:z-auto{z-index:auto}.\\32xl\\:focus-within\\:z-0:focus-within{z-index:0}.\\32xl\\:focus-within\\:z-10:focus-within{z-index:10}.\\32xl\\:focus-within\\:z-20:focus-within{z-index:20}.\\32xl\\:focus-within\\:z-30:focus-within{z-index:30}.\\32xl\\:focus-within\\:z-40:focus-within{z-index:40}.\\32xl\\:focus-within\\:z-50:focus-within{z-index:50}.\\32xl\\:focus-within\\:z-auto:focus-within{z-index:auto}.\\32xl\\:focus\\:z-0:focus{z-index:0}.\\32xl\\:focus\\:z-10:focus{z-index:10}.\\32xl\\:focus\\:z-20:focus{z-index:20}.\\32xl\\:focus\\:z-30:focus{z-index:30}.\\32xl\\:focus\\:z-40:focus{z-index:40}.\\32xl\\:focus\\:z-50:focus{z-index:50}.\\32xl\\:focus\\:z-auto:focus{z-index:auto}.\\32xl\\:order-1{order:1}.\\32xl\\:order-2{order:2}.\\32xl\\:order-3{order:3}.\\32xl\\:order-4{order:4}.\\32xl\\:order-5{order:5}.\\32xl\\:order-6{order:6}.\\32xl\\:order-7{order:7}.\\32xl\\:order-8{order:8}.\\32xl\\:order-9{order:9}.\\32xl\\:order-10{order:10}.\\32xl\\:order-11{order:11}.\\32xl\\:order-12{order:12}.\\32xl\\:order-first{order:-9999}.\\32xl\\:order-last{order:9999}.\\32xl\\:order-none{order:0}.\\32xl\\:col-auto{grid-column:auto}.\\32xl\\:col-span-1{grid-column:span 1 / span 1}.\\32xl\\:col-span-2{grid-column:span 2 / span 2}.\\32xl\\:col-span-3{grid-column:span 3 / span 3}.\\32xl\\:col-span-4{grid-column:span 4 / span 4}.\\32xl\\:col-span-5{grid-column:span 5 / span 5}.\\32xl\\:col-span-6{grid-column:span 6 / span 6}.\\32xl\\:col-span-7{grid-column:span 7 / span 7}.\\32xl\\:col-span-8{grid-column:span 8 / span 8}.\\32xl\\:col-span-9{grid-column:span 9 / span 9}.\\32xl\\:col-span-10{grid-column:span 10 / span 10}.\\32xl\\:col-span-11{grid-column:span 11 / span 11}.\\32xl\\:col-span-12{grid-column:span 12 / span 12}.\\32xl\\:col-span-full{grid-column:1 / -1}.\\32xl\\:col-start-1{grid-column-start:1}.\\32xl\\:col-start-2{grid-column-start:2}.\\32xl\\:col-start-3{grid-column-start:3}.\\32xl\\:col-start-4{grid-column-start:4}.\\32xl\\:col-start-5{grid-column-start:5}.\\32xl\\:col-start-6{grid-column-start:6}.\\32xl\\:col-start-7{grid-column-start:7}.\\32xl\\:col-start-8{grid-column-start:8}.\\32xl\\:col-start-9{grid-column-start:9}.\\32xl\\:col-start-10{grid-column-start:10}.\\32xl\\:col-start-11{grid-column-start:11}.\\32xl\\:col-start-12{grid-column-start:12}.\\32xl\\:col-start-13{grid-column-start:13}.\\32xl\\:col-start-auto{grid-column-start:auto}.\\32xl\\:col-end-1{grid-column-end:1}.\\32xl\\:col-end-2{grid-column-end:2}.\\32xl\\:col-end-3{grid-column-end:3}.\\32xl\\:col-end-4{grid-column-end:4}.\\32xl\\:col-end-5{grid-column-end:5}.\\32xl\\:col-end-6{grid-column-end:6}.\\32xl\\:col-end-7{grid-column-end:7}.\\32xl\\:col-end-8{grid-column-end:8}.\\32xl\\:col-end-9{grid-column-end:9}.\\32xl\\:col-end-10{grid-column-end:10}.\\32xl\\:col-end-11{grid-column-end:11}.\\32xl\\:col-end-12{grid-column-end:12}.\\32xl\\:col-end-13{grid-column-end:13}.\\32xl\\:col-end-auto{grid-column-end:auto}.\\32xl\\:row-auto{grid-row:auto}.\\32xl\\:row-span-1{grid-row:span 1 / span 1}.\\32xl\\:row-span-2{grid-row:span 2 / span 2}.\\32xl\\:row-span-3{grid-row:span 3 / span 3}.\\32xl\\:row-span-4{grid-row:span 4 / span 4}.\\32xl\\:row-span-5{grid-row:span 5 / span 5}.\\32xl\\:row-span-6{grid-row:span 6 / span 6}.\\32xl\\:row-span-full{grid-row:1 / -1}.\\32xl\\:row-start-1{grid-row-start:1}.\\32xl\\:row-start-2{grid-row-start:2}.\\32xl\\:row-start-3{grid-row-start:3}.\\32xl\\:row-start-4{grid-row-start:4}.\\32xl\\:row-start-5{grid-row-start:5}.\\32xl\\:row-start-6{grid-row-start:6}.\\32xl\\:row-start-7{grid-row-start:7}.\\32xl\\:row-start-auto{grid-row-start:auto}.\\32xl\\:row-end-1{grid-row-end:1}.\\32xl\\:row-end-2{grid-row-end:2}.\\32xl\\:row-end-3{grid-row-end:3}.\\32xl\\:row-end-4{grid-row-end:4}.\\32xl\\:row-end-5{grid-row-end:5}.\\32xl\\:row-end-6{grid-row-end:6}.\\32xl\\:row-end-7{grid-row-end:7}.\\32xl\\:row-end-auto{grid-row-end:auto}.\\32xl\\:float-right{float:right}.\\32xl\\:float-left{float:left}.\\32xl\\:float-none{float:none}.\\32xl\\:clear-left{clear:left}.\\32xl\\:clear-right{clear:right}.\\32xl\\:clear-both{clear:both}.\\32xl\\:clear-none{clear:none}.\\32xl\\:m-0{margin:0px}.\\32xl\\:m-1{margin:0.25rem}.\\32xl\\:m-2{margin:0.5rem}.\\32xl\\:m-3{margin:0.75rem}.\\32xl\\:m-4{margin:1rem}.\\32xl\\:m-5{margin:1.25rem}.\\32xl\\:m-6{margin:1.5rem}.\\32xl\\:m-7{margin:1.75rem}.\\32xl\\:m-8{margin:2rem}.\\32xl\\:m-9{margin:2.25rem}.\\32xl\\:m-10{margin:2.5rem}.\\32xl\\:m-11{margin:2.75rem}.\\32xl\\:m-12{margin:3rem}.\\32xl\\:m-14{margin:3.5rem}.\\32xl\\:m-16{margin:4rem}.\\32xl\\:m-20{margin:5rem}.\\32xl\\:m-24{margin:6rem}.\\32xl\\:m-28{margin:7rem}.\\32xl\\:m-32{margin:8rem}.\\32xl\\:m-36{margin:9rem}.\\32xl\\:m-40{margin:10rem}.\\32xl\\:m-44{margin:11rem}.\\32xl\\:m-48{margin:12rem}.\\32xl\\:m-52{margin:13rem}.\\32xl\\:m-56{margin:14rem}.\\32xl\\:m-60{margin:15rem}.\\32xl\\:m-64{margin:16rem}.\\32xl\\:m-72{margin:18rem}.\\32xl\\:m-80{margin:20rem}.\\32xl\\:m-96{margin:24rem}.\\32xl\\:m-auto{margin:auto}.\\32xl\\:m-px{margin:1px}.\\32xl\\:m-0\\.5{margin:0.125rem}.\\32xl\\:m-1\\.5{margin:0.375rem}.\\32xl\\:m-2\\.5{margin:0.625rem}.\\32xl\\:m-3\\.5{margin:0.875rem}.\\32xl\\:-m-0{margin:0px}.\\32xl\\:-m-1{margin:-0.25rem}.\\32xl\\:-m-2{margin:-0.5rem}.\\32xl\\:-m-3{margin:-0.75rem}.\\32xl\\:-m-4{margin:-1rem}.\\32xl\\:-m-5{margin:-1.25rem}.\\32xl\\:-m-6{margin:-1.5rem}.\\32xl\\:-m-7{margin:-1.75rem}.\\32xl\\:-m-8{margin:-2rem}.\\32xl\\:-m-9{margin:-2.25rem}.\\32xl\\:-m-10{margin:-2.5rem}.\\32xl\\:-m-11{margin:-2.75rem}.\\32xl\\:-m-12{margin:-3rem}.\\32xl\\:-m-14{margin:-3.5rem}.\\32xl\\:-m-16{margin:-4rem}.\\32xl\\:-m-20{margin:-5rem}.\\32xl\\:-m-24{margin:-6rem}.\\32xl\\:-m-28{margin:-7rem}.\\32xl\\:-m-32{margin:-8rem}.\\32xl\\:-m-36{margin:-9rem}.\\32xl\\:-m-40{margin:-10rem}.\\32xl\\:-m-44{margin:-11rem}.\\32xl\\:-m-48{margin:-12rem}.\\32xl\\:-m-52{margin:-13rem}.\\32xl\\:-m-56{margin:-14rem}.\\32xl\\:-m-60{margin:-15rem}.\\32xl\\:-m-64{margin:-16rem}.\\32xl\\:-m-72{margin:-18rem}.\\32xl\\:-m-80{margin:-20rem}.\\32xl\\:-m-96{margin:-24rem}.\\32xl\\:-m-px{margin:-1px}.\\32xl\\:-m-0\\.5{margin:-0.125rem}.\\32xl\\:-m-1\\.5{margin:-0.375rem}.\\32xl\\:-m-2\\.5{margin:-0.625rem}.\\32xl\\:-m-3\\.5{margin:-0.875rem}.\\32xl\\:mx-0{margin-left:0px;margin-right:0px}.\\32xl\\:mx-1{margin-left:0.25rem;margin-right:0.25rem}.\\32xl\\:mx-2{margin-left:0.5rem;margin-right:0.5rem}.\\32xl\\:mx-3{margin-left:0.75rem;margin-right:0.75rem}.\\32xl\\:mx-4{margin-left:1rem;margin-right:1rem}.\\32xl\\:mx-5{margin-left:1.25rem;margin-right:1.25rem}.\\32xl\\:mx-6{margin-left:1.5rem;margin-right:1.5rem}.\\32xl\\:mx-7{margin-left:1.75rem;margin-right:1.75rem}.\\32xl\\:mx-8{margin-left:2rem;margin-right:2rem}.\\32xl\\:mx-9{margin-left:2.25rem;margin-right:2.25rem}.\\32xl\\:mx-10{margin-left:2.5rem;margin-right:2.5rem}.\\32xl\\:mx-11{margin-left:2.75rem;margin-right:2.75rem}.\\32xl\\:mx-12{margin-left:3rem;margin-right:3rem}.\\32xl\\:mx-14{margin-left:3.5rem;margin-right:3.5rem}.\\32xl\\:mx-16{margin-left:4rem;margin-right:4rem}.\\32xl\\:mx-20{margin-left:5rem;margin-right:5rem}.\\32xl\\:mx-24{margin-left:6rem;margin-right:6rem}.\\32xl\\:mx-28{margin-left:7rem;margin-right:7rem}.\\32xl\\:mx-32{margin-left:8rem;margin-right:8rem}.\\32xl\\:mx-36{margin-left:9rem;margin-right:9rem}.\\32xl\\:mx-40{margin-left:10rem;margin-right:10rem}.\\32xl\\:mx-44{margin-left:11rem;margin-right:11rem}.\\32xl\\:mx-48{margin-left:12rem;margin-right:12rem}.\\32xl\\:mx-52{margin-left:13rem;margin-right:13rem}.\\32xl\\:mx-56{margin-left:14rem;margin-right:14rem}.\\32xl\\:mx-60{margin-left:15rem;margin-right:15rem}.\\32xl\\:mx-64{margin-left:16rem;margin-right:16rem}.\\32xl\\:mx-72{margin-left:18rem;margin-right:18rem}.\\32xl\\:mx-80{margin-left:20rem;margin-right:20rem}.\\32xl\\:mx-96{margin-left:24rem;margin-right:24rem}.\\32xl\\:mx-auto{margin-left:auto;margin-right:auto}.\\32xl\\:mx-px{margin-left:1px;margin-right:1px}.\\32xl\\:mx-0\\.5{margin-left:0.125rem;margin-right:0.125rem}.\\32xl\\:mx-1\\.5{margin-left:0.375rem;margin-right:0.375rem}.\\32xl\\:mx-2\\.5{margin-left:0.625rem;margin-right:0.625rem}.\\32xl\\:mx-3\\.5{margin-left:0.875rem;margin-right:0.875rem}.\\32xl\\:-mx-0{margin-left:0px;margin-right:0px}.\\32xl\\:-mx-1{margin-left:-0.25rem;margin-right:-0.25rem}.\\32xl\\:-mx-2{margin-left:-0.5rem;margin-right:-0.5rem}.\\32xl\\:-mx-3{margin-left:-0.75rem;margin-right:-0.75rem}.\\32xl\\:-mx-4{margin-left:-1rem;margin-right:-1rem}.\\32xl\\:-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.\\32xl\\:-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.\\32xl\\:-mx-7{margin-left:-1.75rem;margin-right:-1.75rem}.\\32xl\\:-mx-8{margin-left:-2rem;margin-right:-2rem}.\\32xl\\:-mx-9{margin-left:-2.25rem;margin-right:-2.25rem}.\\32xl\\:-mx-10{margin-left:-2.5rem;margin-right:-2.5rem}.\\32xl\\:-mx-11{margin-left:-2.75rem;margin-right:-2.75rem}.\\32xl\\:-mx-12{margin-left:-3rem;margin-right:-3rem}.\\32xl\\:-mx-14{margin-left:-3.5rem;margin-right:-3.5rem}.\\32xl\\:-mx-16{margin-left:-4rem;margin-right:-4rem}.\\32xl\\:-mx-20{margin-left:-5rem;margin-right:-5rem}.\\32xl\\:-mx-24{margin-left:-6rem;margin-right:-6rem}.\\32xl\\:-mx-28{margin-left:-7rem;margin-right:-7rem}.\\32xl\\:-mx-32{margin-left:-8rem;margin-right:-8rem}.\\32xl\\:-mx-36{margin-left:-9rem;margin-right:-9rem}.\\32xl\\:-mx-40{margin-left:-10rem;margin-right:-10rem}.\\32xl\\:-mx-44{margin-left:-11rem;margin-right:-11rem}.\\32xl\\:-mx-48{margin-left:-12rem;margin-right:-12rem}.\\32xl\\:-mx-52{margin-left:-13rem;margin-right:-13rem}.\\32xl\\:-mx-56{margin-left:-14rem;margin-right:-14rem}.\\32xl\\:-mx-60{margin-left:-15rem;margin-right:-15rem}.\\32xl\\:-mx-64{margin-left:-16rem;margin-right:-16rem}.\\32xl\\:-mx-72{margin-left:-18rem;margin-right:-18rem}.\\32xl\\:-mx-80{margin-left:-20rem;margin-right:-20rem}.\\32xl\\:-mx-96{margin-left:-24rem;margin-right:-24rem}.\\32xl\\:-mx-px{margin-left:-1px;margin-right:-1px}.\\32xl\\:-mx-0\\.5{margin-left:-0.125rem;margin-right:-0.125rem}.\\32xl\\:-mx-1\\.5{margin-left:-0.375rem;margin-right:-0.375rem}.\\32xl\\:-mx-2\\.5{margin-left:-0.625rem;margin-right:-0.625rem}.\\32xl\\:-mx-3\\.5{margin-left:-0.875rem;margin-right:-0.875rem}.\\32xl\\:my-0{margin-top:0px;margin-bottom:0px}.\\32xl\\:my-1{margin-top:0.25rem;margin-bottom:0.25rem}.\\32xl\\:my-2{margin-top:0.5rem;margin-bottom:0.5rem}.\\32xl\\:my-3{margin-top:0.75rem;margin-bottom:0.75rem}.\\32xl\\:my-4{margin-top:1rem;margin-bottom:1rem}.\\32xl\\:my-5{margin-top:1.25rem;margin-bottom:1.25rem}.\\32xl\\:my-6{margin-top:1.5rem;margin-bottom:1.5rem}.\\32xl\\:my-7{margin-top:1.75rem;margin-bottom:1.75rem}.\\32xl\\:my-8{margin-top:2rem;margin-bottom:2rem}.\\32xl\\:my-9{margin-top:2.25rem;margin-bottom:2.25rem}.\\32xl\\:my-10{margin-top:2.5rem;margin-bottom:2.5rem}.\\32xl\\:my-11{margin-top:2.75rem;margin-bottom:2.75rem}.\\32xl\\:my-12{margin-top:3rem;margin-bottom:3rem}.\\32xl\\:my-14{margin-top:3.5rem;margin-bottom:3.5rem}.\\32xl\\:my-16{margin-top:4rem;margin-bottom:4rem}.\\32xl\\:my-20{margin-top:5rem;margin-bottom:5rem}.\\32xl\\:my-24{margin-top:6rem;margin-bottom:6rem}.\\32xl\\:my-28{margin-top:7rem;margin-bottom:7rem}.\\32xl\\:my-32{margin-top:8rem;margin-bottom:8rem}.\\32xl\\:my-36{margin-top:9rem;margin-bottom:9rem}.\\32xl\\:my-40{margin-top:10rem;margin-bottom:10rem}.\\32xl\\:my-44{margin-top:11rem;margin-bottom:11rem}.\\32xl\\:my-48{margin-top:12rem;margin-bottom:12rem}.\\32xl\\:my-52{margin-top:13rem;margin-bottom:13rem}.\\32xl\\:my-56{margin-top:14rem;margin-bottom:14rem}.\\32xl\\:my-60{margin-top:15rem;margin-bottom:15rem}.\\32xl\\:my-64{margin-top:16rem;margin-bottom:16rem}.\\32xl\\:my-72{margin-top:18rem;margin-bottom:18rem}.\\32xl\\:my-80{margin-top:20rem;margin-bottom:20rem}.\\32xl\\:my-96{margin-top:24rem;margin-bottom:24rem}.\\32xl\\:my-auto{margin-top:auto;margin-bottom:auto}.\\32xl\\:my-px{margin-top:1px;margin-bottom:1px}.\\32xl\\:my-0\\.5{margin-top:0.125rem;margin-bottom:0.125rem}.\\32xl\\:my-1\\.5{margin-top:0.375rem;margin-bottom:0.375rem}.\\32xl\\:my-2\\.5{margin-top:0.625rem;margin-bottom:0.625rem}.\\32xl\\:my-3\\.5{margin-top:0.875rem;margin-bottom:0.875rem}.\\32xl\\:-my-0{margin-top:0px;margin-bottom:0px}.\\32xl\\:-my-1{margin-top:-0.25rem;margin-bottom:-0.25rem}.\\32xl\\:-my-2{margin-top:-0.5rem;margin-bottom:-0.5rem}.\\32xl\\:-my-3{margin-top:-0.75rem;margin-bottom:-0.75rem}.\\32xl\\:-my-4{margin-top:-1rem;margin-bottom:-1rem}.\\32xl\\:-my-5{margin-top:-1.25rem;margin-bottom:-1.25rem}.\\32xl\\:-my-6{margin-top:-1.5rem;margin-bottom:-1.5rem}.\\32xl\\:-my-7{margin-top:-1.75rem;margin-bottom:-1.75rem}.\\32xl\\:-my-8{margin-top:-2rem;margin-bottom:-2rem}.\\32xl\\:-my-9{margin-top:-2.25rem;margin-bottom:-2.25rem}.\\32xl\\:-my-10{margin-top:-2.5rem;margin-bottom:-2.5rem}.\\32xl\\:-my-11{margin-top:-2.75rem;margin-bottom:-2.75rem}.\\32xl\\:-my-12{margin-top:-3rem;margin-bottom:-3rem}.\\32xl\\:-my-14{margin-top:-3.5rem;margin-bottom:-3.5rem}.\\32xl\\:-my-16{margin-top:-4rem;margin-bottom:-4rem}.\\32xl\\:-my-20{margin-top:-5rem;margin-bottom:-5rem}.\\32xl\\:-my-24{margin-top:-6rem;margin-bottom:-6rem}.\\32xl\\:-my-28{margin-top:-7rem;margin-bottom:-7rem}.\\32xl\\:-my-32{margin-top:-8rem;margin-bottom:-8rem}.\\32xl\\:-my-36{margin-top:-9rem;margin-bottom:-9rem}.\\32xl\\:-my-40{margin-top:-10rem;margin-bottom:-10rem}.\\32xl\\:-my-44{margin-top:-11rem;margin-bottom:-11rem}.\\32xl\\:-my-48{margin-top:-12rem;margin-bottom:-12rem}.\\32xl\\:-my-52{margin-top:-13rem;margin-bottom:-13rem}.\\32xl\\:-my-56{margin-top:-14rem;margin-bottom:-14rem}.\\32xl\\:-my-60{margin-top:-15rem;margin-bottom:-15rem}.\\32xl\\:-my-64{margin-top:-16rem;margin-bottom:-16rem}.\\32xl\\:-my-72{margin-top:-18rem;margin-bottom:-18rem}.\\32xl\\:-my-80{margin-top:-20rem;margin-bottom:-20rem}.\\32xl\\:-my-96{margin-top:-24rem;margin-bottom:-24rem}.\\32xl\\:-my-px{margin-top:-1px;margin-bottom:-1px}.\\32xl\\:-my-0\\.5{margin-top:-0.125rem;margin-bottom:-0.125rem}.\\32xl\\:-my-1\\.5{margin-top:-0.375rem;margin-bottom:-0.375rem}.\\32xl\\:-my-2\\.5{margin-top:-0.625rem;margin-bottom:-0.625rem}.\\32xl\\:-my-3\\.5{margin-top:-0.875rem;margin-bottom:-0.875rem}.\\32xl\\:mt-0{margin-top:0px}.\\32xl\\:mt-1{margin-top:0.25rem}.\\32xl\\:mt-2{margin-top:0.5rem}.\\32xl\\:mt-3{margin-top:0.75rem}.\\32xl\\:mt-4{margin-top:1rem}.\\32xl\\:mt-5{margin-top:1.25rem}.\\32xl\\:mt-6{margin-top:1.5rem}.\\32xl\\:mt-7{margin-top:1.75rem}.\\32xl\\:mt-8{margin-top:2rem}.\\32xl\\:mt-9{margin-top:2.25rem}.\\32xl\\:mt-10{margin-top:2.5rem}.\\32xl\\:mt-11{margin-top:2.75rem}.\\32xl\\:mt-12{margin-top:3rem}.\\32xl\\:mt-14{margin-top:3.5rem}.\\32xl\\:mt-16{margin-top:4rem}.\\32xl\\:mt-20{margin-top:5rem}.\\32xl\\:mt-24{margin-top:6rem}.\\32xl\\:mt-28{margin-top:7rem}.\\32xl\\:mt-32{margin-top:8rem}.\\32xl\\:mt-36{margin-top:9rem}.\\32xl\\:mt-40{margin-top:10rem}.\\32xl\\:mt-44{margin-top:11rem}.\\32xl\\:mt-48{margin-top:12rem}.\\32xl\\:mt-52{margin-top:13rem}.\\32xl\\:mt-56{margin-top:14rem}.\\32xl\\:mt-60{margin-top:15rem}.\\32xl\\:mt-64{margin-top:16rem}.\\32xl\\:mt-72{margin-top:18rem}.\\32xl\\:mt-80{margin-top:20rem}.\\32xl\\:mt-96{margin-top:24rem}.\\32xl\\:mt-auto{margin-top:auto}.\\32xl\\:mt-px{margin-top:1px}.\\32xl\\:mt-0\\.5{margin-top:0.125rem}.\\32xl\\:mt-1\\.5{margin-top:0.375rem}.\\32xl\\:mt-2\\.5{margin-top:0.625rem}.\\32xl\\:mt-3\\.5{margin-top:0.875rem}.\\32xl\\:-mt-0{margin-top:0px}.\\32xl\\:-mt-1{margin-top:-0.25rem}.\\32xl\\:-mt-2{margin-top:-0.5rem}.\\32xl\\:-mt-3{margin-top:-0.75rem}.\\32xl\\:-mt-4{margin-top:-1rem}.\\32xl\\:-mt-5{margin-top:-1.25rem}.\\32xl\\:-mt-6{margin-top:-1.5rem}.\\32xl\\:-mt-7{margin-top:-1.75rem}.\\32xl\\:-mt-8{margin-top:-2rem}.\\32xl\\:-mt-9{margin-top:-2.25rem}.\\32xl\\:-mt-10{margin-top:-2.5rem}.\\32xl\\:-mt-11{margin-top:-2.75rem}.\\32xl\\:-mt-12{margin-top:-3rem}.\\32xl\\:-mt-14{margin-top:-3.5rem}.\\32xl\\:-mt-16{margin-top:-4rem}.\\32xl\\:-mt-20{margin-top:-5rem}.\\32xl\\:-mt-24{margin-top:-6rem}.\\32xl\\:-mt-28{margin-top:-7rem}.\\32xl\\:-mt-32{margin-top:-8rem}.\\32xl\\:-mt-36{margin-top:-9rem}.\\32xl\\:-mt-40{margin-top:-10rem}.\\32xl\\:-mt-44{margin-top:-11rem}.\\32xl\\:-mt-48{margin-top:-12rem}.\\32xl\\:-mt-52{margin-top:-13rem}.\\32xl\\:-mt-56{margin-top:-14rem}.\\32xl\\:-mt-60{margin-top:-15rem}.\\32xl\\:-mt-64{margin-top:-16rem}.\\32xl\\:-mt-72{margin-top:-18rem}.\\32xl\\:-mt-80{margin-top:-20rem}.\\32xl\\:-mt-96{margin-top:-24rem}.\\32xl\\:-mt-px{margin-top:-1px}.\\32xl\\:-mt-0\\.5{margin-top:-0.125rem}.\\32xl\\:-mt-1\\.5{margin-top:-0.375rem}.\\32xl\\:-mt-2\\.5{margin-top:-0.625rem}.\\32xl\\:-mt-3\\.5{margin-top:-0.875rem}.\\32xl\\:mr-0{margin-right:0px}.\\32xl\\:mr-1{margin-right:0.25rem}.\\32xl\\:mr-2{margin-right:0.5rem}.\\32xl\\:mr-3{margin-right:0.75rem}.\\32xl\\:mr-4{margin-right:1rem}.\\32xl\\:mr-5{margin-right:1.25rem}.\\32xl\\:mr-6{margin-right:1.5rem}.\\32xl\\:mr-7{margin-right:1.75rem}.\\32xl\\:mr-8{margin-right:2rem}.\\32xl\\:mr-9{margin-right:2.25rem}.\\32xl\\:mr-10{margin-right:2.5rem}.\\32xl\\:mr-11{margin-right:2.75rem}.\\32xl\\:mr-12{margin-right:3rem}.\\32xl\\:mr-14{margin-right:3.5rem}.\\32xl\\:mr-16{margin-right:4rem}.\\32xl\\:mr-20{margin-right:5rem}.\\32xl\\:mr-24{margin-right:6rem}.\\32xl\\:mr-28{margin-right:7rem}.\\32xl\\:mr-32{margin-right:8rem}.\\32xl\\:mr-36{margin-right:9rem}.\\32xl\\:mr-40{margin-right:10rem}.\\32xl\\:mr-44{margin-right:11rem}.\\32xl\\:mr-48{margin-right:12rem}.\\32xl\\:mr-52{margin-right:13rem}.\\32xl\\:mr-56{margin-right:14rem}.\\32xl\\:mr-60{margin-right:15rem}.\\32xl\\:mr-64{margin-right:16rem}.\\32xl\\:mr-72{margin-right:18rem}.\\32xl\\:mr-80{margin-right:20rem}.\\32xl\\:mr-96{margin-right:24rem}.\\32xl\\:mr-auto{margin-right:auto}.\\32xl\\:mr-px{margin-right:1px}.\\32xl\\:mr-0\\.5{margin-right:0.125rem}.\\32xl\\:mr-1\\.5{margin-right:0.375rem}.\\32xl\\:mr-2\\.5{margin-right:0.625rem}.\\32xl\\:mr-3\\.5{margin-right:0.875rem}.\\32xl\\:-mr-0{margin-right:0px}.\\32xl\\:-mr-1{margin-right:-0.25rem}.\\32xl\\:-mr-2{margin-right:-0.5rem}.\\32xl\\:-mr-3{margin-right:-0.75rem}.\\32xl\\:-mr-4{margin-right:-1rem}.\\32xl\\:-mr-5{margin-right:-1.25rem}.\\32xl\\:-mr-6{margin-right:-1.5rem}.\\32xl\\:-mr-7{margin-right:-1.75rem}.\\32xl\\:-mr-8{margin-right:-2rem}.\\32xl\\:-mr-9{margin-right:-2.25rem}.\\32xl\\:-mr-10{margin-right:-2.5rem}.\\32xl\\:-mr-11{margin-right:-2.75rem}.\\32xl\\:-mr-12{margin-right:-3rem}.\\32xl\\:-mr-14{margin-right:-3.5rem}.\\32xl\\:-mr-16{margin-right:-4rem}.\\32xl\\:-mr-20{margin-right:-5rem}.\\32xl\\:-mr-24{margin-right:-6rem}.\\32xl\\:-mr-28{margin-right:-7rem}.\\32xl\\:-mr-32{margin-right:-8rem}.\\32xl\\:-mr-36{margin-right:-9rem}.\\32xl\\:-mr-40{margin-right:-10rem}.\\32xl\\:-mr-44{margin-right:-11rem}.\\32xl\\:-mr-48{margin-right:-12rem}.\\32xl\\:-mr-52{margin-right:-13rem}.\\32xl\\:-mr-56{margin-right:-14rem}.\\32xl\\:-mr-60{margin-right:-15rem}.\\32xl\\:-mr-64{margin-right:-16rem}.\\32xl\\:-mr-72{margin-right:-18rem}.\\32xl\\:-mr-80{margin-right:-20rem}.\\32xl\\:-mr-96{margin-right:-24rem}.\\32xl\\:-mr-px{margin-right:-1px}.\\32xl\\:-mr-0\\.5{margin-right:-0.125rem}.\\32xl\\:-mr-1\\.5{margin-right:-0.375rem}.\\32xl\\:-mr-2\\.5{margin-right:-0.625rem}.\\32xl\\:-mr-3\\.5{margin-right:-0.875rem}.\\32xl\\:mb-0{margin-bottom:0px}.\\32xl\\:mb-1{margin-bottom:0.25rem}.\\32xl\\:mb-2{margin-bottom:0.5rem}.\\32xl\\:mb-3{margin-bottom:0.75rem}.\\32xl\\:mb-4{margin-bottom:1rem}.\\32xl\\:mb-5{margin-bottom:1.25rem}.\\32xl\\:mb-6{margin-bottom:1.5rem}.\\32xl\\:mb-7{margin-bottom:1.75rem}.\\32xl\\:mb-8{margin-bottom:2rem}.\\32xl\\:mb-9{margin-bottom:2.25rem}.\\32xl\\:mb-10{margin-bottom:2.5rem}.\\32xl\\:mb-11{margin-bottom:2.75rem}.\\32xl\\:mb-12{margin-bottom:3rem}.\\32xl\\:mb-14{margin-bottom:3.5rem}.\\32xl\\:mb-16{margin-bottom:4rem}.\\32xl\\:mb-20{margin-bottom:5rem}.\\32xl\\:mb-24{margin-bottom:6rem}.\\32xl\\:mb-28{margin-bottom:7rem}.\\32xl\\:mb-32{margin-bottom:8rem}.\\32xl\\:mb-36{margin-bottom:9rem}.\\32xl\\:mb-40{margin-bottom:10rem}.\\32xl\\:mb-44{margin-bottom:11rem}.\\32xl\\:mb-48{margin-bottom:12rem}.\\32xl\\:mb-52{margin-bottom:13rem}.\\32xl\\:mb-56{margin-bottom:14rem}.\\32xl\\:mb-60{margin-bottom:15rem}.\\32xl\\:mb-64{margin-bottom:16rem}.\\32xl\\:mb-72{margin-bottom:18rem}.\\32xl\\:mb-80{margin-bottom:20rem}.\\32xl\\:mb-96{margin-bottom:24rem}.\\32xl\\:mb-auto{margin-bottom:auto}.\\32xl\\:mb-px{margin-bottom:1px}.\\32xl\\:mb-0\\.5{margin-bottom:0.125rem}.\\32xl\\:mb-1\\.5{margin-bottom:0.375rem}.\\32xl\\:mb-2\\.5{margin-bottom:0.625rem}.\\32xl\\:mb-3\\.5{margin-bottom:0.875rem}.\\32xl\\:-mb-0{margin-bottom:0px}.\\32xl\\:-mb-1{margin-bottom:-0.25rem}.\\32xl\\:-mb-2{margin-bottom:-0.5rem}.\\32xl\\:-mb-3{margin-bottom:-0.75rem}.\\32xl\\:-mb-4{margin-bottom:-1rem}.\\32xl\\:-mb-5{margin-bottom:-1.25rem}.\\32xl\\:-mb-6{margin-bottom:-1.5rem}.\\32xl\\:-mb-7{margin-bottom:-1.75rem}.\\32xl\\:-mb-8{margin-bottom:-2rem}.\\32xl\\:-mb-9{margin-bottom:-2.25rem}.\\32xl\\:-mb-10{margin-bottom:-2.5rem}.\\32xl\\:-mb-11{margin-bottom:-2.75rem}.\\32xl\\:-mb-12{margin-bottom:-3rem}.\\32xl\\:-mb-14{margin-bottom:-3.5rem}.\\32xl\\:-mb-16{margin-bottom:-4rem}.\\32xl\\:-mb-20{margin-bottom:-5rem}.\\32xl\\:-mb-24{margin-bottom:-6rem}.\\32xl\\:-mb-28{margin-bottom:-7rem}.\\32xl\\:-mb-32{margin-bottom:-8rem}.\\32xl\\:-mb-36{margin-bottom:-9rem}.\\32xl\\:-mb-40{margin-bottom:-10rem}.\\32xl\\:-mb-44{margin-bottom:-11rem}.\\32xl\\:-mb-48{margin-bottom:-12rem}.\\32xl\\:-mb-52{margin-bottom:-13rem}.\\32xl\\:-mb-56{margin-bottom:-14rem}.\\32xl\\:-mb-60{margin-bottom:-15rem}.\\32xl\\:-mb-64{margin-bottom:-16rem}.\\32xl\\:-mb-72{margin-bottom:-18rem}.\\32xl\\:-mb-80{margin-bottom:-20rem}.\\32xl\\:-mb-96{margin-bottom:-24rem}.\\32xl\\:-mb-px{margin-bottom:-1px}.\\32xl\\:-mb-0\\.5{margin-bottom:-0.125rem}.\\32xl\\:-mb-1\\.5{margin-bottom:-0.375rem}.\\32xl\\:-mb-2\\.5{margin-bottom:-0.625rem}.\\32xl\\:-mb-3\\.5{margin-bottom:-0.875rem}.\\32xl\\:ml-0{margin-left:0px}.\\32xl\\:ml-1{margin-left:0.25rem}.\\32xl\\:ml-2{margin-left:0.5rem}.\\32xl\\:ml-3{margin-left:0.75rem}.\\32xl\\:ml-4{margin-left:1rem}.\\32xl\\:ml-5{margin-left:1.25rem}.\\32xl\\:ml-6{margin-left:1.5rem}.\\32xl\\:ml-7{margin-left:1.75rem}.\\32xl\\:ml-8{margin-left:2rem}.\\32xl\\:ml-9{margin-left:2.25rem}.\\32xl\\:ml-10{margin-left:2.5rem}.\\32xl\\:ml-11{margin-left:2.75rem}.\\32xl\\:ml-12{margin-left:3rem}.\\32xl\\:ml-14{margin-left:3.5rem}.\\32xl\\:ml-16{margin-left:4rem}.\\32xl\\:ml-20{margin-left:5rem}.\\32xl\\:ml-24{margin-left:6rem}.\\32xl\\:ml-28{margin-left:7rem}.\\32xl\\:ml-32{margin-left:8rem}.\\32xl\\:ml-36{margin-left:9rem}.\\32xl\\:ml-40{margin-left:10rem}.\\32xl\\:ml-44{margin-left:11rem}.\\32xl\\:ml-48{margin-left:12rem}.\\32xl\\:ml-52{margin-left:13rem}.\\32xl\\:ml-56{margin-left:14rem}.\\32xl\\:ml-60{margin-left:15rem}.\\32xl\\:ml-64{margin-left:16rem}.\\32xl\\:ml-72{margin-left:18rem}.\\32xl\\:ml-80{margin-left:20rem}.\\32xl\\:ml-96{margin-left:24rem}.\\32xl\\:ml-auto{margin-left:auto}.\\32xl\\:ml-px{margin-left:1px}.\\32xl\\:ml-0\\.5{margin-left:0.125rem}.\\32xl\\:ml-1\\.5{margin-left:0.375rem}.\\32xl\\:ml-2\\.5{margin-left:0.625rem}.\\32xl\\:ml-3\\.5{margin-left:0.875rem}.\\32xl\\:-ml-0{margin-left:0px}.\\32xl\\:-ml-1{margin-left:-0.25rem}.\\32xl\\:-ml-2{margin-left:-0.5rem}.\\32xl\\:-ml-3{margin-left:-0.75rem}.\\32xl\\:-ml-4{margin-left:-1rem}.\\32xl\\:-ml-5{margin-left:-1.25rem}.\\32xl\\:-ml-6{margin-left:-1.5rem}.\\32xl\\:-ml-7{margin-left:-1.75rem}.\\32xl\\:-ml-8{margin-left:-2rem}.\\32xl\\:-ml-9{margin-left:-2.25rem}.\\32xl\\:-ml-10{margin-left:-2.5rem}.\\32xl\\:-ml-11{margin-left:-2.75rem}.\\32xl\\:-ml-12{margin-left:-3rem}.\\32xl\\:-ml-14{margin-left:-3.5rem}.\\32xl\\:-ml-16{margin-left:-4rem}.\\32xl\\:-ml-20{margin-left:-5rem}.\\32xl\\:-ml-24{margin-left:-6rem}.\\32xl\\:-ml-28{margin-left:-7rem}.\\32xl\\:-ml-32{margin-left:-8rem}.\\32xl\\:-ml-36{margin-left:-9rem}.\\32xl\\:-ml-40{margin-left:-10rem}.\\32xl\\:-ml-44{margin-left:-11rem}.\\32xl\\:-ml-48{margin-left:-12rem}.\\32xl\\:-ml-52{margin-left:-13rem}.\\32xl\\:-ml-56{margin-left:-14rem}.\\32xl\\:-ml-60{margin-left:-15rem}.\\32xl\\:-ml-64{margin-left:-16rem}.\\32xl\\:-ml-72{margin-left:-18rem}.\\32xl\\:-ml-80{margin-left:-20rem}.\\32xl\\:-ml-96{margin-left:-24rem}.\\32xl\\:-ml-px{margin-left:-1px}.\\32xl\\:-ml-0\\.5{margin-left:-0.125rem}.\\32xl\\:-ml-1\\.5{margin-left:-0.375rem}.\\32xl\\:-ml-2\\.5{margin-left:-0.625rem}.\\32xl\\:-ml-3\\.5{margin-left:-0.875rem}.\\32xl\\:box-border{box-sizing:border-box}.\\32xl\\:box-content{box-sizing:content-box}.\\32xl\\:block{display:block}.\\32xl\\:inline-block{display:inline-block}.\\32xl\\:inline{display:inline}.\\32xl\\:flex{display:flex}.\\32xl\\:inline-flex{display:inline-flex}.\\32xl\\:table{display:table}.\\32xl\\:inline-table{display:inline-table}.\\32xl\\:table-caption{display:table-caption}.\\32xl\\:table-cell{display:table-cell}.\\32xl\\:table-column{display:table-column}.\\32xl\\:table-column-group{display:table-column-group}.\\32xl\\:table-footer-group{display:table-footer-group}.\\32xl\\:table-header-group{display:table-header-group}.\\32xl\\:table-row-group{display:table-row-group}.\\32xl\\:table-row{display:table-row}.\\32xl\\:flow-root{display:flow-root}.\\32xl\\:grid{display:grid}.\\32xl\\:inline-grid{display:inline-grid}.\\32xl\\:contents{display:contents}.\\32xl\\:list-item{display:list-item}.\\32xl\\:hidden{display:none}.\\32xl\\:h-0{height:0px}.\\32xl\\:h-1{height:0.25rem}.\\32xl\\:h-2{height:0.5rem}.\\32xl\\:h-3{height:0.75rem}.\\32xl\\:h-4{height:1rem}.\\32xl\\:h-5{height:1.25rem}.\\32xl\\:h-6{height:1.5rem}.\\32xl\\:h-7{height:1.75rem}.\\32xl\\:h-8{height:2rem}.\\32xl\\:h-9{height:2.25rem}.\\32xl\\:h-10{height:2.5rem}.\\32xl\\:h-11{height:2.75rem}.\\32xl\\:h-12{height:3rem}.\\32xl\\:h-14{height:3.5rem}.\\32xl\\:h-16{height:4rem}.\\32xl\\:h-20{height:5rem}.\\32xl\\:h-24{height:6rem}.\\32xl\\:h-28{height:7rem}.\\32xl\\:h-32{height:8rem}.\\32xl\\:h-36{height:9rem}.\\32xl\\:h-40{height:10rem}.\\32xl\\:h-44{height:11rem}.\\32xl\\:h-48{height:12rem}.\\32xl\\:h-52{height:13rem}.\\32xl\\:h-56{height:14rem}.\\32xl\\:h-60{height:15rem}.\\32xl\\:h-64{height:16rem}.\\32xl\\:h-72{height:18rem}.\\32xl\\:h-80{height:20rem}.\\32xl\\:h-96{height:24rem}.\\32xl\\:h-auto{height:auto}.\\32xl\\:h-px{height:1px}.\\32xl\\:h-0\\.5{height:0.125rem}.\\32xl\\:h-1\\.5{height:0.375rem}.\\32xl\\:h-2\\.5{height:0.625rem}.\\32xl\\:h-3\\.5{height:0.875rem}.\\32xl\\:h-1\\/2{height:50%}.\\32xl\\:h-1\\/3{height:33.333333%}.\\32xl\\:h-2\\/3{height:66.666667%}.\\32xl\\:h-1\\/4{height:25%}.\\32xl\\:h-2\\/4{height:50%}.\\32xl\\:h-3\\/4{height:75%}.\\32xl\\:h-1\\/5{height:20%}.\\32xl\\:h-2\\/5{height:40%}.\\32xl\\:h-3\\/5{height:60%}.\\32xl\\:h-4\\/5{height:80%}.\\32xl\\:h-1\\/6{height:16.666667%}.\\32xl\\:h-2\\/6{height:33.333333%}.\\32xl\\:h-3\\/6{height:50%}.\\32xl\\:h-4\\/6{height:66.666667%}.\\32xl\\:h-5\\/6{height:83.333333%}.\\32xl\\:h-full{height:100%}.\\32xl\\:h-screen{height:100vh}.\\32xl\\:h-XS{height:250px}.\\32xl\\:h-S{height:500px}.\\32xl\\:h-M{height:750px}.\\32xl\\:h-L{height:1000px}.\\32xl\\:h-XL{height:1250px}.\\32xl\\:h-XXL{height:1500px}.\\32xl\\:max-h-0{max-height:0px}.\\32xl\\:max-h-1{max-height:0.25rem}.\\32xl\\:max-h-2{max-height:0.5rem}.\\32xl\\:max-h-3{max-height:0.75rem}.\\32xl\\:max-h-4{max-height:1rem}.\\32xl\\:max-h-5{max-height:1.25rem}.\\32xl\\:max-h-6{max-height:1.5rem}.\\32xl\\:max-h-7{max-height:1.75rem}.\\32xl\\:max-h-8{max-height:2rem}.\\32xl\\:max-h-9{max-height:2.25rem}.\\32xl\\:max-h-10{max-height:2.5rem}.\\32xl\\:max-h-11{max-height:2.75rem}.\\32xl\\:max-h-12{max-height:3rem}.\\32xl\\:max-h-14{max-height:3.5rem}.\\32xl\\:max-h-16{max-height:4rem}.\\32xl\\:max-h-20{max-height:5rem}.\\32xl\\:max-h-24{max-height:6rem}.\\32xl\\:max-h-28{max-height:7rem}.\\32xl\\:max-h-32{max-height:8rem}.\\32xl\\:max-h-36{max-height:9rem}.\\32xl\\:max-h-40{max-height:10rem}.\\32xl\\:max-h-44{max-height:11rem}.\\32xl\\:max-h-48{max-height:12rem}.\\32xl\\:max-h-52{max-height:13rem}.\\32xl\\:max-h-56{max-height:14rem}.\\32xl\\:max-h-60{max-height:15rem}.\\32xl\\:max-h-64{max-height:16rem}.\\32xl\\:max-h-72{max-height:18rem}.\\32xl\\:max-h-80{max-height:20rem}.\\32xl\\:max-h-96{max-height:24rem}.\\32xl\\:max-h-px{max-height:1px}.\\32xl\\:max-h-0\\.5{max-height:0.125rem}.\\32xl\\:max-h-1\\.5{max-height:0.375rem}.\\32xl\\:max-h-2\\.5{max-height:0.625rem}.\\32xl\\:max-h-3\\.5{max-height:0.875rem}.\\32xl\\:max-h-full{max-height:100%}.\\32xl\\:max-h-screen{max-height:100vh}.\\32xl\\:max-h-XS{max-height:250px}.\\32xl\\:max-h-S{max-height:500px}.\\32xl\\:max-h-M{max-height:750px}.\\32xl\\:max-h-L{max-height:1000px}.\\32xl\\:max-h-XL{max-height:1250px}.\\32xl\\:max-h-XXL{max-height:1500px}.\\32xl\\:min-h-0{min-height:0px}.\\32xl\\:min-h-full{min-height:100%}.\\32xl\\:min-h-screen{min-height:100vh}.\\32xl\\:w-0{width:0px}.\\32xl\\:w-1{width:0.25rem}.\\32xl\\:w-2{width:0.5rem}.\\32xl\\:w-3{width:0.75rem}.\\32xl\\:w-4{width:1rem}.\\32xl\\:w-5{width:1.25rem}.\\32xl\\:w-6{width:1.5rem}.\\32xl\\:w-7{width:1.75rem}.\\32xl\\:w-8{width:2rem}.\\32xl\\:w-9{width:2.25rem}.\\32xl\\:w-10{width:2.5rem}.\\32xl\\:w-11{width:2.75rem}.\\32xl\\:w-12{width:3rem}.\\32xl\\:w-14{width:3.5rem}.\\32xl\\:w-16{width:4rem}.\\32xl\\:w-20{width:5rem}.\\32xl\\:w-24{width:6rem}.\\32xl\\:w-28{width:7rem}.\\32xl\\:w-32{width:8rem}.\\32xl\\:w-36{width:9rem}.\\32xl\\:w-40{width:10rem}.\\32xl\\:w-44{width:11rem}.\\32xl\\:w-48{width:12rem}.\\32xl\\:w-52{width:13rem}.\\32xl\\:w-56{width:14rem}.\\32xl\\:w-60{width:15rem}.\\32xl\\:w-64{width:16rem}.\\32xl\\:w-72{width:18rem}.\\32xl\\:w-80{width:20rem}.\\32xl\\:w-96{width:24rem}.\\32xl\\:w-auto{width:auto}.\\32xl\\:w-px{width:1px}.\\32xl\\:w-0\\.5{width:0.125rem}.\\32xl\\:w-1\\.5{width:0.375rem}.\\32xl\\:w-2\\.5{width:0.625rem}.\\32xl\\:w-3\\.5{width:0.875rem}.\\32xl\\:w-1\\/2{width:50%}.\\32xl\\:w-1\\/3{width:33.333333%}.\\32xl\\:w-2\\/3{width:66.666667%}.\\32xl\\:w-1\\/4{width:25%}.\\32xl\\:w-2\\/4{width:50%}.\\32xl\\:w-3\\/4{width:75%}.\\32xl\\:w-1\\/5{width:20%}.\\32xl\\:w-2\\/5{width:40%}.\\32xl\\:w-3\\/5{width:60%}.\\32xl\\:w-4\\/5{width:80%}.\\32xl\\:w-1\\/6{width:16.666667%}.\\32xl\\:w-2\\/6{width:33.333333%}.\\32xl\\:w-3\\/6{width:50%}.\\32xl\\:w-4\\/6{width:66.666667%}.\\32xl\\:w-5\\/6{width:83.333333%}.\\32xl\\:w-1\\/12{width:8.333333%}.\\32xl\\:w-2\\/12{width:16.666667%}.\\32xl\\:w-3\\/12{width:25%}.\\32xl\\:w-4\\/12{width:33.333333%}.\\32xl\\:w-5\\/12{width:41.666667%}.\\32xl\\:w-6\\/12{width:50%}.\\32xl\\:w-7\\/12{width:58.333333%}.\\32xl\\:w-8\\/12{width:66.666667%}.\\32xl\\:w-9\\/12{width:75%}.\\32xl\\:w-10\\/12{width:83.333333%}.\\32xl\\:w-11\\/12{width:91.666667%}.\\32xl\\:w-full{width:100%}.\\32xl\\:w-screen{width:100vw}.\\32xl\\:w-min{width:min-content}.\\32xl\\:w-max{width:max-content}.\\32xl\\:min-w-0{min-width:0px}.\\32xl\\:min-w-full{min-width:100%}.\\32xl\\:min-w-min{min-width:min-content}.\\32xl\\:min-w-max{min-width:max-content}.\\32xl\\:max-w-0{max-width:0rem}.\\32xl\\:max-w-none{max-width:none}.\\32xl\\:max-w-xs{max-width:20rem}.\\32xl\\:max-w-sm{max-width:24rem}.\\32xl\\:max-w-md{max-width:28rem}.\\32xl\\:max-w-lg{max-width:32rem}.\\32xl\\:max-w-xl{max-width:36rem}.\\32xl\\:max-w-2xl{max-width:42rem}.\\32xl\\:max-w-3xl{max-width:48rem}.\\32xl\\:max-w-4xl{max-width:56rem}.\\32xl\\:max-w-5xl{max-width:64rem}.\\32xl\\:max-w-6xl{max-width:72rem}.\\32xl\\:max-w-7xl{max-width:80rem}.\\32xl\\:max-w-full{max-width:100%}.\\32xl\\:max-w-min{max-width:min-content}.\\32xl\\:max-w-max{max-width:max-content}.\\32xl\\:max-w-prose{max-width:65ch}.\\32xl\\:max-w-screen-sm{max-width:640px}.\\32xl\\:max-w-screen-md{max-width:768px}.\\32xl\\:max-w-screen-lg{max-width:1024px}.\\32xl\\:max-w-screen-xl{max-width:1280px}.\\32xl\\:max-w-screen-2xl{max-width:1536px}.\\32xl\\:flex-1{flex:1 1 0%}.\\32xl\\:flex-auto{flex:1 1 auto}.\\32xl\\:flex-initial{flex:0 1 auto}.\\32xl\\:flex-none{flex:none}.\\32xl\\:flex-shrink-0{flex-shrink:0}.\\32xl\\:flex-shrink{flex-shrink:1}.\\32xl\\:flex-grow-0{flex-grow:0}.\\32xl\\:flex-grow{flex-grow:1}.\\32xl\\:table-auto{table-layout:auto}.\\32xl\\:table-fixed{table-layout:fixed}.\\32xl\\:border-collapse{border-collapse:collapse}.\\32xl\\:border-separate{border-collapse:separate}.\\32xl\\:origin-center{transform-origin:center}.\\32xl\\:origin-top{transform-origin:top}.\\32xl\\:origin-top-right{transform-origin:top right}.\\32xl\\:origin-right{transform-origin:right}.\\32xl\\:origin-bottom-right{transform-origin:bottom right}.\\32xl\\:origin-bottom{transform-origin:bottom}.\\32xl\\:origin-bottom-left{transform-origin:bottom left}.\\32xl\\:origin-left{transform-origin:left}.\\32xl\\:origin-top-left{transform-origin:top left}.\\32xl\\:transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\\32xl\\:transform-gpu{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translate3d(var(--tw-translate-x), var(--tw-translate-y), 0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\\32xl\\:transform-none{transform:none}.\\32xl\\:translate-x-0{--tw-translate-x:0px}.\\32xl\\:translate-x-1{--tw-translate-x:0.25rem}.\\32xl\\:translate-x-2{--tw-translate-x:0.5rem}.\\32xl\\:translate-x-3{--tw-translate-x:0.75rem}.\\32xl\\:translate-x-4{--tw-translate-x:1rem}.\\32xl\\:translate-x-5{--tw-translate-x:1.25rem}.\\32xl\\:translate-x-6{--tw-translate-x:1.5rem}.\\32xl\\:translate-x-7{--tw-translate-x:1.75rem}.\\32xl\\:translate-x-8{--tw-translate-x:2rem}.\\32xl\\:translate-x-9{--tw-translate-x:2.25rem}.\\32xl\\:translate-x-10{--tw-translate-x:2.5rem}.\\32xl\\:translate-x-11{--tw-translate-x:2.75rem}.\\32xl\\:translate-x-12{--tw-translate-x:3rem}.\\32xl\\:translate-x-14{--tw-translate-x:3.5rem}.\\32xl\\:translate-x-16{--tw-translate-x:4rem}.\\32xl\\:translate-x-20{--tw-translate-x:5rem}.\\32xl\\:translate-x-24{--tw-translate-x:6rem}.\\32xl\\:translate-x-28{--tw-translate-x:7rem}.\\32xl\\:translate-x-32{--tw-translate-x:8rem}.\\32xl\\:translate-x-36{--tw-translate-x:9rem}.\\32xl\\:translate-x-40{--tw-translate-x:10rem}.\\32xl\\:translate-x-44{--tw-translate-x:11rem}.\\32xl\\:translate-x-48{--tw-translate-x:12rem}.\\32xl\\:translate-x-52{--tw-translate-x:13rem}.\\32xl\\:translate-x-56{--tw-translate-x:14rem}.\\32xl\\:translate-x-60{--tw-translate-x:15rem}.\\32xl\\:translate-x-64{--tw-translate-x:16rem}.\\32xl\\:translate-x-72{--tw-translate-x:18rem}.\\32xl\\:translate-x-80{--tw-translate-x:20rem}.\\32xl\\:translate-x-96{--tw-translate-x:24rem}.\\32xl\\:translate-x-px{--tw-translate-x:1px}.\\32xl\\:translate-x-0\\.5{--tw-translate-x:0.125rem}.\\32xl\\:translate-x-1\\.5{--tw-translate-x:0.375rem}.\\32xl\\:translate-x-2\\.5{--tw-translate-x:0.625rem}.\\32xl\\:translate-x-3\\.5{--tw-translate-x:0.875rem}.\\32xl\\:-translate-x-0{--tw-translate-x:0px}.\\32xl\\:-translate-x-1{--tw-translate-x:-0.25rem}.\\32xl\\:-translate-x-2{--tw-translate-x:-0.5rem}.\\32xl\\:-translate-x-3{--tw-translate-x:-0.75rem}.\\32xl\\:-translate-x-4{--tw-translate-x:-1rem}.\\32xl\\:-translate-x-5{--tw-translate-x:-1.25rem}.\\32xl\\:-translate-x-6{--tw-translate-x:-1.5rem}.\\32xl\\:-translate-x-7{--tw-translate-x:-1.75rem}.\\32xl\\:-translate-x-8{--tw-translate-x:-2rem}.\\32xl\\:-translate-x-9{--tw-translate-x:-2.25rem}.\\32xl\\:-translate-x-10{--tw-translate-x:-2.5rem}.\\32xl\\:-translate-x-11{--tw-translate-x:-2.75rem}.\\32xl\\:-translate-x-12{--tw-translate-x:-3rem}.\\32xl\\:-translate-x-14{--tw-translate-x:-3.5rem}.\\32xl\\:-translate-x-16{--tw-translate-x:-4rem}.\\32xl\\:-translate-x-20{--tw-translate-x:-5rem}.\\32xl\\:-translate-x-24{--tw-translate-x:-6rem}.\\32xl\\:-translate-x-28{--tw-translate-x:-7rem}.\\32xl\\:-translate-x-32{--tw-translate-x:-8rem}.\\32xl\\:-translate-x-36{--tw-translate-x:-9rem}.\\32xl\\:-translate-x-40{--tw-translate-x:-10rem}.\\32xl\\:-translate-x-44{--tw-translate-x:-11rem}.\\32xl\\:-translate-x-48{--tw-translate-x:-12rem}.\\32xl\\:-translate-x-52{--tw-translate-x:-13rem}.\\32xl\\:-translate-x-56{--tw-translate-x:-14rem}.\\32xl\\:-translate-x-60{--tw-translate-x:-15rem}.\\32xl\\:-translate-x-64{--tw-translate-x:-16rem}.\\32xl\\:-translate-x-72{--tw-translate-x:-18rem}.\\32xl\\:-translate-x-80{--tw-translate-x:-20rem}.\\32xl\\:-translate-x-96{--tw-translate-x:-24rem}.\\32xl\\:-translate-x-px{--tw-translate-x:-1px}.\\32xl\\:-translate-x-0\\.5{--tw-translate-x:-0.125rem}.\\32xl\\:-translate-x-1\\.5{--tw-translate-x:-0.375rem}.\\32xl\\:-translate-x-2\\.5{--tw-translate-x:-0.625rem}.\\32xl\\:-translate-x-3\\.5{--tw-translate-x:-0.875rem}.\\32xl\\:translate-x-1\\/2{--tw-translate-x:50%}.\\32xl\\:translate-x-1\\/3{--tw-translate-x:33.333333%}.\\32xl\\:translate-x-2\\/3{--tw-translate-x:66.666667%}.\\32xl\\:translate-x-1\\/4{--tw-translate-x:25%}.\\32xl\\:translate-x-2\\/4{--tw-translate-x:50%}.\\32xl\\:translate-x-3\\/4{--tw-translate-x:75%}.\\32xl\\:translate-x-full{--tw-translate-x:100%}.\\32xl\\:-translate-x-1\\/2{--tw-translate-x:-50%}.\\32xl\\:-translate-x-1\\/3{--tw-translate-x:-33.333333%}.\\32xl\\:-translate-x-2\\/3{--tw-translate-x:-66.666667%}.\\32xl\\:-translate-x-1\\/4{--tw-translate-x:-25%}.\\32xl\\:-translate-x-2\\/4{--tw-translate-x:-50%}.\\32xl\\:-translate-x-3\\/4{--tw-translate-x:-75%}.\\32xl\\:-translate-x-full{--tw-translate-x:-100%}.\\32xl\\:translate-y-0{--tw-translate-y:0px}.\\32xl\\:translate-y-1{--tw-translate-y:0.25rem}.\\32xl\\:translate-y-2{--tw-translate-y:0.5rem}.\\32xl\\:translate-y-3{--tw-translate-y:0.75rem}.\\32xl\\:translate-y-4{--tw-translate-y:1rem}.\\32xl\\:translate-y-5{--tw-translate-y:1.25rem}.\\32xl\\:translate-y-6{--tw-translate-y:1.5rem}.\\32xl\\:translate-y-7{--tw-translate-y:1.75rem}.\\32xl\\:translate-y-8{--tw-translate-y:2rem}.\\32xl\\:translate-y-9{--tw-translate-y:2.25rem}.\\32xl\\:translate-y-10{--tw-translate-y:2.5rem}.\\32xl\\:translate-y-11{--tw-translate-y:2.75rem}.\\32xl\\:translate-y-12{--tw-translate-y:3rem}.\\32xl\\:translate-y-14{--tw-translate-y:3.5rem}.\\32xl\\:translate-y-16{--tw-translate-y:4rem}.\\32xl\\:translate-y-20{--tw-translate-y:5rem}.\\32xl\\:translate-y-24{--tw-translate-y:6rem}.\\32xl\\:translate-y-28{--tw-translate-y:7rem}.\\32xl\\:translate-y-32{--tw-translate-y:8rem}.\\32xl\\:translate-y-36{--tw-translate-y:9rem}.\\32xl\\:translate-y-40{--tw-translate-y:10rem}.\\32xl\\:translate-y-44{--tw-translate-y:11rem}.\\32xl\\:translate-y-48{--tw-translate-y:12rem}.\\32xl\\:translate-y-52{--tw-translate-y:13rem}.\\32xl\\:translate-y-56{--tw-translate-y:14rem}.\\32xl\\:translate-y-60{--tw-translate-y:15rem}.\\32xl\\:translate-y-64{--tw-translate-y:16rem}.\\32xl\\:translate-y-72{--tw-translate-y:18rem}.\\32xl\\:translate-y-80{--tw-translate-y:20rem}.\\32xl\\:translate-y-96{--tw-translate-y:24rem}.\\32xl\\:translate-y-px{--tw-translate-y:1px}.\\32xl\\:translate-y-0\\.5{--tw-translate-y:0.125rem}.\\32xl\\:translate-y-1\\.5{--tw-translate-y:0.375rem}.\\32xl\\:translate-y-2\\.5{--tw-translate-y:0.625rem}.\\32xl\\:translate-y-3\\.5{--tw-translate-y:0.875rem}.\\32xl\\:-translate-y-0{--tw-translate-y:0px}.\\32xl\\:-translate-y-1{--tw-translate-y:-0.25rem}.\\32xl\\:-translate-y-2{--tw-translate-y:-0.5rem}.\\32xl\\:-translate-y-3{--tw-translate-y:-0.75rem}.\\32xl\\:-translate-y-4{--tw-translate-y:-1rem}.\\32xl\\:-translate-y-5{--tw-translate-y:-1.25rem}.\\32xl\\:-translate-y-6{--tw-translate-y:-1.5rem}.\\32xl\\:-translate-y-7{--tw-translate-y:-1.75rem}.\\32xl\\:-translate-y-8{--tw-translate-y:-2rem}.\\32xl\\:-translate-y-9{--tw-translate-y:-2.25rem}.\\32xl\\:-translate-y-10{--tw-translate-y:-2.5rem}.\\32xl\\:-translate-y-11{--tw-translate-y:-2.75rem}.\\32xl\\:-translate-y-12{--tw-translate-y:-3rem}.\\32xl\\:-translate-y-14{--tw-translate-y:-3.5rem}.\\32xl\\:-translate-y-16{--tw-translate-y:-4rem}.\\32xl\\:-translate-y-20{--tw-translate-y:-5rem}.\\32xl\\:-translate-y-24{--tw-translate-y:-6rem}.\\32xl\\:-translate-y-28{--tw-translate-y:-7rem}.\\32xl\\:-translate-y-32{--tw-translate-y:-8rem}.\\32xl\\:-translate-y-36{--tw-translate-y:-9rem}.\\32xl\\:-translate-y-40{--tw-translate-y:-10rem}.\\32xl\\:-translate-y-44{--tw-translate-y:-11rem}.\\32xl\\:-translate-y-48{--tw-translate-y:-12rem}.\\32xl\\:-translate-y-52{--tw-translate-y:-13rem}.\\32xl\\:-translate-y-56{--tw-translate-y:-14rem}.\\32xl\\:-translate-y-60{--tw-translate-y:-15rem}.\\32xl\\:-translate-y-64{--tw-translate-y:-16rem}.\\32xl\\:-translate-y-72{--tw-translate-y:-18rem}.\\32xl\\:-translate-y-80{--tw-translate-y:-20rem}.\\32xl\\:-translate-y-96{--tw-translate-y:-24rem}.\\32xl\\:-translate-y-px{--tw-translate-y:-1px}.\\32xl\\:-translate-y-0\\.5{--tw-translate-y:-0.125rem}.\\32xl\\:-translate-y-1\\.5{--tw-translate-y:-0.375rem}.\\32xl\\:-translate-y-2\\.5{--tw-translate-y:-0.625rem}.\\32xl\\:-translate-y-3\\.5{--tw-translate-y:-0.875rem}.\\32xl\\:translate-y-1\\/2{--tw-translate-y:50%}.\\32xl\\:translate-y-1\\/3{--tw-translate-y:33.333333%}.\\32xl\\:translate-y-2\\/3{--tw-translate-y:66.666667%}.\\32xl\\:translate-y-1\\/4{--tw-translate-y:25%}.\\32xl\\:translate-y-2\\/4{--tw-translate-y:50%}.\\32xl\\:translate-y-3\\/4{--tw-translate-y:75%}.\\32xl\\:translate-y-full{--tw-translate-y:100%}.\\32xl\\:-translate-y-1\\/2{--tw-translate-y:-50%}.\\32xl\\:-translate-y-1\\/3{--tw-translate-y:-33.333333%}.\\32xl\\:-translate-y-2\\/3{--tw-translate-y:-66.666667%}.\\32xl\\:-translate-y-1\\/4{--tw-translate-y:-25%}.\\32xl\\:-translate-y-2\\/4{--tw-translate-y:-50%}.\\32xl\\:-translate-y-3\\/4{--tw-translate-y:-75%}.\\32xl\\:-translate-y-full{--tw-translate-y:-100%}.\\32xl\\:hover\\:translate-x-0:hover{--tw-translate-x:0px}.\\32xl\\:hover\\:translate-x-1:hover{--tw-translate-x:0.25rem}.\\32xl\\:hover\\:translate-x-2:hover{--tw-translate-x:0.5rem}.\\32xl\\:hover\\:translate-x-3:hover{--tw-translate-x:0.75rem}.\\32xl\\:hover\\:translate-x-4:hover{--tw-translate-x:1rem}.\\32xl\\:hover\\:translate-x-5:hover{--tw-translate-x:1.25rem}.\\32xl\\:hover\\:translate-x-6:hover{--tw-translate-x:1.5rem}.\\32xl\\:hover\\:translate-x-7:hover{--tw-translate-x:1.75rem}.\\32xl\\:hover\\:translate-x-8:hover{--tw-translate-x:2rem}.\\32xl\\:hover\\:translate-x-9:hover{--tw-translate-x:2.25rem}.\\32xl\\:hover\\:translate-x-10:hover{--tw-translate-x:2.5rem}.\\32xl\\:hover\\:translate-x-11:hover{--tw-translate-x:2.75rem}.\\32xl\\:hover\\:translate-x-12:hover{--tw-translate-x:3rem}.\\32xl\\:hover\\:translate-x-14:hover{--tw-translate-x:3.5rem}.\\32xl\\:hover\\:translate-x-16:hover{--tw-translate-x:4rem}.\\32xl\\:hover\\:translate-x-20:hover{--tw-translate-x:5rem}.\\32xl\\:hover\\:translate-x-24:hover{--tw-translate-x:6rem}.\\32xl\\:hover\\:translate-x-28:hover{--tw-translate-x:7rem}.\\32xl\\:hover\\:translate-x-32:hover{--tw-translate-x:8rem}.\\32xl\\:hover\\:translate-x-36:hover{--tw-translate-x:9rem}.\\32xl\\:hover\\:translate-x-40:hover{--tw-translate-x:10rem}.\\32xl\\:hover\\:translate-x-44:hover{--tw-translate-x:11rem}.\\32xl\\:hover\\:translate-x-48:hover{--tw-translate-x:12rem}.\\32xl\\:hover\\:translate-x-52:hover{--tw-translate-x:13rem}.\\32xl\\:hover\\:translate-x-56:hover{--tw-translate-x:14rem}.\\32xl\\:hover\\:translate-x-60:hover{--tw-translate-x:15rem}.\\32xl\\:hover\\:translate-x-64:hover{--tw-translate-x:16rem}.\\32xl\\:hover\\:translate-x-72:hover{--tw-translate-x:18rem}.\\32xl\\:hover\\:translate-x-80:hover{--tw-translate-x:20rem}.\\32xl\\:hover\\:translate-x-96:hover{--tw-translate-x:24rem}.\\32xl\\:hover\\:translate-x-px:hover{--tw-translate-x:1px}.\\32xl\\:hover\\:translate-x-0\\.5:hover{--tw-translate-x:0.125rem}.\\32xl\\:hover\\:translate-x-1\\.5:hover{--tw-translate-x:0.375rem}.\\32xl\\:hover\\:translate-x-2\\.5:hover{--tw-translate-x:0.625rem}.\\32xl\\:hover\\:translate-x-3\\.5:hover{--tw-translate-x:0.875rem}.\\32xl\\:hover\\:-translate-x-0:hover{--tw-translate-x:0px}.\\32xl\\:hover\\:-translate-x-1:hover{--tw-translate-x:-0.25rem}.\\32xl\\:hover\\:-translate-x-2:hover{--tw-translate-x:-0.5rem}.\\32xl\\:hover\\:-translate-x-3:hover{--tw-translate-x:-0.75rem}.\\32xl\\:hover\\:-translate-x-4:hover{--tw-translate-x:-1rem}.\\32xl\\:hover\\:-translate-x-5:hover{--tw-translate-x:-1.25rem}.\\32xl\\:hover\\:-translate-x-6:hover{--tw-translate-x:-1.5rem}.\\32xl\\:hover\\:-translate-x-7:hover{--tw-translate-x:-1.75rem}.\\32xl\\:hover\\:-translate-x-8:hover{--tw-translate-x:-2rem}.\\32xl\\:hover\\:-translate-x-9:hover{--tw-translate-x:-2.25rem}.\\32xl\\:hover\\:-translate-x-10:hover{--tw-translate-x:-2.5rem}.\\32xl\\:hover\\:-translate-x-11:hover{--tw-translate-x:-2.75rem}.\\32xl\\:hover\\:-translate-x-12:hover{--tw-translate-x:-3rem}.\\32xl\\:hover\\:-translate-x-14:hover{--tw-translate-x:-3.5rem}.\\32xl\\:hover\\:-translate-x-16:hover{--tw-translate-x:-4rem}.\\32xl\\:hover\\:-translate-x-20:hover{--tw-translate-x:-5rem}.\\32xl\\:hover\\:-translate-x-24:hover{--tw-translate-x:-6rem}.\\32xl\\:hover\\:-translate-x-28:hover{--tw-translate-x:-7rem}.\\32xl\\:hover\\:-translate-x-32:hover{--tw-translate-x:-8rem}.\\32xl\\:hover\\:-translate-x-36:hover{--tw-translate-x:-9rem}.\\32xl\\:hover\\:-translate-x-40:hover{--tw-translate-x:-10rem}.\\32xl\\:hover\\:-translate-x-44:hover{--tw-translate-x:-11rem}.\\32xl\\:hover\\:-translate-x-48:hover{--tw-translate-x:-12rem}.\\32xl\\:hover\\:-translate-x-52:hover{--tw-translate-x:-13rem}.\\32xl\\:hover\\:-translate-x-56:hover{--tw-translate-x:-14rem}.\\32xl\\:hover\\:-translate-x-60:hover{--tw-translate-x:-15rem}.\\32xl\\:hover\\:-translate-x-64:hover{--tw-translate-x:-16rem}.\\32xl\\:hover\\:-translate-x-72:hover{--tw-translate-x:-18rem}.\\32xl\\:hover\\:-translate-x-80:hover{--tw-translate-x:-20rem}.\\32xl\\:hover\\:-translate-x-96:hover{--tw-translate-x:-24rem}.\\32xl\\:hover\\:-translate-x-px:hover{--tw-translate-x:-1px}.\\32xl\\:hover\\:-translate-x-0\\.5:hover{--tw-translate-x:-0.125rem}.\\32xl\\:hover\\:-translate-x-1\\.5:hover{--tw-translate-x:-0.375rem}.\\32xl\\:hover\\:-translate-x-2\\.5:hover{--tw-translate-x:-0.625rem}.\\32xl\\:hover\\:-translate-x-3\\.5:hover{--tw-translate-x:-0.875rem}.\\32xl\\:hover\\:translate-x-1\\/2:hover{--tw-translate-x:50%}.\\32xl\\:hover\\:translate-x-1\\/3:hover{--tw-translate-x:33.333333%}.\\32xl\\:hover\\:translate-x-2\\/3:hover{--tw-translate-x:66.666667%}.\\32xl\\:hover\\:translate-x-1\\/4:hover{--tw-translate-x:25%}.\\32xl\\:hover\\:translate-x-2\\/4:hover{--tw-translate-x:50%}.\\32xl\\:hover\\:translate-x-3\\/4:hover{--tw-translate-x:75%}.\\32xl\\:hover\\:translate-x-full:hover{--tw-translate-x:100%}.\\32xl\\:hover\\:-translate-x-1\\/2:hover{--tw-translate-x:-50%}.\\32xl\\:hover\\:-translate-x-1\\/3:hover{--tw-translate-x:-33.333333%}.\\32xl\\:hover\\:-translate-x-2\\/3:hover{--tw-translate-x:-66.666667%}.\\32xl\\:hover\\:-translate-x-1\\/4:hover{--tw-translate-x:-25%}.\\32xl\\:hover\\:-translate-x-2\\/4:hover{--tw-translate-x:-50%}.\\32xl\\:hover\\:-translate-x-3\\/4:hover{--tw-translate-x:-75%}.\\32xl\\:hover\\:-translate-x-full:hover{--tw-translate-x:-100%}.\\32xl\\:hover\\:translate-y-0:hover{--tw-translate-y:0px}.\\32xl\\:hover\\:translate-y-1:hover{--tw-translate-y:0.25rem}.\\32xl\\:hover\\:translate-y-2:hover{--tw-translate-y:0.5rem}.\\32xl\\:hover\\:translate-y-3:hover{--tw-translate-y:0.75rem}.\\32xl\\:hover\\:translate-y-4:hover{--tw-translate-y:1rem}.\\32xl\\:hover\\:translate-y-5:hover{--tw-translate-y:1.25rem}.\\32xl\\:hover\\:translate-y-6:hover{--tw-translate-y:1.5rem}.\\32xl\\:hover\\:translate-y-7:hover{--tw-translate-y:1.75rem}.\\32xl\\:hover\\:translate-y-8:hover{--tw-translate-y:2rem}.\\32xl\\:hover\\:translate-y-9:hover{--tw-translate-y:2.25rem}.\\32xl\\:hover\\:translate-y-10:hover{--tw-translate-y:2.5rem}.\\32xl\\:hover\\:translate-y-11:hover{--tw-translate-y:2.75rem}.\\32xl\\:hover\\:translate-y-12:hover{--tw-translate-y:3rem}.\\32xl\\:hover\\:translate-y-14:hover{--tw-translate-y:3.5rem}.\\32xl\\:hover\\:translate-y-16:hover{--tw-translate-y:4rem}.\\32xl\\:hover\\:translate-y-20:hover{--tw-translate-y:5rem}.\\32xl\\:hover\\:translate-y-24:hover{--tw-translate-y:6rem}.\\32xl\\:hover\\:translate-y-28:hover{--tw-translate-y:7rem}.\\32xl\\:hover\\:translate-y-32:hover{--tw-translate-y:8rem}.\\32xl\\:hover\\:translate-y-36:hover{--tw-translate-y:9rem}.\\32xl\\:hover\\:translate-y-40:hover{--tw-translate-y:10rem}.\\32xl\\:hover\\:translate-y-44:hover{--tw-translate-y:11rem}.\\32xl\\:hover\\:translate-y-48:hover{--tw-translate-y:12rem}.\\32xl\\:hover\\:translate-y-52:hover{--tw-translate-y:13rem}.\\32xl\\:hover\\:translate-y-56:hover{--tw-translate-y:14rem}.\\32xl\\:hover\\:translate-y-60:hover{--tw-translate-y:15rem}.\\32xl\\:hover\\:translate-y-64:hover{--tw-translate-y:16rem}.\\32xl\\:hover\\:translate-y-72:hover{--tw-translate-y:18rem}.\\32xl\\:hover\\:translate-y-80:hover{--tw-translate-y:20rem}.\\32xl\\:hover\\:translate-y-96:hover{--tw-translate-y:24rem}.\\32xl\\:hover\\:translate-y-px:hover{--tw-translate-y:1px}.\\32xl\\:hover\\:translate-y-0\\.5:hover{--tw-translate-y:0.125rem}.\\32xl\\:hover\\:translate-y-1\\.5:hover{--tw-translate-y:0.375rem}.\\32xl\\:hover\\:translate-y-2\\.5:hover{--tw-translate-y:0.625rem}.\\32xl\\:hover\\:translate-y-3\\.5:hover{--tw-translate-y:0.875rem}.\\32xl\\:hover\\:-translate-y-0:hover{--tw-translate-y:0px}.\\32xl\\:hover\\:-translate-y-1:hover{--tw-translate-y:-0.25rem}.\\32xl\\:hover\\:-translate-y-2:hover{--tw-translate-y:-0.5rem}.\\32xl\\:hover\\:-translate-y-3:hover{--tw-translate-y:-0.75rem}.\\32xl\\:hover\\:-translate-y-4:hover{--tw-translate-y:-1rem}.\\32xl\\:hover\\:-translate-y-5:hover{--tw-translate-y:-1.25rem}.\\32xl\\:hover\\:-translate-y-6:hover{--tw-translate-y:-1.5rem}.\\32xl\\:hover\\:-translate-y-7:hover{--tw-translate-y:-1.75rem}.\\32xl\\:hover\\:-translate-y-8:hover{--tw-translate-y:-2rem}.\\32xl\\:hover\\:-translate-y-9:hover{--tw-translate-y:-2.25rem}.\\32xl\\:hover\\:-translate-y-10:hover{--tw-translate-y:-2.5rem}.\\32xl\\:hover\\:-translate-y-11:hover{--tw-translate-y:-2.75rem}.\\32xl\\:hover\\:-translate-y-12:hover{--tw-translate-y:-3rem}.\\32xl\\:hover\\:-translate-y-14:hover{--tw-translate-y:-3.5rem}.\\32xl\\:hover\\:-translate-y-16:hover{--tw-translate-y:-4rem}.\\32xl\\:hover\\:-translate-y-20:hover{--tw-translate-y:-5rem}.\\32xl\\:hover\\:-translate-y-24:hover{--tw-translate-y:-6rem}.\\32xl\\:hover\\:-translate-y-28:hover{--tw-translate-y:-7rem}.\\32xl\\:hover\\:-translate-y-32:hover{--tw-translate-y:-8rem}.\\32xl\\:hover\\:-translate-y-36:hover{--tw-translate-y:-9rem}.\\32xl\\:hover\\:-translate-y-40:hover{--tw-translate-y:-10rem}.\\32xl\\:hover\\:-translate-y-44:hover{--tw-translate-y:-11rem}.\\32xl\\:hover\\:-translate-y-48:hover{--tw-translate-y:-12rem}.\\32xl\\:hover\\:-translate-y-52:hover{--tw-translate-y:-13rem}.\\32xl\\:hover\\:-translate-y-56:hover{--tw-translate-y:-14rem}.\\32xl\\:hover\\:-translate-y-60:hover{--tw-translate-y:-15rem}.\\32xl\\:hover\\:-translate-y-64:hover{--tw-translate-y:-16rem}.\\32xl\\:hover\\:-translate-y-72:hover{--tw-translate-y:-18rem}.\\32xl\\:hover\\:-translate-y-80:hover{--tw-translate-y:-20rem}.\\32xl\\:hover\\:-translate-y-96:hover{--tw-translate-y:-24rem}.\\32xl\\:hover\\:-translate-y-px:hover{--tw-translate-y:-1px}.\\32xl\\:hover\\:-translate-y-0\\.5:hover{--tw-translate-y:-0.125rem}.\\32xl\\:hover\\:-translate-y-1\\.5:hover{--tw-translate-y:-0.375rem}.\\32xl\\:hover\\:-translate-y-2\\.5:hover{--tw-translate-y:-0.625rem}.\\32xl\\:hover\\:-translate-y-3\\.5:hover{--tw-translate-y:-0.875rem}.\\32xl\\:hover\\:translate-y-1\\/2:hover{--tw-translate-y:50%}.\\32xl\\:hover\\:translate-y-1\\/3:hover{--tw-translate-y:33.333333%}.\\32xl\\:hover\\:translate-y-2\\/3:hover{--tw-translate-y:66.666667%}.\\32xl\\:hover\\:translate-y-1\\/4:hover{--tw-translate-y:25%}.\\32xl\\:hover\\:translate-y-2\\/4:hover{--tw-translate-y:50%}.\\32xl\\:hover\\:translate-y-3\\/4:hover{--tw-translate-y:75%}.\\32xl\\:hover\\:translate-y-full:hover{--tw-translate-y:100%}.\\32xl\\:hover\\:-translate-y-1\\/2:hover{--tw-translate-y:-50%}.\\32xl\\:hover\\:-translate-y-1\\/3:hover{--tw-translate-y:-33.333333%}.\\32xl\\:hover\\:-translate-y-2\\/3:hover{--tw-translate-y:-66.666667%}.\\32xl\\:hover\\:-translate-y-1\\/4:hover{--tw-translate-y:-25%}.\\32xl\\:hover\\:-translate-y-2\\/4:hover{--tw-translate-y:-50%}.\\32xl\\:hover\\:-translate-y-3\\/4:hover{--tw-translate-y:-75%}.\\32xl\\:hover\\:-translate-y-full:hover{--tw-translate-y:-100%}.\\32xl\\:focus\\:translate-x-0:focus{--tw-translate-x:0px}.\\32xl\\:focus\\:translate-x-1:focus{--tw-translate-x:0.25rem}.\\32xl\\:focus\\:translate-x-2:focus{--tw-translate-x:0.5rem}.\\32xl\\:focus\\:translate-x-3:focus{--tw-translate-x:0.75rem}.\\32xl\\:focus\\:translate-x-4:focus{--tw-translate-x:1rem}.\\32xl\\:focus\\:translate-x-5:focus{--tw-translate-x:1.25rem}.\\32xl\\:focus\\:translate-x-6:focus{--tw-translate-x:1.5rem}.\\32xl\\:focus\\:translate-x-7:focus{--tw-translate-x:1.75rem}.\\32xl\\:focus\\:translate-x-8:focus{--tw-translate-x:2rem}.\\32xl\\:focus\\:translate-x-9:focus{--tw-translate-x:2.25rem}.\\32xl\\:focus\\:translate-x-10:focus{--tw-translate-x:2.5rem}.\\32xl\\:focus\\:translate-x-11:focus{--tw-translate-x:2.75rem}.\\32xl\\:focus\\:translate-x-12:focus{--tw-translate-x:3rem}.\\32xl\\:focus\\:translate-x-14:focus{--tw-translate-x:3.5rem}.\\32xl\\:focus\\:translate-x-16:focus{--tw-translate-x:4rem}.\\32xl\\:focus\\:translate-x-20:focus{--tw-translate-x:5rem}.\\32xl\\:focus\\:translate-x-24:focus{--tw-translate-x:6rem}.\\32xl\\:focus\\:translate-x-28:focus{--tw-translate-x:7rem}.\\32xl\\:focus\\:translate-x-32:focus{--tw-translate-x:8rem}.\\32xl\\:focus\\:translate-x-36:focus{--tw-translate-x:9rem}.\\32xl\\:focus\\:translate-x-40:focus{--tw-translate-x:10rem}.\\32xl\\:focus\\:translate-x-44:focus{--tw-translate-x:11rem}.\\32xl\\:focus\\:translate-x-48:focus{--tw-translate-x:12rem}.\\32xl\\:focus\\:translate-x-52:focus{--tw-translate-x:13rem}.\\32xl\\:focus\\:translate-x-56:focus{--tw-translate-x:14rem}.\\32xl\\:focus\\:translate-x-60:focus{--tw-translate-x:15rem}.\\32xl\\:focus\\:translate-x-64:focus{--tw-translate-x:16rem}.\\32xl\\:focus\\:translate-x-72:focus{--tw-translate-x:18rem}.\\32xl\\:focus\\:translate-x-80:focus{--tw-translate-x:20rem}.\\32xl\\:focus\\:translate-x-96:focus{--tw-translate-x:24rem}.\\32xl\\:focus\\:translate-x-px:focus{--tw-translate-x:1px}.\\32xl\\:focus\\:translate-x-0\\.5:focus{--tw-translate-x:0.125rem}.\\32xl\\:focus\\:translate-x-1\\.5:focus{--tw-translate-x:0.375rem}.\\32xl\\:focus\\:translate-x-2\\.5:focus{--tw-translate-x:0.625rem}.\\32xl\\:focus\\:translate-x-3\\.5:focus{--tw-translate-x:0.875rem}.\\32xl\\:focus\\:-translate-x-0:focus{--tw-translate-x:0px}.\\32xl\\:focus\\:-translate-x-1:focus{--tw-translate-x:-0.25rem}.\\32xl\\:focus\\:-translate-x-2:focus{--tw-translate-x:-0.5rem}.\\32xl\\:focus\\:-translate-x-3:focus{--tw-translate-x:-0.75rem}.\\32xl\\:focus\\:-translate-x-4:focus{--tw-translate-x:-1rem}.\\32xl\\:focus\\:-translate-x-5:focus{--tw-translate-x:-1.25rem}.\\32xl\\:focus\\:-translate-x-6:focus{--tw-translate-x:-1.5rem}.\\32xl\\:focus\\:-translate-x-7:focus{--tw-translate-x:-1.75rem}.\\32xl\\:focus\\:-translate-x-8:focus{--tw-translate-x:-2rem}.\\32xl\\:focus\\:-translate-x-9:focus{--tw-translate-x:-2.25rem}.\\32xl\\:focus\\:-translate-x-10:focus{--tw-translate-x:-2.5rem}.\\32xl\\:focus\\:-translate-x-11:focus{--tw-translate-x:-2.75rem}.\\32xl\\:focus\\:-translate-x-12:focus{--tw-translate-x:-3rem}.\\32xl\\:focus\\:-translate-x-14:focus{--tw-translate-x:-3.5rem}.\\32xl\\:focus\\:-translate-x-16:focus{--tw-translate-x:-4rem}.\\32xl\\:focus\\:-translate-x-20:focus{--tw-translate-x:-5rem}.\\32xl\\:focus\\:-translate-x-24:focus{--tw-translate-x:-6rem}.\\32xl\\:focus\\:-translate-x-28:focus{--tw-translate-x:-7rem}.\\32xl\\:focus\\:-translate-x-32:focus{--tw-translate-x:-8rem}.\\32xl\\:focus\\:-translate-x-36:focus{--tw-translate-x:-9rem}.\\32xl\\:focus\\:-translate-x-40:focus{--tw-translate-x:-10rem}.\\32xl\\:focus\\:-translate-x-44:focus{--tw-translate-x:-11rem}.\\32xl\\:focus\\:-translate-x-48:focus{--tw-translate-x:-12rem}.\\32xl\\:focus\\:-translate-x-52:focus{--tw-translate-x:-13rem}.\\32xl\\:focus\\:-translate-x-56:focus{--tw-translate-x:-14rem}.\\32xl\\:focus\\:-translate-x-60:focus{--tw-translate-x:-15rem}.\\32xl\\:focus\\:-translate-x-64:focus{--tw-translate-x:-16rem}.\\32xl\\:focus\\:-translate-x-72:focus{--tw-translate-x:-18rem}.\\32xl\\:focus\\:-translate-x-80:focus{--tw-translate-x:-20rem}.\\32xl\\:focus\\:-translate-x-96:focus{--tw-translate-x:-24rem}.\\32xl\\:focus\\:-translate-x-px:focus{--tw-translate-x:-1px}.\\32xl\\:focus\\:-translate-x-0\\.5:focus{--tw-translate-x:-0.125rem}.\\32xl\\:focus\\:-translate-x-1\\.5:focus{--tw-translate-x:-0.375rem}.\\32xl\\:focus\\:-translate-x-2\\.5:focus{--tw-translate-x:-0.625rem}.\\32xl\\:focus\\:-translate-x-3\\.5:focus{--tw-translate-x:-0.875rem}.\\32xl\\:focus\\:translate-x-1\\/2:focus{--tw-translate-x:50%}.\\32xl\\:focus\\:translate-x-1\\/3:focus{--tw-translate-x:33.333333%}.\\32xl\\:focus\\:translate-x-2\\/3:focus{--tw-translate-x:66.666667%}.\\32xl\\:focus\\:translate-x-1\\/4:focus{--tw-translate-x:25%}.\\32xl\\:focus\\:translate-x-2\\/4:focus{--tw-translate-x:50%}.\\32xl\\:focus\\:translate-x-3\\/4:focus{--tw-translate-x:75%}.\\32xl\\:focus\\:translate-x-full:focus{--tw-translate-x:100%}.\\32xl\\:focus\\:-translate-x-1\\/2:focus{--tw-translate-x:-50%}.\\32xl\\:focus\\:-translate-x-1\\/3:focus{--tw-translate-x:-33.333333%}.\\32xl\\:focus\\:-translate-x-2\\/3:focus{--tw-translate-x:-66.666667%}.\\32xl\\:focus\\:-translate-x-1\\/4:focus{--tw-translate-x:-25%}.\\32xl\\:focus\\:-translate-x-2\\/4:focus{--tw-translate-x:-50%}.\\32xl\\:focus\\:-translate-x-3\\/4:focus{--tw-translate-x:-75%}.\\32xl\\:focus\\:-translate-x-full:focus{--tw-translate-x:-100%}.\\32xl\\:focus\\:translate-y-0:focus{--tw-translate-y:0px}.\\32xl\\:focus\\:translate-y-1:focus{--tw-translate-y:0.25rem}.\\32xl\\:focus\\:translate-y-2:focus{--tw-translate-y:0.5rem}.\\32xl\\:focus\\:translate-y-3:focus{--tw-translate-y:0.75rem}.\\32xl\\:focus\\:translate-y-4:focus{--tw-translate-y:1rem}.\\32xl\\:focus\\:translate-y-5:focus{--tw-translate-y:1.25rem}.\\32xl\\:focus\\:translate-y-6:focus{--tw-translate-y:1.5rem}.\\32xl\\:focus\\:translate-y-7:focus{--tw-translate-y:1.75rem}.\\32xl\\:focus\\:translate-y-8:focus{--tw-translate-y:2rem}.\\32xl\\:focus\\:translate-y-9:focus{--tw-translate-y:2.25rem}.\\32xl\\:focus\\:translate-y-10:focus{--tw-translate-y:2.5rem}.\\32xl\\:focus\\:translate-y-11:focus{--tw-translate-y:2.75rem}.\\32xl\\:focus\\:translate-y-12:focus{--tw-translate-y:3rem}.\\32xl\\:focus\\:translate-y-14:focus{--tw-translate-y:3.5rem}.\\32xl\\:focus\\:translate-y-16:focus{--tw-translate-y:4rem}.\\32xl\\:focus\\:translate-y-20:focus{--tw-translate-y:5rem}.\\32xl\\:focus\\:translate-y-24:focus{--tw-translate-y:6rem}.\\32xl\\:focus\\:translate-y-28:focus{--tw-translate-y:7rem}.\\32xl\\:focus\\:translate-y-32:focus{--tw-translate-y:8rem}.\\32xl\\:focus\\:translate-y-36:focus{--tw-translate-y:9rem}.\\32xl\\:focus\\:translate-y-40:focus{--tw-translate-y:10rem}.\\32xl\\:focus\\:translate-y-44:focus{--tw-translate-y:11rem}.\\32xl\\:focus\\:translate-y-48:focus{--tw-translate-y:12rem}.\\32xl\\:focus\\:translate-y-52:focus{--tw-translate-y:13rem}.\\32xl\\:focus\\:translate-y-56:focus{--tw-translate-y:14rem}.\\32xl\\:focus\\:translate-y-60:focus{--tw-translate-y:15rem}.\\32xl\\:focus\\:translate-y-64:focus{--tw-translate-y:16rem}.\\32xl\\:focus\\:translate-y-72:focus{--tw-translate-y:18rem}.\\32xl\\:focus\\:translate-y-80:focus{--tw-translate-y:20rem}.\\32xl\\:focus\\:translate-y-96:focus{--tw-translate-y:24rem}.\\32xl\\:focus\\:translate-y-px:focus{--tw-translate-y:1px}.\\32xl\\:focus\\:translate-y-0\\.5:focus{--tw-translate-y:0.125rem}.\\32xl\\:focus\\:translate-y-1\\.5:focus{--tw-translate-y:0.375rem}.\\32xl\\:focus\\:translate-y-2\\.5:focus{--tw-translate-y:0.625rem}.\\32xl\\:focus\\:translate-y-3\\.5:focus{--tw-translate-y:0.875rem}.\\32xl\\:focus\\:-translate-y-0:focus{--tw-translate-y:0px}.\\32xl\\:focus\\:-translate-y-1:focus{--tw-translate-y:-0.25rem}.\\32xl\\:focus\\:-translate-y-2:focus{--tw-translate-y:-0.5rem}.\\32xl\\:focus\\:-translate-y-3:focus{--tw-translate-y:-0.75rem}.\\32xl\\:focus\\:-translate-y-4:focus{--tw-translate-y:-1rem}.\\32xl\\:focus\\:-translate-y-5:focus{--tw-translate-y:-1.25rem}.\\32xl\\:focus\\:-translate-y-6:focus{--tw-translate-y:-1.5rem}.\\32xl\\:focus\\:-translate-y-7:focus{--tw-translate-y:-1.75rem}.\\32xl\\:focus\\:-translate-y-8:focus{--tw-translate-y:-2rem}.\\32xl\\:focus\\:-translate-y-9:focus{--tw-translate-y:-2.25rem}.\\32xl\\:focus\\:-translate-y-10:focus{--tw-translate-y:-2.5rem}.\\32xl\\:focus\\:-translate-y-11:focus{--tw-translate-y:-2.75rem}.\\32xl\\:focus\\:-translate-y-12:focus{--tw-translate-y:-3rem}.\\32xl\\:focus\\:-translate-y-14:focus{--tw-translate-y:-3.5rem}.\\32xl\\:focus\\:-translate-y-16:focus{--tw-translate-y:-4rem}.\\32xl\\:focus\\:-translate-y-20:focus{--tw-translate-y:-5rem}.\\32xl\\:focus\\:-translate-y-24:focus{--tw-translate-y:-6rem}.\\32xl\\:focus\\:-translate-y-28:focus{--tw-translate-y:-7rem}.\\32xl\\:focus\\:-translate-y-32:focus{--tw-translate-y:-8rem}.\\32xl\\:focus\\:-translate-y-36:focus{--tw-translate-y:-9rem}.\\32xl\\:focus\\:-translate-y-40:focus{--tw-translate-y:-10rem}.\\32xl\\:focus\\:-translate-y-44:focus{--tw-translate-y:-11rem}.\\32xl\\:focus\\:-translate-y-48:focus{--tw-translate-y:-12rem}.\\32xl\\:focus\\:-translate-y-52:focus{--tw-translate-y:-13rem}.\\32xl\\:focus\\:-translate-y-56:focus{--tw-translate-y:-14rem}.\\32xl\\:focus\\:-translate-y-60:focus{--tw-translate-y:-15rem}.\\32xl\\:focus\\:-translate-y-64:focus{--tw-translate-y:-16rem}.\\32xl\\:focus\\:-translate-y-72:focus{--tw-translate-y:-18rem}.\\32xl\\:focus\\:-translate-y-80:focus{--tw-translate-y:-20rem}.\\32xl\\:focus\\:-translate-y-96:focus{--tw-translate-y:-24rem}.\\32xl\\:focus\\:-translate-y-px:focus{--tw-translate-y:-1px}.\\32xl\\:focus\\:-translate-y-0\\.5:focus{--tw-translate-y:-0.125rem}.\\32xl\\:focus\\:-translate-y-1\\.5:focus{--tw-translate-y:-0.375rem}.\\32xl\\:focus\\:-translate-y-2\\.5:focus{--tw-translate-y:-0.625rem}.\\32xl\\:focus\\:-translate-y-3\\.5:focus{--tw-translate-y:-0.875rem}.\\32xl\\:focus\\:translate-y-1\\/2:focus{--tw-translate-y:50%}.\\32xl\\:focus\\:translate-y-1\\/3:focus{--tw-translate-y:33.333333%}.\\32xl\\:focus\\:translate-y-2\\/3:focus{--tw-translate-y:66.666667%}.\\32xl\\:focus\\:translate-y-1\\/4:focus{--tw-translate-y:25%}.\\32xl\\:focus\\:translate-y-2\\/4:focus{--tw-translate-y:50%}.\\32xl\\:focus\\:translate-y-3\\/4:focus{--tw-translate-y:75%}.\\32xl\\:focus\\:translate-y-full:focus{--tw-translate-y:100%}.\\32xl\\:focus\\:-translate-y-1\\/2:focus{--tw-translate-y:-50%}.\\32xl\\:focus\\:-translate-y-1\\/3:focus{--tw-translate-y:-33.333333%}.\\32xl\\:focus\\:-translate-y-2\\/3:focus{--tw-translate-y:-66.666667%}.\\32xl\\:focus\\:-translate-y-1\\/4:focus{--tw-translate-y:-25%}.\\32xl\\:focus\\:-translate-y-2\\/4:focus{--tw-translate-y:-50%}.\\32xl\\:focus\\:-translate-y-3\\/4:focus{--tw-translate-y:-75%}.\\32xl\\:focus\\:-translate-y-full:focus{--tw-translate-y:-100%}.\\32xl\\:rotate-0{--tw-rotate:0deg}.\\32xl\\:rotate-1{--tw-rotate:1deg}.\\32xl\\:rotate-2{--tw-rotate:2deg}.\\32xl\\:rotate-3{--tw-rotate:3deg}.\\32xl\\:rotate-6{--tw-rotate:6deg}.\\32xl\\:rotate-12{--tw-rotate:12deg}.\\32xl\\:rotate-45{--tw-rotate:45deg}.\\32xl\\:rotate-90{--tw-rotate:90deg}.\\32xl\\:rotate-180{--tw-rotate:180deg}.\\32xl\\:-rotate-180{--tw-rotate:-180deg}.\\32xl\\:-rotate-90{--tw-rotate:-90deg}.\\32xl\\:-rotate-45{--tw-rotate:-45deg}.\\32xl\\:-rotate-12{--tw-rotate:-12deg}.\\32xl\\:-rotate-6{--tw-rotate:-6deg}.\\32xl\\:-rotate-3{--tw-rotate:-3deg}.\\32xl\\:-rotate-2{--tw-rotate:-2deg}.\\32xl\\:-rotate-1{--tw-rotate:-1deg}.\\32xl\\:hover\\:rotate-0:hover{--tw-rotate:0deg}.\\32xl\\:hover\\:rotate-1:hover{--tw-rotate:1deg}.\\32xl\\:hover\\:rotate-2:hover{--tw-rotate:2deg}.\\32xl\\:hover\\:rotate-3:hover{--tw-rotate:3deg}.\\32xl\\:hover\\:rotate-6:hover{--tw-rotate:6deg}.\\32xl\\:hover\\:rotate-12:hover{--tw-rotate:12deg}.\\32xl\\:hover\\:rotate-45:hover{--tw-rotate:45deg}.\\32xl\\:hover\\:rotate-90:hover{--tw-rotate:90deg}.\\32xl\\:hover\\:rotate-180:hover{--tw-rotate:180deg}.\\32xl\\:hover\\:-rotate-180:hover{--tw-rotate:-180deg}.\\32xl\\:hover\\:-rotate-90:hover{--tw-rotate:-90deg}.\\32xl\\:hover\\:-rotate-45:hover{--tw-rotate:-45deg}.\\32xl\\:hover\\:-rotate-12:hover{--tw-rotate:-12deg}.\\32xl\\:hover\\:-rotate-6:hover{--tw-rotate:-6deg}.\\32xl\\:hover\\:-rotate-3:hover{--tw-rotate:-3deg}.\\32xl\\:hover\\:-rotate-2:hover{--tw-rotate:-2deg}.\\32xl\\:hover\\:-rotate-1:hover{--tw-rotate:-1deg}.\\32xl\\:focus\\:rotate-0:focus{--tw-rotate:0deg}.\\32xl\\:focus\\:rotate-1:focus{--tw-rotate:1deg}.\\32xl\\:focus\\:rotate-2:focus{--tw-rotate:2deg}.\\32xl\\:focus\\:rotate-3:focus{--tw-rotate:3deg}.\\32xl\\:focus\\:rotate-6:focus{--tw-rotate:6deg}.\\32xl\\:focus\\:rotate-12:focus{--tw-rotate:12deg}.\\32xl\\:focus\\:rotate-45:focus{--tw-rotate:45deg}.\\32xl\\:focus\\:rotate-90:focus{--tw-rotate:90deg}.\\32xl\\:focus\\:rotate-180:focus{--tw-rotate:180deg}.\\32xl\\:focus\\:-rotate-180:focus{--tw-rotate:-180deg}.\\32xl\\:focus\\:-rotate-90:focus{--tw-rotate:-90deg}.\\32xl\\:focus\\:-rotate-45:focus{--tw-rotate:-45deg}.\\32xl\\:focus\\:-rotate-12:focus{--tw-rotate:-12deg}.\\32xl\\:focus\\:-rotate-6:focus{--tw-rotate:-6deg}.\\32xl\\:focus\\:-rotate-3:focus{--tw-rotate:-3deg}.\\32xl\\:focus\\:-rotate-2:focus{--tw-rotate:-2deg}.\\32xl\\:focus\\:-rotate-1:focus{--tw-rotate:-1deg}.\\32xl\\:skew-x-0{--tw-skew-x:0deg}.\\32xl\\:skew-x-1{--tw-skew-x:1deg}.\\32xl\\:skew-x-2{--tw-skew-x:2deg}.\\32xl\\:skew-x-3{--tw-skew-x:3deg}.\\32xl\\:skew-x-6{--tw-skew-x:6deg}.\\32xl\\:skew-x-12{--tw-skew-x:12deg}.\\32xl\\:-skew-x-12{--tw-skew-x:-12deg}.\\32xl\\:-skew-x-6{--tw-skew-x:-6deg}.\\32xl\\:-skew-x-3{--tw-skew-x:-3deg}.\\32xl\\:-skew-x-2{--tw-skew-x:-2deg}.\\32xl\\:-skew-x-1{--tw-skew-x:-1deg}.\\32xl\\:skew-y-0{--tw-skew-y:0deg}.\\32xl\\:skew-y-1{--tw-skew-y:1deg}.\\32xl\\:skew-y-2{--tw-skew-y:2deg}.\\32xl\\:skew-y-3{--tw-skew-y:3deg}.\\32xl\\:skew-y-6{--tw-skew-y:6deg}.\\32xl\\:skew-y-12{--tw-skew-y:12deg}.\\32xl\\:-skew-y-12{--tw-skew-y:-12deg}.\\32xl\\:-skew-y-6{--tw-skew-y:-6deg}.\\32xl\\:-skew-y-3{--tw-skew-y:-3deg}.\\32xl\\:-skew-y-2{--tw-skew-y:-2deg}.\\32xl\\:-skew-y-1{--tw-skew-y:-1deg}.\\32xl\\:hover\\:skew-x-0:hover{--tw-skew-x:0deg}.\\32xl\\:hover\\:skew-x-1:hover{--tw-skew-x:1deg}.\\32xl\\:hover\\:skew-x-2:hover{--tw-skew-x:2deg}.\\32xl\\:hover\\:skew-x-3:hover{--tw-skew-x:3deg}.\\32xl\\:hover\\:skew-x-6:hover{--tw-skew-x:6deg}.\\32xl\\:hover\\:skew-x-12:hover{--tw-skew-x:12deg}.\\32xl\\:hover\\:-skew-x-12:hover{--tw-skew-x:-12deg}.\\32xl\\:hover\\:-skew-x-6:hover{--tw-skew-x:-6deg}.\\32xl\\:hover\\:-skew-x-3:hover{--tw-skew-x:-3deg}.\\32xl\\:hover\\:-skew-x-2:hover{--tw-skew-x:-2deg}.\\32xl\\:hover\\:-skew-x-1:hover{--tw-skew-x:-1deg}.\\32xl\\:hover\\:skew-y-0:hover{--tw-skew-y:0deg}.\\32xl\\:hover\\:skew-y-1:hover{--tw-skew-y:1deg}.\\32xl\\:hover\\:skew-y-2:hover{--tw-skew-y:2deg}.\\32xl\\:hover\\:skew-y-3:hover{--tw-skew-y:3deg}.\\32xl\\:hover\\:skew-y-6:hover{--tw-skew-y:6deg}.\\32xl\\:hover\\:skew-y-12:hover{--tw-skew-y:12deg}.\\32xl\\:hover\\:-skew-y-12:hover{--tw-skew-y:-12deg}.\\32xl\\:hover\\:-skew-y-6:hover{--tw-skew-y:-6deg}.\\32xl\\:hover\\:-skew-y-3:hover{--tw-skew-y:-3deg}.\\32xl\\:hover\\:-skew-y-2:hover{--tw-skew-y:-2deg}.\\32xl\\:hover\\:-skew-y-1:hover{--tw-skew-y:-1deg}.\\32xl\\:focus\\:skew-x-0:focus{--tw-skew-x:0deg}.\\32xl\\:focus\\:skew-x-1:focus{--tw-skew-x:1deg}.\\32xl\\:focus\\:skew-x-2:focus{--tw-skew-x:2deg}.\\32xl\\:focus\\:skew-x-3:focus{--tw-skew-x:3deg}.\\32xl\\:focus\\:skew-x-6:focus{--tw-skew-x:6deg}.\\32xl\\:focus\\:skew-x-12:focus{--tw-skew-x:12deg}.\\32xl\\:focus\\:-skew-x-12:focus{--tw-skew-x:-12deg}.\\32xl\\:focus\\:-skew-x-6:focus{--tw-skew-x:-6deg}.\\32xl\\:focus\\:-skew-x-3:focus{--tw-skew-x:-3deg}.\\32xl\\:focus\\:-skew-x-2:focus{--tw-skew-x:-2deg}.\\32xl\\:focus\\:-skew-x-1:focus{--tw-skew-x:-1deg}.\\32xl\\:focus\\:skew-y-0:focus{--tw-skew-y:0deg}.\\32xl\\:focus\\:skew-y-1:focus{--tw-skew-y:1deg}.\\32xl\\:focus\\:skew-y-2:focus{--tw-skew-y:2deg}.\\32xl\\:focus\\:skew-y-3:focus{--tw-skew-y:3deg}.\\32xl\\:focus\\:skew-y-6:focus{--tw-skew-y:6deg}.\\32xl\\:focus\\:skew-y-12:focus{--tw-skew-y:12deg}.\\32xl\\:focus\\:-skew-y-12:focus{--tw-skew-y:-12deg}.\\32xl\\:focus\\:-skew-y-6:focus{--tw-skew-y:-6deg}.\\32xl\\:focus\\:-skew-y-3:focus{--tw-skew-y:-3deg}.\\32xl\\:focus\\:-skew-y-2:focus{--tw-skew-y:-2deg}.\\32xl\\:focus\\:-skew-y-1:focus{--tw-skew-y:-1deg}.\\32xl\\:scale-0{--tw-scale-x:0;--tw-scale-y:0}.\\32xl\\:scale-50{--tw-scale-x:.5;--tw-scale-y:.5}.\\32xl\\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75}.\\32xl\\:scale-90{--tw-scale-x:.9;--tw-scale-y:.9}.\\32xl\\:scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.\\32xl\\:scale-100{--tw-scale-x:1;--tw-scale-y:1}.\\32xl\\:scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05}.\\32xl\\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1}.\\32xl\\:scale-125{--tw-scale-x:1.25;--tw-scale-y:1.25}.\\32xl\\:scale-150{--tw-scale-x:1.5;--tw-scale-y:1.5}.\\32xl\\:hover\\:scale-0:hover{--tw-scale-x:0;--tw-scale-y:0}.\\32xl\\:hover\\:scale-50:hover{--tw-scale-x:.5;--tw-scale-y:.5}.\\32xl\\:hover\\:scale-75:hover{--tw-scale-x:.75;--tw-scale-y:.75}.\\32xl\\:hover\\:scale-90:hover{--tw-scale-x:.9;--tw-scale-y:.9}.\\32xl\\:hover\\:scale-95:hover{--tw-scale-x:.95;--tw-scale-y:.95}.\\32xl\\:hover\\:scale-100:hover{--tw-scale-x:1;--tw-scale-y:1}.\\32xl\\:hover\\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.\\32xl\\:hover\\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.\\32xl\\:hover\\:scale-125:hover{--tw-scale-x:1.25;--tw-scale-y:1.25}.\\32xl\\:hover\\:scale-150:hover{--tw-scale-x:1.5;--tw-scale-y:1.5}.\\32xl\\:focus\\:scale-0:focus{--tw-scale-x:0;--tw-scale-y:0}.\\32xl\\:focus\\:scale-50:focus{--tw-scale-x:.5;--tw-scale-y:.5}.\\32xl\\:focus\\:scale-75:focus{--tw-scale-x:.75;--tw-scale-y:.75}.\\32xl\\:focus\\:scale-90:focus{--tw-scale-x:.9;--tw-scale-y:.9}.\\32xl\\:focus\\:scale-95:focus{--tw-scale-x:.95;--tw-scale-y:.95}.\\32xl\\:focus\\:scale-100:focus{--tw-scale-x:1;--tw-scale-y:1}.\\32xl\\:focus\\:scale-105:focus{--tw-scale-x:1.05;--tw-scale-y:1.05}.\\32xl\\:focus\\:scale-110:focus{--tw-scale-x:1.1;--tw-scale-y:1.1}.\\32xl\\:focus\\:scale-125:focus{--tw-scale-x:1.25;--tw-scale-y:1.25}.\\32xl\\:focus\\:scale-150:focus{--tw-scale-x:1.5;--tw-scale-y:1.5}.\\32xl\\:scale-x-0{--tw-scale-x:0}.\\32xl\\:scale-x-50{--tw-scale-x:.5}.\\32xl\\:scale-x-75{--tw-scale-x:.75}.\\32xl\\:scale-x-90{--tw-scale-x:.9}.\\32xl\\:scale-x-95{--tw-scale-x:.95}.\\32xl\\:scale-x-100{--tw-scale-x:1}.\\32xl\\:scale-x-105{--tw-scale-x:1.05}.\\32xl\\:scale-x-110{--tw-scale-x:1.1}.\\32xl\\:scale-x-125{--tw-scale-x:1.25}.\\32xl\\:scale-x-150{--tw-scale-x:1.5}.\\32xl\\:scale-y-0{--tw-scale-y:0}.\\32xl\\:scale-y-50{--tw-scale-y:.5}.\\32xl\\:scale-y-75{--tw-scale-y:.75}.\\32xl\\:scale-y-90{--tw-scale-y:.9}.\\32xl\\:scale-y-95{--tw-scale-y:.95}.\\32xl\\:scale-y-100{--tw-scale-y:1}.\\32xl\\:scale-y-105{--tw-scale-y:1.05}.\\32xl\\:scale-y-110{--tw-scale-y:1.1}.\\32xl\\:scale-y-125{--tw-scale-y:1.25}.\\32xl\\:scale-y-150{--tw-scale-y:1.5}.\\32xl\\:hover\\:scale-x-0:hover{--tw-scale-x:0}.\\32xl\\:hover\\:scale-x-50:hover{--tw-scale-x:.5}.\\32xl\\:hover\\:scale-x-75:hover{--tw-scale-x:.75}.\\32xl\\:hover\\:scale-x-90:hover{--tw-scale-x:.9}.\\32xl\\:hover\\:scale-x-95:hover{--tw-scale-x:.95}.\\32xl\\:hover\\:scale-x-100:hover{--tw-scale-x:1}.\\32xl\\:hover\\:scale-x-105:hover{--tw-scale-x:1.05}.\\32xl\\:hover\\:scale-x-110:hover{--tw-scale-x:1.1}.\\32xl\\:hover\\:scale-x-125:hover{--tw-scale-x:1.25}.\\32xl\\:hover\\:scale-x-150:hover{--tw-scale-x:1.5}.\\32xl\\:hover\\:scale-y-0:hover{--tw-scale-y:0}.\\32xl\\:hover\\:scale-y-50:hover{--tw-scale-y:.5}.\\32xl\\:hover\\:scale-y-75:hover{--tw-scale-y:.75}.\\32xl\\:hover\\:scale-y-90:hover{--tw-scale-y:.9}.\\32xl\\:hover\\:scale-y-95:hover{--tw-scale-y:.95}.\\32xl\\:hover\\:scale-y-100:hover{--tw-scale-y:1}.\\32xl\\:hover\\:scale-y-105:hover{--tw-scale-y:1.05}.\\32xl\\:hover\\:scale-y-110:hover{--tw-scale-y:1.1}.\\32xl\\:hover\\:scale-y-125:hover{--tw-scale-y:1.25}.\\32xl\\:hover\\:scale-y-150:hover{--tw-scale-y:1.5}.\\32xl\\:focus\\:scale-x-0:focus{--tw-scale-x:0}.\\32xl\\:focus\\:scale-x-50:focus{--tw-scale-x:.5}.\\32xl\\:focus\\:scale-x-75:focus{--tw-scale-x:.75}.\\32xl\\:focus\\:scale-x-90:focus{--tw-scale-x:.9}.\\32xl\\:focus\\:scale-x-95:focus{--tw-scale-x:.95}.\\32xl\\:focus\\:scale-x-100:focus{--tw-scale-x:1}.\\32xl\\:focus\\:scale-x-105:focus{--tw-scale-x:1.05}.\\32xl\\:focus\\:scale-x-110:focus{--tw-scale-x:1.1}.\\32xl\\:focus\\:scale-x-125:focus{--tw-scale-x:1.25}.\\32xl\\:focus\\:scale-x-150:focus{--tw-scale-x:1.5}.\\32xl\\:focus\\:scale-y-0:focus{--tw-scale-y:0}.\\32xl\\:focus\\:scale-y-50:focus{--tw-scale-y:.5}.\\32xl\\:focus\\:scale-y-75:focus{--tw-scale-y:.75}.\\32xl\\:focus\\:scale-y-90:focus{--tw-scale-y:.9}.\\32xl\\:focus\\:scale-y-95:focus{--tw-scale-y:.95}.\\32xl\\:focus\\:scale-y-100:focus{--tw-scale-y:1}.\\32xl\\:focus\\:scale-y-105:focus{--tw-scale-y:1.05}.\\32xl\\:focus\\:scale-y-110:focus{--tw-scale-y:1.1}.\\32xl\\:focus\\:scale-y-125:focus{--tw-scale-y:1.25}.\\32xl\\:focus\\:scale-y-150:focus{--tw-scale-y:1.5}.\\32xl\\:animate-none{animation:none}.\\32xl\\:animate-spin{animation:spin 1s linear infinite}.\\32xl\\:animate-ping{animation:ping 1s cubic-bezier(0, 0, 0.2, 1) infinite}.\\32xl\\:animate-pulse{animation:pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite}.\\32xl\\:animate-bounce{animation:bounce 1s infinite}.\\32xl\\:cursor-auto{cursor:auto}.\\32xl\\:cursor-default{cursor:default}.\\32xl\\:cursor-pointer{cursor:pointer}.\\32xl\\:cursor-wait{cursor:wait}.\\32xl\\:cursor-text{cursor:text}.\\32xl\\:cursor-move{cursor:move}.\\32xl\\:cursor-help{cursor:help}.\\32xl\\:cursor-not-allowed{cursor:not-allowed}.\\32xl\\:select-none{-webkit-user-select:none;user-select:none}.\\32xl\\:select-text{-webkit-user-select:text;user-select:text}.\\32xl\\:select-all{-webkit-user-select:all;user-select:all}.\\32xl\\:select-auto{-webkit-user-select:auto;user-select:auto}.\\32xl\\:resize-none{resize:none}.\\32xl\\:resize-y{resize:vertical}.\\32xl\\:resize-x{resize:horizontal}.\\32xl\\:resize{resize:both}.\\32xl\\:list-inside{list-style-position:inside}.\\32xl\\:list-outside{list-style-position:outside}.\\32xl\\:list-none{list-style-type:none}.\\32xl\\:list-disc{list-style-type:disc}.\\32xl\\:list-decimal{list-style-type:decimal}.\\32xl\\:appearance-none{appearance:none}.\\32xl\\:auto-cols-auto{grid-auto-columns:auto}.\\32xl\\:auto-cols-min{grid-auto-columns:min-content}.\\32xl\\:auto-cols-max{grid-auto-columns:max-content}.\\32xl\\:auto-cols-fr{grid-auto-columns:minmax(0, 1fr)}.\\32xl\\:grid-flow-row{grid-auto-flow:row}.\\32xl\\:grid-flow-col{grid-auto-flow:column}.\\32xl\\:grid-flow-row-dense{grid-auto-flow:row dense}.\\32xl\\:grid-flow-col-dense{grid-auto-flow:column dense}.\\32xl\\:auto-rows-auto{grid-auto-rows:auto}.\\32xl\\:auto-rows-min{grid-auto-rows:min-content}.\\32xl\\:auto-rows-max{grid-auto-rows:max-content}.\\32xl\\:auto-rows-fr{grid-auto-rows:minmax(0, 1fr)}.\\32xl\\:grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}.\\32xl\\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.\\32xl\\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.\\32xl\\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}.\\32xl\\:grid-cols-5{grid-template-columns:repeat(5, minmax(0, 1fr))}.\\32xl\\:grid-cols-6{grid-template-columns:repeat(6, minmax(0, 1fr))}.\\32xl\\:grid-cols-7{grid-template-columns:repeat(7, minmax(0, 1fr))}.\\32xl\\:grid-cols-8{grid-template-columns:repeat(8, minmax(0, 1fr))}.\\32xl\\:grid-cols-9{grid-template-columns:repeat(9, minmax(0, 1fr))}.\\32xl\\:grid-cols-10{grid-template-columns:repeat(10, minmax(0, 1fr))}.\\32xl\\:grid-cols-11{grid-template-columns:repeat(11, minmax(0, 1fr))}.\\32xl\\:grid-cols-12{grid-template-columns:repeat(12, minmax(0, 1fr))}.\\32xl\\:grid-cols-none{grid-template-columns:none}.\\32xl\\:grid-rows-1{grid-template-rows:repeat(1, minmax(0, 1fr))}.\\32xl\\:grid-rows-2{grid-template-rows:repeat(2, minmax(0, 1fr))}.\\32xl\\:grid-rows-3{grid-template-rows:repeat(3, minmax(0, 1fr))}.\\32xl\\:grid-rows-4{grid-template-rows:repeat(4, minmax(0, 1fr))}.\\32xl\\:grid-rows-5{grid-template-rows:repeat(5, minmax(0, 1fr))}.\\32xl\\:grid-rows-6{grid-template-rows:repeat(6, minmax(0, 1fr))}.\\32xl\\:grid-rows-none{grid-template-rows:none}.\\32xl\\:flex-row{flex-direction:row}.\\32xl\\:flex-row-reverse{flex-direction:row-reverse}.\\32xl\\:flex-col{flex-direction:column}.\\32xl\\:flex-col-reverse{flex-direction:column-reverse}.\\32xl\\:flex-wrap{flex-wrap:wrap}.\\32xl\\:flex-wrap-reverse{flex-wrap:wrap-reverse}.\\32xl\\:flex-nowrap{flex-wrap:nowrap}.\\32xl\\:place-content-center{place-content:center}.\\32xl\\:place-content-start{place-content:start}.\\32xl\\:place-content-end{place-content:end}.\\32xl\\:place-content-between{place-content:space-between}.\\32xl\\:place-content-around{place-content:space-around}.\\32xl\\:place-content-evenly{place-content:space-evenly}.\\32xl\\:place-content-stretch{place-content:stretch}.\\32xl\\:place-items-start{place-items:start}.\\32xl\\:place-items-end{place-items:end}.\\32xl\\:place-items-center{place-items:center}.\\32xl\\:place-items-stretch{place-items:stretch}.\\32xl\\:content-center{align-content:center}.\\32xl\\:content-start{align-content:flex-start}.\\32xl\\:content-end{align-content:flex-end}.\\32xl\\:content-between{align-content:space-between}.\\32xl\\:content-around{align-content:space-around}.\\32xl\\:content-evenly{align-content:space-evenly}.\\32xl\\:items-start{align-items:flex-start}.\\32xl\\:items-end{align-items:flex-end}.\\32xl\\:items-center{align-items:center}.\\32xl\\:items-baseline{align-items:baseline}.\\32xl\\:items-stretch{align-items:stretch}.\\32xl\\:justify-start{justify-content:flex-start}.\\32xl\\:justify-end{justify-content:flex-end}.\\32xl\\:justify-center{justify-content:center}.\\32xl\\:justify-between{justify-content:space-between}.\\32xl\\:justify-around{justify-content:space-around}.\\32xl\\:justify-evenly{justify-content:space-evenly}.\\32xl\\:justify-items-start{justify-items:start}.\\32xl\\:justify-items-end{justify-items:end}.\\32xl\\:justify-items-center{justify-items:center}.\\32xl\\:justify-items-stretch{justify-items:stretch}.\\32xl\\:gap-0{gap:0px}.\\32xl\\:gap-1{gap:0.25rem}.\\32xl\\:gap-2{gap:0.5rem}.\\32xl\\:gap-3{gap:0.75rem}.\\32xl\\:gap-4{gap:1rem}.\\32xl\\:gap-5{gap:1.25rem}.\\32xl\\:gap-6{gap:1.5rem}.\\32xl\\:gap-7{gap:1.75rem}.\\32xl\\:gap-8{gap:2rem}.\\32xl\\:gap-9{gap:2.25rem}.\\32xl\\:gap-10{gap:2.5rem}.\\32xl\\:gap-11{gap:2.75rem}.\\32xl\\:gap-12{gap:3rem}.\\32xl\\:gap-14{gap:3.5rem}.\\32xl\\:gap-16{gap:4rem}.\\32xl\\:gap-20{gap:5rem}.\\32xl\\:gap-24{gap:6rem}.\\32xl\\:gap-28{gap:7rem}.\\32xl\\:gap-32{gap:8rem}.\\32xl\\:gap-36{gap:9rem}.\\32xl\\:gap-40{gap:10rem}.\\32xl\\:gap-44{gap:11rem}.\\32xl\\:gap-48{gap:12rem}.\\32xl\\:gap-52{gap:13rem}.\\32xl\\:gap-56{gap:14rem}.\\32xl\\:gap-60{gap:15rem}.\\32xl\\:gap-64{gap:16rem}.\\32xl\\:gap-72{gap:18rem}.\\32xl\\:gap-80{gap:20rem}.\\32xl\\:gap-96{gap:24rem}.\\32xl\\:gap-px{gap:1px}.\\32xl\\:gap-0\\.5{gap:0.125rem}.\\32xl\\:gap-1\\.5{gap:0.375rem}.\\32xl\\:gap-2\\.5{gap:0.625rem}.\\32xl\\:gap-3\\.5{gap:0.875rem}.\\32xl\\:gap-x-0{column-gap:0px}.\\32xl\\:gap-x-1{column-gap:0.25rem}.\\32xl\\:gap-x-2{column-gap:0.5rem}.\\32xl\\:gap-x-3{column-gap:0.75rem}.\\32xl\\:gap-x-4{column-gap:1rem}.\\32xl\\:gap-x-5{column-gap:1.25rem}.\\32xl\\:gap-x-6{column-gap:1.5rem}.\\32xl\\:gap-x-7{column-gap:1.75rem}.\\32xl\\:gap-x-8{column-gap:2rem}.\\32xl\\:gap-x-9{column-gap:2.25rem}.\\32xl\\:gap-x-10{column-gap:2.5rem}.\\32xl\\:gap-x-11{column-gap:2.75rem}.\\32xl\\:gap-x-12{column-gap:3rem}.\\32xl\\:gap-x-14{column-gap:3.5rem}.\\32xl\\:gap-x-16{column-gap:4rem}.\\32xl\\:gap-x-20{column-gap:5rem}.\\32xl\\:gap-x-24{column-gap:6rem}.\\32xl\\:gap-x-28{column-gap:7rem}.\\32xl\\:gap-x-32{column-gap:8rem}.\\32xl\\:gap-x-36{column-gap:9rem}.\\32xl\\:gap-x-40{column-gap:10rem}.\\32xl\\:gap-x-44{column-gap:11rem}.\\32xl\\:gap-x-48{column-gap:12rem}.\\32xl\\:gap-x-52{column-gap:13rem}.\\32xl\\:gap-x-56{column-gap:14rem}.\\32xl\\:gap-x-60{column-gap:15rem}.\\32xl\\:gap-x-64{column-gap:16rem}.\\32xl\\:gap-x-72{column-gap:18rem}.\\32xl\\:gap-x-80{column-gap:20rem}.\\32xl\\:gap-x-96{column-gap:24rem}.\\32xl\\:gap-x-px{column-gap:1px}.\\32xl\\:gap-x-0\\.5{column-gap:0.125rem}.\\32xl\\:gap-x-1\\.5{column-gap:0.375rem}.\\32xl\\:gap-x-2\\.5{column-gap:0.625rem}.\\32xl\\:gap-x-3\\.5{column-gap:0.875rem}.\\32xl\\:gap-y-0{row-gap:0px}.\\32xl\\:gap-y-1{row-gap:0.25rem}.\\32xl\\:gap-y-2{row-gap:0.5rem}.\\32xl\\:gap-y-3{row-gap:0.75rem}.\\32xl\\:gap-y-4{row-gap:1rem}.\\32xl\\:gap-y-5{row-gap:1.25rem}.\\32xl\\:gap-y-6{row-gap:1.5rem}.\\32xl\\:gap-y-7{row-gap:1.75rem}.\\32xl\\:gap-y-8{row-gap:2rem}.\\32xl\\:gap-y-9{row-gap:2.25rem}.\\32xl\\:gap-y-10{row-gap:2.5rem}.\\32xl\\:gap-y-11{row-gap:2.75rem}.\\32xl\\:gap-y-12{row-gap:3rem}.\\32xl\\:gap-y-14{row-gap:3.5rem}.\\32xl\\:gap-y-16{row-gap:4rem}.\\32xl\\:gap-y-20{row-gap:5rem}.\\32xl\\:gap-y-24{row-gap:6rem}.\\32xl\\:gap-y-28{row-gap:7rem}.\\32xl\\:gap-y-32{row-gap:8rem}.\\32xl\\:gap-y-36{row-gap:9rem}.\\32xl\\:gap-y-40{row-gap:10rem}.\\32xl\\:gap-y-44{row-gap:11rem}.\\32xl\\:gap-y-48{row-gap:12rem}.\\32xl\\:gap-y-52{row-gap:13rem}.\\32xl\\:gap-y-56{row-gap:14rem}.\\32xl\\:gap-y-60{row-gap:15rem}.\\32xl\\:gap-y-64{row-gap:16rem}.\\32xl\\:gap-y-72{row-gap:18rem}.\\32xl\\:gap-y-80{row-gap:20rem}.\\32xl\\:gap-y-96{row-gap:24rem}.\\32xl\\:gap-y-px{row-gap:1px}.\\32xl\\:gap-y-0\\.5{row-gap:0.125rem}.\\32xl\\:gap-y-1\\.5{row-gap:0.375rem}.\\32xl\\:gap-y-2\\.5{row-gap:0.625rem}.\\32xl\\:gap-y-3\\.5{row-gap:0.875rem}.\\32xl\\:space-x-0>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0px * var(--tw-space-x-reverse));margin-left:calc(0px * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.25rem * var(--tw-space-x-reverse));margin-left:calc(0.25rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.5rem * var(--tw-space-x-reverse));margin-left:calc(0.5rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.75rem * var(--tw-space-x-reverse));margin-left:calc(0.75rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.25rem * var(--tw-space-x-reverse));margin-left:calc(1.25rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.5rem * var(--tw-space-x-reverse));margin-left:calc(1.5rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-7>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.75rem * var(--tw-space-x-reverse));margin-left:calc(1.75rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2rem * var(--tw-space-x-reverse));margin-left:calc(2rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-9>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2.25rem * var(--tw-space-x-reverse));margin-left:calc(2.25rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-10>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2.5rem * var(--tw-space-x-reverse));margin-left:calc(2.5rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-11>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2.75rem * var(--tw-space-x-reverse));margin-left:calc(2.75rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-12>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(3rem * var(--tw-space-x-reverse));margin-left:calc(3rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-14>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(3.5rem * var(--tw-space-x-reverse));margin-left:calc(3.5rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-16>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(4rem * var(--tw-space-x-reverse));margin-left:calc(4rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-20>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(5rem * var(--tw-space-x-reverse));margin-left:calc(5rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-24>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(6rem * var(--tw-space-x-reverse));margin-left:calc(6rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-28>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(7rem * var(--tw-space-x-reverse));margin-left:calc(7rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-32>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(8rem * var(--tw-space-x-reverse));margin-left:calc(8rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-36>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(9rem * var(--tw-space-x-reverse));margin-left:calc(9rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-40>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(10rem * var(--tw-space-x-reverse));margin-left:calc(10rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-44>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(11rem * var(--tw-space-x-reverse));margin-left:calc(11rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-48>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(12rem * var(--tw-space-x-reverse));margin-left:calc(12rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-52>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(13rem * var(--tw-space-x-reverse));margin-left:calc(13rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-56>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(14rem * var(--tw-space-x-reverse));margin-left:calc(14rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-60>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(15rem * var(--tw-space-x-reverse));margin-left:calc(15rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-64>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(16rem * var(--tw-space-x-reverse));margin-left:calc(16rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-72>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(18rem * var(--tw-space-x-reverse));margin-left:calc(18rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-80>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(20rem * var(--tw-space-x-reverse));margin-left:calc(20rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-96>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(24rem * var(--tw-space-x-reverse));margin-left:calc(24rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1px * var(--tw-space-x-reverse));margin-left:calc(1px * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-0\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.125rem * var(--tw-space-x-reverse));margin-left:calc(0.125rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-1\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.375rem * var(--tw-space-x-reverse));margin-left:calc(0.375rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-2\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.625rem * var(--tw-space-x-reverse));margin-left:calc(0.625rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-3\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.875rem * var(--tw-space-x-reverse));margin-left:calc(0.875rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-0>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0px * var(--tw-space-x-reverse));margin-left:calc(0px * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.25rem * var(--tw-space-x-reverse));margin-left:calc(-0.25rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.5rem * var(--tw-space-x-reverse));margin-left:calc(-0.5rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.75rem * var(--tw-space-x-reverse));margin-left:calc(-0.75rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1rem * var(--tw-space-x-reverse));margin-left:calc(-1rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1.25rem * var(--tw-space-x-reverse));margin-left:calc(-1.25rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1.5rem * var(--tw-space-x-reverse));margin-left:calc(-1.5rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-7>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1.75rem * var(--tw-space-x-reverse));margin-left:calc(-1.75rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2rem * var(--tw-space-x-reverse));margin-left:calc(-2rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-9>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2.25rem * var(--tw-space-x-reverse));margin-left:calc(-2.25rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-10>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2.5rem * var(--tw-space-x-reverse));margin-left:calc(-2.5rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-11>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2.75rem * var(--tw-space-x-reverse));margin-left:calc(-2.75rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-12>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-3rem * var(--tw-space-x-reverse));margin-left:calc(-3rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-14>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-3.5rem * var(--tw-space-x-reverse));margin-left:calc(-3.5rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-16>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-4rem * var(--tw-space-x-reverse));margin-left:calc(-4rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-20>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-5rem * var(--tw-space-x-reverse));margin-left:calc(-5rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-24>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-6rem * var(--tw-space-x-reverse));margin-left:calc(-6rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-28>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-7rem * var(--tw-space-x-reverse));margin-left:calc(-7rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-32>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-8rem * var(--tw-space-x-reverse));margin-left:calc(-8rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-36>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-9rem * var(--tw-space-x-reverse));margin-left:calc(-9rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-40>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-10rem * var(--tw-space-x-reverse));margin-left:calc(-10rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-44>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-11rem * var(--tw-space-x-reverse));margin-left:calc(-11rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-48>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-12rem * var(--tw-space-x-reverse));margin-left:calc(-12rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-52>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-13rem * var(--tw-space-x-reverse));margin-left:calc(-13rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-56>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-14rem * var(--tw-space-x-reverse));margin-left:calc(-14rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-60>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-15rem * var(--tw-space-x-reverse));margin-left:calc(-15rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-64>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-16rem * var(--tw-space-x-reverse));margin-left:calc(-16rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-72>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-18rem * var(--tw-space-x-reverse));margin-left:calc(-18rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-80>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-20rem * var(--tw-space-x-reverse));margin-left:calc(-20rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-96>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-24rem * var(--tw-space-x-reverse));margin-left:calc(-24rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1px * var(--tw-space-x-reverse));margin-left:calc(-1px * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-0\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.125rem * var(--tw-space-x-reverse));margin-left:calc(-0.125rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-1\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.375rem * var(--tw-space-x-reverse));margin-left:calc(-0.375rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-2\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.625rem * var(--tw-space-x-reverse));margin-left:calc(-0.625rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-3\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.875rem * var(--tw-space-x-reverse));margin-left:calc(-0.875rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.\\32xl\\:space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.25rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.5rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.75rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-7>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.75rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-9>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.25rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.5rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-11>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.75rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-14>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(3.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3.5rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-16>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(4rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(4rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-20>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(5rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-24>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(6rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(6rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-28>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(7rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(7rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-32>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(8rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(8rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-36>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(9rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(9rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-40>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(10rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(10rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-44>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(11rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(11rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-48>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(12rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(12rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-52>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(13rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(13rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-56>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(14rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(14rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-60>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(15rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(15rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-64>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(16rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(16rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-72>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(18rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(18rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-80>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(20rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(20rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-96>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(24rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(24rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-px>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1px * var(--tw-space-y-reverse))}.\\32xl\\:space-y-0\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.125rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-1\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.375rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-2\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.625rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-3\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.875rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.875rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.25rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.5rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.75rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1.25rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1.5rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-7>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1.75rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-9>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2.25rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2.5rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-11>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2.75rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-3rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-14>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-3.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-3.5rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-16>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-4rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-4rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-20>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-5rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-24>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-6rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-6rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-28>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-7rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-7rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-32>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-8rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-8rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-36>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-9rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-9rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-40>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-10rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-10rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-44>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-11rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-11rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-48>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-12rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-12rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-52>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-13rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-13rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-56>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-14rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-14rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-60>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-15rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-15rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-64>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-16rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-16rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-72>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-18rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-18rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-80>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-20rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-20rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-96>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-24rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-24rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-px>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1px * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-0\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.125rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-1\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.375rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-2\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.625rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-3\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.875rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.875rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-reverse>:not([hidden])~:not([hidden]){--tw-space-y-reverse:1}.\\32xl\\:space-x-reverse>:not([hidden])~:not([hidden]){--tw-space-x-reverse:1}.\\32xl\\:divide-x-0>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(0px * var(--tw-divide-x-reverse));border-left-width:calc(0px * calc(1 - var(--tw-divide-x-reverse)))}.\\32xl\\:divide-x-2>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(2px * var(--tw-divide-x-reverse));border-left-width:calc(2px * calc(1 - var(--tw-divide-x-reverse)))}.\\32xl\\:divide-x-4>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(4px * var(--tw-divide-x-reverse));border-left-width:calc(4px * calc(1 - var(--tw-divide-x-reverse)))}.\\32xl\\:divide-x-8>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(8px * var(--tw-divide-x-reverse));border-left-width:calc(8px * calc(1 - var(--tw-divide-x-reverse)))}.\\32xl\\:divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(1px * var(--tw-divide-x-reverse));border-left-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}.\\32xl\\:divide-y-0>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(0px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(0px * var(--tw-divide-y-reverse))}.\\32xl\\:divide-y-2>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(2px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(2px * var(--tw-divide-y-reverse))}.\\32xl\\:divide-y-4>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(4px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(4px * var(--tw-divide-y-reverse))}.\\32xl\\:divide-y-8>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(8px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(8px * var(--tw-divide-y-reverse))}.\\32xl\\:divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.\\32xl\\:divide-y-reverse>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:1}.\\32xl\\:divide-x-reverse>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:1}.\\32xl\\:divide-solid>:not([hidden])~:not([hidden]){border-style:solid}.\\32xl\\:divide-dashed>:not([hidden])~:not([hidden]){border-style:dashed}.\\32xl\\:divide-dotted>:not([hidden])~:not([hidden]){border-style:dotted}.\\32xl\\:divide-double>:not([hidden])~:not([hidden]){border-style:double}.\\32xl\\:divide-none>:not([hidden])~:not([hidden]){border-style:none}.\\32xl\\:divide-transparent>:not([hidden])~:not([hidden]){border-color:transparent}.\\32xl\\:divide-current>:not([hidden])~:not([hidden]){border-color:currentColor}.\\32xl\\:divide-white>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.\\32xl\\:divide-lightgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(247, 247, 247, var(--tw-divide-opacity))}.\\32xl\\:divide-midgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.\\32xl\\:divide-darkgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(127, 127, 127, var(--tw-divide-opacity))}.\\32xl\\:divide-grey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(30, 30, 30, var(--tw-divide-opacity))}.\\32xl\\:divide-black>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(15, 15, 15, var(--tw-divide-opacity))}.\\32xl\\:divide-highlight>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 113, 227, var(--tw-divide-opacity))}.\\32xl\\:divide-highlight_hover>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 119, 237, var(--tw-divide-opacity))}.\\32xl\\:divide-button_outline>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.\\32xl\\:divide-error>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 69, 58, var(--tw-divide-opacity))}.\\32xl\\:divide-text-light>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(15, 15, 15, var(--tw-divide-opacity))}.\\32xl\\:divide-text-dimmed>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.\\32xl\\:divide-text-dark>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.\\32xl\\:divide-body-light>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.\\32xl\\:divide-body-dark>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(30, 30, 30, var(--tw-divide-opacity))}.\\32xl\\:divide-button>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 113, 227, var(--tw-divide-opacity))}.\\32xl\\:divide-button_hover>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 119, 237, var(--tw-divide-opacity))}@media(prefers-color-scheme: dark){.\\32xl\\:dark\\:divide-transparent>:not([hidden])~:not([hidden]){border-color:transparent}.\\32xl\\:dark\\:divide-current>:not([hidden])~:not([hidden]){border-color:currentColor}.\\32xl\\:dark\\:divide-white>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.\\32xl\\:dark\\:divide-lightgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(247, 247, 247, var(--tw-divide-opacity))}.\\32xl\\:dark\\:divide-midgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.\\32xl\\:dark\\:divide-darkgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(127, 127, 127, var(--tw-divide-opacity))}.\\32xl\\:dark\\:divide-grey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(30, 30, 30, var(--tw-divide-opacity))}.\\32xl\\:dark\\:divide-black>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(15, 15, 15, var(--tw-divide-opacity))}.\\32xl\\:dark\\:divide-highlight>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 113, 227, var(--tw-divide-opacity))}.\\32xl\\:dark\\:divide-highlight_hover>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 119, 237, var(--tw-divide-opacity))}.\\32xl\\:dark\\:divide-button_outline>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.\\32xl\\:dark\\:divide-error>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 69, 58, var(--tw-divide-opacity))}.\\32xl\\:dark\\:divide-text-light>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(15, 15, 15, var(--tw-divide-opacity))}.\\32xl\\:dark\\:divide-text-dimmed>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.\\32xl\\:dark\\:divide-text-dark>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.\\32xl\\:dark\\:divide-body-light>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.\\32xl\\:dark\\:divide-body-dark>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(30, 30, 30, var(--tw-divide-opacity))}.\\32xl\\:dark\\:divide-button>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 113, 227, var(--tw-divide-opacity))}.\\32xl\\:dark\\:divide-button_hover>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 119, 237, var(--tw-divide-opacity))}}.\\32xl\\:divide-opacity-0>:not([hidden])~:not([hidden]){--tw-divide-opacity:0}.\\32xl\\:divide-opacity-5>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.05}.\\32xl\\:divide-opacity-10>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.1}.\\32xl\\:divide-opacity-20>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.2}.\\32xl\\:divide-opacity-25>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.25}.\\32xl\\:divide-opacity-30>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.3}.\\32xl\\:divide-opacity-40>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.4}.\\32xl\\:divide-opacity-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.5}.\\32xl\\:divide-opacity-60>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.6}.\\32xl\\:divide-opacity-70>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.7}.\\32xl\\:divide-opacity-75>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.75}.\\32xl\\:divide-opacity-80>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.8}.\\32xl\\:divide-opacity-90>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.9}.\\32xl\\:divide-opacity-95>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.95}.\\32xl\\:divide-opacity-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1}@media(prefers-color-scheme: dark){.\\32xl\\:dark\\:divide-opacity-0>:not([hidden])~:not([hidden]){--tw-divide-opacity:0}.\\32xl\\:dark\\:divide-opacity-5>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.05}.\\32xl\\:dark\\:divide-opacity-10>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.1}.\\32xl\\:dark\\:divide-opacity-20>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.2}.\\32xl\\:dark\\:divide-opacity-25>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.25}.\\32xl\\:dark\\:divide-opacity-30>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.3}.\\32xl\\:dark\\:divide-opacity-40>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.4}.\\32xl\\:dark\\:divide-opacity-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.5}.\\32xl\\:dark\\:divide-opacity-60>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.6}.\\32xl\\:dark\\:divide-opacity-70>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.7}.\\32xl\\:dark\\:divide-opacity-75>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.75}.\\32xl\\:dark\\:divide-opacity-80>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.8}.\\32xl\\:dark\\:divide-opacity-90>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.9}.\\32xl\\:dark\\:divide-opacity-95>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.95}.\\32xl\\:dark\\:divide-opacity-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1}}.\\32xl\\:place-self-auto{place-self:auto}.\\32xl\\:place-self-start{place-self:start}.\\32xl\\:place-self-end{place-self:end}.\\32xl\\:place-self-center{place-self:center}.\\32xl\\:place-self-stretch{place-self:stretch}.\\32xl\\:self-auto{align-self:auto}.\\32xl\\:self-start{align-self:flex-start}.\\32xl\\:self-end{align-self:flex-end}.\\32xl\\:self-center{align-self:center}.\\32xl\\:self-stretch{align-self:stretch}.\\32xl\\:self-baseline{align-self:baseline}.\\32xl\\:justify-self-auto{justify-self:auto}.\\32xl\\:justify-self-start{justify-self:start}.\\32xl\\:justify-self-end{justify-self:end}.\\32xl\\:justify-self-center{justify-self:center}.\\32xl\\:justify-self-stretch{justify-self:stretch}.\\32xl\\:overflow-auto{overflow:auto}.\\32xl\\:overflow-hidden{overflow:hidden}.\\32xl\\:overflow-visible{overflow:visible}.\\32xl\\:overflow-scroll{overflow:scroll}.\\32xl\\:overflow-x-auto{overflow-x:auto}.\\32xl\\:overflow-y-auto{overflow-y:auto}.\\32xl\\:overflow-x-hidden{overflow-x:hidden}.\\32xl\\:overflow-y-hidden{overflow-y:hidden}.\\32xl\\:overflow-x-visible{overflow-x:visible}.\\32xl\\:overflow-y-visible{overflow-y:visible}.\\32xl\\:overflow-x-scroll{overflow-x:scroll}.\\32xl\\:overflow-y-scroll{overflow-y:scroll}.\\32xl\\:overscroll-auto{overscroll-behavior:auto}.\\32xl\\:overscroll-contain{overscroll-behavior:contain}.\\32xl\\:overscroll-none{overscroll-behavior:none}.\\32xl\\:overscroll-y-auto{overscroll-behavior-y:auto}.\\32xl\\:overscroll-y-contain{overscroll-behavior-y:contain}.\\32xl\\:overscroll-y-none{overscroll-behavior-y:none}.\\32xl\\:overscroll-x-auto{overscroll-behavior-x:auto}.\\32xl\\:overscroll-x-contain{overscroll-behavior-x:contain}.\\32xl\\:overscroll-x-none{overscroll-behavior-x:none}.\\32xl\\:truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.\\32xl\\:overflow-ellipsis{text-overflow:ellipsis}.\\32xl\\:overflow-clip{text-overflow:clip}.\\32xl\\:whitespace-normal{white-space:normal}.\\32xl\\:whitespace-nowrap{white-space:nowrap}.\\32xl\\:whitespace-pre{white-space:pre}.\\32xl\\:whitespace-pre-line{white-space:pre-line}.\\32xl\\:whitespace-pre-wrap{white-space:pre-wrap}.\\32xl\\:break-normal{overflow-wrap:normal;word-break:normal}.\\32xl\\:break-words{overflow-wrap:break-word}.\\32xl\\:break-all{word-break:break-all}.\\32xl\\:rounded-none{border-radius:0px}.\\32xl\\:rounded-sm{border-radius:0.125rem}.\\32xl\\:rounded{border-radius:0.25rem}.\\32xl\\:rounded-md{border-radius:0.375rem}.\\32xl\\:rounded-lg{border-radius:0.5rem}.\\32xl\\:rounded-xl{border-radius:0.75rem}.\\32xl\\:rounded-2xl{border-radius:1rem}.\\32xl\\:rounded-3xl{border-radius:1.5rem}.\\32xl\\:rounded-full{border-radius:9999px}.\\32xl\\:rounded-t-none{border-top-left-radius:0px;border-top-right-radius:0px}.\\32xl\\:rounded-t-sm{border-top-left-radius:0.125rem;border-top-right-radius:0.125rem}.\\32xl\\:rounded-t{border-top-left-radius:0.25rem;border-top-right-radius:0.25rem}.\\32xl\\:rounded-t-md{border-top-left-radius:0.375rem;border-top-right-radius:0.375rem}.\\32xl\\:rounded-t-lg{border-top-left-radius:0.5rem;border-top-right-radius:0.5rem}.\\32xl\\:rounded-t-xl{border-top-left-radius:0.75rem;border-top-right-radius:0.75rem}.\\32xl\\:rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.\\32xl\\:rounded-t-3xl{border-top-left-radius:1.5rem;border-top-right-radius:1.5rem}.\\32xl\\:rounded-t-full{border-top-left-radius:9999px;border-top-right-radius:9999px}.\\32xl\\:rounded-r-none{border-top-right-radius:0px;border-bottom-right-radius:0px}.\\32xl\\:rounded-r-sm{border-top-right-radius:0.125rem;border-bottom-right-radius:0.125rem}.\\32xl\\:rounded-r{border-top-right-radius:0.25rem;border-bottom-right-radius:0.25rem}.\\32xl\\:rounded-r-md{border-top-right-radius:0.375rem;border-bottom-right-radius:0.375rem}.\\32xl\\:rounded-r-lg{border-top-right-radius:0.5rem;border-bottom-right-radius:0.5rem}.\\32xl\\:rounded-r-xl{border-top-right-radius:0.75rem;border-bottom-right-radius:0.75rem}.\\32xl\\:rounded-r-2xl{border-top-right-radius:1rem;border-bottom-right-radius:1rem}.\\32xl\\:rounded-r-3xl{border-top-right-radius:1.5rem;border-bottom-right-radius:1.5rem}.\\32xl\\:rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.\\32xl\\:rounded-b-none{border-bottom-right-radius:0px;border-bottom-left-radius:0px}.\\32xl\\:rounded-b-sm{border-bottom-right-radius:0.125rem;border-bottom-left-radius:0.125rem}.\\32xl\\:rounded-b{border-bottom-right-radius:0.25rem;border-bottom-left-radius:0.25rem}.\\32xl\\:rounded-b-md{border-bottom-right-radius:0.375rem;border-bottom-left-radius:0.375rem}.\\32xl\\:rounded-b-lg{border-bottom-right-radius:0.5rem;border-bottom-left-radius:0.5rem}.\\32xl\\:rounded-b-xl{border-bottom-right-radius:0.75rem;border-bottom-left-radius:0.75rem}.\\32xl\\:rounded-b-2xl{border-bottom-right-radius:1rem;border-bottom-left-radius:1rem}.\\32xl\\:rounded-b-3xl{border-bottom-right-radius:1.5rem;border-bottom-left-radius:1.5rem}.\\32xl\\:rounded-b-full{border-bottom-right-radius:9999px;border-bottom-left-radius:9999px}.\\32xl\\:rounded-l-none{border-top-left-radius:0px;border-bottom-left-radius:0px}.\\32xl\\:rounded-l-sm{border-top-left-radius:0.125rem;border-bottom-left-radius:0.125rem}.\\32xl\\:rounded-l{border-top-left-radius:0.25rem;border-bottom-left-radius:0.25rem}.\\32xl\\:rounded-l-md{border-top-left-radius:0.375rem;border-bottom-left-radius:0.375rem}.\\32xl\\:rounded-l-lg{border-top-left-radius:0.5rem;border-bottom-left-radius:0.5rem}.\\32xl\\:rounded-l-xl{border-top-left-radius:0.75rem;border-bottom-left-radius:0.75rem}.\\32xl\\:rounded-l-2xl{border-top-left-radius:1rem;border-bottom-left-radius:1rem}.\\32xl\\:rounded-l-3xl{border-top-left-radius:1.5rem;border-bottom-left-radius:1.5rem}.\\32xl\\:rounded-l-full{border-top-left-radius:9999px;border-bottom-left-radius:9999px}.\\32xl\\:rounded-tl-none{border-top-left-radius:0px}.\\32xl\\:rounded-tl-sm{border-top-left-radius:0.125rem}.\\32xl\\:rounded-tl{border-top-left-radius:0.25rem}.\\32xl\\:rounded-tl-md{border-top-left-radius:0.375rem}.\\32xl\\:rounded-tl-lg{border-top-left-radius:0.5rem}.\\32xl\\:rounded-tl-xl{border-top-left-radius:0.75rem}.\\32xl\\:rounded-tl-2xl{border-top-left-radius:1rem}.\\32xl\\:rounded-tl-3xl{border-top-left-radius:1.5rem}.\\32xl\\:rounded-tl-full{border-top-left-radius:9999px}.\\32xl\\:rounded-tr-none{border-top-right-radius:0px}.\\32xl\\:rounded-tr-sm{border-top-right-radius:0.125rem}.\\32xl\\:rounded-tr{border-top-right-radius:0.25rem}.\\32xl\\:rounded-tr-md{border-top-right-radius:0.375rem}.\\32xl\\:rounded-tr-lg{border-top-right-radius:0.5rem}.\\32xl\\:rounded-tr-xl{border-top-right-radius:0.75rem}.\\32xl\\:rounded-tr-2xl{border-top-right-radius:1rem}.\\32xl\\:rounded-tr-3xl{border-top-right-radius:1.5rem}.\\32xl\\:rounded-tr-full{border-top-right-radius:9999px}.\\32xl\\:rounded-br-none{border-bottom-right-radius:0px}.\\32xl\\:rounded-br-sm{border-bottom-right-radius:0.125rem}.\\32xl\\:rounded-br{border-bottom-right-radius:0.25rem}.\\32xl\\:rounded-br-md{border-bottom-right-radius:0.375rem}.\\32xl\\:rounded-br-lg{border-bottom-right-radius:0.5rem}.\\32xl\\:rounded-br-xl{border-bottom-right-radius:0.75rem}.\\32xl\\:rounded-br-2xl{border-bottom-right-radius:1rem}.\\32xl\\:rounded-br-3xl{border-bottom-right-radius:1.5rem}.\\32xl\\:rounded-br-full{border-bottom-right-radius:9999px}.\\32xl\\:rounded-bl-none{border-bottom-left-radius:0px}.\\32xl\\:rounded-bl-sm{border-bottom-left-radius:0.125rem}.\\32xl\\:rounded-bl{border-bottom-left-radius:0.25rem}.\\32xl\\:rounded-bl-md{border-bottom-left-radius:0.375rem}.\\32xl\\:rounded-bl-lg{border-bottom-left-radius:0.5rem}.\\32xl\\:rounded-bl-xl{border-bottom-left-radius:0.75rem}.\\32xl\\:rounded-bl-2xl{border-bottom-left-radius:1rem}.\\32xl\\:rounded-bl-3xl{border-bottom-left-radius:1.5rem}.\\32xl\\:rounded-bl-full{border-bottom-left-radius:9999px}.\\32xl\\:border-0{border-width:0px}.\\32xl\\:border-2{border-width:2px}.\\32xl\\:border-4{border-width:4px}.\\32xl\\:border-8{border-width:8px}.\\32xl\\:border{border-width:1px}.\\32xl\\:border-t-0{border-top-width:0px}.\\32xl\\:border-t-2{border-top-width:2px}.\\32xl\\:border-t-4{border-top-width:4px}.\\32xl\\:border-t-8{border-top-width:8px}.\\32xl\\:border-t{border-top-width:1px}.\\32xl\\:border-r-0{border-right-width:0px}.\\32xl\\:border-r-2{border-right-width:2px}.\\32xl\\:border-r-4{border-right-width:4px}.\\32xl\\:border-r-8{border-right-width:8px}.\\32xl\\:border-r{border-right-width:1px}.\\32xl\\:border-b-0{border-bottom-width:0px}.\\32xl\\:border-b-2{border-bottom-width:2px}.\\32xl\\:border-b-4{border-bottom-width:4px}.\\32xl\\:border-b-8{border-bottom-width:8px}.\\32xl\\:border-b{border-bottom-width:1px}.\\32xl\\:border-l-0{border-left-width:0px}.\\32xl\\:border-l-2{border-left-width:2px}.\\32xl\\:border-l-4{border-left-width:4px}.\\32xl\\:border-l-8{border-left-width:8px}.\\32xl\\:border-l{border-left-width:1px}.\\32xl\\:border-solid{border-style:solid}.\\32xl\\:border-dashed{border-style:dashed}.\\32xl\\:border-dotted{border-style:dotted}.\\32xl\\:border-double{border-style:double}.\\32xl\\:border-none{border-style:none}.\\32xl\\:border-transparent{border-color:transparent}.\\32xl\\:border-current{border-color:currentColor}.\\32xl\\:border-white{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.\\32xl\\:border-lightgrey{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.\\32xl\\:border-midgrey{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.\\32xl\\:border-darkgrey{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.\\32xl\\:border-grey{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.\\32xl\\:border-black{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.\\32xl\\:border-highlight{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.\\32xl\\:border-highlight_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.\\32xl\\:border-button_outline{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.\\32xl\\:border-error{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.\\32xl\\:border-text-light{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.\\32xl\\:border-text-dimmed{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.\\32xl\\:border-text-dark{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.\\32xl\\:border-body-light{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.\\32xl\\:border-body-dark{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.\\32xl\\:border-button{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.\\32xl\\:border-button_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.group:hover .\\32xl\\:group-hover\\:border-transparent{border-color:transparent}.group:hover .\\32xl\\:group-hover\\:border-current{border-color:currentColor}.group:hover .\\32xl\\:group-hover\\:border-white{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .\\32xl\\:group-hover\\:border-lightgrey{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.group:hover .\\32xl\\:group-hover\\:border-midgrey{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .\\32xl\\:group-hover\\:border-darkgrey{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.group:hover .\\32xl\\:group-hover\\:border-grey{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.group:hover .\\32xl\\:group-hover\\:border-black{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.group:hover .\\32xl\\:group-hover\\:border-highlight{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.group:hover .\\32xl\\:group-hover\\:border-highlight_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.group:hover .\\32xl\\:group-hover\\:border-button_outline{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .\\32xl\\:group-hover\\:border-error{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.group:hover .\\32xl\\:group-hover\\:border-text-light{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.group:hover .\\32xl\\:group-hover\\:border-text-dimmed{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .\\32xl\\:group-hover\\:border-text-dark{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .\\32xl\\:group-hover\\:border-body-light{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .\\32xl\\:group-hover\\:border-body-dark{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.group:hover .\\32xl\\:group-hover\\:border-button{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.group:hover .\\32xl\\:group-hover\\:border-button_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.\\32xl\\:focus-within\\:border-transparent:focus-within{border-color:transparent}.\\32xl\\:focus-within\\:border-current:focus-within{border-color:currentColor}.\\32xl\\:focus-within\\:border-white:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.\\32xl\\:focus-within\\:border-lightgrey:focus-within{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.\\32xl\\:focus-within\\:border-midgrey:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.\\32xl\\:focus-within\\:border-darkgrey:focus-within{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.\\32xl\\:focus-within\\:border-grey:focus-within{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.\\32xl\\:focus-within\\:border-black:focus-within{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.\\32xl\\:focus-within\\:border-highlight:focus-within{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.\\32xl\\:focus-within\\:border-highlight_hover:focus-within{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.\\32xl\\:focus-within\\:border-button_outline:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.\\32xl\\:focus-within\\:border-error:focus-within{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.\\32xl\\:focus-within\\:border-text-light:focus-within{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.\\32xl\\:focus-within\\:border-text-dimmed:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.\\32xl\\:focus-within\\:border-text-dark:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.\\32xl\\:focus-within\\:border-body-light:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.\\32xl\\:focus-within\\:border-body-dark:focus-within{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.\\32xl\\:focus-within\\:border-button:focus-within{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.\\32xl\\:focus-within\\:border-button_hover:focus-within{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.\\32xl\\:hover\\:border-transparent:hover{border-color:transparent}.\\32xl\\:hover\\:border-current:hover{border-color:currentColor}.\\32xl\\:hover\\:border-white:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.\\32xl\\:hover\\:border-lightgrey:hover{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.\\32xl\\:hover\\:border-midgrey:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.\\32xl\\:hover\\:border-darkgrey:hover{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.\\32xl\\:hover\\:border-grey:hover{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.\\32xl\\:hover\\:border-black:hover{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.\\32xl\\:hover\\:border-highlight:hover{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.\\32xl\\:hover\\:border-highlight_hover:hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.\\32xl\\:hover\\:border-button_outline:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.\\32xl\\:hover\\:border-error:hover{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.\\32xl\\:hover\\:border-text-light:hover{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.\\32xl\\:hover\\:border-text-dimmed:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.\\32xl\\:hover\\:border-text-dark:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.\\32xl\\:hover\\:border-body-light:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.\\32xl\\:hover\\:border-body-dark:hover{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.\\32xl\\:hover\\:border-button:hover{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.\\32xl\\:hover\\:border-button_hover:hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.\\32xl\\:focus\\:border-transparent:focus{border-color:transparent}.\\32xl\\:focus\\:border-current:focus{border-color:currentColor}.\\32xl\\:focus\\:border-white:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.\\32xl\\:focus\\:border-lightgrey:focus{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.\\32xl\\:focus\\:border-midgrey:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.\\32xl\\:focus\\:border-darkgrey:focus{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.\\32xl\\:focus\\:border-grey:focus{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.\\32xl\\:focus\\:border-black:focus{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.\\32xl\\:focus\\:border-highlight:focus{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.\\32xl\\:focus\\:border-highlight_hover:focus{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.\\32xl\\:focus\\:border-button_outline:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.\\32xl\\:focus\\:border-error:focus{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.\\32xl\\:focus\\:border-text-light:focus{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.\\32xl\\:focus\\:border-text-dimmed:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.\\32xl\\:focus\\:border-text-dark:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.\\32xl\\:focus\\:border-body-light:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.\\32xl\\:focus\\:border-body-dark:focus{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.\\32xl\\:focus\\:border-button:focus{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.\\32xl\\:focus\\:border-button_hover:focus{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}@media(prefers-color-scheme: dark){.\\32xl\\:dark\\:border-transparent{border-color:transparent}.\\32xl\\:dark\\:border-current{border-color:currentColor}.\\32xl\\:dark\\:border-white{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.\\32xl\\:dark\\:border-lightgrey{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.\\32xl\\:dark\\:border-midgrey{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.\\32xl\\:dark\\:border-darkgrey{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.\\32xl\\:dark\\:border-grey{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.\\32xl\\:dark\\:border-black{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.\\32xl\\:dark\\:border-highlight{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.\\32xl\\:dark\\:border-highlight_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.\\32xl\\:dark\\:border-button_outline{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.\\32xl\\:dark\\:border-error{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.\\32xl\\:dark\\:border-text-light{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.\\32xl\\:dark\\:border-text-dimmed{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.\\32xl\\:dark\\:border-text-dark{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.\\32xl\\:dark\\:border-body-light{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.\\32xl\\:dark\\:border-body-dark{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.\\32xl\\:dark\\:border-button{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.\\32xl\\:dark\\:border-button_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:border-transparent{border-color:transparent}.group:hover .\\32xl\\:dark\\:group-hover\\:border-current{border-color:currentColor}.group:hover .\\32xl\\:dark\\:group-hover\\:border-white{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:border-lightgrey{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:border-midgrey{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:border-darkgrey{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:border-grey{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:border-black{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:border-highlight{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:border-highlight_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:border-button_outline{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:border-error{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:border-text-light{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:border-text-dimmed{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:border-text-dark{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:border-body-light{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:border-body-dark{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:border-button{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:border-button_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus-within\\:border-transparent:focus-within{border-color:transparent}.\\32xl\\:dark\\:focus-within\\:border-current:focus-within{border-color:currentColor}.\\32xl\\:dark\\:focus-within\\:border-white:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus-within\\:border-lightgrey:focus-within{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus-within\\:border-midgrey:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus-within\\:border-darkgrey:focus-within{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus-within\\:border-grey:focus-within{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus-within\\:border-black:focus-within{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus-within\\:border-highlight:focus-within{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus-within\\:border-highlight_hover:focus-within{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus-within\\:border-button_outline:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus-within\\:border-error:focus-within{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus-within\\:border-text-light:focus-within{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus-within\\:border-text-dimmed:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus-within\\:border-text-dark:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus-within\\:border-body-light:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus-within\\:border-body-dark:focus-within{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus-within\\:border-button:focus-within{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus-within\\:border-button_hover:focus-within{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.\\32xl\\:dark\\:hover\\:border-transparent:hover{border-color:transparent}.\\32xl\\:dark\\:hover\\:border-current:hover{border-color:currentColor}.\\32xl\\:dark\\:hover\\:border-white:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.\\32xl\\:dark\\:hover\\:border-lightgrey:hover{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.\\32xl\\:dark\\:hover\\:border-midgrey:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.\\32xl\\:dark\\:hover\\:border-darkgrey:hover{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.\\32xl\\:dark\\:hover\\:border-grey:hover{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.\\32xl\\:dark\\:hover\\:border-black:hover{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.\\32xl\\:dark\\:hover\\:border-highlight:hover{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.\\32xl\\:dark\\:hover\\:border-highlight_hover:hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.\\32xl\\:dark\\:hover\\:border-button_outline:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.\\32xl\\:dark\\:hover\\:border-error:hover{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.\\32xl\\:dark\\:hover\\:border-text-light:hover{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.\\32xl\\:dark\\:hover\\:border-text-dimmed:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.\\32xl\\:dark\\:hover\\:border-text-dark:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.\\32xl\\:dark\\:hover\\:border-body-light:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.\\32xl\\:dark\\:hover\\:border-body-dark:hover{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.\\32xl\\:dark\\:hover\\:border-button:hover{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.\\32xl\\:dark\\:hover\\:border-button_hover:hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus\\:border-transparent:focus{border-color:transparent}.\\32xl\\:dark\\:focus\\:border-current:focus{border-color:currentColor}.\\32xl\\:dark\\:focus\\:border-white:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus\\:border-lightgrey:focus{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus\\:border-midgrey:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus\\:border-darkgrey:focus{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus\\:border-grey:focus{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus\\:border-black:focus{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus\\:border-highlight:focus{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus\\:border-highlight_hover:focus{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus\\:border-button_outline:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus\\:border-error:focus{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus\\:border-text-light:focus{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus\\:border-text-dimmed:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus\\:border-text-dark:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus\\:border-body-light:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus\\:border-body-dark:focus{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus\\:border-button:focus{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus\\:border-button_hover:focus{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}}.\\32xl\\:border-opacity-0{--tw-border-opacity:0}.\\32xl\\:border-opacity-5{--tw-border-opacity:0.05}.\\32xl\\:border-opacity-10{--tw-border-opacity:0.1}.\\32xl\\:border-opacity-20{--tw-border-opacity:0.2}.\\32xl\\:border-opacity-25{--tw-border-opacity:0.25}.\\32xl\\:border-opacity-30{--tw-border-opacity:0.3}.\\32xl\\:border-opacity-40{--tw-border-opacity:0.4}.\\32xl\\:border-opacity-50{--tw-border-opacity:0.5}.\\32xl\\:border-opacity-60{--tw-border-opacity:0.6}.\\32xl\\:border-opacity-70{--tw-border-opacity:0.7}.\\32xl\\:border-opacity-75{--tw-border-opacity:0.75}.\\32xl\\:border-opacity-80{--tw-border-opacity:0.8}.\\32xl\\:border-opacity-90{--tw-border-opacity:0.9}.\\32xl\\:border-opacity-95{--tw-border-opacity:0.95}.\\32xl\\:border-opacity-100{--tw-border-opacity:1}.group:hover .\\32xl\\:group-hover\\:border-opacity-0{--tw-border-opacity:0}.group:hover .\\32xl\\:group-hover\\:border-opacity-5{--tw-border-opacity:0.05}.group:hover .\\32xl\\:group-hover\\:border-opacity-10{--tw-border-opacity:0.1}.group:hover .\\32xl\\:group-hover\\:border-opacity-20{--tw-border-opacity:0.2}.group:hover .\\32xl\\:group-hover\\:border-opacity-25{--tw-border-opacity:0.25}.group:hover .\\32xl\\:group-hover\\:border-opacity-30{--tw-border-opacity:0.3}.group:hover .\\32xl\\:group-hover\\:border-opacity-40{--tw-border-opacity:0.4}.group:hover .\\32xl\\:group-hover\\:border-opacity-50{--tw-border-opacity:0.5}.group:hover .\\32xl\\:group-hover\\:border-opacity-60{--tw-border-opacity:0.6}.group:hover .\\32xl\\:group-hover\\:border-opacity-70{--tw-border-opacity:0.7}.group:hover .\\32xl\\:group-hover\\:border-opacity-75{--tw-border-opacity:0.75}.group:hover .\\32xl\\:group-hover\\:border-opacity-80{--tw-border-opacity:0.8}.group:hover .\\32xl\\:group-hover\\:border-opacity-90{--tw-border-opacity:0.9}.group:hover .\\32xl\\:group-hover\\:border-opacity-95{--tw-border-opacity:0.95}.group:hover .\\32xl\\:group-hover\\:border-opacity-100{--tw-border-opacity:1}.\\32xl\\:focus-within\\:border-opacity-0:focus-within{--tw-border-opacity:0}.\\32xl\\:focus-within\\:border-opacity-5:focus-within{--tw-border-opacity:0.05}.\\32xl\\:focus-within\\:border-opacity-10:focus-within{--tw-border-opacity:0.1}.\\32xl\\:focus-within\\:border-opacity-20:focus-within{--tw-border-opacity:0.2}.\\32xl\\:focus-within\\:border-opacity-25:focus-within{--tw-border-opacity:0.25}.\\32xl\\:focus-within\\:border-opacity-30:focus-within{--tw-border-opacity:0.3}.\\32xl\\:focus-within\\:border-opacity-40:focus-within{--tw-border-opacity:0.4}.\\32xl\\:focus-within\\:border-opacity-50:focus-within{--tw-border-opacity:0.5}.\\32xl\\:focus-within\\:border-opacity-60:focus-within{--tw-border-opacity:0.6}.\\32xl\\:focus-within\\:border-opacity-70:focus-within{--tw-border-opacity:0.7}.\\32xl\\:focus-within\\:border-opacity-75:focus-within{--tw-border-opacity:0.75}.\\32xl\\:focus-within\\:border-opacity-80:focus-within{--tw-border-opacity:0.8}.\\32xl\\:focus-within\\:border-opacity-90:focus-within{--tw-border-opacity:0.9}.\\32xl\\:focus-within\\:border-opacity-95:focus-within{--tw-border-opacity:0.95}.\\32xl\\:focus-within\\:border-opacity-100:focus-within{--tw-border-opacity:1}.\\32xl\\:hover\\:border-opacity-0:hover{--tw-border-opacity:0}.\\32xl\\:hover\\:border-opacity-5:hover{--tw-border-opacity:0.05}.\\32xl\\:hover\\:border-opacity-10:hover{--tw-border-opacity:0.1}.\\32xl\\:hover\\:border-opacity-20:hover{--tw-border-opacity:0.2}.\\32xl\\:hover\\:border-opacity-25:hover{--tw-border-opacity:0.25}.\\32xl\\:hover\\:border-opacity-30:hover{--tw-border-opacity:0.3}.\\32xl\\:hover\\:border-opacity-40:hover{--tw-border-opacity:0.4}.\\32xl\\:hover\\:border-opacity-50:hover{--tw-border-opacity:0.5}.\\32xl\\:hover\\:border-opacity-60:hover{--tw-border-opacity:0.6}.\\32xl\\:hover\\:border-opacity-70:hover{--tw-border-opacity:0.7}.\\32xl\\:hover\\:border-opacity-75:hover{--tw-border-opacity:0.75}.\\32xl\\:hover\\:border-opacity-80:hover{--tw-border-opacity:0.8}.\\32xl\\:hover\\:border-opacity-90:hover{--tw-border-opacity:0.9}.\\32xl\\:hover\\:border-opacity-95:hover{--tw-border-opacity:0.95}.\\32xl\\:hover\\:border-opacity-100:hover{--tw-border-opacity:1}.\\32xl\\:focus\\:border-opacity-0:focus{--tw-border-opacity:0}.\\32xl\\:focus\\:border-opacity-5:focus{--tw-border-opacity:0.05}.\\32xl\\:focus\\:border-opacity-10:focus{--tw-border-opacity:0.1}.\\32xl\\:focus\\:border-opacity-20:focus{--tw-border-opacity:0.2}.\\32xl\\:focus\\:border-opacity-25:focus{--tw-border-opacity:0.25}.\\32xl\\:focus\\:border-opacity-30:focus{--tw-border-opacity:0.3}.\\32xl\\:focus\\:border-opacity-40:focus{--tw-border-opacity:0.4}.\\32xl\\:focus\\:border-opacity-50:focus{--tw-border-opacity:0.5}.\\32xl\\:focus\\:border-opacity-60:focus{--tw-border-opacity:0.6}.\\32xl\\:focus\\:border-opacity-70:focus{--tw-border-opacity:0.7}.\\32xl\\:focus\\:border-opacity-75:focus{--tw-border-opacity:0.75}.\\32xl\\:focus\\:border-opacity-80:focus{--tw-border-opacity:0.8}.\\32xl\\:focus\\:border-opacity-90:focus{--tw-border-opacity:0.9}.\\32xl\\:focus\\:border-opacity-95:focus{--tw-border-opacity:0.95}.\\32xl\\:focus\\:border-opacity-100:focus{--tw-border-opacity:1}@media(prefers-color-scheme: dark){.\\32xl\\:dark\\:border-opacity-0{--tw-border-opacity:0}.\\32xl\\:dark\\:border-opacity-5{--tw-border-opacity:0.05}.\\32xl\\:dark\\:border-opacity-10{--tw-border-opacity:0.1}.\\32xl\\:dark\\:border-opacity-20{--tw-border-opacity:0.2}.\\32xl\\:dark\\:border-opacity-25{--tw-border-opacity:0.25}.\\32xl\\:dark\\:border-opacity-30{--tw-border-opacity:0.3}.\\32xl\\:dark\\:border-opacity-40{--tw-border-opacity:0.4}.\\32xl\\:dark\\:border-opacity-50{--tw-border-opacity:0.5}.\\32xl\\:dark\\:border-opacity-60{--tw-border-opacity:0.6}.\\32xl\\:dark\\:border-opacity-70{--tw-border-opacity:0.7}.\\32xl\\:dark\\:border-opacity-75{--tw-border-opacity:0.75}.\\32xl\\:dark\\:border-opacity-80{--tw-border-opacity:0.8}.\\32xl\\:dark\\:border-opacity-90{--tw-border-opacity:0.9}.\\32xl\\:dark\\:border-opacity-95{--tw-border-opacity:0.95}.\\32xl\\:dark\\:border-opacity-100{--tw-border-opacity:1}.group:hover .\\32xl\\:dark\\:group-hover\\:border-opacity-0{--tw-border-opacity:0}.group:hover .\\32xl\\:dark\\:group-hover\\:border-opacity-5{--tw-border-opacity:0.05}.group:hover .\\32xl\\:dark\\:group-hover\\:border-opacity-10{--tw-border-opacity:0.1}.group:hover .\\32xl\\:dark\\:group-hover\\:border-opacity-20{--tw-border-opacity:0.2}.group:hover .\\32xl\\:dark\\:group-hover\\:border-opacity-25{--tw-border-opacity:0.25}.group:hover .\\32xl\\:dark\\:group-hover\\:border-opacity-30{--tw-border-opacity:0.3}.group:hover .\\32xl\\:dark\\:group-hover\\:border-opacity-40{--tw-border-opacity:0.4}.group:hover .\\32xl\\:dark\\:group-hover\\:border-opacity-50{--tw-border-opacity:0.5}.group:hover .\\32xl\\:dark\\:group-hover\\:border-opacity-60{--tw-border-opacity:0.6}.group:hover .\\32xl\\:dark\\:group-hover\\:border-opacity-70{--tw-border-opacity:0.7}.group:hover .\\32xl\\:dark\\:group-hover\\:border-opacity-75{--tw-border-opacity:0.75}.group:hover .\\32xl\\:dark\\:group-hover\\:border-opacity-80{--tw-border-opacity:0.8}.group:hover .\\32xl\\:dark\\:group-hover\\:border-opacity-90{--tw-border-opacity:0.9}.group:hover .\\32xl\\:dark\\:group-hover\\:border-opacity-95{--tw-border-opacity:0.95}.group:hover .\\32xl\\:dark\\:group-hover\\:border-opacity-100{--tw-border-opacity:1}.\\32xl\\:dark\\:focus-within\\:border-opacity-0:focus-within{--tw-border-opacity:0}.\\32xl\\:dark\\:focus-within\\:border-opacity-5:focus-within{--tw-border-opacity:0.05}.\\32xl\\:dark\\:focus-within\\:border-opacity-10:focus-within{--tw-border-opacity:0.1}.\\32xl\\:dark\\:focus-within\\:border-opacity-20:focus-within{--tw-border-opacity:0.2}.\\32xl\\:dark\\:focus-within\\:border-opacity-25:focus-within{--tw-border-opacity:0.25}.\\32xl\\:dark\\:focus-within\\:border-opacity-30:focus-within{--tw-border-opacity:0.3}.\\32xl\\:dark\\:focus-within\\:border-opacity-40:focus-within{--tw-border-opacity:0.4}.\\32xl\\:dark\\:focus-within\\:border-opacity-50:focus-within{--tw-border-opacity:0.5}.\\32xl\\:dark\\:focus-within\\:border-opacity-60:focus-within{--tw-border-opacity:0.6}.\\32xl\\:dark\\:focus-within\\:border-opacity-70:focus-within{--tw-border-opacity:0.7}.\\32xl\\:dark\\:focus-within\\:border-opacity-75:focus-within{--tw-border-opacity:0.75}.\\32xl\\:dark\\:focus-within\\:border-opacity-80:focus-within{--tw-border-opacity:0.8}.\\32xl\\:dark\\:focus-within\\:border-opacity-90:focus-within{--tw-border-opacity:0.9}.\\32xl\\:dark\\:focus-within\\:border-opacity-95:focus-within{--tw-border-opacity:0.95}.\\32xl\\:dark\\:focus-within\\:border-opacity-100:focus-within{--tw-border-opacity:1}.\\32xl\\:dark\\:hover\\:border-opacity-0:hover{--tw-border-opacity:0}.\\32xl\\:dark\\:hover\\:border-opacity-5:hover{--tw-border-opacity:0.05}.\\32xl\\:dark\\:hover\\:border-opacity-10:hover{--tw-border-opacity:0.1}.\\32xl\\:dark\\:hover\\:border-opacity-20:hover{--tw-border-opacity:0.2}.\\32xl\\:dark\\:hover\\:border-opacity-25:hover{--tw-border-opacity:0.25}.\\32xl\\:dark\\:hover\\:border-opacity-30:hover{--tw-border-opacity:0.3}.\\32xl\\:dark\\:hover\\:border-opacity-40:hover{--tw-border-opacity:0.4}.\\32xl\\:dark\\:hover\\:border-opacity-50:hover{--tw-border-opacity:0.5}.\\32xl\\:dark\\:hover\\:border-opacity-60:hover{--tw-border-opacity:0.6}.\\32xl\\:dark\\:hover\\:border-opacity-70:hover{--tw-border-opacity:0.7}.\\32xl\\:dark\\:hover\\:border-opacity-75:hover{--tw-border-opacity:0.75}.\\32xl\\:dark\\:hover\\:border-opacity-80:hover{--tw-border-opacity:0.8}.\\32xl\\:dark\\:hover\\:border-opacity-90:hover{--tw-border-opacity:0.9}.\\32xl\\:dark\\:hover\\:border-opacity-95:hover{--tw-border-opacity:0.95}.\\32xl\\:dark\\:hover\\:border-opacity-100:hover{--tw-border-opacity:1}.\\32xl\\:dark\\:focus\\:border-opacity-0:focus{--tw-border-opacity:0}.\\32xl\\:dark\\:focus\\:border-opacity-5:focus{--tw-border-opacity:0.05}.\\32xl\\:dark\\:focus\\:border-opacity-10:focus{--tw-border-opacity:0.1}.\\32xl\\:dark\\:focus\\:border-opacity-20:focus{--tw-border-opacity:0.2}.\\32xl\\:dark\\:focus\\:border-opacity-25:focus{--tw-border-opacity:0.25}.\\32xl\\:dark\\:focus\\:border-opacity-30:focus{--tw-border-opacity:0.3}.\\32xl\\:dark\\:focus\\:border-opacity-40:focus{--tw-border-opacity:0.4}.\\32xl\\:dark\\:focus\\:border-opacity-50:focus{--tw-border-opacity:0.5}.\\32xl\\:dark\\:focus\\:border-opacity-60:focus{--tw-border-opacity:0.6}.\\32xl\\:dark\\:focus\\:border-opacity-70:focus{--tw-border-opacity:0.7}.\\32xl\\:dark\\:focus\\:border-opacity-75:focus{--tw-border-opacity:0.75}.\\32xl\\:dark\\:focus\\:border-opacity-80:focus{--tw-border-opacity:0.8}.\\32xl\\:dark\\:focus\\:border-opacity-90:focus{--tw-border-opacity:0.9}.\\32xl\\:dark\\:focus\\:border-opacity-95:focus{--tw-border-opacity:0.95}.\\32xl\\:dark\\:focus\\:border-opacity-100:focus{--tw-border-opacity:1}}.\\32xl\\:bg-transparent{background-color:transparent}.\\32xl\\:bg-current{background-color:currentColor}.\\32xl\\:bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.\\32xl\\:bg-lightgrey{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.\\32xl\\:bg-midgrey{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.\\32xl\\:bg-darkgrey{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.\\32xl\\:bg-grey{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.\\32xl\\:bg-black{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.\\32xl\\:bg-highlight{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.\\32xl\\:bg-highlight_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.\\32xl\\:bg-button_outline{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.\\32xl\\:bg-error{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.\\32xl\\:bg-text-light{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.\\32xl\\:bg-text-dimmed{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.\\32xl\\:bg-text-dark{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.\\32xl\\:bg-body-light{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.\\32xl\\:bg-body-dark{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.\\32xl\\:bg-button{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.\\32xl\\:bg-button_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.group:hover .\\32xl\\:group-hover\\:bg-transparent{background-color:transparent}.group:hover .\\32xl\\:group-hover\\:bg-current{background-color:currentColor}.group:hover .\\32xl\\:group-hover\\:bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .\\32xl\\:group-hover\\:bg-lightgrey{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.group:hover .\\32xl\\:group-hover\\:bg-midgrey{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .\\32xl\\:group-hover\\:bg-darkgrey{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.group:hover .\\32xl\\:group-hover\\:bg-grey{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.group:hover .\\32xl\\:group-hover\\:bg-black{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.group:hover .\\32xl\\:group-hover\\:bg-highlight{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.group:hover .\\32xl\\:group-hover\\:bg-highlight_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.group:hover .\\32xl\\:group-hover\\:bg-button_outline{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .\\32xl\\:group-hover\\:bg-error{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.group:hover .\\32xl\\:group-hover\\:bg-text-light{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.group:hover .\\32xl\\:group-hover\\:bg-text-dimmed{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .\\32xl\\:group-hover\\:bg-text-dark{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .\\32xl\\:group-hover\\:bg-body-light{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .\\32xl\\:group-hover\\:bg-body-dark{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.group:hover .\\32xl\\:group-hover\\:bg-button{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.group:hover .\\32xl\\:group-hover\\:bg-button_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.\\32xl\\:focus-within\\:bg-transparent:focus-within{background-color:transparent}.\\32xl\\:focus-within\\:bg-current:focus-within{background-color:currentColor}.\\32xl\\:focus-within\\:bg-white:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.\\32xl\\:focus-within\\:bg-lightgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.\\32xl\\:focus-within\\:bg-midgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.\\32xl\\:focus-within\\:bg-darkgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.\\32xl\\:focus-within\\:bg-grey:focus-within{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.\\32xl\\:focus-within\\:bg-black:focus-within{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.\\32xl\\:focus-within\\:bg-highlight:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.\\32xl\\:focus-within\\:bg-highlight_hover:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.\\32xl\\:focus-within\\:bg-button_outline:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.\\32xl\\:focus-within\\:bg-error:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.\\32xl\\:focus-within\\:bg-text-light:focus-within{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.\\32xl\\:focus-within\\:bg-text-dimmed:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.\\32xl\\:focus-within\\:bg-text-dark:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.\\32xl\\:focus-within\\:bg-body-light:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.\\32xl\\:focus-within\\:bg-body-dark:focus-within{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.\\32xl\\:focus-within\\:bg-button:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.\\32xl\\:focus-within\\:bg-button_hover:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.\\32xl\\:hover\\:bg-transparent:hover{background-color:transparent}.\\32xl\\:hover\\:bg-current:hover{background-color:currentColor}.\\32xl\\:hover\\:bg-white:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.\\32xl\\:hover\\:bg-lightgrey:hover{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.\\32xl\\:hover\\:bg-midgrey:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.\\32xl\\:hover\\:bg-darkgrey:hover{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.\\32xl\\:hover\\:bg-grey:hover{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.\\32xl\\:hover\\:bg-black:hover{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.\\32xl\\:hover\\:bg-highlight:hover{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.\\32xl\\:hover\\:bg-highlight_hover:hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.\\32xl\\:hover\\:bg-button_outline:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.\\32xl\\:hover\\:bg-error:hover{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.\\32xl\\:hover\\:bg-text-light:hover{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.\\32xl\\:hover\\:bg-text-dimmed:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.\\32xl\\:hover\\:bg-text-dark:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.\\32xl\\:hover\\:bg-body-light:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.\\32xl\\:hover\\:bg-body-dark:hover{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.\\32xl\\:hover\\:bg-button:hover{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.\\32xl\\:hover\\:bg-button_hover:hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.\\32xl\\:focus\\:bg-transparent:focus{background-color:transparent}.\\32xl\\:focus\\:bg-current:focus{background-color:currentColor}.\\32xl\\:focus\\:bg-white:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.\\32xl\\:focus\\:bg-lightgrey:focus{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.\\32xl\\:focus\\:bg-midgrey:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.\\32xl\\:focus\\:bg-darkgrey:focus{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.\\32xl\\:focus\\:bg-grey:focus{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.\\32xl\\:focus\\:bg-black:focus{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.\\32xl\\:focus\\:bg-highlight:focus{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.\\32xl\\:focus\\:bg-highlight_hover:focus{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.\\32xl\\:focus\\:bg-button_outline:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.\\32xl\\:focus\\:bg-error:focus{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.\\32xl\\:focus\\:bg-text-light:focus{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.\\32xl\\:focus\\:bg-text-dimmed:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.\\32xl\\:focus\\:bg-text-dark:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.\\32xl\\:focus\\:bg-body-light:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.\\32xl\\:focus\\:bg-body-dark:focus{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.\\32xl\\:focus\\:bg-button:focus{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.\\32xl\\:focus\\:bg-button_hover:focus{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}@media(prefers-color-scheme: dark){.\\32xl\\:dark\\:bg-transparent{background-color:transparent}.\\32xl\\:dark\\:bg-current{background-color:currentColor}.\\32xl\\:dark\\:bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.\\32xl\\:dark\\:bg-lightgrey{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.\\32xl\\:dark\\:bg-midgrey{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.\\32xl\\:dark\\:bg-darkgrey{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.\\32xl\\:dark\\:bg-grey{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.\\32xl\\:dark\\:bg-black{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.\\32xl\\:dark\\:bg-highlight{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.\\32xl\\:dark\\:bg-highlight_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.\\32xl\\:dark\\:bg-button_outline{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.\\32xl\\:dark\\:bg-error{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.\\32xl\\:dark\\:bg-text-light{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.\\32xl\\:dark\\:bg-text-dimmed{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.\\32xl\\:dark\\:bg-text-dark{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.\\32xl\\:dark\\:bg-body-light{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.\\32xl\\:dark\\:bg-body-dark{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.\\32xl\\:dark\\:bg-button{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.\\32xl\\:dark\\:bg-button_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-transparent{background-color:transparent}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-current{background-color:currentColor}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-lightgrey{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-midgrey{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-darkgrey{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-grey{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-black{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-highlight{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-highlight_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-button_outline{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-error{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-text-light{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-text-dimmed{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-text-dark{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-body-light{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-body-dark{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-button{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-button_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus-within\\:bg-transparent:focus-within{background-color:transparent}.\\32xl\\:dark\\:focus-within\\:bg-current:focus-within{background-color:currentColor}.\\32xl\\:dark\\:focus-within\\:bg-white:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus-within\\:bg-lightgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus-within\\:bg-midgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus-within\\:bg-darkgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus-within\\:bg-grey:focus-within{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus-within\\:bg-black:focus-within{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus-within\\:bg-highlight:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus-within\\:bg-highlight_hover:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus-within\\:bg-button_outline:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus-within\\:bg-error:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus-within\\:bg-text-light:focus-within{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus-within\\:bg-text-dimmed:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus-within\\:bg-text-dark:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus-within\\:bg-body-light:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus-within\\:bg-body-dark:focus-within{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus-within\\:bg-button:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus-within\\:bg-button_hover:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.\\32xl\\:dark\\:hover\\:bg-transparent:hover{background-color:transparent}.\\32xl\\:dark\\:hover\\:bg-current:hover{background-color:currentColor}.\\32xl\\:dark\\:hover\\:bg-white:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.\\32xl\\:dark\\:hover\\:bg-lightgrey:hover{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.\\32xl\\:dark\\:hover\\:bg-midgrey:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.\\32xl\\:dark\\:hover\\:bg-darkgrey:hover{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.\\32xl\\:dark\\:hover\\:bg-grey:hover{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.\\32xl\\:dark\\:hover\\:bg-black:hover{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.\\32xl\\:dark\\:hover\\:bg-highlight:hover{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.\\32xl\\:dark\\:hover\\:bg-highlight_hover:hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.\\32xl\\:dark\\:hover\\:bg-button_outline:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.\\32xl\\:dark\\:hover\\:bg-error:hover{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.\\32xl\\:dark\\:hover\\:bg-text-light:hover{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.\\32xl\\:dark\\:hover\\:bg-text-dimmed:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.\\32xl\\:dark\\:hover\\:bg-text-dark:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.\\32xl\\:dark\\:hover\\:bg-body-light:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.\\32xl\\:dark\\:hover\\:bg-body-dark:hover{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.\\32xl\\:dark\\:hover\\:bg-button:hover{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.\\32xl\\:dark\\:hover\\:bg-button_hover:hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus\\:bg-transparent:focus{background-color:transparent}.\\32xl\\:dark\\:focus\\:bg-current:focus{background-color:currentColor}.\\32xl\\:dark\\:focus\\:bg-white:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus\\:bg-lightgrey:focus{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus\\:bg-midgrey:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus\\:bg-darkgrey:focus{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus\\:bg-grey:focus{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus\\:bg-black:focus{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus\\:bg-highlight:focus{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus\\:bg-highlight_hover:focus{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus\\:bg-button_outline:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus\\:bg-error:focus{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus\\:bg-text-light:focus{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus\\:bg-text-dimmed:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus\\:bg-text-dark:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus\\:bg-body-light:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus\\:bg-body-dark:focus{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus\\:bg-button:focus{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus\\:bg-button_hover:focus{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}}.\\32xl\\:bg-opacity-0{--tw-bg-opacity:0}.\\32xl\\:bg-opacity-5{--tw-bg-opacity:0.05}.\\32xl\\:bg-opacity-10{--tw-bg-opacity:0.1}.\\32xl\\:bg-opacity-20{--tw-bg-opacity:0.2}.\\32xl\\:bg-opacity-25{--tw-bg-opacity:0.25}.\\32xl\\:bg-opacity-30{--tw-bg-opacity:0.3}.\\32xl\\:bg-opacity-40{--tw-bg-opacity:0.4}.\\32xl\\:bg-opacity-50{--tw-bg-opacity:0.5}.\\32xl\\:bg-opacity-60{--tw-bg-opacity:0.6}.\\32xl\\:bg-opacity-70{--tw-bg-opacity:0.7}.\\32xl\\:bg-opacity-75{--tw-bg-opacity:0.75}.\\32xl\\:bg-opacity-80{--tw-bg-opacity:0.8}.\\32xl\\:bg-opacity-90{--tw-bg-opacity:0.9}.\\32xl\\:bg-opacity-95{--tw-bg-opacity:0.95}.\\32xl\\:bg-opacity-100{--tw-bg-opacity:1}.group:hover .\\32xl\\:group-hover\\:bg-opacity-0{--tw-bg-opacity:0}.group:hover .\\32xl\\:group-hover\\:bg-opacity-5{--tw-bg-opacity:0.05}.group:hover .\\32xl\\:group-hover\\:bg-opacity-10{--tw-bg-opacity:0.1}.group:hover .\\32xl\\:group-hover\\:bg-opacity-20{--tw-bg-opacity:0.2}.group:hover .\\32xl\\:group-hover\\:bg-opacity-25{--tw-bg-opacity:0.25}.group:hover .\\32xl\\:group-hover\\:bg-opacity-30{--tw-bg-opacity:0.3}.group:hover .\\32xl\\:group-hover\\:bg-opacity-40{--tw-bg-opacity:0.4}.group:hover .\\32xl\\:group-hover\\:bg-opacity-50{--tw-bg-opacity:0.5}.group:hover .\\32xl\\:group-hover\\:bg-opacity-60{--tw-bg-opacity:0.6}.group:hover .\\32xl\\:group-hover\\:bg-opacity-70{--tw-bg-opacity:0.7}.group:hover .\\32xl\\:group-hover\\:bg-opacity-75{--tw-bg-opacity:0.75}.group:hover .\\32xl\\:group-hover\\:bg-opacity-80{--tw-bg-opacity:0.8}.group:hover .\\32xl\\:group-hover\\:bg-opacity-90{--tw-bg-opacity:0.9}.group:hover .\\32xl\\:group-hover\\:bg-opacity-95{--tw-bg-opacity:0.95}.group:hover .\\32xl\\:group-hover\\:bg-opacity-100{--tw-bg-opacity:1}.\\32xl\\:focus-within\\:bg-opacity-0:focus-within{--tw-bg-opacity:0}.\\32xl\\:focus-within\\:bg-opacity-5:focus-within{--tw-bg-opacity:0.05}.\\32xl\\:focus-within\\:bg-opacity-10:focus-within{--tw-bg-opacity:0.1}.\\32xl\\:focus-within\\:bg-opacity-20:focus-within{--tw-bg-opacity:0.2}.\\32xl\\:focus-within\\:bg-opacity-25:focus-within{--tw-bg-opacity:0.25}.\\32xl\\:focus-within\\:bg-opacity-30:focus-within{--tw-bg-opacity:0.3}.\\32xl\\:focus-within\\:bg-opacity-40:focus-within{--tw-bg-opacity:0.4}.\\32xl\\:focus-within\\:bg-opacity-50:focus-within{--tw-bg-opacity:0.5}.\\32xl\\:focus-within\\:bg-opacity-60:focus-within{--tw-bg-opacity:0.6}.\\32xl\\:focus-within\\:bg-opacity-70:focus-within{--tw-bg-opacity:0.7}.\\32xl\\:focus-within\\:bg-opacity-75:focus-within{--tw-bg-opacity:0.75}.\\32xl\\:focus-within\\:bg-opacity-80:focus-within{--tw-bg-opacity:0.8}.\\32xl\\:focus-within\\:bg-opacity-90:focus-within{--tw-bg-opacity:0.9}.\\32xl\\:focus-within\\:bg-opacity-95:focus-within{--tw-bg-opacity:0.95}.\\32xl\\:focus-within\\:bg-opacity-100:focus-within{--tw-bg-opacity:1}.\\32xl\\:hover\\:bg-opacity-0:hover{--tw-bg-opacity:0}.\\32xl\\:hover\\:bg-opacity-5:hover{--tw-bg-opacity:0.05}.\\32xl\\:hover\\:bg-opacity-10:hover{--tw-bg-opacity:0.1}.\\32xl\\:hover\\:bg-opacity-20:hover{--tw-bg-opacity:0.2}.\\32xl\\:hover\\:bg-opacity-25:hover{--tw-bg-opacity:0.25}.\\32xl\\:hover\\:bg-opacity-30:hover{--tw-bg-opacity:0.3}.\\32xl\\:hover\\:bg-opacity-40:hover{--tw-bg-opacity:0.4}.\\32xl\\:hover\\:bg-opacity-50:hover{--tw-bg-opacity:0.5}.\\32xl\\:hover\\:bg-opacity-60:hover{--tw-bg-opacity:0.6}.\\32xl\\:hover\\:bg-opacity-70:hover{--tw-bg-opacity:0.7}.\\32xl\\:hover\\:bg-opacity-75:hover{--tw-bg-opacity:0.75}.\\32xl\\:hover\\:bg-opacity-80:hover{--tw-bg-opacity:0.8}.\\32xl\\:hover\\:bg-opacity-90:hover{--tw-bg-opacity:0.9}.\\32xl\\:hover\\:bg-opacity-95:hover{--tw-bg-opacity:0.95}.\\32xl\\:hover\\:bg-opacity-100:hover{--tw-bg-opacity:1}.\\32xl\\:focus\\:bg-opacity-0:focus{--tw-bg-opacity:0}.\\32xl\\:focus\\:bg-opacity-5:focus{--tw-bg-opacity:0.05}.\\32xl\\:focus\\:bg-opacity-10:focus{--tw-bg-opacity:0.1}.\\32xl\\:focus\\:bg-opacity-20:focus{--tw-bg-opacity:0.2}.\\32xl\\:focus\\:bg-opacity-25:focus{--tw-bg-opacity:0.25}.\\32xl\\:focus\\:bg-opacity-30:focus{--tw-bg-opacity:0.3}.\\32xl\\:focus\\:bg-opacity-40:focus{--tw-bg-opacity:0.4}.\\32xl\\:focus\\:bg-opacity-50:focus{--tw-bg-opacity:0.5}.\\32xl\\:focus\\:bg-opacity-60:focus{--tw-bg-opacity:0.6}.\\32xl\\:focus\\:bg-opacity-70:focus{--tw-bg-opacity:0.7}.\\32xl\\:focus\\:bg-opacity-75:focus{--tw-bg-opacity:0.75}.\\32xl\\:focus\\:bg-opacity-80:focus{--tw-bg-opacity:0.8}.\\32xl\\:focus\\:bg-opacity-90:focus{--tw-bg-opacity:0.9}.\\32xl\\:focus\\:bg-opacity-95:focus{--tw-bg-opacity:0.95}.\\32xl\\:focus\\:bg-opacity-100:focus{--tw-bg-opacity:1}@media(prefers-color-scheme: dark){.\\32xl\\:dark\\:bg-opacity-0{--tw-bg-opacity:0}.\\32xl\\:dark\\:bg-opacity-5{--tw-bg-opacity:0.05}.\\32xl\\:dark\\:bg-opacity-10{--tw-bg-opacity:0.1}.\\32xl\\:dark\\:bg-opacity-20{--tw-bg-opacity:0.2}.\\32xl\\:dark\\:bg-opacity-25{--tw-bg-opacity:0.25}.\\32xl\\:dark\\:bg-opacity-30{--tw-bg-opacity:0.3}.\\32xl\\:dark\\:bg-opacity-40{--tw-bg-opacity:0.4}.\\32xl\\:dark\\:bg-opacity-50{--tw-bg-opacity:0.5}.\\32xl\\:dark\\:bg-opacity-60{--tw-bg-opacity:0.6}.\\32xl\\:dark\\:bg-opacity-70{--tw-bg-opacity:0.7}.\\32xl\\:dark\\:bg-opacity-75{--tw-bg-opacity:0.75}.\\32xl\\:dark\\:bg-opacity-80{--tw-bg-opacity:0.8}.\\32xl\\:dark\\:bg-opacity-90{--tw-bg-opacity:0.9}.\\32xl\\:dark\\:bg-opacity-95{--tw-bg-opacity:0.95}.\\32xl\\:dark\\:bg-opacity-100{--tw-bg-opacity:1}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-opacity-0{--tw-bg-opacity:0}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-opacity-5{--tw-bg-opacity:0.05}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-opacity-10{--tw-bg-opacity:0.1}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-opacity-20{--tw-bg-opacity:0.2}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-opacity-25{--tw-bg-opacity:0.25}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-opacity-30{--tw-bg-opacity:0.3}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-opacity-40{--tw-bg-opacity:0.4}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-opacity-50{--tw-bg-opacity:0.5}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-opacity-60{--tw-bg-opacity:0.6}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-opacity-70{--tw-bg-opacity:0.7}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-opacity-75{--tw-bg-opacity:0.75}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-opacity-80{--tw-bg-opacity:0.8}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-opacity-90{--tw-bg-opacity:0.9}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-opacity-95{--tw-bg-opacity:0.95}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-opacity-100{--tw-bg-opacity:1}.\\32xl\\:dark\\:focus-within\\:bg-opacity-0:focus-within{--tw-bg-opacity:0}.\\32xl\\:dark\\:focus-within\\:bg-opacity-5:focus-within{--tw-bg-opacity:0.05}.\\32xl\\:dark\\:focus-within\\:bg-opacity-10:focus-within{--tw-bg-opacity:0.1}.\\32xl\\:dark\\:focus-within\\:bg-opacity-20:focus-within{--tw-bg-opacity:0.2}.\\32xl\\:dark\\:focus-within\\:bg-opacity-25:focus-within{--tw-bg-opacity:0.25}.\\32xl\\:dark\\:focus-within\\:bg-opacity-30:focus-within{--tw-bg-opacity:0.3}.\\32xl\\:dark\\:focus-within\\:bg-opacity-40:focus-within{--tw-bg-opacity:0.4}.\\32xl\\:dark\\:focus-within\\:bg-opacity-50:focus-within{--tw-bg-opacity:0.5}.\\32xl\\:dark\\:focus-within\\:bg-opacity-60:focus-within{--tw-bg-opacity:0.6}.\\32xl\\:dark\\:focus-within\\:bg-opacity-70:focus-within{--tw-bg-opacity:0.7}.\\32xl\\:dark\\:focus-within\\:bg-opacity-75:focus-within{--tw-bg-opacity:0.75}.\\32xl\\:dark\\:focus-within\\:bg-opacity-80:focus-within{--tw-bg-opacity:0.8}.\\32xl\\:dark\\:focus-within\\:bg-opacity-90:focus-within{--tw-bg-opacity:0.9}.\\32xl\\:dark\\:focus-within\\:bg-opacity-95:focus-within{--tw-bg-opacity:0.95}.\\32xl\\:dark\\:focus-within\\:bg-opacity-100:focus-within{--tw-bg-opacity:1}.\\32xl\\:dark\\:hover\\:bg-opacity-0:hover{--tw-bg-opacity:0}.\\32xl\\:dark\\:hover\\:bg-opacity-5:hover{--tw-bg-opacity:0.05}.\\32xl\\:dark\\:hover\\:bg-opacity-10:hover{--tw-bg-opacity:0.1}.\\32xl\\:dark\\:hover\\:bg-opacity-20:hover{--tw-bg-opacity:0.2}.\\32xl\\:dark\\:hover\\:bg-opacity-25:hover{--tw-bg-opacity:0.25}.\\32xl\\:dark\\:hover\\:bg-opacity-30:hover{--tw-bg-opacity:0.3}.\\32xl\\:dark\\:hover\\:bg-opacity-40:hover{--tw-bg-opacity:0.4}.\\32xl\\:dark\\:hover\\:bg-opacity-50:hover{--tw-bg-opacity:0.5}.\\32xl\\:dark\\:hover\\:bg-opacity-60:hover{--tw-bg-opacity:0.6}.\\32xl\\:dark\\:hover\\:bg-opacity-70:hover{--tw-bg-opacity:0.7}.\\32xl\\:dark\\:hover\\:bg-opacity-75:hover{--tw-bg-opacity:0.75}.\\32xl\\:dark\\:hover\\:bg-opacity-80:hover{--tw-bg-opacity:0.8}.\\32xl\\:dark\\:hover\\:bg-opacity-90:hover{--tw-bg-opacity:0.9}.\\32xl\\:dark\\:hover\\:bg-opacity-95:hover{--tw-bg-opacity:0.95}.\\32xl\\:dark\\:hover\\:bg-opacity-100:hover{--tw-bg-opacity:1}.\\32xl\\:dark\\:focus\\:bg-opacity-0:focus{--tw-bg-opacity:0}.\\32xl\\:dark\\:focus\\:bg-opacity-5:focus{--tw-bg-opacity:0.05}.\\32xl\\:dark\\:focus\\:bg-opacity-10:focus{--tw-bg-opacity:0.1}.\\32xl\\:dark\\:focus\\:bg-opacity-20:focus{--tw-bg-opacity:0.2}.\\32xl\\:dark\\:focus\\:bg-opacity-25:focus{--tw-bg-opacity:0.25}.\\32xl\\:dark\\:focus\\:bg-opacity-30:focus{--tw-bg-opacity:0.3}.\\32xl\\:dark\\:focus\\:bg-opacity-40:focus{--tw-bg-opacity:0.4}.\\32xl\\:dark\\:focus\\:bg-opacity-50:focus{--tw-bg-opacity:0.5}.\\32xl\\:dark\\:focus\\:bg-opacity-60:focus{--tw-bg-opacity:0.6}.\\32xl\\:dark\\:focus\\:bg-opacity-70:focus{--tw-bg-opacity:0.7}.\\32xl\\:dark\\:focus\\:bg-opacity-75:focus{--tw-bg-opacity:0.75}.\\32xl\\:dark\\:focus\\:bg-opacity-80:focus{--tw-bg-opacity:0.8}.\\32xl\\:dark\\:focus\\:bg-opacity-90:focus{--tw-bg-opacity:0.9}.\\32xl\\:dark\\:focus\\:bg-opacity-95:focus{--tw-bg-opacity:0.95}.\\32xl\\:dark\\:focus\\:bg-opacity-100:focus{--tw-bg-opacity:1}}.\\32xl\\:bg-none{background-image:none}.\\32xl\\:bg-gradient-to-t{background-image:linear-gradient(to top, var(--tw-gradient-stops))}.\\32xl\\:bg-gradient-to-tr{background-image:linear-gradient(to top right, var(--tw-gradient-stops))}.\\32xl\\:bg-gradient-to-r{background-image:linear-gradient(to right, var(--tw-gradient-stops))}.\\32xl\\:bg-gradient-to-br{background-image:linear-gradient(to bottom right, var(--tw-gradient-stops))}.\\32xl\\:bg-gradient-to-b{background-image:linear-gradient(to bottom, var(--tw-gradient-stops))}.\\32xl\\:bg-gradient-to-bl{background-image:linear-gradient(to bottom left, var(--tw-gradient-stops))}.\\32xl\\:bg-gradient-to-l{background-image:linear-gradient(to left, var(--tw-gradient-stops))}.\\32xl\\:bg-gradient-to-tl{background-image:linear-gradient(to top left, var(--tw-gradient-stops))}.\\32xl\\:from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.\\32xl\\:from-current{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:from-white{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:from-lightgrey{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.\\32xl\\:from-midgrey{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:from-darkgrey{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.\\32xl\\:from-grey{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.\\32xl\\:from-black{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.\\32xl\\:from-highlight{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.\\32xl\\:from-highlight_hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.\\32xl\\:from-button_outline{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:from-error{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.\\32xl\\:from-text-light{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.\\32xl\\:from-text-dimmed{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:from-text-dark{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:from-body-light{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:from-body-dark{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.\\32xl\\:from-button{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.\\32xl\\:from-button_hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.\\32xl\\:hover\\:from-transparent:hover{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.\\32xl\\:hover\\:from-current:hover{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:hover\\:from-white:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:hover\\:from-lightgrey:hover{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.\\32xl\\:hover\\:from-midgrey:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:hover\\:from-darkgrey:hover{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.\\32xl\\:hover\\:from-grey:hover{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.\\32xl\\:hover\\:from-black:hover{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.\\32xl\\:hover\\:from-highlight:hover{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.\\32xl\\:hover\\:from-highlight_hover:hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.\\32xl\\:hover\\:from-button_outline:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:hover\\:from-error:hover{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.\\32xl\\:hover\\:from-text-light:hover{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.\\32xl\\:hover\\:from-text-dimmed:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:hover\\:from-text-dark:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:hover\\:from-body-light:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:hover\\:from-body-dark:hover{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.\\32xl\\:hover\\:from-button:hover{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.\\32xl\\:hover\\:from-button_hover:hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.\\32xl\\:focus\\:from-transparent:focus{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.\\32xl\\:focus\\:from-current:focus{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:focus\\:from-white:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:focus\\:from-lightgrey:focus{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.\\32xl\\:focus\\:from-midgrey:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:focus\\:from-darkgrey:focus{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.\\32xl\\:focus\\:from-grey:focus{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.\\32xl\\:focus\\:from-black:focus{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.\\32xl\\:focus\\:from-highlight:focus{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.\\32xl\\:focus\\:from-highlight_hover:focus{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.\\32xl\\:focus\\:from-button_outline:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:focus\\:from-error:focus{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.\\32xl\\:focus\\:from-text-light:focus{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.\\32xl\\:focus\\:from-text-dimmed:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:focus\\:from-text-dark:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:focus\\:from-body-light:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:focus\\:from-body-dark:focus{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.\\32xl\\:focus\\:from-button:focus{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.\\32xl\\:focus\\:from-button_hover:focus{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}@media(prefers-color-scheme: dark){.\\32xl\\:dark\\:from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.\\32xl\\:dark\\:from-current{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:dark\\:from-white{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:dark\\:from-lightgrey{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.\\32xl\\:dark\\:from-midgrey{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:dark\\:from-darkgrey{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.\\32xl\\:dark\\:from-grey{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.\\32xl\\:dark\\:from-black{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.\\32xl\\:dark\\:from-highlight{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.\\32xl\\:dark\\:from-highlight_hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.\\32xl\\:dark\\:from-button_outline{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:dark\\:from-error{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.\\32xl\\:dark\\:from-text-light{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.\\32xl\\:dark\\:from-text-dimmed{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:dark\\:from-text-dark{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:dark\\:from-body-light{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:dark\\:from-body-dark{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.\\32xl\\:dark\\:from-button{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.\\32xl\\:dark\\:from-button_hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.\\32xl\\:dark\\:hover\\:from-transparent:hover{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.\\32xl\\:dark\\:hover\\:from-current:hover{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:dark\\:hover\\:from-white:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:dark\\:hover\\:from-lightgrey:hover{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.\\32xl\\:dark\\:hover\\:from-midgrey:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:dark\\:hover\\:from-darkgrey:hover{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.\\32xl\\:dark\\:hover\\:from-grey:hover{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.\\32xl\\:dark\\:hover\\:from-black:hover{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.\\32xl\\:dark\\:hover\\:from-highlight:hover{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.\\32xl\\:dark\\:hover\\:from-highlight_hover:hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.\\32xl\\:dark\\:hover\\:from-button_outline:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:dark\\:hover\\:from-error:hover{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.\\32xl\\:dark\\:hover\\:from-text-light:hover{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.\\32xl\\:dark\\:hover\\:from-text-dimmed:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:dark\\:hover\\:from-text-dark:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:dark\\:hover\\:from-body-light:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:dark\\:hover\\:from-body-dark:hover{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.\\32xl\\:dark\\:hover\\:from-button:hover{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.\\32xl\\:dark\\:hover\\:from-button_hover:hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.\\32xl\\:dark\\:focus\\:from-transparent:focus{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.\\32xl\\:dark\\:focus\\:from-current:focus{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:dark\\:focus\\:from-white:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:dark\\:focus\\:from-lightgrey:focus{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.\\32xl\\:dark\\:focus\\:from-midgrey:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:dark\\:focus\\:from-darkgrey:focus{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.\\32xl\\:dark\\:focus\\:from-grey:focus{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.\\32xl\\:dark\\:focus\\:from-black:focus{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.\\32xl\\:dark\\:focus\\:from-highlight:focus{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.\\32xl\\:dark\\:focus\\:from-highlight_hover:focus{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.\\32xl\\:dark\\:focus\\:from-button_outline:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:dark\\:focus\\:from-error:focus{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.\\32xl\\:dark\\:focus\\:from-text-light:focus{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.\\32xl\\:dark\\:focus\\:from-text-dimmed:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:dark\\:focus\\:from-text-dark:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:dark\\:focus\\:from-body-light:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:dark\\:focus\\:from-body-dark:focus{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.\\32xl\\:dark\\:focus\\:from-button:focus{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.\\32xl\\:dark\\:focus\\:from-button_hover:focus{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}}.\\32xl\\:via-transparent{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.\\32xl\\:via-current{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:via-white{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:via-lightgrey{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.\\32xl\\:via-midgrey{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:via-darkgrey{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.\\32xl\\:via-grey{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.\\32xl\\:via-black{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.\\32xl\\:via-highlight{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.\\32xl\\:via-highlight_hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.\\32xl\\:via-button_outline{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:via-error{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.\\32xl\\:via-text-light{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.\\32xl\\:via-text-dimmed{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:via-text-dark{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:via-body-light{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:via-body-dark{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.\\32xl\\:via-button{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.\\32xl\\:via-button_hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.\\32xl\\:hover\\:via-transparent:hover{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.\\32xl\\:hover\\:via-current:hover{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:hover\\:via-white:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:hover\\:via-lightgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.\\32xl\\:hover\\:via-midgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:hover\\:via-darkgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.\\32xl\\:hover\\:via-grey:hover{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.\\32xl\\:hover\\:via-black:hover{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.\\32xl\\:hover\\:via-highlight:hover{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.\\32xl\\:hover\\:via-highlight_hover:hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.\\32xl\\:hover\\:via-button_outline:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:hover\\:via-error:hover{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.\\32xl\\:hover\\:via-text-light:hover{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.\\32xl\\:hover\\:via-text-dimmed:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:hover\\:via-text-dark:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:hover\\:via-body-light:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:hover\\:via-body-dark:hover{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.\\32xl\\:hover\\:via-button:hover{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.\\32xl\\:hover\\:via-button_hover:hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.\\32xl\\:focus\\:via-transparent:focus{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.\\32xl\\:focus\\:via-current:focus{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:focus\\:via-white:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:focus\\:via-lightgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.\\32xl\\:focus\\:via-midgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:focus\\:via-darkgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.\\32xl\\:focus\\:via-grey:focus{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.\\32xl\\:focus\\:via-black:focus{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.\\32xl\\:focus\\:via-highlight:focus{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.\\32xl\\:focus\\:via-highlight_hover:focus{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.\\32xl\\:focus\\:via-button_outline:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:focus\\:via-error:focus{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.\\32xl\\:focus\\:via-text-light:focus{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.\\32xl\\:focus\\:via-text-dimmed:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:focus\\:via-text-dark:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:focus\\:via-body-light:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:focus\\:via-body-dark:focus{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.\\32xl\\:focus\\:via-button:focus{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.\\32xl\\:focus\\:via-button_hover:focus{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}@media(prefers-color-scheme: dark){.\\32xl\\:dark\\:via-transparent{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.\\32xl\\:dark\\:via-current{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:dark\\:via-white{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:dark\\:via-lightgrey{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.\\32xl\\:dark\\:via-midgrey{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:dark\\:via-darkgrey{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.\\32xl\\:dark\\:via-grey{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.\\32xl\\:dark\\:via-black{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.\\32xl\\:dark\\:via-highlight{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.\\32xl\\:dark\\:via-highlight_hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.\\32xl\\:dark\\:via-button_outline{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:dark\\:via-error{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.\\32xl\\:dark\\:via-text-light{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.\\32xl\\:dark\\:via-text-dimmed{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:dark\\:via-text-dark{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:dark\\:via-body-light{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:dark\\:via-body-dark{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.\\32xl\\:dark\\:via-button{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.\\32xl\\:dark\\:via-button_hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.\\32xl\\:dark\\:hover\\:via-transparent:hover{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.\\32xl\\:dark\\:hover\\:via-current:hover{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:dark\\:hover\\:via-white:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:dark\\:hover\\:via-lightgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.\\32xl\\:dark\\:hover\\:via-midgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:dark\\:hover\\:via-darkgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.\\32xl\\:dark\\:hover\\:via-grey:hover{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.\\32xl\\:dark\\:hover\\:via-black:hover{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.\\32xl\\:dark\\:hover\\:via-highlight:hover{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.\\32xl\\:dark\\:hover\\:via-highlight_hover:hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.\\32xl\\:dark\\:hover\\:via-button_outline:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:dark\\:hover\\:via-error:hover{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.\\32xl\\:dark\\:hover\\:via-text-light:hover{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.\\32xl\\:dark\\:hover\\:via-text-dimmed:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:dark\\:hover\\:via-text-dark:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:dark\\:hover\\:via-body-light:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:dark\\:hover\\:via-body-dark:hover{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.\\32xl\\:dark\\:hover\\:via-button:hover{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.\\32xl\\:dark\\:hover\\:via-button_hover:hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.\\32xl\\:dark\\:focus\\:via-transparent:focus{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.\\32xl\\:dark\\:focus\\:via-current:focus{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:dark\\:focus\\:via-white:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:dark\\:focus\\:via-lightgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.\\32xl\\:dark\\:focus\\:via-midgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:dark\\:focus\\:via-darkgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.\\32xl\\:dark\\:focus\\:via-grey:focus{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.\\32xl\\:dark\\:focus\\:via-black:focus{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.\\32xl\\:dark\\:focus\\:via-highlight:focus{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.\\32xl\\:dark\\:focus\\:via-highlight_hover:focus{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.\\32xl\\:dark\\:focus\\:via-button_outline:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:dark\\:focus\\:via-error:focus{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.\\32xl\\:dark\\:focus\\:via-text-light:focus{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.\\32xl\\:dark\\:focus\\:via-text-dimmed:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:dark\\:focus\\:via-text-dark:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:dark\\:focus\\:via-body-light:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:dark\\:focus\\:via-body-dark:focus{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.\\32xl\\:dark\\:focus\\:via-button:focus{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.\\32xl\\:dark\\:focus\\:via-button_hover:focus{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}}.\\32xl\\:to-transparent{--tw-gradient-to:transparent}.\\32xl\\:to-current{--tw-gradient-to:currentColor}.\\32xl\\:to-white{--tw-gradient-to:#fff}.\\32xl\\:to-lightgrey{--tw-gradient-to:#F7F7F7}.\\32xl\\:to-midgrey{--tw-gradient-to:#cfcfcf}.\\32xl\\:to-darkgrey{--tw-gradient-to:#7f7f7f}.\\32xl\\:to-grey{--tw-gradient-to:#1e1e1e}.\\32xl\\:to-black{--tw-gradient-to:#0f0f0f}.\\32xl\\:to-highlight{--tw-gradient-to:#0071e3}.\\32xl\\:to-highlight_hover{--tw-gradient-to:#0077ed}.\\32xl\\:to-button_outline{--tw-gradient-to:#cfcfcf}.\\32xl\\:to-error{--tw-gradient-to:#ff453a}.\\32xl\\:to-text-light{--tw-gradient-to:#0f0f0f}.\\32xl\\:to-text-dimmed{--tw-gradient-to:#cfcfcf}.\\32xl\\:to-text-dark{--tw-gradient-to:#fff}.\\32xl\\:to-body-light{--tw-gradient-to:#fff}.\\32xl\\:to-body-dark{--tw-gradient-to:#1e1e1e}.\\32xl\\:to-button{--tw-gradient-to:#0071e3}.\\32xl\\:to-button_hover{--tw-gradient-to:#0077ed}.\\32xl\\:hover\\:to-transparent:hover{--tw-gradient-to:transparent}.\\32xl\\:hover\\:to-current:hover{--tw-gradient-to:currentColor}.\\32xl\\:hover\\:to-white:hover{--tw-gradient-to:#fff}.\\32xl\\:hover\\:to-lightgrey:hover{--tw-gradient-to:#F7F7F7}.\\32xl\\:hover\\:to-midgrey:hover{--tw-gradient-to:#cfcfcf}.\\32xl\\:hover\\:to-darkgrey:hover{--tw-gradient-to:#7f7f7f}.\\32xl\\:hover\\:to-grey:hover{--tw-gradient-to:#1e1e1e}.\\32xl\\:hover\\:to-black:hover{--tw-gradient-to:#0f0f0f}.\\32xl\\:hover\\:to-highlight:hover{--tw-gradient-to:#0071e3}.\\32xl\\:hover\\:to-highlight_hover:hover{--tw-gradient-to:#0077ed}.\\32xl\\:hover\\:to-button_outline:hover{--tw-gradient-to:#cfcfcf}.\\32xl\\:hover\\:to-error:hover{--tw-gradient-to:#ff453a}.\\32xl\\:hover\\:to-text-light:hover{--tw-gradient-to:#0f0f0f}.\\32xl\\:hover\\:to-text-dimmed:hover{--tw-gradient-to:#cfcfcf}.\\32xl\\:hover\\:to-text-dark:hover{--tw-gradient-to:#fff}.\\32xl\\:hover\\:to-body-light:hover{--tw-gradient-to:#fff}.\\32xl\\:hover\\:to-body-dark:hover{--tw-gradient-to:#1e1e1e}.\\32xl\\:hover\\:to-button:hover{--tw-gradient-to:#0071e3}.\\32xl\\:hover\\:to-button_hover:hover{--tw-gradient-to:#0077ed}.\\32xl\\:focus\\:to-transparent:focus{--tw-gradient-to:transparent}.\\32xl\\:focus\\:to-current:focus{--tw-gradient-to:currentColor}.\\32xl\\:focus\\:to-white:focus{--tw-gradient-to:#fff}.\\32xl\\:focus\\:to-lightgrey:focus{--tw-gradient-to:#F7F7F7}.\\32xl\\:focus\\:to-midgrey:focus{--tw-gradient-to:#cfcfcf}.\\32xl\\:focus\\:to-darkgrey:focus{--tw-gradient-to:#7f7f7f}.\\32xl\\:focus\\:to-grey:focus{--tw-gradient-to:#1e1e1e}.\\32xl\\:focus\\:to-black:focus{--tw-gradient-to:#0f0f0f}.\\32xl\\:focus\\:to-highlight:focus{--tw-gradient-to:#0071e3}.\\32xl\\:focus\\:to-highlight_hover:focus{--tw-gradient-to:#0077ed}.\\32xl\\:focus\\:to-button_outline:focus{--tw-gradient-to:#cfcfcf}.\\32xl\\:focus\\:to-error:focus{--tw-gradient-to:#ff453a}.\\32xl\\:focus\\:to-text-light:focus{--tw-gradient-to:#0f0f0f}.\\32xl\\:focus\\:to-text-dimmed:focus{--tw-gradient-to:#cfcfcf}.\\32xl\\:focus\\:to-text-dark:focus{--tw-gradient-to:#fff}.\\32xl\\:focus\\:to-body-light:focus{--tw-gradient-to:#fff}.\\32xl\\:focus\\:to-body-dark:focus{--tw-gradient-to:#1e1e1e}.\\32xl\\:focus\\:to-button:focus{--tw-gradient-to:#0071e3}.\\32xl\\:focus\\:to-button_hover:focus{--tw-gradient-to:#0077ed}@media(prefers-color-scheme: dark){.\\32xl\\:dark\\:to-transparent{--tw-gradient-to:transparent}.\\32xl\\:dark\\:to-current{--tw-gradient-to:currentColor}.\\32xl\\:dark\\:to-white{--tw-gradient-to:#fff}.\\32xl\\:dark\\:to-lightgrey{--tw-gradient-to:#F7F7F7}.\\32xl\\:dark\\:to-midgrey{--tw-gradient-to:#cfcfcf}.\\32xl\\:dark\\:to-darkgrey{--tw-gradient-to:#7f7f7f}.\\32xl\\:dark\\:to-grey{--tw-gradient-to:#1e1e1e}.\\32xl\\:dark\\:to-black{--tw-gradient-to:#0f0f0f}.\\32xl\\:dark\\:to-highlight{--tw-gradient-to:#0071e3}.\\32xl\\:dark\\:to-highlight_hover{--tw-gradient-to:#0077ed}.\\32xl\\:dark\\:to-button_outline{--tw-gradient-to:#cfcfcf}.\\32xl\\:dark\\:to-error{--tw-gradient-to:#ff453a}.\\32xl\\:dark\\:to-text-light{--tw-gradient-to:#0f0f0f}.\\32xl\\:dark\\:to-text-dimmed{--tw-gradient-to:#cfcfcf}.\\32xl\\:dark\\:to-text-dark{--tw-gradient-to:#fff}.\\32xl\\:dark\\:to-body-light{--tw-gradient-to:#fff}.\\32xl\\:dark\\:to-body-dark{--tw-gradient-to:#1e1e1e}.\\32xl\\:dark\\:to-button{--tw-gradient-to:#0071e3}.\\32xl\\:dark\\:to-button_hover{--tw-gradient-to:#0077ed}.\\32xl\\:dark\\:hover\\:to-transparent:hover{--tw-gradient-to:transparent}.\\32xl\\:dark\\:hover\\:to-current:hover{--tw-gradient-to:currentColor}.\\32xl\\:dark\\:hover\\:to-white:hover{--tw-gradient-to:#fff}.\\32xl\\:dark\\:hover\\:to-lightgrey:hover{--tw-gradient-to:#F7F7F7}.\\32xl\\:dark\\:hover\\:to-midgrey:hover{--tw-gradient-to:#cfcfcf}.\\32xl\\:dark\\:hover\\:to-darkgrey:hover{--tw-gradient-to:#7f7f7f}.\\32xl\\:dark\\:hover\\:to-grey:hover{--tw-gradient-to:#1e1e1e}.\\32xl\\:dark\\:hover\\:to-black:hover{--tw-gradient-to:#0f0f0f}.\\32xl\\:dark\\:hover\\:to-highlight:hover{--tw-gradient-to:#0071e3}.\\32xl\\:dark\\:hover\\:to-highlight_hover:hover{--tw-gradient-to:#0077ed}.\\32xl\\:dark\\:hover\\:to-button_outline:hover{--tw-gradient-to:#cfcfcf}.\\32xl\\:dark\\:hover\\:to-error:hover{--tw-gradient-to:#ff453a}.\\32xl\\:dark\\:hover\\:to-text-light:hover{--tw-gradient-to:#0f0f0f}.\\32xl\\:dark\\:hover\\:to-text-dimmed:hover{--tw-gradient-to:#cfcfcf}.\\32xl\\:dark\\:hover\\:to-text-dark:hover{--tw-gradient-to:#fff}.\\32xl\\:dark\\:hover\\:to-body-light:hover{--tw-gradient-to:#fff}.\\32xl\\:dark\\:hover\\:to-body-dark:hover{--tw-gradient-to:#1e1e1e}.\\32xl\\:dark\\:hover\\:to-button:hover{--tw-gradient-to:#0071e3}.\\32xl\\:dark\\:hover\\:to-button_hover:hover{--tw-gradient-to:#0077ed}.\\32xl\\:dark\\:focus\\:to-transparent:focus{--tw-gradient-to:transparent}.\\32xl\\:dark\\:focus\\:to-current:focus{--tw-gradient-to:currentColor}.\\32xl\\:dark\\:focus\\:to-white:focus{--tw-gradient-to:#fff}.\\32xl\\:dark\\:focus\\:to-lightgrey:focus{--tw-gradient-to:#F7F7F7}.\\32xl\\:dark\\:focus\\:to-midgrey:focus{--tw-gradient-to:#cfcfcf}.\\32xl\\:dark\\:focus\\:to-darkgrey:focus{--tw-gradient-to:#7f7f7f}.\\32xl\\:dark\\:focus\\:to-grey:focus{--tw-gradient-to:#1e1e1e}.\\32xl\\:dark\\:focus\\:to-black:focus{--tw-gradient-to:#0f0f0f}.\\32xl\\:dark\\:focus\\:to-highlight:focus{--tw-gradient-to:#0071e3}.\\32xl\\:dark\\:focus\\:to-highlight_hover:focus{--tw-gradient-to:#0077ed}.\\32xl\\:dark\\:focus\\:to-button_outline:focus{--tw-gradient-to:#cfcfcf}.\\32xl\\:dark\\:focus\\:to-error:focus{--tw-gradient-to:#ff453a}.\\32xl\\:dark\\:focus\\:to-text-light:focus{--tw-gradient-to:#0f0f0f}.\\32xl\\:dark\\:focus\\:to-text-dimmed:focus{--tw-gradient-to:#cfcfcf}.\\32xl\\:dark\\:focus\\:to-text-dark:focus{--tw-gradient-to:#fff}.\\32xl\\:dark\\:focus\\:to-body-light:focus{--tw-gradient-to:#fff}.\\32xl\\:dark\\:focus\\:to-body-dark:focus{--tw-gradient-to:#1e1e1e}.\\32xl\\:dark\\:focus\\:to-button:focus{--tw-gradient-to:#0071e3}.\\32xl\\:dark\\:focus\\:to-button_hover:focus{--tw-gradient-to:#0077ed}}.\\32xl\\:decoration-slice{-webkit-box-decoration-break:slice;box-decoration-break:slice}.\\32xl\\:decoration-clone{-webkit-box-decoration-break:clone;box-decoration-break:clone}.\\32xl\\:bg-auto{background-size:auto}.\\32xl\\:bg-cover{background-size:cover}.\\32xl\\:bg-contain{background-size:contain}.\\32xl\\:bg-fixed{background-attachment:fixed}.\\32xl\\:bg-local{background-attachment:local}.\\32xl\\:bg-scroll{background-attachment:scroll}.\\32xl\\:bg-clip-border{background-clip:border-box}.\\32xl\\:bg-clip-padding{background-clip:padding-box}.\\32xl\\:bg-clip-content{background-clip:content-box}.\\32xl\\:bg-clip-text{background-clip:text}.\\32xl\\:bg-bottom{background-position:bottom}.\\32xl\\:bg-center{background-position:center}.\\32xl\\:bg-left{background-position:left}.\\32xl\\:bg-left-bottom{background-position:left bottom}.\\32xl\\:bg-left-top{background-position:left top}.\\32xl\\:bg-right{background-position:right}.\\32xl\\:bg-right-bottom{background-position:right bottom}.\\32xl\\:bg-right-top{background-position:right top}.\\32xl\\:bg-top{background-position:top}.\\32xl\\:bg-repeat{background-repeat:repeat}.\\32xl\\:bg-no-repeat{background-repeat:no-repeat}.\\32xl\\:bg-repeat-x{background-repeat:repeat-x}.\\32xl\\:bg-repeat-y{background-repeat:repeat-y}.\\32xl\\:bg-repeat-round{background-repeat:round}.\\32xl\\:bg-repeat-space{background-repeat:space}.\\32xl\\:bg-origin-border{background-origin:border-box}.\\32xl\\:bg-origin-padding{background-origin:padding-box}.\\32xl\\:bg-origin-content{background-origin:content-box}.\\32xl\\:fill-current{fill:currentColor}.\\32xl\\:stroke-current{stroke:currentColor}.\\32xl\\:stroke-0{stroke-width:0}.\\32xl\\:stroke-1{stroke-width:1}.\\32xl\\:stroke-2{stroke-width:2}.\\32xl\\:object-contain{object-fit:contain}.\\32xl\\:object-cover{object-fit:cover}.\\32xl\\:object-fill{object-fit:fill}.\\32xl\\:object-none{object-fit:none}.\\32xl\\:object-scale-down{object-fit:scale-down}.\\32xl\\:object-bottom{object-position:bottom}.\\32xl\\:object-center{object-position:center}.\\32xl\\:object-left{object-position:left}.\\32xl\\:object-left-bottom{object-position:left bottom}.\\32xl\\:object-left-top{object-position:left top}.\\32xl\\:object-right{object-position:right}.\\32xl\\:object-right-bottom{object-position:right bottom}.\\32xl\\:object-right-top{object-position:right top}.\\32xl\\:object-top{object-position:top}.\\32xl\\:p-0{padding:0px}.\\32xl\\:p-1{padding:0.25rem}.\\32xl\\:p-2{padding:0.5rem}.\\32xl\\:p-3{padding:0.75rem}.\\32xl\\:p-4{padding:1rem}.\\32xl\\:p-5{padding:1.25rem}.\\32xl\\:p-6{padding:1.5rem}.\\32xl\\:p-7{padding:1.75rem}.\\32xl\\:p-8{padding:2rem}.\\32xl\\:p-9{padding:2.25rem}.\\32xl\\:p-10{padding:2.5rem}.\\32xl\\:p-11{padding:2.75rem}.\\32xl\\:p-12{padding:3rem}.\\32xl\\:p-14{padding:3.5rem}.\\32xl\\:p-16{padding:4rem}.\\32xl\\:p-20{padding:5rem}.\\32xl\\:p-24{padding:6rem}.\\32xl\\:p-28{padding:7rem}.\\32xl\\:p-32{padding:8rem}.\\32xl\\:p-36{padding:9rem}.\\32xl\\:p-40{padding:10rem}.\\32xl\\:p-44{padding:11rem}.\\32xl\\:p-48{padding:12rem}.\\32xl\\:p-52{padding:13rem}.\\32xl\\:p-56{padding:14rem}.\\32xl\\:p-60{padding:15rem}.\\32xl\\:p-64{padding:16rem}.\\32xl\\:p-72{padding:18rem}.\\32xl\\:p-80{padding:20rem}.\\32xl\\:p-96{padding:24rem}.\\32xl\\:p-px{padding:1px}.\\32xl\\:p-0\\.5{padding:0.125rem}.\\32xl\\:p-1\\.5{padding:0.375rem}.\\32xl\\:p-2\\.5{padding:0.625rem}.\\32xl\\:p-3\\.5{padding:0.875rem}.\\32xl\\:px-0{padding-left:0px;padding-right:0px}.\\32xl\\:px-1{padding-left:0.25rem;padding-right:0.25rem}.\\32xl\\:px-2{padding-left:0.5rem;padding-right:0.5rem}.\\32xl\\:px-3{padding-left:0.75rem;padding-right:0.75rem}.\\32xl\\:px-4{padding-left:1rem;padding-right:1rem}.\\32xl\\:px-5{padding-left:1.25rem;padding-right:1.25rem}.\\32xl\\:px-6{padding-left:1.5rem;padding-right:1.5rem}.\\32xl\\:px-7{padding-left:1.75rem;padding-right:1.75rem}.\\32xl\\:px-8{padding-left:2rem;padding-right:2rem}.\\32xl\\:px-9{padding-left:2.25rem;padding-right:2.25rem}.\\32xl\\:px-10{padding-left:2.5rem;padding-right:2.5rem}.\\32xl\\:px-11{padding-left:2.75rem;padding-right:2.75rem}.\\32xl\\:px-12{padding-left:3rem;padding-right:3rem}.\\32xl\\:px-14{padding-left:3.5rem;padding-right:3.5rem}.\\32xl\\:px-16{padding-left:4rem;padding-right:4rem}.\\32xl\\:px-20{padding-left:5rem;padding-right:5rem}.\\32xl\\:px-24{padding-left:6rem;padding-right:6rem}.\\32xl\\:px-28{padding-left:7rem;padding-right:7rem}.\\32xl\\:px-32{padding-left:8rem;padding-right:8rem}.\\32xl\\:px-36{padding-left:9rem;padding-right:9rem}.\\32xl\\:px-40{padding-left:10rem;padding-right:10rem}.\\32xl\\:px-44{padding-left:11rem;padding-right:11rem}.\\32xl\\:px-48{padding-left:12rem;padding-right:12rem}.\\32xl\\:px-52{padding-left:13rem;padding-right:13rem}.\\32xl\\:px-56{padding-left:14rem;padding-right:14rem}.\\32xl\\:px-60{padding-left:15rem;padding-right:15rem}.\\32xl\\:px-64{padding-left:16rem;padding-right:16rem}.\\32xl\\:px-72{padding-left:18rem;padding-right:18rem}.\\32xl\\:px-80{padding-left:20rem;padding-right:20rem}.\\32xl\\:px-96{padding-left:24rem;padding-right:24rem}.\\32xl\\:px-px{padding-left:1px;padding-right:1px}.\\32xl\\:px-0\\.5{padding-left:0.125rem;padding-right:0.125rem}.\\32xl\\:px-1\\.5{padding-left:0.375rem;padding-right:0.375rem}.\\32xl\\:px-2\\.5{padding-left:0.625rem;padding-right:0.625rem}.\\32xl\\:px-3\\.5{padding-left:0.875rem;padding-right:0.875rem}.\\32xl\\:py-0{padding-top:0px;padding-bottom:0px}.\\32xl\\:py-1{padding-top:0.25rem;padding-bottom:0.25rem}.\\32xl\\:py-2{padding-top:0.5rem;padding-bottom:0.5rem}.\\32xl\\:py-3{padding-top:0.75rem;padding-bottom:0.75rem}.\\32xl\\:py-4{padding-top:1rem;padding-bottom:1rem}.\\32xl\\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.\\32xl\\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.\\32xl\\:py-7{padding-top:1.75rem;padding-bottom:1.75rem}.\\32xl\\:py-8{padding-top:2rem;padding-bottom:2rem}.\\32xl\\:py-9{padding-top:2.25rem;padding-bottom:2.25rem}.\\32xl\\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.\\32xl\\:py-11{padding-top:2.75rem;padding-bottom:2.75rem}.\\32xl\\:py-12{padding-top:3rem;padding-bottom:3rem}.\\32xl\\:py-14{padding-top:3.5rem;padding-bottom:3.5rem}.\\32xl\\:py-16{padding-top:4rem;padding-bottom:4rem}.\\32xl\\:py-20{padding-top:5rem;padding-bottom:5rem}.\\32xl\\:py-24{padding-top:6rem;padding-bottom:6rem}.\\32xl\\:py-28{padding-top:7rem;padding-bottom:7rem}.\\32xl\\:py-32{padding-top:8rem;padding-bottom:8rem}.\\32xl\\:py-36{padding-top:9rem;padding-bottom:9rem}.\\32xl\\:py-40{padding-top:10rem;padding-bottom:10rem}.\\32xl\\:py-44{padding-top:11rem;padding-bottom:11rem}.\\32xl\\:py-48{padding-top:12rem;padding-bottom:12rem}.\\32xl\\:py-52{padding-top:13rem;padding-bottom:13rem}.\\32xl\\:py-56{padding-top:14rem;padding-bottom:14rem}.\\32xl\\:py-60{padding-top:15rem;padding-bottom:15rem}.\\32xl\\:py-64{padding-top:16rem;padding-bottom:16rem}.\\32xl\\:py-72{padding-top:18rem;padding-bottom:18rem}.\\32xl\\:py-80{padding-top:20rem;padding-bottom:20rem}.\\32xl\\:py-96{padding-top:24rem;padding-bottom:24rem}.\\32xl\\:py-px{padding-top:1px;padding-bottom:1px}.\\32xl\\:py-0\\.5{padding-top:0.125rem;padding-bottom:0.125rem}.\\32xl\\:py-1\\.5{padding-top:0.375rem;padding-bottom:0.375rem}.\\32xl\\:py-2\\.5{padding-top:0.625rem;padding-bottom:0.625rem}.\\32xl\\:py-3\\.5{padding-top:0.875rem;padding-bottom:0.875rem}.\\32xl\\:pt-0{padding-top:0px}.\\32xl\\:pt-1{padding-top:0.25rem}.\\32xl\\:pt-2{padding-top:0.5rem}.\\32xl\\:pt-3{padding-top:0.75rem}.\\32xl\\:pt-4{padding-top:1rem}.\\32xl\\:pt-5{padding-top:1.25rem}.\\32xl\\:pt-6{padding-top:1.5rem}.\\32xl\\:pt-7{padding-top:1.75rem}.\\32xl\\:pt-8{padding-top:2rem}.\\32xl\\:pt-9{padding-top:2.25rem}.\\32xl\\:pt-10{padding-top:2.5rem}.\\32xl\\:pt-11{padding-top:2.75rem}.\\32xl\\:pt-12{padding-top:3rem}.\\32xl\\:pt-14{padding-top:3.5rem}.\\32xl\\:pt-16{padding-top:4rem}.\\32xl\\:pt-20{padding-top:5rem}.\\32xl\\:pt-24{padding-top:6rem}.\\32xl\\:pt-28{padding-top:7rem}.\\32xl\\:pt-32{padding-top:8rem}.\\32xl\\:pt-36{padding-top:9rem}.\\32xl\\:pt-40{padding-top:10rem}.\\32xl\\:pt-44{padding-top:11rem}.\\32xl\\:pt-48{padding-top:12rem}.\\32xl\\:pt-52{padding-top:13rem}.\\32xl\\:pt-56{padding-top:14rem}.\\32xl\\:pt-60{padding-top:15rem}.\\32xl\\:pt-64{padding-top:16rem}.\\32xl\\:pt-72{padding-top:18rem}.\\32xl\\:pt-80{padding-top:20rem}.\\32xl\\:pt-96{padding-top:24rem}.\\32xl\\:pt-px{padding-top:1px}.\\32xl\\:pt-0\\.5{padding-top:0.125rem}.\\32xl\\:pt-1\\.5{padding-top:0.375rem}.\\32xl\\:pt-2\\.5{padding-top:0.625rem}.\\32xl\\:pt-3\\.5{padding-top:0.875rem}.\\32xl\\:pr-0{padding-right:0px}.\\32xl\\:pr-1{padding-right:0.25rem}.\\32xl\\:pr-2{padding-right:0.5rem}.\\32xl\\:pr-3{padding-right:0.75rem}.\\32xl\\:pr-4{padding-right:1rem}.\\32xl\\:pr-5{padding-right:1.25rem}.\\32xl\\:pr-6{padding-right:1.5rem}.\\32xl\\:pr-7{padding-right:1.75rem}.\\32xl\\:pr-8{padding-right:2rem}.\\32xl\\:pr-9{padding-right:2.25rem}.\\32xl\\:pr-10{padding-right:2.5rem}.\\32xl\\:pr-11{padding-right:2.75rem}.\\32xl\\:pr-12{padding-right:3rem}.\\32xl\\:pr-14{padding-right:3.5rem}.\\32xl\\:pr-16{padding-right:4rem}.\\32xl\\:pr-20{padding-right:5rem}.\\32xl\\:pr-24{padding-right:6rem}.\\32xl\\:pr-28{padding-right:7rem}.\\32xl\\:pr-32{padding-right:8rem}.\\32xl\\:pr-36{padding-right:9rem}.\\32xl\\:pr-40{padding-right:10rem}.\\32xl\\:pr-44{padding-right:11rem}.\\32xl\\:pr-48{padding-right:12rem}.\\32xl\\:pr-52{padding-right:13rem}.\\32xl\\:pr-56{padding-right:14rem}.\\32xl\\:pr-60{padding-right:15rem}.\\32xl\\:pr-64{padding-right:16rem}.\\32xl\\:pr-72{padding-right:18rem}.\\32xl\\:pr-80{padding-right:20rem}.\\32xl\\:pr-96{padding-right:24rem}.\\32xl\\:pr-px{padding-right:1px}.\\32xl\\:pr-0\\.5{padding-right:0.125rem}.\\32xl\\:pr-1\\.5{padding-right:0.375rem}.\\32xl\\:pr-2\\.5{padding-right:0.625rem}.\\32xl\\:pr-3\\.5{padding-right:0.875rem}.\\32xl\\:pb-0{padding-bottom:0px}.\\32xl\\:pb-1{padding-bottom:0.25rem}.\\32xl\\:pb-2{padding-bottom:0.5rem}.\\32xl\\:pb-3{padding-bottom:0.75rem}.\\32xl\\:pb-4{padding-bottom:1rem}.\\32xl\\:pb-5{padding-bottom:1.25rem}.\\32xl\\:pb-6{padding-bottom:1.5rem}.\\32xl\\:pb-7{padding-bottom:1.75rem}.\\32xl\\:pb-8{padding-bottom:2rem}.\\32xl\\:pb-9{padding-bottom:2.25rem}.\\32xl\\:pb-10{padding-bottom:2.5rem}.\\32xl\\:pb-11{padding-bottom:2.75rem}.\\32xl\\:pb-12{padding-bottom:3rem}.\\32xl\\:pb-14{padding-bottom:3.5rem}.\\32xl\\:pb-16{padding-bottom:4rem}.\\32xl\\:pb-20{padding-bottom:5rem}.\\32xl\\:pb-24{padding-bottom:6rem}.\\32xl\\:pb-28{padding-bottom:7rem}.\\32xl\\:pb-32{padding-bottom:8rem}.\\32xl\\:pb-36{padding-bottom:9rem}.\\32xl\\:pb-40{padding-bottom:10rem}.\\32xl\\:pb-44{padding-bottom:11rem}.\\32xl\\:pb-48{padding-bottom:12rem}.\\32xl\\:pb-52{padding-bottom:13rem}.\\32xl\\:pb-56{padding-bottom:14rem}.\\32xl\\:pb-60{padding-bottom:15rem}.\\32xl\\:pb-64{padding-bottom:16rem}.\\32xl\\:pb-72{padding-bottom:18rem}.\\32xl\\:pb-80{padding-bottom:20rem}.\\32xl\\:pb-96{padding-bottom:24rem}.\\32xl\\:pb-px{padding-bottom:1px}.\\32xl\\:pb-0\\.5{padding-bottom:0.125rem}.\\32xl\\:pb-1\\.5{padding-bottom:0.375rem}.\\32xl\\:pb-2\\.5{padding-bottom:0.625rem}.\\32xl\\:pb-3\\.5{padding-bottom:0.875rem}.\\32xl\\:pl-0{padding-left:0px}.\\32xl\\:pl-1{padding-left:0.25rem}.\\32xl\\:pl-2{padding-left:0.5rem}.\\32xl\\:pl-3{padding-left:0.75rem}.\\32xl\\:pl-4{padding-left:1rem}.\\32xl\\:pl-5{padding-left:1.25rem}.\\32xl\\:pl-6{padding-left:1.5rem}.\\32xl\\:pl-7{padding-left:1.75rem}.\\32xl\\:pl-8{padding-left:2rem}.\\32xl\\:pl-9{padding-left:2.25rem}.\\32xl\\:pl-10{padding-left:2.5rem}.\\32xl\\:pl-11{padding-left:2.75rem}.\\32xl\\:pl-12{padding-left:3rem}.\\32xl\\:pl-14{padding-left:3.5rem}.\\32xl\\:pl-16{padding-left:4rem}.\\32xl\\:pl-20{padding-left:5rem}.\\32xl\\:pl-24{padding-left:6rem}.\\32xl\\:pl-28{padding-left:7rem}.\\32xl\\:pl-32{padding-left:8rem}.\\32xl\\:pl-36{padding-left:9rem}.\\32xl\\:pl-40{padding-left:10rem}.\\32xl\\:pl-44{padding-left:11rem}.\\32xl\\:pl-48{padding-left:12rem}.\\32xl\\:pl-52{padding-left:13rem}.\\32xl\\:pl-56{padding-left:14rem}.\\32xl\\:pl-60{padding-left:15rem}.\\32xl\\:pl-64{padding-left:16rem}.\\32xl\\:pl-72{padding-left:18rem}.\\32xl\\:pl-80{padding-left:20rem}.\\32xl\\:pl-96{padding-left:24rem}.\\32xl\\:pl-px{padding-left:1px}.\\32xl\\:pl-0\\.5{padding-left:0.125rem}.\\32xl\\:pl-1\\.5{padding-left:0.375rem}.\\32xl\\:pl-2\\.5{padding-left:0.625rem}.\\32xl\\:pl-3\\.5{padding-left:0.875rem}.\\32xl\\:text-left{text-align:left}.\\32xl\\:text-center{text-align:center}.\\32xl\\:text-right{text-align:right}.\\32xl\\:text-justify{text-align:justify}.\\32xl\\:align-baseline{vertical-align:baseline}.\\32xl\\:align-top{vertical-align:top}.\\32xl\\:align-middle{vertical-align:middle}.\\32xl\\:align-bottom{vertical-align:bottom}.\\32xl\\:align-text-top{vertical-align:text-top}.\\32xl\\:align-text-bottom{vertical-align:text-bottom}.\\32xl\\:font-sans{font-family:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"}.\\32xl\\:font-serif{font-family:ui-serif, Georgia, Cambria, \"Times New Roman\", Times, serif}.\\32xl\\:font-mono{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace}.\\32xl\\:text-xs{font-size:0.75rem;line-height:1rem}.\\32xl\\:text-sm{font-size:0.875rem;line-height:1.25rem}.\\32xl\\:text-base{font-size:1rem;line-height:1.5rem}.\\32xl\\:text-lg{font-size:1.125rem;line-height:1.75rem}.\\32xl\\:text-xl{font-size:1.25rem;line-height:1.75rem}.\\32xl\\:text-2xl{font-size:1.5rem;line-height:2rem}.\\32xl\\:text-3xl{font-size:1.875rem;line-height:2.25rem}.\\32xl\\:text-4xl{font-size:2.25rem;line-height:2.5rem}.\\32xl\\:text-5xl{font-size:3rem;line-height:1}.\\32xl\\:text-6xl{font-size:3.75rem;line-height:1}.\\32xl\\:text-7xl{font-size:4.5rem;line-height:1}.\\32xl\\:text-8xl{font-size:6rem;line-height:1}.\\32xl\\:text-9xl{font-size:8rem;line-height:1}.\\32xl\\:font-thin{font-weight:100}.\\32xl\\:font-extralight{font-weight:200}.\\32xl\\:font-light{font-weight:300}.\\32xl\\:font-normal{font-weight:400}.\\32xl\\:font-medium{font-weight:500}.\\32xl\\:font-semibold{font-weight:600}.\\32xl\\:font-bold{font-weight:700}.\\32xl\\:font-extrabold{font-weight:800}.\\32xl\\:font-black{font-weight:900}.\\32xl\\:uppercase{text-transform:uppercase}.\\32xl\\:lowercase{text-transform:lowercase}.\\32xl\\:capitalize{text-transform:capitalize}.\\32xl\\:normal-case{text-transform:none}.\\32xl\\:italic{font-style:italic}.\\32xl\\:not-italic{font-style:normal}.\\32xl\\:ordinal,.\\32xl\\:slashed-zero,.\\32xl\\:lining-nums,.\\32xl\\:oldstyle-nums,.\\32xl\\:proportional-nums,.\\32xl\\:tabular-nums,.\\32xl\\:diagonal-fractions,.\\32xl\\:stacked-fractions{--tw-ordinal:var(--tw-empty,/*!*/ /*!*/);--tw-slashed-zero:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-figure:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-spacing:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-fraction:var(--tw-empty,/*!*/ /*!*/);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.\\32xl\\:normal-nums{font-variant-numeric:normal}.\\32xl\\:ordinal{--tw-ordinal:ordinal}.\\32xl\\:slashed-zero{--tw-slashed-zero:slashed-zero}.\\32xl\\:lining-nums{--tw-numeric-figure:lining-nums}.\\32xl\\:oldstyle-nums{--tw-numeric-figure:oldstyle-nums}.\\32xl\\:proportional-nums{--tw-numeric-spacing:proportional-nums}.\\32xl\\:tabular-nums{--tw-numeric-spacing:tabular-nums}.\\32xl\\:diagonal-fractions{--tw-numeric-fraction:diagonal-fractions}.\\32xl\\:stacked-fractions{--tw-numeric-fraction:stacked-fractions}.\\32xl\\:leading-3{line-height:.75rem}.\\32xl\\:leading-4{line-height:1rem}.\\32xl\\:leading-5{line-height:1.25rem}.\\32xl\\:leading-6{line-height:1.5rem}.\\32xl\\:leading-7{line-height:1.75rem}.\\32xl\\:leading-8{line-height:2rem}.\\32xl\\:leading-9{line-height:2.25rem}.\\32xl\\:leading-10{line-height:2.5rem}.\\32xl\\:leading-none{line-height:1}.\\32xl\\:leading-tight{line-height:1.25}.\\32xl\\:leading-snug{line-height:1.375}.\\32xl\\:leading-normal{line-height:1.5}.\\32xl\\:leading-relaxed{line-height:1.625}.\\32xl\\:leading-loose{line-height:2}.\\32xl\\:tracking-tighter{letter-spacing:-0.05em}.\\32xl\\:tracking-tight{letter-spacing:-0.025em}.\\32xl\\:tracking-normal{letter-spacing:0em}.\\32xl\\:tracking-wide{letter-spacing:0.025em}.\\32xl\\:tracking-wider{letter-spacing:0.05em}.\\32xl\\:tracking-widest{letter-spacing:0.1em}.\\32xl\\:text-transparent{color:transparent}.\\32xl\\:text-current{color:currentColor}.\\32xl\\:text-white{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.\\32xl\\:text-lightgrey{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.\\32xl\\:text-midgrey{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.\\32xl\\:text-darkgrey{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.\\32xl\\:text-grey{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.\\32xl\\:text-black{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.\\32xl\\:text-highlight{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.\\32xl\\:text-highlight_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.\\32xl\\:text-button_outline{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.\\32xl\\:text-error{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.\\32xl\\:text-text-light{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.\\32xl\\:text-text-dimmed{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.\\32xl\\:text-text-dark{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.\\32xl\\:text-body-light{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.\\32xl\\:text-body-dark{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.\\32xl\\:text-button{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.\\32xl\\:text-button_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.group:hover .\\32xl\\:group-hover\\:text-transparent{color:transparent}.group:hover .\\32xl\\:group-hover\\:text-current{color:currentColor}.group:hover .\\32xl\\:group-hover\\:text-white{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .\\32xl\\:group-hover\\:text-lightgrey{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.group:hover .\\32xl\\:group-hover\\:text-midgrey{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .\\32xl\\:group-hover\\:text-darkgrey{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.group:hover .\\32xl\\:group-hover\\:text-grey{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.group:hover .\\32xl\\:group-hover\\:text-black{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.group:hover .\\32xl\\:group-hover\\:text-highlight{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.group:hover .\\32xl\\:group-hover\\:text-highlight_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.group:hover .\\32xl\\:group-hover\\:text-button_outline{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .\\32xl\\:group-hover\\:text-error{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.group:hover .\\32xl\\:group-hover\\:text-text-light{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.group:hover .\\32xl\\:group-hover\\:text-text-dimmed{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .\\32xl\\:group-hover\\:text-text-dark{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .\\32xl\\:group-hover\\:text-body-light{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .\\32xl\\:group-hover\\:text-body-dark{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.group:hover .\\32xl\\:group-hover\\:text-button{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.group:hover .\\32xl\\:group-hover\\:text-button_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.\\32xl\\:focus-within\\:text-transparent:focus-within{color:transparent}.\\32xl\\:focus-within\\:text-current:focus-within{color:currentColor}.\\32xl\\:focus-within\\:text-white:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.\\32xl\\:focus-within\\:text-lightgrey:focus-within{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.\\32xl\\:focus-within\\:text-midgrey:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.\\32xl\\:focus-within\\:text-darkgrey:focus-within{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.\\32xl\\:focus-within\\:text-grey:focus-within{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.\\32xl\\:focus-within\\:text-black:focus-within{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.\\32xl\\:focus-within\\:text-highlight:focus-within{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.\\32xl\\:focus-within\\:text-highlight_hover:focus-within{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.\\32xl\\:focus-within\\:text-button_outline:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.\\32xl\\:focus-within\\:text-error:focus-within{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.\\32xl\\:focus-within\\:text-text-light:focus-within{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.\\32xl\\:focus-within\\:text-text-dimmed:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.\\32xl\\:focus-within\\:text-text-dark:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.\\32xl\\:focus-within\\:text-body-light:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.\\32xl\\:focus-within\\:text-body-dark:focus-within{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.\\32xl\\:focus-within\\:text-button:focus-within{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.\\32xl\\:focus-within\\:text-button_hover:focus-within{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.\\32xl\\:hover\\:text-transparent:hover{color:transparent}.\\32xl\\:hover\\:text-current:hover{color:currentColor}.\\32xl\\:hover\\:text-white:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.\\32xl\\:hover\\:text-lightgrey:hover{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.\\32xl\\:hover\\:text-midgrey:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.\\32xl\\:hover\\:text-darkgrey:hover{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.\\32xl\\:hover\\:text-grey:hover{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.\\32xl\\:hover\\:text-black:hover{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.\\32xl\\:hover\\:text-highlight:hover{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.\\32xl\\:hover\\:text-highlight_hover:hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.\\32xl\\:hover\\:text-button_outline:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.\\32xl\\:hover\\:text-error:hover{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.\\32xl\\:hover\\:text-text-light:hover{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.\\32xl\\:hover\\:text-text-dimmed:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.\\32xl\\:hover\\:text-text-dark:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.\\32xl\\:hover\\:text-body-light:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.\\32xl\\:hover\\:text-body-dark:hover{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.\\32xl\\:hover\\:text-button:hover{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.\\32xl\\:hover\\:text-button_hover:hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.\\32xl\\:focus\\:text-transparent:focus{color:transparent}.\\32xl\\:focus\\:text-current:focus{color:currentColor}.\\32xl\\:focus\\:text-white:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.\\32xl\\:focus\\:text-lightgrey:focus{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.\\32xl\\:focus\\:text-midgrey:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.\\32xl\\:focus\\:text-darkgrey:focus{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.\\32xl\\:focus\\:text-grey:focus{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.\\32xl\\:focus\\:text-black:focus{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.\\32xl\\:focus\\:text-highlight:focus{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.\\32xl\\:focus\\:text-highlight_hover:focus{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.\\32xl\\:focus\\:text-button_outline:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.\\32xl\\:focus\\:text-error:focus{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.\\32xl\\:focus\\:text-text-light:focus{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.\\32xl\\:focus\\:text-text-dimmed:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.\\32xl\\:focus\\:text-text-dark:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.\\32xl\\:focus\\:text-body-light:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.\\32xl\\:focus\\:text-body-dark:focus{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.\\32xl\\:focus\\:text-button:focus{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.\\32xl\\:focus\\:text-button_hover:focus{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}@media(prefers-color-scheme: dark){.\\32xl\\:dark\\:text-transparent{color:transparent}.\\32xl\\:dark\\:text-current{color:currentColor}.\\32xl\\:dark\\:text-white{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.\\32xl\\:dark\\:text-lightgrey{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.\\32xl\\:dark\\:text-midgrey{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.\\32xl\\:dark\\:text-darkgrey{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.\\32xl\\:dark\\:text-grey{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.\\32xl\\:dark\\:text-black{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.\\32xl\\:dark\\:text-highlight{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.\\32xl\\:dark\\:text-highlight_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.\\32xl\\:dark\\:text-button_outline{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.\\32xl\\:dark\\:text-error{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.\\32xl\\:dark\\:text-text-light{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.\\32xl\\:dark\\:text-text-dimmed{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.\\32xl\\:dark\\:text-text-dark{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.\\32xl\\:dark\\:text-body-light{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.\\32xl\\:dark\\:text-body-dark{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.\\32xl\\:dark\\:text-button{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.\\32xl\\:dark\\:text-button_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:text-transparent{color:transparent}.group:hover .\\32xl\\:dark\\:group-hover\\:text-current{color:currentColor}.group:hover .\\32xl\\:dark\\:group-hover\\:text-white{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:text-lightgrey{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:text-midgrey{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:text-darkgrey{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:text-grey{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:text-black{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:text-highlight{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:text-highlight_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:text-button_outline{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:text-error{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:text-text-light{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:text-text-dimmed{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:text-text-dark{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:text-body-light{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:text-body-dark{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:text-button{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:text-button_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus-within\\:text-transparent:focus-within{color:transparent}.\\32xl\\:dark\\:focus-within\\:text-current:focus-within{color:currentColor}.\\32xl\\:dark\\:focus-within\\:text-white:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus-within\\:text-lightgrey:focus-within{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus-within\\:text-midgrey:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus-within\\:text-darkgrey:focus-within{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus-within\\:text-grey:focus-within{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus-within\\:text-black:focus-within{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus-within\\:text-highlight:focus-within{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus-within\\:text-highlight_hover:focus-within{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus-within\\:text-button_outline:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus-within\\:text-error:focus-within{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus-within\\:text-text-light:focus-within{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus-within\\:text-text-dimmed:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus-within\\:text-text-dark:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus-within\\:text-body-light:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus-within\\:text-body-dark:focus-within{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus-within\\:text-button:focus-within{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus-within\\:text-button_hover:focus-within{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.\\32xl\\:dark\\:hover\\:text-transparent:hover{color:transparent}.\\32xl\\:dark\\:hover\\:text-current:hover{color:currentColor}.\\32xl\\:dark\\:hover\\:text-white:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.\\32xl\\:dark\\:hover\\:text-lightgrey:hover{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.\\32xl\\:dark\\:hover\\:text-midgrey:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.\\32xl\\:dark\\:hover\\:text-darkgrey:hover{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.\\32xl\\:dark\\:hover\\:text-grey:hover{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.\\32xl\\:dark\\:hover\\:text-black:hover{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.\\32xl\\:dark\\:hover\\:text-highlight:hover{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.\\32xl\\:dark\\:hover\\:text-highlight_hover:hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.\\32xl\\:dark\\:hover\\:text-button_outline:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.\\32xl\\:dark\\:hover\\:text-error:hover{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.\\32xl\\:dark\\:hover\\:text-text-light:hover{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.\\32xl\\:dark\\:hover\\:text-text-dimmed:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.\\32xl\\:dark\\:hover\\:text-text-dark:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.\\32xl\\:dark\\:hover\\:text-body-light:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.\\32xl\\:dark\\:hover\\:text-body-dark:hover{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.\\32xl\\:dark\\:hover\\:text-button:hover{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.\\32xl\\:dark\\:hover\\:text-button_hover:hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus\\:text-transparent:focus{color:transparent}.\\32xl\\:dark\\:focus\\:text-current:focus{color:currentColor}.\\32xl\\:dark\\:focus\\:text-white:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus\\:text-lightgrey:focus{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus\\:text-midgrey:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus\\:text-darkgrey:focus{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus\\:text-grey:focus{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus\\:text-black:focus{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus\\:text-highlight:focus{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus\\:text-highlight_hover:focus{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus\\:text-button_outline:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus\\:text-error:focus{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus\\:text-text-light:focus{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus\\:text-text-dimmed:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus\\:text-text-dark:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus\\:text-body-light:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus\\:text-body-dark:focus{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus\\:text-button:focus{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus\\:text-button_hover:focus{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}}.\\32xl\\:text-opacity-0{--tw-text-opacity:0}.\\32xl\\:text-opacity-5{--tw-text-opacity:0.05}.\\32xl\\:text-opacity-10{--tw-text-opacity:0.1}.\\32xl\\:text-opacity-20{--tw-text-opacity:0.2}.\\32xl\\:text-opacity-25{--tw-text-opacity:0.25}.\\32xl\\:text-opacity-30{--tw-text-opacity:0.3}.\\32xl\\:text-opacity-40{--tw-text-opacity:0.4}.\\32xl\\:text-opacity-50{--tw-text-opacity:0.5}.\\32xl\\:text-opacity-60{--tw-text-opacity:0.6}.\\32xl\\:text-opacity-70{--tw-text-opacity:0.7}.\\32xl\\:text-opacity-75{--tw-text-opacity:0.75}.\\32xl\\:text-opacity-80{--tw-text-opacity:0.8}.\\32xl\\:text-opacity-90{--tw-text-opacity:0.9}.\\32xl\\:text-opacity-95{--tw-text-opacity:0.95}.\\32xl\\:text-opacity-100{--tw-text-opacity:1}.group:hover .\\32xl\\:group-hover\\:text-opacity-0{--tw-text-opacity:0}.group:hover .\\32xl\\:group-hover\\:text-opacity-5{--tw-text-opacity:0.05}.group:hover .\\32xl\\:group-hover\\:text-opacity-10{--tw-text-opacity:0.1}.group:hover .\\32xl\\:group-hover\\:text-opacity-20{--tw-text-opacity:0.2}.group:hover .\\32xl\\:group-hover\\:text-opacity-25{--tw-text-opacity:0.25}.group:hover .\\32xl\\:group-hover\\:text-opacity-30{--tw-text-opacity:0.3}.group:hover .\\32xl\\:group-hover\\:text-opacity-40{--tw-text-opacity:0.4}.group:hover .\\32xl\\:group-hover\\:text-opacity-50{--tw-text-opacity:0.5}.group:hover .\\32xl\\:group-hover\\:text-opacity-60{--tw-text-opacity:0.6}.group:hover .\\32xl\\:group-hover\\:text-opacity-70{--tw-text-opacity:0.7}.group:hover .\\32xl\\:group-hover\\:text-opacity-75{--tw-text-opacity:0.75}.group:hover .\\32xl\\:group-hover\\:text-opacity-80{--tw-text-opacity:0.8}.group:hover .\\32xl\\:group-hover\\:text-opacity-90{--tw-text-opacity:0.9}.group:hover .\\32xl\\:group-hover\\:text-opacity-95{--tw-text-opacity:0.95}.group:hover .\\32xl\\:group-hover\\:text-opacity-100{--tw-text-opacity:1}.\\32xl\\:focus-within\\:text-opacity-0:focus-within{--tw-text-opacity:0}.\\32xl\\:focus-within\\:text-opacity-5:focus-within{--tw-text-opacity:0.05}.\\32xl\\:focus-within\\:text-opacity-10:focus-within{--tw-text-opacity:0.1}.\\32xl\\:focus-within\\:text-opacity-20:focus-within{--tw-text-opacity:0.2}.\\32xl\\:focus-within\\:text-opacity-25:focus-within{--tw-text-opacity:0.25}.\\32xl\\:focus-within\\:text-opacity-30:focus-within{--tw-text-opacity:0.3}.\\32xl\\:focus-within\\:text-opacity-40:focus-within{--tw-text-opacity:0.4}.\\32xl\\:focus-within\\:text-opacity-50:focus-within{--tw-text-opacity:0.5}.\\32xl\\:focus-within\\:text-opacity-60:focus-within{--tw-text-opacity:0.6}.\\32xl\\:focus-within\\:text-opacity-70:focus-within{--tw-text-opacity:0.7}.\\32xl\\:focus-within\\:text-opacity-75:focus-within{--tw-text-opacity:0.75}.\\32xl\\:focus-within\\:text-opacity-80:focus-within{--tw-text-opacity:0.8}.\\32xl\\:focus-within\\:text-opacity-90:focus-within{--tw-text-opacity:0.9}.\\32xl\\:focus-within\\:text-opacity-95:focus-within{--tw-text-opacity:0.95}.\\32xl\\:focus-within\\:text-opacity-100:focus-within{--tw-text-opacity:1}.\\32xl\\:hover\\:text-opacity-0:hover{--tw-text-opacity:0}.\\32xl\\:hover\\:text-opacity-5:hover{--tw-text-opacity:0.05}.\\32xl\\:hover\\:text-opacity-10:hover{--tw-text-opacity:0.1}.\\32xl\\:hover\\:text-opacity-20:hover{--tw-text-opacity:0.2}.\\32xl\\:hover\\:text-opacity-25:hover{--tw-text-opacity:0.25}.\\32xl\\:hover\\:text-opacity-30:hover{--tw-text-opacity:0.3}.\\32xl\\:hover\\:text-opacity-40:hover{--tw-text-opacity:0.4}.\\32xl\\:hover\\:text-opacity-50:hover{--tw-text-opacity:0.5}.\\32xl\\:hover\\:text-opacity-60:hover{--tw-text-opacity:0.6}.\\32xl\\:hover\\:text-opacity-70:hover{--tw-text-opacity:0.7}.\\32xl\\:hover\\:text-opacity-75:hover{--tw-text-opacity:0.75}.\\32xl\\:hover\\:text-opacity-80:hover{--tw-text-opacity:0.8}.\\32xl\\:hover\\:text-opacity-90:hover{--tw-text-opacity:0.9}.\\32xl\\:hover\\:text-opacity-95:hover{--tw-text-opacity:0.95}.\\32xl\\:hover\\:text-opacity-100:hover{--tw-text-opacity:1}.\\32xl\\:focus\\:text-opacity-0:focus{--tw-text-opacity:0}.\\32xl\\:focus\\:text-opacity-5:focus{--tw-text-opacity:0.05}.\\32xl\\:focus\\:text-opacity-10:focus{--tw-text-opacity:0.1}.\\32xl\\:focus\\:text-opacity-20:focus{--tw-text-opacity:0.2}.\\32xl\\:focus\\:text-opacity-25:focus{--tw-text-opacity:0.25}.\\32xl\\:focus\\:text-opacity-30:focus{--tw-text-opacity:0.3}.\\32xl\\:focus\\:text-opacity-40:focus{--tw-text-opacity:0.4}.\\32xl\\:focus\\:text-opacity-50:focus{--tw-text-opacity:0.5}.\\32xl\\:focus\\:text-opacity-60:focus{--tw-text-opacity:0.6}.\\32xl\\:focus\\:text-opacity-70:focus{--tw-text-opacity:0.7}.\\32xl\\:focus\\:text-opacity-75:focus{--tw-text-opacity:0.75}.\\32xl\\:focus\\:text-opacity-80:focus{--tw-text-opacity:0.8}.\\32xl\\:focus\\:text-opacity-90:focus{--tw-text-opacity:0.9}.\\32xl\\:focus\\:text-opacity-95:focus{--tw-text-opacity:0.95}.\\32xl\\:focus\\:text-opacity-100:focus{--tw-text-opacity:1}@media(prefers-color-scheme: dark){.\\32xl\\:dark\\:text-opacity-0{--tw-text-opacity:0}.\\32xl\\:dark\\:text-opacity-5{--tw-text-opacity:0.05}.\\32xl\\:dark\\:text-opacity-10{--tw-text-opacity:0.1}.\\32xl\\:dark\\:text-opacity-20{--tw-text-opacity:0.2}.\\32xl\\:dark\\:text-opacity-25{--tw-text-opacity:0.25}.\\32xl\\:dark\\:text-opacity-30{--tw-text-opacity:0.3}.\\32xl\\:dark\\:text-opacity-40{--tw-text-opacity:0.4}.\\32xl\\:dark\\:text-opacity-50{--tw-text-opacity:0.5}.\\32xl\\:dark\\:text-opacity-60{--tw-text-opacity:0.6}.\\32xl\\:dark\\:text-opacity-70{--tw-text-opacity:0.7}.\\32xl\\:dark\\:text-opacity-75{--tw-text-opacity:0.75}.\\32xl\\:dark\\:text-opacity-80{--tw-text-opacity:0.8}.\\32xl\\:dark\\:text-opacity-90{--tw-text-opacity:0.9}.\\32xl\\:dark\\:text-opacity-95{--tw-text-opacity:0.95}.\\32xl\\:dark\\:text-opacity-100{--tw-text-opacity:1}.group:hover .\\32xl\\:dark\\:group-hover\\:text-opacity-0{--tw-text-opacity:0}.group:hover .\\32xl\\:dark\\:group-hover\\:text-opacity-5{--tw-text-opacity:0.05}.group:hover .\\32xl\\:dark\\:group-hover\\:text-opacity-10{--tw-text-opacity:0.1}.group:hover .\\32xl\\:dark\\:group-hover\\:text-opacity-20{--tw-text-opacity:0.2}.group:hover .\\32xl\\:dark\\:group-hover\\:text-opacity-25{--tw-text-opacity:0.25}.group:hover .\\32xl\\:dark\\:group-hover\\:text-opacity-30{--tw-text-opacity:0.3}.group:hover .\\32xl\\:dark\\:group-hover\\:text-opacity-40{--tw-text-opacity:0.4}.group:hover .\\32xl\\:dark\\:group-hover\\:text-opacity-50{--tw-text-opacity:0.5}.group:hover .\\32xl\\:dark\\:group-hover\\:text-opacity-60{--tw-text-opacity:0.6}.group:hover .\\32xl\\:dark\\:group-hover\\:text-opacity-70{--tw-text-opacity:0.7}.group:hover .\\32xl\\:dark\\:group-hover\\:text-opacity-75{--tw-text-opacity:0.75}.group:hover .\\32xl\\:dark\\:group-hover\\:text-opacity-80{--tw-text-opacity:0.8}.group:hover .\\32xl\\:dark\\:group-hover\\:text-opacity-90{--tw-text-opacity:0.9}.group:hover .\\32xl\\:dark\\:group-hover\\:text-opacity-95{--tw-text-opacity:0.95}.group:hover .\\32xl\\:dark\\:group-hover\\:text-opacity-100{--tw-text-opacity:1}.\\32xl\\:dark\\:focus-within\\:text-opacity-0:focus-within{--tw-text-opacity:0}.\\32xl\\:dark\\:focus-within\\:text-opacity-5:focus-within{--tw-text-opacity:0.05}.\\32xl\\:dark\\:focus-within\\:text-opacity-10:focus-within{--tw-text-opacity:0.1}.\\32xl\\:dark\\:focus-within\\:text-opacity-20:focus-within{--tw-text-opacity:0.2}.\\32xl\\:dark\\:focus-within\\:text-opacity-25:focus-within{--tw-text-opacity:0.25}.\\32xl\\:dark\\:focus-within\\:text-opacity-30:focus-within{--tw-text-opacity:0.3}.\\32xl\\:dark\\:focus-within\\:text-opacity-40:focus-within{--tw-text-opacity:0.4}.\\32xl\\:dark\\:focus-within\\:text-opacity-50:focus-within{--tw-text-opacity:0.5}.\\32xl\\:dark\\:focus-within\\:text-opacity-60:focus-within{--tw-text-opacity:0.6}.\\32xl\\:dark\\:focus-within\\:text-opacity-70:focus-within{--tw-text-opacity:0.7}.\\32xl\\:dark\\:focus-within\\:text-opacity-75:focus-within{--tw-text-opacity:0.75}.\\32xl\\:dark\\:focus-within\\:text-opacity-80:focus-within{--tw-text-opacity:0.8}.\\32xl\\:dark\\:focus-within\\:text-opacity-90:focus-within{--tw-text-opacity:0.9}.\\32xl\\:dark\\:focus-within\\:text-opacity-95:focus-within{--tw-text-opacity:0.95}.\\32xl\\:dark\\:focus-within\\:text-opacity-100:focus-within{--tw-text-opacity:1}.\\32xl\\:dark\\:hover\\:text-opacity-0:hover{--tw-text-opacity:0}.\\32xl\\:dark\\:hover\\:text-opacity-5:hover{--tw-text-opacity:0.05}.\\32xl\\:dark\\:hover\\:text-opacity-10:hover{--tw-text-opacity:0.1}.\\32xl\\:dark\\:hover\\:text-opacity-20:hover{--tw-text-opacity:0.2}.\\32xl\\:dark\\:hover\\:text-opacity-25:hover{--tw-text-opacity:0.25}.\\32xl\\:dark\\:hover\\:text-opacity-30:hover{--tw-text-opacity:0.3}.\\32xl\\:dark\\:hover\\:text-opacity-40:hover{--tw-text-opacity:0.4}.\\32xl\\:dark\\:hover\\:text-opacity-50:hover{--tw-text-opacity:0.5}.\\32xl\\:dark\\:hover\\:text-opacity-60:hover{--tw-text-opacity:0.6}.\\32xl\\:dark\\:hover\\:text-opacity-70:hover{--tw-text-opacity:0.7}.\\32xl\\:dark\\:hover\\:text-opacity-75:hover{--tw-text-opacity:0.75}.\\32xl\\:dark\\:hover\\:text-opacity-80:hover{--tw-text-opacity:0.8}.\\32xl\\:dark\\:hover\\:text-opacity-90:hover{--tw-text-opacity:0.9}.\\32xl\\:dark\\:hover\\:text-opacity-95:hover{--tw-text-opacity:0.95}.\\32xl\\:dark\\:hover\\:text-opacity-100:hover{--tw-text-opacity:1}.\\32xl\\:dark\\:focus\\:text-opacity-0:focus{--tw-text-opacity:0}.\\32xl\\:dark\\:focus\\:text-opacity-5:focus{--tw-text-opacity:0.05}.\\32xl\\:dark\\:focus\\:text-opacity-10:focus{--tw-text-opacity:0.1}.\\32xl\\:dark\\:focus\\:text-opacity-20:focus{--tw-text-opacity:0.2}.\\32xl\\:dark\\:focus\\:text-opacity-25:focus{--tw-text-opacity:0.25}.\\32xl\\:dark\\:focus\\:text-opacity-30:focus{--tw-text-opacity:0.3}.\\32xl\\:dark\\:focus\\:text-opacity-40:focus{--tw-text-opacity:0.4}.\\32xl\\:dark\\:focus\\:text-opacity-50:focus{--tw-text-opacity:0.5}.\\32xl\\:dark\\:focus\\:text-opacity-60:focus{--tw-text-opacity:0.6}.\\32xl\\:dark\\:focus\\:text-opacity-70:focus{--tw-text-opacity:0.7}.\\32xl\\:dark\\:focus\\:text-opacity-75:focus{--tw-text-opacity:0.75}.\\32xl\\:dark\\:focus\\:text-opacity-80:focus{--tw-text-opacity:0.8}.\\32xl\\:dark\\:focus\\:text-opacity-90:focus{--tw-text-opacity:0.9}.\\32xl\\:dark\\:focus\\:text-opacity-95:focus{--tw-text-opacity:0.95}.\\32xl\\:dark\\:focus\\:text-opacity-100:focus{--tw-text-opacity:1}}.\\32xl\\:underline{text-decoration:underline}.\\32xl\\:line-through{text-decoration:line-through}.\\32xl\\:no-underline{text-decoration:none}.group:hover .\\32xl\\:group-hover\\:underline{text-decoration:underline}.group:hover .\\32xl\\:group-hover\\:line-through{text-decoration:line-through}.group:hover .\\32xl\\:group-hover\\:no-underline{text-decoration:none}.\\32xl\\:focus-within\\:underline:focus-within{text-decoration:underline}.\\32xl\\:focus-within\\:line-through:focus-within{text-decoration:line-through}.\\32xl\\:focus-within\\:no-underline:focus-within{text-decoration:none}.\\32xl\\:hover\\:underline:hover{text-decoration:underline}.\\32xl\\:hover\\:line-through:hover{text-decoration:line-through}.\\32xl\\:hover\\:no-underline:hover{text-decoration:none}.\\32xl\\:focus\\:underline:focus{text-decoration:underline}.\\32xl\\:focus\\:line-through:focus{text-decoration:line-through}.\\32xl\\:focus\\:no-underline:focus{text-decoration:none}.\\32xl\\:antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.\\32xl\\:subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.\\32xl\\:placeholder-transparent::placeholder{color:transparent}.\\32xl\\:placeholder-current::placeholder{color:currentColor}.\\32xl\\:placeholder-white::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.\\32xl\\:placeholder-lightgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(247, 247, 247, var(--tw-placeholder-opacity))}.\\32xl\\:placeholder-midgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.\\32xl\\:placeholder-darkgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(127, 127, 127, var(--tw-placeholder-opacity))}.\\32xl\\:placeholder-grey::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.\\32xl\\:placeholder-black::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.\\32xl\\:placeholder-highlight::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.\\32xl\\:placeholder-highlight_hover::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.\\32xl\\:placeholder-button_outline::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.\\32xl\\:placeholder-error::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 69, 58, var(--tw-placeholder-opacity))}.\\32xl\\:placeholder-text-light::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.\\32xl\\:placeholder-text-dimmed::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.\\32xl\\:placeholder-text-dark::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.\\32xl\\:placeholder-body-light::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.\\32xl\\:placeholder-body-dark::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.\\32xl\\:placeholder-button::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.\\32xl\\:placeholder-button_hover::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.\\32xl\\:focus\\:placeholder-transparent:focus::placeholder{color:transparent}.\\32xl\\:focus\\:placeholder-current:focus::placeholder{color:currentColor}.\\32xl\\:focus\\:placeholder-white:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.\\32xl\\:focus\\:placeholder-lightgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(247, 247, 247, var(--tw-placeholder-opacity))}.\\32xl\\:focus\\:placeholder-midgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.\\32xl\\:focus\\:placeholder-darkgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(127, 127, 127, var(--tw-placeholder-opacity))}.\\32xl\\:focus\\:placeholder-grey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.\\32xl\\:focus\\:placeholder-black:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.\\32xl\\:focus\\:placeholder-highlight:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.\\32xl\\:focus\\:placeholder-highlight_hover:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.\\32xl\\:focus\\:placeholder-button_outline:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.\\32xl\\:focus\\:placeholder-error:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 69, 58, var(--tw-placeholder-opacity))}.\\32xl\\:focus\\:placeholder-text-light:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.\\32xl\\:focus\\:placeholder-text-dimmed:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.\\32xl\\:focus\\:placeholder-text-dark:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.\\32xl\\:focus\\:placeholder-body-light:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.\\32xl\\:focus\\:placeholder-body-dark:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.\\32xl\\:focus\\:placeholder-button:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.\\32xl\\:focus\\:placeholder-button_hover:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}@media(prefers-color-scheme: dark){.\\32xl\\:dark\\:placeholder-transparent::placeholder{color:transparent}.\\32xl\\:dark\\:placeholder-current::placeholder{color:currentColor}.\\32xl\\:dark\\:placeholder-white::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:placeholder-lightgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(247, 247, 247, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:placeholder-midgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:placeholder-darkgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(127, 127, 127, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:placeholder-grey::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:placeholder-black::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:placeholder-highlight::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:placeholder-highlight_hover::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:placeholder-button_outline::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:placeholder-error::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 69, 58, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:placeholder-text-light::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:placeholder-text-dimmed::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:placeholder-text-dark::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:placeholder-body-light::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:placeholder-body-dark::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:placeholder-button::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:placeholder-button_hover::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:focus\\:placeholder-transparent:focus::placeholder{color:transparent}.\\32xl\\:dark\\:focus\\:placeholder-current:focus::placeholder{color:currentColor}.\\32xl\\:dark\\:focus\\:placeholder-white:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:focus\\:placeholder-lightgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(247, 247, 247, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:focus\\:placeholder-midgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:focus\\:placeholder-darkgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(127, 127, 127, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:focus\\:placeholder-grey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:focus\\:placeholder-black:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:focus\\:placeholder-highlight:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:focus\\:placeholder-highlight_hover:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:focus\\:placeholder-button_outline:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:focus\\:placeholder-error:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 69, 58, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:focus\\:placeholder-text-light:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:focus\\:placeholder-text-dimmed:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:focus\\:placeholder-text-dark:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:focus\\:placeholder-body-light:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:focus\\:placeholder-body-dark:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:focus\\:placeholder-button:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:focus\\:placeholder-button_hover:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}}.\\32xl\\:placeholder-opacity-0::placeholder{--tw-placeholder-opacity:0}.\\32xl\\:placeholder-opacity-5::placeholder{--tw-placeholder-opacity:0.05}.\\32xl\\:placeholder-opacity-10::placeholder{--tw-placeholder-opacity:0.1}.\\32xl\\:placeholder-opacity-20::placeholder{--tw-placeholder-opacity:0.2}.\\32xl\\:placeholder-opacity-25::placeholder{--tw-placeholder-opacity:0.25}.\\32xl\\:placeholder-opacity-30::placeholder{--tw-placeholder-opacity:0.3}.\\32xl\\:placeholder-opacity-40::placeholder{--tw-placeholder-opacity:0.4}.\\32xl\\:placeholder-opacity-50::placeholder{--tw-placeholder-opacity:0.5}.\\32xl\\:placeholder-opacity-60::placeholder{--tw-placeholder-opacity:0.6}.\\32xl\\:placeholder-opacity-70::placeholder{--tw-placeholder-opacity:0.7}.\\32xl\\:placeholder-opacity-75::placeholder{--tw-placeholder-opacity:0.75}.\\32xl\\:placeholder-opacity-80::placeholder{--tw-placeholder-opacity:0.8}.\\32xl\\:placeholder-opacity-90::placeholder{--tw-placeholder-opacity:0.9}.\\32xl\\:placeholder-opacity-95::placeholder{--tw-placeholder-opacity:0.95}.\\32xl\\:placeholder-opacity-100::placeholder{--tw-placeholder-opacity:1}.\\32xl\\:focus\\:placeholder-opacity-0:focus::placeholder{--tw-placeholder-opacity:0}.\\32xl\\:focus\\:placeholder-opacity-5:focus::placeholder{--tw-placeholder-opacity:0.05}.\\32xl\\:focus\\:placeholder-opacity-10:focus::placeholder{--tw-placeholder-opacity:0.1}.\\32xl\\:focus\\:placeholder-opacity-20:focus::placeholder{--tw-placeholder-opacity:0.2}.\\32xl\\:focus\\:placeholder-opacity-25:focus::placeholder{--tw-placeholder-opacity:0.25}.\\32xl\\:focus\\:placeholder-opacity-30:focus::placeholder{--tw-placeholder-opacity:0.3}.\\32xl\\:focus\\:placeholder-opacity-40:focus::placeholder{--tw-placeholder-opacity:0.4}.\\32xl\\:focus\\:placeholder-opacity-50:focus::placeholder{--tw-placeholder-opacity:0.5}.\\32xl\\:focus\\:placeholder-opacity-60:focus::placeholder{--tw-placeholder-opacity:0.6}.\\32xl\\:focus\\:placeholder-opacity-70:focus::placeholder{--tw-placeholder-opacity:0.7}.\\32xl\\:focus\\:placeholder-opacity-75:focus::placeholder{--tw-placeholder-opacity:0.75}.\\32xl\\:focus\\:placeholder-opacity-80:focus::placeholder{--tw-placeholder-opacity:0.8}.\\32xl\\:focus\\:placeholder-opacity-90:focus::placeholder{--tw-placeholder-opacity:0.9}.\\32xl\\:focus\\:placeholder-opacity-95:focus::placeholder{--tw-placeholder-opacity:0.95}.\\32xl\\:focus\\:placeholder-opacity-100:focus::placeholder{--tw-placeholder-opacity:1}@media(prefers-color-scheme: dark){.\\32xl\\:dark\\:placeholder-opacity-0::placeholder{--tw-placeholder-opacity:0}.\\32xl\\:dark\\:placeholder-opacity-5::placeholder{--tw-placeholder-opacity:0.05}.\\32xl\\:dark\\:placeholder-opacity-10::placeholder{--tw-placeholder-opacity:0.1}.\\32xl\\:dark\\:placeholder-opacity-20::placeholder{--tw-placeholder-opacity:0.2}.\\32xl\\:dark\\:placeholder-opacity-25::placeholder{--tw-placeholder-opacity:0.25}.\\32xl\\:dark\\:placeholder-opacity-30::placeholder{--tw-placeholder-opacity:0.3}.\\32xl\\:dark\\:placeholder-opacity-40::placeholder{--tw-placeholder-opacity:0.4}.\\32xl\\:dark\\:placeholder-opacity-50::placeholder{--tw-placeholder-opacity:0.5}.\\32xl\\:dark\\:placeholder-opacity-60::placeholder{--tw-placeholder-opacity:0.6}.\\32xl\\:dark\\:placeholder-opacity-70::placeholder{--tw-placeholder-opacity:0.7}.\\32xl\\:dark\\:placeholder-opacity-75::placeholder{--tw-placeholder-opacity:0.75}.\\32xl\\:dark\\:placeholder-opacity-80::placeholder{--tw-placeholder-opacity:0.8}.\\32xl\\:dark\\:placeholder-opacity-90::placeholder{--tw-placeholder-opacity:0.9}.\\32xl\\:dark\\:placeholder-opacity-95::placeholder{--tw-placeholder-opacity:0.95}.\\32xl\\:dark\\:placeholder-opacity-100::placeholder{--tw-placeholder-opacity:1}.\\32xl\\:dark\\:focus\\:placeholder-opacity-0:focus::placeholder{--tw-placeholder-opacity:0}.\\32xl\\:dark\\:focus\\:placeholder-opacity-5:focus::placeholder{--tw-placeholder-opacity:0.05}.\\32xl\\:dark\\:focus\\:placeholder-opacity-10:focus::placeholder{--tw-placeholder-opacity:0.1}.\\32xl\\:dark\\:focus\\:placeholder-opacity-20:focus::placeholder{--tw-placeholder-opacity:0.2}.\\32xl\\:dark\\:focus\\:placeholder-opacity-25:focus::placeholder{--tw-placeholder-opacity:0.25}.\\32xl\\:dark\\:focus\\:placeholder-opacity-30:focus::placeholder{--tw-placeholder-opacity:0.3}.\\32xl\\:dark\\:focus\\:placeholder-opacity-40:focus::placeholder{--tw-placeholder-opacity:0.4}.\\32xl\\:dark\\:focus\\:placeholder-opacity-50:focus::placeholder{--tw-placeholder-opacity:0.5}.\\32xl\\:dark\\:focus\\:placeholder-opacity-60:focus::placeholder{--tw-placeholder-opacity:0.6}.\\32xl\\:dark\\:focus\\:placeholder-opacity-70:focus::placeholder{--tw-placeholder-opacity:0.7}.\\32xl\\:dark\\:focus\\:placeholder-opacity-75:focus::placeholder{--tw-placeholder-opacity:0.75}.\\32xl\\:dark\\:focus\\:placeholder-opacity-80:focus::placeholder{--tw-placeholder-opacity:0.8}.\\32xl\\:dark\\:focus\\:placeholder-opacity-90:focus::placeholder{--tw-placeholder-opacity:0.9}.\\32xl\\:dark\\:focus\\:placeholder-opacity-95:focus::placeholder{--tw-placeholder-opacity:0.95}.\\32xl\\:dark\\:focus\\:placeholder-opacity-100:focus::placeholder{--tw-placeholder-opacity:1}}.\\32xl\\:opacity-0{opacity:0}.\\32xl\\:opacity-5{opacity:0.05}.\\32xl\\:opacity-10{opacity:0.1}.\\32xl\\:opacity-20{opacity:0.2}.\\32xl\\:opacity-25{opacity:0.25}.\\32xl\\:opacity-30{opacity:0.3}.\\32xl\\:opacity-40{opacity:0.4}.\\32xl\\:opacity-50{opacity:0.5}.\\32xl\\:opacity-60{opacity:0.6}.\\32xl\\:opacity-70{opacity:0.7}.\\32xl\\:opacity-75{opacity:0.75}.\\32xl\\:opacity-80{opacity:0.8}.\\32xl\\:opacity-90{opacity:0.9}.\\32xl\\:opacity-95{opacity:0.95}.\\32xl\\:opacity-100{opacity:1}.group:hover .\\32xl\\:group-hover\\:opacity-0{opacity:0}.group:hover .\\32xl\\:group-hover\\:opacity-5{opacity:0.05}.group:hover .\\32xl\\:group-hover\\:opacity-10{opacity:0.1}.group:hover .\\32xl\\:group-hover\\:opacity-20{opacity:0.2}.group:hover .\\32xl\\:group-hover\\:opacity-25{opacity:0.25}.group:hover .\\32xl\\:group-hover\\:opacity-30{opacity:0.3}.group:hover .\\32xl\\:group-hover\\:opacity-40{opacity:0.4}.group:hover .\\32xl\\:group-hover\\:opacity-50{opacity:0.5}.group:hover .\\32xl\\:group-hover\\:opacity-60{opacity:0.6}.group:hover .\\32xl\\:group-hover\\:opacity-70{opacity:0.7}.group:hover .\\32xl\\:group-hover\\:opacity-75{opacity:0.75}.group:hover .\\32xl\\:group-hover\\:opacity-80{opacity:0.8}.group:hover .\\32xl\\:group-hover\\:opacity-90{opacity:0.9}.group:hover .\\32xl\\:group-hover\\:opacity-95{opacity:0.95}.group:hover .\\32xl\\:group-hover\\:opacity-100{opacity:1}.\\32xl\\:focus-within\\:opacity-0:focus-within{opacity:0}.\\32xl\\:focus-within\\:opacity-5:focus-within{opacity:0.05}.\\32xl\\:focus-within\\:opacity-10:focus-within{opacity:0.1}.\\32xl\\:focus-within\\:opacity-20:focus-within{opacity:0.2}.\\32xl\\:focus-within\\:opacity-25:focus-within{opacity:0.25}.\\32xl\\:focus-within\\:opacity-30:focus-within{opacity:0.3}.\\32xl\\:focus-within\\:opacity-40:focus-within{opacity:0.4}.\\32xl\\:focus-within\\:opacity-50:focus-within{opacity:0.5}.\\32xl\\:focus-within\\:opacity-60:focus-within{opacity:0.6}.\\32xl\\:focus-within\\:opacity-70:focus-within{opacity:0.7}.\\32xl\\:focus-within\\:opacity-75:focus-within{opacity:0.75}.\\32xl\\:focus-within\\:opacity-80:focus-within{opacity:0.8}.\\32xl\\:focus-within\\:opacity-90:focus-within{opacity:0.9}.\\32xl\\:focus-within\\:opacity-95:focus-within{opacity:0.95}.\\32xl\\:focus-within\\:opacity-100:focus-within{opacity:1}.\\32xl\\:hover\\:opacity-0:hover{opacity:0}.\\32xl\\:hover\\:opacity-5:hover{opacity:0.05}.\\32xl\\:hover\\:opacity-10:hover{opacity:0.1}.\\32xl\\:hover\\:opacity-20:hover{opacity:0.2}.\\32xl\\:hover\\:opacity-25:hover{opacity:0.25}.\\32xl\\:hover\\:opacity-30:hover{opacity:0.3}.\\32xl\\:hover\\:opacity-40:hover{opacity:0.4}.\\32xl\\:hover\\:opacity-50:hover{opacity:0.5}.\\32xl\\:hover\\:opacity-60:hover{opacity:0.6}.\\32xl\\:hover\\:opacity-70:hover{opacity:0.7}.\\32xl\\:hover\\:opacity-75:hover{opacity:0.75}.\\32xl\\:hover\\:opacity-80:hover{opacity:0.8}.\\32xl\\:hover\\:opacity-90:hover{opacity:0.9}.\\32xl\\:hover\\:opacity-95:hover{opacity:0.95}.\\32xl\\:hover\\:opacity-100:hover{opacity:1}.\\32xl\\:focus\\:opacity-0:focus{opacity:0}.\\32xl\\:focus\\:opacity-5:focus{opacity:0.05}.\\32xl\\:focus\\:opacity-10:focus{opacity:0.1}.\\32xl\\:focus\\:opacity-20:focus{opacity:0.2}.\\32xl\\:focus\\:opacity-25:focus{opacity:0.25}.\\32xl\\:focus\\:opacity-30:focus{opacity:0.3}.\\32xl\\:focus\\:opacity-40:focus{opacity:0.4}.\\32xl\\:focus\\:opacity-50:focus{opacity:0.5}.\\32xl\\:focus\\:opacity-60:focus{opacity:0.6}.\\32xl\\:focus\\:opacity-70:focus{opacity:0.7}.\\32xl\\:focus\\:opacity-75:focus{opacity:0.75}.\\32xl\\:focus\\:opacity-80:focus{opacity:0.8}.\\32xl\\:focus\\:opacity-90:focus{opacity:0.9}.\\32xl\\:focus\\:opacity-95:focus{opacity:0.95}.\\32xl\\:focus\\:opacity-100:focus{opacity:1}.\\32xl\\:bg-blend-normal{background-blend-mode:normal}.\\32xl\\:bg-blend-multiply{background-blend-mode:multiply}.\\32xl\\:bg-blend-screen{background-blend-mode:screen}.\\32xl\\:bg-blend-overlay{background-blend-mode:overlay}.\\32xl\\:bg-blend-darken{background-blend-mode:darken}.\\32xl\\:bg-blend-lighten{background-blend-mode:lighten}.\\32xl\\:bg-blend-color-dodge{background-blend-mode:color-dodge}.\\32xl\\:bg-blend-color-burn{background-blend-mode:color-burn}.\\32xl\\:bg-blend-hard-light{background-blend-mode:hard-light}.\\32xl\\:bg-blend-soft-light{background-blend-mode:soft-light}.\\32xl\\:bg-blend-difference{background-blend-mode:difference}.\\32xl\\:bg-blend-exclusion{background-blend-mode:exclusion}.\\32xl\\:bg-blend-hue{background-blend-mode:hue}.\\32xl\\:bg-blend-saturation{background-blend-mode:saturation}.\\32xl\\:bg-blend-color{background-blend-mode:color}.\\32xl\\:bg-blend-luminosity{background-blend-mode:luminosity}.\\32xl\\:mix-blend-normal{mix-blend-mode:normal}.\\32xl\\:mix-blend-multiply{mix-blend-mode:multiply}.\\32xl\\:mix-blend-screen{mix-blend-mode:screen}.\\32xl\\:mix-blend-overlay{mix-blend-mode:overlay}.\\32xl\\:mix-blend-darken{mix-blend-mode:darken}.\\32xl\\:mix-blend-lighten{mix-blend-mode:lighten}.\\32xl\\:mix-blend-color-dodge{mix-blend-mode:color-dodge}.\\32xl\\:mix-blend-color-burn{mix-blend-mode:color-burn}.\\32xl\\:mix-blend-hard-light{mix-blend-mode:hard-light}.\\32xl\\:mix-blend-soft-light{mix-blend-mode:soft-light}.\\32xl\\:mix-blend-difference{mix-blend-mode:difference}.\\32xl\\:mix-blend-exclusion{mix-blend-mode:exclusion}.\\32xl\\:mix-blend-hue{mix-blend-mode:hue}.\\32xl\\:mix-blend-saturation{mix-blend-mode:saturation}.\\32xl\\:mix-blend-color{mix-blend-mode:color}.\\32xl\\:mix-blend-luminosity{mix-blend-mode:luminosity}.\\32xl\\:shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:shadow{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:shadow-md{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .\\32xl\\:group-hover\\:shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .\\32xl\\:group-hover\\:shadow{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .\\32xl\\:group-hover\\:shadow-md{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .\\32xl\\:group-hover\\:shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .\\32xl\\:group-hover\\:shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .\\32xl\\:group-hover\\:shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .\\32xl\\:group-hover\\:shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .\\32xl\\:group-hover\\:shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:focus-within\\:shadow-sm:focus-within{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:focus-within\\:shadow:focus-within{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:focus-within\\:shadow-md:focus-within{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:focus-within\\:shadow-lg:focus-within{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:focus-within\\:shadow-xl:focus-within{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:focus-within\\:shadow-2xl:focus-within{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:focus-within\\:shadow-inner:focus-within{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:focus-within\\:shadow-none:focus-within{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:hover\\:shadow-sm:hover{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:hover\\:shadow:hover{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:hover\\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:hover\\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:hover\\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:hover\\:shadow-2xl:hover{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:hover\\:shadow-inner:hover{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:hover\\:shadow-none:hover{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:focus\\:shadow-sm:focus{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:focus\\:shadow:focus{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:focus\\:shadow-md:focus{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:focus\\:shadow-lg:focus{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:focus\\:shadow-xl:focus{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:focus\\:shadow-2xl:focus{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:focus\\:shadow-inner:focus{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:focus\\:shadow-none:focus{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:outline-none{outline:2px solid transparent;outline-offset:2px}.\\32xl\\:outline-white{outline:2px dotted white;outline-offset:2px}.\\32xl\\:outline-black{outline:2px dotted black;outline-offset:2px}.\\32xl\\:focus-within\\:outline-none:focus-within{outline:2px solid transparent;outline-offset:2px}.\\32xl\\:focus-within\\:outline-white:focus-within{outline:2px dotted white;outline-offset:2px}.\\32xl\\:focus-within\\:outline-black:focus-within{outline:2px dotted black;outline-offset:2px}.\\32xl\\:focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.\\32xl\\:focus\\:outline-white:focus{outline:2px dotted white;outline-offset:2px}.\\32xl\\:focus\\:outline-black:focus{outline:2px dotted black;outline-offset:2px}.\\32xl\\:ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.\\32xl\\:ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.\\32xl\\:ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.\\32xl\\:ring-4{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.\\32xl\\:ring-8{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.\\32xl\\:ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.\\32xl\\:focus-within\\:ring-0:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.\\32xl\\:focus-within\\:ring-1:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.\\32xl\\:focus-within\\:ring-2:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.\\32xl\\:focus-within\\:ring-4:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.\\32xl\\:focus-within\\:ring-8:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.\\32xl\\:focus-within\\:ring:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.\\32xl\\:focus\\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.\\32xl\\:focus\\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.\\32xl\\:focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.\\32xl\\:focus\\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.\\32xl\\:focus\\:ring-8:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.\\32xl\\:focus\\:ring:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.\\32xl\\:ring-inset{--tw-ring-inset:inset}.\\32xl\\:focus-within\\:ring-inset:focus-within{--tw-ring-inset:inset}.\\32xl\\:focus\\:ring-inset:focus{--tw-ring-inset:inset}.\\32xl\\:ring-transparent{--tw-ring-color:transparent}.\\32xl\\:ring-current{--tw-ring-color:currentColor}.\\32xl\\:ring-white{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.\\32xl\\:ring-lightgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.\\32xl\\:ring-midgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.\\32xl\\:ring-darkgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.\\32xl\\:ring-grey{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.\\32xl\\:ring-black{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.\\32xl\\:ring-highlight{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.\\32xl\\:ring-highlight_hover{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.\\32xl\\:ring-button_outline{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.\\32xl\\:ring-error{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.\\32xl\\:ring-text-light{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.\\32xl\\:ring-text-dimmed{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.\\32xl\\:ring-text-dark{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.\\32xl\\:ring-body-light{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.\\32xl\\:ring-body-dark{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.\\32xl\\:ring-button{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.\\32xl\\:ring-button_hover{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.\\32xl\\:focus-within\\:ring-transparent:focus-within{--tw-ring-color:transparent}.\\32xl\\:focus-within\\:ring-current:focus-within{--tw-ring-color:currentColor}.\\32xl\\:focus-within\\:ring-white:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.\\32xl\\:focus-within\\:ring-lightgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.\\32xl\\:focus-within\\:ring-midgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.\\32xl\\:focus-within\\:ring-darkgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.\\32xl\\:focus-within\\:ring-grey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.\\32xl\\:focus-within\\:ring-black:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.\\32xl\\:focus-within\\:ring-highlight:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.\\32xl\\:focus-within\\:ring-highlight_hover:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.\\32xl\\:focus-within\\:ring-button_outline:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.\\32xl\\:focus-within\\:ring-error:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.\\32xl\\:focus-within\\:ring-text-light:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.\\32xl\\:focus-within\\:ring-text-dimmed:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.\\32xl\\:focus-within\\:ring-text-dark:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.\\32xl\\:focus-within\\:ring-body-light:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.\\32xl\\:focus-within\\:ring-body-dark:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.\\32xl\\:focus-within\\:ring-button:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.\\32xl\\:focus-within\\:ring-button_hover:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.\\32xl\\:focus\\:ring-transparent:focus{--tw-ring-color:transparent}.\\32xl\\:focus\\:ring-current:focus{--tw-ring-color:currentColor}.\\32xl\\:focus\\:ring-white:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.\\32xl\\:focus\\:ring-lightgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.\\32xl\\:focus\\:ring-midgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.\\32xl\\:focus\\:ring-darkgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.\\32xl\\:focus\\:ring-grey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.\\32xl\\:focus\\:ring-black:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.\\32xl\\:focus\\:ring-highlight:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.\\32xl\\:focus\\:ring-highlight_hover:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.\\32xl\\:focus\\:ring-button_outline:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.\\32xl\\:focus\\:ring-error:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.\\32xl\\:focus\\:ring-text-light:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.\\32xl\\:focus\\:ring-text-dimmed:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.\\32xl\\:focus\\:ring-text-dark:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.\\32xl\\:focus\\:ring-body-light:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.\\32xl\\:focus\\:ring-body-dark:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.\\32xl\\:focus\\:ring-button:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.\\32xl\\:focus\\:ring-button_hover:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}@media(prefers-color-scheme: dark){.\\32xl\\:dark\\:ring-transparent{--tw-ring-color:transparent}.\\32xl\\:dark\\:ring-current{--tw-ring-color:currentColor}.\\32xl\\:dark\\:ring-white{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.\\32xl\\:dark\\:ring-lightgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.\\32xl\\:dark\\:ring-midgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.\\32xl\\:dark\\:ring-darkgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.\\32xl\\:dark\\:ring-grey{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.\\32xl\\:dark\\:ring-black{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.\\32xl\\:dark\\:ring-highlight{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.\\32xl\\:dark\\:ring-highlight_hover{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.\\32xl\\:dark\\:ring-button_outline{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.\\32xl\\:dark\\:ring-error{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.\\32xl\\:dark\\:ring-text-light{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.\\32xl\\:dark\\:ring-text-dimmed{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.\\32xl\\:dark\\:ring-text-dark{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.\\32xl\\:dark\\:ring-body-light{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.\\32xl\\:dark\\:ring-body-dark{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.\\32xl\\:dark\\:ring-button{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.\\32xl\\:dark\\:ring-button_hover{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus-within\\:ring-transparent:focus-within{--tw-ring-color:transparent}.\\32xl\\:dark\\:focus-within\\:ring-current:focus-within{--tw-ring-color:currentColor}.\\32xl\\:dark\\:focus-within\\:ring-white:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus-within\\:ring-lightgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus-within\\:ring-midgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus-within\\:ring-darkgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus-within\\:ring-grey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus-within\\:ring-black:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus-within\\:ring-highlight:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus-within\\:ring-highlight_hover:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus-within\\:ring-button_outline:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus-within\\:ring-error:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus-within\\:ring-text-light:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus-within\\:ring-text-dimmed:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus-within\\:ring-text-dark:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus-within\\:ring-body-light:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus-within\\:ring-body-dark:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus-within\\:ring-button:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus-within\\:ring-button_hover:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus\\:ring-transparent:focus{--tw-ring-color:transparent}.\\32xl\\:dark\\:focus\\:ring-current:focus{--tw-ring-color:currentColor}.\\32xl\\:dark\\:focus\\:ring-white:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus\\:ring-lightgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus\\:ring-midgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus\\:ring-darkgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus\\:ring-grey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus\\:ring-black:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus\\:ring-highlight:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus\\:ring-highlight_hover:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus\\:ring-button_outline:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus\\:ring-error:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus\\:ring-text-light:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus\\:ring-text-dimmed:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus\\:ring-text-dark:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus\\:ring-body-light:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus\\:ring-body-dark:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus\\:ring-button:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus\\:ring-button_hover:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}}.\\32xl\\:ring-opacity-0{--tw-ring-opacity:0}.\\32xl\\:ring-opacity-5{--tw-ring-opacity:0.05}.\\32xl\\:ring-opacity-10{--tw-ring-opacity:0.1}.\\32xl\\:ring-opacity-20{--tw-ring-opacity:0.2}.\\32xl\\:ring-opacity-25{--tw-ring-opacity:0.25}.\\32xl\\:ring-opacity-30{--tw-ring-opacity:0.3}.\\32xl\\:ring-opacity-40{--tw-ring-opacity:0.4}.\\32xl\\:ring-opacity-50{--tw-ring-opacity:0.5}.\\32xl\\:ring-opacity-60{--tw-ring-opacity:0.6}.\\32xl\\:ring-opacity-70{--tw-ring-opacity:0.7}.\\32xl\\:ring-opacity-75{--tw-ring-opacity:0.75}.\\32xl\\:ring-opacity-80{--tw-ring-opacity:0.8}.\\32xl\\:ring-opacity-90{--tw-ring-opacity:0.9}.\\32xl\\:ring-opacity-95{--tw-ring-opacity:0.95}.\\32xl\\:ring-opacity-100{--tw-ring-opacity:1}.\\32xl\\:focus-within\\:ring-opacity-0:focus-within{--tw-ring-opacity:0}.\\32xl\\:focus-within\\:ring-opacity-5:focus-within{--tw-ring-opacity:0.05}.\\32xl\\:focus-within\\:ring-opacity-10:focus-within{--tw-ring-opacity:0.1}.\\32xl\\:focus-within\\:ring-opacity-20:focus-within{--tw-ring-opacity:0.2}.\\32xl\\:focus-within\\:ring-opacity-25:focus-within{--tw-ring-opacity:0.25}.\\32xl\\:focus-within\\:ring-opacity-30:focus-within{--tw-ring-opacity:0.3}.\\32xl\\:focus-within\\:ring-opacity-40:focus-within{--tw-ring-opacity:0.4}.\\32xl\\:focus-within\\:ring-opacity-50:focus-within{--tw-ring-opacity:0.5}.\\32xl\\:focus-within\\:ring-opacity-60:focus-within{--tw-ring-opacity:0.6}.\\32xl\\:focus-within\\:ring-opacity-70:focus-within{--tw-ring-opacity:0.7}.\\32xl\\:focus-within\\:ring-opacity-75:focus-within{--tw-ring-opacity:0.75}.\\32xl\\:focus-within\\:ring-opacity-80:focus-within{--tw-ring-opacity:0.8}.\\32xl\\:focus-within\\:ring-opacity-90:focus-within{--tw-ring-opacity:0.9}.\\32xl\\:focus-within\\:ring-opacity-95:focus-within{--tw-ring-opacity:0.95}.\\32xl\\:focus-within\\:ring-opacity-100:focus-within{--tw-ring-opacity:1}.\\32xl\\:focus\\:ring-opacity-0:focus{--tw-ring-opacity:0}.\\32xl\\:focus\\:ring-opacity-5:focus{--tw-ring-opacity:0.05}.\\32xl\\:focus\\:ring-opacity-10:focus{--tw-ring-opacity:0.1}.\\32xl\\:focus\\:ring-opacity-20:focus{--tw-ring-opacity:0.2}.\\32xl\\:focus\\:ring-opacity-25:focus{--tw-ring-opacity:0.25}.\\32xl\\:focus\\:ring-opacity-30:focus{--tw-ring-opacity:0.3}.\\32xl\\:focus\\:ring-opacity-40:focus{--tw-ring-opacity:0.4}.\\32xl\\:focus\\:ring-opacity-50:focus{--tw-ring-opacity:0.5}.\\32xl\\:focus\\:ring-opacity-60:focus{--tw-ring-opacity:0.6}.\\32xl\\:focus\\:ring-opacity-70:focus{--tw-ring-opacity:0.7}.\\32xl\\:focus\\:ring-opacity-75:focus{--tw-ring-opacity:0.75}.\\32xl\\:focus\\:ring-opacity-80:focus{--tw-ring-opacity:0.8}.\\32xl\\:focus\\:ring-opacity-90:focus{--tw-ring-opacity:0.9}.\\32xl\\:focus\\:ring-opacity-95:focus{--tw-ring-opacity:0.95}.\\32xl\\:focus\\:ring-opacity-100:focus{--tw-ring-opacity:1}@media(prefers-color-scheme: dark){.\\32xl\\:dark\\:ring-opacity-0{--tw-ring-opacity:0}.\\32xl\\:dark\\:ring-opacity-5{--tw-ring-opacity:0.05}.\\32xl\\:dark\\:ring-opacity-10{--tw-ring-opacity:0.1}.\\32xl\\:dark\\:ring-opacity-20{--tw-ring-opacity:0.2}.\\32xl\\:dark\\:ring-opacity-25{--tw-ring-opacity:0.25}.\\32xl\\:dark\\:ring-opacity-30{--tw-ring-opacity:0.3}.\\32xl\\:dark\\:ring-opacity-40{--tw-ring-opacity:0.4}.\\32xl\\:dark\\:ring-opacity-50{--tw-ring-opacity:0.5}.\\32xl\\:dark\\:ring-opacity-60{--tw-ring-opacity:0.6}.\\32xl\\:dark\\:ring-opacity-70{--tw-ring-opacity:0.7}.\\32xl\\:dark\\:ring-opacity-75{--tw-ring-opacity:0.75}.\\32xl\\:dark\\:ring-opacity-80{--tw-ring-opacity:0.8}.\\32xl\\:dark\\:ring-opacity-90{--tw-ring-opacity:0.9}.\\32xl\\:dark\\:ring-opacity-95{--tw-ring-opacity:0.95}.\\32xl\\:dark\\:ring-opacity-100{--tw-ring-opacity:1}.\\32xl\\:dark\\:focus-within\\:ring-opacity-0:focus-within{--tw-ring-opacity:0}.\\32xl\\:dark\\:focus-within\\:ring-opacity-5:focus-within{--tw-ring-opacity:0.05}.\\32xl\\:dark\\:focus-within\\:ring-opacity-10:focus-within{--tw-ring-opacity:0.1}.\\32xl\\:dark\\:focus-within\\:ring-opacity-20:focus-within{--tw-ring-opacity:0.2}.\\32xl\\:dark\\:focus-within\\:ring-opacity-25:focus-within{--tw-ring-opacity:0.25}.\\32xl\\:dark\\:focus-within\\:ring-opacity-30:focus-within{--tw-ring-opacity:0.3}.\\32xl\\:dark\\:focus-within\\:ring-opacity-40:focus-within{--tw-ring-opacity:0.4}.\\32xl\\:dark\\:focus-within\\:ring-opacity-50:focus-within{--tw-ring-opacity:0.5}.\\32xl\\:dark\\:focus-within\\:ring-opacity-60:focus-within{--tw-ring-opacity:0.6}.\\32xl\\:dark\\:focus-within\\:ring-opacity-70:focus-within{--tw-ring-opacity:0.7}.\\32xl\\:dark\\:focus-within\\:ring-opacity-75:focus-within{--tw-ring-opacity:0.75}.\\32xl\\:dark\\:focus-within\\:ring-opacity-80:focus-within{--tw-ring-opacity:0.8}.\\32xl\\:dark\\:focus-within\\:ring-opacity-90:focus-within{--tw-ring-opacity:0.9}.\\32xl\\:dark\\:focus-within\\:ring-opacity-95:focus-within{--tw-ring-opacity:0.95}.\\32xl\\:dark\\:focus-within\\:ring-opacity-100:focus-within{--tw-ring-opacity:1}.\\32xl\\:dark\\:focus\\:ring-opacity-0:focus{--tw-ring-opacity:0}.\\32xl\\:dark\\:focus\\:ring-opacity-5:focus{--tw-ring-opacity:0.05}.\\32xl\\:dark\\:focus\\:ring-opacity-10:focus{--tw-ring-opacity:0.1}.\\32xl\\:dark\\:focus\\:ring-opacity-20:focus{--tw-ring-opacity:0.2}.\\32xl\\:dark\\:focus\\:ring-opacity-25:focus{--tw-ring-opacity:0.25}.\\32xl\\:dark\\:focus\\:ring-opacity-30:focus{--tw-ring-opacity:0.3}.\\32xl\\:dark\\:focus\\:ring-opacity-40:focus{--tw-ring-opacity:0.4}.\\32xl\\:dark\\:focus\\:ring-opacity-50:focus{--tw-ring-opacity:0.5}.\\32xl\\:dark\\:focus\\:ring-opacity-60:focus{--tw-ring-opacity:0.6}.\\32xl\\:dark\\:focus\\:ring-opacity-70:focus{--tw-ring-opacity:0.7}.\\32xl\\:dark\\:focus\\:ring-opacity-75:focus{--tw-ring-opacity:0.75}.\\32xl\\:dark\\:focus\\:ring-opacity-80:focus{--tw-ring-opacity:0.8}.\\32xl\\:dark\\:focus\\:ring-opacity-90:focus{--tw-ring-opacity:0.9}.\\32xl\\:dark\\:focus\\:ring-opacity-95:focus{--tw-ring-opacity:0.95}.\\32xl\\:dark\\:focus\\:ring-opacity-100:focus{--tw-ring-opacity:1}}.\\32xl\\:ring-offset-0{--tw-ring-offset-width:0px}.\\32xl\\:ring-offset-1{--tw-ring-offset-width:1px}.\\32xl\\:ring-offset-2{--tw-ring-offset-width:2px}.\\32xl\\:ring-offset-4{--tw-ring-offset-width:4px}.\\32xl\\:ring-offset-8{--tw-ring-offset-width:8px}.\\32xl\\:focus-within\\:ring-offset-0:focus-within{--tw-ring-offset-width:0px}.\\32xl\\:focus-within\\:ring-offset-1:focus-within{--tw-ring-offset-width:1px}.\\32xl\\:focus-within\\:ring-offset-2:focus-within{--tw-ring-offset-width:2px}.\\32xl\\:focus-within\\:ring-offset-4:focus-within{--tw-ring-offset-width:4px}.\\32xl\\:focus-within\\:ring-offset-8:focus-within{--tw-ring-offset-width:8px}.\\32xl\\:focus\\:ring-offset-0:focus{--tw-ring-offset-width:0px}.\\32xl\\:focus\\:ring-offset-1:focus{--tw-ring-offset-width:1px}.\\32xl\\:focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}.\\32xl\\:focus\\:ring-offset-4:focus{--tw-ring-offset-width:4px}.\\32xl\\:focus\\:ring-offset-8:focus{--tw-ring-offset-width:8px}.\\32xl\\:ring-offset-transparent{--tw-ring-offset-color:transparent}.\\32xl\\:ring-offset-current{--tw-ring-offset-color:currentColor}.\\32xl\\:ring-offset-white{--tw-ring-offset-color:#fff}.\\32xl\\:ring-offset-lightgrey{--tw-ring-offset-color:#F7F7F7}.\\32xl\\:ring-offset-midgrey{--tw-ring-offset-color:#cfcfcf}.\\32xl\\:ring-offset-darkgrey{--tw-ring-offset-color:#7f7f7f}.\\32xl\\:ring-offset-grey{--tw-ring-offset-color:#1e1e1e}.\\32xl\\:ring-offset-black{--tw-ring-offset-color:#0f0f0f}.\\32xl\\:ring-offset-highlight{--tw-ring-offset-color:#0071e3}.\\32xl\\:ring-offset-highlight_hover{--tw-ring-offset-color:#0077ed}.\\32xl\\:ring-offset-button_outline{--tw-ring-offset-color:#cfcfcf}.\\32xl\\:ring-offset-error{--tw-ring-offset-color:#ff453a}.\\32xl\\:ring-offset-text-light{--tw-ring-offset-color:#0f0f0f}.\\32xl\\:ring-offset-text-dimmed{--tw-ring-offset-color:#cfcfcf}.\\32xl\\:ring-offset-text-dark{--tw-ring-offset-color:#fff}.\\32xl\\:ring-offset-body-light{--tw-ring-offset-color:#fff}.\\32xl\\:ring-offset-body-dark{--tw-ring-offset-color:#1e1e1e}.\\32xl\\:ring-offset-button{--tw-ring-offset-color:#0071e3}.\\32xl\\:ring-offset-button_hover{--tw-ring-offset-color:#0077ed}.\\32xl\\:focus-within\\:ring-offset-transparent:focus-within{--tw-ring-offset-color:transparent}.\\32xl\\:focus-within\\:ring-offset-current:focus-within{--tw-ring-offset-color:currentColor}.\\32xl\\:focus-within\\:ring-offset-white:focus-within{--tw-ring-offset-color:#fff}.\\32xl\\:focus-within\\:ring-offset-lightgrey:focus-within{--tw-ring-offset-color:#F7F7F7}.\\32xl\\:focus-within\\:ring-offset-midgrey:focus-within{--tw-ring-offset-color:#cfcfcf}.\\32xl\\:focus-within\\:ring-offset-darkgrey:focus-within{--tw-ring-offset-color:#7f7f7f}.\\32xl\\:focus-within\\:ring-offset-grey:focus-within{--tw-ring-offset-color:#1e1e1e}.\\32xl\\:focus-within\\:ring-offset-black:focus-within{--tw-ring-offset-color:#0f0f0f}.\\32xl\\:focus-within\\:ring-offset-highlight:focus-within{--tw-ring-offset-color:#0071e3}.\\32xl\\:focus-within\\:ring-offset-highlight_hover:focus-within{--tw-ring-offset-color:#0077ed}.\\32xl\\:focus-within\\:ring-offset-button_outline:focus-within{--tw-ring-offset-color:#cfcfcf}.\\32xl\\:focus-within\\:ring-offset-error:focus-within{--tw-ring-offset-color:#ff453a}.\\32xl\\:focus-within\\:ring-offset-text-light:focus-within{--tw-ring-offset-color:#0f0f0f}.\\32xl\\:focus-within\\:ring-offset-text-dimmed:focus-within{--tw-ring-offset-color:#cfcfcf}.\\32xl\\:focus-within\\:ring-offset-text-dark:focus-within{--tw-ring-offset-color:#fff}.\\32xl\\:focus-within\\:ring-offset-body-light:focus-within{--tw-ring-offset-color:#fff}.\\32xl\\:focus-within\\:ring-offset-body-dark:focus-within{--tw-ring-offset-color:#1e1e1e}.\\32xl\\:focus-within\\:ring-offset-button:focus-within{--tw-ring-offset-color:#0071e3}.\\32xl\\:focus-within\\:ring-offset-button_hover:focus-within{--tw-ring-offset-color:#0077ed}.\\32xl\\:focus\\:ring-offset-transparent:focus{--tw-ring-offset-color:transparent}.\\32xl\\:focus\\:ring-offset-current:focus{--tw-ring-offset-color:currentColor}.\\32xl\\:focus\\:ring-offset-white:focus{--tw-ring-offset-color:#fff}.\\32xl\\:focus\\:ring-offset-lightgrey:focus{--tw-ring-offset-color:#F7F7F7}.\\32xl\\:focus\\:ring-offset-midgrey:focus{--tw-ring-offset-color:#cfcfcf}.\\32xl\\:focus\\:ring-offset-darkgrey:focus{--tw-ring-offset-color:#7f7f7f}.\\32xl\\:focus\\:ring-offset-grey:focus{--tw-ring-offset-color:#1e1e1e}.\\32xl\\:focus\\:ring-offset-black:focus{--tw-ring-offset-color:#0f0f0f}.\\32xl\\:focus\\:ring-offset-highlight:focus{--tw-ring-offset-color:#0071e3}.\\32xl\\:focus\\:ring-offset-highlight_hover:focus{--tw-ring-offset-color:#0077ed}.\\32xl\\:focus\\:ring-offset-button_outline:focus{--tw-ring-offset-color:#cfcfcf}.\\32xl\\:focus\\:ring-offset-error:focus{--tw-ring-offset-color:#ff453a}.\\32xl\\:focus\\:ring-offset-text-light:focus{--tw-ring-offset-color:#0f0f0f}.\\32xl\\:focus\\:ring-offset-text-dimmed:focus{--tw-ring-offset-color:#cfcfcf}.\\32xl\\:focus\\:ring-offset-text-dark:focus{--tw-ring-offset-color:#fff}.\\32xl\\:focus\\:ring-offset-body-light:focus{--tw-ring-offset-color:#fff}.\\32xl\\:focus\\:ring-offset-body-dark:focus{--tw-ring-offset-color:#1e1e1e}.\\32xl\\:focus\\:ring-offset-button:focus{--tw-ring-offset-color:#0071e3}.\\32xl\\:focus\\:ring-offset-button_hover:focus{--tw-ring-offset-color:#0077ed}@media(prefers-color-scheme: dark){.\\32xl\\:dark\\:ring-offset-transparent{--tw-ring-offset-color:transparent}.\\32xl\\:dark\\:ring-offset-current{--tw-ring-offset-color:currentColor}.\\32xl\\:dark\\:ring-offset-white{--tw-ring-offset-color:#fff}.\\32xl\\:dark\\:ring-offset-lightgrey{--tw-ring-offset-color:#F7F7F7}.\\32xl\\:dark\\:ring-offset-midgrey{--tw-ring-offset-color:#cfcfcf}.\\32xl\\:dark\\:ring-offset-darkgrey{--tw-ring-offset-color:#7f7f7f}.\\32xl\\:dark\\:ring-offset-grey{--tw-ring-offset-color:#1e1e1e}.\\32xl\\:dark\\:ring-offset-black{--tw-ring-offset-color:#0f0f0f}.\\32xl\\:dark\\:ring-offset-highlight{--tw-ring-offset-color:#0071e3}.\\32xl\\:dark\\:ring-offset-highlight_hover{--tw-ring-offset-color:#0077ed}.\\32xl\\:dark\\:ring-offset-button_outline{--tw-ring-offset-color:#cfcfcf}.\\32xl\\:dark\\:ring-offset-error{--tw-ring-offset-color:#ff453a}.\\32xl\\:dark\\:ring-offset-text-light{--tw-ring-offset-color:#0f0f0f}.\\32xl\\:dark\\:ring-offset-text-dimmed{--tw-ring-offset-color:#cfcfcf}.\\32xl\\:dark\\:ring-offset-text-dark{--tw-ring-offset-color:#fff}.\\32xl\\:dark\\:ring-offset-body-light{--tw-ring-offset-color:#fff}.\\32xl\\:dark\\:ring-offset-body-dark{--tw-ring-offset-color:#1e1e1e}.\\32xl\\:dark\\:ring-offset-button{--tw-ring-offset-color:#0071e3}.\\32xl\\:dark\\:ring-offset-button_hover{--tw-ring-offset-color:#0077ed}.\\32xl\\:dark\\:focus-within\\:ring-offset-transparent:focus-within{--tw-ring-offset-color:transparent}.\\32xl\\:dark\\:focus-within\\:ring-offset-current:focus-within{--tw-ring-offset-color:currentColor}.\\32xl\\:dark\\:focus-within\\:ring-offset-white:focus-within{--tw-ring-offset-color:#fff}.\\32xl\\:dark\\:focus-within\\:ring-offset-lightgrey:focus-within{--tw-ring-offset-color:#F7F7F7}.\\32xl\\:dark\\:focus-within\\:ring-offset-midgrey:focus-within{--tw-ring-offset-color:#cfcfcf}.\\32xl\\:dark\\:focus-within\\:ring-offset-darkgrey:focus-within{--tw-ring-offset-color:#7f7f7f}.\\32xl\\:dark\\:focus-within\\:ring-offset-grey:focus-within{--tw-ring-offset-color:#1e1e1e}.\\32xl\\:dark\\:focus-within\\:ring-offset-black:focus-within{--tw-ring-offset-color:#0f0f0f}.\\32xl\\:dark\\:focus-within\\:ring-offset-highlight:focus-within{--tw-ring-offset-color:#0071e3}.\\32xl\\:dark\\:focus-within\\:ring-offset-highlight_hover:focus-within{--tw-ring-offset-color:#0077ed}.\\32xl\\:dark\\:focus-within\\:ring-offset-button_outline:focus-within{--tw-ring-offset-color:#cfcfcf}.\\32xl\\:dark\\:focus-within\\:ring-offset-error:focus-within{--tw-ring-offset-color:#ff453a}.\\32xl\\:dark\\:focus-within\\:ring-offset-text-light:focus-within{--tw-ring-offset-color:#0f0f0f}.\\32xl\\:dark\\:focus-within\\:ring-offset-text-dimmed:focus-within{--tw-ring-offset-color:#cfcfcf}.\\32xl\\:dark\\:focus-within\\:ring-offset-text-dark:focus-within{--tw-ring-offset-color:#fff}.\\32xl\\:dark\\:focus-within\\:ring-offset-body-light:focus-within{--tw-ring-offset-color:#fff}.\\32xl\\:dark\\:focus-within\\:ring-offset-body-dark:focus-within{--tw-ring-offset-color:#1e1e1e}.\\32xl\\:dark\\:focus-within\\:ring-offset-button:focus-within{--tw-ring-offset-color:#0071e3}.\\32xl\\:dark\\:focus-within\\:ring-offset-button_hover:focus-within{--tw-ring-offset-color:#0077ed}.\\32xl\\:dark\\:focus\\:ring-offset-transparent:focus{--tw-ring-offset-color:transparent}.\\32xl\\:dark\\:focus\\:ring-offset-current:focus{--tw-ring-offset-color:currentColor}.\\32xl\\:dark\\:focus\\:ring-offset-white:focus{--tw-ring-offset-color:#fff}.\\32xl\\:dark\\:focus\\:ring-offset-lightgrey:focus{--tw-ring-offset-color:#F7F7F7}.\\32xl\\:dark\\:focus\\:ring-offset-midgrey:focus{--tw-ring-offset-color:#cfcfcf}.\\32xl\\:dark\\:focus\\:ring-offset-darkgrey:focus{--tw-ring-offset-color:#7f7f7f}.\\32xl\\:dark\\:focus\\:ring-offset-grey:focus{--tw-ring-offset-color:#1e1e1e}.\\32xl\\:dark\\:focus\\:ring-offset-black:focus{--tw-ring-offset-color:#0f0f0f}.\\32xl\\:dark\\:focus\\:ring-offset-highlight:focus{--tw-ring-offset-color:#0071e3}.\\32xl\\:dark\\:focus\\:ring-offset-highlight_hover:focus{--tw-ring-offset-color:#0077ed}.\\32xl\\:dark\\:focus\\:ring-offset-button_outline:focus{--tw-ring-offset-color:#cfcfcf}.\\32xl\\:dark\\:focus\\:ring-offset-error:focus{--tw-ring-offset-color:#ff453a}.\\32xl\\:dark\\:focus\\:ring-offset-text-light:focus{--tw-ring-offset-color:#0f0f0f}.\\32xl\\:dark\\:focus\\:ring-offset-text-dimmed:focus{--tw-ring-offset-color:#cfcfcf}.\\32xl\\:dark\\:focus\\:ring-offset-text-dark:focus{--tw-ring-offset-color:#fff}.\\32xl\\:dark\\:focus\\:ring-offset-body-light:focus{--tw-ring-offset-color:#fff}.\\32xl\\:dark\\:focus\\:ring-offset-body-dark:focus{--tw-ring-offset-color:#1e1e1e}.\\32xl\\:dark\\:focus\\:ring-offset-button:focus{--tw-ring-offset-color:#0071e3}.\\32xl\\:dark\\:focus\\:ring-offset-button_hover:focus{--tw-ring-offset-color:#0077ed}}.\\32xl\\:filter{--tw-blur:var(--tw-empty,/*!*/ /*!*/);--tw-brightness:var(--tw-empty,/*!*/ /*!*/);--tw-contrast:var(--tw-empty,/*!*/ /*!*/);--tw-grayscale:var(--tw-empty,/*!*/ /*!*/);--tw-hue-rotate:var(--tw-empty,/*!*/ /*!*/);--tw-invert:var(--tw-empty,/*!*/ /*!*/);--tw-saturate:var(--tw-empty,/*!*/ /*!*/);--tw-sepia:var(--tw-empty,/*!*/ /*!*/);--tw-drop-shadow:var(--tw-empty,/*!*/ /*!*/);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.\\32xl\\:filter-none{filter:none}.\\32xl\\:blur-0{--tw-blur:blur(0)}.\\32xl\\:blur-none{--tw-blur:blur(0)}.\\32xl\\:blur-sm{--tw-blur:blur(4px)}.\\32xl\\:blur{--tw-blur:blur(8px)}.\\32xl\\:blur-md{--tw-blur:blur(12px)}.\\32xl\\:blur-lg{--tw-blur:blur(16px)}.\\32xl\\:blur-xl{--tw-blur:blur(24px)}.\\32xl\\:blur-2xl{--tw-blur:blur(40px)}.\\32xl\\:blur-3xl{--tw-blur:blur(64px)}.\\32xl\\:brightness-0{--tw-brightness:brightness(0)}.\\32xl\\:brightness-50{--tw-brightness:brightness(.5)}.\\32xl\\:brightness-75{--tw-brightness:brightness(.75)}.\\32xl\\:brightness-90{--tw-brightness:brightness(.9)}.\\32xl\\:brightness-95{--tw-brightness:brightness(.95)}.\\32xl\\:brightness-100{--tw-brightness:brightness(1)}.\\32xl\\:brightness-105{--tw-brightness:brightness(1.05)}.\\32xl\\:brightness-110{--tw-brightness:brightness(1.1)}.\\32xl\\:brightness-125{--tw-brightness:brightness(1.25)}.\\32xl\\:brightness-150{--tw-brightness:brightness(1.5)}.\\32xl\\:brightness-200{--tw-brightness:brightness(2)}.\\32xl\\:contrast-0{--tw-contrast:contrast(0)}.\\32xl\\:contrast-50{--tw-contrast:contrast(.5)}.\\32xl\\:contrast-75{--tw-contrast:contrast(.75)}.\\32xl\\:contrast-100{--tw-contrast:contrast(1)}.\\32xl\\:contrast-125{--tw-contrast:contrast(1.25)}.\\32xl\\:contrast-150{--tw-contrast:contrast(1.5)}.\\32xl\\:contrast-200{--tw-contrast:contrast(2)}.\\32xl\\:drop-shadow-sm{--tw-drop-shadow:drop-shadow(0 1px 1px rgba(0,0,0,0.05))}.\\32xl\\:drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1)) drop-shadow(0 1px 1px rgba(0, 0, 0, 0.06))}.\\32xl\\:drop-shadow-md{--tw-drop-shadow:drop-shadow(0 4px 3px rgba(0, 0, 0, 0.07)) drop-shadow(0 2px 2px rgba(0, 0, 0, 0.06))}.\\32xl\\:drop-shadow-lg{--tw-drop-shadow:drop-shadow(0 10px 8px rgba(0, 0, 0, 0.04)) drop-shadow(0 4px 3px rgba(0, 0, 0, 0.1))}.\\32xl\\:drop-shadow-xl{--tw-drop-shadow:drop-shadow(0 20px 13px rgba(0, 0, 0, 0.03)) drop-shadow(0 8px 5px rgba(0, 0, 0, 0.08))}.\\32xl\\:drop-shadow-2xl{--tw-drop-shadow:drop-shadow(0 25px 25px rgba(0, 0, 0, 0.15))}.\\32xl\\:drop-shadow-none{--tw-drop-shadow:drop-shadow(0 0 #0000)}.\\32xl\\:grayscale-0{--tw-grayscale:grayscale(0)}.\\32xl\\:grayscale{--tw-grayscale:grayscale(100%)}.\\32xl\\:hue-rotate-0{--tw-hue-rotate:hue-rotate(0deg)}.\\32xl\\:hue-rotate-15{--tw-hue-rotate:hue-rotate(15deg)}.\\32xl\\:hue-rotate-30{--tw-hue-rotate:hue-rotate(30deg)}.\\32xl\\:hue-rotate-60{--tw-hue-rotate:hue-rotate(60deg)}.\\32xl\\:hue-rotate-90{--tw-hue-rotate:hue-rotate(90deg)}.\\32xl\\:hue-rotate-180{--tw-hue-rotate:hue-rotate(180deg)}.\\32xl\\:-hue-rotate-180{--tw-hue-rotate:hue-rotate(-180deg)}.\\32xl\\:-hue-rotate-90{--tw-hue-rotate:hue-rotate(-90deg)}.\\32xl\\:-hue-rotate-60{--tw-hue-rotate:hue-rotate(-60deg)}.\\32xl\\:-hue-rotate-30{--tw-hue-rotate:hue-rotate(-30deg)}.\\32xl\\:-hue-rotate-15{--tw-hue-rotate:hue-rotate(-15deg)}.\\32xl\\:invert-0{--tw-invert:invert(0)}.\\32xl\\:invert{--tw-invert:invert(100%)}.\\32xl\\:saturate-0{--tw-saturate:saturate(0)}.\\32xl\\:saturate-50{--tw-saturate:saturate(.5)}.\\32xl\\:saturate-100{--tw-saturate:saturate(1)}.\\32xl\\:saturate-150{--tw-saturate:saturate(1.5)}.\\32xl\\:saturate-200{--tw-saturate:saturate(2)}.\\32xl\\:sepia-0{--tw-sepia:sepia(0)}.\\32xl\\:sepia{--tw-sepia:sepia(100%)}.\\32xl\\:backdrop-filter{--tw-backdrop-blur:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-brightness:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-contrast:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-grayscale:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-hue-rotate:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-invert:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-opacity:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-saturate:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-sepia:var(--tw-empty,/*!*/ /*!*/);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.\\32xl\\:backdrop-filter-none{backdrop-filter:none}.\\32xl\\:backdrop-blur-0{--tw-backdrop-blur:blur(0)}.\\32xl\\:backdrop-blur-none{--tw-backdrop-blur:blur(0)}.\\32xl\\:backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.\\32xl\\:backdrop-blur{--tw-backdrop-blur:blur(8px)}.\\32xl\\:backdrop-blur-md{--tw-backdrop-blur:blur(12px)}.\\32xl\\:backdrop-blur-lg{--tw-backdrop-blur:blur(16px)}.\\32xl\\:backdrop-blur-xl{--tw-backdrop-blur:blur(24px)}.\\32xl\\:backdrop-blur-2xl{--tw-backdrop-blur:blur(40px)}.\\32xl\\:backdrop-blur-3xl{--tw-backdrop-blur:blur(64px)}.\\32xl\\:backdrop-brightness-0{--tw-backdrop-brightness:brightness(0)}.\\32xl\\:backdrop-brightness-50{--tw-backdrop-brightness:brightness(.5)}.\\32xl\\:backdrop-brightness-75{--tw-backdrop-brightness:brightness(.75)}.\\32xl\\:backdrop-brightness-90{--tw-backdrop-brightness:brightness(.9)}.\\32xl\\:backdrop-brightness-95{--tw-backdrop-brightness:brightness(.95)}.\\32xl\\:backdrop-brightness-100{--tw-backdrop-brightness:brightness(1)}.\\32xl\\:backdrop-brightness-105{--tw-backdrop-brightness:brightness(1.05)}.\\32xl\\:backdrop-brightness-110{--tw-backdrop-brightness:brightness(1.1)}.\\32xl\\:backdrop-brightness-125{--tw-backdrop-brightness:brightness(1.25)}.\\32xl\\:backdrop-brightness-150{--tw-backdrop-brightness:brightness(1.5)}.\\32xl\\:backdrop-brightness-200{--tw-backdrop-brightness:brightness(2)}.\\32xl\\:backdrop-contrast-0{--tw-backdrop-contrast:contrast(0)}.\\32xl\\:backdrop-contrast-50{--tw-backdrop-contrast:contrast(.5)}.\\32xl\\:backdrop-contrast-75{--tw-backdrop-contrast:contrast(.75)}.\\32xl\\:backdrop-contrast-100{--tw-backdrop-contrast:contrast(1)}.\\32xl\\:backdrop-contrast-125{--tw-backdrop-contrast:contrast(1.25)}.\\32xl\\:backdrop-contrast-150{--tw-backdrop-contrast:contrast(1.5)}.\\32xl\\:backdrop-contrast-200{--tw-backdrop-contrast:contrast(2)}.\\32xl\\:backdrop-grayscale-0{--tw-backdrop-grayscale:grayscale(0)}.\\32xl\\:backdrop-grayscale{--tw-backdrop-grayscale:grayscale(100%)}.\\32xl\\:backdrop-hue-rotate-0{--tw-backdrop-hue-rotate:hue-rotate(0deg)}.\\32xl\\:backdrop-hue-rotate-15{--tw-backdrop-hue-rotate:hue-rotate(15deg)}.\\32xl\\:backdrop-hue-rotate-30{--tw-backdrop-hue-rotate:hue-rotate(30deg)}.\\32xl\\:backdrop-hue-rotate-60{--tw-backdrop-hue-rotate:hue-rotate(60deg)}.\\32xl\\:backdrop-hue-rotate-90{--tw-backdrop-hue-rotate:hue-rotate(90deg)}.\\32xl\\:backdrop-hue-rotate-180{--tw-backdrop-hue-rotate:hue-rotate(180deg)}.\\32xl\\:-backdrop-hue-rotate-180{--tw-backdrop-hue-rotate:hue-rotate(-180deg)}.\\32xl\\:-backdrop-hue-rotate-90{--tw-backdrop-hue-rotate:hue-rotate(-90deg)}.\\32xl\\:-backdrop-hue-rotate-60{--tw-backdrop-hue-rotate:hue-rotate(-60deg)}.\\32xl\\:-backdrop-hue-rotate-30{--tw-backdrop-hue-rotate:hue-rotate(-30deg)}.\\32xl\\:-backdrop-hue-rotate-15{--tw-backdrop-hue-rotate:hue-rotate(-15deg)}.\\32xl\\:backdrop-invert-0{--tw-backdrop-invert:invert(0)}.\\32xl\\:backdrop-invert{--tw-backdrop-invert:invert(100%)}.\\32xl\\:backdrop-opacity-0{--tw-backdrop-opacity:opacity(0)}.\\32xl\\:backdrop-opacity-5{--tw-backdrop-opacity:opacity(0.05)}.\\32xl\\:backdrop-opacity-10{--tw-backdrop-opacity:opacity(0.1)}.\\32xl\\:backdrop-opacity-20{--tw-backdrop-opacity:opacity(0.2)}.\\32xl\\:backdrop-opacity-25{--tw-backdrop-opacity:opacity(0.25)}.\\32xl\\:backdrop-opacity-30{--tw-backdrop-opacity:opacity(0.3)}.\\32xl\\:backdrop-opacity-40{--tw-backdrop-opacity:opacity(0.4)}.\\32xl\\:backdrop-opacity-50{--tw-backdrop-opacity:opacity(0.5)}.\\32xl\\:backdrop-opacity-60{--tw-backdrop-opacity:opacity(0.6)}.\\32xl\\:backdrop-opacity-70{--tw-backdrop-opacity:opacity(0.7)}.\\32xl\\:backdrop-opacity-75{--tw-backdrop-opacity:opacity(0.75)}.\\32xl\\:backdrop-opacity-80{--tw-backdrop-opacity:opacity(0.8)}.\\32xl\\:backdrop-opacity-90{--tw-backdrop-opacity:opacity(0.9)}.\\32xl\\:backdrop-opacity-95{--tw-backdrop-opacity:opacity(0.95)}.\\32xl\\:backdrop-opacity-100{--tw-backdrop-opacity:opacity(1)}.\\32xl\\:backdrop-saturate-0{--tw-backdrop-saturate:saturate(0)}.\\32xl\\:backdrop-saturate-50{--tw-backdrop-saturate:saturate(.5)}.\\32xl\\:backdrop-saturate-100{--tw-backdrop-saturate:saturate(1)}.\\32xl\\:backdrop-saturate-150{--tw-backdrop-saturate:saturate(1.5)}.\\32xl\\:backdrop-saturate-200{--tw-backdrop-saturate:saturate(2)}.\\32xl\\:backdrop-sepia-0{--tw-backdrop-sepia:sepia(0)}.\\32xl\\:backdrop-sepia{--tw-backdrop-sepia:sepia(100%)}.\\32xl\\:transition-none{transition-property:none}.\\32xl\\:transition-all{transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.\\32xl\\:transition{transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.\\32xl\\:transition-colors{transition-property:background-color, border-color, color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.\\32xl\\:transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.\\32xl\\:transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.\\32xl\\:transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.\\32xl\\:delay-75{transition-delay:75ms}.\\32xl\\:delay-100{transition-delay:100ms}.\\32xl\\:delay-150{transition-delay:150ms}.\\32xl\\:delay-200{transition-delay:200ms}.\\32xl\\:delay-300{transition-delay:300ms}.\\32xl\\:delay-500{transition-delay:500ms}.\\32xl\\:delay-700{transition-delay:700ms}.\\32xl\\:delay-1000{transition-delay:1000ms}.\\32xl\\:duration-75{transition-duration:75ms}.\\32xl\\:duration-100{transition-duration:100ms}.\\32xl\\:duration-150{transition-duration:150ms}.\\32xl\\:duration-200{transition-duration:200ms}.\\32xl\\:duration-300{transition-duration:300ms}.\\32xl\\:duration-500{transition-duration:500ms}.\\32xl\\:duration-700{transition-duration:700ms}.\\32xl\\:duration-1000{transition-duration:1000ms}.\\32xl\\:ease-linear{transition-timing-function:linear}.\\32xl\\:ease-in{transition-timing-function:cubic-bezier(0.4, 0, 1, 1)}.\\32xl\\:ease-out{transition-timing-function:cubic-bezier(0, 0, 0.2, 1)}.\\32xl\\:ease-in-out{transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}}");
}

function Toolbar_svelte_create_fragment(ctx) {
	let div1;
	let div0;
	let settings;
	let t0;
	let filterbar;
	let t1;
	let grouping;
	let t2;
	let selecteditems;
	let current;

	settings = new Settings_svelte({
			props: { canvasSpec: /*canvasSpec*/ ctx[4] }
		});

	filterbar = new FilterBar_svelte({
			props: {
				filter: /*filter*/ ctx[1],
				filterError: /*filterError*/ ctx[2],
				table: /*table*/ ctx[3]
			}
		});

	grouping = new Grouping_svelte({
			props: {
				table: /*table*/ ctx[3],
				groupColumns: /*groupColumns*/ ctx[5],
				groupNames: /*groupNames*/ ctx[6],
				groupedTables: /*groupedTables*/ ctx[7],
				filter: /*filter*/ ctx[1]
			}
		});

	selecteditems = new SelectedItems_svelte({
			props: {
				table: /*table*/ ctx[3],
				canvasSpec: /*canvasSpec*/ ctx[4],
				selected: /*selected*/ ctx[8],
				tooltip: /*tooltip*/ ctx[9]
			}
		});

	return {
		c() {
			div1 = internal_element("div");
			div0 = internal_element("div");
			create_component(settings.$$.fragment);
			t0 = space();
			create_component(filterbar.$$.fragment);
			t1 = space();
			create_component(grouping.$$.fragment);
			t2 = space();
			create_component(selecteditems.$$.fragment);
			attr(div0, "class", "p-2 overflow-y-auto h-full");
			attr(div1, "class", "flex flex-col h-full bg-lightgrey ");
			set_style(div1, "width", /*notebook*/ ctx[0] ? '35rem' : '25rem');
			set_style(div1, "max-width", /*notebook*/ ctx[0] ? '35rem' : '25rem');
		},
		m(target, anchor) {
			insert(target, div1, anchor);
			append(div1, div0);
			mount_component(settings, div0, null);
			append(div0, t0);
			mount_component(filterbar, div0, null);
			append(div0, t1);
			mount_component(grouping, div0, null);
			append(div0, t2);
			mount_component(selecteditems, div0, null);
			current = true;
		},
		p(ctx, [dirty]) {
			const settings_changes = {};
			if (dirty & /*canvasSpec*/ 16) settings_changes.canvasSpec = /*canvasSpec*/ ctx[4];
			settings.$set(settings_changes);
			const filterbar_changes = {};
			if (dirty & /*filter*/ 2) filterbar_changes.filter = /*filter*/ ctx[1];
			if (dirty & /*filterError*/ 4) filterbar_changes.filterError = /*filterError*/ ctx[2];
			if (dirty & /*table*/ 8) filterbar_changes.table = /*table*/ ctx[3];
			filterbar.$set(filterbar_changes);
			const grouping_changes = {};
			if (dirty & /*table*/ 8) grouping_changes.table = /*table*/ ctx[3];
			if (dirty & /*groupColumns*/ 32) grouping_changes.groupColumns = /*groupColumns*/ ctx[5];
			if (dirty & /*groupNames*/ 64) grouping_changes.groupNames = /*groupNames*/ ctx[6];
			if (dirty & /*groupedTables*/ 128) grouping_changes.groupedTables = /*groupedTables*/ ctx[7];
			if (dirty & /*filter*/ 2) grouping_changes.filter = /*filter*/ ctx[1];
			grouping.$set(grouping_changes);
			const selecteditems_changes = {};
			if (dirty & /*table*/ 8) selecteditems_changes.table = /*table*/ ctx[3];
			if (dirty & /*canvasSpec*/ 16) selecteditems_changes.canvasSpec = /*canvasSpec*/ ctx[4];
			if (dirty & /*selected*/ 256) selecteditems_changes.selected = /*selected*/ ctx[8];
			if (dirty & /*tooltip*/ 512) selecteditems_changes.tooltip = /*tooltip*/ ctx[9];
			selecteditems.$set(selecteditems_changes);

			if (!current || dirty & /*notebook*/ 1) {
				set_style(div1, "width", /*notebook*/ ctx[0] ? '35rem' : '25rem');
			}

			if (!current || dirty & /*notebook*/ 1) {
				set_style(div1, "max-width", /*notebook*/ ctx[0] ? '35rem' : '25rem');
			}
		},
		i(local) {
			if (current) return;
			transition_in(settings.$$.fragment, local);
			transition_in(filterbar.$$.fragment, local);
			transition_in(grouping.$$.fragment, local);
			transition_in(selecteditems.$$.fragment, local);
			current = true;
		},
		o(local) {
			transition_out(settings.$$.fragment, local);
			transition_out(filterbar.$$.fragment, local);
			transition_out(grouping.$$.fragment, local);
			transition_out(selecteditems.$$.fragment, local);
			current = false;
		},
		d(detaching) {
			if (detaching) detach(div1);
			destroy_component(settings);
			destroy_component(filterbar);
			destroy_component(grouping);
			destroy_component(selecteditems);
		}
	};
}

function Toolbar_svelte_instance($$self, $$props, $$invalidate) {
	let { notebook = false } = $$props;
	let { filter } = $$props;
	let { filterError } = $$props;
	let { table } = $$props;
	let { canvasSpec } = $$props;
	let { groupColumns } = $$props;
	let { groupNames } = $$props;
	let { groupedTables } = $$props;
	let { selected } = $$props;
	let { tooltip } = $$props;

	$$self.$$set = $$props => {
		if ('notebook' in $$props) $$invalidate(0, notebook = $$props.notebook);
		if ('filter' in $$props) $$invalidate(1, filter = $$props.filter);
		if ('filterError' in $$props) $$invalidate(2, filterError = $$props.filterError);
		if ('table' in $$props) $$invalidate(3, table = $$props.table);
		if ('canvasSpec' in $$props) $$invalidate(4, canvasSpec = $$props.canvasSpec);
		if ('groupColumns' in $$props) $$invalidate(5, groupColumns = $$props.groupColumns);
		if ('groupNames' in $$props) $$invalidate(6, groupNames = $$props.groupNames);
		if ('groupedTables' in $$props) $$invalidate(7, groupedTables = $$props.groupedTables);
		if ('selected' in $$props) $$invalidate(8, selected = $$props.selected);
		if ('tooltip' in $$props) $$invalidate(9, tooltip = $$props.tooltip);
	};

	return [
		notebook,
		filter,
		filterError,
		table,
		canvasSpec,
		groupColumns,
		groupNames,
		groupedTables,
		selected,
		tooltip
	];
}

class Toolbar extends SvelteComponent {
	constructor(options) {
		super();

		init(
			this,
			options,
			Toolbar_svelte_instance,
			Toolbar_svelte_create_fragment,
			safe_not_equal,
			{
				notebook: 0,
				filter: 1,
				filterError: 2,
				table: 3,
				canvasSpec: 4,
				groupColumns: 5,
				groupNames: 6,
				groupedTables: 7,
				selected: 8,
				tooltip: 9
			},
			Toolbar_svelte_add_css
		);
	}
}

/* harmony default export */ const Toolbar_svelte = (Toolbar);
;// ./src/StandaloneApp.svelte
/* src/StandaloneApp.svelte generated by Svelte v3.59.2 */









function StandaloneApp_svelte_add_css(target) {
	append_styles(target, "svelte-18opq74", "*,::before,::after{box-sizing:border-box}html{tab-size:4}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}body{font-family:system-ui,\n\t\t-apple-system, /* Firefox supports this but not yet `system-ui` */\n\t\t'Segoe UI',\n\t\tRoboto,\n\t\tHelvetica,\n\t\tArial,\n\t\tsans-serif,\n\t\t'Apple Color Emoji',\n\t\t'Segoe UI Emoji'}hr{height:0;color:inherit}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,\n\t\tSFMono-Regular,\n\t\tConsolas,\n\t\t'Liberation Mono',\n\t\tMenlo,\n\t\tmonospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}table{text-indent:0;border-color:inherit}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}button,[type='button'],[type='reset'],[type='submit']{-webkit-appearance:button}::-moz-focus-inner{border-style:none;padding:0}:-moz-focusring{outline:1px dotted ButtonText}:-moz-ui-invalid{box-shadow:none}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type='search']{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}button{background-color:transparent;background-image:none}fieldset{margin:0;padding:0}ol,ul{list-style:none;margin:0;padding:0}html{font-family:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";line-height:1.5}body{font-family:inherit;line-height:inherit}*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:currentColor}hr{border-top-width:1px}img{border-style:solid}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#a1a1aa}button,[role=\"button\"]{cursor:pointer}:-moz-focusring{outline:auto}table{border-collapse:collapse}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}button,input,optgroup,select,textarea{padding:0;line-height:inherit;color:inherit}pre,code,kbd,samp{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,::before,::after{border-color:currentColor}[type='text'],[type='email'],[type='url'],[type='password'],[type='number'],[type='date'],[type='datetime-local'],[type='month'],[type='search'],[type='tel'],[type='time'],[type='week'],[multiple],textarea,select{appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0px;padding-top:0.5rem;padding-right:0.75rem;padding-bottom:0.5rem;padding-left:0.75rem;font-size:1rem;line-height:1.5rem;--tw-shadow:0 0 #0000}[type='text']:focus,[type='email']:focus,[type='url']:focus,[type='password']:focus,[type='number']:focus,[type='date']:focus,[type='datetime-local']:focus,[type='month']:focus,[type='search']:focus,[type='tel']:focus,[type='time']:focus,[type='week']:focus,[multiple]:focus,textarea:focus,select:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);border-color:#2563eb}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}select{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e\");background-position:right 0.5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;color-adjust:exact}[multiple]{background-image:initial;background-position:initial;background-repeat:unset;background-size:initial;padding-right:0.75rem;-webkit-print-color-adjust:unset;color-adjust:unset}[type='checkbox'],[type='radio']{appearance:none;padding:0;-webkit-print-color-adjust:exact;color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#2563eb;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow:0 0 #0000}[type='checkbox']{border-radius:0px}[type='radio']{border-radius:100%}[type='checkbox']:focus,[type='radio']:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}[type='checkbox']:checked,[type='radio']:checked{border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat}[type='checkbox']:checked{background-image:url(\"data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e\")}[type='radio']:checked{background-image:url(\"data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e\")}[type='checkbox']:checked:hover,[type='checkbox']:checked:focus,[type='radio']:checked:hover,[type='radio']:checked:focus{border-color:transparent;background-color:currentColor}[type='checkbox']:indeterminate{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e\");border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat}[type='checkbox']:indeterminate:hover,[type='checkbox']:indeterminate:focus{border-color:transparent;background-color:currentColor}[type='file']{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type='file']:focus{outline:1px auto -webkit-focus-ring-color}.container{width:100%}@media(min-width: 640px){.container{max-width:640px}}@media(min-width: 768px){.container{max-width:768px}}@media(min-width: 1024px){.container{max-width:1024px}}@media(min-width: 1280px){.container{max-width:1280px}}@media(min-width: 1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.focus-within\\:sr-only:focus-within{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.focus-within\\:not-sr-only:focus-within{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.focus\\:sr-only:focus{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.focus\\:not-sr-only:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0px;right:0px;bottom:0px;left:0px}.inset-1{top:0.25rem;right:0.25rem;bottom:0.25rem;left:0.25rem}.inset-2{top:0.5rem;right:0.5rem;bottom:0.5rem;left:0.5rem}.inset-3{top:0.75rem;right:0.75rem;bottom:0.75rem;left:0.75rem}.inset-4{top:1rem;right:1rem;bottom:1rem;left:1rem}.inset-5{top:1.25rem;right:1.25rem;bottom:1.25rem;left:1.25rem}.inset-6{top:1.5rem;right:1.5rem;bottom:1.5rem;left:1.5rem}.inset-7{top:1.75rem;right:1.75rem;bottom:1.75rem;left:1.75rem}.inset-8{top:2rem;right:2rem;bottom:2rem;left:2rem}.inset-9{top:2.25rem;right:2.25rem;bottom:2.25rem;left:2.25rem}.inset-10{top:2.5rem;right:2.5rem;bottom:2.5rem;left:2.5rem}.inset-11{top:2.75rem;right:2.75rem;bottom:2.75rem;left:2.75rem}.inset-12{top:3rem;right:3rem;bottom:3rem;left:3rem}.inset-14{top:3.5rem;right:3.5rem;bottom:3.5rem;left:3.5rem}.inset-16{top:4rem;right:4rem;bottom:4rem;left:4rem}.inset-20{top:5rem;right:5rem;bottom:5rem;left:5rem}.inset-24{top:6rem;right:6rem;bottom:6rem;left:6rem}.inset-28{top:7rem;right:7rem;bottom:7rem;left:7rem}.inset-32{top:8rem;right:8rem;bottom:8rem;left:8rem}.inset-36{top:9rem;right:9rem;bottom:9rem;left:9rem}.inset-40{top:10rem;right:10rem;bottom:10rem;left:10rem}.inset-44{top:11rem;right:11rem;bottom:11rem;left:11rem}.inset-48{top:12rem;right:12rem;bottom:12rem;left:12rem}.inset-52{top:13rem;right:13rem;bottom:13rem;left:13rem}.inset-56{top:14rem;right:14rem;bottom:14rem;left:14rem}.inset-60{top:15rem;right:15rem;bottom:15rem;left:15rem}.inset-64{top:16rem;right:16rem;bottom:16rem;left:16rem}.inset-72{top:18rem;right:18rem;bottom:18rem;left:18rem}.inset-80{top:20rem;right:20rem;bottom:20rem;left:20rem}.inset-96{top:24rem;right:24rem;bottom:24rem;left:24rem}.inset-auto{top:auto;right:auto;bottom:auto;left:auto}.inset-px{top:1px;right:1px;bottom:1px;left:1px}.inset-0\\.5{top:0.125rem;right:0.125rem;bottom:0.125rem;left:0.125rem}.inset-1\\.5{top:0.375rem;right:0.375rem;bottom:0.375rem;left:0.375rem}.inset-2\\.5{top:0.625rem;right:0.625rem;bottom:0.625rem;left:0.625rem}.inset-3\\.5{top:0.875rem;right:0.875rem;bottom:0.875rem;left:0.875rem}.-inset-0{top:0px;right:0px;bottom:0px;left:0px}.-inset-1{top:-0.25rem;right:-0.25rem;bottom:-0.25rem;left:-0.25rem}.-inset-2{top:-0.5rem;right:-0.5rem;bottom:-0.5rem;left:-0.5rem}.-inset-3{top:-0.75rem;right:-0.75rem;bottom:-0.75rem;left:-0.75rem}.-inset-4{top:-1rem;right:-1rem;bottom:-1rem;left:-1rem}.-inset-5{top:-1.25rem;right:-1.25rem;bottom:-1.25rem;left:-1.25rem}.-inset-6{top:-1.5rem;right:-1.5rem;bottom:-1.5rem;left:-1.5rem}.-inset-7{top:-1.75rem;right:-1.75rem;bottom:-1.75rem;left:-1.75rem}.-inset-8{top:-2rem;right:-2rem;bottom:-2rem;left:-2rem}.-inset-9{top:-2.25rem;right:-2.25rem;bottom:-2.25rem;left:-2.25rem}.-inset-10{top:-2.5rem;right:-2.5rem;bottom:-2.5rem;left:-2.5rem}.-inset-11{top:-2.75rem;right:-2.75rem;bottom:-2.75rem;left:-2.75rem}.-inset-12{top:-3rem;right:-3rem;bottom:-3rem;left:-3rem}.-inset-14{top:-3.5rem;right:-3.5rem;bottom:-3.5rem;left:-3.5rem}.-inset-16{top:-4rem;right:-4rem;bottom:-4rem;left:-4rem}.-inset-20{top:-5rem;right:-5rem;bottom:-5rem;left:-5rem}.-inset-24{top:-6rem;right:-6rem;bottom:-6rem;left:-6rem}.-inset-28{top:-7rem;right:-7rem;bottom:-7rem;left:-7rem}.-inset-32{top:-8rem;right:-8rem;bottom:-8rem;left:-8rem}.-inset-36{top:-9rem;right:-9rem;bottom:-9rem;left:-9rem}.-inset-40{top:-10rem;right:-10rem;bottom:-10rem;left:-10rem}.-inset-44{top:-11rem;right:-11rem;bottom:-11rem;left:-11rem}.-inset-48{top:-12rem;right:-12rem;bottom:-12rem;left:-12rem}.-inset-52{top:-13rem;right:-13rem;bottom:-13rem;left:-13rem}.-inset-56{top:-14rem;right:-14rem;bottom:-14rem;left:-14rem}.-inset-60{top:-15rem;right:-15rem;bottom:-15rem;left:-15rem}.-inset-64{top:-16rem;right:-16rem;bottom:-16rem;left:-16rem}.-inset-72{top:-18rem;right:-18rem;bottom:-18rem;left:-18rem}.-inset-80{top:-20rem;right:-20rem;bottom:-20rem;left:-20rem}.-inset-96{top:-24rem;right:-24rem;bottom:-24rem;left:-24rem}.-inset-px{top:-1px;right:-1px;bottom:-1px;left:-1px}.-inset-0\\.5{top:-0.125rem;right:-0.125rem;bottom:-0.125rem;left:-0.125rem}.-inset-1\\.5{top:-0.375rem;right:-0.375rem;bottom:-0.375rem;left:-0.375rem}.-inset-2\\.5{top:-0.625rem;right:-0.625rem;bottom:-0.625rem;left:-0.625rem}.-inset-3\\.5{top:-0.875rem;right:-0.875rem;bottom:-0.875rem;left:-0.875rem}.inset-1\\/2{top:50%;right:50%;bottom:50%;left:50%}.inset-1\\/3{top:33.333333%;right:33.333333%;bottom:33.333333%;left:33.333333%}.inset-2\\/3{top:66.666667%;right:66.666667%;bottom:66.666667%;left:66.666667%}.inset-1\\/4{top:25%;right:25%;bottom:25%;left:25%}.inset-2\\/4{top:50%;right:50%;bottom:50%;left:50%}.inset-3\\/4{top:75%;right:75%;bottom:75%;left:75%}.inset-full{top:100%;right:100%;bottom:100%;left:100%}.-inset-1\\/2{top:-50%;right:-50%;bottom:-50%;left:-50%}.-inset-1\\/3{top:-33.333333%;right:-33.333333%;bottom:-33.333333%;left:-33.333333%}.-inset-2\\/3{top:-66.666667%;right:-66.666667%;bottom:-66.666667%;left:-66.666667%}.-inset-1\\/4{top:-25%;right:-25%;bottom:-25%;left:-25%}.-inset-2\\/4{top:-50%;right:-50%;bottom:-50%;left:-50%}.-inset-3\\/4{top:-75%;right:-75%;bottom:-75%;left:-75%}.-inset-full{top:-100%;right:-100%;bottom:-100%;left:-100%}.inset-x-0{left:0px;right:0px}.inset-x-1{left:0.25rem;right:0.25rem}.inset-x-2{left:0.5rem;right:0.5rem}.inset-x-3{left:0.75rem;right:0.75rem}.inset-x-4{left:1rem;right:1rem}.inset-x-5{left:1.25rem;right:1.25rem}.inset-x-6{left:1.5rem;right:1.5rem}.inset-x-7{left:1.75rem;right:1.75rem}.inset-x-8{left:2rem;right:2rem}.inset-x-9{left:2.25rem;right:2.25rem}.inset-x-10{left:2.5rem;right:2.5rem}.inset-x-11{left:2.75rem;right:2.75rem}.inset-x-12{left:3rem;right:3rem}.inset-x-14{left:3.5rem;right:3.5rem}.inset-x-16{left:4rem;right:4rem}.inset-x-20{left:5rem;right:5rem}.inset-x-24{left:6rem;right:6rem}.inset-x-28{left:7rem;right:7rem}.inset-x-32{left:8rem;right:8rem}.inset-x-36{left:9rem;right:9rem}.inset-x-40{left:10rem;right:10rem}.inset-x-44{left:11rem;right:11rem}.inset-x-48{left:12rem;right:12rem}.inset-x-52{left:13rem;right:13rem}.inset-x-56{left:14rem;right:14rem}.inset-x-60{left:15rem;right:15rem}.inset-x-64{left:16rem;right:16rem}.inset-x-72{left:18rem;right:18rem}.inset-x-80{left:20rem;right:20rem}.inset-x-96{left:24rem;right:24rem}.inset-x-auto{left:auto;right:auto}.inset-x-px{left:1px;right:1px}.inset-x-0\\.5{left:0.125rem;right:0.125rem}.inset-x-1\\.5{left:0.375rem;right:0.375rem}.inset-x-2\\.5{left:0.625rem;right:0.625rem}.inset-x-3\\.5{left:0.875rem;right:0.875rem}.-inset-x-0{left:0px;right:0px}.-inset-x-1{left:-0.25rem;right:-0.25rem}.-inset-x-2{left:-0.5rem;right:-0.5rem}.-inset-x-3{left:-0.75rem;right:-0.75rem}.-inset-x-4{left:-1rem;right:-1rem}.-inset-x-5{left:-1.25rem;right:-1.25rem}.-inset-x-6{left:-1.5rem;right:-1.5rem}.-inset-x-7{left:-1.75rem;right:-1.75rem}.-inset-x-8{left:-2rem;right:-2rem}.-inset-x-9{left:-2.25rem;right:-2.25rem}.-inset-x-10{left:-2.5rem;right:-2.5rem}.-inset-x-11{left:-2.75rem;right:-2.75rem}.-inset-x-12{left:-3rem;right:-3rem}.-inset-x-14{left:-3.5rem;right:-3.5rem}.-inset-x-16{left:-4rem;right:-4rem}.-inset-x-20{left:-5rem;right:-5rem}.-inset-x-24{left:-6rem;right:-6rem}.-inset-x-28{left:-7rem;right:-7rem}.-inset-x-32{left:-8rem;right:-8rem}.-inset-x-36{left:-9rem;right:-9rem}.-inset-x-40{left:-10rem;right:-10rem}.-inset-x-44{left:-11rem;right:-11rem}.-inset-x-48{left:-12rem;right:-12rem}.-inset-x-52{left:-13rem;right:-13rem}.-inset-x-56{left:-14rem;right:-14rem}.-inset-x-60{left:-15rem;right:-15rem}.-inset-x-64{left:-16rem;right:-16rem}.-inset-x-72{left:-18rem;right:-18rem}.-inset-x-80{left:-20rem;right:-20rem}.-inset-x-96{left:-24rem;right:-24rem}.-inset-x-px{left:-1px;right:-1px}.-inset-x-0\\.5{left:-0.125rem;right:-0.125rem}.-inset-x-1\\.5{left:-0.375rem;right:-0.375rem}.-inset-x-2\\.5{left:-0.625rem;right:-0.625rem}.-inset-x-3\\.5{left:-0.875rem;right:-0.875rem}.inset-x-1\\/2{left:50%;right:50%}.inset-x-1\\/3{left:33.333333%;right:33.333333%}.inset-x-2\\/3{left:66.666667%;right:66.666667%}.inset-x-1\\/4{left:25%;right:25%}.inset-x-2\\/4{left:50%;right:50%}.inset-x-3\\/4{left:75%;right:75%}.inset-x-full{left:100%;right:100%}.-inset-x-1\\/2{left:-50%;right:-50%}.-inset-x-1\\/3{left:-33.333333%;right:-33.333333%}.-inset-x-2\\/3{left:-66.666667%;right:-66.666667%}.-inset-x-1\\/4{left:-25%;right:-25%}.-inset-x-2\\/4{left:-50%;right:-50%}.-inset-x-3\\/4{left:-75%;right:-75%}.-inset-x-full{left:-100%;right:-100%}.inset-y-0{top:0px;bottom:0px}.inset-y-1{top:0.25rem;bottom:0.25rem}.inset-y-2{top:0.5rem;bottom:0.5rem}.inset-y-3{top:0.75rem;bottom:0.75rem}.inset-y-4{top:1rem;bottom:1rem}.inset-y-5{top:1.25rem;bottom:1.25rem}.inset-y-6{top:1.5rem;bottom:1.5rem}.inset-y-7{top:1.75rem;bottom:1.75rem}.inset-y-8{top:2rem;bottom:2rem}.inset-y-9{top:2.25rem;bottom:2.25rem}.inset-y-10{top:2.5rem;bottom:2.5rem}.inset-y-11{top:2.75rem;bottom:2.75rem}.inset-y-12{top:3rem;bottom:3rem}.inset-y-14{top:3.5rem;bottom:3.5rem}.inset-y-16{top:4rem;bottom:4rem}.inset-y-20{top:5rem;bottom:5rem}.inset-y-24{top:6rem;bottom:6rem}.inset-y-28{top:7rem;bottom:7rem}.inset-y-32{top:8rem;bottom:8rem}.inset-y-36{top:9rem;bottom:9rem}.inset-y-40{top:10rem;bottom:10rem}.inset-y-44{top:11rem;bottom:11rem}.inset-y-48{top:12rem;bottom:12rem}.inset-y-52{top:13rem;bottom:13rem}.inset-y-56{top:14rem;bottom:14rem}.inset-y-60{top:15rem;bottom:15rem}.inset-y-64{top:16rem;bottom:16rem}.inset-y-72{top:18rem;bottom:18rem}.inset-y-80{top:20rem;bottom:20rem}.inset-y-96{top:24rem;bottom:24rem}.inset-y-auto{top:auto;bottom:auto}.inset-y-px{top:1px;bottom:1px}.inset-y-0\\.5{top:0.125rem;bottom:0.125rem}.inset-y-1\\.5{top:0.375rem;bottom:0.375rem}.inset-y-2\\.5{top:0.625rem;bottom:0.625rem}.inset-y-3\\.5{top:0.875rem;bottom:0.875rem}.-inset-y-0{top:0px;bottom:0px}.-inset-y-1{top:-0.25rem;bottom:-0.25rem}.-inset-y-2{top:-0.5rem;bottom:-0.5rem}.-inset-y-3{top:-0.75rem;bottom:-0.75rem}.-inset-y-4{top:-1rem;bottom:-1rem}.-inset-y-5{top:-1.25rem;bottom:-1.25rem}.-inset-y-6{top:-1.5rem;bottom:-1.5rem}.-inset-y-7{top:-1.75rem;bottom:-1.75rem}.-inset-y-8{top:-2rem;bottom:-2rem}.-inset-y-9{top:-2.25rem;bottom:-2.25rem}.-inset-y-10{top:-2.5rem;bottom:-2.5rem}.-inset-y-11{top:-2.75rem;bottom:-2.75rem}.-inset-y-12{top:-3rem;bottom:-3rem}.-inset-y-14{top:-3.5rem;bottom:-3.5rem}.-inset-y-16{top:-4rem;bottom:-4rem}.-inset-y-20{top:-5rem;bottom:-5rem}.-inset-y-24{top:-6rem;bottom:-6rem}.-inset-y-28{top:-7rem;bottom:-7rem}.-inset-y-32{top:-8rem;bottom:-8rem}.-inset-y-36{top:-9rem;bottom:-9rem}.-inset-y-40{top:-10rem;bottom:-10rem}.-inset-y-44{top:-11rem;bottom:-11rem}.-inset-y-48{top:-12rem;bottom:-12rem}.-inset-y-52{top:-13rem;bottom:-13rem}.-inset-y-56{top:-14rem;bottom:-14rem}.-inset-y-60{top:-15rem;bottom:-15rem}.-inset-y-64{top:-16rem;bottom:-16rem}.-inset-y-72{top:-18rem;bottom:-18rem}.-inset-y-80{top:-20rem;bottom:-20rem}.-inset-y-96{top:-24rem;bottom:-24rem}.-inset-y-px{top:-1px;bottom:-1px}.-inset-y-0\\.5{top:-0.125rem;bottom:-0.125rem}.-inset-y-1\\.5{top:-0.375rem;bottom:-0.375rem}.-inset-y-2\\.5{top:-0.625rem;bottom:-0.625rem}.-inset-y-3\\.5{top:-0.875rem;bottom:-0.875rem}.inset-y-1\\/2{top:50%;bottom:50%}.inset-y-1\\/3{top:33.333333%;bottom:33.333333%}.inset-y-2\\/3{top:66.666667%;bottom:66.666667%}.inset-y-1\\/4{top:25%;bottom:25%}.inset-y-2\\/4{top:50%;bottom:50%}.inset-y-3\\/4{top:75%;bottom:75%}.inset-y-full{top:100%;bottom:100%}.-inset-y-1\\/2{top:-50%;bottom:-50%}.-inset-y-1\\/3{top:-33.333333%;bottom:-33.333333%}.-inset-y-2\\/3{top:-66.666667%;bottom:-66.666667%}.-inset-y-1\\/4{top:-25%;bottom:-25%}.-inset-y-2\\/4{top:-50%;bottom:-50%}.-inset-y-3\\/4{top:-75%;bottom:-75%}.-inset-y-full{top:-100%;bottom:-100%}.top-0{top:0px}.top-1{top:0.25rem}.top-2{top:0.5rem}.top-3{top:0.75rem}.top-4{top:1rem}.top-5{top:1.25rem}.top-6{top:1.5rem}.top-7{top:1.75rem}.top-8{top:2rem}.top-9{top:2.25rem}.top-10{top:2.5rem}.top-11{top:2.75rem}.top-12{top:3rem}.top-14{top:3.5rem}.top-16{top:4rem}.top-20{top:5rem}.top-24{top:6rem}.top-28{top:7rem}.top-32{top:8rem}.top-36{top:9rem}.top-40{top:10rem}.top-44{top:11rem}.top-48{top:12rem}.top-52{top:13rem}.top-56{top:14rem}.top-60{top:15rem}.top-64{top:16rem}.top-72{top:18rem}.top-80{top:20rem}.top-96{top:24rem}.top-auto{top:auto}.top-px{top:1px}.top-0\\.5{top:0.125rem}.top-1\\.5{top:0.375rem}.top-2\\.5{top:0.625rem}.top-3\\.5{top:0.875rem}.-top-0{top:0px}.-top-1{top:-0.25rem}.-top-2{top:-0.5rem}.-top-3{top:-0.75rem}.-top-4{top:-1rem}.-top-5{top:-1.25rem}.-top-6{top:-1.5rem}.-top-7{top:-1.75rem}.-top-8{top:-2rem}.-top-9{top:-2.25rem}.-top-10{top:-2.5rem}.-top-11{top:-2.75rem}.-top-12{top:-3rem}.-top-14{top:-3.5rem}.-top-16{top:-4rem}.-top-20{top:-5rem}.-top-24{top:-6rem}.-top-28{top:-7rem}.-top-32{top:-8rem}.-top-36{top:-9rem}.-top-40{top:-10rem}.-top-44{top:-11rem}.-top-48{top:-12rem}.-top-52{top:-13rem}.-top-56{top:-14rem}.-top-60{top:-15rem}.-top-64{top:-16rem}.-top-72{top:-18rem}.-top-80{top:-20rem}.-top-96{top:-24rem}.-top-px{top:-1px}.-top-0\\.5{top:-0.125rem}.-top-1\\.5{top:-0.375rem}.-top-2\\.5{top:-0.625rem}.-top-3\\.5{top:-0.875rem}.top-1\\/2{top:50%}.top-1\\/3{top:33.333333%}.top-2\\/3{top:66.666667%}.top-1\\/4{top:25%}.top-2\\/4{top:50%}.top-3\\/4{top:75%}.top-full{top:100%}.-top-1\\/2{top:-50%}.-top-1\\/3{top:-33.333333%}.-top-2\\/3{top:-66.666667%}.-top-1\\/4{top:-25%}.-top-2\\/4{top:-50%}.-top-3\\/4{top:-75%}.-top-full{top:-100%}.right-0{right:0px}.right-1{right:0.25rem}.right-2{right:0.5rem}.right-3{right:0.75rem}.right-4{right:1rem}.right-5{right:1.25rem}.right-6{right:1.5rem}.right-7{right:1.75rem}.right-8{right:2rem}.right-9{right:2.25rem}.right-10{right:2.5rem}.right-11{right:2.75rem}.right-12{right:3rem}.right-14{right:3.5rem}.right-16{right:4rem}.right-20{right:5rem}.right-24{right:6rem}.right-28{right:7rem}.right-32{right:8rem}.right-36{right:9rem}.right-40{right:10rem}.right-44{right:11rem}.right-48{right:12rem}.right-52{right:13rem}.right-56{right:14rem}.right-60{right:15rem}.right-64{right:16rem}.right-72{right:18rem}.right-80{right:20rem}.right-96{right:24rem}.right-auto{right:auto}.right-px{right:1px}.right-0\\.5{right:0.125rem}.right-1\\.5{right:0.375rem}.right-2\\.5{right:0.625rem}.right-3\\.5{right:0.875rem}.-right-0{right:0px}.-right-1{right:-0.25rem}.-right-2{right:-0.5rem}.-right-3{right:-0.75rem}.-right-4{right:-1rem}.-right-5{right:-1.25rem}.-right-6{right:-1.5rem}.-right-7{right:-1.75rem}.-right-8{right:-2rem}.-right-9{right:-2.25rem}.-right-10{right:-2.5rem}.-right-11{right:-2.75rem}.-right-12{right:-3rem}.-right-14{right:-3.5rem}.-right-16{right:-4rem}.-right-20{right:-5rem}.-right-24{right:-6rem}.-right-28{right:-7rem}.-right-32{right:-8rem}.-right-36{right:-9rem}.-right-40{right:-10rem}.-right-44{right:-11rem}.-right-48{right:-12rem}.-right-52{right:-13rem}.-right-56{right:-14rem}.-right-60{right:-15rem}.-right-64{right:-16rem}.-right-72{right:-18rem}.-right-80{right:-20rem}.-right-96{right:-24rem}.-right-px{right:-1px}.-right-0\\.5{right:-0.125rem}.-right-1\\.5{right:-0.375rem}.-right-2\\.5{right:-0.625rem}.-right-3\\.5{right:-0.875rem}.right-1\\/2{right:50%}.right-1\\/3{right:33.333333%}.right-2\\/3{right:66.666667%}.right-1\\/4{right:25%}.right-2\\/4{right:50%}.right-3\\/4{right:75%}.right-full{right:100%}.-right-1\\/2{right:-50%}.-right-1\\/3{right:-33.333333%}.-right-2\\/3{right:-66.666667%}.-right-1\\/4{right:-25%}.-right-2\\/4{right:-50%}.-right-3\\/4{right:-75%}.-right-full{right:-100%}.bottom-0{bottom:0px}.bottom-1{bottom:0.25rem}.bottom-2{bottom:0.5rem}.bottom-3{bottom:0.75rem}.bottom-4{bottom:1rem}.bottom-5{bottom:1.25rem}.bottom-6{bottom:1.5rem}.bottom-7{bottom:1.75rem}.bottom-8{bottom:2rem}.bottom-9{bottom:2.25rem}.bottom-10{bottom:2.5rem}.bottom-11{bottom:2.75rem}.bottom-12{bottom:3rem}.bottom-14{bottom:3.5rem}.bottom-16{bottom:4rem}.bottom-20{bottom:5rem}.bottom-24{bottom:6rem}.bottom-28{bottom:7rem}.bottom-32{bottom:8rem}.bottom-36{bottom:9rem}.bottom-40{bottom:10rem}.bottom-44{bottom:11rem}.bottom-48{bottom:12rem}.bottom-52{bottom:13rem}.bottom-56{bottom:14rem}.bottom-60{bottom:15rem}.bottom-64{bottom:16rem}.bottom-72{bottom:18rem}.bottom-80{bottom:20rem}.bottom-96{bottom:24rem}.bottom-auto{bottom:auto}.bottom-px{bottom:1px}.bottom-0\\.5{bottom:0.125rem}.bottom-1\\.5{bottom:0.375rem}.bottom-2\\.5{bottom:0.625rem}.bottom-3\\.5{bottom:0.875rem}.-bottom-0{bottom:0px}.-bottom-1{bottom:-0.25rem}.-bottom-2{bottom:-0.5rem}.-bottom-3{bottom:-0.75rem}.-bottom-4{bottom:-1rem}.-bottom-5{bottom:-1.25rem}.-bottom-6{bottom:-1.5rem}.-bottom-7{bottom:-1.75rem}.-bottom-8{bottom:-2rem}.-bottom-9{bottom:-2.25rem}.-bottom-10{bottom:-2.5rem}.-bottom-11{bottom:-2.75rem}.-bottom-12{bottom:-3rem}.-bottom-14{bottom:-3.5rem}.-bottom-16{bottom:-4rem}.-bottom-20{bottom:-5rem}.-bottom-24{bottom:-6rem}.-bottom-28{bottom:-7rem}.-bottom-32{bottom:-8rem}.-bottom-36{bottom:-9rem}.-bottom-40{bottom:-10rem}.-bottom-44{bottom:-11rem}.-bottom-48{bottom:-12rem}.-bottom-52{bottom:-13rem}.-bottom-56{bottom:-14rem}.-bottom-60{bottom:-15rem}.-bottom-64{bottom:-16rem}.-bottom-72{bottom:-18rem}.-bottom-80{bottom:-20rem}.-bottom-96{bottom:-24rem}.-bottom-px{bottom:-1px}.-bottom-0\\.5{bottom:-0.125rem}.-bottom-1\\.5{bottom:-0.375rem}.-bottom-2\\.5{bottom:-0.625rem}.-bottom-3\\.5{bottom:-0.875rem}.bottom-1\\/2{bottom:50%}.bottom-1\\/3{bottom:33.333333%}.bottom-2\\/3{bottom:66.666667%}.bottom-1\\/4{bottom:25%}.bottom-2\\/4{bottom:50%}.bottom-3\\/4{bottom:75%}.bottom-full{bottom:100%}.-bottom-1\\/2{bottom:-50%}.-bottom-1\\/3{bottom:-33.333333%}.-bottom-2\\/3{bottom:-66.666667%}.-bottom-1\\/4{bottom:-25%}.-bottom-2\\/4{bottom:-50%}.-bottom-3\\/4{bottom:-75%}.-bottom-full{bottom:-100%}.left-0{left:0px}.left-1{left:0.25rem}.left-2{left:0.5rem}.left-3{left:0.75rem}.left-4{left:1rem}.left-5{left:1.25rem}.left-6{left:1.5rem}.left-7{left:1.75rem}.left-8{left:2rem}.left-9{left:2.25rem}.left-10{left:2.5rem}.left-11{left:2.75rem}.left-12{left:3rem}.left-14{left:3.5rem}.left-16{left:4rem}.left-20{left:5rem}.left-24{left:6rem}.left-28{left:7rem}.left-32{left:8rem}.left-36{left:9rem}.left-40{left:10rem}.left-44{left:11rem}.left-48{left:12rem}.left-52{left:13rem}.left-56{left:14rem}.left-60{left:15rem}.left-64{left:16rem}.left-72{left:18rem}.left-80{left:20rem}.left-96{left:24rem}.left-auto{left:auto}.left-px{left:1px}.left-0\\.5{left:0.125rem}.left-1\\.5{left:0.375rem}.left-2\\.5{left:0.625rem}.left-3\\.5{left:0.875rem}.-left-0{left:0px}.-left-1{left:-0.25rem}.-left-2{left:-0.5rem}.-left-3{left:-0.75rem}.-left-4{left:-1rem}.-left-5{left:-1.25rem}.-left-6{left:-1.5rem}.-left-7{left:-1.75rem}.-left-8{left:-2rem}.-left-9{left:-2.25rem}.-left-10{left:-2.5rem}.-left-11{left:-2.75rem}.-left-12{left:-3rem}.-left-14{left:-3.5rem}.-left-16{left:-4rem}.-left-20{left:-5rem}.-left-24{left:-6rem}.-left-28{left:-7rem}.-left-32{left:-8rem}.-left-36{left:-9rem}.-left-40{left:-10rem}.-left-44{left:-11rem}.-left-48{left:-12rem}.-left-52{left:-13rem}.-left-56{left:-14rem}.-left-60{left:-15rem}.-left-64{left:-16rem}.-left-72{left:-18rem}.-left-80{left:-20rem}.-left-96{left:-24rem}.-left-px{left:-1px}.-left-0\\.5{left:-0.125rem}.-left-1\\.5{left:-0.375rem}.-left-2\\.5{left:-0.625rem}.-left-3\\.5{left:-0.875rem}.left-1\\/2{left:50%}.left-1\\/3{left:33.333333%}.left-2\\/3{left:66.666667%}.left-1\\/4{left:25%}.left-2\\/4{left:50%}.left-3\\/4{left:75%}.left-full{left:100%}.-left-1\\/2{left:-50%}.-left-1\\/3{left:-33.333333%}.-left-2\\/3{left:-66.666667%}.-left-1\\/4{left:-25%}.-left-2\\/4{left:-50%}.-left-3\\/4{left:-75%}.-left-full{left:-100%}.isolate{isolation:isolate}.isolation-auto{isolation:auto}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-auto{z-index:auto}.focus-within\\:z-0:focus-within{z-index:0}.focus-within\\:z-10:focus-within{z-index:10}.focus-within\\:z-20:focus-within{z-index:20}.focus-within\\:z-30:focus-within{z-index:30}.focus-within\\:z-40:focus-within{z-index:40}.focus-within\\:z-50:focus-within{z-index:50}.focus-within\\:z-auto:focus-within{z-index:auto}.focus\\:z-0:focus{z-index:0}.focus\\:z-10:focus{z-index:10}.focus\\:z-20:focus{z-index:20}.focus\\:z-30:focus{z-index:30}.focus\\:z-40:focus{z-index:40}.focus\\:z-50:focus{z-index:50}.focus\\:z-auto:focus{z-index:auto}.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}.order-first{order:-9999}.order-last{order:9999}.order-none{order:0}.col-auto{grid-column:auto}.col-span-1{grid-column:span 1 / span 1}.col-span-2{grid-column:span 2 / span 2}.col-span-3{grid-column:span 3 / span 3}.col-span-4{grid-column:span 4 / span 4}.col-span-5{grid-column:span 5 / span 5}.col-span-6{grid-column:span 6 / span 6}.col-span-7{grid-column:span 7 / span 7}.col-span-8{grid-column:span 8 / span 8}.col-span-9{grid-column:span 9 / span 9}.col-span-10{grid-column:span 10 / span 10}.col-span-11{grid-column:span 11 / span 11}.col-span-12{grid-column:span 12 / span 12}.col-span-full{grid-column:1 / -1}.col-start-1{grid-column-start:1}.col-start-2{grid-column-start:2}.col-start-3{grid-column-start:3}.col-start-4{grid-column-start:4}.col-start-5{grid-column-start:5}.col-start-6{grid-column-start:6}.col-start-7{grid-column-start:7}.col-start-8{grid-column-start:8}.col-start-9{grid-column-start:9}.col-start-10{grid-column-start:10}.col-start-11{grid-column-start:11}.col-start-12{grid-column-start:12}.col-start-13{grid-column-start:13}.col-start-auto{grid-column-start:auto}.col-end-1{grid-column-end:1}.col-end-2{grid-column-end:2}.col-end-3{grid-column-end:3}.col-end-4{grid-column-end:4}.col-end-5{grid-column-end:5}.col-end-6{grid-column-end:6}.col-end-7{grid-column-end:7}.col-end-8{grid-column-end:8}.col-end-9{grid-column-end:9}.col-end-10{grid-column-end:10}.col-end-11{grid-column-end:11}.col-end-12{grid-column-end:12}.col-end-13{grid-column-end:13}.col-end-auto{grid-column-end:auto}.row-auto{grid-row:auto}.row-span-1{grid-row:span 1 / span 1}.row-span-2{grid-row:span 2 / span 2}.row-span-3{grid-row:span 3 / span 3}.row-span-4{grid-row:span 4 / span 4}.row-span-5{grid-row:span 5 / span 5}.row-span-6{grid-row:span 6 / span 6}.row-span-full{grid-row:1 / -1}.row-start-1{grid-row-start:1}.row-start-2{grid-row-start:2}.row-start-3{grid-row-start:3}.row-start-4{grid-row-start:4}.row-start-5{grid-row-start:5}.row-start-6{grid-row-start:6}.row-start-7{grid-row-start:7}.row-start-auto{grid-row-start:auto}.row-end-1{grid-row-end:1}.row-end-2{grid-row-end:2}.row-end-3{grid-row-end:3}.row-end-4{grid-row-end:4}.row-end-5{grid-row-end:5}.row-end-6{grid-row-end:6}.row-end-7{grid-row-end:7}.row-end-auto{grid-row-end:auto}.float-right{float:right}.float-left{float:left}.float-none{float:none}.clear-left{clear:left}.clear-right{clear:right}.clear-both{clear:both}.clear-none{clear:none}.m-0{margin:0px}.m-1{margin:0.25rem}.m-2{margin:0.5rem}.m-3{margin:0.75rem}.m-4{margin:1rem}.m-5{margin:1.25rem}.m-6{margin:1.5rem}.m-7{margin:1.75rem}.m-8{margin:2rem}.m-9{margin:2.25rem}.m-10{margin:2.5rem}.m-11{margin:2.75rem}.m-12{margin:3rem}.m-14{margin:3.5rem}.m-16{margin:4rem}.m-20{margin:5rem}.m-24{margin:6rem}.m-28{margin:7rem}.m-32{margin:8rem}.m-36{margin:9rem}.m-40{margin:10rem}.m-44{margin:11rem}.m-48{margin:12rem}.m-52{margin:13rem}.m-56{margin:14rem}.m-60{margin:15rem}.m-64{margin:16rem}.m-72{margin:18rem}.m-80{margin:20rem}.m-96{margin:24rem}.m-auto{margin:auto}.m-px{margin:1px}.m-0\\.5{margin:0.125rem}.m-1\\.5{margin:0.375rem}.m-2\\.5{margin:0.625rem}.m-3\\.5{margin:0.875rem}.-m-0{margin:0px}.-m-1{margin:-0.25rem}.-m-2{margin:-0.5rem}.-m-3{margin:-0.75rem}.-m-4{margin:-1rem}.-m-5{margin:-1.25rem}.-m-6{margin:-1.5rem}.-m-7{margin:-1.75rem}.-m-8{margin:-2rem}.-m-9{margin:-2.25rem}.-m-10{margin:-2.5rem}.-m-11{margin:-2.75rem}.-m-12{margin:-3rem}.-m-14{margin:-3.5rem}.-m-16{margin:-4rem}.-m-20{margin:-5rem}.-m-24{margin:-6rem}.-m-28{margin:-7rem}.-m-32{margin:-8rem}.-m-36{margin:-9rem}.-m-40{margin:-10rem}.-m-44{margin:-11rem}.-m-48{margin:-12rem}.-m-52{margin:-13rem}.-m-56{margin:-14rem}.-m-60{margin:-15rem}.-m-64{margin:-16rem}.-m-72{margin:-18rem}.-m-80{margin:-20rem}.-m-96{margin:-24rem}.-m-px{margin:-1px}.-m-0\\.5{margin:-0.125rem}.-m-1\\.5{margin:-0.375rem}.-m-2\\.5{margin:-0.625rem}.-m-3\\.5{margin:-0.875rem}.mx-0{margin-left:0px;margin-right:0px}.mx-1{margin-left:0.25rem;margin-right:0.25rem}.mx-2{margin-left:0.5rem;margin-right:0.5rem}.mx-3{margin-left:0.75rem;margin-right:0.75rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-5{margin-left:1.25rem;margin-right:1.25rem}.mx-6{margin-left:1.5rem;margin-right:1.5rem}.mx-7{margin-left:1.75rem;margin-right:1.75rem}.mx-8{margin-left:2rem;margin-right:2rem}.mx-9{margin-left:2.25rem;margin-right:2.25rem}.mx-10{margin-left:2.5rem;margin-right:2.5rem}.mx-11{margin-left:2.75rem;margin-right:2.75rem}.mx-12{margin-left:3rem;margin-right:3rem}.mx-14{margin-left:3.5rem;margin-right:3.5rem}.mx-16{margin-left:4rem;margin-right:4rem}.mx-20{margin-left:5rem;margin-right:5rem}.mx-24{margin-left:6rem;margin-right:6rem}.mx-28{margin-left:7rem;margin-right:7rem}.mx-32{margin-left:8rem;margin-right:8rem}.mx-36{margin-left:9rem;margin-right:9rem}.mx-40{margin-left:10rem;margin-right:10rem}.mx-44{margin-left:11rem;margin-right:11rem}.mx-48{margin-left:12rem;margin-right:12rem}.mx-52{margin-left:13rem;margin-right:13rem}.mx-56{margin-left:14rem;margin-right:14rem}.mx-60{margin-left:15rem;margin-right:15rem}.mx-64{margin-left:16rem;margin-right:16rem}.mx-72{margin-left:18rem;margin-right:18rem}.mx-80{margin-left:20rem;margin-right:20rem}.mx-96{margin-left:24rem;margin-right:24rem}.mx-auto{margin-left:auto;margin-right:auto}.mx-px{margin-left:1px;margin-right:1px}.mx-0\\.5{margin-left:0.125rem;margin-right:0.125rem}.mx-1\\.5{margin-left:0.375rem;margin-right:0.375rem}.mx-2\\.5{margin-left:0.625rem;margin-right:0.625rem}.mx-3\\.5{margin-left:0.875rem;margin-right:0.875rem}.-mx-0{margin-left:0px;margin-right:0px}.-mx-1{margin-left:-0.25rem;margin-right:-0.25rem}.-mx-2{margin-left:-0.5rem;margin-right:-0.5rem}.-mx-3{margin-left:-0.75rem;margin-right:-0.75rem}.-mx-4{margin-left:-1rem;margin-right:-1rem}.-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.-mx-7{margin-left:-1.75rem;margin-right:-1.75rem}.-mx-8{margin-left:-2rem;margin-right:-2rem}.-mx-9{margin-left:-2.25rem;margin-right:-2.25rem}.-mx-10{margin-left:-2.5rem;margin-right:-2.5rem}.-mx-11{margin-left:-2.75rem;margin-right:-2.75rem}.-mx-12{margin-left:-3rem;margin-right:-3rem}.-mx-14{margin-left:-3.5rem;margin-right:-3.5rem}.-mx-16{margin-left:-4rem;margin-right:-4rem}.-mx-20{margin-left:-5rem;margin-right:-5rem}.-mx-24{margin-left:-6rem;margin-right:-6rem}.-mx-28{margin-left:-7rem;margin-right:-7rem}.-mx-32{margin-left:-8rem;margin-right:-8rem}.-mx-36{margin-left:-9rem;margin-right:-9rem}.-mx-40{margin-left:-10rem;margin-right:-10rem}.-mx-44{margin-left:-11rem;margin-right:-11rem}.-mx-48{margin-left:-12rem;margin-right:-12rem}.-mx-52{margin-left:-13rem;margin-right:-13rem}.-mx-56{margin-left:-14rem;margin-right:-14rem}.-mx-60{margin-left:-15rem;margin-right:-15rem}.-mx-64{margin-left:-16rem;margin-right:-16rem}.-mx-72{margin-left:-18rem;margin-right:-18rem}.-mx-80{margin-left:-20rem;margin-right:-20rem}.-mx-96{margin-left:-24rem;margin-right:-24rem}.-mx-px{margin-left:-1px;margin-right:-1px}.-mx-0\\.5{margin-left:-0.125rem;margin-right:-0.125rem}.-mx-1\\.5{margin-left:-0.375rem;margin-right:-0.375rem}.-mx-2\\.5{margin-left:-0.625rem;margin-right:-0.625rem}.-mx-3\\.5{margin-left:-0.875rem;margin-right:-0.875rem}.my-0{margin-top:0px;margin-bottom:0px}.my-1{margin-top:0.25rem;margin-bottom:0.25rem}.my-2{margin-top:0.5rem;margin-bottom:0.5rem}.my-3{margin-top:0.75rem;margin-bottom:0.75rem}.my-4{margin-top:1rem;margin-bottom:1rem}.my-5{margin-top:1.25rem;margin-bottom:1.25rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.my-7{margin-top:1.75rem;margin-bottom:1.75rem}.my-8{margin-top:2rem;margin-bottom:2rem}.my-9{margin-top:2.25rem;margin-bottom:2.25rem}.my-10{margin-top:2.5rem;margin-bottom:2.5rem}.my-11{margin-top:2.75rem;margin-bottom:2.75rem}.my-12{margin-top:3rem;margin-bottom:3rem}.my-14{margin-top:3.5rem;margin-bottom:3.5rem}.my-16{margin-top:4rem;margin-bottom:4rem}.my-20{margin-top:5rem;margin-bottom:5rem}.my-24{margin-top:6rem;margin-bottom:6rem}.my-28{margin-top:7rem;margin-bottom:7rem}.my-32{margin-top:8rem;margin-bottom:8rem}.my-36{margin-top:9rem;margin-bottom:9rem}.my-40{margin-top:10rem;margin-bottom:10rem}.my-44{margin-top:11rem;margin-bottom:11rem}.my-48{margin-top:12rem;margin-bottom:12rem}.my-52{margin-top:13rem;margin-bottom:13rem}.my-56{margin-top:14rem;margin-bottom:14rem}.my-60{margin-top:15rem;margin-bottom:15rem}.my-64{margin-top:16rem;margin-bottom:16rem}.my-72{margin-top:18rem;margin-bottom:18rem}.my-80{margin-top:20rem;margin-bottom:20rem}.my-96{margin-top:24rem;margin-bottom:24rem}.my-auto{margin-top:auto;margin-bottom:auto}.my-px{margin-top:1px;margin-bottom:1px}.my-0\\.5{margin-top:0.125rem;margin-bottom:0.125rem}.my-1\\.5{margin-top:0.375rem;margin-bottom:0.375rem}.my-2\\.5{margin-top:0.625rem;margin-bottom:0.625rem}.my-3\\.5{margin-top:0.875rem;margin-bottom:0.875rem}.-my-0{margin-top:0px;margin-bottom:0px}.-my-1{margin-top:-0.25rem;margin-bottom:-0.25rem}.-my-2{margin-top:-0.5rem;margin-bottom:-0.5rem}.-my-3{margin-top:-0.75rem;margin-bottom:-0.75rem}.-my-4{margin-top:-1rem;margin-bottom:-1rem}.-my-5{margin-top:-1.25rem;margin-bottom:-1.25rem}.-my-6{margin-top:-1.5rem;margin-bottom:-1.5rem}.-my-7{margin-top:-1.75rem;margin-bottom:-1.75rem}.-my-8{margin-top:-2rem;margin-bottom:-2rem}.-my-9{margin-top:-2.25rem;margin-bottom:-2.25rem}.-my-10{margin-top:-2.5rem;margin-bottom:-2.5rem}.-my-11{margin-top:-2.75rem;margin-bottom:-2.75rem}.-my-12{margin-top:-3rem;margin-bottom:-3rem}.-my-14{margin-top:-3.5rem;margin-bottom:-3.5rem}.-my-16{margin-top:-4rem;margin-bottom:-4rem}.-my-20{margin-top:-5rem;margin-bottom:-5rem}.-my-24{margin-top:-6rem;margin-bottom:-6rem}.-my-28{margin-top:-7rem;margin-bottom:-7rem}.-my-32{margin-top:-8rem;margin-bottom:-8rem}.-my-36{margin-top:-9rem;margin-bottom:-9rem}.-my-40{margin-top:-10rem;margin-bottom:-10rem}.-my-44{margin-top:-11rem;margin-bottom:-11rem}.-my-48{margin-top:-12rem;margin-bottom:-12rem}.-my-52{margin-top:-13rem;margin-bottom:-13rem}.-my-56{margin-top:-14rem;margin-bottom:-14rem}.-my-60{margin-top:-15rem;margin-bottom:-15rem}.-my-64{margin-top:-16rem;margin-bottom:-16rem}.-my-72{margin-top:-18rem;margin-bottom:-18rem}.-my-80{margin-top:-20rem;margin-bottom:-20rem}.-my-96{margin-top:-24rem;margin-bottom:-24rem}.-my-px{margin-top:-1px;margin-bottom:-1px}.-my-0\\.5{margin-top:-0.125rem;margin-bottom:-0.125rem}.-my-1\\.5{margin-top:-0.375rem;margin-bottom:-0.375rem}.-my-2\\.5{margin-top:-0.625rem;margin-bottom:-0.625rem}.-my-3\\.5{margin-top:-0.875rem;margin-bottom:-0.875rem}.mt-0{margin-top:0px}.mt-1{margin-top:0.25rem}.mt-2{margin-top:0.5rem}.mt-3{margin-top:0.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-7{margin-top:1.75rem}.mt-8{margin-top:2rem}.mt-9{margin-top:2.25rem}.mt-10{margin-top:2.5rem}.mt-11{margin-top:2.75rem}.mt-12{margin-top:3rem}.mt-14{margin-top:3.5rem}.mt-16{margin-top:4rem}.mt-20{margin-top:5rem}.mt-24{margin-top:6rem}.mt-28{margin-top:7rem}.mt-32{margin-top:8rem}.mt-36{margin-top:9rem}.mt-40{margin-top:10rem}.mt-44{margin-top:11rem}.mt-48{margin-top:12rem}.mt-52{margin-top:13rem}.mt-56{margin-top:14rem}.mt-60{margin-top:15rem}.mt-64{margin-top:16rem}.mt-72{margin-top:18rem}.mt-80{margin-top:20rem}.mt-96{margin-top:24rem}.mt-auto{margin-top:auto}.mt-px{margin-top:1px}.mt-0\\.5{margin-top:0.125rem}.mt-1\\.5{margin-top:0.375rem}.mt-2\\.5{margin-top:0.625rem}.mt-3\\.5{margin-top:0.875rem}.-mt-0{margin-top:0px}.-mt-1{margin-top:-0.25rem}.-mt-2{margin-top:-0.5rem}.-mt-3{margin-top:-0.75rem}.-mt-4{margin-top:-1rem}.-mt-5{margin-top:-1.25rem}.-mt-6{margin-top:-1.5rem}.-mt-7{margin-top:-1.75rem}.-mt-8{margin-top:-2rem}.-mt-9{margin-top:-2.25rem}.-mt-10{margin-top:-2.5rem}.-mt-11{margin-top:-2.75rem}.-mt-12{margin-top:-3rem}.-mt-14{margin-top:-3.5rem}.-mt-16{margin-top:-4rem}.-mt-20{margin-top:-5rem}.-mt-24{margin-top:-6rem}.-mt-28{margin-top:-7rem}.-mt-32{margin-top:-8rem}.-mt-36{margin-top:-9rem}.-mt-40{margin-top:-10rem}.-mt-44{margin-top:-11rem}.-mt-48{margin-top:-12rem}.-mt-52{margin-top:-13rem}.-mt-56{margin-top:-14rem}.-mt-60{margin-top:-15rem}.-mt-64{margin-top:-16rem}.-mt-72{margin-top:-18rem}.-mt-80{margin-top:-20rem}.-mt-96{margin-top:-24rem}.-mt-px{margin-top:-1px}.-mt-0\\.5{margin-top:-0.125rem}.-mt-1\\.5{margin-top:-0.375rem}.-mt-2\\.5{margin-top:-0.625rem}.-mt-3\\.5{margin-top:-0.875rem}.mr-0{margin-right:0px}.mr-1{margin-right:0.25rem}.mr-2{margin-right:0.5rem}.mr-3{margin-right:0.75rem}.mr-4{margin-right:1rem}.mr-5{margin-right:1.25rem}.mr-6{margin-right:1.5rem}.mr-7{margin-right:1.75rem}.mr-8{margin-right:2rem}.mr-9{margin-right:2.25rem}.mr-10{margin-right:2.5rem}.mr-11{margin-right:2.75rem}.mr-12{margin-right:3rem}.mr-14{margin-right:3.5rem}.mr-16{margin-right:4rem}.mr-20{margin-right:5rem}.mr-24{margin-right:6rem}.mr-28{margin-right:7rem}.mr-32{margin-right:8rem}.mr-36{margin-right:9rem}.mr-40{margin-right:10rem}.mr-44{margin-right:11rem}.mr-48{margin-right:12rem}.mr-52{margin-right:13rem}.mr-56{margin-right:14rem}.mr-60{margin-right:15rem}.mr-64{margin-right:16rem}.mr-72{margin-right:18rem}.mr-80{margin-right:20rem}.mr-96{margin-right:24rem}.mr-auto{margin-right:auto}.mr-px{margin-right:1px}.mr-0\\.5{margin-right:0.125rem}.mr-1\\.5{margin-right:0.375rem}.mr-2\\.5{margin-right:0.625rem}.mr-3\\.5{margin-right:0.875rem}.-mr-0{margin-right:0px}.-mr-1{margin-right:-0.25rem}.-mr-2{margin-right:-0.5rem}.-mr-3{margin-right:-0.75rem}.-mr-4{margin-right:-1rem}.-mr-5{margin-right:-1.25rem}.-mr-6{margin-right:-1.5rem}.-mr-7{margin-right:-1.75rem}.-mr-8{margin-right:-2rem}.-mr-9{margin-right:-2.25rem}.-mr-10{margin-right:-2.5rem}.-mr-11{margin-right:-2.75rem}.-mr-12{margin-right:-3rem}.-mr-14{margin-right:-3.5rem}.-mr-16{margin-right:-4rem}.-mr-20{margin-right:-5rem}.-mr-24{margin-right:-6rem}.-mr-28{margin-right:-7rem}.-mr-32{margin-right:-8rem}.-mr-36{margin-right:-9rem}.-mr-40{margin-right:-10rem}.-mr-44{margin-right:-11rem}.-mr-48{margin-right:-12rem}.-mr-52{margin-right:-13rem}.-mr-56{margin-right:-14rem}.-mr-60{margin-right:-15rem}.-mr-64{margin-right:-16rem}.-mr-72{margin-right:-18rem}.-mr-80{margin-right:-20rem}.-mr-96{margin-right:-24rem}.-mr-px{margin-right:-1px}.-mr-0\\.5{margin-right:-0.125rem}.-mr-1\\.5{margin-right:-0.375rem}.-mr-2\\.5{margin-right:-0.625rem}.-mr-3\\.5{margin-right:-0.875rem}.mb-0{margin-bottom:0px}.mb-1{margin-bottom:0.25rem}.mb-2{margin-bottom:0.5rem}.mb-3{margin-bottom:0.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-7{margin-bottom:1.75rem}.mb-8{margin-bottom:2rem}.mb-9{margin-bottom:2.25rem}.mb-10{margin-bottom:2.5rem}.mb-11{margin-bottom:2.75rem}.mb-12{margin-bottom:3rem}.mb-14{margin-bottom:3.5rem}.mb-16{margin-bottom:4rem}.mb-20{margin-bottom:5rem}.mb-24{margin-bottom:6rem}.mb-28{margin-bottom:7rem}.mb-32{margin-bottom:8rem}.mb-36{margin-bottom:9rem}.mb-40{margin-bottom:10rem}.mb-44{margin-bottom:11rem}.mb-48{margin-bottom:12rem}.mb-52{margin-bottom:13rem}.mb-56{margin-bottom:14rem}.mb-60{margin-bottom:15rem}.mb-64{margin-bottom:16rem}.mb-72{margin-bottom:18rem}.mb-80{margin-bottom:20rem}.mb-96{margin-bottom:24rem}.mb-auto{margin-bottom:auto}.mb-px{margin-bottom:1px}.mb-0\\.5{margin-bottom:0.125rem}.mb-1\\.5{margin-bottom:0.375rem}.mb-2\\.5{margin-bottom:0.625rem}.mb-3\\.5{margin-bottom:0.875rem}.-mb-0{margin-bottom:0px}.-mb-1{margin-bottom:-0.25rem}.-mb-2{margin-bottom:-0.5rem}.-mb-3{margin-bottom:-0.75rem}.-mb-4{margin-bottom:-1rem}.-mb-5{margin-bottom:-1.25rem}.-mb-6{margin-bottom:-1.5rem}.-mb-7{margin-bottom:-1.75rem}.-mb-8{margin-bottom:-2rem}.-mb-9{margin-bottom:-2.25rem}.-mb-10{margin-bottom:-2.5rem}.-mb-11{margin-bottom:-2.75rem}.-mb-12{margin-bottom:-3rem}.-mb-14{margin-bottom:-3.5rem}.-mb-16{margin-bottom:-4rem}.-mb-20{margin-bottom:-5rem}.-mb-24{margin-bottom:-6rem}.-mb-28{margin-bottom:-7rem}.-mb-32{margin-bottom:-8rem}.-mb-36{margin-bottom:-9rem}.-mb-40{margin-bottom:-10rem}.-mb-44{margin-bottom:-11rem}.-mb-48{margin-bottom:-12rem}.-mb-52{margin-bottom:-13rem}.-mb-56{margin-bottom:-14rem}.-mb-60{margin-bottom:-15rem}.-mb-64{margin-bottom:-16rem}.-mb-72{margin-bottom:-18rem}.-mb-80{margin-bottom:-20rem}.-mb-96{margin-bottom:-24rem}.-mb-px{margin-bottom:-1px}.-mb-0\\.5{margin-bottom:-0.125rem}.-mb-1\\.5{margin-bottom:-0.375rem}.-mb-2\\.5{margin-bottom:-0.625rem}.-mb-3\\.5{margin-bottom:-0.875rem}.ml-0{margin-left:0px}.ml-1{margin-left:0.25rem}.ml-2{margin-left:0.5rem}.ml-3{margin-left:0.75rem}.ml-4{margin-left:1rem}.ml-5{margin-left:1.25rem}.ml-6{margin-left:1.5rem}.ml-7{margin-left:1.75rem}.ml-8{margin-left:2rem}.ml-9{margin-left:2.25rem}.ml-10{margin-left:2.5rem}.ml-11{margin-left:2.75rem}.ml-12{margin-left:3rem}.ml-14{margin-left:3.5rem}.ml-16{margin-left:4rem}.ml-20{margin-left:5rem}.ml-24{margin-left:6rem}.ml-28{margin-left:7rem}.ml-32{margin-left:8rem}.ml-36{margin-left:9rem}.ml-40{margin-left:10rem}.ml-44{margin-left:11rem}.ml-48{margin-left:12rem}.ml-52{margin-left:13rem}.ml-56{margin-left:14rem}.ml-60{margin-left:15rem}.ml-64{margin-left:16rem}.ml-72{margin-left:18rem}.ml-80{margin-left:20rem}.ml-96{margin-left:24rem}.ml-auto{margin-left:auto}.ml-px{margin-left:1px}.ml-0\\.5{margin-left:0.125rem}.ml-1\\.5{margin-left:0.375rem}.ml-2\\.5{margin-left:0.625rem}.ml-3\\.5{margin-left:0.875rem}.-ml-0{margin-left:0px}.-ml-1{margin-left:-0.25rem}.-ml-2{margin-left:-0.5rem}.-ml-3{margin-left:-0.75rem}.-ml-4{margin-left:-1rem}.-ml-5{margin-left:-1.25rem}.-ml-6{margin-left:-1.5rem}.-ml-7{margin-left:-1.75rem}.-ml-8{margin-left:-2rem}.-ml-9{margin-left:-2.25rem}.-ml-10{margin-left:-2.5rem}.-ml-11{margin-left:-2.75rem}.-ml-12{margin-left:-3rem}.-ml-14{margin-left:-3.5rem}.-ml-16{margin-left:-4rem}.-ml-20{margin-left:-5rem}.-ml-24{margin-left:-6rem}.-ml-28{margin-left:-7rem}.-ml-32{margin-left:-8rem}.-ml-36{margin-left:-9rem}.-ml-40{margin-left:-10rem}.-ml-44{margin-left:-11rem}.-ml-48{margin-left:-12rem}.-ml-52{margin-left:-13rem}.-ml-56{margin-left:-14rem}.-ml-60{margin-left:-15rem}.-ml-64{margin-left:-16rem}.-ml-72{margin-left:-18rem}.-ml-80{margin-left:-20rem}.-ml-96{margin-left:-24rem}.-ml-px{margin-left:-1px}.-ml-0\\.5{margin-left:-0.125rem}.-ml-1\\.5{margin-left:-0.375rem}.-ml-2\\.5{margin-left:-0.625rem}.-ml-3\\.5{margin-left:-0.875rem}.box-border{box-sizing:border-box}.box-content{box-sizing:content-box}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.inline-table{display:inline-table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row-group{display:table-row-group}.table-row{display:table-row}.flow-root{display:flow-root}.grid{display:grid}.inline-grid{display:inline-grid}.contents{display:contents}.list-item{display:list-item}.hidden{display:none}.h-0{height:0px}.h-1{height:0.25rem}.h-2{height:0.5rem}.h-3{height:0.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-20{height:5rem}.h-24{height:6rem}.h-28{height:7rem}.h-32{height:8rem}.h-36{height:9rem}.h-40{height:10rem}.h-44{height:11rem}.h-48{height:12rem}.h-52{height:13rem}.h-56{height:14rem}.h-60{height:15rem}.h-64{height:16rem}.h-72{height:18rem}.h-80{height:20rem}.h-96{height:24rem}.h-auto{height:auto}.h-px{height:1px}.h-0\\.5{height:0.125rem}.h-1\\.5{height:0.375rem}.h-2\\.5{height:0.625rem}.h-3\\.5{height:0.875rem}.h-1\\/2{height:50%}.h-1\\/3{height:33.333333%}.h-2\\/3{height:66.666667%}.h-1\\/4{height:25%}.h-2\\/4{height:50%}.h-3\\/4{height:75%}.h-1\\/5{height:20%}.h-2\\/5{height:40%}.h-3\\/5{height:60%}.h-4\\/5{height:80%}.h-1\\/6{height:16.666667%}.h-2\\/6{height:33.333333%}.h-3\\/6{height:50%}.h-4\\/6{height:66.666667%}.h-5\\/6{height:83.333333%}.h-full{height:100%}.h-screen{height:100vh}.h-XS{height:250px}.h-S{height:500px}.h-M{height:750px}.h-L{height:1000px}.h-XL{height:1250px}.h-XXL{height:1500px}.max-h-0{max-height:0px}.max-h-1{max-height:0.25rem}.max-h-2{max-height:0.5rem}.max-h-3{max-height:0.75rem}.max-h-4{max-height:1rem}.max-h-5{max-height:1.25rem}.max-h-6{max-height:1.5rem}.max-h-7{max-height:1.75rem}.max-h-8{max-height:2rem}.max-h-9{max-height:2.25rem}.max-h-10{max-height:2.5rem}.max-h-11{max-height:2.75rem}.max-h-12{max-height:3rem}.max-h-14{max-height:3.5rem}.max-h-16{max-height:4rem}.max-h-20{max-height:5rem}.max-h-24{max-height:6rem}.max-h-28{max-height:7rem}.max-h-32{max-height:8rem}.max-h-36{max-height:9rem}.max-h-40{max-height:10rem}.max-h-44{max-height:11rem}.max-h-48{max-height:12rem}.max-h-52{max-height:13rem}.max-h-56{max-height:14rem}.max-h-60{max-height:15rem}.max-h-64{max-height:16rem}.max-h-72{max-height:18rem}.max-h-80{max-height:20rem}.max-h-96{max-height:24rem}.max-h-px{max-height:1px}.max-h-0\\.5{max-height:0.125rem}.max-h-1\\.5{max-height:0.375rem}.max-h-2\\.5{max-height:0.625rem}.max-h-3\\.5{max-height:0.875rem}.max-h-full{max-height:100%}.max-h-screen{max-height:100vh}.max-h-XS{max-height:250px}.max-h-S{max-height:500px}.max-h-M{max-height:750px}.max-h-L{max-height:1000px}.max-h-XL{max-height:1250px}.max-h-XXL{max-height:1500px}.min-h-0{min-height:0px}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-0{width:0px}.w-1{width:0.25rem}.w-2{width:0.5rem}.w-3{width:0.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-32{width:8rem}.w-36{width:9rem}.w-40{width:10rem}.w-44{width:11rem}.w-48{width:12rem}.w-52{width:13rem}.w-56{width:14rem}.w-60{width:15rem}.w-64{width:16rem}.w-72{width:18rem}.w-80{width:20rem}.w-96{width:24rem}.w-auto{width:auto}.w-px{width:1px}.w-0\\.5{width:0.125rem}.w-1\\.5{width:0.375rem}.w-2\\.5{width:0.625rem}.w-3\\.5{width:0.875rem}.w-1\\/2{width:50%}.w-1\\/3{width:33.333333%}.w-2\\/3{width:66.666667%}.w-1\\/4{width:25%}.w-2\\/4{width:50%}.w-3\\/4{width:75%}.w-1\\/5{width:20%}.w-2\\/5{width:40%}.w-3\\/5{width:60%}.w-4\\/5{width:80%}.w-1\\/6{width:16.666667%}.w-2\\/6{width:33.333333%}.w-3\\/6{width:50%}.w-4\\/6{width:66.666667%}.w-5\\/6{width:83.333333%}.w-1\\/12{width:8.333333%}.w-2\\/12{width:16.666667%}.w-3\\/12{width:25%}.w-4\\/12{width:33.333333%}.w-5\\/12{width:41.666667%}.w-6\\/12{width:50%}.w-7\\/12{width:58.333333%}.w-8\\/12{width:66.666667%}.w-9\\/12{width:75%}.w-10\\/12{width:83.333333%}.w-11\\/12{width:91.666667%}.w-full{width:100%}.w-screen{width:100vw}.w-min{width:min-content}.w-max{width:max-content}.min-w-0{min-width:0px}.min-w-full{min-width:100%}.min-w-min{min-width:min-content}.min-w-max{min-width:max-content}.max-w-0{max-width:0rem}.max-w-none{max-width:none}.max-w-xs{max-width:20rem}.max-w-sm{max-width:24rem}.max-w-md{max-width:28rem}.max-w-lg{max-width:32rem}.max-w-xl{max-width:36rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-full{max-width:100%}.max-w-min{max-width:min-content}.max-w-max{max-width:max-content}.max-w-prose{max-width:65ch}.max-w-screen-sm{max-width:640px}.max-w-screen-md{max-width:768px}.max-w-screen-lg{max-width:1024px}.max-w-screen-xl{max-width:1280px}.max-w-screen-2xl{max-width:1536px}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-initial{flex:0 1 auto}.flex-none{flex:none}.flex-shrink-0{flex-shrink:0}.flex-shrink{flex-shrink:1}.flex-grow-0{flex-grow:0}.flex-grow{flex-grow:1}.table-auto{table-layout:auto}.table-fixed{table-layout:fixed}.border-collapse{border-collapse:collapse}.border-separate{border-collapse:separate}.origin-center{transform-origin:center}.origin-top{transform-origin:top}.origin-top-right{transform-origin:top right}.origin-right{transform-origin:right}.origin-bottom-right{transform-origin:bottom right}.origin-bottom{transform-origin:bottom}.origin-bottom-left{transform-origin:bottom left}.origin-left{transform-origin:left}.origin-top-left{transform-origin:top left}.transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform-gpu{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translate3d(var(--tw-translate-x), var(--tw-translate-y), 0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform-none{transform:none}.translate-x-0{--tw-translate-x:0px}.translate-x-1{--tw-translate-x:0.25rem}.translate-x-2{--tw-translate-x:0.5rem}.translate-x-3{--tw-translate-x:0.75rem}.translate-x-4{--tw-translate-x:1rem}.translate-x-5{--tw-translate-x:1.25rem}.translate-x-6{--tw-translate-x:1.5rem}.translate-x-7{--tw-translate-x:1.75rem}.translate-x-8{--tw-translate-x:2rem}.translate-x-9{--tw-translate-x:2.25rem}.translate-x-10{--tw-translate-x:2.5rem}.translate-x-11{--tw-translate-x:2.75rem}.translate-x-12{--tw-translate-x:3rem}.translate-x-14{--tw-translate-x:3.5rem}.translate-x-16{--tw-translate-x:4rem}.translate-x-20{--tw-translate-x:5rem}.translate-x-24{--tw-translate-x:6rem}.translate-x-28{--tw-translate-x:7rem}.translate-x-32{--tw-translate-x:8rem}.translate-x-36{--tw-translate-x:9rem}.translate-x-40{--tw-translate-x:10rem}.translate-x-44{--tw-translate-x:11rem}.translate-x-48{--tw-translate-x:12rem}.translate-x-52{--tw-translate-x:13rem}.translate-x-56{--tw-translate-x:14rem}.translate-x-60{--tw-translate-x:15rem}.translate-x-64{--tw-translate-x:16rem}.translate-x-72{--tw-translate-x:18rem}.translate-x-80{--tw-translate-x:20rem}.translate-x-96{--tw-translate-x:24rem}.translate-x-px{--tw-translate-x:1px}.translate-x-0\\.5{--tw-translate-x:0.125rem}.translate-x-1\\.5{--tw-translate-x:0.375rem}.translate-x-2\\.5{--tw-translate-x:0.625rem}.translate-x-3\\.5{--tw-translate-x:0.875rem}.-translate-x-0{--tw-translate-x:0px}.-translate-x-1{--tw-translate-x:-0.25rem}.-translate-x-2{--tw-translate-x:-0.5rem}.-translate-x-3{--tw-translate-x:-0.75rem}.-translate-x-4{--tw-translate-x:-1rem}.-translate-x-5{--tw-translate-x:-1.25rem}.-translate-x-6{--tw-translate-x:-1.5rem}.-translate-x-7{--tw-translate-x:-1.75rem}.-translate-x-8{--tw-translate-x:-2rem}.-translate-x-9{--tw-translate-x:-2.25rem}.-translate-x-10{--tw-translate-x:-2.5rem}.-translate-x-11{--tw-translate-x:-2.75rem}.-translate-x-12{--tw-translate-x:-3rem}.-translate-x-14{--tw-translate-x:-3.5rem}.-translate-x-16{--tw-translate-x:-4rem}.-translate-x-20{--tw-translate-x:-5rem}.-translate-x-24{--tw-translate-x:-6rem}.-translate-x-28{--tw-translate-x:-7rem}.-translate-x-32{--tw-translate-x:-8rem}.-translate-x-36{--tw-translate-x:-9rem}.-translate-x-40{--tw-translate-x:-10rem}.-translate-x-44{--tw-translate-x:-11rem}.-translate-x-48{--tw-translate-x:-12rem}.-translate-x-52{--tw-translate-x:-13rem}.-translate-x-56{--tw-translate-x:-14rem}.-translate-x-60{--tw-translate-x:-15rem}.-translate-x-64{--tw-translate-x:-16rem}.-translate-x-72{--tw-translate-x:-18rem}.-translate-x-80{--tw-translate-x:-20rem}.-translate-x-96{--tw-translate-x:-24rem}.-translate-x-px{--tw-translate-x:-1px}.-translate-x-0\\.5{--tw-translate-x:-0.125rem}.-translate-x-1\\.5{--tw-translate-x:-0.375rem}.-translate-x-2\\.5{--tw-translate-x:-0.625rem}.-translate-x-3\\.5{--tw-translate-x:-0.875rem}.translate-x-1\\/2{--tw-translate-x:50%}.translate-x-1\\/3{--tw-translate-x:33.333333%}.translate-x-2\\/3{--tw-translate-x:66.666667%}.translate-x-1\\/4{--tw-translate-x:25%}.translate-x-2\\/4{--tw-translate-x:50%}.translate-x-3\\/4{--tw-translate-x:75%}.translate-x-full{--tw-translate-x:100%}.-translate-x-1\\/2{--tw-translate-x:-50%}.-translate-x-1\\/3{--tw-translate-x:-33.333333%}.-translate-x-2\\/3{--tw-translate-x:-66.666667%}.-translate-x-1\\/4{--tw-translate-x:-25%}.-translate-x-2\\/4{--tw-translate-x:-50%}.-translate-x-3\\/4{--tw-translate-x:-75%}.-translate-x-full{--tw-translate-x:-100%}.translate-y-0{--tw-translate-y:0px}.translate-y-1{--tw-translate-y:0.25rem}.translate-y-2{--tw-translate-y:0.5rem}.translate-y-3{--tw-translate-y:0.75rem}.translate-y-4{--tw-translate-y:1rem}.translate-y-5{--tw-translate-y:1.25rem}.translate-y-6{--tw-translate-y:1.5rem}.translate-y-7{--tw-translate-y:1.75rem}.translate-y-8{--tw-translate-y:2rem}.translate-y-9{--tw-translate-y:2.25rem}.translate-y-10{--tw-translate-y:2.5rem}.translate-y-11{--tw-translate-y:2.75rem}.translate-y-12{--tw-translate-y:3rem}.translate-y-14{--tw-translate-y:3.5rem}.translate-y-16{--tw-translate-y:4rem}.translate-y-20{--tw-translate-y:5rem}.translate-y-24{--tw-translate-y:6rem}.translate-y-28{--tw-translate-y:7rem}.translate-y-32{--tw-translate-y:8rem}.translate-y-36{--tw-translate-y:9rem}.translate-y-40{--tw-translate-y:10rem}.translate-y-44{--tw-translate-y:11rem}.translate-y-48{--tw-translate-y:12rem}.translate-y-52{--tw-translate-y:13rem}.translate-y-56{--tw-translate-y:14rem}.translate-y-60{--tw-translate-y:15rem}.translate-y-64{--tw-translate-y:16rem}.translate-y-72{--tw-translate-y:18rem}.translate-y-80{--tw-translate-y:20rem}.translate-y-96{--tw-translate-y:24rem}.translate-y-px{--tw-translate-y:1px}.translate-y-0\\.5{--tw-translate-y:0.125rem}.translate-y-1\\.5{--tw-translate-y:0.375rem}.translate-y-2\\.5{--tw-translate-y:0.625rem}.translate-y-3\\.5{--tw-translate-y:0.875rem}.-translate-y-0{--tw-translate-y:0px}.-translate-y-1{--tw-translate-y:-0.25rem}.-translate-y-2{--tw-translate-y:-0.5rem}.-translate-y-3{--tw-translate-y:-0.75rem}.-translate-y-4{--tw-translate-y:-1rem}.-translate-y-5{--tw-translate-y:-1.25rem}.-translate-y-6{--tw-translate-y:-1.5rem}.-translate-y-7{--tw-translate-y:-1.75rem}.-translate-y-8{--tw-translate-y:-2rem}.-translate-y-9{--tw-translate-y:-2.25rem}.-translate-y-10{--tw-translate-y:-2.5rem}.-translate-y-11{--tw-translate-y:-2.75rem}.-translate-y-12{--tw-translate-y:-3rem}.-translate-y-14{--tw-translate-y:-3.5rem}.-translate-y-16{--tw-translate-y:-4rem}.-translate-y-20{--tw-translate-y:-5rem}.-translate-y-24{--tw-translate-y:-6rem}.-translate-y-28{--tw-translate-y:-7rem}.-translate-y-32{--tw-translate-y:-8rem}.-translate-y-36{--tw-translate-y:-9rem}.-translate-y-40{--tw-translate-y:-10rem}.-translate-y-44{--tw-translate-y:-11rem}.-translate-y-48{--tw-translate-y:-12rem}.-translate-y-52{--tw-translate-y:-13rem}.-translate-y-56{--tw-translate-y:-14rem}.-translate-y-60{--tw-translate-y:-15rem}.-translate-y-64{--tw-translate-y:-16rem}.-translate-y-72{--tw-translate-y:-18rem}.-translate-y-80{--tw-translate-y:-20rem}.-translate-y-96{--tw-translate-y:-24rem}.-translate-y-px{--tw-translate-y:-1px}.-translate-y-0\\.5{--tw-translate-y:-0.125rem}.-translate-y-1\\.5{--tw-translate-y:-0.375rem}.-translate-y-2\\.5{--tw-translate-y:-0.625rem}.-translate-y-3\\.5{--tw-translate-y:-0.875rem}.translate-y-1\\/2{--tw-translate-y:50%}.translate-y-1\\/3{--tw-translate-y:33.333333%}.translate-y-2\\/3{--tw-translate-y:66.666667%}.translate-y-1\\/4{--tw-translate-y:25%}.translate-y-2\\/4{--tw-translate-y:50%}.translate-y-3\\/4{--tw-translate-y:75%}.translate-y-full{--tw-translate-y:100%}.-translate-y-1\\/2{--tw-translate-y:-50%}.-translate-y-1\\/3{--tw-translate-y:-33.333333%}.-translate-y-2\\/3{--tw-translate-y:-66.666667%}.-translate-y-1\\/4{--tw-translate-y:-25%}.-translate-y-2\\/4{--tw-translate-y:-50%}.-translate-y-3\\/4{--tw-translate-y:-75%}.-translate-y-full{--tw-translate-y:-100%}.hover\\:translate-x-0:hover{--tw-translate-x:0px}.hover\\:translate-x-1:hover{--tw-translate-x:0.25rem}.hover\\:translate-x-2:hover{--tw-translate-x:0.5rem}.hover\\:translate-x-3:hover{--tw-translate-x:0.75rem}.hover\\:translate-x-4:hover{--tw-translate-x:1rem}.hover\\:translate-x-5:hover{--tw-translate-x:1.25rem}.hover\\:translate-x-6:hover{--tw-translate-x:1.5rem}.hover\\:translate-x-7:hover{--tw-translate-x:1.75rem}.hover\\:translate-x-8:hover{--tw-translate-x:2rem}.hover\\:translate-x-9:hover{--tw-translate-x:2.25rem}.hover\\:translate-x-10:hover{--tw-translate-x:2.5rem}.hover\\:translate-x-11:hover{--tw-translate-x:2.75rem}.hover\\:translate-x-12:hover{--tw-translate-x:3rem}.hover\\:translate-x-14:hover{--tw-translate-x:3.5rem}.hover\\:translate-x-16:hover{--tw-translate-x:4rem}.hover\\:translate-x-20:hover{--tw-translate-x:5rem}.hover\\:translate-x-24:hover{--tw-translate-x:6rem}.hover\\:translate-x-28:hover{--tw-translate-x:7rem}.hover\\:translate-x-32:hover{--tw-translate-x:8rem}.hover\\:translate-x-36:hover{--tw-translate-x:9rem}.hover\\:translate-x-40:hover{--tw-translate-x:10rem}.hover\\:translate-x-44:hover{--tw-translate-x:11rem}.hover\\:translate-x-48:hover{--tw-translate-x:12rem}.hover\\:translate-x-52:hover{--tw-translate-x:13rem}.hover\\:translate-x-56:hover{--tw-translate-x:14rem}.hover\\:translate-x-60:hover{--tw-translate-x:15rem}.hover\\:translate-x-64:hover{--tw-translate-x:16rem}.hover\\:translate-x-72:hover{--tw-translate-x:18rem}.hover\\:translate-x-80:hover{--tw-translate-x:20rem}.hover\\:translate-x-96:hover{--tw-translate-x:24rem}.hover\\:translate-x-px:hover{--tw-translate-x:1px}.hover\\:translate-x-0\\.5:hover{--tw-translate-x:0.125rem}.hover\\:translate-x-1\\.5:hover{--tw-translate-x:0.375rem}.hover\\:translate-x-2\\.5:hover{--tw-translate-x:0.625rem}.hover\\:translate-x-3\\.5:hover{--tw-translate-x:0.875rem}.hover\\:-translate-x-0:hover{--tw-translate-x:0px}.hover\\:-translate-x-1:hover{--tw-translate-x:-0.25rem}.hover\\:-translate-x-2:hover{--tw-translate-x:-0.5rem}.hover\\:-translate-x-3:hover{--tw-translate-x:-0.75rem}.hover\\:-translate-x-4:hover{--tw-translate-x:-1rem}.hover\\:-translate-x-5:hover{--tw-translate-x:-1.25rem}.hover\\:-translate-x-6:hover{--tw-translate-x:-1.5rem}.hover\\:-translate-x-7:hover{--tw-translate-x:-1.75rem}.hover\\:-translate-x-8:hover{--tw-translate-x:-2rem}.hover\\:-translate-x-9:hover{--tw-translate-x:-2.25rem}.hover\\:-translate-x-10:hover{--tw-translate-x:-2.5rem}.hover\\:-translate-x-11:hover{--tw-translate-x:-2.75rem}.hover\\:-translate-x-12:hover{--tw-translate-x:-3rem}.hover\\:-translate-x-14:hover{--tw-translate-x:-3.5rem}.hover\\:-translate-x-16:hover{--tw-translate-x:-4rem}.hover\\:-translate-x-20:hover{--tw-translate-x:-5rem}.hover\\:-translate-x-24:hover{--tw-translate-x:-6rem}.hover\\:-translate-x-28:hover{--tw-translate-x:-7rem}.hover\\:-translate-x-32:hover{--tw-translate-x:-8rem}.hover\\:-translate-x-36:hover{--tw-translate-x:-9rem}.hover\\:-translate-x-40:hover{--tw-translate-x:-10rem}.hover\\:-translate-x-44:hover{--tw-translate-x:-11rem}.hover\\:-translate-x-48:hover{--tw-translate-x:-12rem}.hover\\:-translate-x-52:hover{--tw-translate-x:-13rem}.hover\\:-translate-x-56:hover{--tw-translate-x:-14rem}.hover\\:-translate-x-60:hover{--tw-translate-x:-15rem}.hover\\:-translate-x-64:hover{--tw-translate-x:-16rem}.hover\\:-translate-x-72:hover{--tw-translate-x:-18rem}.hover\\:-translate-x-80:hover{--tw-translate-x:-20rem}.hover\\:-translate-x-96:hover{--tw-translate-x:-24rem}.hover\\:-translate-x-px:hover{--tw-translate-x:-1px}.hover\\:-translate-x-0\\.5:hover{--tw-translate-x:-0.125rem}.hover\\:-translate-x-1\\.5:hover{--tw-translate-x:-0.375rem}.hover\\:-translate-x-2\\.5:hover{--tw-translate-x:-0.625rem}.hover\\:-translate-x-3\\.5:hover{--tw-translate-x:-0.875rem}.hover\\:translate-x-1\\/2:hover{--tw-translate-x:50%}.hover\\:translate-x-1\\/3:hover{--tw-translate-x:33.333333%}.hover\\:translate-x-2\\/3:hover{--tw-translate-x:66.666667%}.hover\\:translate-x-1\\/4:hover{--tw-translate-x:25%}.hover\\:translate-x-2\\/4:hover{--tw-translate-x:50%}.hover\\:translate-x-3\\/4:hover{--tw-translate-x:75%}.hover\\:translate-x-full:hover{--tw-translate-x:100%}.hover\\:-translate-x-1\\/2:hover{--tw-translate-x:-50%}.hover\\:-translate-x-1\\/3:hover{--tw-translate-x:-33.333333%}.hover\\:-translate-x-2\\/3:hover{--tw-translate-x:-66.666667%}.hover\\:-translate-x-1\\/4:hover{--tw-translate-x:-25%}.hover\\:-translate-x-2\\/4:hover{--tw-translate-x:-50%}.hover\\:-translate-x-3\\/4:hover{--tw-translate-x:-75%}.hover\\:-translate-x-full:hover{--tw-translate-x:-100%}.hover\\:translate-y-0:hover{--tw-translate-y:0px}.hover\\:translate-y-1:hover{--tw-translate-y:0.25rem}.hover\\:translate-y-2:hover{--tw-translate-y:0.5rem}.hover\\:translate-y-3:hover{--tw-translate-y:0.75rem}.hover\\:translate-y-4:hover{--tw-translate-y:1rem}.hover\\:translate-y-5:hover{--tw-translate-y:1.25rem}.hover\\:translate-y-6:hover{--tw-translate-y:1.5rem}.hover\\:translate-y-7:hover{--tw-translate-y:1.75rem}.hover\\:translate-y-8:hover{--tw-translate-y:2rem}.hover\\:translate-y-9:hover{--tw-translate-y:2.25rem}.hover\\:translate-y-10:hover{--tw-translate-y:2.5rem}.hover\\:translate-y-11:hover{--tw-translate-y:2.75rem}.hover\\:translate-y-12:hover{--tw-translate-y:3rem}.hover\\:translate-y-14:hover{--tw-translate-y:3.5rem}.hover\\:translate-y-16:hover{--tw-translate-y:4rem}.hover\\:translate-y-20:hover{--tw-translate-y:5rem}.hover\\:translate-y-24:hover{--tw-translate-y:6rem}.hover\\:translate-y-28:hover{--tw-translate-y:7rem}.hover\\:translate-y-32:hover{--tw-translate-y:8rem}.hover\\:translate-y-36:hover{--tw-translate-y:9rem}.hover\\:translate-y-40:hover{--tw-translate-y:10rem}.hover\\:translate-y-44:hover{--tw-translate-y:11rem}.hover\\:translate-y-48:hover{--tw-translate-y:12rem}.hover\\:translate-y-52:hover{--tw-translate-y:13rem}.hover\\:translate-y-56:hover{--tw-translate-y:14rem}.hover\\:translate-y-60:hover{--tw-translate-y:15rem}.hover\\:translate-y-64:hover{--tw-translate-y:16rem}.hover\\:translate-y-72:hover{--tw-translate-y:18rem}.hover\\:translate-y-80:hover{--tw-translate-y:20rem}.hover\\:translate-y-96:hover{--tw-translate-y:24rem}.hover\\:translate-y-px:hover{--tw-translate-y:1px}.hover\\:translate-y-0\\.5:hover{--tw-translate-y:0.125rem}.hover\\:translate-y-1\\.5:hover{--tw-translate-y:0.375rem}.hover\\:translate-y-2\\.5:hover{--tw-translate-y:0.625rem}.hover\\:translate-y-3\\.5:hover{--tw-translate-y:0.875rem}.hover\\:-translate-y-0:hover{--tw-translate-y:0px}.hover\\:-translate-y-1:hover{--tw-translate-y:-0.25rem}.hover\\:-translate-y-2:hover{--tw-translate-y:-0.5rem}.hover\\:-translate-y-3:hover{--tw-translate-y:-0.75rem}.hover\\:-translate-y-4:hover{--tw-translate-y:-1rem}.hover\\:-translate-y-5:hover{--tw-translate-y:-1.25rem}.hover\\:-translate-y-6:hover{--tw-translate-y:-1.5rem}.hover\\:-translate-y-7:hover{--tw-translate-y:-1.75rem}.hover\\:-translate-y-8:hover{--tw-translate-y:-2rem}.hover\\:-translate-y-9:hover{--tw-translate-y:-2.25rem}.hover\\:-translate-y-10:hover{--tw-translate-y:-2.5rem}.hover\\:-translate-y-11:hover{--tw-translate-y:-2.75rem}.hover\\:-translate-y-12:hover{--tw-translate-y:-3rem}.hover\\:-translate-y-14:hover{--tw-translate-y:-3.5rem}.hover\\:-translate-y-16:hover{--tw-translate-y:-4rem}.hover\\:-translate-y-20:hover{--tw-translate-y:-5rem}.hover\\:-translate-y-24:hover{--tw-translate-y:-6rem}.hover\\:-translate-y-28:hover{--tw-translate-y:-7rem}.hover\\:-translate-y-32:hover{--tw-translate-y:-8rem}.hover\\:-translate-y-36:hover{--tw-translate-y:-9rem}.hover\\:-translate-y-40:hover{--tw-translate-y:-10rem}.hover\\:-translate-y-44:hover{--tw-translate-y:-11rem}.hover\\:-translate-y-48:hover{--tw-translate-y:-12rem}.hover\\:-translate-y-52:hover{--tw-translate-y:-13rem}.hover\\:-translate-y-56:hover{--tw-translate-y:-14rem}.hover\\:-translate-y-60:hover{--tw-translate-y:-15rem}.hover\\:-translate-y-64:hover{--tw-translate-y:-16rem}.hover\\:-translate-y-72:hover{--tw-translate-y:-18rem}.hover\\:-translate-y-80:hover{--tw-translate-y:-20rem}.hover\\:-translate-y-96:hover{--tw-translate-y:-24rem}.hover\\:-translate-y-px:hover{--tw-translate-y:-1px}.hover\\:-translate-y-0\\.5:hover{--tw-translate-y:-0.125rem}.hover\\:-translate-y-1\\.5:hover{--tw-translate-y:-0.375rem}.hover\\:-translate-y-2\\.5:hover{--tw-translate-y:-0.625rem}.hover\\:-translate-y-3\\.5:hover{--tw-translate-y:-0.875rem}.hover\\:translate-y-1\\/2:hover{--tw-translate-y:50%}.hover\\:translate-y-1\\/3:hover{--tw-translate-y:33.333333%}.hover\\:translate-y-2\\/3:hover{--tw-translate-y:66.666667%}.hover\\:translate-y-1\\/4:hover{--tw-translate-y:25%}.hover\\:translate-y-2\\/4:hover{--tw-translate-y:50%}.hover\\:translate-y-3\\/4:hover{--tw-translate-y:75%}.hover\\:translate-y-full:hover{--tw-translate-y:100%}.hover\\:-translate-y-1\\/2:hover{--tw-translate-y:-50%}.hover\\:-translate-y-1\\/3:hover{--tw-translate-y:-33.333333%}.hover\\:-translate-y-2\\/3:hover{--tw-translate-y:-66.666667%}.hover\\:-translate-y-1\\/4:hover{--tw-translate-y:-25%}.hover\\:-translate-y-2\\/4:hover{--tw-translate-y:-50%}.hover\\:-translate-y-3\\/4:hover{--tw-translate-y:-75%}.hover\\:-translate-y-full:hover{--tw-translate-y:-100%}.focus\\:translate-x-0:focus{--tw-translate-x:0px}.focus\\:translate-x-1:focus{--tw-translate-x:0.25rem}.focus\\:translate-x-2:focus{--tw-translate-x:0.5rem}.focus\\:translate-x-3:focus{--tw-translate-x:0.75rem}.focus\\:translate-x-4:focus{--tw-translate-x:1rem}.focus\\:translate-x-5:focus{--tw-translate-x:1.25rem}.focus\\:translate-x-6:focus{--tw-translate-x:1.5rem}.focus\\:translate-x-7:focus{--tw-translate-x:1.75rem}.focus\\:translate-x-8:focus{--tw-translate-x:2rem}.focus\\:translate-x-9:focus{--tw-translate-x:2.25rem}.focus\\:translate-x-10:focus{--tw-translate-x:2.5rem}.focus\\:translate-x-11:focus{--tw-translate-x:2.75rem}.focus\\:translate-x-12:focus{--tw-translate-x:3rem}.focus\\:translate-x-14:focus{--tw-translate-x:3.5rem}.focus\\:translate-x-16:focus{--tw-translate-x:4rem}.focus\\:translate-x-20:focus{--tw-translate-x:5rem}.focus\\:translate-x-24:focus{--tw-translate-x:6rem}.focus\\:translate-x-28:focus{--tw-translate-x:7rem}.focus\\:translate-x-32:focus{--tw-translate-x:8rem}.focus\\:translate-x-36:focus{--tw-translate-x:9rem}.focus\\:translate-x-40:focus{--tw-translate-x:10rem}.focus\\:translate-x-44:focus{--tw-translate-x:11rem}.focus\\:translate-x-48:focus{--tw-translate-x:12rem}.focus\\:translate-x-52:focus{--tw-translate-x:13rem}.focus\\:translate-x-56:focus{--tw-translate-x:14rem}.focus\\:translate-x-60:focus{--tw-translate-x:15rem}.focus\\:translate-x-64:focus{--tw-translate-x:16rem}.focus\\:translate-x-72:focus{--tw-translate-x:18rem}.focus\\:translate-x-80:focus{--tw-translate-x:20rem}.focus\\:translate-x-96:focus{--tw-translate-x:24rem}.focus\\:translate-x-px:focus{--tw-translate-x:1px}.focus\\:translate-x-0\\.5:focus{--tw-translate-x:0.125rem}.focus\\:translate-x-1\\.5:focus{--tw-translate-x:0.375rem}.focus\\:translate-x-2\\.5:focus{--tw-translate-x:0.625rem}.focus\\:translate-x-3\\.5:focus{--tw-translate-x:0.875rem}.focus\\:-translate-x-0:focus{--tw-translate-x:0px}.focus\\:-translate-x-1:focus{--tw-translate-x:-0.25rem}.focus\\:-translate-x-2:focus{--tw-translate-x:-0.5rem}.focus\\:-translate-x-3:focus{--tw-translate-x:-0.75rem}.focus\\:-translate-x-4:focus{--tw-translate-x:-1rem}.focus\\:-translate-x-5:focus{--tw-translate-x:-1.25rem}.focus\\:-translate-x-6:focus{--tw-translate-x:-1.5rem}.focus\\:-translate-x-7:focus{--tw-translate-x:-1.75rem}.focus\\:-translate-x-8:focus{--tw-translate-x:-2rem}.focus\\:-translate-x-9:focus{--tw-translate-x:-2.25rem}.focus\\:-translate-x-10:focus{--tw-translate-x:-2.5rem}.focus\\:-translate-x-11:focus{--tw-translate-x:-2.75rem}.focus\\:-translate-x-12:focus{--tw-translate-x:-3rem}.focus\\:-translate-x-14:focus{--tw-translate-x:-3.5rem}.focus\\:-translate-x-16:focus{--tw-translate-x:-4rem}.focus\\:-translate-x-20:focus{--tw-translate-x:-5rem}.focus\\:-translate-x-24:focus{--tw-translate-x:-6rem}.focus\\:-translate-x-28:focus{--tw-translate-x:-7rem}.focus\\:-translate-x-32:focus{--tw-translate-x:-8rem}.focus\\:-translate-x-36:focus{--tw-translate-x:-9rem}.focus\\:-translate-x-40:focus{--tw-translate-x:-10rem}.focus\\:-translate-x-44:focus{--tw-translate-x:-11rem}.focus\\:-translate-x-48:focus{--tw-translate-x:-12rem}.focus\\:-translate-x-52:focus{--tw-translate-x:-13rem}.focus\\:-translate-x-56:focus{--tw-translate-x:-14rem}.focus\\:-translate-x-60:focus{--tw-translate-x:-15rem}.focus\\:-translate-x-64:focus{--tw-translate-x:-16rem}.focus\\:-translate-x-72:focus{--tw-translate-x:-18rem}.focus\\:-translate-x-80:focus{--tw-translate-x:-20rem}.focus\\:-translate-x-96:focus{--tw-translate-x:-24rem}.focus\\:-translate-x-px:focus{--tw-translate-x:-1px}.focus\\:-translate-x-0\\.5:focus{--tw-translate-x:-0.125rem}.focus\\:-translate-x-1\\.5:focus{--tw-translate-x:-0.375rem}.focus\\:-translate-x-2\\.5:focus{--tw-translate-x:-0.625rem}.focus\\:-translate-x-3\\.5:focus{--tw-translate-x:-0.875rem}.focus\\:translate-x-1\\/2:focus{--tw-translate-x:50%}.focus\\:translate-x-1\\/3:focus{--tw-translate-x:33.333333%}.focus\\:translate-x-2\\/3:focus{--tw-translate-x:66.666667%}.focus\\:translate-x-1\\/4:focus{--tw-translate-x:25%}.focus\\:translate-x-2\\/4:focus{--tw-translate-x:50%}.focus\\:translate-x-3\\/4:focus{--tw-translate-x:75%}.focus\\:translate-x-full:focus{--tw-translate-x:100%}.focus\\:-translate-x-1\\/2:focus{--tw-translate-x:-50%}.focus\\:-translate-x-1\\/3:focus{--tw-translate-x:-33.333333%}.focus\\:-translate-x-2\\/3:focus{--tw-translate-x:-66.666667%}.focus\\:-translate-x-1\\/4:focus{--tw-translate-x:-25%}.focus\\:-translate-x-2\\/4:focus{--tw-translate-x:-50%}.focus\\:-translate-x-3\\/4:focus{--tw-translate-x:-75%}.focus\\:-translate-x-full:focus{--tw-translate-x:-100%}.focus\\:translate-y-0:focus{--tw-translate-y:0px}.focus\\:translate-y-1:focus{--tw-translate-y:0.25rem}.focus\\:translate-y-2:focus{--tw-translate-y:0.5rem}.focus\\:translate-y-3:focus{--tw-translate-y:0.75rem}.focus\\:translate-y-4:focus{--tw-translate-y:1rem}.focus\\:translate-y-5:focus{--tw-translate-y:1.25rem}.focus\\:translate-y-6:focus{--tw-translate-y:1.5rem}.focus\\:translate-y-7:focus{--tw-translate-y:1.75rem}.focus\\:translate-y-8:focus{--tw-translate-y:2rem}.focus\\:translate-y-9:focus{--tw-translate-y:2.25rem}.focus\\:translate-y-10:focus{--tw-translate-y:2.5rem}.focus\\:translate-y-11:focus{--tw-translate-y:2.75rem}.focus\\:translate-y-12:focus{--tw-translate-y:3rem}.focus\\:translate-y-14:focus{--tw-translate-y:3.5rem}.focus\\:translate-y-16:focus{--tw-translate-y:4rem}.focus\\:translate-y-20:focus{--tw-translate-y:5rem}.focus\\:translate-y-24:focus{--tw-translate-y:6rem}.focus\\:translate-y-28:focus{--tw-translate-y:7rem}.focus\\:translate-y-32:focus{--tw-translate-y:8rem}.focus\\:translate-y-36:focus{--tw-translate-y:9rem}.focus\\:translate-y-40:focus{--tw-translate-y:10rem}.focus\\:translate-y-44:focus{--tw-translate-y:11rem}.focus\\:translate-y-48:focus{--tw-translate-y:12rem}.focus\\:translate-y-52:focus{--tw-translate-y:13rem}.focus\\:translate-y-56:focus{--tw-translate-y:14rem}.focus\\:translate-y-60:focus{--tw-translate-y:15rem}.focus\\:translate-y-64:focus{--tw-translate-y:16rem}.focus\\:translate-y-72:focus{--tw-translate-y:18rem}.focus\\:translate-y-80:focus{--tw-translate-y:20rem}.focus\\:translate-y-96:focus{--tw-translate-y:24rem}.focus\\:translate-y-px:focus{--tw-translate-y:1px}.focus\\:translate-y-0\\.5:focus{--tw-translate-y:0.125rem}.focus\\:translate-y-1\\.5:focus{--tw-translate-y:0.375rem}.focus\\:translate-y-2\\.5:focus{--tw-translate-y:0.625rem}.focus\\:translate-y-3\\.5:focus{--tw-translate-y:0.875rem}.focus\\:-translate-y-0:focus{--tw-translate-y:0px}.focus\\:-translate-y-1:focus{--tw-translate-y:-0.25rem}.focus\\:-translate-y-2:focus{--tw-translate-y:-0.5rem}.focus\\:-translate-y-3:focus{--tw-translate-y:-0.75rem}.focus\\:-translate-y-4:focus{--tw-translate-y:-1rem}.focus\\:-translate-y-5:focus{--tw-translate-y:-1.25rem}.focus\\:-translate-y-6:focus{--tw-translate-y:-1.5rem}.focus\\:-translate-y-7:focus{--tw-translate-y:-1.75rem}.focus\\:-translate-y-8:focus{--tw-translate-y:-2rem}.focus\\:-translate-y-9:focus{--tw-translate-y:-2.25rem}.focus\\:-translate-y-10:focus{--tw-translate-y:-2.5rem}.focus\\:-translate-y-11:focus{--tw-translate-y:-2.75rem}.focus\\:-translate-y-12:focus{--tw-translate-y:-3rem}.focus\\:-translate-y-14:focus{--tw-translate-y:-3.5rem}.focus\\:-translate-y-16:focus{--tw-translate-y:-4rem}.focus\\:-translate-y-20:focus{--tw-translate-y:-5rem}.focus\\:-translate-y-24:focus{--tw-translate-y:-6rem}.focus\\:-translate-y-28:focus{--tw-translate-y:-7rem}.focus\\:-translate-y-32:focus{--tw-translate-y:-8rem}.focus\\:-translate-y-36:focus{--tw-translate-y:-9rem}.focus\\:-translate-y-40:focus{--tw-translate-y:-10rem}.focus\\:-translate-y-44:focus{--tw-translate-y:-11rem}.focus\\:-translate-y-48:focus{--tw-translate-y:-12rem}.focus\\:-translate-y-52:focus{--tw-translate-y:-13rem}.focus\\:-translate-y-56:focus{--tw-translate-y:-14rem}.focus\\:-translate-y-60:focus{--tw-translate-y:-15rem}.focus\\:-translate-y-64:focus{--tw-translate-y:-16rem}.focus\\:-translate-y-72:focus{--tw-translate-y:-18rem}.focus\\:-translate-y-80:focus{--tw-translate-y:-20rem}.focus\\:-translate-y-96:focus{--tw-translate-y:-24rem}.focus\\:-translate-y-px:focus{--tw-translate-y:-1px}.focus\\:-translate-y-0\\.5:focus{--tw-translate-y:-0.125rem}.focus\\:-translate-y-1\\.5:focus{--tw-translate-y:-0.375rem}.focus\\:-translate-y-2\\.5:focus{--tw-translate-y:-0.625rem}.focus\\:-translate-y-3\\.5:focus{--tw-translate-y:-0.875rem}.focus\\:translate-y-1\\/2:focus{--tw-translate-y:50%}.focus\\:translate-y-1\\/3:focus{--tw-translate-y:33.333333%}.focus\\:translate-y-2\\/3:focus{--tw-translate-y:66.666667%}.focus\\:translate-y-1\\/4:focus{--tw-translate-y:25%}.focus\\:translate-y-2\\/4:focus{--tw-translate-y:50%}.focus\\:translate-y-3\\/4:focus{--tw-translate-y:75%}.focus\\:translate-y-full:focus{--tw-translate-y:100%}.focus\\:-translate-y-1\\/2:focus{--tw-translate-y:-50%}.focus\\:-translate-y-1\\/3:focus{--tw-translate-y:-33.333333%}.focus\\:-translate-y-2\\/3:focus{--tw-translate-y:-66.666667%}.focus\\:-translate-y-1\\/4:focus{--tw-translate-y:-25%}.focus\\:-translate-y-2\\/4:focus{--tw-translate-y:-50%}.focus\\:-translate-y-3\\/4:focus{--tw-translate-y:-75%}.focus\\:-translate-y-full:focus{--tw-translate-y:-100%}.rotate-0{--tw-rotate:0deg}.rotate-1{--tw-rotate:1deg}.rotate-2{--tw-rotate:2deg}.rotate-3{--tw-rotate:3deg}.rotate-6{--tw-rotate:6deg}.rotate-12{--tw-rotate:12deg}.rotate-45{--tw-rotate:45deg}.rotate-90{--tw-rotate:90deg}.rotate-180{--tw-rotate:180deg}.-rotate-180{--tw-rotate:-180deg}.-rotate-90{--tw-rotate:-90deg}.-rotate-45{--tw-rotate:-45deg}.-rotate-12{--tw-rotate:-12deg}.-rotate-6{--tw-rotate:-6deg}.-rotate-3{--tw-rotate:-3deg}.-rotate-2{--tw-rotate:-2deg}.-rotate-1{--tw-rotate:-1deg}.hover\\:rotate-0:hover{--tw-rotate:0deg}.hover\\:rotate-1:hover{--tw-rotate:1deg}.hover\\:rotate-2:hover{--tw-rotate:2deg}.hover\\:rotate-3:hover{--tw-rotate:3deg}.hover\\:rotate-6:hover{--tw-rotate:6deg}.hover\\:rotate-12:hover{--tw-rotate:12deg}.hover\\:rotate-45:hover{--tw-rotate:45deg}.hover\\:rotate-90:hover{--tw-rotate:90deg}.hover\\:rotate-180:hover{--tw-rotate:180deg}.hover\\:-rotate-180:hover{--tw-rotate:-180deg}.hover\\:-rotate-90:hover{--tw-rotate:-90deg}.hover\\:-rotate-45:hover{--tw-rotate:-45deg}.hover\\:-rotate-12:hover{--tw-rotate:-12deg}.hover\\:-rotate-6:hover{--tw-rotate:-6deg}.hover\\:-rotate-3:hover{--tw-rotate:-3deg}.hover\\:-rotate-2:hover{--tw-rotate:-2deg}.hover\\:-rotate-1:hover{--tw-rotate:-1deg}.focus\\:rotate-0:focus{--tw-rotate:0deg}.focus\\:rotate-1:focus{--tw-rotate:1deg}.focus\\:rotate-2:focus{--tw-rotate:2deg}.focus\\:rotate-3:focus{--tw-rotate:3deg}.focus\\:rotate-6:focus{--tw-rotate:6deg}.focus\\:rotate-12:focus{--tw-rotate:12deg}.focus\\:rotate-45:focus{--tw-rotate:45deg}.focus\\:rotate-90:focus{--tw-rotate:90deg}.focus\\:rotate-180:focus{--tw-rotate:180deg}.focus\\:-rotate-180:focus{--tw-rotate:-180deg}.focus\\:-rotate-90:focus{--tw-rotate:-90deg}.focus\\:-rotate-45:focus{--tw-rotate:-45deg}.focus\\:-rotate-12:focus{--tw-rotate:-12deg}.focus\\:-rotate-6:focus{--tw-rotate:-6deg}.focus\\:-rotate-3:focus{--tw-rotate:-3deg}.focus\\:-rotate-2:focus{--tw-rotate:-2deg}.focus\\:-rotate-1:focus{--tw-rotate:-1deg}.skew-x-0{--tw-skew-x:0deg}.skew-x-1{--tw-skew-x:1deg}.skew-x-2{--tw-skew-x:2deg}.skew-x-3{--tw-skew-x:3deg}.skew-x-6{--tw-skew-x:6deg}.skew-x-12{--tw-skew-x:12deg}.-skew-x-12{--tw-skew-x:-12deg}.-skew-x-6{--tw-skew-x:-6deg}.-skew-x-3{--tw-skew-x:-3deg}.-skew-x-2{--tw-skew-x:-2deg}.-skew-x-1{--tw-skew-x:-1deg}.skew-y-0{--tw-skew-y:0deg}.skew-y-1{--tw-skew-y:1deg}.skew-y-2{--tw-skew-y:2deg}.skew-y-3{--tw-skew-y:3deg}.skew-y-6{--tw-skew-y:6deg}.skew-y-12{--tw-skew-y:12deg}.-skew-y-12{--tw-skew-y:-12deg}.-skew-y-6{--tw-skew-y:-6deg}.-skew-y-3{--tw-skew-y:-3deg}.-skew-y-2{--tw-skew-y:-2deg}.-skew-y-1{--tw-skew-y:-1deg}.hover\\:skew-x-0:hover{--tw-skew-x:0deg}.hover\\:skew-x-1:hover{--tw-skew-x:1deg}.hover\\:skew-x-2:hover{--tw-skew-x:2deg}.hover\\:skew-x-3:hover{--tw-skew-x:3deg}.hover\\:skew-x-6:hover{--tw-skew-x:6deg}.hover\\:skew-x-12:hover{--tw-skew-x:12deg}.hover\\:-skew-x-12:hover{--tw-skew-x:-12deg}.hover\\:-skew-x-6:hover{--tw-skew-x:-6deg}.hover\\:-skew-x-3:hover{--tw-skew-x:-3deg}.hover\\:-skew-x-2:hover{--tw-skew-x:-2deg}.hover\\:-skew-x-1:hover{--tw-skew-x:-1deg}.hover\\:skew-y-0:hover{--tw-skew-y:0deg}.hover\\:skew-y-1:hover{--tw-skew-y:1deg}.hover\\:skew-y-2:hover{--tw-skew-y:2deg}.hover\\:skew-y-3:hover{--tw-skew-y:3deg}.hover\\:skew-y-6:hover{--tw-skew-y:6deg}.hover\\:skew-y-12:hover{--tw-skew-y:12deg}.hover\\:-skew-y-12:hover{--tw-skew-y:-12deg}.hover\\:-skew-y-6:hover{--tw-skew-y:-6deg}.hover\\:-skew-y-3:hover{--tw-skew-y:-3deg}.hover\\:-skew-y-2:hover{--tw-skew-y:-2deg}.hover\\:-skew-y-1:hover{--tw-skew-y:-1deg}.focus\\:skew-x-0:focus{--tw-skew-x:0deg}.focus\\:skew-x-1:focus{--tw-skew-x:1deg}.focus\\:skew-x-2:focus{--tw-skew-x:2deg}.focus\\:skew-x-3:focus{--tw-skew-x:3deg}.focus\\:skew-x-6:focus{--tw-skew-x:6deg}.focus\\:skew-x-12:focus{--tw-skew-x:12deg}.focus\\:-skew-x-12:focus{--tw-skew-x:-12deg}.focus\\:-skew-x-6:focus{--tw-skew-x:-6deg}.focus\\:-skew-x-3:focus{--tw-skew-x:-3deg}.focus\\:-skew-x-2:focus{--tw-skew-x:-2deg}.focus\\:-skew-x-1:focus{--tw-skew-x:-1deg}.focus\\:skew-y-0:focus{--tw-skew-y:0deg}.focus\\:skew-y-1:focus{--tw-skew-y:1deg}.focus\\:skew-y-2:focus{--tw-skew-y:2deg}.focus\\:skew-y-3:focus{--tw-skew-y:3deg}.focus\\:skew-y-6:focus{--tw-skew-y:6deg}.focus\\:skew-y-12:focus{--tw-skew-y:12deg}.focus\\:-skew-y-12:focus{--tw-skew-y:-12deg}.focus\\:-skew-y-6:focus{--tw-skew-y:-6deg}.focus\\:-skew-y-3:focus{--tw-skew-y:-3deg}.focus\\:-skew-y-2:focus{--tw-skew-y:-2deg}.focus\\:-skew-y-1:focus{--tw-skew-y:-1deg}.scale-0{--tw-scale-x:0;--tw-scale-y:0}.scale-50{--tw-scale-x:.5;--tw-scale-y:.5}.scale-75{--tw-scale-x:.75;--tw-scale-y:.75}.scale-90{--tw-scale-x:.9;--tw-scale-y:.9}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05}.scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1}.scale-125{--tw-scale-x:1.25;--tw-scale-y:1.25}.scale-150{--tw-scale-x:1.5;--tw-scale-y:1.5}.hover\\:scale-0:hover{--tw-scale-x:0;--tw-scale-y:0}.hover\\:scale-50:hover{--tw-scale-x:.5;--tw-scale-y:.5}.hover\\:scale-75:hover{--tw-scale-x:.75;--tw-scale-y:.75}.hover\\:scale-90:hover{--tw-scale-x:.9;--tw-scale-y:.9}.hover\\:scale-95:hover{--tw-scale-x:.95;--tw-scale-y:.95}.hover\\:scale-100:hover{--tw-scale-x:1;--tw-scale-y:1}.hover\\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.hover\\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.hover\\:scale-125:hover{--tw-scale-x:1.25;--tw-scale-y:1.25}.hover\\:scale-150:hover{--tw-scale-x:1.5;--tw-scale-y:1.5}.focus\\:scale-0:focus{--tw-scale-x:0;--tw-scale-y:0}.focus\\:scale-50:focus{--tw-scale-x:.5;--tw-scale-y:.5}.focus\\:scale-75:focus{--tw-scale-x:.75;--tw-scale-y:.75}.focus\\:scale-90:focus{--tw-scale-x:.9;--tw-scale-y:.9}.focus\\:scale-95:focus{--tw-scale-x:.95;--tw-scale-y:.95}.focus\\:scale-100:focus{--tw-scale-x:1;--tw-scale-y:1}.focus\\:scale-105:focus{--tw-scale-x:1.05;--tw-scale-y:1.05}.focus\\:scale-110:focus{--tw-scale-x:1.1;--tw-scale-y:1.1}.focus\\:scale-125:focus{--tw-scale-x:1.25;--tw-scale-y:1.25}.focus\\:scale-150:focus{--tw-scale-x:1.5;--tw-scale-y:1.5}.scale-x-0{--tw-scale-x:0}.scale-x-50{--tw-scale-x:.5}.scale-x-75{--tw-scale-x:.75}.scale-x-90{--tw-scale-x:.9}.scale-x-95{--tw-scale-x:.95}.scale-x-100{--tw-scale-x:1}.scale-x-105{--tw-scale-x:1.05}.scale-x-110{--tw-scale-x:1.1}.scale-x-125{--tw-scale-x:1.25}.scale-x-150{--tw-scale-x:1.5}.scale-y-0{--tw-scale-y:0}.scale-y-50{--tw-scale-y:.5}.scale-y-75{--tw-scale-y:.75}.scale-y-90{--tw-scale-y:.9}.scale-y-95{--tw-scale-y:.95}.scale-y-100{--tw-scale-y:1}.scale-y-105{--tw-scale-y:1.05}.scale-y-110{--tw-scale-y:1.1}.scale-y-125{--tw-scale-y:1.25}.scale-y-150{--tw-scale-y:1.5}.hover\\:scale-x-0:hover{--tw-scale-x:0}.hover\\:scale-x-50:hover{--tw-scale-x:.5}.hover\\:scale-x-75:hover{--tw-scale-x:.75}.hover\\:scale-x-90:hover{--tw-scale-x:.9}.hover\\:scale-x-95:hover{--tw-scale-x:.95}.hover\\:scale-x-100:hover{--tw-scale-x:1}.hover\\:scale-x-105:hover{--tw-scale-x:1.05}.hover\\:scale-x-110:hover{--tw-scale-x:1.1}.hover\\:scale-x-125:hover{--tw-scale-x:1.25}.hover\\:scale-x-150:hover{--tw-scale-x:1.5}.hover\\:scale-y-0:hover{--tw-scale-y:0}.hover\\:scale-y-50:hover{--tw-scale-y:.5}.hover\\:scale-y-75:hover{--tw-scale-y:.75}.hover\\:scale-y-90:hover{--tw-scale-y:.9}.hover\\:scale-y-95:hover{--tw-scale-y:.95}.hover\\:scale-y-100:hover{--tw-scale-y:1}.hover\\:scale-y-105:hover{--tw-scale-y:1.05}.hover\\:scale-y-110:hover{--tw-scale-y:1.1}.hover\\:scale-y-125:hover{--tw-scale-y:1.25}.hover\\:scale-y-150:hover{--tw-scale-y:1.5}.focus\\:scale-x-0:focus{--tw-scale-x:0}.focus\\:scale-x-50:focus{--tw-scale-x:.5}.focus\\:scale-x-75:focus{--tw-scale-x:.75}.focus\\:scale-x-90:focus{--tw-scale-x:.9}.focus\\:scale-x-95:focus{--tw-scale-x:.95}.focus\\:scale-x-100:focus{--tw-scale-x:1}.focus\\:scale-x-105:focus{--tw-scale-x:1.05}.focus\\:scale-x-110:focus{--tw-scale-x:1.1}.focus\\:scale-x-125:focus{--tw-scale-x:1.25}.focus\\:scale-x-150:focus{--tw-scale-x:1.5}.focus\\:scale-y-0:focus{--tw-scale-y:0}.focus\\:scale-y-50:focus{--tw-scale-y:.5}.focus\\:scale-y-75:focus{--tw-scale-y:.75}.focus\\:scale-y-90:focus{--tw-scale-y:.9}.focus\\:scale-y-95:focus{--tw-scale-y:.95}.focus\\:scale-y-100:focus{--tw-scale-y:1}.focus\\:scale-y-105:focus{--tw-scale-y:1.05}.focus\\:scale-y-110:focus{--tw-scale-y:1.1}.focus\\:scale-y-125:focus{--tw-scale-y:1.25}.focus\\:scale-y-150:focus{--tw-scale-y:1.5}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,100%{transform:scale(2);opacity:0}}@keyframes pulse{50%{opacity:.5}}@keyframes bounce{0%,100%{transform:translateY(-25%);animation-timing-function:cubic-bezier(0.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,0.2,1)}}.animate-none{animation:none}.animate-spin{animation:spin 1s linear infinite}.animate-ping{animation:ping 1s cubic-bezier(0, 0, 0.2, 1) infinite}.animate-pulse{animation:pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite}.animate-bounce{animation:bounce 1s infinite}.cursor-auto{cursor:auto}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.cursor-wait{cursor:wait}.cursor-text{cursor:text}.cursor-move{cursor:move}.cursor-help{cursor:help}.cursor-not-allowed{cursor:not-allowed}.select-none{-webkit-user-select:none;user-select:none}.select-text{-webkit-user-select:text;user-select:text}.select-all{-webkit-user-select:all;user-select:all}.select-auto{-webkit-user-select:auto;user-select:auto}.resize-none{resize:none}.resize-y{resize:vertical}.resize-x{resize:horizontal}.resize{resize:both}.list-inside{list-style-position:inside}.list-outside{list-style-position:outside}.list-none{list-style-type:none}.list-disc{list-style-type:disc}.list-decimal{list-style-type:decimal}.appearance-none{appearance:none}.auto-cols-auto{grid-auto-columns:auto}.auto-cols-min{grid-auto-columns:min-content}.auto-cols-max{grid-auto-columns:max-content}.auto-cols-fr{grid-auto-columns:minmax(0, 1fr)}.grid-flow-row{grid-auto-flow:row}.grid-flow-col{grid-auto-flow:column}.grid-flow-row-dense{grid-auto-flow:row dense}.grid-flow-col-dense{grid-auto-flow:column dense}.auto-rows-auto{grid-auto-rows:auto}.auto-rows-min{grid-auto-rows:min-content}.auto-rows-max{grid-auto-rows:max-content}.auto-rows-fr{grid-auto-rows:minmax(0, 1fr)}.grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}.grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}.grid-cols-5{grid-template-columns:repeat(5, minmax(0, 1fr))}.grid-cols-6{grid-template-columns:repeat(6, minmax(0, 1fr))}.grid-cols-7{grid-template-columns:repeat(7, minmax(0, 1fr))}.grid-cols-8{grid-template-columns:repeat(8, minmax(0, 1fr))}.grid-cols-9{grid-template-columns:repeat(9, minmax(0, 1fr))}.grid-cols-10{grid-template-columns:repeat(10, minmax(0, 1fr))}.grid-cols-11{grid-template-columns:repeat(11, minmax(0, 1fr))}.grid-cols-12{grid-template-columns:repeat(12, minmax(0, 1fr))}.grid-cols-none{grid-template-columns:none}.grid-rows-1{grid-template-rows:repeat(1, minmax(0, 1fr))}.grid-rows-2{grid-template-rows:repeat(2, minmax(0, 1fr))}.grid-rows-3{grid-template-rows:repeat(3, minmax(0, 1fr))}.grid-rows-4{grid-template-rows:repeat(4, minmax(0, 1fr))}.grid-rows-5{grid-template-rows:repeat(5, minmax(0, 1fr))}.grid-rows-6{grid-template-rows:repeat(6, minmax(0, 1fr))}.grid-rows-none{grid-template-rows:none}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.flex-nowrap{flex-wrap:nowrap}.place-content-center{place-content:center}.place-content-start{place-content:start}.place-content-end{place-content:end}.place-content-between{place-content:space-between}.place-content-around{place-content:space-around}.place-content-evenly{place-content:space-evenly}.place-content-stretch{place-content:stretch}.place-items-start{place-items:start}.place-items-end{place-items:end}.place-items-center{place-items:center}.place-items-stretch{place-items:stretch}.content-center{align-content:center}.content-start{align-content:flex-start}.content-end{align-content:flex-end}.content-between{align-content:space-between}.content-around{align-content:space-around}.content-evenly{align-content:space-evenly}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.justify-items-start{justify-items:start}.justify-items-end{justify-items:end}.justify-items-center{justify-items:center}.justify-items-stretch{justify-items:stretch}.gap-0{gap:0px}.gap-1{gap:0.25rem}.gap-2{gap:0.5rem}.gap-3{gap:0.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-7{gap:1.75rem}.gap-8{gap:2rem}.gap-9{gap:2.25rem}.gap-10{gap:2.5rem}.gap-11{gap:2.75rem}.gap-12{gap:3rem}.gap-14{gap:3.5rem}.gap-16{gap:4rem}.gap-20{gap:5rem}.gap-24{gap:6rem}.gap-28{gap:7rem}.gap-32{gap:8rem}.gap-36{gap:9rem}.gap-40{gap:10rem}.gap-44{gap:11rem}.gap-48{gap:12rem}.gap-52{gap:13rem}.gap-56{gap:14rem}.gap-60{gap:15rem}.gap-64{gap:16rem}.gap-72{gap:18rem}.gap-80{gap:20rem}.gap-96{gap:24rem}.gap-px{gap:1px}.gap-0\\.5{gap:0.125rem}.gap-1\\.5{gap:0.375rem}.gap-2\\.5{gap:0.625rem}.gap-3\\.5{gap:0.875rem}.gap-x-0{column-gap:0px}.gap-x-1{column-gap:0.25rem}.gap-x-2{column-gap:0.5rem}.gap-x-3{column-gap:0.75rem}.gap-x-4{column-gap:1rem}.gap-x-5{column-gap:1.25rem}.gap-x-6{column-gap:1.5rem}.gap-x-7{column-gap:1.75rem}.gap-x-8{column-gap:2rem}.gap-x-9{column-gap:2.25rem}.gap-x-10{column-gap:2.5rem}.gap-x-11{column-gap:2.75rem}.gap-x-12{column-gap:3rem}.gap-x-14{column-gap:3.5rem}.gap-x-16{column-gap:4rem}.gap-x-20{column-gap:5rem}.gap-x-24{column-gap:6rem}.gap-x-28{column-gap:7rem}.gap-x-32{column-gap:8rem}.gap-x-36{column-gap:9rem}.gap-x-40{column-gap:10rem}.gap-x-44{column-gap:11rem}.gap-x-48{column-gap:12rem}.gap-x-52{column-gap:13rem}.gap-x-56{column-gap:14rem}.gap-x-60{column-gap:15rem}.gap-x-64{column-gap:16rem}.gap-x-72{column-gap:18rem}.gap-x-80{column-gap:20rem}.gap-x-96{column-gap:24rem}.gap-x-px{column-gap:1px}.gap-x-0\\.5{column-gap:0.125rem}.gap-x-1\\.5{column-gap:0.375rem}.gap-x-2\\.5{column-gap:0.625rem}.gap-x-3\\.5{column-gap:0.875rem}.gap-y-0{row-gap:0px}.gap-y-1{row-gap:0.25rem}.gap-y-2{row-gap:0.5rem}.gap-y-3{row-gap:0.75rem}.gap-y-4{row-gap:1rem}.gap-y-5{row-gap:1.25rem}.gap-y-6{row-gap:1.5rem}.gap-y-7{row-gap:1.75rem}.gap-y-8{row-gap:2rem}.gap-y-9{row-gap:2.25rem}.gap-y-10{row-gap:2.5rem}.gap-y-11{row-gap:2.75rem}.gap-y-12{row-gap:3rem}.gap-y-14{row-gap:3.5rem}.gap-y-16{row-gap:4rem}.gap-y-20{row-gap:5rem}.gap-y-24{row-gap:6rem}.gap-y-28{row-gap:7rem}.gap-y-32{row-gap:8rem}.gap-y-36{row-gap:9rem}.gap-y-40{row-gap:10rem}.gap-y-44{row-gap:11rem}.gap-y-48{row-gap:12rem}.gap-y-52{row-gap:13rem}.gap-y-56{row-gap:14rem}.gap-y-60{row-gap:15rem}.gap-y-64{row-gap:16rem}.gap-y-72{row-gap:18rem}.gap-y-80{row-gap:20rem}.gap-y-96{row-gap:24rem}.gap-y-px{row-gap:1px}.gap-y-0\\.5{row-gap:0.125rem}.gap-y-1\\.5{row-gap:0.375rem}.gap-y-2\\.5{row-gap:0.625rem}.gap-y-3\\.5{row-gap:0.875rem}.space-x-0>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0px * var(--tw-space-x-reverse));margin-left:calc(0px * calc(1 - var(--tw-space-x-reverse)))}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.25rem * var(--tw-space-x-reverse));margin-left:calc(0.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.5rem * var(--tw-space-x-reverse));margin-left:calc(0.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.75rem * var(--tw-space-x-reverse));margin-left:calc(0.75rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.25rem * var(--tw-space-x-reverse));margin-left:calc(1.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.5rem * var(--tw-space-x-reverse));margin-left:calc(1.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-7>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.75rem * var(--tw-space-x-reverse));margin-left:calc(1.75rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2rem * var(--tw-space-x-reverse));margin-left:calc(2rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-9>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2.25rem * var(--tw-space-x-reverse));margin-left:calc(2.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-10>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2.5rem * var(--tw-space-x-reverse));margin-left:calc(2.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-11>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2.75rem * var(--tw-space-x-reverse));margin-left:calc(2.75rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-12>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(3rem * var(--tw-space-x-reverse));margin-left:calc(3rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-14>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(3.5rem * var(--tw-space-x-reverse));margin-left:calc(3.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-16>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(4rem * var(--tw-space-x-reverse));margin-left:calc(4rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-20>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(5rem * var(--tw-space-x-reverse));margin-left:calc(5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-24>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(6rem * var(--tw-space-x-reverse));margin-left:calc(6rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-28>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(7rem * var(--tw-space-x-reverse));margin-left:calc(7rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-32>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(8rem * var(--tw-space-x-reverse));margin-left:calc(8rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-36>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(9rem * var(--tw-space-x-reverse));margin-left:calc(9rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-40>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(10rem * var(--tw-space-x-reverse));margin-left:calc(10rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-44>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(11rem * var(--tw-space-x-reverse));margin-left:calc(11rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-48>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(12rem * var(--tw-space-x-reverse));margin-left:calc(12rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-52>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(13rem * var(--tw-space-x-reverse));margin-left:calc(13rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-56>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(14rem * var(--tw-space-x-reverse));margin-left:calc(14rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-60>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(15rem * var(--tw-space-x-reverse));margin-left:calc(15rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-64>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(16rem * var(--tw-space-x-reverse));margin-left:calc(16rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-72>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(18rem * var(--tw-space-x-reverse));margin-left:calc(18rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-80>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(20rem * var(--tw-space-x-reverse));margin-left:calc(20rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-96>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(24rem * var(--tw-space-x-reverse));margin-left:calc(24rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1px * var(--tw-space-x-reverse));margin-left:calc(1px * calc(1 - var(--tw-space-x-reverse)))}.space-x-0\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.125rem * var(--tw-space-x-reverse));margin-left:calc(0.125rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-1\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.375rem * var(--tw-space-x-reverse));margin-left:calc(0.375rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-2\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.625rem * var(--tw-space-x-reverse));margin-left:calc(0.625rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-3\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.875rem * var(--tw-space-x-reverse));margin-left:calc(0.875rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-0>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0px * var(--tw-space-x-reverse));margin-left:calc(0px * calc(1 - var(--tw-space-x-reverse)))}.-space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.25rem * var(--tw-space-x-reverse));margin-left:calc(-0.25rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.5rem * var(--tw-space-x-reverse));margin-left:calc(-0.5rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.75rem * var(--tw-space-x-reverse));margin-left:calc(-0.75rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1rem * var(--tw-space-x-reverse));margin-left:calc(-1rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1.25rem * var(--tw-space-x-reverse));margin-left:calc(-1.25rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1.5rem * var(--tw-space-x-reverse));margin-left:calc(-1.5rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-7>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1.75rem * var(--tw-space-x-reverse));margin-left:calc(-1.75rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2rem * var(--tw-space-x-reverse));margin-left:calc(-2rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-9>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2.25rem * var(--tw-space-x-reverse));margin-left:calc(-2.25rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-10>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2.5rem * var(--tw-space-x-reverse));margin-left:calc(-2.5rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-11>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2.75rem * var(--tw-space-x-reverse));margin-left:calc(-2.75rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-12>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-3rem * var(--tw-space-x-reverse));margin-left:calc(-3rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-14>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-3.5rem * var(--tw-space-x-reverse));margin-left:calc(-3.5rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-16>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-4rem * var(--tw-space-x-reverse));margin-left:calc(-4rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-20>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-5rem * var(--tw-space-x-reverse));margin-left:calc(-5rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-24>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-6rem * var(--tw-space-x-reverse));margin-left:calc(-6rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-28>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-7rem * var(--tw-space-x-reverse));margin-left:calc(-7rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-32>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-8rem * var(--tw-space-x-reverse));margin-left:calc(-8rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-36>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-9rem * var(--tw-space-x-reverse));margin-left:calc(-9rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-40>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-10rem * var(--tw-space-x-reverse));margin-left:calc(-10rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-44>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-11rem * var(--tw-space-x-reverse));margin-left:calc(-11rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-48>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-12rem * var(--tw-space-x-reverse));margin-left:calc(-12rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-52>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-13rem * var(--tw-space-x-reverse));margin-left:calc(-13rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-56>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-14rem * var(--tw-space-x-reverse));margin-left:calc(-14rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-60>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-15rem * var(--tw-space-x-reverse));margin-left:calc(-15rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-64>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-16rem * var(--tw-space-x-reverse));margin-left:calc(-16rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-72>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-18rem * var(--tw-space-x-reverse));margin-left:calc(-18rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-80>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-20rem * var(--tw-space-x-reverse));margin-left:calc(-20rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-96>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-24rem * var(--tw-space-x-reverse));margin-left:calc(-24rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1px * var(--tw-space-x-reverse));margin-left:calc(-1px * calc(1 - var(--tw-space-x-reverse)))}.-space-x-0\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.125rem * var(--tw-space-x-reverse));margin-left:calc(-0.125rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-1\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.375rem * var(--tw-space-x-reverse));margin-left:calc(-0.375rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-2\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.625rem * var(--tw-space-x-reverse));margin-left:calc(-0.625rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-3\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.875rem * var(--tw-space-x-reverse));margin-left:calc(-0.875rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-7>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.75rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.space-y-9>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.25rem * var(--tw-space-y-reverse))}.space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.5rem * var(--tw-space-y-reverse))}.space-y-11>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.75rem * var(--tw-space-y-reverse))}.space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3rem * var(--tw-space-y-reverse))}.space-y-14>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(3.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3.5rem * var(--tw-space-y-reverse))}.space-y-16>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(4rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(4rem * var(--tw-space-y-reverse))}.space-y-20>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(5rem * var(--tw-space-y-reverse))}.space-y-24>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(6rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(6rem * var(--tw-space-y-reverse))}.space-y-28>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(7rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(7rem * var(--tw-space-y-reverse))}.space-y-32>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(8rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(8rem * var(--tw-space-y-reverse))}.space-y-36>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(9rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(9rem * var(--tw-space-y-reverse))}.space-y-40>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(10rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(10rem * var(--tw-space-y-reverse))}.space-y-44>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(11rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(11rem * var(--tw-space-y-reverse))}.space-y-48>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(12rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(12rem * var(--tw-space-y-reverse))}.space-y-52>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(13rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(13rem * var(--tw-space-y-reverse))}.space-y-56>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(14rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(14rem * var(--tw-space-y-reverse))}.space-y-60>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(15rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(15rem * var(--tw-space-y-reverse))}.space-y-64>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(16rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(16rem * var(--tw-space-y-reverse))}.space-y-72>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(18rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(18rem * var(--tw-space-y-reverse))}.space-y-80>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(20rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(20rem * var(--tw-space-y-reverse))}.space-y-96>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(24rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(24rem * var(--tw-space-y-reverse))}.space-y-px>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1px * var(--tw-space-y-reverse))}.space-y-0\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.125rem * var(--tw-space-y-reverse))}.space-y-1\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.375rem * var(--tw-space-y-reverse))}.space-y-2\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.625rem * var(--tw-space-y-reverse))}.space-y-3\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.875rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.875rem * var(--tw-space-y-reverse))}.-space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.-space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.25rem * var(--tw-space-y-reverse))}.-space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.5rem * var(--tw-space-y-reverse))}.-space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.75rem * var(--tw-space-y-reverse))}.-space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1rem * var(--tw-space-y-reverse))}.-space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1.25rem * var(--tw-space-y-reverse))}.-space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1.5rem * var(--tw-space-y-reverse))}.-space-y-7>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1.75rem * var(--tw-space-y-reverse))}.-space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2rem * var(--tw-space-y-reverse))}.-space-y-9>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2.25rem * var(--tw-space-y-reverse))}.-space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2.5rem * var(--tw-space-y-reverse))}.-space-y-11>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2.75rem * var(--tw-space-y-reverse))}.-space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-3rem * var(--tw-space-y-reverse))}.-space-y-14>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-3.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-3.5rem * var(--tw-space-y-reverse))}.-space-y-16>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-4rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-4rem * var(--tw-space-y-reverse))}.-space-y-20>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-5rem * var(--tw-space-y-reverse))}.-space-y-24>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-6rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-6rem * var(--tw-space-y-reverse))}.-space-y-28>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-7rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-7rem * var(--tw-space-y-reverse))}.-space-y-32>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-8rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-8rem * var(--tw-space-y-reverse))}.-space-y-36>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-9rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-9rem * var(--tw-space-y-reverse))}.-space-y-40>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-10rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-10rem * var(--tw-space-y-reverse))}.-space-y-44>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-11rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-11rem * var(--tw-space-y-reverse))}.-space-y-48>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-12rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-12rem * var(--tw-space-y-reverse))}.-space-y-52>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-13rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-13rem * var(--tw-space-y-reverse))}.-space-y-56>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-14rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-14rem * var(--tw-space-y-reverse))}.-space-y-60>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-15rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-15rem * var(--tw-space-y-reverse))}.-space-y-64>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-16rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-16rem * var(--tw-space-y-reverse))}.-space-y-72>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-18rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-18rem * var(--tw-space-y-reverse))}.-space-y-80>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-20rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-20rem * var(--tw-space-y-reverse))}.-space-y-96>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-24rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-24rem * var(--tw-space-y-reverse))}.-space-y-px>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1px * var(--tw-space-y-reverse))}.-space-y-0\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.125rem * var(--tw-space-y-reverse))}.-space-y-1\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.375rem * var(--tw-space-y-reverse))}.-space-y-2\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.625rem * var(--tw-space-y-reverse))}.-space-y-3\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.875rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.875rem * var(--tw-space-y-reverse))}.space-y-reverse>:not([hidden])~:not([hidden]){--tw-space-y-reverse:1}.space-x-reverse>:not([hidden])~:not([hidden]){--tw-space-x-reverse:1}.divide-x-0>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(0px * var(--tw-divide-x-reverse));border-left-width:calc(0px * calc(1 - var(--tw-divide-x-reverse)))}.divide-x-2>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(2px * var(--tw-divide-x-reverse));border-left-width:calc(2px * calc(1 - var(--tw-divide-x-reverse)))}.divide-x-4>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(4px * var(--tw-divide-x-reverse));border-left-width:calc(4px * calc(1 - var(--tw-divide-x-reverse)))}.divide-x-8>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(8px * var(--tw-divide-x-reverse));border-left-width:calc(8px * calc(1 - var(--tw-divide-x-reverse)))}.divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(1px * var(--tw-divide-x-reverse));border-left-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}.divide-y-0>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(0px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(0px * var(--tw-divide-y-reverse))}.divide-y-2>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(2px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(2px * var(--tw-divide-y-reverse))}.divide-y-4>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(4px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(4px * var(--tw-divide-y-reverse))}.divide-y-8>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(8px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(8px * var(--tw-divide-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-y-reverse>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:1}.divide-x-reverse>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:1}.divide-solid>:not([hidden])~:not([hidden]){border-style:solid}.divide-dashed>:not([hidden])~:not([hidden]){border-style:dashed}.divide-dotted>:not([hidden])~:not([hidden]){border-style:dotted}.divide-double>:not([hidden])~:not([hidden]){border-style:double}.divide-none>:not([hidden])~:not([hidden]){border-style:none}.divide-transparent>:not([hidden])~:not([hidden]){border-color:transparent}.divide-current>:not([hidden])~:not([hidden]){border-color:currentColor}.divide-white>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.divide-lightgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(247, 247, 247, var(--tw-divide-opacity))}.divide-midgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.divide-darkgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(127, 127, 127, var(--tw-divide-opacity))}.divide-grey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(30, 30, 30, var(--tw-divide-opacity))}.divide-black>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(15, 15, 15, var(--tw-divide-opacity))}.divide-highlight>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 113, 227, var(--tw-divide-opacity))}.divide-highlight_hover>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 119, 237, var(--tw-divide-opacity))}.divide-button_outline>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.divide-error>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 69, 58, var(--tw-divide-opacity))}.divide-text-light>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(15, 15, 15, var(--tw-divide-opacity))}.divide-text-dimmed>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.divide-text-dark>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.divide-body-light>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.divide-body-dark>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(30, 30, 30, var(--tw-divide-opacity))}.divide-button>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 113, 227, var(--tw-divide-opacity))}.divide-button_hover>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 119, 237, var(--tw-divide-opacity))}@media(prefers-color-scheme: dark){.dark\\:divide-transparent>:not([hidden])~:not([hidden]){border-color:transparent}.dark\\:divide-current>:not([hidden])~:not([hidden]){border-color:currentColor}.dark\\:divide-white>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.dark\\:divide-lightgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(247, 247, 247, var(--tw-divide-opacity))}.dark\\:divide-midgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.dark\\:divide-darkgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(127, 127, 127, var(--tw-divide-opacity))}.dark\\:divide-grey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(30, 30, 30, var(--tw-divide-opacity))}.dark\\:divide-black>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(15, 15, 15, var(--tw-divide-opacity))}.dark\\:divide-highlight>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 113, 227, var(--tw-divide-opacity))}.dark\\:divide-highlight_hover>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 119, 237, var(--tw-divide-opacity))}.dark\\:divide-button_outline>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.dark\\:divide-error>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 69, 58, var(--tw-divide-opacity))}.dark\\:divide-text-light>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(15, 15, 15, var(--tw-divide-opacity))}.dark\\:divide-text-dimmed>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.dark\\:divide-text-dark>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.dark\\:divide-body-light>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.dark\\:divide-body-dark>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(30, 30, 30, var(--tw-divide-opacity))}.dark\\:divide-button>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 113, 227, var(--tw-divide-opacity))}.dark\\:divide-button_hover>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 119, 237, var(--tw-divide-opacity))}}.divide-opacity-0>:not([hidden])~:not([hidden]){--tw-divide-opacity:0}.divide-opacity-5>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.05}.divide-opacity-10>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.1}.divide-opacity-20>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.2}.divide-opacity-25>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.25}.divide-opacity-30>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.3}.divide-opacity-40>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.4}.divide-opacity-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.5}.divide-opacity-60>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.6}.divide-opacity-70>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.7}.divide-opacity-75>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.75}.divide-opacity-80>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.8}.divide-opacity-90>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.9}.divide-opacity-95>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.95}.divide-opacity-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1}@media(prefers-color-scheme: dark){.dark\\:divide-opacity-0>:not([hidden])~:not([hidden]){--tw-divide-opacity:0}.dark\\:divide-opacity-5>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.05}.dark\\:divide-opacity-10>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.1}.dark\\:divide-opacity-20>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.2}.dark\\:divide-opacity-25>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.25}.dark\\:divide-opacity-30>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.3}.dark\\:divide-opacity-40>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.4}.dark\\:divide-opacity-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.5}.dark\\:divide-opacity-60>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.6}.dark\\:divide-opacity-70>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.7}.dark\\:divide-opacity-75>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.75}.dark\\:divide-opacity-80>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.8}.dark\\:divide-opacity-90>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.9}.dark\\:divide-opacity-95>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.95}.dark\\:divide-opacity-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1}}.place-self-auto{place-self:auto}.place-self-start{place-self:start}.place-self-end{place-self:end}.place-self-center{place-self:center}.place-self-stretch{place-self:stretch}.self-auto{align-self:auto}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.self-center{align-self:center}.self-stretch{align-self:stretch}.self-baseline{align-self:baseline}.justify-self-auto{justify-self:auto}.justify-self-start{justify-self:start}.justify-self-end{justify-self:end}.justify-self-center{justify-self:center}.justify-self-stretch{justify-self:stretch}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.overflow-x-visible{overflow-x:visible}.overflow-y-visible{overflow-y:visible}.overflow-x-scroll{overflow-x:scroll}.overflow-y-scroll{overflow-y:scroll}.overscroll-auto{overscroll-behavior:auto}.overscroll-contain{overscroll-behavior:contain}.overscroll-none{overscroll-behavior:none}.overscroll-y-auto{overscroll-behavior-y:auto}.overscroll-y-contain{overscroll-behavior-y:contain}.overscroll-y-none{overscroll-behavior-y:none}.overscroll-x-auto{overscroll-behavior-x:auto}.overscroll-x-contain{overscroll-behavior-x:contain}.overscroll-x-none{overscroll-behavior-x:none}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overflow-ellipsis{text-overflow:ellipsis}.overflow-clip{text-overflow:clip}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.break-normal{overflow-wrap:normal;word-break:normal}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded-none{border-radius:0px}.rounded-sm{border-radius:0.125rem}.rounded{border-radius:0.25rem}.rounded-md{border-radius:0.375rem}.rounded-lg{border-radius:0.5rem}.rounded-xl{border-radius:0.75rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.rounded-t-none{border-top-left-radius:0px;border-top-right-radius:0px}.rounded-t-sm{border-top-left-radius:0.125rem;border-top-right-radius:0.125rem}.rounded-t{border-top-left-radius:0.25rem;border-top-right-radius:0.25rem}.rounded-t-md{border-top-left-radius:0.375rem;border-top-right-radius:0.375rem}.rounded-t-lg{border-top-left-radius:0.5rem;border-top-right-radius:0.5rem}.rounded-t-xl{border-top-left-radius:0.75rem;border-top-right-radius:0.75rem}.rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.rounded-t-3xl{border-top-left-radius:1.5rem;border-top-right-radius:1.5rem}.rounded-t-full{border-top-left-radius:9999px;border-top-right-radius:9999px}.rounded-r-none{border-top-right-radius:0px;border-bottom-right-radius:0px}.rounded-r-sm{border-top-right-radius:0.125rem;border-bottom-right-radius:0.125rem}.rounded-r{border-top-right-radius:0.25rem;border-bottom-right-radius:0.25rem}.rounded-r-md{border-top-right-radius:0.375rem;border-bottom-right-radius:0.375rem}.rounded-r-lg{border-top-right-radius:0.5rem;border-bottom-right-radius:0.5rem}.rounded-r-xl{border-top-right-radius:0.75rem;border-bottom-right-radius:0.75rem}.rounded-r-2xl{border-top-right-radius:1rem;border-bottom-right-radius:1rem}.rounded-r-3xl{border-top-right-radius:1.5rem;border-bottom-right-radius:1.5rem}.rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.rounded-b-none{border-bottom-right-radius:0px;border-bottom-left-radius:0px}.rounded-b-sm{border-bottom-right-radius:0.125rem;border-bottom-left-radius:0.125rem}.rounded-b{border-bottom-right-radius:0.25rem;border-bottom-left-radius:0.25rem}.rounded-b-md{border-bottom-right-radius:0.375rem;border-bottom-left-radius:0.375rem}.rounded-b-lg{border-bottom-right-radius:0.5rem;border-bottom-left-radius:0.5rem}.rounded-b-xl{border-bottom-right-radius:0.75rem;border-bottom-left-radius:0.75rem}.rounded-b-2xl{border-bottom-right-radius:1rem;border-bottom-left-radius:1rem}.rounded-b-3xl{border-bottom-right-radius:1.5rem;border-bottom-left-radius:1.5rem}.rounded-b-full{border-bottom-right-radius:9999px;border-bottom-left-radius:9999px}.rounded-l-none{border-top-left-radius:0px;border-bottom-left-radius:0px}.rounded-l-sm{border-top-left-radius:0.125rem;border-bottom-left-radius:0.125rem}.rounded-l{border-top-left-radius:0.25rem;border-bottom-left-radius:0.25rem}.rounded-l-md{border-top-left-radius:0.375rem;border-bottom-left-radius:0.375rem}.rounded-l-lg{border-top-left-radius:0.5rem;border-bottom-left-radius:0.5rem}.rounded-l-xl{border-top-left-radius:0.75rem;border-bottom-left-radius:0.75rem}.rounded-l-2xl{border-top-left-radius:1rem;border-bottom-left-radius:1rem}.rounded-l-3xl{border-top-left-radius:1.5rem;border-bottom-left-radius:1.5rem}.rounded-l-full{border-top-left-radius:9999px;border-bottom-left-radius:9999px}.rounded-tl-none{border-top-left-radius:0px}.rounded-tl-sm{border-top-left-radius:0.125rem}.rounded-tl{border-top-left-radius:0.25rem}.rounded-tl-md{border-top-left-radius:0.375rem}.rounded-tl-lg{border-top-left-radius:0.5rem}.rounded-tl-xl{border-top-left-radius:0.75rem}.rounded-tl-2xl{border-top-left-radius:1rem}.rounded-tl-3xl{border-top-left-radius:1.5rem}.rounded-tl-full{border-top-left-radius:9999px}.rounded-tr-none{border-top-right-radius:0px}.rounded-tr-sm{border-top-right-radius:0.125rem}.rounded-tr{border-top-right-radius:0.25rem}.rounded-tr-md{border-top-right-radius:0.375rem}.rounded-tr-lg{border-top-right-radius:0.5rem}.rounded-tr-xl{border-top-right-radius:0.75rem}.rounded-tr-2xl{border-top-right-radius:1rem}.rounded-tr-3xl{border-top-right-radius:1.5rem}.rounded-tr-full{border-top-right-radius:9999px}.rounded-br-none{border-bottom-right-radius:0px}.rounded-br-sm{border-bottom-right-radius:0.125rem}.rounded-br{border-bottom-right-radius:0.25rem}.rounded-br-md{border-bottom-right-radius:0.375rem}.rounded-br-lg{border-bottom-right-radius:0.5rem}.rounded-br-xl{border-bottom-right-radius:0.75rem}.rounded-br-2xl{border-bottom-right-radius:1rem}.rounded-br-3xl{border-bottom-right-radius:1.5rem}.rounded-br-full{border-bottom-right-radius:9999px}.rounded-bl-none{border-bottom-left-radius:0px}.rounded-bl-sm{border-bottom-left-radius:0.125rem}.rounded-bl{border-bottom-left-radius:0.25rem}.rounded-bl-md{border-bottom-left-radius:0.375rem}.rounded-bl-lg{border-bottom-left-radius:0.5rem}.rounded-bl-xl{border-bottom-left-radius:0.75rem}.rounded-bl-2xl{border-bottom-left-radius:1rem}.rounded-bl-3xl{border-bottom-left-radius:1.5rem}.rounded-bl-full{border-bottom-left-radius:9999px}.border-0{border-width:0px}.border-2{border-width:2px}.border-4{border-width:4px}.border-8{border-width:8px}.border{border-width:1px}.border-t-0{border-top-width:0px}.border-t-2{border-top-width:2px}.border-t-4{border-top-width:4px}.border-t-8{border-top-width:8px}.border-t{border-top-width:1px}.border-r-0{border-right-width:0px}.border-r-2{border-right-width:2px}.border-r-4{border-right-width:4px}.border-r-8{border-right-width:8px}.border-r{border-right-width:1px}.border-b-0{border-bottom-width:0px}.border-b-2{border-bottom-width:2px}.border-b-4{border-bottom-width:4px}.border-b-8{border-bottom-width:8px}.border-b{border-bottom-width:1px}.border-l-0{border-left-width:0px}.border-l-2{border-left-width:2px}.border-l-4{border-left-width:4px}.border-l-8{border-left-width:8px}.border-l{border-left-width:1px}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-double{border-style:double}.border-none{border-style:none}.border-transparent{border-color:transparent}.border-current{border-color:currentColor}.border-white{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.border-lightgrey{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.border-midgrey{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.border-darkgrey{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.border-grey{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.border-black{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.border-highlight{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.border-highlight_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.border-button_outline{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.border-error{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.border-text-light{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.border-text-dimmed{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.border-text-dark{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.border-body-light{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.border-body-dark{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.border-button{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.border-button_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.group:hover .group-hover\\:border-transparent{border-color:transparent}.group:hover .group-hover\\:border-current{border-color:currentColor}.group:hover .group-hover\\:border-white{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .group-hover\\:border-lightgrey{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.group:hover .group-hover\\:border-midgrey{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .group-hover\\:border-darkgrey{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.group:hover .group-hover\\:border-grey{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.group:hover .group-hover\\:border-black{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.group:hover .group-hover\\:border-highlight{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.group:hover .group-hover\\:border-highlight_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.group:hover .group-hover\\:border-button_outline{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .group-hover\\:border-error{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.group:hover .group-hover\\:border-text-light{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.group:hover .group-hover\\:border-text-dimmed{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .group-hover\\:border-text-dark{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .group-hover\\:border-body-light{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .group-hover\\:border-body-dark{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.group:hover .group-hover\\:border-button{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.group:hover .group-hover\\:border-button_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.focus-within\\:border-transparent:focus-within{border-color:transparent}.focus-within\\:border-current:focus-within{border-color:currentColor}.focus-within\\:border-white:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.focus-within\\:border-lightgrey:focus-within{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.focus-within\\:border-midgrey:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.focus-within\\:border-darkgrey:focus-within{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.focus-within\\:border-grey:focus-within{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.focus-within\\:border-black:focus-within{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.focus-within\\:border-highlight:focus-within{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.focus-within\\:border-highlight_hover:focus-within{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.focus-within\\:border-button_outline:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.focus-within\\:border-error:focus-within{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.focus-within\\:border-text-light:focus-within{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.focus-within\\:border-text-dimmed:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.focus-within\\:border-text-dark:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.focus-within\\:border-body-light:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.focus-within\\:border-body-dark:focus-within{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.focus-within\\:border-button:focus-within{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.focus-within\\:border-button_hover:focus-within{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.hover\\:border-transparent:hover{border-color:transparent}.hover\\:border-current:hover{border-color:currentColor}.hover\\:border-white:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.hover\\:border-lightgrey:hover{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.hover\\:border-midgrey:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.hover\\:border-darkgrey:hover{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.hover\\:border-grey:hover{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.hover\\:border-black:hover{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.hover\\:border-highlight:hover{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.hover\\:border-highlight_hover:hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.hover\\:border-button_outline:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.hover\\:border-error:hover{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.hover\\:border-text-light:hover{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.hover\\:border-text-dimmed:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.hover\\:border-text-dark:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.hover\\:border-body-light:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.hover\\:border-body-dark:hover{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.hover\\:border-button:hover{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.hover\\:border-button_hover:hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.focus\\:border-transparent:focus{border-color:transparent}.focus\\:border-current:focus{border-color:currentColor}.focus\\:border-white:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.focus\\:border-lightgrey:focus{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.focus\\:border-midgrey:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.focus\\:border-darkgrey:focus{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.focus\\:border-grey:focus{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.focus\\:border-black:focus{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.focus\\:border-highlight:focus{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.focus\\:border-highlight_hover:focus{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.focus\\:border-button_outline:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.focus\\:border-error:focus{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.focus\\:border-text-light:focus{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.focus\\:border-text-dimmed:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.focus\\:border-text-dark:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.focus\\:border-body-light:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.focus\\:border-body-dark:focus{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.focus\\:border-button:focus{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.focus\\:border-button_hover:focus{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}@media(prefers-color-scheme: dark){.dark\\:border-transparent{border-color:transparent}.dark\\:border-current{border-color:currentColor}.dark\\:border-white{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.dark\\:border-lightgrey{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.dark\\:border-midgrey{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.dark\\:border-darkgrey{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.dark\\:border-grey{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.dark\\:border-black{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.dark\\:border-highlight{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.dark\\:border-highlight_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.dark\\:border-button_outline{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.dark\\:border-error{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.dark\\:border-text-light{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.dark\\:border-text-dimmed{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.dark\\:border-text-dark{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.dark\\:border-body-light{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.dark\\:border-body-dark{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.dark\\:border-button{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.dark\\:border-button_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.group:hover .dark\\:group-hover\\:border-transparent{border-color:transparent}.group:hover .dark\\:group-hover\\:border-current{border-color:currentColor}.group:hover .dark\\:group-hover\\:border-white{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .dark\\:group-hover\\:border-lightgrey{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.group:hover .dark\\:group-hover\\:border-midgrey{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .dark\\:group-hover\\:border-darkgrey{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.group:hover .dark\\:group-hover\\:border-grey{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.group:hover .dark\\:group-hover\\:border-black{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.group:hover .dark\\:group-hover\\:border-highlight{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.group:hover .dark\\:group-hover\\:border-highlight_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.group:hover .dark\\:group-hover\\:border-button_outline{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .dark\\:group-hover\\:border-error{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.group:hover .dark\\:group-hover\\:border-text-light{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.group:hover .dark\\:group-hover\\:border-text-dimmed{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .dark\\:group-hover\\:border-text-dark{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .dark\\:group-hover\\:border-body-light{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .dark\\:group-hover\\:border-body-dark{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.group:hover .dark\\:group-hover\\:border-button{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.group:hover .dark\\:group-hover\\:border-button_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.dark\\:focus-within\\:border-transparent:focus-within{border-color:transparent}.dark\\:focus-within\\:border-current:focus-within{border-color:currentColor}.dark\\:focus-within\\:border-white:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.dark\\:focus-within\\:border-lightgrey:focus-within{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.dark\\:focus-within\\:border-midgrey:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.dark\\:focus-within\\:border-darkgrey:focus-within{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.dark\\:focus-within\\:border-grey:focus-within{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.dark\\:focus-within\\:border-black:focus-within{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.dark\\:focus-within\\:border-highlight:focus-within{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.dark\\:focus-within\\:border-highlight_hover:focus-within{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.dark\\:focus-within\\:border-button_outline:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.dark\\:focus-within\\:border-error:focus-within{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.dark\\:focus-within\\:border-text-light:focus-within{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.dark\\:focus-within\\:border-text-dimmed:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.dark\\:focus-within\\:border-text-dark:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.dark\\:focus-within\\:border-body-light:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.dark\\:focus-within\\:border-body-dark:focus-within{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.dark\\:focus-within\\:border-button:focus-within{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.dark\\:focus-within\\:border-button_hover:focus-within{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.dark\\:hover\\:border-transparent:hover{border-color:transparent}.dark\\:hover\\:border-current:hover{border-color:currentColor}.dark\\:hover\\:border-white:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.dark\\:hover\\:border-lightgrey:hover{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.dark\\:hover\\:border-midgrey:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.dark\\:hover\\:border-darkgrey:hover{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.dark\\:hover\\:border-grey:hover{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.dark\\:hover\\:border-black:hover{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.dark\\:hover\\:border-highlight:hover{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.dark\\:hover\\:border-highlight_hover:hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.dark\\:hover\\:border-button_outline:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.dark\\:hover\\:border-error:hover{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.dark\\:hover\\:border-text-light:hover{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.dark\\:hover\\:border-text-dimmed:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.dark\\:hover\\:border-text-dark:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.dark\\:hover\\:border-body-light:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.dark\\:hover\\:border-body-dark:hover{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.dark\\:hover\\:border-button:hover{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.dark\\:hover\\:border-button_hover:hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.dark\\:focus\\:border-transparent:focus{border-color:transparent}.dark\\:focus\\:border-current:focus{border-color:currentColor}.dark\\:focus\\:border-white:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.dark\\:focus\\:border-lightgrey:focus{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.dark\\:focus\\:border-midgrey:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.dark\\:focus\\:border-darkgrey:focus{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.dark\\:focus\\:border-grey:focus{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.dark\\:focus\\:border-black:focus{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.dark\\:focus\\:border-highlight:focus{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.dark\\:focus\\:border-highlight_hover:focus{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.dark\\:focus\\:border-button_outline:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.dark\\:focus\\:border-error:focus{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.dark\\:focus\\:border-text-light:focus{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.dark\\:focus\\:border-text-dimmed:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.dark\\:focus\\:border-text-dark:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.dark\\:focus\\:border-body-light:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.dark\\:focus\\:border-body-dark:focus{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.dark\\:focus\\:border-button:focus{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.dark\\:focus\\:border-button_hover:focus{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}}.border-opacity-0{--tw-border-opacity:0}.border-opacity-5{--tw-border-opacity:0.05}.border-opacity-10{--tw-border-opacity:0.1}.border-opacity-20{--tw-border-opacity:0.2}.border-opacity-25{--tw-border-opacity:0.25}.border-opacity-30{--tw-border-opacity:0.3}.border-opacity-40{--tw-border-opacity:0.4}.border-opacity-50{--tw-border-opacity:0.5}.border-opacity-60{--tw-border-opacity:0.6}.border-opacity-70{--tw-border-opacity:0.7}.border-opacity-75{--tw-border-opacity:0.75}.border-opacity-80{--tw-border-opacity:0.8}.border-opacity-90{--tw-border-opacity:0.9}.border-opacity-95{--tw-border-opacity:0.95}.border-opacity-100{--tw-border-opacity:1}.group:hover .group-hover\\:border-opacity-0{--tw-border-opacity:0}.group:hover .group-hover\\:border-opacity-5{--tw-border-opacity:0.05}.group:hover .group-hover\\:border-opacity-10{--tw-border-opacity:0.1}.group:hover .group-hover\\:border-opacity-20{--tw-border-opacity:0.2}.group:hover .group-hover\\:border-opacity-25{--tw-border-opacity:0.25}.group:hover .group-hover\\:border-opacity-30{--tw-border-opacity:0.3}.group:hover .group-hover\\:border-opacity-40{--tw-border-opacity:0.4}.group:hover .group-hover\\:border-opacity-50{--tw-border-opacity:0.5}.group:hover .group-hover\\:border-opacity-60{--tw-border-opacity:0.6}.group:hover .group-hover\\:border-opacity-70{--tw-border-opacity:0.7}.group:hover .group-hover\\:border-opacity-75{--tw-border-opacity:0.75}.group:hover .group-hover\\:border-opacity-80{--tw-border-opacity:0.8}.group:hover .group-hover\\:border-opacity-90{--tw-border-opacity:0.9}.group:hover .group-hover\\:border-opacity-95{--tw-border-opacity:0.95}.group:hover .group-hover\\:border-opacity-100{--tw-border-opacity:1}.focus-within\\:border-opacity-0:focus-within{--tw-border-opacity:0}.focus-within\\:border-opacity-5:focus-within{--tw-border-opacity:0.05}.focus-within\\:border-opacity-10:focus-within{--tw-border-opacity:0.1}.focus-within\\:border-opacity-20:focus-within{--tw-border-opacity:0.2}.focus-within\\:border-opacity-25:focus-within{--tw-border-opacity:0.25}.focus-within\\:border-opacity-30:focus-within{--tw-border-opacity:0.3}.focus-within\\:border-opacity-40:focus-within{--tw-border-opacity:0.4}.focus-within\\:border-opacity-50:focus-within{--tw-border-opacity:0.5}.focus-within\\:border-opacity-60:focus-within{--tw-border-opacity:0.6}.focus-within\\:border-opacity-70:focus-within{--tw-border-opacity:0.7}.focus-within\\:border-opacity-75:focus-within{--tw-border-opacity:0.75}.focus-within\\:border-opacity-80:focus-within{--tw-border-opacity:0.8}.focus-within\\:border-opacity-90:focus-within{--tw-border-opacity:0.9}.focus-within\\:border-opacity-95:focus-within{--tw-border-opacity:0.95}.focus-within\\:border-opacity-100:focus-within{--tw-border-opacity:1}.hover\\:border-opacity-0:hover{--tw-border-opacity:0}.hover\\:border-opacity-5:hover{--tw-border-opacity:0.05}.hover\\:border-opacity-10:hover{--tw-border-opacity:0.1}.hover\\:border-opacity-20:hover{--tw-border-opacity:0.2}.hover\\:border-opacity-25:hover{--tw-border-opacity:0.25}.hover\\:border-opacity-30:hover{--tw-border-opacity:0.3}.hover\\:border-opacity-40:hover{--tw-border-opacity:0.4}.hover\\:border-opacity-50:hover{--tw-border-opacity:0.5}.hover\\:border-opacity-60:hover{--tw-border-opacity:0.6}.hover\\:border-opacity-70:hover{--tw-border-opacity:0.7}.hover\\:border-opacity-75:hover{--tw-border-opacity:0.75}.hover\\:border-opacity-80:hover{--tw-border-opacity:0.8}.hover\\:border-opacity-90:hover{--tw-border-opacity:0.9}.hover\\:border-opacity-95:hover{--tw-border-opacity:0.95}.hover\\:border-opacity-100:hover{--tw-border-opacity:1}.focus\\:border-opacity-0:focus{--tw-border-opacity:0}.focus\\:border-opacity-5:focus{--tw-border-opacity:0.05}.focus\\:border-opacity-10:focus{--tw-border-opacity:0.1}.focus\\:border-opacity-20:focus{--tw-border-opacity:0.2}.focus\\:border-opacity-25:focus{--tw-border-opacity:0.25}.focus\\:border-opacity-30:focus{--tw-border-opacity:0.3}.focus\\:border-opacity-40:focus{--tw-border-opacity:0.4}.focus\\:border-opacity-50:focus{--tw-border-opacity:0.5}.focus\\:border-opacity-60:focus{--tw-border-opacity:0.6}.focus\\:border-opacity-70:focus{--tw-border-opacity:0.7}.focus\\:border-opacity-75:focus{--tw-border-opacity:0.75}.focus\\:border-opacity-80:focus{--tw-border-opacity:0.8}.focus\\:border-opacity-90:focus{--tw-border-opacity:0.9}.focus\\:border-opacity-95:focus{--tw-border-opacity:0.95}.focus\\:border-opacity-100:focus{--tw-border-opacity:1}@media(prefers-color-scheme: dark){.dark\\:border-opacity-0{--tw-border-opacity:0}.dark\\:border-opacity-5{--tw-border-opacity:0.05}.dark\\:border-opacity-10{--tw-border-opacity:0.1}.dark\\:border-opacity-20{--tw-border-opacity:0.2}.dark\\:border-opacity-25{--tw-border-opacity:0.25}.dark\\:border-opacity-30{--tw-border-opacity:0.3}.dark\\:border-opacity-40{--tw-border-opacity:0.4}.dark\\:border-opacity-50{--tw-border-opacity:0.5}.dark\\:border-opacity-60{--tw-border-opacity:0.6}.dark\\:border-opacity-70{--tw-border-opacity:0.7}.dark\\:border-opacity-75{--tw-border-opacity:0.75}.dark\\:border-opacity-80{--tw-border-opacity:0.8}.dark\\:border-opacity-90{--tw-border-opacity:0.9}.dark\\:border-opacity-95{--tw-border-opacity:0.95}.dark\\:border-opacity-100{--tw-border-opacity:1}.group:hover .dark\\:group-hover\\:border-opacity-0{--tw-border-opacity:0}.group:hover .dark\\:group-hover\\:border-opacity-5{--tw-border-opacity:0.05}.group:hover .dark\\:group-hover\\:border-opacity-10{--tw-border-opacity:0.1}.group:hover .dark\\:group-hover\\:border-opacity-20{--tw-border-opacity:0.2}.group:hover .dark\\:group-hover\\:border-opacity-25{--tw-border-opacity:0.25}.group:hover .dark\\:group-hover\\:border-opacity-30{--tw-border-opacity:0.3}.group:hover .dark\\:group-hover\\:border-opacity-40{--tw-border-opacity:0.4}.group:hover .dark\\:group-hover\\:border-opacity-50{--tw-border-opacity:0.5}.group:hover .dark\\:group-hover\\:border-opacity-60{--tw-border-opacity:0.6}.group:hover .dark\\:group-hover\\:border-opacity-70{--tw-border-opacity:0.7}.group:hover .dark\\:group-hover\\:border-opacity-75{--tw-border-opacity:0.75}.group:hover .dark\\:group-hover\\:border-opacity-80{--tw-border-opacity:0.8}.group:hover .dark\\:group-hover\\:border-opacity-90{--tw-border-opacity:0.9}.group:hover .dark\\:group-hover\\:border-opacity-95{--tw-border-opacity:0.95}.group:hover .dark\\:group-hover\\:border-opacity-100{--tw-border-opacity:1}.dark\\:focus-within\\:border-opacity-0:focus-within{--tw-border-opacity:0}.dark\\:focus-within\\:border-opacity-5:focus-within{--tw-border-opacity:0.05}.dark\\:focus-within\\:border-opacity-10:focus-within{--tw-border-opacity:0.1}.dark\\:focus-within\\:border-opacity-20:focus-within{--tw-border-opacity:0.2}.dark\\:focus-within\\:border-opacity-25:focus-within{--tw-border-opacity:0.25}.dark\\:focus-within\\:border-opacity-30:focus-within{--tw-border-opacity:0.3}.dark\\:focus-within\\:border-opacity-40:focus-within{--tw-border-opacity:0.4}.dark\\:focus-within\\:border-opacity-50:focus-within{--tw-border-opacity:0.5}.dark\\:focus-within\\:border-opacity-60:focus-within{--tw-border-opacity:0.6}.dark\\:focus-within\\:border-opacity-70:focus-within{--tw-border-opacity:0.7}.dark\\:focus-within\\:border-opacity-75:focus-within{--tw-border-opacity:0.75}.dark\\:focus-within\\:border-opacity-80:focus-within{--tw-border-opacity:0.8}.dark\\:focus-within\\:border-opacity-90:focus-within{--tw-border-opacity:0.9}.dark\\:focus-within\\:border-opacity-95:focus-within{--tw-border-opacity:0.95}.dark\\:focus-within\\:border-opacity-100:focus-within{--tw-border-opacity:1}.dark\\:hover\\:border-opacity-0:hover{--tw-border-opacity:0}.dark\\:hover\\:border-opacity-5:hover{--tw-border-opacity:0.05}.dark\\:hover\\:border-opacity-10:hover{--tw-border-opacity:0.1}.dark\\:hover\\:border-opacity-20:hover{--tw-border-opacity:0.2}.dark\\:hover\\:border-opacity-25:hover{--tw-border-opacity:0.25}.dark\\:hover\\:border-opacity-30:hover{--tw-border-opacity:0.3}.dark\\:hover\\:border-opacity-40:hover{--tw-border-opacity:0.4}.dark\\:hover\\:border-opacity-50:hover{--tw-border-opacity:0.5}.dark\\:hover\\:border-opacity-60:hover{--tw-border-opacity:0.6}.dark\\:hover\\:border-opacity-70:hover{--tw-border-opacity:0.7}.dark\\:hover\\:border-opacity-75:hover{--tw-border-opacity:0.75}.dark\\:hover\\:border-opacity-80:hover{--tw-border-opacity:0.8}.dark\\:hover\\:border-opacity-90:hover{--tw-border-opacity:0.9}.dark\\:hover\\:border-opacity-95:hover{--tw-border-opacity:0.95}.dark\\:hover\\:border-opacity-100:hover{--tw-border-opacity:1}.dark\\:focus\\:border-opacity-0:focus{--tw-border-opacity:0}.dark\\:focus\\:border-opacity-5:focus{--tw-border-opacity:0.05}.dark\\:focus\\:border-opacity-10:focus{--tw-border-opacity:0.1}.dark\\:focus\\:border-opacity-20:focus{--tw-border-opacity:0.2}.dark\\:focus\\:border-opacity-25:focus{--tw-border-opacity:0.25}.dark\\:focus\\:border-opacity-30:focus{--tw-border-opacity:0.3}.dark\\:focus\\:border-opacity-40:focus{--tw-border-opacity:0.4}.dark\\:focus\\:border-opacity-50:focus{--tw-border-opacity:0.5}.dark\\:focus\\:border-opacity-60:focus{--tw-border-opacity:0.6}.dark\\:focus\\:border-opacity-70:focus{--tw-border-opacity:0.7}.dark\\:focus\\:border-opacity-75:focus{--tw-border-opacity:0.75}.dark\\:focus\\:border-opacity-80:focus{--tw-border-opacity:0.8}.dark\\:focus\\:border-opacity-90:focus{--tw-border-opacity:0.9}.dark\\:focus\\:border-opacity-95:focus{--tw-border-opacity:0.95}.dark\\:focus\\:border-opacity-100:focus{--tw-border-opacity:1}}.bg-transparent{background-color:transparent}.bg-current{background-color:currentColor}.bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.bg-lightgrey{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.bg-midgrey{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.bg-darkgrey{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.bg-grey{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.bg-black{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.bg-highlight{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.bg-highlight_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.bg-button_outline{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.bg-error{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.bg-text-light{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.bg-text-dimmed{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.bg-text-dark{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.bg-body-light{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.bg-body-dark{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.bg-button{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.bg-button_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-transparent{background-color:transparent}.group:hover .group-hover\\:bg-current{background-color:currentColor}.group:hover .group-hover\\:bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-lightgrey{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-midgrey{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-darkgrey{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-grey{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-black{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-highlight{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-highlight_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-button_outline{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-error{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-text-light{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-text-dimmed{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-text-dark{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-body-light{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-body-dark{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-button{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-button_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.focus-within\\:bg-transparent:focus-within{background-color:transparent}.focus-within\\:bg-current:focus-within{background-color:currentColor}.focus-within\\:bg-white:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.focus-within\\:bg-lightgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.focus-within\\:bg-midgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.focus-within\\:bg-darkgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.focus-within\\:bg-grey:focus-within{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.focus-within\\:bg-black:focus-within{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.focus-within\\:bg-highlight:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.focus-within\\:bg-highlight_hover:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.focus-within\\:bg-button_outline:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.focus-within\\:bg-error:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.focus-within\\:bg-text-light:focus-within{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.focus-within\\:bg-text-dimmed:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.focus-within\\:bg-text-dark:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.focus-within\\:bg-body-light:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.focus-within\\:bg-body-dark:focus-within{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.focus-within\\:bg-button:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.focus-within\\:bg-button_hover:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.hover\\:bg-transparent:hover{background-color:transparent}.hover\\:bg-current:hover{background-color:currentColor}.hover\\:bg-white:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.hover\\:bg-lightgrey:hover{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.hover\\:bg-midgrey:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.hover\\:bg-darkgrey:hover{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.hover\\:bg-grey:hover{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.hover\\:bg-black:hover{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.hover\\:bg-highlight:hover{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.hover\\:bg-highlight_hover:hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.hover\\:bg-button_outline:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.hover\\:bg-error:hover{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.hover\\:bg-text-light:hover{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.hover\\:bg-text-dimmed:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.hover\\:bg-text-dark:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.hover\\:bg-body-light:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.hover\\:bg-body-dark:hover{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.hover\\:bg-button:hover{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.hover\\:bg-button_hover:hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.focus\\:bg-transparent:focus{background-color:transparent}.focus\\:bg-current:focus{background-color:currentColor}.focus\\:bg-white:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.focus\\:bg-lightgrey:focus{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.focus\\:bg-midgrey:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.focus\\:bg-darkgrey:focus{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.focus\\:bg-grey:focus{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.focus\\:bg-black:focus{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.focus\\:bg-highlight:focus{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.focus\\:bg-highlight_hover:focus{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.focus\\:bg-button_outline:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.focus\\:bg-error:focus{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.focus\\:bg-text-light:focus{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.focus\\:bg-text-dimmed:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.focus\\:bg-text-dark:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.focus\\:bg-body-light:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.focus\\:bg-body-dark:focus{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.focus\\:bg-button:focus{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.focus\\:bg-button_hover:focus{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}@media(prefers-color-scheme: dark){.dark\\:bg-transparent{background-color:transparent}.dark\\:bg-current{background-color:currentColor}.dark\\:bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.dark\\:bg-lightgrey{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.dark\\:bg-midgrey{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.dark\\:bg-darkgrey{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.dark\\:bg-grey{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.dark\\:bg-black{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.dark\\:bg-highlight{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.dark\\:bg-highlight_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.dark\\:bg-button_outline{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.dark\\:bg-error{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.dark\\:bg-text-light{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.dark\\:bg-text-dimmed{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.dark\\:bg-text-dark{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.dark\\:bg-body-light{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.dark\\:bg-body-dark{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.dark\\:bg-button{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.dark\\:bg-button_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.group:hover .dark\\:group-hover\\:bg-transparent{background-color:transparent}.group:hover .dark\\:group-hover\\:bg-current{background-color:currentColor}.group:hover .dark\\:group-hover\\:bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .dark\\:group-hover\\:bg-lightgrey{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.group:hover .dark\\:group-hover\\:bg-midgrey{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .dark\\:group-hover\\:bg-darkgrey{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.group:hover .dark\\:group-hover\\:bg-grey{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.group:hover .dark\\:group-hover\\:bg-black{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.group:hover .dark\\:group-hover\\:bg-highlight{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.group:hover .dark\\:group-hover\\:bg-highlight_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.group:hover .dark\\:group-hover\\:bg-button_outline{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .dark\\:group-hover\\:bg-error{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.group:hover .dark\\:group-hover\\:bg-text-light{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.group:hover .dark\\:group-hover\\:bg-text-dimmed{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .dark\\:group-hover\\:bg-text-dark{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .dark\\:group-hover\\:bg-body-light{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .dark\\:group-hover\\:bg-body-dark{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.group:hover .dark\\:group-hover\\:bg-button{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.group:hover .dark\\:group-hover\\:bg-button_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.dark\\:focus-within\\:bg-transparent:focus-within{background-color:transparent}.dark\\:focus-within\\:bg-current:focus-within{background-color:currentColor}.dark\\:focus-within\\:bg-white:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.dark\\:focus-within\\:bg-lightgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.dark\\:focus-within\\:bg-midgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.dark\\:focus-within\\:bg-darkgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.dark\\:focus-within\\:bg-grey:focus-within{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.dark\\:focus-within\\:bg-black:focus-within{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.dark\\:focus-within\\:bg-highlight:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.dark\\:focus-within\\:bg-highlight_hover:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.dark\\:focus-within\\:bg-button_outline:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.dark\\:focus-within\\:bg-error:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.dark\\:focus-within\\:bg-text-light:focus-within{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.dark\\:focus-within\\:bg-text-dimmed:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.dark\\:focus-within\\:bg-text-dark:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.dark\\:focus-within\\:bg-body-light:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.dark\\:focus-within\\:bg-body-dark:focus-within{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.dark\\:focus-within\\:bg-button:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.dark\\:focus-within\\:bg-button_hover:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.dark\\:hover\\:bg-transparent:hover{background-color:transparent}.dark\\:hover\\:bg-current:hover{background-color:currentColor}.dark\\:hover\\:bg-white:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.dark\\:hover\\:bg-lightgrey:hover{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.dark\\:hover\\:bg-midgrey:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.dark\\:hover\\:bg-darkgrey:hover{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.dark\\:hover\\:bg-grey:hover{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.dark\\:hover\\:bg-black:hover{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.dark\\:hover\\:bg-highlight:hover{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.dark\\:hover\\:bg-highlight_hover:hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.dark\\:hover\\:bg-button_outline:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.dark\\:hover\\:bg-error:hover{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.dark\\:hover\\:bg-text-light:hover{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.dark\\:hover\\:bg-text-dimmed:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.dark\\:hover\\:bg-text-dark:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.dark\\:hover\\:bg-body-light:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.dark\\:hover\\:bg-body-dark:hover{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.dark\\:hover\\:bg-button:hover{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.dark\\:hover\\:bg-button_hover:hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.dark\\:focus\\:bg-transparent:focus{background-color:transparent}.dark\\:focus\\:bg-current:focus{background-color:currentColor}.dark\\:focus\\:bg-white:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.dark\\:focus\\:bg-lightgrey:focus{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.dark\\:focus\\:bg-midgrey:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.dark\\:focus\\:bg-darkgrey:focus{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.dark\\:focus\\:bg-grey:focus{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.dark\\:focus\\:bg-black:focus{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.dark\\:focus\\:bg-highlight:focus{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.dark\\:focus\\:bg-highlight_hover:focus{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.dark\\:focus\\:bg-button_outline:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.dark\\:focus\\:bg-error:focus{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.dark\\:focus\\:bg-text-light:focus{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.dark\\:focus\\:bg-text-dimmed:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.dark\\:focus\\:bg-text-dark:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.dark\\:focus\\:bg-body-light:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.dark\\:focus\\:bg-body-dark:focus{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.dark\\:focus\\:bg-button:focus{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.dark\\:focus\\:bg-button_hover:focus{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}}.bg-opacity-0{--tw-bg-opacity:0}.bg-opacity-5{--tw-bg-opacity:0.05}.bg-opacity-10{--tw-bg-opacity:0.1}.bg-opacity-20{--tw-bg-opacity:0.2}.bg-opacity-25{--tw-bg-opacity:0.25}.bg-opacity-30{--tw-bg-opacity:0.3}.bg-opacity-40{--tw-bg-opacity:0.4}.bg-opacity-50{--tw-bg-opacity:0.5}.bg-opacity-60{--tw-bg-opacity:0.6}.bg-opacity-70{--tw-bg-opacity:0.7}.bg-opacity-75{--tw-bg-opacity:0.75}.bg-opacity-80{--tw-bg-opacity:0.8}.bg-opacity-90{--tw-bg-opacity:0.9}.bg-opacity-95{--tw-bg-opacity:0.95}.bg-opacity-100{--tw-bg-opacity:1}.group:hover .group-hover\\:bg-opacity-0{--tw-bg-opacity:0}.group:hover .group-hover\\:bg-opacity-5{--tw-bg-opacity:0.05}.group:hover .group-hover\\:bg-opacity-10{--tw-bg-opacity:0.1}.group:hover .group-hover\\:bg-opacity-20{--tw-bg-opacity:0.2}.group:hover .group-hover\\:bg-opacity-25{--tw-bg-opacity:0.25}.group:hover .group-hover\\:bg-opacity-30{--tw-bg-opacity:0.3}.group:hover .group-hover\\:bg-opacity-40{--tw-bg-opacity:0.4}.group:hover .group-hover\\:bg-opacity-50{--tw-bg-opacity:0.5}.group:hover .group-hover\\:bg-opacity-60{--tw-bg-opacity:0.6}.group:hover .group-hover\\:bg-opacity-70{--tw-bg-opacity:0.7}.group:hover .group-hover\\:bg-opacity-75{--tw-bg-opacity:0.75}.group:hover .group-hover\\:bg-opacity-80{--tw-bg-opacity:0.8}.group:hover .group-hover\\:bg-opacity-90{--tw-bg-opacity:0.9}.group:hover .group-hover\\:bg-opacity-95{--tw-bg-opacity:0.95}.group:hover .group-hover\\:bg-opacity-100{--tw-bg-opacity:1}.focus-within\\:bg-opacity-0:focus-within{--tw-bg-opacity:0}.focus-within\\:bg-opacity-5:focus-within{--tw-bg-opacity:0.05}.focus-within\\:bg-opacity-10:focus-within{--tw-bg-opacity:0.1}.focus-within\\:bg-opacity-20:focus-within{--tw-bg-opacity:0.2}.focus-within\\:bg-opacity-25:focus-within{--tw-bg-opacity:0.25}.focus-within\\:bg-opacity-30:focus-within{--tw-bg-opacity:0.3}.focus-within\\:bg-opacity-40:focus-within{--tw-bg-opacity:0.4}.focus-within\\:bg-opacity-50:focus-within{--tw-bg-opacity:0.5}.focus-within\\:bg-opacity-60:focus-within{--tw-bg-opacity:0.6}.focus-within\\:bg-opacity-70:focus-within{--tw-bg-opacity:0.7}.focus-within\\:bg-opacity-75:focus-within{--tw-bg-opacity:0.75}.focus-within\\:bg-opacity-80:focus-within{--tw-bg-opacity:0.8}.focus-within\\:bg-opacity-90:focus-within{--tw-bg-opacity:0.9}.focus-within\\:bg-opacity-95:focus-within{--tw-bg-opacity:0.95}.focus-within\\:bg-opacity-100:focus-within{--tw-bg-opacity:1}.hover\\:bg-opacity-0:hover{--tw-bg-opacity:0}.hover\\:bg-opacity-5:hover{--tw-bg-opacity:0.05}.hover\\:bg-opacity-10:hover{--tw-bg-opacity:0.1}.hover\\:bg-opacity-20:hover{--tw-bg-opacity:0.2}.hover\\:bg-opacity-25:hover{--tw-bg-opacity:0.25}.hover\\:bg-opacity-30:hover{--tw-bg-opacity:0.3}.hover\\:bg-opacity-40:hover{--tw-bg-opacity:0.4}.hover\\:bg-opacity-50:hover{--tw-bg-opacity:0.5}.hover\\:bg-opacity-60:hover{--tw-bg-opacity:0.6}.hover\\:bg-opacity-70:hover{--tw-bg-opacity:0.7}.hover\\:bg-opacity-75:hover{--tw-bg-opacity:0.75}.hover\\:bg-opacity-80:hover{--tw-bg-opacity:0.8}.hover\\:bg-opacity-90:hover{--tw-bg-opacity:0.9}.hover\\:bg-opacity-95:hover{--tw-bg-opacity:0.95}.hover\\:bg-opacity-100:hover{--tw-bg-opacity:1}.focus\\:bg-opacity-0:focus{--tw-bg-opacity:0}.focus\\:bg-opacity-5:focus{--tw-bg-opacity:0.05}.focus\\:bg-opacity-10:focus{--tw-bg-opacity:0.1}.focus\\:bg-opacity-20:focus{--tw-bg-opacity:0.2}.focus\\:bg-opacity-25:focus{--tw-bg-opacity:0.25}.focus\\:bg-opacity-30:focus{--tw-bg-opacity:0.3}.focus\\:bg-opacity-40:focus{--tw-bg-opacity:0.4}.focus\\:bg-opacity-50:focus{--tw-bg-opacity:0.5}.focus\\:bg-opacity-60:focus{--tw-bg-opacity:0.6}.focus\\:bg-opacity-70:focus{--tw-bg-opacity:0.7}.focus\\:bg-opacity-75:focus{--tw-bg-opacity:0.75}.focus\\:bg-opacity-80:focus{--tw-bg-opacity:0.8}.focus\\:bg-opacity-90:focus{--tw-bg-opacity:0.9}.focus\\:bg-opacity-95:focus{--tw-bg-opacity:0.95}.focus\\:bg-opacity-100:focus{--tw-bg-opacity:1}@media(prefers-color-scheme: dark){.dark\\:bg-opacity-0{--tw-bg-opacity:0}.dark\\:bg-opacity-5{--tw-bg-opacity:0.05}.dark\\:bg-opacity-10{--tw-bg-opacity:0.1}.dark\\:bg-opacity-20{--tw-bg-opacity:0.2}.dark\\:bg-opacity-25{--tw-bg-opacity:0.25}.dark\\:bg-opacity-30{--tw-bg-opacity:0.3}.dark\\:bg-opacity-40{--tw-bg-opacity:0.4}.dark\\:bg-opacity-50{--tw-bg-opacity:0.5}.dark\\:bg-opacity-60{--tw-bg-opacity:0.6}.dark\\:bg-opacity-70{--tw-bg-opacity:0.7}.dark\\:bg-opacity-75{--tw-bg-opacity:0.75}.dark\\:bg-opacity-80{--tw-bg-opacity:0.8}.dark\\:bg-opacity-90{--tw-bg-opacity:0.9}.dark\\:bg-opacity-95{--tw-bg-opacity:0.95}.dark\\:bg-opacity-100{--tw-bg-opacity:1}.group:hover .dark\\:group-hover\\:bg-opacity-0{--tw-bg-opacity:0}.group:hover .dark\\:group-hover\\:bg-opacity-5{--tw-bg-opacity:0.05}.group:hover .dark\\:group-hover\\:bg-opacity-10{--tw-bg-opacity:0.1}.group:hover .dark\\:group-hover\\:bg-opacity-20{--tw-bg-opacity:0.2}.group:hover .dark\\:group-hover\\:bg-opacity-25{--tw-bg-opacity:0.25}.group:hover .dark\\:group-hover\\:bg-opacity-30{--tw-bg-opacity:0.3}.group:hover .dark\\:group-hover\\:bg-opacity-40{--tw-bg-opacity:0.4}.group:hover .dark\\:group-hover\\:bg-opacity-50{--tw-bg-opacity:0.5}.group:hover .dark\\:group-hover\\:bg-opacity-60{--tw-bg-opacity:0.6}.group:hover .dark\\:group-hover\\:bg-opacity-70{--tw-bg-opacity:0.7}.group:hover .dark\\:group-hover\\:bg-opacity-75{--tw-bg-opacity:0.75}.group:hover .dark\\:group-hover\\:bg-opacity-80{--tw-bg-opacity:0.8}.group:hover .dark\\:group-hover\\:bg-opacity-90{--tw-bg-opacity:0.9}.group:hover .dark\\:group-hover\\:bg-opacity-95{--tw-bg-opacity:0.95}.group:hover .dark\\:group-hover\\:bg-opacity-100{--tw-bg-opacity:1}.dark\\:focus-within\\:bg-opacity-0:focus-within{--tw-bg-opacity:0}.dark\\:focus-within\\:bg-opacity-5:focus-within{--tw-bg-opacity:0.05}.dark\\:focus-within\\:bg-opacity-10:focus-within{--tw-bg-opacity:0.1}.dark\\:focus-within\\:bg-opacity-20:focus-within{--tw-bg-opacity:0.2}.dark\\:focus-within\\:bg-opacity-25:focus-within{--tw-bg-opacity:0.25}.dark\\:focus-within\\:bg-opacity-30:focus-within{--tw-bg-opacity:0.3}.dark\\:focus-within\\:bg-opacity-40:focus-within{--tw-bg-opacity:0.4}.dark\\:focus-within\\:bg-opacity-50:focus-within{--tw-bg-opacity:0.5}.dark\\:focus-within\\:bg-opacity-60:focus-within{--tw-bg-opacity:0.6}.dark\\:focus-within\\:bg-opacity-70:focus-within{--tw-bg-opacity:0.7}.dark\\:focus-within\\:bg-opacity-75:focus-within{--tw-bg-opacity:0.75}.dark\\:focus-within\\:bg-opacity-80:focus-within{--tw-bg-opacity:0.8}.dark\\:focus-within\\:bg-opacity-90:focus-within{--tw-bg-opacity:0.9}.dark\\:focus-within\\:bg-opacity-95:focus-within{--tw-bg-opacity:0.95}.dark\\:focus-within\\:bg-opacity-100:focus-within{--tw-bg-opacity:1}.dark\\:hover\\:bg-opacity-0:hover{--tw-bg-opacity:0}.dark\\:hover\\:bg-opacity-5:hover{--tw-bg-opacity:0.05}.dark\\:hover\\:bg-opacity-10:hover{--tw-bg-opacity:0.1}.dark\\:hover\\:bg-opacity-20:hover{--tw-bg-opacity:0.2}.dark\\:hover\\:bg-opacity-25:hover{--tw-bg-opacity:0.25}.dark\\:hover\\:bg-opacity-30:hover{--tw-bg-opacity:0.3}.dark\\:hover\\:bg-opacity-40:hover{--tw-bg-opacity:0.4}.dark\\:hover\\:bg-opacity-50:hover{--tw-bg-opacity:0.5}.dark\\:hover\\:bg-opacity-60:hover{--tw-bg-opacity:0.6}.dark\\:hover\\:bg-opacity-70:hover{--tw-bg-opacity:0.7}.dark\\:hover\\:bg-opacity-75:hover{--tw-bg-opacity:0.75}.dark\\:hover\\:bg-opacity-80:hover{--tw-bg-opacity:0.8}.dark\\:hover\\:bg-opacity-90:hover{--tw-bg-opacity:0.9}.dark\\:hover\\:bg-opacity-95:hover{--tw-bg-opacity:0.95}.dark\\:hover\\:bg-opacity-100:hover{--tw-bg-opacity:1}.dark\\:focus\\:bg-opacity-0:focus{--tw-bg-opacity:0}.dark\\:focus\\:bg-opacity-5:focus{--tw-bg-opacity:0.05}.dark\\:focus\\:bg-opacity-10:focus{--tw-bg-opacity:0.1}.dark\\:focus\\:bg-opacity-20:focus{--tw-bg-opacity:0.2}.dark\\:focus\\:bg-opacity-25:focus{--tw-bg-opacity:0.25}.dark\\:focus\\:bg-opacity-30:focus{--tw-bg-opacity:0.3}.dark\\:focus\\:bg-opacity-40:focus{--tw-bg-opacity:0.4}.dark\\:focus\\:bg-opacity-50:focus{--tw-bg-opacity:0.5}.dark\\:focus\\:bg-opacity-60:focus{--tw-bg-opacity:0.6}.dark\\:focus\\:bg-opacity-70:focus{--tw-bg-opacity:0.7}.dark\\:focus\\:bg-opacity-75:focus{--tw-bg-opacity:0.75}.dark\\:focus\\:bg-opacity-80:focus{--tw-bg-opacity:0.8}.dark\\:focus\\:bg-opacity-90:focus{--tw-bg-opacity:0.9}.dark\\:focus\\:bg-opacity-95:focus{--tw-bg-opacity:0.95}.dark\\:focus\\:bg-opacity-100:focus{--tw-bg-opacity:1}}.bg-none{background-image:none}.bg-gradient-to-t{background-image:linear-gradient(to top, var(--tw-gradient-stops))}.bg-gradient-to-tr{background-image:linear-gradient(to top right, var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right, var(--tw-gradient-stops))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right, var(--tw-gradient-stops))}.bg-gradient-to-b{background-image:linear-gradient(to bottom, var(--tw-gradient-stops))}.bg-gradient-to-bl{background-image:linear-gradient(to bottom left, var(--tw-gradient-stops))}.bg-gradient-to-l{background-image:linear-gradient(to left, var(--tw-gradient-stops))}.bg-gradient-to-tl{background-image:linear-gradient(to top left, var(--tw-gradient-stops))}.from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.from-current{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.from-white{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.from-lightgrey{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.from-midgrey{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.from-darkgrey{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.from-grey{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.from-black{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.from-highlight{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.from-highlight_hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.from-button_outline{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.from-error{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.from-text-light{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.from-text-dimmed{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.from-text-dark{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.from-body-light{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.from-body-dark{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.from-button{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.from-button_hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.hover\\:from-transparent:hover{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.hover\\:from-current:hover{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.hover\\:from-white:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.hover\\:from-lightgrey:hover{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.hover\\:from-midgrey:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.hover\\:from-darkgrey:hover{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.hover\\:from-grey:hover{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.hover\\:from-black:hover{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.hover\\:from-highlight:hover{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.hover\\:from-highlight_hover:hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.hover\\:from-button_outline:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.hover\\:from-error:hover{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.hover\\:from-text-light:hover{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.hover\\:from-text-dimmed:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.hover\\:from-text-dark:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.hover\\:from-body-light:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.hover\\:from-body-dark:hover{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.hover\\:from-button:hover{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.hover\\:from-button_hover:hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.focus\\:from-transparent:focus{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.focus\\:from-current:focus{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.focus\\:from-white:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.focus\\:from-lightgrey:focus{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.focus\\:from-midgrey:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.focus\\:from-darkgrey:focus{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.focus\\:from-grey:focus{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.focus\\:from-black:focus{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.focus\\:from-highlight:focus{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.focus\\:from-highlight_hover:focus{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.focus\\:from-button_outline:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.focus\\:from-error:focus{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.focus\\:from-text-light:focus{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.focus\\:from-text-dimmed:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.focus\\:from-text-dark:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.focus\\:from-body-light:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.focus\\:from-body-dark:focus{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.focus\\:from-button:focus{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.focus\\:from-button_hover:focus{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}@media(prefers-color-scheme: dark){.dark\\:from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.dark\\:from-current{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.dark\\:from-white{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.dark\\:from-lightgrey{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.dark\\:from-midgrey{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.dark\\:from-darkgrey{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.dark\\:from-grey{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.dark\\:from-black{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.dark\\:from-highlight{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.dark\\:from-highlight_hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.dark\\:from-button_outline{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.dark\\:from-error{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.dark\\:from-text-light{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.dark\\:from-text-dimmed{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.dark\\:from-text-dark{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.dark\\:from-body-light{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.dark\\:from-body-dark{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.dark\\:from-button{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.dark\\:from-button_hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.dark\\:hover\\:from-transparent:hover{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.dark\\:hover\\:from-current:hover{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.dark\\:hover\\:from-white:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.dark\\:hover\\:from-lightgrey:hover{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.dark\\:hover\\:from-midgrey:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.dark\\:hover\\:from-darkgrey:hover{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.dark\\:hover\\:from-grey:hover{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.dark\\:hover\\:from-black:hover{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.dark\\:hover\\:from-highlight:hover{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.dark\\:hover\\:from-highlight_hover:hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.dark\\:hover\\:from-button_outline:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.dark\\:hover\\:from-error:hover{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.dark\\:hover\\:from-text-light:hover{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.dark\\:hover\\:from-text-dimmed:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.dark\\:hover\\:from-text-dark:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.dark\\:hover\\:from-body-light:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.dark\\:hover\\:from-body-dark:hover{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.dark\\:hover\\:from-button:hover{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.dark\\:hover\\:from-button_hover:hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.dark\\:focus\\:from-transparent:focus{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.dark\\:focus\\:from-current:focus{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.dark\\:focus\\:from-white:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.dark\\:focus\\:from-lightgrey:focus{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.dark\\:focus\\:from-midgrey:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.dark\\:focus\\:from-darkgrey:focus{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.dark\\:focus\\:from-grey:focus{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.dark\\:focus\\:from-black:focus{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.dark\\:focus\\:from-highlight:focus{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.dark\\:focus\\:from-highlight_hover:focus{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.dark\\:focus\\:from-button_outline:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.dark\\:focus\\:from-error:focus{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.dark\\:focus\\:from-text-light:focus{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.dark\\:focus\\:from-text-dimmed:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.dark\\:focus\\:from-text-dark:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.dark\\:focus\\:from-body-light:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.dark\\:focus\\:from-body-dark:focus{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.dark\\:focus\\:from-button:focus{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.dark\\:focus\\:from-button_hover:focus{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}}.via-transparent{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.via-current{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.via-white{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.via-lightgrey{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.via-midgrey{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.via-darkgrey{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.via-grey{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.via-black{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.via-highlight{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.via-highlight_hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.via-button_outline{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.via-error{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.via-text-light{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.via-text-dimmed{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.via-text-dark{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.via-body-light{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.via-body-dark{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.via-button{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.via-button_hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.hover\\:via-transparent:hover{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.hover\\:via-current:hover{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.hover\\:via-white:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.hover\\:via-lightgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.hover\\:via-midgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.hover\\:via-darkgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.hover\\:via-grey:hover{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.hover\\:via-black:hover{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.hover\\:via-highlight:hover{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.hover\\:via-highlight_hover:hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.hover\\:via-button_outline:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.hover\\:via-error:hover{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.hover\\:via-text-light:hover{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.hover\\:via-text-dimmed:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.hover\\:via-text-dark:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.hover\\:via-body-light:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.hover\\:via-body-dark:hover{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.hover\\:via-button:hover{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.hover\\:via-button_hover:hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.focus\\:via-transparent:focus{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.focus\\:via-current:focus{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.focus\\:via-white:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.focus\\:via-lightgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.focus\\:via-midgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.focus\\:via-darkgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.focus\\:via-grey:focus{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.focus\\:via-black:focus{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.focus\\:via-highlight:focus{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.focus\\:via-highlight_hover:focus{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.focus\\:via-button_outline:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.focus\\:via-error:focus{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.focus\\:via-text-light:focus{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.focus\\:via-text-dimmed:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.focus\\:via-text-dark:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.focus\\:via-body-light:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.focus\\:via-body-dark:focus{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.focus\\:via-button:focus{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.focus\\:via-button_hover:focus{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}@media(prefers-color-scheme: dark){.dark\\:via-transparent{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.dark\\:via-current{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.dark\\:via-white{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.dark\\:via-lightgrey{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.dark\\:via-midgrey{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.dark\\:via-darkgrey{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.dark\\:via-grey{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.dark\\:via-black{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.dark\\:via-highlight{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.dark\\:via-highlight_hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.dark\\:via-button_outline{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.dark\\:via-error{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.dark\\:via-text-light{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.dark\\:via-text-dimmed{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.dark\\:via-text-dark{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.dark\\:via-body-light{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.dark\\:via-body-dark{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.dark\\:via-button{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.dark\\:via-button_hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.dark\\:hover\\:via-transparent:hover{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.dark\\:hover\\:via-current:hover{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.dark\\:hover\\:via-white:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.dark\\:hover\\:via-lightgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.dark\\:hover\\:via-midgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.dark\\:hover\\:via-darkgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.dark\\:hover\\:via-grey:hover{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.dark\\:hover\\:via-black:hover{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.dark\\:hover\\:via-highlight:hover{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.dark\\:hover\\:via-highlight_hover:hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.dark\\:hover\\:via-button_outline:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.dark\\:hover\\:via-error:hover{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.dark\\:hover\\:via-text-light:hover{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.dark\\:hover\\:via-text-dimmed:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.dark\\:hover\\:via-text-dark:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.dark\\:hover\\:via-body-light:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.dark\\:hover\\:via-body-dark:hover{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.dark\\:hover\\:via-button:hover{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.dark\\:hover\\:via-button_hover:hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.dark\\:focus\\:via-transparent:focus{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.dark\\:focus\\:via-current:focus{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.dark\\:focus\\:via-white:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.dark\\:focus\\:via-lightgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.dark\\:focus\\:via-midgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.dark\\:focus\\:via-darkgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.dark\\:focus\\:via-grey:focus{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.dark\\:focus\\:via-black:focus{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.dark\\:focus\\:via-highlight:focus{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.dark\\:focus\\:via-highlight_hover:focus{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.dark\\:focus\\:via-button_outline:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.dark\\:focus\\:via-error:focus{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.dark\\:focus\\:via-text-light:focus{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.dark\\:focus\\:via-text-dimmed:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.dark\\:focus\\:via-text-dark:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.dark\\:focus\\:via-body-light:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.dark\\:focus\\:via-body-dark:focus{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.dark\\:focus\\:via-button:focus{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.dark\\:focus\\:via-button_hover:focus{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}}.to-transparent{--tw-gradient-to:transparent}.to-current{--tw-gradient-to:currentColor}.to-white{--tw-gradient-to:#fff}.to-lightgrey{--tw-gradient-to:#F7F7F7}.to-midgrey{--tw-gradient-to:#cfcfcf}.to-darkgrey{--tw-gradient-to:#7f7f7f}.to-grey{--tw-gradient-to:#1e1e1e}.to-black{--tw-gradient-to:#0f0f0f}.to-highlight{--tw-gradient-to:#0071e3}.to-highlight_hover{--tw-gradient-to:#0077ed}.to-button_outline{--tw-gradient-to:#cfcfcf}.to-error{--tw-gradient-to:#ff453a}.to-text-light{--tw-gradient-to:#0f0f0f}.to-text-dimmed{--tw-gradient-to:#cfcfcf}.to-text-dark{--tw-gradient-to:#fff}.to-body-light{--tw-gradient-to:#fff}.to-body-dark{--tw-gradient-to:#1e1e1e}.to-button{--tw-gradient-to:#0071e3}.to-button_hover{--tw-gradient-to:#0077ed}.hover\\:to-transparent:hover{--tw-gradient-to:transparent}.hover\\:to-current:hover{--tw-gradient-to:currentColor}.hover\\:to-white:hover{--tw-gradient-to:#fff}.hover\\:to-lightgrey:hover{--tw-gradient-to:#F7F7F7}.hover\\:to-midgrey:hover{--tw-gradient-to:#cfcfcf}.hover\\:to-darkgrey:hover{--tw-gradient-to:#7f7f7f}.hover\\:to-grey:hover{--tw-gradient-to:#1e1e1e}.hover\\:to-black:hover{--tw-gradient-to:#0f0f0f}.hover\\:to-highlight:hover{--tw-gradient-to:#0071e3}.hover\\:to-highlight_hover:hover{--tw-gradient-to:#0077ed}.hover\\:to-button_outline:hover{--tw-gradient-to:#cfcfcf}.hover\\:to-error:hover{--tw-gradient-to:#ff453a}.hover\\:to-text-light:hover{--tw-gradient-to:#0f0f0f}.hover\\:to-text-dimmed:hover{--tw-gradient-to:#cfcfcf}.hover\\:to-text-dark:hover{--tw-gradient-to:#fff}.hover\\:to-body-light:hover{--tw-gradient-to:#fff}.hover\\:to-body-dark:hover{--tw-gradient-to:#1e1e1e}.hover\\:to-button:hover{--tw-gradient-to:#0071e3}.hover\\:to-button_hover:hover{--tw-gradient-to:#0077ed}.focus\\:to-transparent:focus{--tw-gradient-to:transparent}.focus\\:to-current:focus{--tw-gradient-to:currentColor}.focus\\:to-white:focus{--tw-gradient-to:#fff}.focus\\:to-lightgrey:focus{--tw-gradient-to:#F7F7F7}.focus\\:to-midgrey:focus{--tw-gradient-to:#cfcfcf}.focus\\:to-darkgrey:focus{--tw-gradient-to:#7f7f7f}.focus\\:to-grey:focus{--tw-gradient-to:#1e1e1e}.focus\\:to-black:focus{--tw-gradient-to:#0f0f0f}.focus\\:to-highlight:focus{--tw-gradient-to:#0071e3}.focus\\:to-highlight_hover:focus{--tw-gradient-to:#0077ed}.focus\\:to-button_outline:focus{--tw-gradient-to:#cfcfcf}.focus\\:to-error:focus{--tw-gradient-to:#ff453a}.focus\\:to-text-light:focus{--tw-gradient-to:#0f0f0f}.focus\\:to-text-dimmed:focus{--tw-gradient-to:#cfcfcf}.focus\\:to-text-dark:focus{--tw-gradient-to:#fff}.focus\\:to-body-light:focus{--tw-gradient-to:#fff}.focus\\:to-body-dark:focus{--tw-gradient-to:#1e1e1e}.focus\\:to-button:focus{--tw-gradient-to:#0071e3}.focus\\:to-button_hover:focus{--tw-gradient-to:#0077ed}@media(prefers-color-scheme: dark){.dark\\:to-transparent{--tw-gradient-to:transparent}.dark\\:to-current{--tw-gradient-to:currentColor}.dark\\:to-white{--tw-gradient-to:#fff}.dark\\:to-lightgrey{--tw-gradient-to:#F7F7F7}.dark\\:to-midgrey{--tw-gradient-to:#cfcfcf}.dark\\:to-darkgrey{--tw-gradient-to:#7f7f7f}.dark\\:to-grey{--tw-gradient-to:#1e1e1e}.dark\\:to-black{--tw-gradient-to:#0f0f0f}.dark\\:to-highlight{--tw-gradient-to:#0071e3}.dark\\:to-highlight_hover{--tw-gradient-to:#0077ed}.dark\\:to-button_outline{--tw-gradient-to:#cfcfcf}.dark\\:to-error{--tw-gradient-to:#ff453a}.dark\\:to-text-light{--tw-gradient-to:#0f0f0f}.dark\\:to-text-dimmed{--tw-gradient-to:#cfcfcf}.dark\\:to-text-dark{--tw-gradient-to:#fff}.dark\\:to-body-light{--tw-gradient-to:#fff}.dark\\:to-body-dark{--tw-gradient-to:#1e1e1e}.dark\\:to-button{--tw-gradient-to:#0071e3}.dark\\:to-button_hover{--tw-gradient-to:#0077ed}.dark\\:hover\\:to-transparent:hover{--tw-gradient-to:transparent}.dark\\:hover\\:to-current:hover{--tw-gradient-to:currentColor}.dark\\:hover\\:to-white:hover{--tw-gradient-to:#fff}.dark\\:hover\\:to-lightgrey:hover{--tw-gradient-to:#F7F7F7}.dark\\:hover\\:to-midgrey:hover{--tw-gradient-to:#cfcfcf}.dark\\:hover\\:to-darkgrey:hover{--tw-gradient-to:#7f7f7f}.dark\\:hover\\:to-grey:hover{--tw-gradient-to:#1e1e1e}.dark\\:hover\\:to-black:hover{--tw-gradient-to:#0f0f0f}.dark\\:hover\\:to-highlight:hover{--tw-gradient-to:#0071e3}.dark\\:hover\\:to-highlight_hover:hover{--tw-gradient-to:#0077ed}.dark\\:hover\\:to-button_outline:hover{--tw-gradient-to:#cfcfcf}.dark\\:hover\\:to-error:hover{--tw-gradient-to:#ff453a}.dark\\:hover\\:to-text-light:hover{--tw-gradient-to:#0f0f0f}.dark\\:hover\\:to-text-dimmed:hover{--tw-gradient-to:#cfcfcf}.dark\\:hover\\:to-text-dark:hover{--tw-gradient-to:#fff}.dark\\:hover\\:to-body-light:hover{--tw-gradient-to:#fff}.dark\\:hover\\:to-body-dark:hover{--tw-gradient-to:#1e1e1e}.dark\\:hover\\:to-button:hover{--tw-gradient-to:#0071e3}.dark\\:hover\\:to-button_hover:hover{--tw-gradient-to:#0077ed}.dark\\:focus\\:to-transparent:focus{--tw-gradient-to:transparent}.dark\\:focus\\:to-current:focus{--tw-gradient-to:currentColor}.dark\\:focus\\:to-white:focus{--tw-gradient-to:#fff}.dark\\:focus\\:to-lightgrey:focus{--tw-gradient-to:#F7F7F7}.dark\\:focus\\:to-midgrey:focus{--tw-gradient-to:#cfcfcf}.dark\\:focus\\:to-darkgrey:focus{--tw-gradient-to:#7f7f7f}.dark\\:focus\\:to-grey:focus{--tw-gradient-to:#1e1e1e}.dark\\:focus\\:to-black:focus{--tw-gradient-to:#0f0f0f}.dark\\:focus\\:to-highlight:focus{--tw-gradient-to:#0071e3}.dark\\:focus\\:to-highlight_hover:focus{--tw-gradient-to:#0077ed}.dark\\:focus\\:to-button_outline:focus{--tw-gradient-to:#cfcfcf}.dark\\:focus\\:to-error:focus{--tw-gradient-to:#ff453a}.dark\\:focus\\:to-text-light:focus{--tw-gradient-to:#0f0f0f}.dark\\:focus\\:to-text-dimmed:focus{--tw-gradient-to:#cfcfcf}.dark\\:focus\\:to-text-dark:focus{--tw-gradient-to:#fff}.dark\\:focus\\:to-body-light:focus{--tw-gradient-to:#fff}.dark\\:focus\\:to-body-dark:focus{--tw-gradient-to:#1e1e1e}.dark\\:focus\\:to-button:focus{--tw-gradient-to:#0071e3}.dark\\:focus\\:to-button_hover:focus{--tw-gradient-to:#0077ed}}.decoration-slice{-webkit-box-decoration-break:slice;box-decoration-break:slice}.decoration-clone{-webkit-box-decoration-break:clone;box-decoration-break:clone}.bg-auto{background-size:auto}.bg-cover{background-size:cover}.bg-contain{background-size:contain}.bg-fixed{background-attachment:fixed}.bg-local{background-attachment:local}.bg-scroll{background-attachment:scroll}.bg-clip-border{background-clip:border-box}.bg-clip-padding{background-clip:padding-box}.bg-clip-content{background-clip:content-box}.bg-clip-text{background-clip:text}.bg-bottom{background-position:bottom}.bg-center{background-position:center}.bg-left{background-position:left}.bg-left-bottom{background-position:left bottom}.bg-left-top{background-position:left top}.bg-right{background-position:right}.bg-right-bottom{background-position:right bottom}.bg-right-top{background-position:right top}.bg-top{background-position:top}.bg-repeat{background-repeat:repeat}.bg-no-repeat{background-repeat:no-repeat}.bg-repeat-x{background-repeat:repeat-x}.bg-repeat-y{background-repeat:repeat-y}.bg-repeat-round{background-repeat:round}.bg-repeat-space{background-repeat:space}.bg-origin-border{background-origin:border-box}.bg-origin-padding{background-origin:padding-box}.bg-origin-content{background-origin:content-box}.fill-current{fill:currentColor}.stroke-current{stroke:currentColor}.stroke-0{stroke-width:0}.stroke-1{stroke-width:1}.stroke-2{stroke-width:2}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.object-fill{object-fit:fill}.object-none{object-fit:none}.object-scale-down{object-fit:scale-down}.object-bottom{object-position:bottom}.object-center{object-position:center}.object-left{object-position:left}.object-left-bottom{object-position:left bottom}.object-left-top{object-position:left top}.object-right{object-position:right}.object-right-bottom{object-position:right bottom}.object-right-top{object-position:right top}.object-top{object-position:top}.p-0{padding:0px}.p-1{padding:0.25rem}.p-2{padding:0.5rem}.p-3{padding:0.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-7{padding:1.75rem}.p-8{padding:2rem}.p-9{padding:2.25rem}.p-10{padding:2.5rem}.p-11{padding:2.75rem}.p-12{padding:3rem}.p-14{padding:3.5rem}.p-16{padding:4rem}.p-20{padding:5rem}.p-24{padding:6rem}.p-28{padding:7rem}.p-32{padding:8rem}.p-36{padding:9rem}.p-40{padding:10rem}.p-44{padding:11rem}.p-48{padding:12rem}.p-52{padding:13rem}.p-56{padding:14rem}.p-60{padding:15rem}.p-64{padding:16rem}.p-72{padding:18rem}.p-80{padding:20rem}.p-96{padding:24rem}.p-px{padding:1px}.p-0\\.5{padding:0.125rem}.p-1\\.5{padding:0.375rem}.p-2\\.5{padding:0.625rem}.p-3\\.5{padding:0.875rem}.px-0{padding-left:0px;padding-right:0px}.px-1{padding-left:0.25rem;padding-right:0.25rem}.px-2{padding-left:0.5rem;padding-right:0.5rem}.px-3{padding-left:0.75rem;padding-right:0.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-7{padding-left:1.75rem;padding-right:1.75rem}.px-8{padding-left:2rem;padding-right:2rem}.px-9{padding-left:2.25rem;padding-right:2.25rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-11{padding-left:2.75rem;padding-right:2.75rem}.px-12{padding-left:3rem;padding-right:3rem}.px-14{padding-left:3.5rem;padding-right:3.5rem}.px-16{padding-left:4rem;padding-right:4rem}.px-20{padding-left:5rem;padding-right:5rem}.px-24{padding-left:6rem;padding-right:6rem}.px-28{padding-left:7rem;padding-right:7rem}.px-32{padding-left:8rem;padding-right:8rem}.px-36{padding-left:9rem;padding-right:9rem}.px-40{padding-left:10rem;padding-right:10rem}.px-44{padding-left:11rem;padding-right:11rem}.px-48{padding-left:12rem;padding-right:12rem}.px-52{padding-left:13rem;padding-right:13rem}.px-56{padding-left:14rem;padding-right:14rem}.px-60{padding-left:15rem;padding-right:15rem}.px-64{padding-left:16rem;padding-right:16rem}.px-72{padding-left:18rem;padding-right:18rem}.px-80{padding-left:20rem;padding-right:20rem}.px-96{padding-left:24rem;padding-right:24rem}.px-px{padding-left:1px;padding-right:1px}.px-0\\.5{padding-left:0.125rem;padding-right:0.125rem}.px-1\\.5{padding-left:0.375rem;padding-right:0.375rem}.px-2\\.5{padding-left:0.625rem;padding-right:0.625rem}.px-3\\.5{padding-left:0.875rem;padding-right:0.875rem}.py-0{padding-top:0px;padding-bottom:0px}.py-1{padding-top:0.25rem;padding-bottom:0.25rem}.py-2{padding-top:0.5rem;padding-bottom:0.5rem}.py-3{padding-top:0.75rem;padding-bottom:0.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-7{padding-top:1.75rem;padding-bottom:1.75rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-9{padding-top:2.25rem;padding-bottom:2.25rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-11{padding-top:2.75rem;padding-bottom:2.75rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-14{padding-top:3.5rem;padding-bottom:3.5rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-24{padding-top:6rem;padding-bottom:6rem}.py-28{padding-top:7rem;padding-bottom:7rem}.py-32{padding-top:8rem;padding-bottom:8rem}.py-36{padding-top:9rem;padding-bottom:9rem}.py-40{padding-top:10rem;padding-bottom:10rem}.py-44{padding-top:11rem;padding-bottom:11rem}.py-48{padding-top:12rem;padding-bottom:12rem}.py-52{padding-top:13rem;padding-bottom:13rem}.py-56{padding-top:14rem;padding-bottom:14rem}.py-60{padding-top:15rem;padding-bottom:15rem}.py-64{padding-top:16rem;padding-bottom:16rem}.py-72{padding-top:18rem;padding-bottom:18rem}.py-80{padding-top:20rem;padding-bottom:20rem}.py-96{padding-top:24rem;padding-bottom:24rem}.py-px{padding-top:1px;padding-bottom:1px}.py-0\\.5{padding-top:0.125rem;padding-bottom:0.125rem}.py-1\\.5{padding-top:0.375rem;padding-bottom:0.375rem}.py-2\\.5{padding-top:0.625rem;padding-bottom:0.625rem}.py-3\\.5{padding-top:0.875rem;padding-bottom:0.875rem}.pt-0{padding-top:0px}.pt-1{padding-top:0.25rem}.pt-2{padding-top:0.5rem}.pt-3{padding-top:0.75rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.pt-7{padding-top:1.75rem}.pt-8{padding-top:2rem}.pt-9{padding-top:2.25rem}.pt-10{padding-top:2.5rem}.pt-11{padding-top:2.75rem}.pt-12{padding-top:3rem}.pt-14{padding-top:3.5rem}.pt-16{padding-top:4rem}.pt-20{padding-top:5rem}.pt-24{padding-top:6rem}.pt-28{padding-top:7rem}.pt-32{padding-top:8rem}.pt-36{padding-top:9rem}.pt-40{padding-top:10rem}.pt-44{padding-top:11rem}.pt-48{padding-top:12rem}.pt-52{padding-top:13rem}.pt-56{padding-top:14rem}.pt-60{padding-top:15rem}.pt-64{padding-top:16rem}.pt-72{padding-top:18rem}.pt-80{padding-top:20rem}.pt-96{padding-top:24rem}.pt-px{padding-top:1px}.pt-0\\.5{padding-top:0.125rem}.pt-1\\.5{padding-top:0.375rem}.pt-2\\.5{padding-top:0.625rem}.pt-3\\.5{padding-top:0.875rem}.pr-0{padding-right:0px}.pr-1{padding-right:0.25rem}.pr-2{padding-right:0.5rem}.pr-3{padding-right:0.75rem}.pr-4{padding-right:1rem}.pr-5{padding-right:1.25rem}.pr-6{padding-right:1.5rem}.pr-7{padding-right:1.75rem}.pr-8{padding-right:2rem}.pr-9{padding-right:2.25rem}.pr-10{padding-right:2.5rem}.pr-11{padding-right:2.75rem}.pr-12{padding-right:3rem}.pr-14{padding-right:3.5rem}.pr-16{padding-right:4rem}.pr-20{padding-right:5rem}.pr-24{padding-right:6rem}.pr-28{padding-right:7rem}.pr-32{padding-right:8rem}.pr-36{padding-right:9rem}.pr-40{padding-right:10rem}.pr-44{padding-right:11rem}.pr-48{padding-right:12rem}.pr-52{padding-right:13rem}.pr-56{padding-right:14rem}.pr-60{padding-right:15rem}.pr-64{padding-right:16rem}.pr-72{padding-right:18rem}.pr-80{padding-right:20rem}.pr-96{padding-right:24rem}.pr-px{padding-right:1px}.pr-0\\.5{padding-right:0.125rem}.pr-1\\.5{padding-right:0.375rem}.pr-2\\.5{padding-right:0.625rem}.pr-3\\.5{padding-right:0.875rem}.pb-0{padding-bottom:0px}.pb-1{padding-bottom:0.25rem}.pb-2{padding-bottom:0.5rem}.pb-3{padding-bottom:0.75rem}.pb-4{padding-bottom:1rem}.pb-5{padding-bottom:1.25rem}.pb-6{padding-bottom:1.5rem}.pb-7{padding-bottom:1.75rem}.pb-8{padding-bottom:2rem}.pb-9{padding-bottom:2.25rem}.pb-10{padding-bottom:2.5rem}.pb-11{padding-bottom:2.75rem}.pb-12{padding-bottom:3rem}.pb-14{padding-bottom:3.5rem}.pb-16{padding-bottom:4rem}.pb-20{padding-bottom:5rem}.pb-24{padding-bottom:6rem}.pb-28{padding-bottom:7rem}.pb-32{padding-bottom:8rem}.pb-36{padding-bottom:9rem}.pb-40{padding-bottom:10rem}.pb-44{padding-bottom:11rem}.pb-48{padding-bottom:12rem}.pb-52{padding-bottom:13rem}.pb-56{padding-bottom:14rem}.pb-60{padding-bottom:15rem}.pb-64{padding-bottom:16rem}.pb-72{padding-bottom:18rem}.pb-80{padding-bottom:20rem}.pb-96{padding-bottom:24rem}.pb-px{padding-bottom:1px}.pb-0\\.5{padding-bottom:0.125rem}.pb-1\\.5{padding-bottom:0.375rem}.pb-2\\.5{padding-bottom:0.625rem}.pb-3\\.5{padding-bottom:0.875rem}.pl-0{padding-left:0px}.pl-1{padding-left:0.25rem}.pl-2{padding-left:0.5rem}.pl-3{padding-left:0.75rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.pl-6{padding-left:1.5rem}.pl-7{padding-left:1.75rem}.pl-8{padding-left:2rem}.pl-9{padding-left:2.25rem}.pl-10{padding-left:2.5rem}.pl-11{padding-left:2.75rem}.pl-12{padding-left:3rem}.pl-14{padding-left:3.5rem}.pl-16{padding-left:4rem}.pl-20{padding-left:5rem}.pl-24{padding-left:6rem}.pl-28{padding-left:7rem}.pl-32{padding-left:8rem}.pl-36{padding-left:9rem}.pl-40{padding-left:10rem}.pl-44{padding-left:11rem}.pl-48{padding-left:12rem}.pl-52{padding-left:13rem}.pl-56{padding-left:14rem}.pl-60{padding-left:15rem}.pl-64{padding-left:16rem}.pl-72{padding-left:18rem}.pl-80{padding-left:20rem}.pl-96{padding-left:24rem}.pl-px{padding-left:1px}.pl-0\\.5{padding-left:0.125rem}.pl-1\\.5{padding-left:0.375rem}.pl-2\\.5{padding-left:0.625rem}.pl-3\\.5{padding-left:0.875rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.align-baseline{vertical-align:baseline}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.align-text-top{vertical-align:text-top}.align-text-bottom{vertical-align:text-bottom}.font-sans{font-family:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"}.font-serif{font-family:ui-serif, Georgia, Cambria, \"Times New Roman\", Times, serif}.font-mono{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace}.text-xs{font-size:0.75rem;line-height:1rem}.text-sm{font-size:0.875rem;line-height:1.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-6xl{font-size:3.75rem;line-height:1}.text-7xl{font-size:4.5rem;line-height:1}.text-8xl{font-size:6rem;line-height:1}.text-9xl{font-size:8rem;line-height:1}.font-thin{font-weight:100}.font-extralight{font-weight:200}.font-light{font-weight:300}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-black{font-weight:900}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.italic{font-style:italic}.not-italic{font-style:normal}.ordinal,.slashed-zero,.lining-nums,.oldstyle-nums,.proportional-nums,.tabular-nums,.diagonal-fractions,.stacked-fractions{--tw-ordinal:var(--tw-empty,/*!*/ /*!*/);--tw-slashed-zero:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-figure:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-spacing:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-fraction:var(--tw-empty,/*!*/ /*!*/);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.normal-nums{font-variant-numeric:normal}.ordinal{--tw-ordinal:ordinal}.slashed-zero{--tw-slashed-zero:slashed-zero}.lining-nums{--tw-numeric-figure:lining-nums}.oldstyle-nums{--tw-numeric-figure:oldstyle-nums}.proportional-nums{--tw-numeric-spacing:proportional-nums}.tabular-nums{--tw-numeric-spacing:tabular-nums}.diagonal-fractions{--tw-numeric-fraction:diagonal-fractions}.stacked-fractions{--tw-numeric-fraction:stacked-fractions}.leading-3{line-height:.75rem}.leading-4{line-height:1rem}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-7{line-height:1.75rem}.leading-8{line-height:2rem}.leading-9{line-height:2.25rem}.leading-10{line-height:2.5rem}.leading-none{line-height:1}.leading-tight{line-height:1.25}.leading-snug{line-height:1.375}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.625}.leading-loose{line-height:2}.tracking-tighter{letter-spacing:-0.05em}.tracking-tight{letter-spacing:-0.025em}.tracking-normal{letter-spacing:0em}.tracking-wide{letter-spacing:0.025em}.tracking-wider{letter-spacing:0.05em}.tracking-widest{letter-spacing:0.1em}.text-transparent{color:transparent}.text-current{color:currentColor}.text-white{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.text-lightgrey{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.text-midgrey{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.text-darkgrey{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.text-grey{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.text-black{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.text-highlight{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.text-highlight_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.text-button_outline{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.text-error{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.text-text-light{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.text-text-dimmed{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.text-text-dark{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.text-body-light{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.text-body-dark{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.text-button{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.text-button_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.group:hover .group-hover\\:text-transparent{color:transparent}.group:hover .group-hover\\:text-current{color:currentColor}.group:hover .group-hover\\:text-white{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .group-hover\\:text-lightgrey{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.group:hover .group-hover\\:text-midgrey{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .group-hover\\:text-darkgrey{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.group:hover .group-hover\\:text-grey{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.group:hover .group-hover\\:text-black{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.group:hover .group-hover\\:text-highlight{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.group:hover .group-hover\\:text-highlight_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.group:hover .group-hover\\:text-button_outline{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .group-hover\\:text-error{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.group:hover .group-hover\\:text-text-light{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.group:hover .group-hover\\:text-text-dimmed{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .group-hover\\:text-text-dark{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .group-hover\\:text-body-light{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .group-hover\\:text-body-dark{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.group:hover .group-hover\\:text-button{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.group:hover .group-hover\\:text-button_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.focus-within\\:text-transparent:focus-within{color:transparent}.focus-within\\:text-current:focus-within{color:currentColor}.focus-within\\:text-white:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.focus-within\\:text-lightgrey:focus-within{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.focus-within\\:text-midgrey:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.focus-within\\:text-darkgrey:focus-within{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.focus-within\\:text-grey:focus-within{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.focus-within\\:text-black:focus-within{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.focus-within\\:text-highlight:focus-within{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.focus-within\\:text-highlight_hover:focus-within{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.focus-within\\:text-button_outline:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.focus-within\\:text-error:focus-within{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.focus-within\\:text-text-light:focus-within{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.focus-within\\:text-text-dimmed:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.focus-within\\:text-text-dark:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.focus-within\\:text-body-light:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.focus-within\\:text-body-dark:focus-within{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.focus-within\\:text-button:focus-within{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.focus-within\\:text-button_hover:focus-within{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.hover\\:text-transparent:hover{color:transparent}.hover\\:text-current:hover{color:currentColor}.hover\\:text-white:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.hover\\:text-lightgrey:hover{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.hover\\:text-midgrey:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.hover\\:text-darkgrey:hover{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.hover\\:text-grey:hover{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.hover\\:text-black:hover{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.hover\\:text-highlight:hover{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.hover\\:text-highlight_hover:hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.hover\\:text-button_outline:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.hover\\:text-error:hover{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.hover\\:text-text-light:hover{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.hover\\:text-text-dimmed:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.hover\\:text-text-dark:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.hover\\:text-body-light:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.hover\\:text-body-dark:hover{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.hover\\:text-button:hover{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.hover\\:text-button_hover:hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.focus\\:text-transparent:focus{color:transparent}.focus\\:text-current:focus{color:currentColor}.focus\\:text-white:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.focus\\:text-lightgrey:focus{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.focus\\:text-midgrey:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.focus\\:text-darkgrey:focus{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.focus\\:text-grey:focus{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.focus\\:text-black:focus{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.focus\\:text-highlight:focus{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.focus\\:text-highlight_hover:focus{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.focus\\:text-button_outline:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.focus\\:text-error:focus{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.focus\\:text-text-light:focus{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.focus\\:text-text-dimmed:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.focus\\:text-text-dark:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.focus\\:text-body-light:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.focus\\:text-body-dark:focus{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.focus\\:text-button:focus{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.focus\\:text-button_hover:focus{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}@media(prefers-color-scheme: dark){.dark\\:text-transparent{color:transparent}.dark\\:text-current{color:currentColor}.dark\\:text-white{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.dark\\:text-lightgrey{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.dark\\:text-midgrey{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.dark\\:text-darkgrey{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.dark\\:text-grey{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.dark\\:text-black{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.dark\\:text-highlight{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.dark\\:text-highlight_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.dark\\:text-button_outline{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.dark\\:text-error{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.dark\\:text-text-light{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.dark\\:text-text-dimmed{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.dark\\:text-text-dark{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.dark\\:text-body-light{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.dark\\:text-body-dark{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.dark\\:text-button{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.dark\\:text-button_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.group:hover .dark\\:group-hover\\:text-transparent{color:transparent}.group:hover .dark\\:group-hover\\:text-current{color:currentColor}.group:hover .dark\\:group-hover\\:text-white{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .dark\\:group-hover\\:text-lightgrey{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.group:hover .dark\\:group-hover\\:text-midgrey{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .dark\\:group-hover\\:text-darkgrey{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.group:hover .dark\\:group-hover\\:text-grey{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.group:hover .dark\\:group-hover\\:text-black{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.group:hover .dark\\:group-hover\\:text-highlight{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.group:hover .dark\\:group-hover\\:text-highlight_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.group:hover .dark\\:group-hover\\:text-button_outline{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .dark\\:group-hover\\:text-error{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.group:hover .dark\\:group-hover\\:text-text-light{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.group:hover .dark\\:group-hover\\:text-text-dimmed{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .dark\\:group-hover\\:text-text-dark{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .dark\\:group-hover\\:text-body-light{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .dark\\:group-hover\\:text-body-dark{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.group:hover .dark\\:group-hover\\:text-button{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.group:hover .dark\\:group-hover\\:text-button_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.dark\\:focus-within\\:text-transparent:focus-within{color:transparent}.dark\\:focus-within\\:text-current:focus-within{color:currentColor}.dark\\:focus-within\\:text-white:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.dark\\:focus-within\\:text-lightgrey:focus-within{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.dark\\:focus-within\\:text-midgrey:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.dark\\:focus-within\\:text-darkgrey:focus-within{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.dark\\:focus-within\\:text-grey:focus-within{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.dark\\:focus-within\\:text-black:focus-within{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.dark\\:focus-within\\:text-highlight:focus-within{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.dark\\:focus-within\\:text-highlight_hover:focus-within{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.dark\\:focus-within\\:text-button_outline:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.dark\\:focus-within\\:text-error:focus-within{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.dark\\:focus-within\\:text-text-light:focus-within{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.dark\\:focus-within\\:text-text-dimmed:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.dark\\:focus-within\\:text-text-dark:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.dark\\:focus-within\\:text-body-light:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.dark\\:focus-within\\:text-body-dark:focus-within{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.dark\\:focus-within\\:text-button:focus-within{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.dark\\:focus-within\\:text-button_hover:focus-within{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.dark\\:hover\\:text-transparent:hover{color:transparent}.dark\\:hover\\:text-current:hover{color:currentColor}.dark\\:hover\\:text-white:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.dark\\:hover\\:text-lightgrey:hover{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.dark\\:hover\\:text-midgrey:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.dark\\:hover\\:text-darkgrey:hover{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.dark\\:hover\\:text-grey:hover{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.dark\\:hover\\:text-black:hover{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.dark\\:hover\\:text-highlight:hover{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.dark\\:hover\\:text-highlight_hover:hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.dark\\:hover\\:text-button_outline:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.dark\\:hover\\:text-error:hover{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.dark\\:hover\\:text-text-light:hover{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.dark\\:hover\\:text-text-dimmed:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.dark\\:hover\\:text-text-dark:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.dark\\:hover\\:text-body-light:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.dark\\:hover\\:text-body-dark:hover{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.dark\\:hover\\:text-button:hover{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.dark\\:hover\\:text-button_hover:hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.dark\\:focus\\:text-transparent:focus{color:transparent}.dark\\:focus\\:text-current:focus{color:currentColor}.dark\\:focus\\:text-white:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.dark\\:focus\\:text-lightgrey:focus{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.dark\\:focus\\:text-midgrey:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.dark\\:focus\\:text-darkgrey:focus{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.dark\\:focus\\:text-grey:focus{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.dark\\:focus\\:text-black:focus{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.dark\\:focus\\:text-highlight:focus{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.dark\\:focus\\:text-highlight_hover:focus{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.dark\\:focus\\:text-button_outline:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.dark\\:focus\\:text-error:focus{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.dark\\:focus\\:text-text-light:focus{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.dark\\:focus\\:text-text-dimmed:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.dark\\:focus\\:text-text-dark:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.dark\\:focus\\:text-body-light:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.dark\\:focus\\:text-body-dark:focus{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.dark\\:focus\\:text-button:focus{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.dark\\:focus\\:text-button_hover:focus{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}}.text-opacity-0{--tw-text-opacity:0}.text-opacity-5{--tw-text-opacity:0.05}.text-opacity-10{--tw-text-opacity:0.1}.text-opacity-20{--tw-text-opacity:0.2}.text-opacity-25{--tw-text-opacity:0.25}.text-opacity-30{--tw-text-opacity:0.3}.text-opacity-40{--tw-text-opacity:0.4}.text-opacity-50{--tw-text-opacity:0.5}.text-opacity-60{--tw-text-opacity:0.6}.text-opacity-70{--tw-text-opacity:0.7}.text-opacity-75{--tw-text-opacity:0.75}.text-opacity-80{--tw-text-opacity:0.8}.text-opacity-90{--tw-text-opacity:0.9}.text-opacity-95{--tw-text-opacity:0.95}.text-opacity-100{--tw-text-opacity:1}.group:hover .group-hover\\:text-opacity-0{--tw-text-opacity:0}.group:hover .group-hover\\:text-opacity-5{--tw-text-opacity:0.05}.group:hover .group-hover\\:text-opacity-10{--tw-text-opacity:0.1}.group:hover .group-hover\\:text-opacity-20{--tw-text-opacity:0.2}.group:hover .group-hover\\:text-opacity-25{--tw-text-opacity:0.25}.group:hover .group-hover\\:text-opacity-30{--tw-text-opacity:0.3}.group:hover .group-hover\\:text-opacity-40{--tw-text-opacity:0.4}.group:hover .group-hover\\:text-opacity-50{--tw-text-opacity:0.5}.group:hover .group-hover\\:text-opacity-60{--tw-text-opacity:0.6}.group:hover .group-hover\\:text-opacity-70{--tw-text-opacity:0.7}.group:hover .group-hover\\:text-opacity-75{--tw-text-opacity:0.75}.group:hover .group-hover\\:text-opacity-80{--tw-text-opacity:0.8}.group:hover .group-hover\\:text-opacity-90{--tw-text-opacity:0.9}.group:hover .group-hover\\:text-opacity-95{--tw-text-opacity:0.95}.group:hover .group-hover\\:text-opacity-100{--tw-text-opacity:1}.focus-within\\:text-opacity-0:focus-within{--tw-text-opacity:0}.focus-within\\:text-opacity-5:focus-within{--tw-text-opacity:0.05}.focus-within\\:text-opacity-10:focus-within{--tw-text-opacity:0.1}.focus-within\\:text-opacity-20:focus-within{--tw-text-opacity:0.2}.focus-within\\:text-opacity-25:focus-within{--tw-text-opacity:0.25}.focus-within\\:text-opacity-30:focus-within{--tw-text-opacity:0.3}.focus-within\\:text-opacity-40:focus-within{--tw-text-opacity:0.4}.focus-within\\:text-opacity-50:focus-within{--tw-text-opacity:0.5}.focus-within\\:text-opacity-60:focus-within{--tw-text-opacity:0.6}.focus-within\\:text-opacity-70:focus-within{--tw-text-opacity:0.7}.focus-within\\:text-opacity-75:focus-within{--tw-text-opacity:0.75}.focus-within\\:text-opacity-80:focus-within{--tw-text-opacity:0.8}.focus-within\\:text-opacity-90:focus-within{--tw-text-opacity:0.9}.focus-within\\:text-opacity-95:focus-within{--tw-text-opacity:0.95}.focus-within\\:text-opacity-100:focus-within{--tw-text-opacity:1}.hover\\:text-opacity-0:hover{--tw-text-opacity:0}.hover\\:text-opacity-5:hover{--tw-text-opacity:0.05}.hover\\:text-opacity-10:hover{--tw-text-opacity:0.1}.hover\\:text-opacity-20:hover{--tw-text-opacity:0.2}.hover\\:text-opacity-25:hover{--tw-text-opacity:0.25}.hover\\:text-opacity-30:hover{--tw-text-opacity:0.3}.hover\\:text-opacity-40:hover{--tw-text-opacity:0.4}.hover\\:text-opacity-50:hover{--tw-text-opacity:0.5}.hover\\:text-opacity-60:hover{--tw-text-opacity:0.6}.hover\\:text-opacity-70:hover{--tw-text-opacity:0.7}.hover\\:text-opacity-75:hover{--tw-text-opacity:0.75}.hover\\:text-opacity-80:hover{--tw-text-opacity:0.8}.hover\\:text-opacity-90:hover{--tw-text-opacity:0.9}.hover\\:text-opacity-95:hover{--tw-text-opacity:0.95}.hover\\:text-opacity-100:hover{--tw-text-opacity:1}.focus\\:text-opacity-0:focus{--tw-text-opacity:0}.focus\\:text-opacity-5:focus{--tw-text-opacity:0.05}.focus\\:text-opacity-10:focus{--tw-text-opacity:0.1}.focus\\:text-opacity-20:focus{--tw-text-opacity:0.2}.focus\\:text-opacity-25:focus{--tw-text-opacity:0.25}.focus\\:text-opacity-30:focus{--tw-text-opacity:0.3}.focus\\:text-opacity-40:focus{--tw-text-opacity:0.4}.focus\\:text-opacity-50:focus{--tw-text-opacity:0.5}.focus\\:text-opacity-60:focus{--tw-text-opacity:0.6}.focus\\:text-opacity-70:focus{--tw-text-opacity:0.7}.focus\\:text-opacity-75:focus{--tw-text-opacity:0.75}.focus\\:text-opacity-80:focus{--tw-text-opacity:0.8}.focus\\:text-opacity-90:focus{--tw-text-opacity:0.9}.focus\\:text-opacity-95:focus{--tw-text-opacity:0.95}.focus\\:text-opacity-100:focus{--tw-text-opacity:1}@media(prefers-color-scheme: dark){.dark\\:text-opacity-0{--tw-text-opacity:0}.dark\\:text-opacity-5{--tw-text-opacity:0.05}.dark\\:text-opacity-10{--tw-text-opacity:0.1}.dark\\:text-opacity-20{--tw-text-opacity:0.2}.dark\\:text-opacity-25{--tw-text-opacity:0.25}.dark\\:text-opacity-30{--tw-text-opacity:0.3}.dark\\:text-opacity-40{--tw-text-opacity:0.4}.dark\\:text-opacity-50{--tw-text-opacity:0.5}.dark\\:text-opacity-60{--tw-text-opacity:0.6}.dark\\:text-opacity-70{--tw-text-opacity:0.7}.dark\\:text-opacity-75{--tw-text-opacity:0.75}.dark\\:text-opacity-80{--tw-text-opacity:0.8}.dark\\:text-opacity-90{--tw-text-opacity:0.9}.dark\\:text-opacity-95{--tw-text-opacity:0.95}.dark\\:text-opacity-100{--tw-text-opacity:1}.group:hover .dark\\:group-hover\\:text-opacity-0{--tw-text-opacity:0}.group:hover .dark\\:group-hover\\:text-opacity-5{--tw-text-opacity:0.05}.group:hover .dark\\:group-hover\\:text-opacity-10{--tw-text-opacity:0.1}.group:hover .dark\\:group-hover\\:text-opacity-20{--tw-text-opacity:0.2}.group:hover .dark\\:group-hover\\:text-opacity-25{--tw-text-opacity:0.25}.group:hover .dark\\:group-hover\\:text-opacity-30{--tw-text-opacity:0.3}.group:hover .dark\\:group-hover\\:text-opacity-40{--tw-text-opacity:0.4}.group:hover .dark\\:group-hover\\:text-opacity-50{--tw-text-opacity:0.5}.group:hover .dark\\:group-hover\\:text-opacity-60{--tw-text-opacity:0.6}.group:hover .dark\\:group-hover\\:text-opacity-70{--tw-text-opacity:0.7}.group:hover .dark\\:group-hover\\:text-opacity-75{--tw-text-opacity:0.75}.group:hover .dark\\:group-hover\\:text-opacity-80{--tw-text-opacity:0.8}.group:hover .dark\\:group-hover\\:text-opacity-90{--tw-text-opacity:0.9}.group:hover .dark\\:group-hover\\:text-opacity-95{--tw-text-opacity:0.95}.group:hover .dark\\:group-hover\\:text-opacity-100{--tw-text-opacity:1}.dark\\:focus-within\\:text-opacity-0:focus-within{--tw-text-opacity:0}.dark\\:focus-within\\:text-opacity-5:focus-within{--tw-text-opacity:0.05}.dark\\:focus-within\\:text-opacity-10:focus-within{--tw-text-opacity:0.1}.dark\\:focus-within\\:text-opacity-20:focus-within{--tw-text-opacity:0.2}.dark\\:focus-within\\:text-opacity-25:focus-within{--tw-text-opacity:0.25}.dark\\:focus-within\\:text-opacity-30:focus-within{--tw-text-opacity:0.3}.dark\\:focus-within\\:text-opacity-40:focus-within{--tw-text-opacity:0.4}.dark\\:focus-within\\:text-opacity-50:focus-within{--tw-text-opacity:0.5}.dark\\:focus-within\\:text-opacity-60:focus-within{--tw-text-opacity:0.6}.dark\\:focus-within\\:text-opacity-70:focus-within{--tw-text-opacity:0.7}.dark\\:focus-within\\:text-opacity-75:focus-within{--tw-text-opacity:0.75}.dark\\:focus-within\\:text-opacity-80:focus-within{--tw-text-opacity:0.8}.dark\\:focus-within\\:text-opacity-90:focus-within{--tw-text-opacity:0.9}.dark\\:focus-within\\:text-opacity-95:focus-within{--tw-text-opacity:0.95}.dark\\:focus-within\\:text-opacity-100:focus-within{--tw-text-opacity:1}.dark\\:hover\\:text-opacity-0:hover{--tw-text-opacity:0}.dark\\:hover\\:text-opacity-5:hover{--tw-text-opacity:0.05}.dark\\:hover\\:text-opacity-10:hover{--tw-text-opacity:0.1}.dark\\:hover\\:text-opacity-20:hover{--tw-text-opacity:0.2}.dark\\:hover\\:text-opacity-25:hover{--tw-text-opacity:0.25}.dark\\:hover\\:text-opacity-30:hover{--tw-text-opacity:0.3}.dark\\:hover\\:text-opacity-40:hover{--tw-text-opacity:0.4}.dark\\:hover\\:text-opacity-50:hover{--tw-text-opacity:0.5}.dark\\:hover\\:text-opacity-60:hover{--tw-text-opacity:0.6}.dark\\:hover\\:text-opacity-70:hover{--tw-text-opacity:0.7}.dark\\:hover\\:text-opacity-75:hover{--tw-text-opacity:0.75}.dark\\:hover\\:text-opacity-80:hover{--tw-text-opacity:0.8}.dark\\:hover\\:text-opacity-90:hover{--tw-text-opacity:0.9}.dark\\:hover\\:text-opacity-95:hover{--tw-text-opacity:0.95}.dark\\:hover\\:text-opacity-100:hover{--tw-text-opacity:1}.dark\\:focus\\:text-opacity-0:focus{--tw-text-opacity:0}.dark\\:focus\\:text-opacity-5:focus{--tw-text-opacity:0.05}.dark\\:focus\\:text-opacity-10:focus{--tw-text-opacity:0.1}.dark\\:focus\\:text-opacity-20:focus{--tw-text-opacity:0.2}.dark\\:focus\\:text-opacity-25:focus{--tw-text-opacity:0.25}.dark\\:focus\\:text-opacity-30:focus{--tw-text-opacity:0.3}.dark\\:focus\\:text-opacity-40:focus{--tw-text-opacity:0.4}.dark\\:focus\\:text-opacity-50:focus{--tw-text-opacity:0.5}.dark\\:focus\\:text-opacity-60:focus{--tw-text-opacity:0.6}.dark\\:focus\\:text-opacity-70:focus{--tw-text-opacity:0.7}.dark\\:focus\\:text-opacity-75:focus{--tw-text-opacity:0.75}.dark\\:focus\\:text-opacity-80:focus{--tw-text-opacity:0.8}.dark\\:focus\\:text-opacity-90:focus{--tw-text-opacity:0.9}.dark\\:focus\\:text-opacity-95:focus{--tw-text-opacity:0.95}.dark\\:focus\\:text-opacity-100:focus{--tw-text-opacity:1}}.underline{text-decoration:underline}.line-through{text-decoration:line-through}.no-underline{text-decoration:none}.group:hover .group-hover\\:underline{text-decoration:underline}.group:hover .group-hover\\:line-through{text-decoration:line-through}.group:hover .group-hover\\:no-underline{text-decoration:none}.focus-within\\:underline:focus-within{text-decoration:underline}.focus-within\\:line-through:focus-within{text-decoration:line-through}.focus-within\\:no-underline:focus-within{text-decoration:none}.hover\\:underline:hover{text-decoration:underline}.hover\\:line-through:hover{text-decoration:line-through}.hover\\:no-underline:hover{text-decoration:none}.focus\\:underline:focus{text-decoration:underline}.focus\\:line-through:focus{text-decoration:line-through}.focus\\:no-underline:focus{text-decoration:none}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.placeholder-transparent::placeholder{color:transparent}.placeholder-current::placeholder{color:currentColor}.placeholder-white::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.placeholder-lightgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(247, 247, 247, var(--tw-placeholder-opacity))}.placeholder-midgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.placeholder-darkgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(127, 127, 127, var(--tw-placeholder-opacity))}.placeholder-grey::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.placeholder-black::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.placeholder-highlight::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.placeholder-highlight_hover::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.placeholder-button_outline::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.placeholder-error::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 69, 58, var(--tw-placeholder-opacity))}.placeholder-text-light::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.placeholder-text-dimmed::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.placeholder-text-dark::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.placeholder-body-light::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.placeholder-body-dark::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.placeholder-button::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.placeholder-button_hover::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.focus\\:placeholder-transparent:focus::placeholder{color:transparent}.focus\\:placeholder-current:focus::placeholder{color:currentColor}.focus\\:placeholder-white:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.focus\\:placeholder-lightgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(247, 247, 247, var(--tw-placeholder-opacity))}.focus\\:placeholder-midgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.focus\\:placeholder-darkgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(127, 127, 127, var(--tw-placeholder-opacity))}.focus\\:placeholder-grey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.focus\\:placeholder-black:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.focus\\:placeholder-highlight:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.focus\\:placeholder-highlight_hover:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.focus\\:placeholder-button_outline:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.focus\\:placeholder-error:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 69, 58, var(--tw-placeholder-opacity))}.focus\\:placeholder-text-light:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.focus\\:placeholder-text-dimmed:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.focus\\:placeholder-text-dark:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.focus\\:placeholder-body-light:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.focus\\:placeholder-body-dark:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.focus\\:placeholder-button:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.focus\\:placeholder-button_hover:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}@media(prefers-color-scheme: dark){.dark\\:placeholder-transparent::placeholder{color:transparent}.dark\\:placeholder-current::placeholder{color:currentColor}.dark\\:placeholder-white::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.dark\\:placeholder-lightgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(247, 247, 247, var(--tw-placeholder-opacity))}.dark\\:placeholder-midgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.dark\\:placeholder-darkgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(127, 127, 127, var(--tw-placeholder-opacity))}.dark\\:placeholder-grey::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.dark\\:placeholder-black::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.dark\\:placeholder-highlight::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.dark\\:placeholder-highlight_hover::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.dark\\:placeholder-button_outline::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.dark\\:placeholder-error::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 69, 58, var(--tw-placeholder-opacity))}.dark\\:placeholder-text-light::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.dark\\:placeholder-text-dimmed::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.dark\\:placeholder-text-dark::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.dark\\:placeholder-body-light::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.dark\\:placeholder-body-dark::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.dark\\:placeholder-button::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.dark\\:placeholder-button_hover::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.dark\\:focus\\:placeholder-transparent:focus::placeholder{color:transparent}.dark\\:focus\\:placeholder-current:focus::placeholder{color:currentColor}.dark\\:focus\\:placeholder-white:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.dark\\:focus\\:placeholder-lightgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(247, 247, 247, var(--tw-placeholder-opacity))}.dark\\:focus\\:placeholder-midgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.dark\\:focus\\:placeholder-darkgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(127, 127, 127, var(--tw-placeholder-opacity))}.dark\\:focus\\:placeholder-grey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.dark\\:focus\\:placeholder-black:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.dark\\:focus\\:placeholder-highlight:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.dark\\:focus\\:placeholder-highlight_hover:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.dark\\:focus\\:placeholder-button_outline:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.dark\\:focus\\:placeholder-error:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 69, 58, var(--tw-placeholder-opacity))}.dark\\:focus\\:placeholder-text-light:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.dark\\:focus\\:placeholder-text-dimmed:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.dark\\:focus\\:placeholder-text-dark:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.dark\\:focus\\:placeholder-body-light:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.dark\\:focus\\:placeholder-body-dark:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.dark\\:focus\\:placeholder-button:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.dark\\:focus\\:placeholder-button_hover:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}}.placeholder-opacity-0::placeholder{--tw-placeholder-opacity:0}.placeholder-opacity-5::placeholder{--tw-placeholder-opacity:0.05}.placeholder-opacity-10::placeholder{--tw-placeholder-opacity:0.1}.placeholder-opacity-20::placeholder{--tw-placeholder-opacity:0.2}.placeholder-opacity-25::placeholder{--tw-placeholder-opacity:0.25}.placeholder-opacity-30::placeholder{--tw-placeholder-opacity:0.3}.placeholder-opacity-40::placeholder{--tw-placeholder-opacity:0.4}.placeholder-opacity-50::placeholder{--tw-placeholder-opacity:0.5}.placeholder-opacity-60::placeholder{--tw-placeholder-opacity:0.6}.placeholder-opacity-70::placeholder{--tw-placeholder-opacity:0.7}.placeholder-opacity-75::placeholder{--tw-placeholder-opacity:0.75}.placeholder-opacity-80::placeholder{--tw-placeholder-opacity:0.8}.placeholder-opacity-90::placeholder{--tw-placeholder-opacity:0.9}.placeholder-opacity-95::placeholder{--tw-placeholder-opacity:0.95}.placeholder-opacity-100::placeholder{--tw-placeholder-opacity:1}.focus\\:placeholder-opacity-0:focus::placeholder{--tw-placeholder-opacity:0}.focus\\:placeholder-opacity-5:focus::placeholder{--tw-placeholder-opacity:0.05}.focus\\:placeholder-opacity-10:focus::placeholder{--tw-placeholder-opacity:0.1}.focus\\:placeholder-opacity-20:focus::placeholder{--tw-placeholder-opacity:0.2}.focus\\:placeholder-opacity-25:focus::placeholder{--tw-placeholder-opacity:0.25}.focus\\:placeholder-opacity-30:focus::placeholder{--tw-placeholder-opacity:0.3}.focus\\:placeholder-opacity-40:focus::placeholder{--tw-placeholder-opacity:0.4}.focus\\:placeholder-opacity-50:focus::placeholder{--tw-placeholder-opacity:0.5}.focus\\:placeholder-opacity-60:focus::placeholder{--tw-placeholder-opacity:0.6}.focus\\:placeholder-opacity-70:focus::placeholder{--tw-placeholder-opacity:0.7}.focus\\:placeholder-opacity-75:focus::placeholder{--tw-placeholder-opacity:0.75}.focus\\:placeholder-opacity-80:focus::placeholder{--tw-placeholder-opacity:0.8}.focus\\:placeholder-opacity-90:focus::placeholder{--tw-placeholder-opacity:0.9}.focus\\:placeholder-opacity-95:focus::placeholder{--tw-placeholder-opacity:0.95}.focus\\:placeholder-opacity-100:focus::placeholder{--tw-placeholder-opacity:1}@media(prefers-color-scheme: dark){.dark\\:placeholder-opacity-0::placeholder{--tw-placeholder-opacity:0}.dark\\:placeholder-opacity-5::placeholder{--tw-placeholder-opacity:0.05}.dark\\:placeholder-opacity-10::placeholder{--tw-placeholder-opacity:0.1}.dark\\:placeholder-opacity-20::placeholder{--tw-placeholder-opacity:0.2}.dark\\:placeholder-opacity-25::placeholder{--tw-placeholder-opacity:0.25}.dark\\:placeholder-opacity-30::placeholder{--tw-placeholder-opacity:0.3}.dark\\:placeholder-opacity-40::placeholder{--tw-placeholder-opacity:0.4}.dark\\:placeholder-opacity-50::placeholder{--tw-placeholder-opacity:0.5}.dark\\:placeholder-opacity-60::placeholder{--tw-placeholder-opacity:0.6}.dark\\:placeholder-opacity-70::placeholder{--tw-placeholder-opacity:0.7}.dark\\:placeholder-opacity-75::placeholder{--tw-placeholder-opacity:0.75}.dark\\:placeholder-opacity-80::placeholder{--tw-placeholder-opacity:0.8}.dark\\:placeholder-opacity-90::placeholder{--tw-placeholder-opacity:0.9}.dark\\:placeholder-opacity-95::placeholder{--tw-placeholder-opacity:0.95}.dark\\:placeholder-opacity-100::placeholder{--tw-placeholder-opacity:1}.dark\\:focus\\:placeholder-opacity-0:focus::placeholder{--tw-placeholder-opacity:0}.dark\\:focus\\:placeholder-opacity-5:focus::placeholder{--tw-placeholder-opacity:0.05}.dark\\:focus\\:placeholder-opacity-10:focus::placeholder{--tw-placeholder-opacity:0.1}.dark\\:focus\\:placeholder-opacity-20:focus::placeholder{--tw-placeholder-opacity:0.2}.dark\\:focus\\:placeholder-opacity-25:focus::placeholder{--tw-placeholder-opacity:0.25}.dark\\:focus\\:placeholder-opacity-30:focus::placeholder{--tw-placeholder-opacity:0.3}.dark\\:focus\\:placeholder-opacity-40:focus::placeholder{--tw-placeholder-opacity:0.4}.dark\\:focus\\:placeholder-opacity-50:focus::placeholder{--tw-placeholder-opacity:0.5}.dark\\:focus\\:placeholder-opacity-60:focus::placeholder{--tw-placeholder-opacity:0.6}.dark\\:focus\\:placeholder-opacity-70:focus::placeholder{--tw-placeholder-opacity:0.7}.dark\\:focus\\:placeholder-opacity-75:focus::placeholder{--tw-placeholder-opacity:0.75}.dark\\:focus\\:placeholder-opacity-80:focus::placeholder{--tw-placeholder-opacity:0.8}.dark\\:focus\\:placeholder-opacity-90:focus::placeholder{--tw-placeholder-opacity:0.9}.dark\\:focus\\:placeholder-opacity-95:focus::placeholder{--tw-placeholder-opacity:0.95}.dark\\:focus\\:placeholder-opacity-100:focus::placeholder{--tw-placeholder-opacity:1}}.opacity-0{opacity:0}.opacity-5{opacity:0.05}.opacity-10{opacity:0.1}.opacity-20{opacity:0.2}.opacity-25{opacity:0.25}.opacity-30{opacity:0.3}.opacity-40{opacity:0.4}.opacity-50{opacity:0.5}.opacity-60{opacity:0.6}.opacity-70{opacity:0.7}.opacity-75{opacity:0.75}.opacity-80{opacity:0.8}.opacity-90{opacity:0.9}.opacity-95{opacity:0.95}.opacity-100{opacity:1}.group:hover .group-hover\\:opacity-0{opacity:0}.group:hover .group-hover\\:opacity-5{opacity:0.05}.group:hover .group-hover\\:opacity-10{opacity:0.1}.group:hover .group-hover\\:opacity-20{opacity:0.2}.group:hover .group-hover\\:opacity-25{opacity:0.25}.group:hover .group-hover\\:opacity-30{opacity:0.3}.group:hover .group-hover\\:opacity-40{opacity:0.4}.group:hover .group-hover\\:opacity-50{opacity:0.5}.group:hover .group-hover\\:opacity-60{opacity:0.6}.group:hover .group-hover\\:opacity-70{opacity:0.7}.group:hover .group-hover\\:opacity-75{opacity:0.75}.group:hover .group-hover\\:opacity-80{opacity:0.8}.group:hover .group-hover\\:opacity-90{opacity:0.9}.group:hover .group-hover\\:opacity-95{opacity:0.95}.group:hover .group-hover\\:opacity-100{opacity:1}.focus-within\\:opacity-0:focus-within{opacity:0}.focus-within\\:opacity-5:focus-within{opacity:0.05}.focus-within\\:opacity-10:focus-within{opacity:0.1}.focus-within\\:opacity-20:focus-within{opacity:0.2}.focus-within\\:opacity-25:focus-within{opacity:0.25}.focus-within\\:opacity-30:focus-within{opacity:0.3}.focus-within\\:opacity-40:focus-within{opacity:0.4}.focus-within\\:opacity-50:focus-within{opacity:0.5}.focus-within\\:opacity-60:focus-within{opacity:0.6}.focus-within\\:opacity-70:focus-within{opacity:0.7}.focus-within\\:opacity-75:focus-within{opacity:0.75}.focus-within\\:opacity-80:focus-within{opacity:0.8}.focus-within\\:opacity-90:focus-within{opacity:0.9}.focus-within\\:opacity-95:focus-within{opacity:0.95}.focus-within\\:opacity-100:focus-within{opacity:1}.hover\\:opacity-0:hover{opacity:0}.hover\\:opacity-5:hover{opacity:0.05}.hover\\:opacity-10:hover{opacity:0.1}.hover\\:opacity-20:hover{opacity:0.2}.hover\\:opacity-25:hover{opacity:0.25}.hover\\:opacity-30:hover{opacity:0.3}.hover\\:opacity-40:hover{opacity:0.4}.hover\\:opacity-50:hover{opacity:0.5}.hover\\:opacity-60:hover{opacity:0.6}.hover\\:opacity-70:hover{opacity:0.7}.hover\\:opacity-75:hover{opacity:0.75}.hover\\:opacity-80:hover{opacity:0.8}.hover\\:opacity-90:hover{opacity:0.9}.hover\\:opacity-95:hover{opacity:0.95}.hover\\:opacity-100:hover{opacity:1}.focus\\:opacity-0:focus{opacity:0}.focus\\:opacity-5:focus{opacity:0.05}.focus\\:opacity-10:focus{opacity:0.1}.focus\\:opacity-20:focus{opacity:0.2}.focus\\:opacity-25:focus{opacity:0.25}.focus\\:opacity-30:focus{opacity:0.3}.focus\\:opacity-40:focus{opacity:0.4}.focus\\:opacity-50:focus{opacity:0.5}.focus\\:opacity-60:focus{opacity:0.6}.focus\\:opacity-70:focus{opacity:0.7}.focus\\:opacity-75:focus{opacity:0.75}.focus\\:opacity-80:focus{opacity:0.8}.focus\\:opacity-90:focus{opacity:0.9}.focus\\:opacity-95:focus{opacity:0.95}.focus\\:opacity-100:focus{opacity:1}.bg-blend-normal{background-blend-mode:normal}.bg-blend-multiply{background-blend-mode:multiply}.bg-blend-screen{background-blend-mode:screen}.bg-blend-overlay{background-blend-mode:overlay}.bg-blend-darken{background-blend-mode:darken}.bg-blend-lighten{background-blend-mode:lighten}.bg-blend-color-dodge{background-blend-mode:color-dodge}.bg-blend-color-burn{background-blend-mode:color-burn}.bg-blend-hard-light{background-blend-mode:hard-light}.bg-blend-soft-light{background-blend-mode:soft-light}.bg-blend-difference{background-blend-mode:difference}.bg-blend-exclusion{background-blend-mode:exclusion}.bg-blend-hue{background-blend-mode:hue}.bg-blend-saturation{background-blend-mode:saturation}.bg-blend-color{background-blend-mode:color}.bg-blend-luminosity{background-blend-mode:luminosity}.mix-blend-normal{mix-blend-mode:normal}.mix-blend-multiply{mix-blend-mode:multiply}.mix-blend-screen{mix-blend-mode:screen}.mix-blend-overlay{mix-blend-mode:overlay}.mix-blend-darken{mix-blend-mode:darken}.mix-blend-lighten{mix-blend-mode:lighten}.mix-blend-color-dodge{mix-blend-mode:color-dodge}.mix-blend-color-burn{mix-blend-mode:color-burn}.mix-blend-hard-light{mix-blend-mode:hard-light}.mix-blend-soft-light{mix-blend-mode:soft-light}.mix-blend-difference{mix-blend-mode:difference}.mix-blend-exclusion{mix-blend-mode:exclusion}.mix-blend-hue{mix-blend-mode:hue}.mix-blend-saturation{mix-blend-mode:saturation}.mix-blend-color{mix-blend-mode:color}.mix-blend-luminosity{mix-blend-mode:luminosity}*,::before,::after{--tw-shadow:0 0 #0000}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.shadow{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .group-hover\\:shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .group-hover\\:shadow{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .group-hover\\:shadow-md{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .group-hover\\:shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .group-hover\\:shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .group-hover\\:shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .group-hover\\:shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .group-hover\\:shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.focus-within\\:shadow-sm:focus-within{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.focus-within\\:shadow:focus-within{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.focus-within\\:shadow-md:focus-within{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.focus-within\\:shadow-lg:focus-within{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.focus-within\\:shadow-xl:focus-within{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.focus-within\\:shadow-2xl:focus-within{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.focus-within\\:shadow-inner:focus-within{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.focus-within\\:shadow-none:focus-within{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.hover\\:shadow-sm:hover{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.hover\\:shadow:hover{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.hover\\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.hover\\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.hover\\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.hover\\:shadow-2xl:hover{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.hover\\:shadow-inner:hover{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.hover\\:shadow-none:hover{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.focus\\:shadow-sm:focus{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.focus\\:shadow:focus{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.focus\\:shadow-md:focus{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.focus\\:shadow-lg:focus{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.focus\\:shadow-xl:focus{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.focus\\:shadow-2xl:focus{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.focus\\:shadow-inner:focus{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.focus\\:shadow-none:focus{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline-white{outline:2px dotted white;outline-offset:2px}.outline-black{outline:2px dotted black;outline-offset:2px}.focus-within\\:outline-none:focus-within{outline:2px solid transparent;outline-offset:2px}.focus-within\\:outline-white:focus-within{outline:2px dotted white;outline-offset:2px}.focus-within\\:outline-black:focus-within{outline:2px dotted black;outline-offset:2px}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:outline-white:focus{outline:2px dotted white;outline-offset:2px}.focus\\:outline-black:focus{outline:2px dotted black;outline-offset:2px}*,::before,::after{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59, 130, 246, 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.ring-4{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.ring-8{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.focus-within\\:ring-0:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.focus-within\\:ring-1:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.focus-within\\:ring-2:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.focus-within\\:ring-4:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.focus-within\\:ring-8:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.focus-within\\:ring:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.focus\\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.focus\\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.focus\\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.focus\\:ring-8:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.focus\\:ring:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.ring-inset{--tw-ring-inset:inset}.focus-within\\:ring-inset:focus-within{--tw-ring-inset:inset}.focus\\:ring-inset:focus{--tw-ring-inset:inset}.ring-transparent{--tw-ring-color:transparent}.ring-current{--tw-ring-color:currentColor}.ring-white{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.ring-lightgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.ring-midgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.ring-darkgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.ring-grey{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.ring-black{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.ring-highlight{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.ring-highlight_hover{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.ring-button_outline{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.ring-error{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.ring-text-light{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.ring-text-dimmed{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.ring-text-dark{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.ring-body-light{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.ring-body-dark{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.ring-button{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.ring-button_hover{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.focus-within\\:ring-transparent:focus-within{--tw-ring-color:transparent}.focus-within\\:ring-current:focus-within{--tw-ring-color:currentColor}.focus-within\\:ring-white:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.focus-within\\:ring-lightgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.focus-within\\:ring-midgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.focus-within\\:ring-darkgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.focus-within\\:ring-grey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.focus-within\\:ring-black:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.focus-within\\:ring-highlight:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.focus-within\\:ring-highlight_hover:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.focus-within\\:ring-button_outline:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.focus-within\\:ring-error:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.focus-within\\:ring-text-light:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.focus-within\\:ring-text-dimmed:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.focus-within\\:ring-text-dark:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.focus-within\\:ring-body-light:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.focus-within\\:ring-body-dark:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.focus-within\\:ring-button:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.focus-within\\:ring-button_hover:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.focus\\:ring-transparent:focus{--tw-ring-color:transparent}.focus\\:ring-current:focus{--tw-ring-color:currentColor}.focus\\:ring-white:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.focus\\:ring-lightgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.focus\\:ring-midgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.focus\\:ring-darkgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.focus\\:ring-grey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.focus\\:ring-black:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.focus\\:ring-highlight:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.focus\\:ring-highlight_hover:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.focus\\:ring-button_outline:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.focus\\:ring-error:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.focus\\:ring-text-light:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.focus\\:ring-text-dimmed:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.focus\\:ring-text-dark:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.focus\\:ring-body-light:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.focus\\:ring-body-dark:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.focus\\:ring-button:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.focus\\:ring-button_hover:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}@media(prefers-color-scheme: dark){.dark\\:ring-transparent{--tw-ring-color:transparent}.dark\\:ring-current{--tw-ring-color:currentColor}.dark\\:ring-white{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.dark\\:ring-lightgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.dark\\:ring-midgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.dark\\:ring-darkgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.dark\\:ring-grey{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.dark\\:ring-black{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.dark\\:ring-highlight{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.dark\\:ring-highlight_hover{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.dark\\:ring-button_outline{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.dark\\:ring-error{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.dark\\:ring-text-light{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.dark\\:ring-text-dimmed{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.dark\\:ring-text-dark{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.dark\\:ring-body-light{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.dark\\:ring-body-dark{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.dark\\:ring-button{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.dark\\:ring-button_hover{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.dark\\:focus-within\\:ring-transparent:focus-within{--tw-ring-color:transparent}.dark\\:focus-within\\:ring-current:focus-within{--tw-ring-color:currentColor}.dark\\:focus-within\\:ring-white:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.dark\\:focus-within\\:ring-lightgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.dark\\:focus-within\\:ring-midgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.dark\\:focus-within\\:ring-darkgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.dark\\:focus-within\\:ring-grey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.dark\\:focus-within\\:ring-black:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.dark\\:focus-within\\:ring-highlight:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.dark\\:focus-within\\:ring-highlight_hover:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.dark\\:focus-within\\:ring-button_outline:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.dark\\:focus-within\\:ring-error:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.dark\\:focus-within\\:ring-text-light:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.dark\\:focus-within\\:ring-text-dimmed:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.dark\\:focus-within\\:ring-text-dark:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.dark\\:focus-within\\:ring-body-light:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.dark\\:focus-within\\:ring-body-dark:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.dark\\:focus-within\\:ring-button:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.dark\\:focus-within\\:ring-button_hover:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.dark\\:focus\\:ring-transparent:focus{--tw-ring-color:transparent}.dark\\:focus\\:ring-current:focus{--tw-ring-color:currentColor}.dark\\:focus\\:ring-white:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.dark\\:focus\\:ring-lightgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.dark\\:focus\\:ring-midgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.dark\\:focus\\:ring-darkgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.dark\\:focus\\:ring-grey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.dark\\:focus\\:ring-black:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.dark\\:focus\\:ring-highlight:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.dark\\:focus\\:ring-highlight_hover:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.dark\\:focus\\:ring-button_outline:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.dark\\:focus\\:ring-error:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.dark\\:focus\\:ring-text-light:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.dark\\:focus\\:ring-text-dimmed:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.dark\\:focus\\:ring-text-dark:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.dark\\:focus\\:ring-body-light:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.dark\\:focus\\:ring-body-dark:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.dark\\:focus\\:ring-button:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.dark\\:focus\\:ring-button_hover:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}}.ring-opacity-0{--tw-ring-opacity:0}.ring-opacity-5{--tw-ring-opacity:0.05}.ring-opacity-10{--tw-ring-opacity:0.1}.ring-opacity-20{--tw-ring-opacity:0.2}.ring-opacity-25{--tw-ring-opacity:0.25}.ring-opacity-30{--tw-ring-opacity:0.3}.ring-opacity-40{--tw-ring-opacity:0.4}.ring-opacity-50{--tw-ring-opacity:0.5}.ring-opacity-60{--tw-ring-opacity:0.6}.ring-opacity-70{--tw-ring-opacity:0.7}.ring-opacity-75{--tw-ring-opacity:0.75}.ring-opacity-80{--tw-ring-opacity:0.8}.ring-opacity-90{--tw-ring-opacity:0.9}.ring-opacity-95{--tw-ring-opacity:0.95}.ring-opacity-100{--tw-ring-opacity:1}.focus-within\\:ring-opacity-0:focus-within{--tw-ring-opacity:0}.focus-within\\:ring-opacity-5:focus-within{--tw-ring-opacity:0.05}.focus-within\\:ring-opacity-10:focus-within{--tw-ring-opacity:0.1}.focus-within\\:ring-opacity-20:focus-within{--tw-ring-opacity:0.2}.focus-within\\:ring-opacity-25:focus-within{--tw-ring-opacity:0.25}.focus-within\\:ring-opacity-30:focus-within{--tw-ring-opacity:0.3}.focus-within\\:ring-opacity-40:focus-within{--tw-ring-opacity:0.4}.focus-within\\:ring-opacity-50:focus-within{--tw-ring-opacity:0.5}.focus-within\\:ring-opacity-60:focus-within{--tw-ring-opacity:0.6}.focus-within\\:ring-opacity-70:focus-within{--tw-ring-opacity:0.7}.focus-within\\:ring-opacity-75:focus-within{--tw-ring-opacity:0.75}.focus-within\\:ring-opacity-80:focus-within{--tw-ring-opacity:0.8}.focus-within\\:ring-opacity-90:focus-within{--tw-ring-opacity:0.9}.focus-within\\:ring-opacity-95:focus-within{--tw-ring-opacity:0.95}.focus-within\\:ring-opacity-100:focus-within{--tw-ring-opacity:1}.focus\\:ring-opacity-0:focus{--tw-ring-opacity:0}.focus\\:ring-opacity-5:focus{--tw-ring-opacity:0.05}.focus\\:ring-opacity-10:focus{--tw-ring-opacity:0.1}.focus\\:ring-opacity-20:focus{--tw-ring-opacity:0.2}.focus\\:ring-opacity-25:focus{--tw-ring-opacity:0.25}.focus\\:ring-opacity-30:focus{--tw-ring-opacity:0.3}.focus\\:ring-opacity-40:focus{--tw-ring-opacity:0.4}.focus\\:ring-opacity-50:focus{--tw-ring-opacity:0.5}.focus\\:ring-opacity-60:focus{--tw-ring-opacity:0.6}.focus\\:ring-opacity-70:focus{--tw-ring-opacity:0.7}.focus\\:ring-opacity-75:focus{--tw-ring-opacity:0.75}.focus\\:ring-opacity-80:focus{--tw-ring-opacity:0.8}.focus\\:ring-opacity-90:focus{--tw-ring-opacity:0.9}.focus\\:ring-opacity-95:focus{--tw-ring-opacity:0.95}.focus\\:ring-opacity-100:focus{--tw-ring-opacity:1}@media(prefers-color-scheme: dark){.dark\\:ring-opacity-0{--tw-ring-opacity:0}.dark\\:ring-opacity-5{--tw-ring-opacity:0.05}.dark\\:ring-opacity-10{--tw-ring-opacity:0.1}.dark\\:ring-opacity-20{--tw-ring-opacity:0.2}.dark\\:ring-opacity-25{--tw-ring-opacity:0.25}.dark\\:ring-opacity-30{--tw-ring-opacity:0.3}.dark\\:ring-opacity-40{--tw-ring-opacity:0.4}.dark\\:ring-opacity-50{--tw-ring-opacity:0.5}.dark\\:ring-opacity-60{--tw-ring-opacity:0.6}.dark\\:ring-opacity-70{--tw-ring-opacity:0.7}.dark\\:ring-opacity-75{--tw-ring-opacity:0.75}.dark\\:ring-opacity-80{--tw-ring-opacity:0.8}.dark\\:ring-opacity-90{--tw-ring-opacity:0.9}.dark\\:ring-opacity-95{--tw-ring-opacity:0.95}.dark\\:ring-opacity-100{--tw-ring-opacity:1}.dark\\:focus-within\\:ring-opacity-0:focus-within{--tw-ring-opacity:0}.dark\\:focus-within\\:ring-opacity-5:focus-within{--tw-ring-opacity:0.05}.dark\\:focus-within\\:ring-opacity-10:focus-within{--tw-ring-opacity:0.1}.dark\\:focus-within\\:ring-opacity-20:focus-within{--tw-ring-opacity:0.2}.dark\\:focus-within\\:ring-opacity-25:focus-within{--tw-ring-opacity:0.25}.dark\\:focus-within\\:ring-opacity-30:focus-within{--tw-ring-opacity:0.3}.dark\\:focus-within\\:ring-opacity-40:focus-within{--tw-ring-opacity:0.4}.dark\\:focus-within\\:ring-opacity-50:focus-within{--tw-ring-opacity:0.5}.dark\\:focus-within\\:ring-opacity-60:focus-within{--tw-ring-opacity:0.6}.dark\\:focus-within\\:ring-opacity-70:focus-within{--tw-ring-opacity:0.7}.dark\\:focus-within\\:ring-opacity-75:focus-within{--tw-ring-opacity:0.75}.dark\\:focus-within\\:ring-opacity-80:focus-within{--tw-ring-opacity:0.8}.dark\\:focus-within\\:ring-opacity-90:focus-within{--tw-ring-opacity:0.9}.dark\\:focus-within\\:ring-opacity-95:focus-within{--tw-ring-opacity:0.95}.dark\\:focus-within\\:ring-opacity-100:focus-within{--tw-ring-opacity:1}.dark\\:focus\\:ring-opacity-0:focus{--tw-ring-opacity:0}.dark\\:focus\\:ring-opacity-5:focus{--tw-ring-opacity:0.05}.dark\\:focus\\:ring-opacity-10:focus{--tw-ring-opacity:0.1}.dark\\:focus\\:ring-opacity-20:focus{--tw-ring-opacity:0.2}.dark\\:focus\\:ring-opacity-25:focus{--tw-ring-opacity:0.25}.dark\\:focus\\:ring-opacity-30:focus{--tw-ring-opacity:0.3}.dark\\:focus\\:ring-opacity-40:focus{--tw-ring-opacity:0.4}.dark\\:focus\\:ring-opacity-50:focus{--tw-ring-opacity:0.5}.dark\\:focus\\:ring-opacity-60:focus{--tw-ring-opacity:0.6}.dark\\:focus\\:ring-opacity-70:focus{--tw-ring-opacity:0.7}.dark\\:focus\\:ring-opacity-75:focus{--tw-ring-opacity:0.75}.dark\\:focus\\:ring-opacity-80:focus{--tw-ring-opacity:0.8}.dark\\:focus\\:ring-opacity-90:focus{--tw-ring-opacity:0.9}.dark\\:focus\\:ring-opacity-95:focus{--tw-ring-opacity:0.95}.dark\\:focus\\:ring-opacity-100:focus{--tw-ring-opacity:1}}.ring-offset-0{--tw-ring-offset-width:0px}.ring-offset-1{--tw-ring-offset-width:1px}.ring-offset-2{--tw-ring-offset-width:2px}.ring-offset-4{--tw-ring-offset-width:4px}.ring-offset-8{--tw-ring-offset-width:8px}.focus-within\\:ring-offset-0:focus-within{--tw-ring-offset-width:0px}.focus-within\\:ring-offset-1:focus-within{--tw-ring-offset-width:1px}.focus-within\\:ring-offset-2:focus-within{--tw-ring-offset-width:2px}.focus-within\\:ring-offset-4:focus-within{--tw-ring-offset-width:4px}.focus-within\\:ring-offset-8:focus-within{--tw-ring-offset-width:8px}.focus\\:ring-offset-0:focus{--tw-ring-offset-width:0px}.focus\\:ring-offset-1:focus{--tw-ring-offset-width:1px}.focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus\\:ring-offset-4:focus{--tw-ring-offset-width:4px}.focus\\:ring-offset-8:focus{--tw-ring-offset-width:8px}.ring-offset-transparent{--tw-ring-offset-color:transparent}.ring-offset-current{--tw-ring-offset-color:currentColor}.ring-offset-white{--tw-ring-offset-color:#fff}.ring-offset-lightgrey{--tw-ring-offset-color:#F7F7F7}.ring-offset-midgrey{--tw-ring-offset-color:#cfcfcf}.ring-offset-darkgrey{--tw-ring-offset-color:#7f7f7f}.ring-offset-grey{--tw-ring-offset-color:#1e1e1e}.ring-offset-black{--tw-ring-offset-color:#0f0f0f}.ring-offset-highlight{--tw-ring-offset-color:#0071e3}.ring-offset-highlight_hover{--tw-ring-offset-color:#0077ed}.ring-offset-button_outline{--tw-ring-offset-color:#cfcfcf}.ring-offset-error{--tw-ring-offset-color:#ff453a}.ring-offset-text-light{--tw-ring-offset-color:#0f0f0f}.ring-offset-text-dimmed{--tw-ring-offset-color:#cfcfcf}.ring-offset-text-dark{--tw-ring-offset-color:#fff}.ring-offset-body-light{--tw-ring-offset-color:#fff}.ring-offset-body-dark{--tw-ring-offset-color:#1e1e1e}.ring-offset-button{--tw-ring-offset-color:#0071e3}.ring-offset-button_hover{--tw-ring-offset-color:#0077ed}.focus-within\\:ring-offset-transparent:focus-within{--tw-ring-offset-color:transparent}.focus-within\\:ring-offset-current:focus-within{--tw-ring-offset-color:currentColor}.focus-within\\:ring-offset-white:focus-within{--tw-ring-offset-color:#fff}.focus-within\\:ring-offset-lightgrey:focus-within{--tw-ring-offset-color:#F7F7F7}.focus-within\\:ring-offset-midgrey:focus-within{--tw-ring-offset-color:#cfcfcf}.focus-within\\:ring-offset-darkgrey:focus-within{--tw-ring-offset-color:#7f7f7f}.focus-within\\:ring-offset-grey:focus-within{--tw-ring-offset-color:#1e1e1e}.focus-within\\:ring-offset-black:focus-within{--tw-ring-offset-color:#0f0f0f}.focus-within\\:ring-offset-highlight:focus-within{--tw-ring-offset-color:#0071e3}.focus-within\\:ring-offset-highlight_hover:focus-within{--tw-ring-offset-color:#0077ed}.focus-within\\:ring-offset-button_outline:focus-within{--tw-ring-offset-color:#cfcfcf}.focus-within\\:ring-offset-error:focus-within{--tw-ring-offset-color:#ff453a}.focus-within\\:ring-offset-text-light:focus-within{--tw-ring-offset-color:#0f0f0f}.focus-within\\:ring-offset-text-dimmed:focus-within{--tw-ring-offset-color:#cfcfcf}.focus-within\\:ring-offset-text-dark:focus-within{--tw-ring-offset-color:#fff}.focus-within\\:ring-offset-body-light:focus-within{--tw-ring-offset-color:#fff}.focus-within\\:ring-offset-body-dark:focus-within{--tw-ring-offset-color:#1e1e1e}.focus-within\\:ring-offset-button:focus-within{--tw-ring-offset-color:#0071e3}.focus-within\\:ring-offset-button_hover:focus-within{--tw-ring-offset-color:#0077ed}.focus\\:ring-offset-transparent:focus{--tw-ring-offset-color:transparent}.focus\\:ring-offset-current:focus{--tw-ring-offset-color:currentColor}.focus\\:ring-offset-white:focus{--tw-ring-offset-color:#fff}.focus\\:ring-offset-lightgrey:focus{--tw-ring-offset-color:#F7F7F7}.focus\\:ring-offset-midgrey:focus{--tw-ring-offset-color:#cfcfcf}.focus\\:ring-offset-darkgrey:focus{--tw-ring-offset-color:#7f7f7f}.focus\\:ring-offset-grey:focus{--tw-ring-offset-color:#1e1e1e}.focus\\:ring-offset-black:focus{--tw-ring-offset-color:#0f0f0f}.focus\\:ring-offset-highlight:focus{--tw-ring-offset-color:#0071e3}.focus\\:ring-offset-highlight_hover:focus{--tw-ring-offset-color:#0077ed}.focus\\:ring-offset-button_outline:focus{--tw-ring-offset-color:#cfcfcf}.focus\\:ring-offset-error:focus{--tw-ring-offset-color:#ff453a}.focus\\:ring-offset-text-light:focus{--tw-ring-offset-color:#0f0f0f}.focus\\:ring-offset-text-dimmed:focus{--tw-ring-offset-color:#cfcfcf}.focus\\:ring-offset-text-dark:focus{--tw-ring-offset-color:#fff}.focus\\:ring-offset-body-light:focus{--tw-ring-offset-color:#fff}.focus\\:ring-offset-body-dark:focus{--tw-ring-offset-color:#1e1e1e}.focus\\:ring-offset-button:focus{--tw-ring-offset-color:#0071e3}.focus\\:ring-offset-button_hover:focus{--tw-ring-offset-color:#0077ed}@media(prefers-color-scheme: dark){.dark\\:ring-offset-transparent{--tw-ring-offset-color:transparent}.dark\\:ring-offset-current{--tw-ring-offset-color:currentColor}.dark\\:ring-offset-white{--tw-ring-offset-color:#fff}.dark\\:ring-offset-lightgrey{--tw-ring-offset-color:#F7F7F7}.dark\\:ring-offset-midgrey{--tw-ring-offset-color:#cfcfcf}.dark\\:ring-offset-darkgrey{--tw-ring-offset-color:#7f7f7f}.dark\\:ring-offset-grey{--tw-ring-offset-color:#1e1e1e}.dark\\:ring-offset-black{--tw-ring-offset-color:#0f0f0f}.dark\\:ring-offset-highlight{--tw-ring-offset-color:#0071e3}.dark\\:ring-offset-highlight_hover{--tw-ring-offset-color:#0077ed}.dark\\:ring-offset-button_outline{--tw-ring-offset-color:#cfcfcf}.dark\\:ring-offset-error{--tw-ring-offset-color:#ff453a}.dark\\:ring-offset-text-light{--tw-ring-offset-color:#0f0f0f}.dark\\:ring-offset-text-dimmed{--tw-ring-offset-color:#cfcfcf}.dark\\:ring-offset-text-dark{--tw-ring-offset-color:#fff}.dark\\:ring-offset-body-light{--tw-ring-offset-color:#fff}.dark\\:ring-offset-body-dark{--tw-ring-offset-color:#1e1e1e}.dark\\:ring-offset-button{--tw-ring-offset-color:#0071e3}.dark\\:ring-offset-button_hover{--tw-ring-offset-color:#0077ed}.dark\\:focus-within\\:ring-offset-transparent:focus-within{--tw-ring-offset-color:transparent}.dark\\:focus-within\\:ring-offset-current:focus-within{--tw-ring-offset-color:currentColor}.dark\\:focus-within\\:ring-offset-white:focus-within{--tw-ring-offset-color:#fff}.dark\\:focus-within\\:ring-offset-lightgrey:focus-within{--tw-ring-offset-color:#F7F7F7}.dark\\:focus-within\\:ring-offset-midgrey:focus-within{--tw-ring-offset-color:#cfcfcf}.dark\\:focus-within\\:ring-offset-darkgrey:focus-within{--tw-ring-offset-color:#7f7f7f}.dark\\:focus-within\\:ring-offset-grey:focus-within{--tw-ring-offset-color:#1e1e1e}.dark\\:focus-within\\:ring-offset-black:focus-within{--tw-ring-offset-color:#0f0f0f}.dark\\:focus-within\\:ring-offset-highlight:focus-within{--tw-ring-offset-color:#0071e3}.dark\\:focus-within\\:ring-offset-highlight_hover:focus-within{--tw-ring-offset-color:#0077ed}.dark\\:focus-within\\:ring-offset-button_outline:focus-within{--tw-ring-offset-color:#cfcfcf}.dark\\:focus-within\\:ring-offset-error:focus-within{--tw-ring-offset-color:#ff453a}.dark\\:focus-within\\:ring-offset-text-light:focus-within{--tw-ring-offset-color:#0f0f0f}.dark\\:focus-within\\:ring-offset-text-dimmed:focus-within{--tw-ring-offset-color:#cfcfcf}.dark\\:focus-within\\:ring-offset-text-dark:focus-within{--tw-ring-offset-color:#fff}.dark\\:focus-within\\:ring-offset-body-light:focus-within{--tw-ring-offset-color:#fff}.dark\\:focus-within\\:ring-offset-body-dark:focus-within{--tw-ring-offset-color:#1e1e1e}.dark\\:focus-within\\:ring-offset-button:focus-within{--tw-ring-offset-color:#0071e3}.dark\\:focus-within\\:ring-offset-button_hover:focus-within{--tw-ring-offset-color:#0077ed}.dark\\:focus\\:ring-offset-transparent:focus{--tw-ring-offset-color:transparent}.dark\\:focus\\:ring-offset-current:focus{--tw-ring-offset-color:currentColor}.dark\\:focus\\:ring-offset-white:focus{--tw-ring-offset-color:#fff}.dark\\:focus\\:ring-offset-lightgrey:focus{--tw-ring-offset-color:#F7F7F7}.dark\\:focus\\:ring-offset-midgrey:focus{--tw-ring-offset-color:#cfcfcf}.dark\\:focus\\:ring-offset-darkgrey:focus{--tw-ring-offset-color:#7f7f7f}.dark\\:focus\\:ring-offset-grey:focus{--tw-ring-offset-color:#1e1e1e}.dark\\:focus\\:ring-offset-black:focus{--tw-ring-offset-color:#0f0f0f}.dark\\:focus\\:ring-offset-highlight:focus{--tw-ring-offset-color:#0071e3}.dark\\:focus\\:ring-offset-highlight_hover:focus{--tw-ring-offset-color:#0077ed}.dark\\:focus\\:ring-offset-button_outline:focus{--tw-ring-offset-color:#cfcfcf}.dark\\:focus\\:ring-offset-error:focus{--tw-ring-offset-color:#ff453a}.dark\\:focus\\:ring-offset-text-light:focus{--tw-ring-offset-color:#0f0f0f}.dark\\:focus\\:ring-offset-text-dimmed:focus{--tw-ring-offset-color:#cfcfcf}.dark\\:focus\\:ring-offset-text-dark:focus{--tw-ring-offset-color:#fff}.dark\\:focus\\:ring-offset-body-light:focus{--tw-ring-offset-color:#fff}.dark\\:focus\\:ring-offset-body-dark:focus{--tw-ring-offset-color:#1e1e1e}.dark\\:focus\\:ring-offset-button:focus{--tw-ring-offset-color:#0071e3}.dark\\:focus\\:ring-offset-button_hover:focus{--tw-ring-offset-color:#0077ed}}.filter{--tw-blur:var(--tw-empty,/*!*/ /*!*/);--tw-brightness:var(--tw-empty,/*!*/ /*!*/);--tw-contrast:var(--tw-empty,/*!*/ /*!*/);--tw-grayscale:var(--tw-empty,/*!*/ /*!*/);--tw-hue-rotate:var(--tw-empty,/*!*/ /*!*/);--tw-invert:var(--tw-empty,/*!*/ /*!*/);--tw-saturate:var(--tw-empty,/*!*/ /*!*/);--tw-sepia:var(--tw-empty,/*!*/ /*!*/);--tw-drop-shadow:var(--tw-empty,/*!*/ /*!*/);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter-none{filter:none}.blur-0{--tw-blur:blur(0)}.blur-none{--tw-blur:blur(0)}.blur-sm{--tw-blur:blur(4px)}.blur{--tw-blur:blur(8px)}.blur-md{--tw-blur:blur(12px)}.blur-lg{--tw-blur:blur(16px)}.blur-xl{--tw-blur:blur(24px)}.blur-2xl{--tw-blur:blur(40px)}.blur-3xl{--tw-blur:blur(64px)}.brightness-0{--tw-brightness:brightness(0)}.brightness-50{--tw-brightness:brightness(.5)}.brightness-75{--tw-brightness:brightness(.75)}.brightness-90{--tw-brightness:brightness(.9)}.brightness-95{--tw-brightness:brightness(.95)}.brightness-100{--tw-brightness:brightness(1)}.brightness-105{--tw-brightness:brightness(1.05)}.brightness-110{--tw-brightness:brightness(1.1)}.brightness-125{--tw-brightness:brightness(1.25)}.brightness-150{--tw-brightness:brightness(1.5)}.brightness-200{--tw-brightness:brightness(2)}.contrast-0{--tw-contrast:contrast(0)}.contrast-50{--tw-contrast:contrast(.5)}.contrast-75{--tw-contrast:contrast(.75)}.contrast-100{--tw-contrast:contrast(1)}.contrast-125{--tw-contrast:contrast(1.25)}.contrast-150{--tw-contrast:contrast(1.5)}.contrast-200{--tw-contrast:contrast(2)}.drop-shadow-sm{--tw-drop-shadow:drop-shadow(0 1px 1px rgba(0,0,0,0.05))}.drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1)) drop-shadow(0 1px 1px rgba(0, 0, 0, 0.06))}.drop-shadow-md{--tw-drop-shadow:drop-shadow(0 4px 3px rgba(0, 0, 0, 0.07)) drop-shadow(0 2px 2px rgba(0, 0, 0, 0.06))}.drop-shadow-lg{--tw-drop-shadow:drop-shadow(0 10px 8px rgba(0, 0, 0, 0.04)) drop-shadow(0 4px 3px rgba(0, 0, 0, 0.1))}.drop-shadow-xl{--tw-drop-shadow:drop-shadow(0 20px 13px rgba(0, 0, 0, 0.03)) drop-shadow(0 8px 5px rgba(0, 0, 0, 0.08))}.drop-shadow-2xl{--tw-drop-shadow:drop-shadow(0 25px 25px rgba(0, 0, 0, 0.15))}.drop-shadow-none{--tw-drop-shadow:drop-shadow(0 0 #0000)}.grayscale-0{--tw-grayscale:grayscale(0)}.grayscale{--tw-grayscale:grayscale(100%)}.hue-rotate-0{--tw-hue-rotate:hue-rotate(0deg)}.hue-rotate-15{--tw-hue-rotate:hue-rotate(15deg)}.hue-rotate-30{--tw-hue-rotate:hue-rotate(30deg)}.hue-rotate-60{--tw-hue-rotate:hue-rotate(60deg)}.hue-rotate-90{--tw-hue-rotate:hue-rotate(90deg)}.hue-rotate-180{--tw-hue-rotate:hue-rotate(180deg)}.-hue-rotate-180{--tw-hue-rotate:hue-rotate(-180deg)}.-hue-rotate-90{--tw-hue-rotate:hue-rotate(-90deg)}.-hue-rotate-60{--tw-hue-rotate:hue-rotate(-60deg)}.-hue-rotate-30{--tw-hue-rotate:hue-rotate(-30deg)}.-hue-rotate-15{--tw-hue-rotate:hue-rotate(-15deg)}.invert-0{--tw-invert:invert(0)}.invert{--tw-invert:invert(100%)}.saturate-0{--tw-saturate:saturate(0)}.saturate-50{--tw-saturate:saturate(.5)}.saturate-100{--tw-saturate:saturate(1)}.saturate-150{--tw-saturate:saturate(1.5)}.saturate-200{--tw-saturate:saturate(2)}.sepia-0{--tw-sepia:sepia(0)}.sepia{--tw-sepia:sepia(100%)}.backdrop-filter{--tw-backdrop-blur:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-brightness:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-contrast:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-grayscale:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-hue-rotate:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-invert:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-opacity:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-saturate:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-sepia:var(--tw-empty,/*!*/ /*!*/);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-filter-none{backdrop-filter:none}.backdrop-blur-0{--tw-backdrop-blur:blur(0)}.backdrop-blur-none{--tw-backdrop-blur:blur(0)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.backdrop-blur{--tw-backdrop-blur:blur(8px)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px)}.backdrop-blur-lg{--tw-backdrop-blur:blur(16px)}.backdrop-blur-xl{--tw-backdrop-blur:blur(24px)}.backdrop-blur-2xl{--tw-backdrop-blur:blur(40px)}.backdrop-blur-3xl{--tw-backdrop-blur:blur(64px)}.backdrop-brightness-0{--tw-backdrop-brightness:brightness(0)}.backdrop-brightness-50{--tw-backdrop-brightness:brightness(.5)}.backdrop-brightness-75{--tw-backdrop-brightness:brightness(.75)}.backdrop-brightness-90{--tw-backdrop-brightness:brightness(.9)}.backdrop-brightness-95{--tw-backdrop-brightness:brightness(.95)}.backdrop-brightness-100{--tw-backdrop-brightness:brightness(1)}.backdrop-brightness-105{--tw-backdrop-brightness:brightness(1.05)}.backdrop-brightness-110{--tw-backdrop-brightness:brightness(1.1)}.backdrop-brightness-125{--tw-backdrop-brightness:brightness(1.25)}.backdrop-brightness-150{--tw-backdrop-brightness:brightness(1.5)}.backdrop-brightness-200{--tw-backdrop-brightness:brightness(2)}.backdrop-contrast-0{--tw-backdrop-contrast:contrast(0)}.backdrop-contrast-50{--tw-backdrop-contrast:contrast(.5)}.backdrop-contrast-75{--tw-backdrop-contrast:contrast(.75)}.backdrop-contrast-100{--tw-backdrop-contrast:contrast(1)}.backdrop-contrast-125{--tw-backdrop-contrast:contrast(1.25)}.backdrop-contrast-150{--tw-backdrop-contrast:contrast(1.5)}.backdrop-contrast-200{--tw-backdrop-contrast:contrast(2)}.backdrop-grayscale-0{--tw-backdrop-grayscale:grayscale(0)}.backdrop-grayscale{--tw-backdrop-grayscale:grayscale(100%)}.backdrop-hue-rotate-0{--tw-backdrop-hue-rotate:hue-rotate(0deg)}.backdrop-hue-rotate-15{--tw-backdrop-hue-rotate:hue-rotate(15deg)}.backdrop-hue-rotate-30{--tw-backdrop-hue-rotate:hue-rotate(30deg)}.backdrop-hue-rotate-60{--tw-backdrop-hue-rotate:hue-rotate(60deg)}.backdrop-hue-rotate-90{--tw-backdrop-hue-rotate:hue-rotate(90deg)}.backdrop-hue-rotate-180{--tw-backdrop-hue-rotate:hue-rotate(180deg)}.-backdrop-hue-rotate-180{--tw-backdrop-hue-rotate:hue-rotate(-180deg)}.-backdrop-hue-rotate-90{--tw-backdrop-hue-rotate:hue-rotate(-90deg)}.-backdrop-hue-rotate-60{--tw-backdrop-hue-rotate:hue-rotate(-60deg)}.-backdrop-hue-rotate-30{--tw-backdrop-hue-rotate:hue-rotate(-30deg)}.-backdrop-hue-rotate-15{--tw-backdrop-hue-rotate:hue-rotate(-15deg)}.backdrop-invert-0{--tw-backdrop-invert:invert(0)}.backdrop-invert{--tw-backdrop-invert:invert(100%)}.backdrop-opacity-0{--tw-backdrop-opacity:opacity(0)}.backdrop-opacity-5{--tw-backdrop-opacity:opacity(0.05)}.backdrop-opacity-10{--tw-backdrop-opacity:opacity(0.1)}.backdrop-opacity-20{--tw-backdrop-opacity:opacity(0.2)}.backdrop-opacity-25{--tw-backdrop-opacity:opacity(0.25)}.backdrop-opacity-30{--tw-backdrop-opacity:opacity(0.3)}.backdrop-opacity-40{--tw-backdrop-opacity:opacity(0.4)}.backdrop-opacity-50{--tw-backdrop-opacity:opacity(0.5)}.backdrop-opacity-60{--tw-backdrop-opacity:opacity(0.6)}.backdrop-opacity-70{--tw-backdrop-opacity:opacity(0.7)}.backdrop-opacity-75{--tw-backdrop-opacity:opacity(0.75)}.backdrop-opacity-80{--tw-backdrop-opacity:opacity(0.8)}.backdrop-opacity-90{--tw-backdrop-opacity:opacity(0.9)}.backdrop-opacity-95{--tw-backdrop-opacity:opacity(0.95)}.backdrop-opacity-100{--tw-backdrop-opacity:opacity(1)}.backdrop-saturate-0{--tw-backdrop-saturate:saturate(0)}.backdrop-saturate-50{--tw-backdrop-saturate:saturate(.5)}.backdrop-saturate-100{--tw-backdrop-saturate:saturate(1)}.backdrop-saturate-150{--tw-backdrop-saturate:saturate(1.5)}.backdrop-saturate-200{--tw-backdrop-saturate:saturate(2)}.backdrop-sepia-0{--tw-backdrop-sepia:sepia(0)}.backdrop-sepia{--tw-backdrop-sepia:sepia(100%)}.transition-none{transition-property:none}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.transition{transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.transition-colors{transition-property:background-color, border-color, color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.delay-75{transition-delay:75ms}.delay-100{transition-delay:100ms}.delay-150{transition-delay:150ms}.delay-200{transition-delay:200ms}.delay-300{transition-delay:300ms}.delay-500{transition-delay:500ms}.delay-700{transition-delay:700ms}.delay-1000{transition-delay:1000ms}.duration-75{transition-duration:75ms}.duration-100{transition-duration:100ms}.duration-150{transition-duration:150ms}.duration-200{transition-duration:200ms}.duration-300{transition-duration:300ms}.duration-500{transition-duration:500ms}.duration-700{transition-duration:700ms}.duration-1000{transition-duration:1000ms}.ease-linear{transition-timing-function:linear}.ease-in{transition-timing-function:cubic-bezier(0.4, 0, 1, 1)}.ease-out{transition-timing-function:cubic-bezier(0, 0, 0.2, 1)}.ease-in-out{transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}@media(min-width: 640px){.sm\\:container{width:100%}@media(min-width: 640px){.sm\\:container{max-width:640px}}@media(min-width: 768px){.sm\\:container{max-width:768px}}@media(min-width: 1024px){.sm\\:container{max-width:1024px}}@media(min-width: 1280px){.sm\\:container{max-width:1280px}}@media(min-width: 1536px){.sm\\:container{max-width:1536px}}.sm\\:sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.sm\\:not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.sm\\:focus-within\\:sr-only:focus-within{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.sm\\:focus-within\\:not-sr-only:focus-within{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.sm\\:focus\\:sr-only:focus{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.sm\\:focus\\:not-sr-only:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.sm\\:pointer-events-none{pointer-events:none}.sm\\:pointer-events-auto{pointer-events:auto}.sm\\:visible{visibility:visible}.sm\\:invisible{visibility:hidden}.sm\\:static{position:static}.sm\\:fixed{position:fixed}.sm\\:absolute{position:absolute}.sm\\:relative{position:relative}.sm\\:sticky{position:sticky}.sm\\:inset-0{top:0px;right:0px;bottom:0px;left:0px}.sm\\:inset-1{top:0.25rem;right:0.25rem;bottom:0.25rem;left:0.25rem}.sm\\:inset-2{top:0.5rem;right:0.5rem;bottom:0.5rem;left:0.5rem}.sm\\:inset-3{top:0.75rem;right:0.75rem;bottom:0.75rem;left:0.75rem}.sm\\:inset-4{top:1rem;right:1rem;bottom:1rem;left:1rem}.sm\\:inset-5{top:1.25rem;right:1.25rem;bottom:1.25rem;left:1.25rem}.sm\\:inset-6{top:1.5rem;right:1.5rem;bottom:1.5rem;left:1.5rem}.sm\\:inset-7{top:1.75rem;right:1.75rem;bottom:1.75rem;left:1.75rem}.sm\\:inset-8{top:2rem;right:2rem;bottom:2rem;left:2rem}.sm\\:inset-9{top:2.25rem;right:2.25rem;bottom:2.25rem;left:2.25rem}.sm\\:inset-10{top:2.5rem;right:2.5rem;bottom:2.5rem;left:2.5rem}.sm\\:inset-11{top:2.75rem;right:2.75rem;bottom:2.75rem;left:2.75rem}.sm\\:inset-12{top:3rem;right:3rem;bottom:3rem;left:3rem}.sm\\:inset-14{top:3.5rem;right:3.5rem;bottom:3.5rem;left:3.5rem}.sm\\:inset-16{top:4rem;right:4rem;bottom:4rem;left:4rem}.sm\\:inset-20{top:5rem;right:5rem;bottom:5rem;left:5rem}.sm\\:inset-24{top:6rem;right:6rem;bottom:6rem;left:6rem}.sm\\:inset-28{top:7rem;right:7rem;bottom:7rem;left:7rem}.sm\\:inset-32{top:8rem;right:8rem;bottom:8rem;left:8rem}.sm\\:inset-36{top:9rem;right:9rem;bottom:9rem;left:9rem}.sm\\:inset-40{top:10rem;right:10rem;bottom:10rem;left:10rem}.sm\\:inset-44{top:11rem;right:11rem;bottom:11rem;left:11rem}.sm\\:inset-48{top:12rem;right:12rem;bottom:12rem;left:12rem}.sm\\:inset-52{top:13rem;right:13rem;bottom:13rem;left:13rem}.sm\\:inset-56{top:14rem;right:14rem;bottom:14rem;left:14rem}.sm\\:inset-60{top:15rem;right:15rem;bottom:15rem;left:15rem}.sm\\:inset-64{top:16rem;right:16rem;bottom:16rem;left:16rem}.sm\\:inset-72{top:18rem;right:18rem;bottom:18rem;left:18rem}.sm\\:inset-80{top:20rem;right:20rem;bottom:20rem;left:20rem}.sm\\:inset-96{top:24rem;right:24rem;bottom:24rem;left:24rem}.sm\\:inset-auto{top:auto;right:auto;bottom:auto;left:auto}.sm\\:inset-px{top:1px;right:1px;bottom:1px;left:1px}.sm\\:inset-0\\.5{top:0.125rem;right:0.125rem;bottom:0.125rem;left:0.125rem}.sm\\:inset-1\\.5{top:0.375rem;right:0.375rem;bottom:0.375rem;left:0.375rem}.sm\\:inset-2\\.5{top:0.625rem;right:0.625rem;bottom:0.625rem;left:0.625rem}.sm\\:inset-3\\.5{top:0.875rem;right:0.875rem;bottom:0.875rem;left:0.875rem}.sm\\:-inset-0{top:0px;right:0px;bottom:0px;left:0px}.sm\\:-inset-1{top:-0.25rem;right:-0.25rem;bottom:-0.25rem;left:-0.25rem}.sm\\:-inset-2{top:-0.5rem;right:-0.5rem;bottom:-0.5rem;left:-0.5rem}.sm\\:-inset-3{top:-0.75rem;right:-0.75rem;bottom:-0.75rem;left:-0.75rem}.sm\\:-inset-4{top:-1rem;right:-1rem;bottom:-1rem;left:-1rem}.sm\\:-inset-5{top:-1.25rem;right:-1.25rem;bottom:-1.25rem;left:-1.25rem}.sm\\:-inset-6{top:-1.5rem;right:-1.5rem;bottom:-1.5rem;left:-1.5rem}.sm\\:-inset-7{top:-1.75rem;right:-1.75rem;bottom:-1.75rem;left:-1.75rem}.sm\\:-inset-8{top:-2rem;right:-2rem;bottom:-2rem;left:-2rem}.sm\\:-inset-9{top:-2.25rem;right:-2.25rem;bottom:-2.25rem;left:-2.25rem}.sm\\:-inset-10{top:-2.5rem;right:-2.5rem;bottom:-2.5rem;left:-2.5rem}.sm\\:-inset-11{top:-2.75rem;right:-2.75rem;bottom:-2.75rem;left:-2.75rem}.sm\\:-inset-12{top:-3rem;right:-3rem;bottom:-3rem;left:-3rem}.sm\\:-inset-14{top:-3.5rem;right:-3.5rem;bottom:-3.5rem;left:-3.5rem}.sm\\:-inset-16{top:-4rem;right:-4rem;bottom:-4rem;left:-4rem}.sm\\:-inset-20{top:-5rem;right:-5rem;bottom:-5rem;left:-5rem}.sm\\:-inset-24{top:-6rem;right:-6rem;bottom:-6rem;left:-6rem}.sm\\:-inset-28{top:-7rem;right:-7rem;bottom:-7rem;left:-7rem}.sm\\:-inset-32{top:-8rem;right:-8rem;bottom:-8rem;left:-8rem}.sm\\:-inset-36{top:-9rem;right:-9rem;bottom:-9rem;left:-9rem}.sm\\:-inset-40{top:-10rem;right:-10rem;bottom:-10rem;left:-10rem}.sm\\:-inset-44{top:-11rem;right:-11rem;bottom:-11rem;left:-11rem}.sm\\:-inset-48{top:-12rem;right:-12rem;bottom:-12rem;left:-12rem}.sm\\:-inset-52{top:-13rem;right:-13rem;bottom:-13rem;left:-13rem}.sm\\:-inset-56{top:-14rem;right:-14rem;bottom:-14rem;left:-14rem}.sm\\:-inset-60{top:-15rem;right:-15rem;bottom:-15rem;left:-15rem}.sm\\:-inset-64{top:-16rem;right:-16rem;bottom:-16rem;left:-16rem}.sm\\:-inset-72{top:-18rem;right:-18rem;bottom:-18rem;left:-18rem}.sm\\:-inset-80{top:-20rem;right:-20rem;bottom:-20rem;left:-20rem}.sm\\:-inset-96{top:-24rem;right:-24rem;bottom:-24rem;left:-24rem}.sm\\:-inset-px{top:-1px;right:-1px;bottom:-1px;left:-1px}.sm\\:-inset-0\\.5{top:-0.125rem;right:-0.125rem;bottom:-0.125rem;left:-0.125rem}.sm\\:-inset-1\\.5{top:-0.375rem;right:-0.375rem;bottom:-0.375rem;left:-0.375rem}.sm\\:-inset-2\\.5{top:-0.625rem;right:-0.625rem;bottom:-0.625rem;left:-0.625rem}.sm\\:-inset-3\\.5{top:-0.875rem;right:-0.875rem;bottom:-0.875rem;left:-0.875rem}.sm\\:inset-1\\/2{top:50%;right:50%;bottom:50%;left:50%}.sm\\:inset-1\\/3{top:33.333333%;right:33.333333%;bottom:33.333333%;left:33.333333%}.sm\\:inset-2\\/3{top:66.666667%;right:66.666667%;bottom:66.666667%;left:66.666667%}.sm\\:inset-1\\/4{top:25%;right:25%;bottom:25%;left:25%}.sm\\:inset-2\\/4{top:50%;right:50%;bottom:50%;left:50%}.sm\\:inset-3\\/4{top:75%;right:75%;bottom:75%;left:75%}.sm\\:inset-full{top:100%;right:100%;bottom:100%;left:100%}.sm\\:-inset-1\\/2{top:-50%;right:-50%;bottom:-50%;left:-50%}.sm\\:-inset-1\\/3{top:-33.333333%;right:-33.333333%;bottom:-33.333333%;left:-33.333333%}.sm\\:-inset-2\\/3{top:-66.666667%;right:-66.666667%;bottom:-66.666667%;left:-66.666667%}.sm\\:-inset-1\\/4{top:-25%;right:-25%;bottom:-25%;left:-25%}.sm\\:-inset-2\\/4{top:-50%;right:-50%;bottom:-50%;left:-50%}.sm\\:-inset-3\\/4{top:-75%;right:-75%;bottom:-75%;left:-75%}.sm\\:-inset-full{top:-100%;right:-100%;bottom:-100%;left:-100%}.sm\\:inset-x-0{left:0px;right:0px}.sm\\:inset-x-1{left:0.25rem;right:0.25rem}.sm\\:inset-x-2{left:0.5rem;right:0.5rem}.sm\\:inset-x-3{left:0.75rem;right:0.75rem}.sm\\:inset-x-4{left:1rem;right:1rem}.sm\\:inset-x-5{left:1.25rem;right:1.25rem}.sm\\:inset-x-6{left:1.5rem;right:1.5rem}.sm\\:inset-x-7{left:1.75rem;right:1.75rem}.sm\\:inset-x-8{left:2rem;right:2rem}.sm\\:inset-x-9{left:2.25rem;right:2.25rem}.sm\\:inset-x-10{left:2.5rem;right:2.5rem}.sm\\:inset-x-11{left:2.75rem;right:2.75rem}.sm\\:inset-x-12{left:3rem;right:3rem}.sm\\:inset-x-14{left:3.5rem;right:3.5rem}.sm\\:inset-x-16{left:4rem;right:4rem}.sm\\:inset-x-20{left:5rem;right:5rem}.sm\\:inset-x-24{left:6rem;right:6rem}.sm\\:inset-x-28{left:7rem;right:7rem}.sm\\:inset-x-32{left:8rem;right:8rem}.sm\\:inset-x-36{left:9rem;right:9rem}.sm\\:inset-x-40{left:10rem;right:10rem}.sm\\:inset-x-44{left:11rem;right:11rem}.sm\\:inset-x-48{left:12rem;right:12rem}.sm\\:inset-x-52{left:13rem;right:13rem}.sm\\:inset-x-56{left:14rem;right:14rem}.sm\\:inset-x-60{left:15rem;right:15rem}.sm\\:inset-x-64{left:16rem;right:16rem}.sm\\:inset-x-72{left:18rem;right:18rem}.sm\\:inset-x-80{left:20rem;right:20rem}.sm\\:inset-x-96{left:24rem;right:24rem}.sm\\:inset-x-auto{left:auto;right:auto}.sm\\:inset-x-px{left:1px;right:1px}.sm\\:inset-x-0\\.5{left:0.125rem;right:0.125rem}.sm\\:inset-x-1\\.5{left:0.375rem;right:0.375rem}.sm\\:inset-x-2\\.5{left:0.625rem;right:0.625rem}.sm\\:inset-x-3\\.5{left:0.875rem;right:0.875rem}.sm\\:-inset-x-0{left:0px;right:0px}.sm\\:-inset-x-1{left:-0.25rem;right:-0.25rem}.sm\\:-inset-x-2{left:-0.5rem;right:-0.5rem}.sm\\:-inset-x-3{left:-0.75rem;right:-0.75rem}.sm\\:-inset-x-4{left:-1rem;right:-1rem}.sm\\:-inset-x-5{left:-1.25rem;right:-1.25rem}.sm\\:-inset-x-6{left:-1.5rem;right:-1.5rem}.sm\\:-inset-x-7{left:-1.75rem;right:-1.75rem}.sm\\:-inset-x-8{left:-2rem;right:-2rem}.sm\\:-inset-x-9{left:-2.25rem;right:-2.25rem}.sm\\:-inset-x-10{left:-2.5rem;right:-2.5rem}.sm\\:-inset-x-11{left:-2.75rem;right:-2.75rem}.sm\\:-inset-x-12{left:-3rem;right:-3rem}.sm\\:-inset-x-14{left:-3.5rem;right:-3.5rem}.sm\\:-inset-x-16{left:-4rem;right:-4rem}.sm\\:-inset-x-20{left:-5rem;right:-5rem}.sm\\:-inset-x-24{left:-6rem;right:-6rem}.sm\\:-inset-x-28{left:-7rem;right:-7rem}.sm\\:-inset-x-32{left:-8rem;right:-8rem}.sm\\:-inset-x-36{left:-9rem;right:-9rem}.sm\\:-inset-x-40{left:-10rem;right:-10rem}.sm\\:-inset-x-44{left:-11rem;right:-11rem}.sm\\:-inset-x-48{left:-12rem;right:-12rem}.sm\\:-inset-x-52{left:-13rem;right:-13rem}.sm\\:-inset-x-56{left:-14rem;right:-14rem}.sm\\:-inset-x-60{left:-15rem;right:-15rem}.sm\\:-inset-x-64{left:-16rem;right:-16rem}.sm\\:-inset-x-72{left:-18rem;right:-18rem}.sm\\:-inset-x-80{left:-20rem;right:-20rem}.sm\\:-inset-x-96{left:-24rem;right:-24rem}.sm\\:-inset-x-px{left:-1px;right:-1px}.sm\\:-inset-x-0\\.5{left:-0.125rem;right:-0.125rem}.sm\\:-inset-x-1\\.5{left:-0.375rem;right:-0.375rem}.sm\\:-inset-x-2\\.5{left:-0.625rem;right:-0.625rem}.sm\\:-inset-x-3\\.5{left:-0.875rem;right:-0.875rem}.sm\\:inset-x-1\\/2{left:50%;right:50%}.sm\\:inset-x-1\\/3{left:33.333333%;right:33.333333%}.sm\\:inset-x-2\\/3{left:66.666667%;right:66.666667%}.sm\\:inset-x-1\\/4{left:25%;right:25%}.sm\\:inset-x-2\\/4{left:50%;right:50%}.sm\\:inset-x-3\\/4{left:75%;right:75%}.sm\\:inset-x-full{left:100%;right:100%}.sm\\:-inset-x-1\\/2{left:-50%;right:-50%}.sm\\:-inset-x-1\\/3{left:-33.333333%;right:-33.333333%}.sm\\:-inset-x-2\\/3{left:-66.666667%;right:-66.666667%}.sm\\:-inset-x-1\\/4{left:-25%;right:-25%}.sm\\:-inset-x-2\\/4{left:-50%;right:-50%}.sm\\:-inset-x-3\\/4{left:-75%;right:-75%}.sm\\:-inset-x-full{left:-100%;right:-100%}.sm\\:inset-y-0{top:0px;bottom:0px}.sm\\:inset-y-1{top:0.25rem;bottom:0.25rem}.sm\\:inset-y-2{top:0.5rem;bottom:0.5rem}.sm\\:inset-y-3{top:0.75rem;bottom:0.75rem}.sm\\:inset-y-4{top:1rem;bottom:1rem}.sm\\:inset-y-5{top:1.25rem;bottom:1.25rem}.sm\\:inset-y-6{top:1.5rem;bottom:1.5rem}.sm\\:inset-y-7{top:1.75rem;bottom:1.75rem}.sm\\:inset-y-8{top:2rem;bottom:2rem}.sm\\:inset-y-9{top:2.25rem;bottom:2.25rem}.sm\\:inset-y-10{top:2.5rem;bottom:2.5rem}.sm\\:inset-y-11{top:2.75rem;bottom:2.75rem}.sm\\:inset-y-12{top:3rem;bottom:3rem}.sm\\:inset-y-14{top:3.5rem;bottom:3.5rem}.sm\\:inset-y-16{top:4rem;bottom:4rem}.sm\\:inset-y-20{top:5rem;bottom:5rem}.sm\\:inset-y-24{top:6rem;bottom:6rem}.sm\\:inset-y-28{top:7rem;bottom:7rem}.sm\\:inset-y-32{top:8rem;bottom:8rem}.sm\\:inset-y-36{top:9rem;bottom:9rem}.sm\\:inset-y-40{top:10rem;bottom:10rem}.sm\\:inset-y-44{top:11rem;bottom:11rem}.sm\\:inset-y-48{top:12rem;bottom:12rem}.sm\\:inset-y-52{top:13rem;bottom:13rem}.sm\\:inset-y-56{top:14rem;bottom:14rem}.sm\\:inset-y-60{top:15rem;bottom:15rem}.sm\\:inset-y-64{top:16rem;bottom:16rem}.sm\\:inset-y-72{top:18rem;bottom:18rem}.sm\\:inset-y-80{top:20rem;bottom:20rem}.sm\\:inset-y-96{top:24rem;bottom:24rem}.sm\\:inset-y-auto{top:auto;bottom:auto}.sm\\:inset-y-px{top:1px;bottom:1px}.sm\\:inset-y-0\\.5{top:0.125rem;bottom:0.125rem}.sm\\:inset-y-1\\.5{top:0.375rem;bottom:0.375rem}.sm\\:inset-y-2\\.5{top:0.625rem;bottom:0.625rem}.sm\\:inset-y-3\\.5{top:0.875rem;bottom:0.875rem}.sm\\:-inset-y-0{top:0px;bottom:0px}.sm\\:-inset-y-1{top:-0.25rem;bottom:-0.25rem}.sm\\:-inset-y-2{top:-0.5rem;bottom:-0.5rem}.sm\\:-inset-y-3{top:-0.75rem;bottom:-0.75rem}.sm\\:-inset-y-4{top:-1rem;bottom:-1rem}.sm\\:-inset-y-5{top:-1.25rem;bottom:-1.25rem}.sm\\:-inset-y-6{top:-1.5rem;bottom:-1.5rem}.sm\\:-inset-y-7{top:-1.75rem;bottom:-1.75rem}.sm\\:-inset-y-8{top:-2rem;bottom:-2rem}.sm\\:-inset-y-9{top:-2.25rem;bottom:-2.25rem}.sm\\:-inset-y-10{top:-2.5rem;bottom:-2.5rem}.sm\\:-inset-y-11{top:-2.75rem;bottom:-2.75rem}.sm\\:-inset-y-12{top:-3rem;bottom:-3rem}.sm\\:-inset-y-14{top:-3.5rem;bottom:-3.5rem}.sm\\:-inset-y-16{top:-4rem;bottom:-4rem}.sm\\:-inset-y-20{top:-5rem;bottom:-5rem}.sm\\:-inset-y-24{top:-6rem;bottom:-6rem}.sm\\:-inset-y-28{top:-7rem;bottom:-7rem}.sm\\:-inset-y-32{top:-8rem;bottom:-8rem}.sm\\:-inset-y-36{top:-9rem;bottom:-9rem}.sm\\:-inset-y-40{top:-10rem;bottom:-10rem}.sm\\:-inset-y-44{top:-11rem;bottom:-11rem}.sm\\:-inset-y-48{top:-12rem;bottom:-12rem}.sm\\:-inset-y-52{top:-13rem;bottom:-13rem}.sm\\:-inset-y-56{top:-14rem;bottom:-14rem}.sm\\:-inset-y-60{top:-15rem;bottom:-15rem}.sm\\:-inset-y-64{top:-16rem;bottom:-16rem}.sm\\:-inset-y-72{top:-18rem;bottom:-18rem}.sm\\:-inset-y-80{top:-20rem;bottom:-20rem}.sm\\:-inset-y-96{top:-24rem;bottom:-24rem}.sm\\:-inset-y-px{top:-1px;bottom:-1px}.sm\\:-inset-y-0\\.5{top:-0.125rem;bottom:-0.125rem}.sm\\:-inset-y-1\\.5{top:-0.375rem;bottom:-0.375rem}.sm\\:-inset-y-2\\.5{top:-0.625rem;bottom:-0.625rem}.sm\\:-inset-y-3\\.5{top:-0.875rem;bottom:-0.875rem}.sm\\:inset-y-1\\/2{top:50%;bottom:50%}.sm\\:inset-y-1\\/3{top:33.333333%;bottom:33.333333%}.sm\\:inset-y-2\\/3{top:66.666667%;bottom:66.666667%}.sm\\:inset-y-1\\/4{top:25%;bottom:25%}.sm\\:inset-y-2\\/4{top:50%;bottom:50%}.sm\\:inset-y-3\\/4{top:75%;bottom:75%}.sm\\:inset-y-full{top:100%;bottom:100%}.sm\\:-inset-y-1\\/2{top:-50%;bottom:-50%}.sm\\:-inset-y-1\\/3{top:-33.333333%;bottom:-33.333333%}.sm\\:-inset-y-2\\/3{top:-66.666667%;bottom:-66.666667%}.sm\\:-inset-y-1\\/4{top:-25%;bottom:-25%}.sm\\:-inset-y-2\\/4{top:-50%;bottom:-50%}.sm\\:-inset-y-3\\/4{top:-75%;bottom:-75%}.sm\\:-inset-y-full{top:-100%;bottom:-100%}.sm\\:top-0{top:0px}.sm\\:top-1{top:0.25rem}.sm\\:top-2{top:0.5rem}.sm\\:top-3{top:0.75rem}.sm\\:top-4{top:1rem}.sm\\:top-5{top:1.25rem}.sm\\:top-6{top:1.5rem}.sm\\:top-7{top:1.75rem}.sm\\:top-8{top:2rem}.sm\\:top-9{top:2.25rem}.sm\\:top-10{top:2.5rem}.sm\\:top-11{top:2.75rem}.sm\\:top-12{top:3rem}.sm\\:top-14{top:3.5rem}.sm\\:top-16{top:4rem}.sm\\:top-20{top:5rem}.sm\\:top-24{top:6rem}.sm\\:top-28{top:7rem}.sm\\:top-32{top:8rem}.sm\\:top-36{top:9rem}.sm\\:top-40{top:10rem}.sm\\:top-44{top:11rem}.sm\\:top-48{top:12rem}.sm\\:top-52{top:13rem}.sm\\:top-56{top:14rem}.sm\\:top-60{top:15rem}.sm\\:top-64{top:16rem}.sm\\:top-72{top:18rem}.sm\\:top-80{top:20rem}.sm\\:top-96{top:24rem}.sm\\:top-auto{top:auto}.sm\\:top-px{top:1px}.sm\\:top-0\\.5{top:0.125rem}.sm\\:top-1\\.5{top:0.375rem}.sm\\:top-2\\.5{top:0.625rem}.sm\\:top-3\\.5{top:0.875rem}.sm\\:-top-0{top:0px}.sm\\:-top-1{top:-0.25rem}.sm\\:-top-2{top:-0.5rem}.sm\\:-top-3{top:-0.75rem}.sm\\:-top-4{top:-1rem}.sm\\:-top-5{top:-1.25rem}.sm\\:-top-6{top:-1.5rem}.sm\\:-top-7{top:-1.75rem}.sm\\:-top-8{top:-2rem}.sm\\:-top-9{top:-2.25rem}.sm\\:-top-10{top:-2.5rem}.sm\\:-top-11{top:-2.75rem}.sm\\:-top-12{top:-3rem}.sm\\:-top-14{top:-3.5rem}.sm\\:-top-16{top:-4rem}.sm\\:-top-20{top:-5rem}.sm\\:-top-24{top:-6rem}.sm\\:-top-28{top:-7rem}.sm\\:-top-32{top:-8rem}.sm\\:-top-36{top:-9rem}.sm\\:-top-40{top:-10rem}.sm\\:-top-44{top:-11rem}.sm\\:-top-48{top:-12rem}.sm\\:-top-52{top:-13rem}.sm\\:-top-56{top:-14rem}.sm\\:-top-60{top:-15rem}.sm\\:-top-64{top:-16rem}.sm\\:-top-72{top:-18rem}.sm\\:-top-80{top:-20rem}.sm\\:-top-96{top:-24rem}.sm\\:-top-px{top:-1px}.sm\\:-top-0\\.5{top:-0.125rem}.sm\\:-top-1\\.5{top:-0.375rem}.sm\\:-top-2\\.5{top:-0.625rem}.sm\\:-top-3\\.5{top:-0.875rem}.sm\\:top-1\\/2{top:50%}.sm\\:top-1\\/3{top:33.333333%}.sm\\:top-2\\/3{top:66.666667%}.sm\\:top-1\\/4{top:25%}.sm\\:top-2\\/4{top:50%}.sm\\:top-3\\/4{top:75%}.sm\\:top-full{top:100%}.sm\\:-top-1\\/2{top:-50%}.sm\\:-top-1\\/3{top:-33.333333%}.sm\\:-top-2\\/3{top:-66.666667%}.sm\\:-top-1\\/4{top:-25%}.sm\\:-top-2\\/4{top:-50%}.sm\\:-top-3\\/4{top:-75%}.sm\\:-top-full{top:-100%}.sm\\:right-0{right:0px}.sm\\:right-1{right:0.25rem}.sm\\:right-2{right:0.5rem}.sm\\:right-3{right:0.75rem}.sm\\:right-4{right:1rem}.sm\\:right-5{right:1.25rem}.sm\\:right-6{right:1.5rem}.sm\\:right-7{right:1.75rem}.sm\\:right-8{right:2rem}.sm\\:right-9{right:2.25rem}.sm\\:right-10{right:2.5rem}.sm\\:right-11{right:2.75rem}.sm\\:right-12{right:3rem}.sm\\:right-14{right:3.5rem}.sm\\:right-16{right:4rem}.sm\\:right-20{right:5rem}.sm\\:right-24{right:6rem}.sm\\:right-28{right:7rem}.sm\\:right-32{right:8rem}.sm\\:right-36{right:9rem}.sm\\:right-40{right:10rem}.sm\\:right-44{right:11rem}.sm\\:right-48{right:12rem}.sm\\:right-52{right:13rem}.sm\\:right-56{right:14rem}.sm\\:right-60{right:15rem}.sm\\:right-64{right:16rem}.sm\\:right-72{right:18rem}.sm\\:right-80{right:20rem}.sm\\:right-96{right:24rem}.sm\\:right-auto{right:auto}.sm\\:right-px{right:1px}.sm\\:right-0\\.5{right:0.125rem}.sm\\:right-1\\.5{right:0.375rem}.sm\\:right-2\\.5{right:0.625rem}.sm\\:right-3\\.5{right:0.875rem}.sm\\:-right-0{right:0px}.sm\\:-right-1{right:-0.25rem}.sm\\:-right-2{right:-0.5rem}.sm\\:-right-3{right:-0.75rem}.sm\\:-right-4{right:-1rem}.sm\\:-right-5{right:-1.25rem}.sm\\:-right-6{right:-1.5rem}.sm\\:-right-7{right:-1.75rem}.sm\\:-right-8{right:-2rem}.sm\\:-right-9{right:-2.25rem}.sm\\:-right-10{right:-2.5rem}.sm\\:-right-11{right:-2.75rem}.sm\\:-right-12{right:-3rem}.sm\\:-right-14{right:-3.5rem}.sm\\:-right-16{right:-4rem}.sm\\:-right-20{right:-5rem}.sm\\:-right-24{right:-6rem}.sm\\:-right-28{right:-7rem}.sm\\:-right-32{right:-8rem}.sm\\:-right-36{right:-9rem}.sm\\:-right-40{right:-10rem}.sm\\:-right-44{right:-11rem}.sm\\:-right-48{right:-12rem}.sm\\:-right-52{right:-13rem}.sm\\:-right-56{right:-14rem}.sm\\:-right-60{right:-15rem}.sm\\:-right-64{right:-16rem}.sm\\:-right-72{right:-18rem}.sm\\:-right-80{right:-20rem}.sm\\:-right-96{right:-24rem}.sm\\:-right-px{right:-1px}.sm\\:-right-0\\.5{right:-0.125rem}.sm\\:-right-1\\.5{right:-0.375rem}.sm\\:-right-2\\.5{right:-0.625rem}.sm\\:-right-3\\.5{right:-0.875rem}.sm\\:right-1\\/2{right:50%}.sm\\:right-1\\/3{right:33.333333%}.sm\\:right-2\\/3{right:66.666667%}.sm\\:right-1\\/4{right:25%}.sm\\:right-2\\/4{right:50%}.sm\\:right-3\\/4{right:75%}.sm\\:right-full{right:100%}.sm\\:-right-1\\/2{right:-50%}.sm\\:-right-1\\/3{right:-33.333333%}.sm\\:-right-2\\/3{right:-66.666667%}.sm\\:-right-1\\/4{right:-25%}.sm\\:-right-2\\/4{right:-50%}.sm\\:-right-3\\/4{right:-75%}.sm\\:-right-full{right:-100%}.sm\\:bottom-0{bottom:0px}.sm\\:bottom-1{bottom:0.25rem}.sm\\:bottom-2{bottom:0.5rem}.sm\\:bottom-3{bottom:0.75rem}.sm\\:bottom-4{bottom:1rem}.sm\\:bottom-5{bottom:1.25rem}.sm\\:bottom-6{bottom:1.5rem}.sm\\:bottom-7{bottom:1.75rem}.sm\\:bottom-8{bottom:2rem}.sm\\:bottom-9{bottom:2.25rem}.sm\\:bottom-10{bottom:2.5rem}.sm\\:bottom-11{bottom:2.75rem}.sm\\:bottom-12{bottom:3rem}.sm\\:bottom-14{bottom:3.5rem}.sm\\:bottom-16{bottom:4rem}.sm\\:bottom-20{bottom:5rem}.sm\\:bottom-24{bottom:6rem}.sm\\:bottom-28{bottom:7rem}.sm\\:bottom-32{bottom:8rem}.sm\\:bottom-36{bottom:9rem}.sm\\:bottom-40{bottom:10rem}.sm\\:bottom-44{bottom:11rem}.sm\\:bottom-48{bottom:12rem}.sm\\:bottom-52{bottom:13rem}.sm\\:bottom-56{bottom:14rem}.sm\\:bottom-60{bottom:15rem}.sm\\:bottom-64{bottom:16rem}.sm\\:bottom-72{bottom:18rem}.sm\\:bottom-80{bottom:20rem}.sm\\:bottom-96{bottom:24rem}.sm\\:bottom-auto{bottom:auto}.sm\\:bottom-px{bottom:1px}.sm\\:bottom-0\\.5{bottom:0.125rem}.sm\\:bottom-1\\.5{bottom:0.375rem}.sm\\:bottom-2\\.5{bottom:0.625rem}.sm\\:bottom-3\\.5{bottom:0.875rem}.sm\\:-bottom-0{bottom:0px}.sm\\:-bottom-1{bottom:-0.25rem}.sm\\:-bottom-2{bottom:-0.5rem}.sm\\:-bottom-3{bottom:-0.75rem}.sm\\:-bottom-4{bottom:-1rem}.sm\\:-bottom-5{bottom:-1.25rem}.sm\\:-bottom-6{bottom:-1.5rem}.sm\\:-bottom-7{bottom:-1.75rem}.sm\\:-bottom-8{bottom:-2rem}.sm\\:-bottom-9{bottom:-2.25rem}.sm\\:-bottom-10{bottom:-2.5rem}.sm\\:-bottom-11{bottom:-2.75rem}.sm\\:-bottom-12{bottom:-3rem}.sm\\:-bottom-14{bottom:-3.5rem}.sm\\:-bottom-16{bottom:-4rem}.sm\\:-bottom-20{bottom:-5rem}.sm\\:-bottom-24{bottom:-6rem}.sm\\:-bottom-28{bottom:-7rem}.sm\\:-bottom-32{bottom:-8rem}.sm\\:-bottom-36{bottom:-9rem}.sm\\:-bottom-40{bottom:-10rem}.sm\\:-bottom-44{bottom:-11rem}.sm\\:-bottom-48{bottom:-12rem}.sm\\:-bottom-52{bottom:-13rem}.sm\\:-bottom-56{bottom:-14rem}.sm\\:-bottom-60{bottom:-15rem}.sm\\:-bottom-64{bottom:-16rem}.sm\\:-bottom-72{bottom:-18rem}.sm\\:-bottom-80{bottom:-20rem}.sm\\:-bottom-96{bottom:-24rem}.sm\\:-bottom-px{bottom:-1px}.sm\\:-bottom-0\\.5{bottom:-0.125rem}.sm\\:-bottom-1\\.5{bottom:-0.375rem}.sm\\:-bottom-2\\.5{bottom:-0.625rem}.sm\\:-bottom-3\\.5{bottom:-0.875rem}.sm\\:bottom-1\\/2{bottom:50%}.sm\\:bottom-1\\/3{bottom:33.333333%}.sm\\:bottom-2\\/3{bottom:66.666667%}.sm\\:bottom-1\\/4{bottom:25%}.sm\\:bottom-2\\/4{bottom:50%}.sm\\:bottom-3\\/4{bottom:75%}.sm\\:bottom-full{bottom:100%}.sm\\:-bottom-1\\/2{bottom:-50%}.sm\\:-bottom-1\\/3{bottom:-33.333333%}.sm\\:-bottom-2\\/3{bottom:-66.666667%}.sm\\:-bottom-1\\/4{bottom:-25%}.sm\\:-bottom-2\\/4{bottom:-50%}.sm\\:-bottom-3\\/4{bottom:-75%}.sm\\:-bottom-full{bottom:-100%}.sm\\:left-0{left:0px}.sm\\:left-1{left:0.25rem}.sm\\:left-2{left:0.5rem}.sm\\:left-3{left:0.75rem}.sm\\:left-4{left:1rem}.sm\\:left-5{left:1.25rem}.sm\\:left-6{left:1.5rem}.sm\\:left-7{left:1.75rem}.sm\\:left-8{left:2rem}.sm\\:left-9{left:2.25rem}.sm\\:left-10{left:2.5rem}.sm\\:left-11{left:2.75rem}.sm\\:left-12{left:3rem}.sm\\:left-14{left:3.5rem}.sm\\:left-16{left:4rem}.sm\\:left-20{left:5rem}.sm\\:left-24{left:6rem}.sm\\:left-28{left:7rem}.sm\\:left-32{left:8rem}.sm\\:left-36{left:9rem}.sm\\:left-40{left:10rem}.sm\\:left-44{left:11rem}.sm\\:left-48{left:12rem}.sm\\:left-52{left:13rem}.sm\\:left-56{left:14rem}.sm\\:left-60{left:15rem}.sm\\:left-64{left:16rem}.sm\\:left-72{left:18rem}.sm\\:left-80{left:20rem}.sm\\:left-96{left:24rem}.sm\\:left-auto{left:auto}.sm\\:left-px{left:1px}.sm\\:left-0\\.5{left:0.125rem}.sm\\:left-1\\.5{left:0.375rem}.sm\\:left-2\\.5{left:0.625rem}.sm\\:left-3\\.5{left:0.875rem}.sm\\:-left-0{left:0px}.sm\\:-left-1{left:-0.25rem}.sm\\:-left-2{left:-0.5rem}.sm\\:-left-3{left:-0.75rem}.sm\\:-left-4{left:-1rem}.sm\\:-left-5{left:-1.25rem}.sm\\:-left-6{left:-1.5rem}.sm\\:-left-7{left:-1.75rem}.sm\\:-left-8{left:-2rem}.sm\\:-left-9{left:-2.25rem}.sm\\:-left-10{left:-2.5rem}.sm\\:-left-11{left:-2.75rem}.sm\\:-left-12{left:-3rem}.sm\\:-left-14{left:-3.5rem}.sm\\:-left-16{left:-4rem}.sm\\:-left-20{left:-5rem}.sm\\:-left-24{left:-6rem}.sm\\:-left-28{left:-7rem}.sm\\:-left-32{left:-8rem}.sm\\:-left-36{left:-9rem}.sm\\:-left-40{left:-10rem}.sm\\:-left-44{left:-11rem}.sm\\:-left-48{left:-12rem}.sm\\:-left-52{left:-13rem}.sm\\:-left-56{left:-14rem}.sm\\:-left-60{left:-15rem}.sm\\:-left-64{left:-16rem}.sm\\:-left-72{left:-18rem}.sm\\:-left-80{left:-20rem}.sm\\:-left-96{left:-24rem}.sm\\:-left-px{left:-1px}.sm\\:-left-0\\.5{left:-0.125rem}.sm\\:-left-1\\.5{left:-0.375rem}.sm\\:-left-2\\.5{left:-0.625rem}.sm\\:-left-3\\.5{left:-0.875rem}.sm\\:left-1\\/2{left:50%}.sm\\:left-1\\/3{left:33.333333%}.sm\\:left-2\\/3{left:66.666667%}.sm\\:left-1\\/4{left:25%}.sm\\:left-2\\/4{left:50%}.sm\\:left-3\\/4{left:75%}.sm\\:left-full{left:100%}.sm\\:-left-1\\/2{left:-50%}.sm\\:-left-1\\/3{left:-33.333333%}.sm\\:-left-2\\/3{left:-66.666667%}.sm\\:-left-1\\/4{left:-25%}.sm\\:-left-2\\/4{left:-50%}.sm\\:-left-3\\/4{left:-75%}.sm\\:-left-full{left:-100%}.sm\\:isolate{isolation:isolate}.sm\\:isolation-auto{isolation:auto}.sm\\:z-0{z-index:0}.sm\\:z-10{z-index:10}.sm\\:z-20{z-index:20}.sm\\:z-30{z-index:30}.sm\\:z-40{z-index:40}.sm\\:z-50{z-index:50}.sm\\:z-auto{z-index:auto}.sm\\:focus-within\\:z-0:focus-within{z-index:0}.sm\\:focus-within\\:z-10:focus-within{z-index:10}.sm\\:focus-within\\:z-20:focus-within{z-index:20}.sm\\:focus-within\\:z-30:focus-within{z-index:30}.sm\\:focus-within\\:z-40:focus-within{z-index:40}.sm\\:focus-within\\:z-50:focus-within{z-index:50}.sm\\:focus-within\\:z-auto:focus-within{z-index:auto}.sm\\:focus\\:z-0:focus{z-index:0}.sm\\:focus\\:z-10:focus{z-index:10}.sm\\:focus\\:z-20:focus{z-index:20}.sm\\:focus\\:z-30:focus{z-index:30}.sm\\:focus\\:z-40:focus{z-index:40}.sm\\:focus\\:z-50:focus{z-index:50}.sm\\:focus\\:z-auto:focus{z-index:auto}.sm\\:order-1{order:1}.sm\\:order-2{order:2}.sm\\:order-3{order:3}.sm\\:order-4{order:4}.sm\\:order-5{order:5}.sm\\:order-6{order:6}.sm\\:order-7{order:7}.sm\\:order-8{order:8}.sm\\:order-9{order:9}.sm\\:order-10{order:10}.sm\\:order-11{order:11}.sm\\:order-12{order:12}.sm\\:order-first{order:-9999}.sm\\:order-last{order:9999}.sm\\:order-none{order:0}.sm\\:col-auto{grid-column:auto}.sm\\:col-span-1{grid-column:span 1 / span 1}.sm\\:col-span-2{grid-column:span 2 / span 2}.sm\\:col-span-3{grid-column:span 3 / span 3}.sm\\:col-span-4{grid-column:span 4 / span 4}.sm\\:col-span-5{grid-column:span 5 / span 5}.sm\\:col-span-6{grid-column:span 6 / span 6}.sm\\:col-span-7{grid-column:span 7 / span 7}.sm\\:col-span-8{grid-column:span 8 / span 8}.sm\\:col-span-9{grid-column:span 9 / span 9}.sm\\:col-span-10{grid-column:span 10 / span 10}.sm\\:col-span-11{grid-column:span 11 / span 11}.sm\\:col-span-12{grid-column:span 12 / span 12}.sm\\:col-span-full{grid-column:1 / -1}.sm\\:col-start-1{grid-column-start:1}.sm\\:col-start-2{grid-column-start:2}.sm\\:col-start-3{grid-column-start:3}.sm\\:col-start-4{grid-column-start:4}.sm\\:col-start-5{grid-column-start:5}.sm\\:col-start-6{grid-column-start:6}.sm\\:col-start-7{grid-column-start:7}.sm\\:col-start-8{grid-column-start:8}.sm\\:col-start-9{grid-column-start:9}.sm\\:col-start-10{grid-column-start:10}.sm\\:col-start-11{grid-column-start:11}.sm\\:col-start-12{grid-column-start:12}.sm\\:col-start-13{grid-column-start:13}.sm\\:col-start-auto{grid-column-start:auto}.sm\\:col-end-1{grid-column-end:1}.sm\\:col-end-2{grid-column-end:2}.sm\\:col-end-3{grid-column-end:3}.sm\\:col-end-4{grid-column-end:4}.sm\\:col-end-5{grid-column-end:5}.sm\\:col-end-6{grid-column-end:6}.sm\\:col-end-7{grid-column-end:7}.sm\\:col-end-8{grid-column-end:8}.sm\\:col-end-9{grid-column-end:9}.sm\\:col-end-10{grid-column-end:10}.sm\\:col-end-11{grid-column-end:11}.sm\\:col-end-12{grid-column-end:12}.sm\\:col-end-13{grid-column-end:13}.sm\\:col-end-auto{grid-column-end:auto}.sm\\:row-auto{grid-row:auto}.sm\\:row-span-1{grid-row:span 1 / span 1}.sm\\:row-span-2{grid-row:span 2 / span 2}.sm\\:row-span-3{grid-row:span 3 / span 3}.sm\\:row-span-4{grid-row:span 4 / span 4}.sm\\:row-span-5{grid-row:span 5 / span 5}.sm\\:row-span-6{grid-row:span 6 / span 6}.sm\\:row-span-full{grid-row:1 / -1}.sm\\:row-start-1{grid-row-start:1}.sm\\:row-start-2{grid-row-start:2}.sm\\:row-start-3{grid-row-start:3}.sm\\:row-start-4{grid-row-start:4}.sm\\:row-start-5{grid-row-start:5}.sm\\:row-start-6{grid-row-start:6}.sm\\:row-start-7{grid-row-start:7}.sm\\:row-start-auto{grid-row-start:auto}.sm\\:row-end-1{grid-row-end:1}.sm\\:row-end-2{grid-row-end:2}.sm\\:row-end-3{grid-row-end:3}.sm\\:row-end-4{grid-row-end:4}.sm\\:row-end-5{grid-row-end:5}.sm\\:row-end-6{grid-row-end:6}.sm\\:row-end-7{grid-row-end:7}.sm\\:row-end-auto{grid-row-end:auto}.sm\\:float-right{float:right}.sm\\:float-left{float:left}.sm\\:float-none{float:none}.sm\\:clear-left{clear:left}.sm\\:clear-right{clear:right}.sm\\:clear-both{clear:both}.sm\\:clear-none{clear:none}.sm\\:m-0{margin:0px}.sm\\:m-1{margin:0.25rem}.sm\\:m-2{margin:0.5rem}.sm\\:m-3{margin:0.75rem}.sm\\:m-4{margin:1rem}.sm\\:m-5{margin:1.25rem}.sm\\:m-6{margin:1.5rem}.sm\\:m-7{margin:1.75rem}.sm\\:m-8{margin:2rem}.sm\\:m-9{margin:2.25rem}.sm\\:m-10{margin:2.5rem}.sm\\:m-11{margin:2.75rem}.sm\\:m-12{margin:3rem}.sm\\:m-14{margin:3.5rem}.sm\\:m-16{margin:4rem}.sm\\:m-20{margin:5rem}.sm\\:m-24{margin:6rem}.sm\\:m-28{margin:7rem}.sm\\:m-32{margin:8rem}.sm\\:m-36{margin:9rem}.sm\\:m-40{margin:10rem}.sm\\:m-44{margin:11rem}.sm\\:m-48{margin:12rem}.sm\\:m-52{margin:13rem}.sm\\:m-56{margin:14rem}.sm\\:m-60{margin:15rem}.sm\\:m-64{margin:16rem}.sm\\:m-72{margin:18rem}.sm\\:m-80{margin:20rem}.sm\\:m-96{margin:24rem}.sm\\:m-auto{margin:auto}.sm\\:m-px{margin:1px}.sm\\:m-0\\.5{margin:0.125rem}.sm\\:m-1\\.5{margin:0.375rem}.sm\\:m-2\\.5{margin:0.625rem}.sm\\:m-3\\.5{margin:0.875rem}.sm\\:-m-0{margin:0px}.sm\\:-m-1{margin:-0.25rem}.sm\\:-m-2{margin:-0.5rem}.sm\\:-m-3{margin:-0.75rem}.sm\\:-m-4{margin:-1rem}.sm\\:-m-5{margin:-1.25rem}.sm\\:-m-6{margin:-1.5rem}.sm\\:-m-7{margin:-1.75rem}.sm\\:-m-8{margin:-2rem}.sm\\:-m-9{margin:-2.25rem}.sm\\:-m-10{margin:-2.5rem}.sm\\:-m-11{margin:-2.75rem}.sm\\:-m-12{margin:-3rem}.sm\\:-m-14{margin:-3.5rem}.sm\\:-m-16{margin:-4rem}.sm\\:-m-20{margin:-5rem}.sm\\:-m-24{margin:-6rem}.sm\\:-m-28{margin:-7rem}.sm\\:-m-32{margin:-8rem}.sm\\:-m-36{margin:-9rem}.sm\\:-m-40{margin:-10rem}.sm\\:-m-44{margin:-11rem}.sm\\:-m-48{margin:-12rem}.sm\\:-m-52{margin:-13rem}.sm\\:-m-56{margin:-14rem}.sm\\:-m-60{margin:-15rem}.sm\\:-m-64{margin:-16rem}.sm\\:-m-72{margin:-18rem}.sm\\:-m-80{margin:-20rem}.sm\\:-m-96{margin:-24rem}.sm\\:-m-px{margin:-1px}.sm\\:-m-0\\.5{margin:-0.125rem}.sm\\:-m-1\\.5{margin:-0.375rem}.sm\\:-m-2\\.5{margin:-0.625rem}.sm\\:-m-3\\.5{margin:-0.875rem}.sm\\:mx-0{margin-left:0px;margin-right:0px}.sm\\:mx-1{margin-left:0.25rem;margin-right:0.25rem}.sm\\:mx-2{margin-left:0.5rem;margin-right:0.5rem}.sm\\:mx-3{margin-left:0.75rem;margin-right:0.75rem}.sm\\:mx-4{margin-left:1rem;margin-right:1rem}.sm\\:mx-5{margin-left:1.25rem;margin-right:1.25rem}.sm\\:mx-6{margin-left:1.5rem;margin-right:1.5rem}.sm\\:mx-7{margin-left:1.75rem;margin-right:1.75rem}.sm\\:mx-8{margin-left:2rem;margin-right:2rem}.sm\\:mx-9{margin-left:2.25rem;margin-right:2.25rem}.sm\\:mx-10{margin-left:2.5rem;margin-right:2.5rem}.sm\\:mx-11{margin-left:2.75rem;margin-right:2.75rem}.sm\\:mx-12{margin-left:3rem;margin-right:3rem}.sm\\:mx-14{margin-left:3.5rem;margin-right:3.5rem}.sm\\:mx-16{margin-left:4rem;margin-right:4rem}.sm\\:mx-20{margin-left:5rem;margin-right:5rem}.sm\\:mx-24{margin-left:6rem;margin-right:6rem}.sm\\:mx-28{margin-left:7rem;margin-right:7rem}.sm\\:mx-32{margin-left:8rem;margin-right:8rem}.sm\\:mx-36{margin-left:9rem;margin-right:9rem}.sm\\:mx-40{margin-left:10rem;margin-right:10rem}.sm\\:mx-44{margin-left:11rem;margin-right:11rem}.sm\\:mx-48{margin-left:12rem;margin-right:12rem}.sm\\:mx-52{margin-left:13rem;margin-right:13rem}.sm\\:mx-56{margin-left:14rem;margin-right:14rem}.sm\\:mx-60{margin-left:15rem;margin-right:15rem}.sm\\:mx-64{margin-left:16rem;margin-right:16rem}.sm\\:mx-72{margin-left:18rem;margin-right:18rem}.sm\\:mx-80{margin-left:20rem;margin-right:20rem}.sm\\:mx-96{margin-left:24rem;margin-right:24rem}.sm\\:mx-auto{margin-left:auto;margin-right:auto}.sm\\:mx-px{margin-left:1px;margin-right:1px}.sm\\:mx-0\\.5{margin-left:0.125rem;margin-right:0.125rem}.sm\\:mx-1\\.5{margin-left:0.375rem;margin-right:0.375rem}.sm\\:mx-2\\.5{margin-left:0.625rem;margin-right:0.625rem}.sm\\:mx-3\\.5{margin-left:0.875rem;margin-right:0.875rem}.sm\\:-mx-0{margin-left:0px;margin-right:0px}.sm\\:-mx-1{margin-left:-0.25rem;margin-right:-0.25rem}.sm\\:-mx-2{margin-left:-0.5rem;margin-right:-0.5rem}.sm\\:-mx-3{margin-left:-0.75rem;margin-right:-0.75rem}.sm\\:-mx-4{margin-left:-1rem;margin-right:-1rem}.sm\\:-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.sm\\:-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.sm\\:-mx-7{margin-left:-1.75rem;margin-right:-1.75rem}.sm\\:-mx-8{margin-left:-2rem;margin-right:-2rem}.sm\\:-mx-9{margin-left:-2.25rem;margin-right:-2.25rem}.sm\\:-mx-10{margin-left:-2.5rem;margin-right:-2.5rem}.sm\\:-mx-11{margin-left:-2.75rem;margin-right:-2.75rem}.sm\\:-mx-12{margin-left:-3rem;margin-right:-3rem}.sm\\:-mx-14{margin-left:-3.5rem;margin-right:-3.5rem}.sm\\:-mx-16{margin-left:-4rem;margin-right:-4rem}.sm\\:-mx-20{margin-left:-5rem;margin-right:-5rem}.sm\\:-mx-24{margin-left:-6rem;margin-right:-6rem}.sm\\:-mx-28{margin-left:-7rem;margin-right:-7rem}.sm\\:-mx-32{margin-left:-8rem;margin-right:-8rem}.sm\\:-mx-36{margin-left:-9rem;margin-right:-9rem}.sm\\:-mx-40{margin-left:-10rem;margin-right:-10rem}.sm\\:-mx-44{margin-left:-11rem;margin-right:-11rem}.sm\\:-mx-48{margin-left:-12rem;margin-right:-12rem}.sm\\:-mx-52{margin-left:-13rem;margin-right:-13rem}.sm\\:-mx-56{margin-left:-14rem;margin-right:-14rem}.sm\\:-mx-60{margin-left:-15rem;margin-right:-15rem}.sm\\:-mx-64{margin-left:-16rem;margin-right:-16rem}.sm\\:-mx-72{margin-left:-18rem;margin-right:-18rem}.sm\\:-mx-80{margin-left:-20rem;margin-right:-20rem}.sm\\:-mx-96{margin-left:-24rem;margin-right:-24rem}.sm\\:-mx-px{margin-left:-1px;margin-right:-1px}.sm\\:-mx-0\\.5{margin-left:-0.125rem;margin-right:-0.125rem}.sm\\:-mx-1\\.5{margin-left:-0.375rem;margin-right:-0.375rem}.sm\\:-mx-2\\.5{margin-left:-0.625rem;margin-right:-0.625rem}.sm\\:-mx-3\\.5{margin-left:-0.875rem;margin-right:-0.875rem}.sm\\:my-0{margin-top:0px;margin-bottom:0px}.sm\\:my-1{margin-top:0.25rem;margin-bottom:0.25rem}.sm\\:my-2{margin-top:0.5rem;margin-bottom:0.5rem}.sm\\:my-3{margin-top:0.75rem;margin-bottom:0.75rem}.sm\\:my-4{margin-top:1rem;margin-bottom:1rem}.sm\\:my-5{margin-top:1.25rem;margin-bottom:1.25rem}.sm\\:my-6{margin-top:1.5rem;margin-bottom:1.5rem}.sm\\:my-7{margin-top:1.75rem;margin-bottom:1.75rem}.sm\\:my-8{margin-top:2rem;margin-bottom:2rem}.sm\\:my-9{margin-top:2.25rem;margin-bottom:2.25rem}.sm\\:my-10{margin-top:2.5rem;margin-bottom:2.5rem}.sm\\:my-11{margin-top:2.75rem;margin-bottom:2.75rem}.sm\\:my-12{margin-top:3rem;margin-bottom:3rem}.sm\\:my-14{margin-top:3.5rem;margin-bottom:3.5rem}.sm\\:my-16{margin-top:4rem;margin-bottom:4rem}.sm\\:my-20{margin-top:5rem;margin-bottom:5rem}.sm\\:my-24{margin-top:6rem;margin-bottom:6rem}.sm\\:my-28{margin-top:7rem;margin-bottom:7rem}.sm\\:my-32{margin-top:8rem;margin-bottom:8rem}.sm\\:my-36{margin-top:9rem;margin-bottom:9rem}.sm\\:my-40{margin-top:10rem;margin-bottom:10rem}.sm\\:my-44{margin-top:11rem;margin-bottom:11rem}.sm\\:my-48{margin-top:12rem;margin-bottom:12rem}.sm\\:my-52{margin-top:13rem;margin-bottom:13rem}.sm\\:my-56{margin-top:14rem;margin-bottom:14rem}.sm\\:my-60{margin-top:15rem;margin-bottom:15rem}.sm\\:my-64{margin-top:16rem;margin-bottom:16rem}.sm\\:my-72{margin-top:18rem;margin-bottom:18rem}.sm\\:my-80{margin-top:20rem;margin-bottom:20rem}.sm\\:my-96{margin-top:24rem;margin-bottom:24rem}.sm\\:my-auto{margin-top:auto;margin-bottom:auto}.sm\\:my-px{margin-top:1px;margin-bottom:1px}.sm\\:my-0\\.5{margin-top:0.125rem;margin-bottom:0.125rem}.sm\\:my-1\\.5{margin-top:0.375rem;margin-bottom:0.375rem}.sm\\:my-2\\.5{margin-top:0.625rem;margin-bottom:0.625rem}.sm\\:my-3\\.5{margin-top:0.875rem;margin-bottom:0.875rem}.sm\\:-my-0{margin-top:0px;margin-bottom:0px}.sm\\:-my-1{margin-top:-0.25rem;margin-bottom:-0.25rem}.sm\\:-my-2{margin-top:-0.5rem;margin-bottom:-0.5rem}.sm\\:-my-3{margin-top:-0.75rem;margin-bottom:-0.75rem}.sm\\:-my-4{margin-top:-1rem;margin-bottom:-1rem}.sm\\:-my-5{margin-top:-1.25rem;margin-bottom:-1.25rem}.sm\\:-my-6{margin-top:-1.5rem;margin-bottom:-1.5rem}.sm\\:-my-7{margin-top:-1.75rem;margin-bottom:-1.75rem}.sm\\:-my-8{margin-top:-2rem;margin-bottom:-2rem}.sm\\:-my-9{margin-top:-2.25rem;margin-bottom:-2.25rem}.sm\\:-my-10{margin-top:-2.5rem;margin-bottom:-2.5rem}.sm\\:-my-11{margin-top:-2.75rem;margin-bottom:-2.75rem}.sm\\:-my-12{margin-top:-3rem;margin-bottom:-3rem}.sm\\:-my-14{margin-top:-3.5rem;margin-bottom:-3.5rem}.sm\\:-my-16{margin-top:-4rem;margin-bottom:-4rem}.sm\\:-my-20{margin-top:-5rem;margin-bottom:-5rem}.sm\\:-my-24{margin-top:-6rem;margin-bottom:-6rem}.sm\\:-my-28{margin-top:-7rem;margin-bottom:-7rem}.sm\\:-my-32{margin-top:-8rem;margin-bottom:-8rem}.sm\\:-my-36{margin-top:-9rem;margin-bottom:-9rem}.sm\\:-my-40{margin-top:-10rem;margin-bottom:-10rem}.sm\\:-my-44{margin-top:-11rem;margin-bottom:-11rem}.sm\\:-my-48{margin-top:-12rem;margin-bottom:-12rem}.sm\\:-my-52{margin-top:-13rem;margin-bottom:-13rem}.sm\\:-my-56{margin-top:-14rem;margin-bottom:-14rem}.sm\\:-my-60{margin-top:-15rem;margin-bottom:-15rem}.sm\\:-my-64{margin-top:-16rem;margin-bottom:-16rem}.sm\\:-my-72{margin-top:-18rem;margin-bottom:-18rem}.sm\\:-my-80{margin-top:-20rem;margin-bottom:-20rem}.sm\\:-my-96{margin-top:-24rem;margin-bottom:-24rem}.sm\\:-my-px{margin-top:-1px;margin-bottom:-1px}.sm\\:-my-0\\.5{margin-top:-0.125rem;margin-bottom:-0.125rem}.sm\\:-my-1\\.5{margin-top:-0.375rem;margin-bottom:-0.375rem}.sm\\:-my-2\\.5{margin-top:-0.625rem;margin-bottom:-0.625rem}.sm\\:-my-3\\.5{margin-top:-0.875rem;margin-bottom:-0.875rem}.sm\\:mt-0{margin-top:0px}.sm\\:mt-1{margin-top:0.25rem}.sm\\:mt-2{margin-top:0.5rem}.sm\\:mt-3{margin-top:0.75rem}.sm\\:mt-4{margin-top:1rem}.sm\\:mt-5{margin-top:1.25rem}.sm\\:mt-6{margin-top:1.5rem}.sm\\:mt-7{margin-top:1.75rem}.sm\\:mt-8{margin-top:2rem}.sm\\:mt-9{margin-top:2.25rem}.sm\\:mt-10{margin-top:2.5rem}.sm\\:mt-11{margin-top:2.75rem}.sm\\:mt-12{margin-top:3rem}.sm\\:mt-14{margin-top:3.5rem}.sm\\:mt-16{margin-top:4rem}.sm\\:mt-20{margin-top:5rem}.sm\\:mt-24{margin-top:6rem}.sm\\:mt-28{margin-top:7rem}.sm\\:mt-32{margin-top:8rem}.sm\\:mt-36{margin-top:9rem}.sm\\:mt-40{margin-top:10rem}.sm\\:mt-44{margin-top:11rem}.sm\\:mt-48{margin-top:12rem}.sm\\:mt-52{margin-top:13rem}.sm\\:mt-56{margin-top:14rem}.sm\\:mt-60{margin-top:15rem}.sm\\:mt-64{margin-top:16rem}.sm\\:mt-72{margin-top:18rem}.sm\\:mt-80{margin-top:20rem}.sm\\:mt-96{margin-top:24rem}.sm\\:mt-auto{margin-top:auto}.sm\\:mt-px{margin-top:1px}.sm\\:mt-0\\.5{margin-top:0.125rem}.sm\\:mt-1\\.5{margin-top:0.375rem}.sm\\:mt-2\\.5{margin-top:0.625rem}.sm\\:mt-3\\.5{margin-top:0.875rem}.sm\\:-mt-0{margin-top:0px}.sm\\:-mt-1{margin-top:-0.25rem}.sm\\:-mt-2{margin-top:-0.5rem}.sm\\:-mt-3{margin-top:-0.75rem}.sm\\:-mt-4{margin-top:-1rem}.sm\\:-mt-5{margin-top:-1.25rem}.sm\\:-mt-6{margin-top:-1.5rem}.sm\\:-mt-7{margin-top:-1.75rem}.sm\\:-mt-8{margin-top:-2rem}.sm\\:-mt-9{margin-top:-2.25rem}.sm\\:-mt-10{margin-top:-2.5rem}.sm\\:-mt-11{margin-top:-2.75rem}.sm\\:-mt-12{margin-top:-3rem}.sm\\:-mt-14{margin-top:-3.5rem}.sm\\:-mt-16{margin-top:-4rem}.sm\\:-mt-20{margin-top:-5rem}.sm\\:-mt-24{margin-top:-6rem}.sm\\:-mt-28{margin-top:-7rem}.sm\\:-mt-32{margin-top:-8rem}.sm\\:-mt-36{margin-top:-9rem}.sm\\:-mt-40{margin-top:-10rem}.sm\\:-mt-44{margin-top:-11rem}.sm\\:-mt-48{margin-top:-12rem}.sm\\:-mt-52{margin-top:-13rem}.sm\\:-mt-56{margin-top:-14rem}.sm\\:-mt-60{margin-top:-15rem}.sm\\:-mt-64{margin-top:-16rem}.sm\\:-mt-72{margin-top:-18rem}.sm\\:-mt-80{margin-top:-20rem}.sm\\:-mt-96{margin-top:-24rem}.sm\\:-mt-px{margin-top:-1px}.sm\\:-mt-0\\.5{margin-top:-0.125rem}.sm\\:-mt-1\\.5{margin-top:-0.375rem}.sm\\:-mt-2\\.5{margin-top:-0.625rem}.sm\\:-mt-3\\.5{margin-top:-0.875rem}.sm\\:mr-0{margin-right:0px}.sm\\:mr-1{margin-right:0.25rem}.sm\\:mr-2{margin-right:0.5rem}.sm\\:mr-3{margin-right:0.75rem}.sm\\:mr-4{margin-right:1rem}.sm\\:mr-5{margin-right:1.25rem}.sm\\:mr-6{margin-right:1.5rem}.sm\\:mr-7{margin-right:1.75rem}.sm\\:mr-8{margin-right:2rem}.sm\\:mr-9{margin-right:2.25rem}.sm\\:mr-10{margin-right:2.5rem}.sm\\:mr-11{margin-right:2.75rem}.sm\\:mr-12{margin-right:3rem}.sm\\:mr-14{margin-right:3.5rem}.sm\\:mr-16{margin-right:4rem}.sm\\:mr-20{margin-right:5rem}.sm\\:mr-24{margin-right:6rem}.sm\\:mr-28{margin-right:7rem}.sm\\:mr-32{margin-right:8rem}.sm\\:mr-36{margin-right:9rem}.sm\\:mr-40{margin-right:10rem}.sm\\:mr-44{margin-right:11rem}.sm\\:mr-48{margin-right:12rem}.sm\\:mr-52{margin-right:13rem}.sm\\:mr-56{margin-right:14rem}.sm\\:mr-60{margin-right:15rem}.sm\\:mr-64{margin-right:16rem}.sm\\:mr-72{margin-right:18rem}.sm\\:mr-80{margin-right:20rem}.sm\\:mr-96{margin-right:24rem}.sm\\:mr-auto{margin-right:auto}.sm\\:mr-px{margin-right:1px}.sm\\:mr-0\\.5{margin-right:0.125rem}.sm\\:mr-1\\.5{margin-right:0.375rem}.sm\\:mr-2\\.5{margin-right:0.625rem}.sm\\:mr-3\\.5{margin-right:0.875rem}.sm\\:-mr-0{margin-right:0px}.sm\\:-mr-1{margin-right:-0.25rem}.sm\\:-mr-2{margin-right:-0.5rem}.sm\\:-mr-3{margin-right:-0.75rem}.sm\\:-mr-4{margin-right:-1rem}.sm\\:-mr-5{margin-right:-1.25rem}.sm\\:-mr-6{margin-right:-1.5rem}.sm\\:-mr-7{margin-right:-1.75rem}.sm\\:-mr-8{margin-right:-2rem}.sm\\:-mr-9{margin-right:-2.25rem}.sm\\:-mr-10{margin-right:-2.5rem}.sm\\:-mr-11{margin-right:-2.75rem}.sm\\:-mr-12{margin-right:-3rem}.sm\\:-mr-14{margin-right:-3.5rem}.sm\\:-mr-16{margin-right:-4rem}.sm\\:-mr-20{margin-right:-5rem}.sm\\:-mr-24{margin-right:-6rem}.sm\\:-mr-28{margin-right:-7rem}.sm\\:-mr-32{margin-right:-8rem}.sm\\:-mr-36{margin-right:-9rem}.sm\\:-mr-40{margin-right:-10rem}.sm\\:-mr-44{margin-right:-11rem}.sm\\:-mr-48{margin-right:-12rem}.sm\\:-mr-52{margin-right:-13rem}.sm\\:-mr-56{margin-right:-14rem}.sm\\:-mr-60{margin-right:-15rem}.sm\\:-mr-64{margin-right:-16rem}.sm\\:-mr-72{margin-right:-18rem}.sm\\:-mr-80{margin-right:-20rem}.sm\\:-mr-96{margin-right:-24rem}.sm\\:-mr-px{margin-right:-1px}.sm\\:-mr-0\\.5{margin-right:-0.125rem}.sm\\:-mr-1\\.5{margin-right:-0.375rem}.sm\\:-mr-2\\.5{margin-right:-0.625rem}.sm\\:-mr-3\\.5{margin-right:-0.875rem}.sm\\:mb-0{margin-bottom:0px}.sm\\:mb-1{margin-bottom:0.25rem}.sm\\:mb-2{margin-bottom:0.5rem}.sm\\:mb-3{margin-bottom:0.75rem}.sm\\:mb-4{margin-bottom:1rem}.sm\\:mb-5{margin-bottom:1.25rem}.sm\\:mb-6{margin-bottom:1.5rem}.sm\\:mb-7{margin-bottom:1.75rem}.sm\\:mb-8{margin-bottom:2rem}.sm\\:mb-9{margin-bottom:2.25rem}.sm\\:mb-10{margin-bottom:2.5rem}.sm\\:mb-11{margin-bottom:2.75rem}.sm\\:mb-12{margin-bottom:3rem}.sm\\:mb-14{margin-bottom:3.5rem}.sm\\:mb-16{margin-bottom:4rem}.sm\\:mb-20{margin-bottom:5rem}.sm\\:mb-24{margin-bottom:6rem}.sm\\:mb-28{margin-bottom:7rem}.sm\\:mb-32{margin-bottom:8rem}.sm\\:mb-36{margin-bottom:9rem}.sm\\:mb-40{margin-bottom:10rem}.sm\\:mb-44{margin-bottom:11rem}.sm\\:mb-48{margin-bottom:12rem}.sm\\:mb-52{margin-bottom:13rem}.sm\\:mb-56{margin-bottom:14rem}.sm\\:mb-60{margin-bottom:15rem}.sm\\:mb-64{margin-bottom:16rem}.sm\\:mb-72{margin-bottom:18rem}.sm\\:mb-80{margin-bottom:20rem}.sm\\:mb-96{margin-bottom:24rem}.sm\\:mb-auto{margin-bottom:auto}.sm\\:mb-px{margin-bottom:1px}.sm\\:mb-0\\.5{margin-bottom:0.125rem}.sm\\:mb-1\\.5{margin-bottom:0.375rem}.sm\\:mb-2\\.5{margin-bottom:0.625rem}.sm\\:mb-3\\.5{margin-bottom:0.875rem}.sm\\:-mb-0{margin-bottom:0px}.sm\\:-mb-1{margin-bottom:-0.25rem}.sm\\:-mb-2{margin-bottom:-0.5rem}.sm\\:-mb-3{margin-bottom:-0.75rem}.sm\\:-mb-4{margin-bottom:-1rem}.sm\\:-mb-5{margin-bottom:-1.25rem}.sm\\:-mb-6{margin-bottom:-1.5rem}.sm\\:-mb-7{margin-bottom:-1.75rem}.sm\\:-mb-8{margin-bottom:-2rem}.sm\\:-mb-9{margin-bottom:-2.25rem}.sm\\:-mb-10{margin-bottom:-2.5rem}.sm\\:-mb-11{margin-bottom:-2.75rem}.sm\\:-mb-12{margin-bottom:-3rem}.sm\\:-mb-14{margin-bottom:-3.5rem}.sm\\:-mb-16{margin-bottom:-4rem}.sm\\:-mb-20{margin-bottom:-5rem}.sm\\:-mb-24{margin-bottom:-6rem}.sm\\:-mb-28{margin-bottom:-7rem}.sm\\:-mb-32{margin-bottom:-8rem}.sm\\:-mb-36{margin-bottom:-9rem}.sm\\:-mb-40{margin-bottom:-10rem}.sm\\:-mb-44{margin-bottom:-11rem}.sm\\:-mb-48{margin-bottom:-12rem}.sm\\:-mb-52{margin-bottom:-13rem}.sm\\:-mb-56{margin-bottom:-14rem}.sm\\:-mb-60{margin-bottom:-15rem}.sm\\:-mb-64{margin-bottom:-16rem}.sm\\:-mb-72{margin-bottom:-18rem}.sm\\:-mb-80{margin-bottom:-20rem}.sm\\:-mb-96{margin-bottom:-24rem}.sm\\:-mb-px{margin-bottom:-1px}.sm\\:-mb-0\\.5{margin-bottom:-0.125rem}.sm\\:-mb-1\\.5{margin-bottom:-0.375rem}.sm\\:-mb-2\\.5{margin-bottom:-0.625rem}.sm\\:-mb-3\\.5{margin-bottom:-0.875rem}.sm\\:ml-0{margin-left:0px}.sm\\:ml-1{margin-left:0.25rem}.sm\\:ml-2{margin-left:0.5rem}.sm\\:ml-3{margin-left:0.75rem}.sm\\:ml-4{margin-left:1rem}.sm\\:ml-5{margin-left:1.25rem}.sm\\:ml-6{margin-left:1.5rem}.sm\\:ml-7{margin-left:1.75rem}.sm\\:ml-8{margin-left:2rem}.sm\\:ml-9{margin-left:2.25rem}.sm\\:ml-10{margin-left:2.5rem}.sm\\:ml-11{margin-left:2.75rem}.sm\\:ml-12{margin-left:3rem}.sm\\:ml-14{margin-left:3.5rem}.sm\\:ml-16{margin-left:4rem}.sm\\:ml-20{margin-left:5rem}.sm\\:ml-24{margin-left:6rem}.sm\\:ml-28{margin-left:7rem}.sm\\:ml-32{margin-left:8rem}.sm\\:ml-36{margin-left:9rem}.sm\\:ml-40{margin-left:10rem}.sm\\:ml-44{margin-left:11rem}.sm\\:ml-48{margin-left:12rem}.sm\\:ml-52{margin-left:13rem}.sm\\:ml-56{margin-left:14rem}.sm\\:ml-60{margin-left:15rem}.sm\\:ml-64{margin-left:16rem}.sm\\:ml-72{margin-left:18rem}.sm\\:ml-80{margin-left:20rem}.sm\\:ml-96{margin-left:24rem}.sm\\:ml-auto{margin-left:auto}.sm\\:ml-px{margin-left:1px}.sm\\:ml-0\\.5{margin-left:0.125rem}.sm\\:ml-1\\.5{margin-left:0.375rem}.sm\\:ml-2\\.5{margin-left:0.625rem}.sm\\:ml-3\\.5{margin-left:0.875rem}.sm\\:-ml-0{margin-left:0px}.sm\\:-ml-1{margin-left:-0.25rem}.sm\\:-ml-2{margin-left:-0.5rem}.sm\\:-ml-3{margin-left:-0.75rem}.sm\\:-ml-4{margin-left:-1rem}.sm\\:-ml-5{margin-left:-1.25rem}.sm\\:-ml-6{margin-left:-1.5rem}.sm\\:-ml-7{margin-left:-1.75rem}.sm\\:-ml-8{margin-left:-2rem}.sm\\:-ml-9{margin-left:-2.25rem}.sm\\:-ml-10{margin-left:-2.5rem}.sm\\:-ml-11{margin-left:-2.75rem}.sm\\:-ml-12{margin-left:-3rem}.sm\\:-ml-14{margin-left:-3.5rem}.sm\\:-ml-16{margin-left:-4rem}.sm\\:-ml-20{margin-left:-5rem}.sm\\:-ml-24{margin-left:-6rem}.sm\\:-ml-28{margin-left:-7rem}.sm\\:-ml-32{margin-left:-8rem}.sm\\:-ml-36{margin-left:-9rem}.sm\\:-ml-40{margin-left:-10rem}.sm\\:-ml-44{margin-left:-11rem}.sm\\:-ml-48{margin-left:-12rem}.sm\\:-ml-52{margin-left:-13rem}.sm\\:-ml-56{margin-left:-14rem}.sm\\:-ml-60{margin-left:-15rem}.sm\\:-ml-64{margin-left:-16rem}.sm\\:-ml-72{margin-left:-18rem}.sm\\:-ml-80{margin-left:-20rem}.sm\\:-ml-96{margin-left:-24rem}.sm\\:-ml-px{margin-left:-1px}.sm\\:-ml-0\\.5{margin-left:-0.125rem}.sm\\:-ml-1\\.5{margin-left:-0.375rem}.sm\\:-ml-2\\.5{margin-left:-0.625rem}.sm\\:-ml-3\\.5{margin-left:-0.875rem}.sm\\:box-border{box-sizing:border-box}.sm\\:box-content{box-sizing:content-box}.sm\\:block{display:block}.sm\\:inline-block{display:inline-block}.sm\\:inline{display:inline}.sm\\:flex{display:flex}.sm\\:inline-flex{display:inline-flex}.sm\\:table{display:table}.sm\\:inline-table{display:inline-table}.sm\\:table-caption{display:table-caption}.sm\\:table-cell{display:table-cell}.sm\\:table-column{display:table-column}.sm\\:table-column-group{display:table-column-group}.sm\\:table-footer-group{display:table-footer-group}.sm\\:table-header-group{display:table-header-group}.sm\\:table-row-group{display:table-row-group}.sm\\:table-row{display:table-row}.sm\\:flow-root{display:flow-root}.sm\\:grid{display:grid}.sm\\:inline-grid{display:inline-grid}.sm\\:contents{display:contents}.sm\\:list-item{display:list-item}.sm\\:hidden{display:none}.sm\\:h-0{height:0px}.sm\\:h-1{height:0.25rem}.sm\\:h-2{height:0.5rem}.sm\\:h-3{height:0.75rem}.sm\\:h-4{height:1rem}.sm\\:h-5{height:1.25rem}.sm\\:h-6{height:1.5rem}.sm\\:h-7{height:1.75rem}.sm\\:h-8{height:2rem}.sm\\:h-9{height:2.25rem}.sm\\:h-10{height:2.5rem}.sm\\:h-11{height:2.75rem}.sm\\:h-12{height:3rem}.sm\\:h-14{height:3.5rem}.sm\\:h-16{height:4rem}.sm\\:h-20{height:5rem}.sm\\:h-24{height:6rem}.sm\\:h-28{height:7rem}.sm\\:h-32{height:8rem}.sm\\:h-36{height:9rem}.sm\\:h-40{height:10rem}.sm\\:h-44{height:11rem}.sm\\:h-48{height:12rem}.sm\\:h-52{height:13rem}.sm\\:h-56{height:14rem}.sm\\:h-60{height:15rem}.sm\\:h-64{height:16rem}.sm\\:h-72{height:18rem}.sm\\:h-80{height:20rem}.sm\\:h-96{height:24rem}.sm\\:h-auto{height:auto}.sm\\:h-px{height:1px}.sm\\:h-0\\.5{height:0.125rem}.sm\\:h-1\\.5{height:0.375rem}.sm\\:h-2\\.5{height:0.625rem}.sm\\:h-3\\.5{height:0.875rem}.sm\\:h-1\\/2{height:50%}.sm\\:h-1\\/3{height:33.333333%}.sm\\:h-2\\/3{height:66.666667%}.sm\\:h-1\\/4{height:25%}.sm\\:h-2\\/4{height:50%}.sm\\:h-3\\/4{height:75%}.sm\\:h-1\\/5{height:20%}.sm\\:h-2\\/5{height:40%}.sm\\:h-3\\/5{height:60%}.sm\\:h-4\\/5{height:80%}.sm\\:h-1\\/6{height:16.666667%}.sm\\:h-2\\/6{height:33.333333%}.sm\\:h-3\\/6{height:50%}.sm\\:h-4\\/6{height:66.666667%}.sm\\:h-5\\/6{height:83.333333%}.sm\\:h-full{height:100%}.sm\\:h-screen{height:100vh}.sm\\:h-XS{height:250px}.sm\\:h-S{height:500px}.sm\\:h-M{height:750px}.sm\\:h-L{height:1000px}.sm\\:h-XL{height:1250px}.sm\\:h-XXL{height:1500px}.sm\\:max-h-0{max-height:0px}.sm\\:max-h-1{max-height:0.25rem}.sm\\:max-h-2{max-height:0.5rem}.sm\\:max-h-3{max-height:0.75rem}.sm\\:max-h-4{max-height:1rem}.sm\\:max-h-5{max-height:1.25rem}.sm\\:max-h-6{max-height:1.5rem}.sm\\:max-h-7{max-height:1.75rem}.sm\\:max-h-8{max-height:2rem}.sm\\:max-h-9{max-height:2.25rem}.sm\\:max-h-10{max-height:2.5rem}.sm\\:max-h-11{max-height:2.75rem}.sm\\:max-h-12{max-height:3rem}.sm\\:max-h-14{max-height:3.5rem}.sm\\:max-h-16{max-height:4rem}.sm\\:max-h-20{max-height:5rem}.sm\\:max-h-24{max-height:6rem}.sm\\:max-h-28{max-height:7rem}.sm\\:max-h-32{max-height:8rem}.sm\\:max-h-36{max-height:9rem}.sm\\:max-h-40{max-height:10rem}.sm\\:max-h-44{max-height:11rem}.sm\\:max-h-48{max-height:12rem}.sm\\:max-h-52{max-height:13rem}.sm\\:max-h-56{max-height:14rem}.sm\\:max-h-60{max-height:15rem}.sm\\:max-h-64{max-height:16rem}.sm\\:max-h-72{max-height:18rem}.sm\\:max-h-80{max-height:20rem}.sm\\:max-h-96{max-height:24rem}.sm\\:max-h-px{max-height:1px}.sm\\:max-h-0\\.5{max-height:0.125rem}.sm\\:max-h-1\\.5{max-height:0.375rem}.sm\\:max-h-2\\.5{max-height:0.625rem}.sm\\:max-h-3\\.5{max-height:0.875rem}.sm\\:max-h-full{max-height:100%}.sm\\:max-h-screen{max-height:100vh}.sm\\:max-h-XS{max-height:250px}.sm\\:max-h-S{max-height:500px}.sm\\:max-h-M{max-height:750px}.sm\\:max-h-L{max-height:1000px}.sm\\:max-h-XL{max-height:1250px}.sm\\:max-h-XXL{max-height:1500px}.sm\\:min-h-0{min-height:0px}.sm\\:min-h-full{min-height:100%}.sm\\:min-h-screen{min-height:100vh}.sm\\:w-0{width:0px}.sm\\:w-1{width:0.25rem}.sm\\:w-2{width:0.5rem}.sm\\:w-3{width:0.75rem}.sm\\:w-4{width:1rem}.sm\\:w-5{width:1.25rem}.sm\\:w-6{width:1.5rem}.sm\\:w-7{width:1.75rem}.sm\\:w-8{width:2rem}.sm\\:w-9{width:2.25rem}.sm\\:w-10{width:2.5rem}.sm\\:w-11{width:2.75rem}.sm\\:w-12{width:3rem}.sm\\:w-14{width:3.5rem}.sm\\:w-16{width:4rem}.sm\\:w-20{width:5rem}.sm\\:w-24{width:6rem}.sm\\:w-28{width:7rem}.sm\\:w-32{width:8rem}.sm\\:w-36{width:9rem}.sm\\:w-40{width:10rem}.sm\\:w-44{width:11rem}.sm\\:w-48{width:12rem}.sm\\:w-52{width:13rem}.sm\\:w-56{width:14rem}.sm\\:w-60{width:15rem}.sm\\:w-64{width:16rem}.sm\\:w-72{width:18rem}.sm\\:w-80{width:20rem}.sm\\:w-96{width:24rem}.sm\\:w-auto{width:auto}.sm\\:w-px{width:1px}.sm\\:w-0\\.5{width:0.125rem}.sm\\:w-1\\.5{width:0.375rem}.sm\\:w-2\\.5{width:0.625rem}.sm\\:w-3\\.5{width:0.875rem}.sm\\:w-1\\/2{width:50%}.sm\\:w-1\\/3{width:33.333333%}.sm\\:w-2\\/3{width:66.666667%}.sm\\:w-1\\/4{width:25%}.sm\\:w-2\\/4{width:50%}.sm\\:w-3\\/4{width:75%}.sm\\:w-1\\/5{width:20%}.sm\\:w-2\\/5{width:40%}.sm\\:w-3\\/5{width:60%}.sm\\:w-4\\/5{width:80%}.sm\\:w-1\\/6{width:16.666667%}.sm\\:w-2\\/6{width:33.333333%}.sm\\:w-3\\/6{width:50%}.sm\\:w-4\\/6{width:66.666667%}.sm\\:w-5\\/6{width:83.333333%}.sm\\:w-1\\/12{width:8.333333%}.sm\\:w-2\\/12{width:16.666667%}.sm\\:w-3\\/12{width:25%}.sm\\:w-4\\/12{width:33.333333%}.sm\\:w-5\\/12{width:41.666667%}.sm\\:w-6\\/12{width:50%}.sm\\:w-7\\/12{width:58.333333%}.sm\\:w-8\\/12{width:66.666667%}.sm\\:w-9\\/12{width:75%}.sm\\:w-10\\/12{width:83.333333%}.sm\\:w-11\\/12{width:91.666667%}.sm\\:w-full{width:100%}.sm\\:w-screen{width:100vw}.sm\\:w-min{width:min-content}.sm\\:w-max{width:max-content}.sm\\:min-w-0{min-width:0px}.sm\\:min-w-full{min-width:100%}.sm\\:min-w-min{min-width:min-content}.sm\\:min-w-max{min-width:max-content}.sm\\:max-w-0{max-width:0rem}.sm\\:max-w-none{max-width:none}.sm\\:max-w-xs{max-width:20rem}.sm\\:max-w-sm{max-width:24rem}.sm\\:max-w-md{max-width:28rem}.sm\\:max-w-lg{max-width:32rem}.sm\\:max-w-xl{max-width:36rem}.sm\\:max-w-2xl{max-width:42rem}.sm\\:max-w-3xl{max-width:48rem}.sm\\:max-w-4xl{max-width:56rem}.sm\\:max-w-5xl{max-width:64rem}.sm\\:max-w-6xl{max-width:72rem}.sm\\:max-w-7xl{max-width:80rem}.sm\\:max-w-full{max-width:100%}.sm\\:max-w-min{max-width:min-content}.sm\\:max-w-max{max-width:max-content}.sm\\:max-w-prose{max-width:65ch}.sm\\:max-w-screen-sm{max-width:640px}.sm\\:max-w-screen-md{max-width:768px}.sm\\:max-w-screen-lg{max-width:1024px}.sm\\:max-w-screen-xl{max-width:1280px}.sm\\:max-w-screen-2xl{max-width:1536px}.sm\\:flex-1{flex:1 1 0%}.sm\\:flex-auto{flex:1 1 auto}.sm\\:flex-initial{flex:0 1 auto}.sm\\:flex-none{flex:none}.sm\\:flex-shrink-0{flex-shrink:0}.sm\\:flex-shrink{flex-shrink:1}.sm\\:flex-grow-0{flex-grow:0}.sm\\:flex-grow{flex-grow:1}.sm\\:table-auto{table-layout:auto}.sm\\:table-fixed{table-layout:fixed}.sm\\:border-collapse{border-collapse:collapse}.sm\\:border-separate{border-collapse:separate}.sm\\:origin-center{transform-origin:center}.sm\\:origin-top{transform-origin:top}.sm\\:origin-top-right{transform-origin:top right}.sm\\:origin-right{transform-origin:right}.sm\\:origin-bottom-right{transform-origin:bottom right}.sm\\:origin-bottom{transform-origin:bottom}.sm\\:origin-bottom-left{transform-origin:bottom left}.sm\\:origin-left{transform-origin:left}.sm\\:origin-top-left{transform-origin:top left}.sm\\:transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.sm\\:transform-gpu{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translate3d(var(--tw-translate-x), var(--tw-translate-y), 0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.sm\\:transform-none{transform:none}.sm\\:translate-x-0{--tw-translate-x:0px}.sm\\:translate-x-1{--tw-translate-x:0.25rem}.sm\\:translate-x-2{--tw-translate-x:0.5rem}.sm\\:translate-x-3{--tw-translate-x:0.75rem}.sm\\:translate-x-4{--tw-translate-x:1rem}.sm\\:translate-x-5{--tw-translate-x:1.25rem}.sm\\:translate-x-6{--tw-translate-x:1.5rem}.sm\\:translate-x-7{--tw-translate-x:1.75rem}.sm\\:translate-x-8{--tw-translate-x:2rem}.sm\\:translate-x-9{--tw-translate-x:2.25rem}.sm\\:translate-x-10{--tw-translate-x:2.5rem}.sm\\:translate-x-11{--tw-translate-x:2.75rem}.sm\\:translate-x-12{--tw-translate-x:3rem}.sm\\:translate-x-14{--tw-translate-x:3.5rem}.sm\\:translate-x-16{--tw-translate-x:4rem}.sm\\:translate-x-20{--tw-translate-x:5rem}.sm\\:translate-x-24{--tw-translate-x:6rem}.sm\\:translate-x-28{--tw-translate-x:7rem}.sm\\:translate-x-32{--tw-translate-x:8rem}.sm\\:translate-x-36{--tw-translate-x:9rem}.sm\\:translate-x-40{--tw-translate-x:10rem}.sm\\:translate-x-44{--tw-translate-x:11rem}.sm\\:translate-x-48{--tw-translate-x:12rem}.sm\\:translate-x-52{--tw-translate-x:13rem}.sm\\:translate-x-56{--tw-translate-x:14rem}.sm\\:translate-x-60{--tw-translate-x:15rem}.sm\\:translate-x-64{--tw-translate-x:16rem}.sm\\:translate-x-72{--tw-translate-x:18rem}.sm\\:translate-x-80{--tw-translate-x:20rem}.sm\\:translate-x-96{--tw-translate-x:24rem}.sm\\:translate-x-px{--tw-translate-x:1px}.sm\\:translate-x-0\\.5{--tw-translate-x:0.125rem}.sm\\:translate-x-1\\.5{--tw-translate-x:0.375rem}.sm\\:translate-x-2\\.5{--tw-translate-x:0.625rem}.sm\\:translate-x-3\\.5{--tw-translate-x:0.875rem}.sm\\:-translate-x-0{--tw-translate-x:0px}.sm\\:-translate-x-1{--tw-translate-x:-0.25rem}.sm\\:-translate-x-2{--tw-translate-x:-0.5rem}.sm\\:-translate-x-3{--tw-translate-x:-0.75rem}.sm\\:-translate-x-4{--tw-translate-x:-1rem}.sm\\:-translate-x-5{--tw-translate-x:-1.25rem}.sm\\:-translate-x-6{--tw-translate-x:-1.5rem}.sm\\:-translate-x-7{--tw-translate-x:-1.75rem}.sm\\:-translate-x-8{--tw-translate-x:-2rem}.sm\\:-translate-x-9{--tw-translate-x:-2.25rem}.sm\\:-translate-x-10{--tw-translate-x:-2.5rem}.sm\\:-translate-x-11{--tw-translate-x:-2.75rem}.sm\\:-translate-x-12{--tw-translate-x:-3rem}.sm\\:-translate-x-14{--tw-translate-x:-3.5rem}.sm\\:-translate-x-16{--tw-translate-x:-4rem}.sm\\:-translate-x-20{--tw-translate-x:-5rem}.sm\\:-translate-x-24{--tw-translate-x:-6rem}.sm\\:-translate-x-28{--tw-translate-x:-7rem}.sm\\:-translate-x-32{--tw-translate-x:-8rem}.sm\\:-translate-x-36{--tw-translate-x:-9rem}.sm\\:-translate-x-40{--tw-translate-x:-10rem}.sm\\:-translate-x-44{--tw-translate-x:-11rem}.sm\\:-translate-x-48{--tw-translate-x:-12rem}.sm\\:-translate-x-52{--tw-translate-x:-13rem}.sm\\:-translate-x-56{--tw-translate-x:-14rem}.sm\\:-translate-x-60{--tw-translate-x:-15rem}.sm\\:-translate-x-64{--tw-translate-x:-16rem}.sm\\:-translate-x-72{--tw-translate-x:-18rem}.sm\\:-translate-x-80{--tw-translate-x:-20rem}.sm\\:-translate-x-96{--tw-translate-x:-24rem}.sm\\:-translate-x-px{--tw-translate-x:-1px}.sm\\:-translate-x-0\\.5{--tw-translate-x:-0.125rem}.sm\\:-translate-x-1\\.5{--tw-translate-x:-0.375rem}.sm\\:-translate-x-2\\.5{--tw-translate-x:-0.625rem}.sm\\:-translate-x-3\\.5{--tw-translate-x:-0.875rem}.sm\\:translate-x-1\\/2{--tw-translate-x:50%}.sm\\:translate-x-1\\/3{--tw-translate-x:33.333333%}.sm\\:translate-x-2\\/3{--tw-translate-x:66.666667%}.sm\\:translate-x-1\\/4{--tw-translate-x:25%}.sm\\:translate-x-2\\/4{--tw-translate-x:50%}.sm\\:translate-x-3\\/4{--tw-translate-x:75%}.sm\\:translate-x-full{--tw-translate-x:100%}.sm\\:-translate-x-1\\/2{--tw-translate-x:-50%}.sm\\:-translate-x-1\\/3{--tw-translate-x:-33.333333%}.sm\\:-translate-x-2\\/3{--tw-translate-x:-66.666667%}.sm\\:-translate-x-1\\/4{--tw-translate-x:-25%}.sm\\:-translate-x-2\\/4{--tw-translate-x:-50%}.sm\\:-translate-x-3\\/4{--tw-translate-x:-75%}.sm\\:-translate-x-full{--tw-translate-x:-100%}.sm\\:translate-y-0{--tw-translate-y:0px}.sm\\:translate-y-1{--tw-translate-y:0.25rem}.sm\\:translate-y-2{--tw-translate-y:0.5rem}.sm\\:translate-y-3{--tw-translate-y:0.75rem}.sm\\:translate-y-4{--tw-translate-y:1rem}.sm\\:translate-y-5{--tw-translate-y:1.25rem}.sm\\:translate-y-6{--tw-translate-y:1.5rem}.sm\\:translate-y-7{--tw-translate-y:1.75rem}.sm\\:translate-y-8{--tw-translate-y:2rem}.sm\\:translate-y-9{--tw-translate-y:2.25rem}.sm\\:translate-y-10{--tw-translate-y:2.5rem}.sm\\:translate-y-11{--tw-translate-y:2.75rem}.sm\\:translate-y-12{--tw-translate-y:3rem}.sm\\:translate-y-14{--tw-translate-y:3.5rem}.sm\\:translate-y-16{--tw-translate-y:4rem}.sm\\:translate-y-20{--tw-translate-y:5rem}.sm\\:translate-y-24{--tw-translate-y:6rem}.sm\\:translate-y-28{--tw-translate-y:7rem}.sm\\:translate-y-32{--tw-translate-y:8rem}.sm\\:translate-y-36{--tw-translate-y:9rem}.sm\\:translate-y-40{--tw-translate-y:10rem}.sm\\:translate-y-44{--tw-translate-y:11rem}.sm\\:translate-y-48{--tw-translate-y:12rem}.sm\\:translate-y-52{--tw-translate-y:13rem}.sm\\:translate-y-56{--tw-translate-y:14rem}.sm\\:translate-y-60{--tw-translate-y:15rem}.sm\\:translate-y-64{--tw-translate-y:16rem}.sm\\:translate-y-72{--tw-translate-y:18rem}.sm\\:translate-y-80{--tw-translate-y:20rem}.sm\\:translate-y-96{--tw-translate-y:24rem}.sm\\:translate-y-px{--tw-translate-y:1px}.sm\\:translate-y-0\\.5{--tw-translate-y:0.125rem}.sm\\:translate-y-1\\.5{--tw-translate-y:0.375rem}.sm\\:translate-y-2\\.5{--tw-translate-y:0.625rem}.sm\\:translate-y-3\\.5{--tw-translate-y:0.875rem}.sm\\:-translate-y-0{--tw-translate-y:0px}.sm\\:-translate-y-1{--tw-translate-y:-0.25rem}.sm\\:-translate-y-2{--tw-translate-y:-0.5rem}.sm\\:-translate-y-3{--tw-translate-y:-0.75rem}.sm\\:-translate-y-4{--tw-translate-y:-1rem}.sm\\:-translate-y-5{--tw-translate-y:-1.25rem}.sm\\:-translate-y-6{--tw-translate-y:-1.5rem}.sm\\:-translate-y-7{--tw-translate-y:-1.75rem}.sm\\:-translate-y-8{--tw-translate-y:-2rem}.sm\\:-translate-y-9{--tw-translate-y:-2.25rem}.sm\\:-translate-y-10{--tw-translate-y:-2.5rem}.sm\\:-translate-y-11{--tw-translate-y:-2.75rem}.sm\\:-translate-y-12{--tw-translate-y:-3rem}.sm\\:-translate-y-14{--tw-translate-y:-3.5rem}.sm\\:-translate-y-16{--tw-translate-y:-4rem}.sm\\:-translate-y-20{--tw-translate-y:-5rem}.sm\\:-translate-y-24{--tw-translate-y:-6rem}.sm\\:-translate-y-28{--tw-translate-y:-7rem}.sm\\:-translate-y-32{--tw-translate-y:-8rem}.sm\\:-translate-y-36{--tw-translate-y:-9rem}.sm\\:-translate-y-40{--tw-translate-y:-10rem}.sm\\:-translate-y-44{--tw-translate-y:-11rem}.sm\\:-translate-y-48{--tw-translate-y:-12rem}.sm\\:-translate-y-52{--tw-translate-y:-13rem}.sm\\:-translate-y-56{--tw-translate-y:-14rem}.sm\\:-translate-y-60{--tw-translate-y:-15rem}.sm\\:-translate-y-64{--tw-translate-y:-16rem}.sm\\:-translate-y-72{--tw-translate-y:-18rem}.sm\\:-translate-y-80{--tw-translate-y:-20rem}.sm\\:-translate-y-96{--tw-translate-y:-24rem}.sm\\:-translate-y-px{--tw-translate-y:-1px}.sm\\:-translate-y-0\\.5{--tw-translate-y:-0.125rem}.sm\\:-translate-y-1\\.5{--tw-translate-y:-0.375rem}.sm\\:-translate-y-2\\.5{--tw-translate-y:-0.625rem}.sm\\:-translate-y-3\\.5{--tw-translate-y:-0.875rem}.sm\\:translate-y-1\\/2{--tw-translate-y:50%}.sm\\:translate-y-1\\/3{--tw-translate-y:33.333333%}.sm\\:translate-y-2\\/3{--tw-translate-y:66.666667%}.sm\\:translate-y-1\\/4{--tw-translate-y:25%}.sm\\:translate-y-2\\/4{--tw-translate-y:50%}.sm\\:translate-y-3\\/4{--tw-translate-y:75%}.sm\\:translate-y-full{--tw-translate-y:100%}.sm\\:-translate-y-1\\/2{--tw-translate-y:-50%}.sm\\:-translate-y-1\\/3{--tw-translate-y:-33.333333%}.sm\\:-translate-y-2\\/3{--tw-translate-y:-66.666667%}.sm\\:-translate-y-1\\/4{--tw-translate-y:-25%}.sm\\:-translate-y-2\\/4{--tw-translate-y:-50%}.sm\\:-translate-y-3\\/4{--tw-translate-y:-75%}.sm\\:-translate-y-full{--tw-translate-y:-100%}.sm\\:hover\\:translate-x-0:hover{--tw-translate-x:0px}.sm\\:hover\\:translate-x-1:hover{--tw-translate-x:0.25rem}.sm\\:hover\\:translate-x-2:hover{--tw-translate-x:0.5rem}.sm\\:hover\\:translate-x-3:hover{--tw-translate-x:0.75rem}.sm\\:hover\\:translate-x-4:hover{--tw-translate-x:1rem}.sm\\:hover\\:translate-x-5:hover{--tw-translate-x:1.25rem}.sm\\:hover\\:translate-x-6:hover{--tw-translate-x:1.5rem}.sm\\:hover\\:translate-x-7:hover{--tw-translate-x:1.75rem}.sm\\:hover\\:translate-x-8:hover{--tw-translate-x:2rem}.sm\\:hover\\:translate-x-9:hover{--tw-translate-x:2.25rem}.sm\\:hover\\:translate-x-10:hover{--tw-translate-x:2.5rem}.sm\\:hover\\:translate-x-11:hover{--tw-translate-x:2.75rem}.sm\\:hover\\:translate-x-12:hover{--tw-translate-x:3rem}.sm\\:hover\\:translate-x-14:hover{--tw-translate-x:3.5rem}.sm\\:hover\\:translate-x-16:hover{--tw-translate-x:4rem}.sm\\:hover\\:translate-x-20:hover{--tw-translate-x:5rem}.sm\\:hover\\:translate-x-24:hover{--tw-translate-x:6rem}.sm\\:hover\\:translate-x-28:hover{--tw-translate-x:7rem}.sm\\:hover\\:translate-x-32:hover{--tw-translate-x:8rem}.sm\\:hover\\:translate-x-36:hover{--tw-translate-x:9rem}.sm\\:hover\\:translate-x-40:hover{--tw-translate-x:10rem}.sm\\:hover\\:translate-x-44:hover{--tw-translate-x:11rem}.sm\\:hover\\:translate-x-48:hover{--tw-translate-x:12rem}.sm\\:hover\\:translate-x-52:hover{--tw-translate-x:13rem}.sm\\:hover\\:translate-x-56:hover{--tw-translate-x:14rem}.sm\\:hover\\:translate-x-60:hover{--tw-translate-x:15rem}.sm\\:hover\\:translate-x-64:hover{--tw-translate-x:16rem}.sm\\:hover\\:translate-x-72:hover{--tw-translate-x:18rem}.sm\\:hover\\:translate-x-80:hover{--tw-translate-x:20rem}.sm\\:hover\\:translate-x-96:hover{--tw-translate-x:24rem}.sm\\:hover\\:translate-x-px:hover{--tw-translate-x:1px}.sm\\:hover\\:translate-x-0\\.5:hover{--tw-translate-x:0.125rem}.sm\\:hover\\:translate-x-1\\.5:hover{--tw-translate-x:0.375rem}.sm\\:hover\\:translate-x-2\\.5:hover{--tw-translate-x:0.625rem}.sm\\:hover\\:translate-x-3\\.5:hover{--tw-translate-x:0.875rem}.sm\\:hover\\:-translate-x-0:hover{--tw-translate-x:0px}.sm\\:hover\\:-translate-x-1:hover{--tw-translate-x:-0.25rem}.sm\\:hover\\:-translate-x-2:hover{--tw-translate-x:-0.5rem}.sm\\:hover\\:-translate-x-3:hover{--tw-translate-x:-0.75rem}.sm\\:hover\\:-translate-x-4:hover{--tw-translate-x:-1rem}.sm\\:hover\\:-translate-x-5:hover{--tw-translate-x:-1.25rem}.sm\\:hover\\:-translate-x-6:hover{--tw-translate-x:-1.5rem}.sm\\:hover\\:-translate-x-7:hover{--tw-translate-x:-1.75rem}.sm\\:hover\\:-translate-x-8:hover{--tw-translate-x:-2rem}.sm\\:hover\\:-translate-x-9:hover{--tw-translate-x:-2.25rem}.sm\\:hover\\:-translate-x-10:hover{--tw-translate-x:-2.5rem}.sm\\:hover\\:-translate-x-11:hover{--tw-translate-x:-2.75rem}.sm\\:hover\\:-translate-x-12:hover{--tw-translate-x:-3rem}.sm\\:hover\\:-translate-x-14:hover{--tw-translate-x:-3.5rem}.sm\\:hover\\:-translate-x-16:hover{--tw-translate-x:-4rem}.sm\\:hover\\:-translate-x-20:hover{--tw-translate-x:-5rem}.sm\\:hover\\:-translate-x-24:hover{--tw-translate-x:-6rem}.sm\\:hover\\:-translate-x-28:hover{--tw-translate-x:-7rem}.sm\\:hover\\:-translate-x-32:hover{--tw-translate-x:-8rem}.sm\\:hover\\:-translate-x-36:hover{--tw-translate-x:-9rem}.sm\\:hover\\:-translate-x-40:hover{--tw-translate-x:-10rem}.sm\\:hover\\:-translate-x-44:hover{--tw-translate-x:-11rem}.sm\\:hover\\:-translate-x-48:hover{--tw-translate-x:-12rem}.sm\\:hover\\:-translate-x-52:hover{--tw-translate-x:-13rem}.sm\\:hover\\:-translate-x-56:hover{--tw-translate-x:-14rem}.sm\\:hover\\:-translate-x-60:hover{--tw-translate-x:-15rem}.sm\\:hover\\:-translate-x-64:hover{--tw-translate-x:-16rem}.sm\\:hover\\:-translate-x-72:hover{--tw-translate-x:-18rem}.sm\\:hover\\:-translate-x-80:hover{--tw-translate-x:-20rem}.sm\\:hover\\:-translate-x-96:hover{--tw-translate-x:-24rem}.sm\\:hover\\:-translate-x-px:hover{--tw-translate-x:-1px}.sm\\:hover\\:-translate-x-0\\.5:hover{--tw-translate-x:-0.125rem}.sm\\:hover\\:-translate-x-1\\.5:hover{--tw-translate-x:-0.375rem}.sm\\:hover\\:-translate-x-2\\.5:hover{--tw-translate-x:-0.625rem}.sm\\:hover\\:-translate-x-3\\.5:hover{--tw-translate-x:-0.875rem}.sm\\:hover\\:translate-x-1\\/2:hover{--tw-translate-x:50%}.sm\\:hover\\:translate-x-1\\/3:hover{--tw-translate-x:33.333333%}.sm\\:hover\\:translate-x-2\\/3:hover{--tw-translate-x:66.666667%}.sm\\:hover\\:translate-x-1\\/4:hover{--tw-translate-x:25%}.sm\\:hover\\:translate-x-2\\/4:hover{--tw-translate-x:50%}.sm\\:hover\\:translate-x-3\\/4:hover{--tw-translate-x:75%}.sm\\:hover\\:translate-x-full:hover{--tw-translate-x:100%}.sm\\:hover\\:-translate-x-1\\/2:hover{--tw-translate-x:-50%}.sm\\:hover\\:-translate-x-1\\/3:hover{--tw-translate-x:-33.333333%}.sm\\:hover\\:-translate-x-2\\/3:hover{--tw-translate-x:-66.666667%}.sm\\:hover\\:-translate-x-1\\/4:hover{--tw-translate-x:-25%}.sm\\:hover\\:-translate-x-2\\/4:hover{--tw-translate-x:-50%}.sm\\:hover\\:-translate-x-3\\/4:hover{--tw-translate-x:-75%}.sm\\:hover\\:-translate-x-full:hover{--tw-translate-x:-100%}.sm\\:hover\\:translate-y-0:hover{--tw-translate-y:0px}.sm\\:hover\\:translate-y-1:hover{--tw-translate-y:0.25rem}.sm\\:hover\\:translate-y-2:hover{--tw-translate-y:0.5rem}.sm\\:hover\\:translate-y-3:hover{--tw-translate-y:0.75rem}.sm\\:hover\\:translate-y-4:hover{--tw-translate-y:1rem}.sm\\:hover\\:translate-y-5:hover{--tw-translate-y:1.25rem}.sm\\:hover\\:translate-y-6:hover{--tw-translate-y:1.5rem}.sm\\:hover\\:translate-y-7:hover{--tw-translate-y:1.75rem}.sm\\:hover\\:translate-y-8:hover{--tw-translate-y:2rem}.sm\\:hover\\:translate-y-9:hover{--tw-translate-y:2.25rem}.sm\\:hover\\:translate-y-10:hover{--tw-translate-y:2.5rem}.sm\\:hover\\:translate-y-11:hover{--tw-translate-y:2.75rem}.sm\\:hover\\:translate-y-12:hover{--tw-translate-y:3rem}.sm\\:hover\\:translate-y-14:hover{--tw-translate-y:3.5rem}.sm\\:hover\\:translate-y-16:hover{--tw-translate-y:4rem}.sm\\:hover\\:translate-y-20:hover{--tw-translate-y:5rem}.sm\\:hover\\:translate-y-24:hover{--tw-translate-y:6rem}.sm\\:hover\\:translate-y-28:hover{--tw-translate-y:7rem}.sm\\:hover\\:translate-y-32:hover{--tw-translate-y:8rem}.sm\\:hover\\:translate-y-36:hover{--tw-translate-y:9rem}.sm\\:hover\\:translate-y-40:hover{--tw-translate-y:10rem}.sm\\:hover\\:translate-y-44:hover{--tw-translate-y:11rem}.sm\\:hover\\:translate-y-48:hover{--tw-translate-y:12rem}.sm\\:hover\\:translate-y-52:hover{--tw-translate-y:13rem}.sm\\:hover\\:translate-y-56:hover{--tw-translate-y:14rem}.sm\\:hover\\:translate-y-60:hover{--tw-translate-y:15rem}.sm\\:hover\\:translate-y-64:hover{--tw-translate-y:16rem}.sm\\:hover\\:translate-y-72:hover{--tw-translate-y:18rem}.sm\\:hover\\:translate-y-80:hover{--tw-translate-y:20rem}.sm\\:hover\\:translate-y-96:hover{--tw-translate-y:24rem}.sm\\:hover\\:translate-y-px:hover{--tw-translate-y:1px}.sm\\:hover\\:translate-y-0\\.5:hover{--tw-translate-y:0.125rem}.sm\\:hover\\:translate-y-1\\.5:hover{--tw-translate-y:0.375rem}.sm\\:hover\\:translate-y-2\\.5:hover{--tw-translate-y:0.625rem}.sm\\:hover\\:translate-y-3\\.5:hover{--tw-translate-y:0.875rem}.sm\\:hover\\:-translate-y-0:hover{--tw-translate-y:0px}.sm\\:hover\\:-translate-y-1:hover{--tw-translate-y:-0.25rem}.sm\\:hover\\:-translate-y-2:hover{--tw-translate-y:-0.5rem}.sm\\:hover\\:-translate-y-3:hover{--tw-translate-y:-0.75rem}.sm\\:hover\\:-translate-y-4:hover{--tw-translate-y:-1rem}.sm\\:hover\\:-translate-y-5:hover{--tw-translate-y:-1.25rem}.sm\\:hover\\:-translate-y-6:hover{--tw-translate-y:-1.5rem}.sm\\:hover\\:-translate-y-7:hover{--tw-translate-y:-1.75rem}.sm\\:hover\\:-translate-y-8:hover{--tw-translate-y:-2rem}.sm\\:hover\\:-translate-y-9:hover{--tw-translate-y:-2.25rem}.sm\\:hover\\:-translate-y-10:hover{--tw-translate-y:-2.5rem}.sm\\:hover\\:-translate-y-11:hover{--tw-translate-y:-2.75rem}.sm\\:hover\\:-translate-y-12:hover{--tw-translate-y:-3rem}.sm\\:hover\\:-translate-y-14:hover{--tw-translate-y:-3.5rem}.sm\\:hover\\:-translate-y-16:hover{--tw-translate-y:-4rem}.sm\\:hover\\:-translate-y-20:hover{--tw-translate-y:-5rem}.sm\\:hover\\:-translate-y-24:hover{--tw-translate-y:-6rem}.sm\\:hover\\:-translate-y-28:hover{--tw-translate-y:-7rem}.sm\\:hover\\:-translate-y-32:hover{--tw-translate-y:-8rem}.sm\\:hover\\:-translate-y-36:hover{--tw-translate-y:-9rem}.sm\\:hover\\:-translate-y-40:hover{--tw-translate-y:-10rem}.sm\\:hover\\:-translate-y-44:hover{--tw-translate-y:-11rem}.sm\\:hover\\:-translate-y-48:hover{--tw-translate-y:-12rem}.sm\\:hover\\:-translate-y-52:hover{--tw-translate-y:-13rem}.sm\\:hover\\:-translate-y-56:hover{--tw-translate-y:-14rem}.sm\\:hover\\:-translate-y-60:hover{--tw-translate-y:-15rem}.sm\\:hover\\:-translate-y-64:hover{--tw-translate-y:-16rem}.sm\\:hover\\:-translate-y-72:hover{--tw-translate-y:-18rem}.sm\\:hover\\:-translate-y-80:hover{--tw-translate-y:-20rem}.sm\\:hover\\:-translate-y-96:hover{--tw-translate-y:-24rem}.sm\\:hover\\:-translate-y-px:hover{--tw-translate-y:-1px}.sm\\:hover\\:-translate-y-0\\.5:hover{--tw-translate-y:-0.125rem}.sm\\:hover\\:-translate-y-1\\.5:hover{--tw-translate-y:-0.375rem}.sm\\:hover\\:-translate-y-2\\.5:hover{--tw-translate-y:-0.625rem}.sm\\:hover\\:-translate-y-3\\.5:hover{--tw-translate-y:-0.875rem}.sm\\:hover\\:translate-y-1\\/2:hover{--tw-translate-y:50%}.sm\\:hover\\:translate-y-1\\/3:hover{--tw-translate-y:33.333333%}.sm\\:hover\\:translate-y-2\\/3:hover{--tw-translate-y:66.666667%}.sm\\:hover\\:translate-y-1\\/4:hover{--tw-translate-y:25%}.sm\\:hover\\:translate-y-2\\/4:hover{--tw-translate-y:50%}.sm\\:hover\\:translate-y-3\\/4:hover{--tw-translate-y:75%}.sm\\:hover\\:translate-y-full:hover{--tw-translate-y:100%}.sm\\:hover\\:-translate-y-1\\/2:hover{--tw-translate-y:-50%}.sm\\:hover\\:-translate-y-1\\/3:hover{--tw-translate-y:-33.333333%}.sm\\:hover\\:-translate-y-2\\/3:hover{--tw-translate-y:-66.666667%}.sm\\:hover\\:-translate-y-1\\/4:hover{--tw-translate-y:-25%}.sm\\:hover\\:-translate-y-2\\/4:hover{--tw-translate-y:-50%}.sm\\:hover\\:-translate-y-3\\/4:hover{--tw-translate-y:-75%}.sm\\:hover\\:-translate-y-full:hover{--tw-translate-y:-100%}.sm\\:focus\\:translate-x-0:focus{--tw-translate-x:0px}.sm\\:focus\\:translate-x-1:focus{--tw-translate-x:0.25rem}.sm\\:focus\\:translate-x-2:focus{--tw-translate-x:0.5rem}.sm\\:focus\\:translate-x-3:focus{--tw-translate-x:0.75rem}.sm\\:focus\\:translate-x-4:focus{--tw-translate-x:1rem}.sm\\:focus\\:translate-x-5:focus{--tw-translate-x:1.25rem}.sm\\:focus\\:translate-x-6:focus{--tw-translate-x:1.5rem}.sm\\:focus\\:translate-x-7:focus{--tw-translate-x:1.75rem}.sm\\:focus\\:translate-x-8:focus{--tw-translate-x:2rem}.sm\\:focus\\:translate-x-9:focus{--tw-translate-x:2.25rem}.sm\\:focus\\:translate-x-10:focus{--tw-translate-x:2.5rem}.sm\\:focus\\:translate-x-11:focus{--tw-translate-x:2.75rem}.sm\\:focus\\:translate-x-12:focus{--tw-translate-x:3rem}.sm\\:focus\\:translate-x-14:focus{--tw-translate-x:3.5rem}.sm\\:focus\\:translate-x-16:focus{--tw-translate-x:4rem}.sm\\:focus\\:translate-x-20:focus{--tw-translate-x:5rem}.sm\\:focus\\:translate-x-24:focus{--tw-translate-x:6rem}.sm\\:focus\\:translate-x-28:focus{--tw-translate-x:7rem}.sm\\:focus\\:translate-x-32:focus{--tw-translate-x:8rem}.sm\\:focus\\:translate-x-36:focus{--tw-translate-x:9rem}.sm\\:focus\\:translate-x-40:focus{--tw-translate-x:10rem}.sm\\:focus\\:translate-x-44:focus{--tw-translate-x:11rem}.sm\\:focus\\:translate-x-48:focus{--tw-translate-x:12rem}.sm\\:focus\\:translate-x-52:focus{--tw-translate-x:13rem}.sm\\:focus\\:translate-x-56:focus{--tw-translate-x:14rem}.sm\\:focus\\:translate-x-60:focus{--tw-translate-x:15rem}.sm\\:focus\\:translate-x-64:focus{--tw-translate-x:16rem}.sm\\:focus\\:translate-x-72:focus{--tw-translate-x:18rem}.sm\\:focus\\:translate-x-80:focus{--tw-translate-x:20rem}.sm\\:focus\\:translate-x-96:focus{--tw-translate-x:24rem}.sm\\:focus\\:translate-x-px:focus{--tw-translate-x:1px}.sm\\:focus\\:translate-x-0\\.5:focus{--tw-translate-x:0.125rem}.sm\\:focus\\:translate-x-1\\.5:focus{--tw-translate-x:0.375rem}.sm\\:focus\\:translate-x-2\\.5:focus{--tw-translate-x:0.625rem}.sm\\:focus\\:translate-x-3\\.5:focus{--tw-translate-x:0.875rem}.sm\\:focus\\:-translate-x-0:focus{--tw-translate-x:0px}.sm\\:focus\\:-translate-x-1:focus{--tw-translate-x:-0.25rem}.sm\\:focus\\:-translate-x-2:focus{--tw-translate-x:-0.5rem}.sm\\:focus\\:-translate-x-3:focus{--tw-translate-x:-0.75rem}.sm\\:focus\\:-translate-x-4:focus{--tw-translate-x:-1rem}.sm\\:focus\\:-translate-x-5:focus{--tw-translate-x:-1.25rem}.sm\\:focus\\:-translate-x-6:focus{--tw-translate-x:-1.5rem}.sm\\:focus\\:-translate-x-7:focus{--tw-translate-x:-1.75rem}.sm\\:focus\\:-translate-x-8:focus{--tw-translate-x:-2rem}.sm\\:focus\\:-translate-x-9:focus{--tw-translate-x:-2.25rem}.sm\\:focus\\:-translate-x-10:focus{--tw-translate-x:-2.5rem}.sm\\:focus\\:-translate-x-11:focus{--tw-translate-x:-2.75rem}.sm\\:focus\\:-translate-x-12:focus{--tw-translate-x:-3rem}.sm\\:focus\\:-translate-x-14:focus{--tw-translate-x:-3.5rem}.sm\\:focus\\:-translate-x-16:focus{--tw-translate-x:-4rem}.sm\\:focus\\:-translate-x-20:focus{--tw-translate-x:-5rem}.sm\\:focus\\:-translate-x-24:focus{--tw-translate-x:-6rem}.sm\\:focus\\:-translate-x-28:focus{--tw-translate-x:-7rem}.sm\\:focus\\:-translate-x-32:focus{--tw-translate-x:-8rem}.sm\\:focus\\:-translate-x-36:focus{--tw-translate-x:-9rem}.sm\\:focus\\:-translate-x-40:focus{--tw-translate-x:-10rem}.sm\\:focus\\:-translate-x-44:focus{--tw-translate-x:-11rem}.sm\\:focus\\:-translate-x-48:focus{--tw-translate-x:-12rem}.sm\\:focus\\:-translate-x-52:focus{--tw-translate-x:-13rem}.sm\\:focus\\:-translate-x-56:focus{--tw-translate-x:-14rem}.sm\\:focus\\:-translate-x-60:focus{--tw-translate-x:-15rem}.sm\\:focus\\:-translate-x-64:focus{--tw-translate-x:-16rem}.sm\\:focus\\:-translate-x-72:focus{--tw-translate-x:-18rem}.sm\\:focus\\:-translate-x-80:focus{--tw-translate-x:-20rem}.sm\\:focus\\:-translate-x-96:focus{--tw-translate-x:-24rem}.sm\\:focus\\:-translate-x-px:focus{--tw-translate-x:-1px}.sm\\:focus\\:-translate-x-0\\.5:focus{--tw-translate-x:-0.125rem}.sm\\:focus\\:-translate-x-1\\.5:focus{--tw-translate-x:-0.375rem}.sm\\:focus\\:-translate-x-2\\.5:focus{--tw-translate-x:-0.625rem}.sm\\:focus\\:-translate-x-3\\.5:focus{--tw-translate-x:-0.875rem}.sm\\:focus\\:translate-x-1\\/2:focus{--tw-translate-x:50%}.sm\\:focus\\:translate-x-1\\/3:focus{--tw-translate-x:33.333333%}.sm\\:focus\\:translate-x-2\\/3:focus{--tw-translate-x:66.666667%}.sm\\:focus\\:translate-x-1\\/4:focus{--tw-translate-x:25%}.sm\\:focus\\:translate-x-2\\/4:focus{--tw-translate-x:50%}.sm\\:focus\\:translate-x-3\\/4:focus{--tw-translate-x:75%}.sm\\:focus\\:translate-x-full:focus{--tw-translate-x:100%}.sm\\:focus\\:-translate-x-1\\/2:focus{--tw-translate-x:-50%}.sm\\:focus\\:-translate-x-1\\/3:focus{--tw-translate-x:-33.333333%}.sm\\:focus\\:-translate-x-2\\/3:focus{--tw-translate-x:-66.666667%}.sm\\:focus\\:-translate-x-1\\/4:focus{--tw-translate-x:-25%}.sm\\:focus\\:-translate-x-2\\/4:focus{--tw-translate-x:-50%}.sm\\:focus\\:-translate-x-3\\/4:focus{--tw-translate-x:-75%}.sm\\:focus\\:-translate-x-full:focus{--tw-translate-x:-100%}.sm\\:focus\\:translate-y-0:focus{--tw-translate-y:0px}.sm\\:focus\\:translate-y-1:focus{--tw-translate-y:0.25rem}.sm\\:focus\\:translate-y-2:focus{--tw-translate-y:0.5rem}.sm\\:focus\\:translate-y-3:focus{--tw-translate-y:0.75rem}.sm\\:focus\\:translate-y-4:focus{--tw-translate-y:1rem}.sm\\:focus\\:translate-y-5:focus{--tw-translate-y:1.25rem}.sm\\:focus\\:translate-y-6:focus{--tw-translate-y:1.5rem}.sm\\:focus\\:translate-y-7:focus{--tw-translate-y:1.75rem}.sm\\:focus\\:translate-y-8:focus{--tw-translate-y:2rem}.sm\\:focus\\:translate-y-9:focus{--tw-translate-y:2.25rem}.sm\\:focus\\:translate-y-10:focus{--tw-translate-y:2.5rem}.sm\\:focus\\:translate-y-11:focus{--tw-translate-y:2.75rem}.sm\\:focus\\:translate-y-12:focus{--tw-translate-y:3rem}.sm\\:focus\\:translate-y-14:focus{--tw-translate-y:3.5rem}.sm\\:focus\\:translate-y-16:focus{--tw-translate-y:4rem}.sm\\:focus\\:translate-y-20:focus{--tw-translate-y:5rem}.sm\\:focus\\:translate-y-24:focus{--tw-translate-y:6rem}.sm\\:focus\\:translate-y-28:focus{--tw-translate-y:7rem}.sm\\:focus\\:translate-y-32:focus{--tw-translate-y:8rem}.sm\\:focus\\:translate-y-36:focus{--tw-translate-y:9rem}.sm\\:focus\\:translate-y-40:focus{--tw-translate-y:10rem}.sm\\:focus\\:translate-y-44:focus{--tw-translate-y:11rem}.sm\\:focus\\:translate-y-48:focus{--tw-translate-y:12rem}.sm\\:focus\\:translate-y-52:focus{--tw-translate-y:13rem}.sm\\:focus\\:translate-y-56:focus{--tw-translate-y:14rem}.sm\\:focus\\:translate-y-60:focus{--tw-translate-y:15rem}.sm\\:focus\\:translate-y-64:focus{--tw-translate-y:16rem}.sm\\:focus\\:translate-y-72:focus{--tw-translate-y:18rem}.sm\\:focus\\:translate-y-80:focus{--tw-translate-y:20rem}.sm\\:focus\\:translate-y-96:focus{--tw-translate-y:24rem}.sm\\:focus\\:translate-y-px:focus{--tw-translate-y:1px}.sm\\:focus\\:translate-y-0\\.5:focus{--tw-translate-y:0.125rem}.sm\\:focus\\:translate-y-1\\.5:focus{--tw-translate-y:0.375rem}.sm\\:focus\\:translate-y-2\\.5:focus{--tw-translate-y:0.625rem}.sm\\:focus\\:translate-y-3\\.5:focus{--tw-translate-y:0.875rem}.sm\\:focus\\:-translate-y-0:focus{--tw-translate-y:0px}.sm\\:focus\\:-translate-y-1:focus{--tw-translate-y:-0.25rem}.sm\\:focus\\:-translate-y-2:focus{--tw-translate-y:-0.5rem}.sm\\:focus\\:-translate-y-3:focus{--tw-translate-y:-0.75rem}.sm\\:focus\\:-translate-y-4:focus{--tw-translate-y:-1rem}.sm\\:focus\\:-translate-y-5:focus{--tw-translate-y:-1.25rem}.sm\\:focus\\:-translate-y-6:focus{--tw-translate-y:-1.5rem}.sm\\:focus\\:-translate-y-7:focus{--tw-translate-y:-1.75rem}.sm\\:focus\\:-translate-y-8:focus{--tw-translate-y:-2rem}.sm\\:focus\\:-translate-y-9:focus{--tw-translate-y:-2.25rem}.sm\\:focus\\:-translate-y-10:focus{--tw-translate-y:-2.5rem}.sm\\:focus\\:-translate-y-11:focus{--tw-translate-y:-2.75rem}.sm\\:focus\\:-translate-y-12:focus{--tw-translate-y:-3rem}.sm\\:focus\\:-translate-y-14:focus{--tw-translate-y:-3.5rem}.sm\\:focus\\:-translate-y-16:focus{--tw-translate-y:-4rem}.sm\\:focus\\:-translate-y-20:focus{--tw-translate-y:-5rem}.sm\\:focus\\:-translate-y-24:focus{--tw-translate-y:-6rem}.sm\\:focus\\:-translate-y-28:focus{--tw-translate-y:-7rem}.sm\\:focus\\:-translate-y-32:focus{--tw-translate-y:-8rem}.sm\\:focus\\:-translate-y-36:focus{--tw-translate-y:-9rem}.sm\\:focus\\:-translate-y-40:focus{--tw-translate-y:-10rem}.sm\\:focus\\:-translate-y-44:focus{--tw-translate-y:-11rem}.sm\\:focus\\:-translate-y-48:focus{--tw-translate-y:-12rem}.sm\\:focus\\:-translate-y-52:focus{--tw-translate-y:-13rem}.sm\\:focus\\:-translate-y-56:focus{--tw-translate-y:-14rem}.sm\\:focus\\:-translate-y-60:focus{--tw-translate-y:-15rem}.sm\\:focus\\:-translate-y-64:focus{--tw-translate-y:-16rem}.sm\\:focus\\:-translate-y-72:focus{--tw-translate-y:-18rem}.sm\\:focus\\:-translate-y-80:focus{--tw-translate-y:-20rem}.sm\\:focus\\:-translate-y-96:focus{--tw-translate-y:-24rem}.sm\\:focus\\:-translate-y-px:focus{--tw-translate-y:-1px}.sm\\:focus\\:-translate-y-0\\.5:focus{--tw-translate-y:-0.125rem}.sm\\:focus\\:-translate-y-1\\.5:focus{--tw-translate-y:-0.375rem}.sm\\:focus\\:-translate-y-2\\.5:focus{--tw-translate-y:-0.625rem}.sm\\:focus\\:-translate-y-3\\.5:focus{--tw-translate-y:-0.875rem}.sm\\:focus\\:translate-y-1\\/2:focus{--tw-translate-y:50%}.sm\\:focus\\:translate-y-1\\/3:focus{--tw-translate-y:33.333333%}.sm\\:focus\\:translate-y-2\\/3:focus{--tw-translate-y:66.666667%}.sm\\:focus\\:translate-y-1\\/4:focus{--tw-translate-y:25%}.sm\\:focus\\:translate-y-2\\/4:focus{--tw-translate-y:50%}.sm\\:focus\\:translate-y-3\\/4:focus{--tw-translate-y:75%}.sm\\:focus\\:translate-y-full:focus{--tw-translate-y:100%}.sm\\:focus\\:-translate-y-1\\/2:focus{--tw-translate-y:-50%}.sm\\:focus\\:-translate-y-1\\/3:focus{--tw-translate-y:-33.333333%}.sm\\:focus\\:-translate-y-2\\/3:focus{--tw-translate-y:-66.666667%}.sm\\:focus\\:-translate-y-1\\/4:focus{--tw-translate-y:-25%}.sm\\:focus\\:-translate-y-2\\/4:focus{--tw-translate-y:-50%}.sm\\:focus\\:-translate-y-3\\/4:focus{--tw-translate-y:-75%}.sm\\:focus\\:-translate-y-full:focus{--tw-translate-y:-100%}.sm\\:rotate-0{--tw-rotate:0deg}.sm\\:rotate-1{--tw-rotate:1deg}.sm\\:rotate-2{--tw-rotate:2deg}.sm\\:rotate-3{--tw-rotate:3deg}.sm\\:rotate-6{--tw-rotate:6deg}.sm\\:rotate-12{--tw-rotate:12deg}.sm\\:rotate-45{--tw-rotate:45deg}.sm\\:rotate-90{--tw-rotate:90deg}.sm\\:rotate-180{--tw-rotate:180deg}.sm\\:-rotate-180{--tw-rotate:-180deg}.sm\\:-rotate-90{--tw-rotate:-90deg}.sm\\:-rotate-45{--tw-rotate:-45deg}.sm\\:-rotate-12{--tw-rotate:-12deg}.sm\\:-rotate-6{--tw-rotate:-6deg}.sm\\:-rotate-3{--tw-rotate:-3deg}.sm\\:-rotate-2{--tw-rotate:-2deg}.sm\\:-rotate-1{--tw-rotate:-1deg}.sm\\:hover\\:rotate-0:hover{--tw-rotate:0deg}.sm\\:hover\\:rotate-1:hover{--tw-rotate:1deg}.sm\\:hover\\:rotate-2:hover{--tw-rotate:2deg}.sm\\:hover\\:rotate-3:hover{--tw-rotate:3deg}.sm\\:hover\\:rotate-6:hover{--tw-rotate:6deg}.sm\\:hover\\:rotate-12:hover{--tw-rotate:12deg}.sm\\:hover\\:rotate-45:hover{--tw-rotate:45deg}.sm\\:hover\\:rotate-90:hover{--tw-rotate:90deg}.sm\\:hover\\:rotate-180:hover{--tw-rotate:180deg}.sm\\:hover\\:-rotate-180:hover{--tw-rotate:-180deg}.sm\\:hover\\:-rotate-90:hover{--tw-rotate:-90deg}.sm\\:hover\\:-rotate-45:hover{--tw-rotate:-45deg}.sm\\:hover\\:-rotate-12:hover{--tw-rotate:-12deg}.sm\\:hover\\:-rotate-6:hover{--tw-rotate:-6deg}.sm\\:hover\\:-rotate-3:hover{--tw-rotate:-3deg}.sm\\:hover\\:-rotate-2:hover{--tw-rotate:-2deg}.sm\\:hover\\:-rotate-1:hover{--tw-rotate:-1deg}.sm\\:focus\\:rotate-0:focus{--tw-rotate:0deg}.sm\\:focus\\:rotate-1:focus{--tw-rotate:1deg}.sm\\:focus\\:rotate-2:focus{--tw-rotate:2deg}.sm\\:focus\\:rotate-3:focus{--tw-rotate:3deg}.sm\\:focus\\:rotate-6:focus{--tw-rotate:6deg}.sm\\:focus\\:rotate-12:focus{--tw-rotate:12deg}.sm\\:focus\\:rotate-45:focus{--tw-rotate:45deg}.sm\\:focus\\:rotate-90:focus{--tw-rotate:90deg}.sm\\:focus\\:rotate-180:focus{--tw-rotate:180deg}.sm\\:focus\\:-rotate-180:focus{--tw-rotate:-180deg}.sm\\:focus\\:-rotate-90:focus{--tw-rotate:-90deg}.sm\\:focus\\:-rotate-45:focus{--tw-rotate:-45deg}.sm\\:focus\\:-rotate-12:focus{--tw-rotate:-12deg}.sm\\:focus\\:-rotate-6:focus{--tw-rotate:-6deg}.sm\\:focus\\:-rotate-3:focus{--tw-rotate:-3deg}.sm\\:focus\\:-rotate-2:focus{--tw-rotate:-2deg}.sm\\:focus\\:-rotate-1:focus{--tw-rotate:-1deg}.sm\\:skew-x-0{--tw-skew-x:0deg}.sm\\:skew-x-1{--tw-skew-x:1deg}.sm\\:skew-x-2{--tw-skew-x:2deg}.sm\\:skew-x-3{--tw-skew-x:3deg}.sm\\:skew-x-6{--tw-skew-x:6deg}.sm\\:skew-x-12{--tw-skew-x:12deg}.sm\\:-skew-x-12{--tw-skew-x:-12deg}.sm\\:-skew-x-6{--tw-skew-x:-6deg}.sm\\:-skew-x-3{--tw-skew-x:-3deg}.sm\\:-skew-x-2{--tw-skew-x:-2deg}.sm\\:-skew-x-1{--tw-skew-x:-1deg}.sm\\:skew-y-0{--tw-skew-y:0deg}.sm\\:skew-y-1{--tw-skew-y:1deg}.sm\\:skew-y-2{--tw-skew-y:2deg}.sm\\:skew-y-3{--tw-skew-y:3deg}.sm\\:skew-y-6{--tw-skew-y:6deg}.sm\\:skew-y-12{--tw-skew-y:12deg}.sm\\:-skew-y-12{--tw-skew-y:-12deg}.sm\\:-skew-y-6{--tw-skew-y:-6deg}.sm\\:-skew-y-3{--tw-skew-y:-3deg}.sm\\:-skew-y-2{--tw-skew-y:-2deg}.sm\\:-skew-y-1{--tw-skew-y:-1deg}.sm\\:hover\\:skew-x-0:hover{--tw-skew-x:0deg}.sm\\:hover\\:skew-x-1:hover{--tw-skew-x:1deg}.sm\\:hover\\:skew-x-2:hover{--tw-skew-x:2deg}.sm\\:hover\\:skew-x-3:hover{--tw-skew-x:3deg}.sm\\:hover\\:skew-x-6:hover{--tw-skew-x:6deg}.sm\\:hover\\:skew-x-12:hover{--tw-skew-x:12deg}.sm\\:hover\\:-skew-x-12:hover{--tw-skew-x:-12deg}.sm\\:hover\\:-skew-x-6:hover{--tw-skew-x:-6deg}.sm\\:hover\\:-skew-x-3:hover{--tw-skew-x:-3deg}.sm\\:hover\\:-skew-x-2:hover{--tw-skew-x:-2deg}.sm\\:hover\\:-skew-x-1:hover{--tw-skew-x:-1deg}.sm\\:hover\\:skew-y-0:hover{--tw-skew-y:0deg}.sm\\:hover\\:skew-y-1:hover{--tw-skew-y:1deg}.sm\\:hover\\:skew-y-2:hover{--tw-skew-y:2deg}.sm\\:hover\\:skew-y-3:hover{--tw-skew-y:3deg}.sm\\:hover\\:skew-y-6:hover{--tw-skew-y:6deg}.sm\\:hover\\:skew-y-12:hover{--tw-skew-y:12deg}.sm\\:hover\\:-skew-y-12:hover{--tw-skew-y:-12deg}.sm\\:hover\\:-skew-y-6:hover{--tw-skew-y:-6deg}.sm\\:hover\\:-skew-y-3:hover{--tw-skew-y:-3deg}.sm\\:hover\\:-skew-y-2:hover{--tw-skew-y:-2deg}.sm\\:hover\\:-skew-y-1:hover{--tw-skew-y:-1deg}.sm\\:focus\\:skew-x-0:focus{--tw-skew-x:0deg}.sm\\:focus\\:skew-x-1:focus{--tw-skew-x:1deg}.sm\\:focus\\:skew-x-2:focus{--tw-skew-x:2deg}.sm\\:focus\\:skew-x-3:focus{--tw-skew-x:3deg}.sm\\:focus\\:skew-x-6:focus{--tw-skew-x:6deg}.sm\\:focus\\:skew-x-12:focus{--tw-skew-x:12deg}.sm\\:focus\\:-skew-x-12:focus{--tw-skew-x:-12deg}.sm\\:focus\\:-skew-x-6:focus{--tw-skew-x:-6deg}.sm\\:focus\\:-skew-x-3:focus{--tw-skew-x:-3deg}.sm\\:focus\\:-skew-x-2:focus{--tw-skew-x:-2deg}.sm\\:focus\\:-skew-x-1:focus{--tw-skew-x:-1deg}.sm\\:focus\\:skew-y-0:focus{--tw-skew-y:0deg}.sm\\:focus\\:skew-y-1:focus{--tw-skew-y:1deg}.sm\\:focus\\:skew-y-2:focus{--tw-skew-y:2deg}.sm\\:focus\\:skew-y-3:focus{--tw-skew-y:3deg}.sm\\:focus\\:skew-y-6:focus{--tw-skew-y:6deg}.sm\\:focus\\:skew-y-12:focus{--tw-skew-y:12deg}.sm\\:focus\\:-skew-y-12:focus{--tw-skew-y:-12deg}.sm\\:focus\\:-skew-y-6:focus{--tw-skew-y:-6deg}.sm\\:focus\\:-skew-y-3:focus{--tw-skew-y:-3deg}.sm\\:focus\\:-skew-y-2:focus{--tw-skew-y:-2deg}.sm\\:focus\\:-skew-y-1:focus{--tw-skew-y:-1deg}.sm\\:scale-0{--tw-scale-x:0;--tw-scale-y:0}.sm\\:scale-50{--tw-scale-x:.5;--tw-scale-y:.5}.sm\\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75}.sm\\:scale-90{--tw-scale-x:.9;--tw-scale-y:.9}.sm\\:scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.sm\\:scale-100{--tw-scale-x:1;--tw-scale-y:1}.sm\\:scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05}.sm\\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1}.sm\\:scale-125{--tw-scale-x:1.25;--tw-scale-y:1.25}.sm\\:scale-150{--tw-scale-x:1.5;--tw-scale-y:1.5}.sm\\:hover\\:scale-0:hover{--tw-scale-x:0;--tw-scale-y:0}.sm\\:hover\\:scale-50:hover{--tw-scale-x:.5;--tw-scale-y:.5}.sm\\:hover\\:scale-75:hover{--tw-scale-x:.75;--tw-scale-y:.75}.sm\\:hover\\:scale-90:hover{--tw-scale-x:.9;--tw-scale-y:.9}.sm\\:hover\\:scale-95:hover{--tw-scale-x:.95;--tw-scale-y:.95}.sm\\:hover\\:scale-100:hover{--tw-scale-x:1;--tw-scale-y:1}.sm\\:hover\\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.sm\\:hover\\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.sm\\:hover\\:scale-125:hover{--tw-scale-x:1.25;--tw-scale-y:1.25}.sm\\:hover\\:scale-150:hover{--tw-scale-x:1.5;--tw-scale-y:1.5}.sm\\:focus\\:scale-0:focus{--tw-scale-x:0;--tw-scale-y:0}.sm\\:focus\\:scale-50:focus{--tw-scale-x:.5;--tw-scale-y:.5}.sm\\:focus\\:scale-75:focus{--tw-scale-x:.75;--tw-scale-y:.75}.sm\\:focus\\:scale-90:focus{--tw-scale-x:.9;--tw-scale-y:.9}.sm\\:focus\\:scale-95:focus{--tw-scale-x:.95;--tw-scale-y:.95}.sm\\:focus\\:scale-100:focus{--tw-scale-x:1;--tw-scale-y:1}.sm\\:focus\\:scale-105:focus{--tw-scale-x:1.05;--tw-scale-y:1.05}.sm\\:focus\\:scale-110:focus{--tw-scale-x:1.1;--tw-scale-y:1.1}.sm\\:focus\\:scale-125:focus{--tw-scale-x:1.25;--tw-scale-y:1.25}.sm\\:focus\\:scale-150:focus{--tw-scale-x:1.5;--tw-scale-y:1.5}.sm\\:scale-x-0{--tw-scale-x:0}.sm\\:scale-x-50{--tw-scale-x:.5}.sm\\:scale-x-75{--tw-scale-x:.75}.sm\\:scale-x-90{--tw-scale-x:.9}.sm\\:scale-x-95{--tw-scale-x:.95}.sm\\:scale-x-100{--tw-scale-x:1}.sm\\:scale-x-105{--tw-scale-x:1.05}.sm\\:scale-x-110{--tw-scale-x:1.1}.sm\\:scale-x-125{--tw-scale-x:1.25}.sm\\:scale-x-150{--tw-scale-x:1.5}.sm\\:scale-y-0{--tw-scale-y:0}.sm\\:scale-y-50{--tw-scale-y:.5}.sm\\:scale-y-75{--tw-scale-y:.75}.sm\\:scale-y-90{--tw-scale-y:.9}.sm\\:scale-y-95{--tw-scale-y:.95}.sm\\:scale-y-100{--tw-scale-y:1}.sm\\:scale-y-105{--tw-scale-y:1.05}.sm\\:scale-y-110{--tw-scale-y:1.1}.sm\\:scale-y-125{--tw-scale-y:1.25}.sm\\:scale-y-150{--tw-scale-y:1.5}.sm\\:hover\\:scale-x-0:hover{--tw-scale-x:0}.sm\\:hover\\:scale-x-50:hover{--tw-scale-x:.5}.sm\\:hover\\:scale-x-75:hover{--tw-scale-x:.75}.sm\\:hover\\:scale-x-90:hover{--tw-scale-x:.9}.sm\\:hover\\:scale-x-95:hover{--tw-scale-x:.95}.sm\\:hover\\:scale-x-100:hover{--tw-scale-x:1}.sm\\:hover\\:scale-x-105:hover{--tw-scale-x:1.05}.sm\\:hover\\:scale-x-110:hover{--tw-scale-x:1.1}.sm\\:hover\\:scale-x-125:hover{--tw-scale-x:1.25}.sm\\:hover\\:scale-x-150:hover{--tw-scale-x:1.5}.sm\\:hover\\:scale-y-0:hover{--tw-scale-y:0}.sm\\:hover\\:scale-y-50:hover{--tw-scale-y:.5}.sm\\:hover\\:scale-y-75:hover{--tw-scale-y:.75}.sm\\:hover\\:scale-y-90:hover{--tw-scale-y:.9}.sm\\:hover\\:scale-y-95:hover{--tw-scale-y:.95}.sm\\:hover\\:scale-y-100:hover{--tw-scale-y:1}.sm\\:hover\\:scale-y-105:hover{--tw-scale-y:1.05}.sm\\:hover\\:scale-y-110:hover{--tw-scale-y:1.1}.sm\\:hover\\:scale-y-125:hover{--tw-scale-y:1.25}.sm\\:hover\\:scale-y-150:hover{--tw-scale-y:1.5}.sm\\:focus\\:scale-x-0:focus{--tw-scale-x:0}.sm\\:focus\\:scale-x-50:focus{--tw-scale-x:.5}.sm\\:focus\\:scale-x-75:focus{--tw-scale-x:.75}.sm\\:focus\\:scale-x-90:focus{--tw-scale-x:.9}.sm\\:focus\\:scale-x-95:focus{--tw-scale-x:.95}.sm\\:focus\\:scale-x-100:focus{--tw-scale-x:1}.sm\\:focus\\:scale-x-105:focus{--tw-scale-x:1.05}.sm\\:focus\\:scale-x-110:focus{--tw-scale-x:1.1}.sm\\:focus\\:scale-x-125:focus{--tw-scale-x:1.25}.sm\\:focus\\:scale-x-150:focus{--tw-scale-x:1.5}.sm\\:focus\\:scale-y-0:focus{--tw-scale-y:0}.sm\\:focus\\:scale-y-50:focus{--tw-scale-y:.5}.sm\\:focus\\:scale-y-75:focus{--tw-scale-y:.75}.sm\\:focus\\:scale-y-90:focus{--tw-scale-y:.9}.sm\\:focus\\:scale-y-95:focus{--tw-scale-y:.95}.sm\\:focus\\:scale-y-100:focus{--tw-scale-y:1}.sm\\:focus\\:scale-y-105:focus{--tw-scale-y:1.05}.sm\\:focus\\:scale-y-110:focus{--tw-scale-y:1.1}.sm\\:focus\\:scale-y-125:focus{--tw-scale-y:1.25}.sm\\:focus\\:scale-y-150:focus{--tw-scale-y:1.5}.sm\\:animate-none{animation:none}.sm\\:animate-spin{animation:spin 1s linear infinite}.sm\\:animate-ping{animation:ping 1s cubic-bezier(0, 0, 0.2, 1) infinite}.sm\\:animate-pulse{animation:pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite}.sm\\:animate-bounce{animation:bounce 1s infinite}.sm\\:cursor-auto{cursor:auto}.sm\\:cursor-default{cursor:default}.sm\\:cursor-pointer{cursor:pointer}.sm\\:cursor-wait{cursor:wait}.sm\\:cursor-text{cursor:text}.sm\\:cursor-move{cursor:move}.sm\\:cursor-help{cursor:help}.sm\\:cursor-not-allowed{cursor:not-allowed}.sm\\:select-none{-webkit-user-select:none;user-select:none}.sm\\:select-text{-webkit-user-select:text;user-select:text}.sm\\:select-all{-webkit-user-select:all;user-select:all}.sm\\:select-auto{-webkit-user-select:auto;user-select:auto}.sm\\:resize-none{resize:none}.sm\\:resize-y{resize:vertical}.sm\\:resize-x{resize:horizontal}.sm\\:resize{resize:both}.sm\\:list-inside{list-style-position:inside}.sm\\:list-outside{list-style-position:outside}.sm\\:list-none{list-style-type:none}.sm\\:list-disc{list-style-type:disc}.sm\\:list-decimal{list-style-type:decimal}.sm\\:appearance-none{appearance:none}.sm\\:auto-cols-auto{grid-auto-columns:auto}.sm\\:auto-cols-min{grid-auto-columns:min-content}.sm\\:auto-cols-max{grid-auto-columns:max-content}.sm\\:auto-cols-fr{grid-auto-columns:minmax(0, 1fr)}.sm\\:grid-flow-row{grid-auto-flow:row}.sm\\:grid-flow-col{grid-auto-flow:column}.sm\\:grid-flow-row-dense{grid-auto-flow:row dense}.sm\\:grid-flow-col-dense{grid-auto-flow:column dense}.sm\\:auto-rows-auto{grid-auto-rows:auto}.sm\\:auto-rows-min{grid-auto-rows:min-content}.sm\\:auto-rows-max{grid-auto-rows:max-content}.sm\\:auto-rows-fr{grid-auto-rows:minmax(0, 1fr)}.sm\\:grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}.sm\\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.sm\\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.sm\\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}.sm\\:grid-cols-5{grid-template-columns:repeat(5, minmax(0, 1fr))}.sm\\:grid-cols-6{grid-template-columns:repeat(6, minmax(0, 1fr))}.sm\\:grid-cols-7{grid-template-columns:repeat(7, minmax(0, 1fr))}.sm\\:grid-cols-8{grid-template-columns:repeat(8, minmax(0, 1fr))}.sm\\:grid-cols-9{grid-template-columns:repeat(9, minmax(0, 1fr))}.sm\\:grid-cols-10{grid-template-columns:repeat(10, minmax(0, 1fr))}.sm\\:grid-cols-11{grid-template-columns:repeat(11, minmax(0, 1fr))}.sm\\:grid-cols-12{grid-template-columns:repeat(12, minmax(0, 1fr))}.sm\\:grid-cols-none{grid-template-columns:none}.sm\\:grid-rows-1{grid-template-rows:repeat(1, minmax(0, 1fr))}.sm\\:grid-rows-2{grid-template-rows:repeat(2, minmax(0, 1fr))}.sm\\:grid-rows-3{grid-template-rows:repeat(3, minmax(0, 1fr))}.sm\\:grid-rows-4{grid-template-rows:repeat(4, minmax(0, 1fr))}.sm\\:grid-rows-5{grid-template-rows:repeat(5, minmax(0, 1fr))}.sm\\:grid-rows-6{grid-template-rows:repeat(6, minmax(0, 1fr))}.sm\\:grid-rows-none{grid-template-rows:none}.sm\\:flex-row{flex-direction:row}.sm\\:flex-row-reverse{flex-direction:row-reverse}.sm\\:flex-col{flex-direction:column}.sm\\:flex-col-reverse{flex-direction:column-reverse}.sm\\:flex-wrap{flex-wrap:wrap}.sm\\:flex-wrap-reverse{flex-wrap:wrap-reverse}.sm\\:flex-nowrap{flex-wrap:nowrap}.sm\\:place-content-center{place-content:center}.sm\\:place-content-start{place-content:start}.sm\\:place-content-end{place-content:end}.sm\\:place-content-between{place-content:space-between}.sm\\:place-content-around{place-content:space-around}.sm\\:place-content-evenly{place-content:space-evenly}.sm\\:place-content-stretch{place-content:stretch}.sm\\:place-items-start{place-items:start}.sm\\:place-items-end{place-items:end}.sm\\:place-items-center{place-items:center}.sm\\:place-items-stretch{place-items:stretch}.sm\\:content-center{align-content:center}.sm\\:content-start{align-content:flex-start}.sm\\:content-end{align-content:flex-end}.sm\\:content-between{align-content:space-between}.sm\\:content-around{align-content:space-around}.sm\\:content-evenly{align-content:space-evenly}.sm\\:items-start{align-items:flex-start}.sm\\:items-end{align-items:flex-end}.sm\\:items-center{align-items:center}.sm\\:items-baseline{align-items:baseline}.sm\\:items-stretch{align-items:stretch}.sm\\:justify-start{justify-content:flex-start}.sm\\:justify-end{justify-content:flex-end}.sm\\:justify-center{justify-content:center}.sm\\:justify-between{justify-content:space-between}.sm\\:justify-around{justify-content:space-around}.sm\\:justify-evenly{justify-content:space-evenly}.sm\\:justify-items-start{justify-items:start}.sm\\:justify-items-end{justify-items:end}.sm\\:justify-items-center{justify-items:center}.sm\\:justify-items-stretch{justify-items:stretch}.sm\\:gap-0{gap:0px}.sm\\:gap-1{gap:0.25rem}.sm\\:gap-2{gap:0.5rem}.sm\\:gap-3{gap:0.75rem}.sm\\:gap-4{gap:1rem}.sm\\:gap-5{gap:1.25rem}.sm\\:gap-6{gap:1.5rem}.sm\\:gap-7{gap:1.75rem}.sm\\:gap-8{gap:2rem}.sm\\:gap-9{gap:2.25rem}.sm\\:gap-10{gap:2.5rem}.sm\\:gap-11{gap:2.75rem}.sm\\:gap-12{gap:3rem}.sm\\:gap-14{gap:3.5rem}.sm\\:gap-16{gap:4rem}.sm\\:gap-20{gap:5rem}.sm\\:gap-24{gap:6rem}.sm\\:gap-28{gap:7rem}.sm\\:gap-32{gap:8rem}.sm\\:gap-36{gap:9rem}.sm\\:gap-40{gap:10rem}.sm\\:gap-44{gap:11rem}.sm\\:gap-48{gap:12rem}.sm\\:gap-52{gap:13rem}.sm\\:gap-56{gap:14rem}.sm\\:gap-60{gap:15rem}.sm\\:gap-64{gap:16rem}.sm\\:gap-72{gap:18rem}.sm\\:gap-80{gap:20rem}.sm\\:gap-96{gap:24rem}.sm\\:gap-px{gap:1px}.sm\\:gap-0\\.5{gap:0.125rem}.sm\\:gap-1\\.5{gap:0.375rem}.sm\\:gap-2\\.5{gap:0.625rem}.sm\\:gap-3\\.5{gap:0.875rem}.sm\\:gap-x-0{column-gap:0px}.sm\\:gap-x-1{column-gap:0.25rem}.sm\\:gap-x-2{column-gap:0.5rem}.sm\\:gap-x-3{column-gap:0.75rem}.sm\\:gap-x-4{column-gap:1rem}.sm\\:gap-x-5{column-gap:1.25rem}.sm\\:gap-x-6{column-gap:1.5rem}.sm\\:gap-x-7{column-gap:1.75rem}.sm\\:gap-x-8{column-gap:2rem}.sm\\:gap-x-9{column-gap:2.25rem}.sm\\:gap-x-10{column-gap:2.5rem}.sm\\:gap-x-11{column-gap:2.75rem}.sm\\:gap-x-12{column-gap:3rem}.sm\\:gap-x-14{column-gap:3.5rem}.sm\\:gap-x-16{column-gap:4rem}.sm\\:gap-x-20{column-gap:5rem}.sm\\:gap-x-24{column-gap:6rem}.sm\\:gap-x-28{column-gap:7rem}.sm\\:gap-x-32{column-gap:8rem}.sm\\:gap-x-36{column-gap:9rem}.sm\\:gap-x-40{column-gap:10rem}.sm\\:gap-x-44{column-gap:11rem}.sm\\:gap-x-48{column-gap:12rem}.sm\\:gap-x-52{column-gap:13rem}.sm\\:gap-x-56{column-gap:14rem}.sm\\:gap-x-60{column-gap:15rem}.sm\\:gap-x-64{column-gap:16rem}.sm\\:gap-x-72{column-gap:18rem}.sm\\:gap-x-80{column-gap:20rem}.sm\\:gap-x-96{column-gap:24rem}.sm\\:gap-x-px{column-gap:1px}.sm\\:gap-x-0\\.5{column-gap:0.125rem}.sm\\:gap-x-1\\.5{column-gap:0.375rem}.sm\\:gap-x-2\\.5{column-gap:0.625rem}.sm\\:gap-x-3\\.5{column-gap:0.875rem}.sm\\:gap-y-0{row-gap:0px}.sm\\:gap-y-1{row-gap:0.25rem}.sm\\:gap-y-2{row-gap:0.5rem}.sm\\:gap-y-3{row-gap:0.75rem}.sm\\:gap-y-4{row-gap:1rem}.sm\\:gap-y-5{row-gap:1.25rem}.sm\\:gap-y-6{row-gap:1.5rem}.sm\\:gap-y-7{row-gap:1.75rem}.sm\\:gap-y-8{row-gap:2rem}.sm\\:gap-y-9{row-gap:2.25rem}.sm\\:gap-y-10{row-gap:2.5rem}.sm\\:gap-y-11{row-gap:2.75rem}.sm\\:gap-y-12{row-gap:3rem}.sm\\:gap-y-14{row-gap:3.5rem}.sm\\:gap-y-16{row-gap:4rem}.sm\\:gap-y-20{row-gap:5rem}.sm\\:gap-y-24{row-gap:6rem}.sm\\:gap-y-28{row-gap:7rem}.sm\\:gap-y-32{row-gap:8rem}.sm\\:gap-y-36{row-gap:9rem}.sm\\:gap-y-40{row-gap:10rem}.sm\\:gap-y-44{row-gap:11rem}.sm\\:gap-y-48{row-gap:12rem}.sm\\:gap-y-52{row-gap:13rem}.sm\\:gap-y-56{row-gap:14rem}.sm\\:gap-y-60{row-gap:15rem}.sm\\:gap-y-64{row-gap:16rem}.sm\\:gap-y-72{row-gap:18rem}.sm\\:gap-y-80{row-gap:20rem}.sm\\:gap-y-96{row-gap:24rem}.sm\\:gap-y-px{row-gap:1px}.sm\\:gap-y-0\\.5{row-gap:0.125rem}.sm\\:gap-y-1\\.5{row-gap:0.375rem}.sm\\:gap-y-2\\.5{row-gap:0.625rem}.sm\\:gap-y-3\\.5{row-gap:0.875rem}.sm\\:space-x-0>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0px * var(--tw-space-x-reverse));margin-left:calc(0px * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.25rem * var(--tw-space-x-reverse));margin-left:calc(0.25rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.5rem * var(--tw-space-x-reverse));margin-left:calc(0.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.75rem * var(--tw-space-x-reverse));margin-left:calc(0.75rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.25rem * var(--tw-space-x-reverse));margin-left:calc(1.25rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.5rem * var(--tw-space-x-reverse));margin-left:calc(1.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-7>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.75rem * var(--tw-space-x-reverse));margin-left:calc(1.75rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2rem * var(--tw-space-x-reverse));margin-left:calc(2rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-9>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2.25rem * var(--tw-space-x-reverse));margin-left:calc(2.25rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-10>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2.5rem * var(--tw-space-x-reverse));margin-left:calc(2.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-11>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2.75rem * var(--tw-space-x-reverse));margin-left:calc(2.75rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-12>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(3rem * var(--tw-space-x-reverse));margin-left:calc(3rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-14>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(3.5rem * var(--tw-space-x-reverse));margin-left:calc(3.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-16>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(4rem * var(--tw-space-x-reverse));margin-left:calc(4rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-20>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(5rem * var(--tw-space-x-reverse));margin-left:calc(5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-24>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(6rem * var(--tw-space-x-reverse));margin-left:calc(6rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-28>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(7rem * var(--tw-space-x-reverse));margin-left:calc(7rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-32>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(8rem * var(--tw-space-x-reverse));margin-left:calc(8rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-36>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(9rem * var(--tw-space-x-reverse));margin-left:calc(9rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-40>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(10rem * var(--tw-space-x-reverse));margin-left:calc(10rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-44>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(11rem * var(--tw-space-x-reverse));margin-left:calc(11rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-48>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(12rem * var(--tw-space-x-reverse));margin-left:calc(12rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-52>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(13rem * var(--tw-space-x-reverse));margin-left:calc(13rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-56>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(14rem * var(--tw-space-x-reverse));margin-left:calc(14rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-60>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(15rem * var(--tw-space-x-reverse));margin-left:calc(15rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-64>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(16rem * var(--tw-space-x-reverse));margin-left:calc(16rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-72>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(18rem * var(--tw-space-x-reverse));margin-left:calc(18rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-80>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(20rem * var(--tw-space-x-reverse));margin-left:calc(20rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-96>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(24rem * var(--tw-space-x-reverse));margin-left:calc(24rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1px * var(--tw-space-x-reverse));margin-left:calc(1px * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-0\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.125rem * var(--tw-space-x-reverse));margin-left:calc(0.125rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-1\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.375rem * var(--tw-space-x-reverse));margin-left:calc(0.375rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-2\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.625rem * var(--tw-space-x-reverse));margin-left:calc(0.625rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-x-3\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.875rem * var(--tw-space-x-reverse));margin-left:calc(0.875rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-0>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0px * var(--tw-space-x-reverse));margin-left:calc(0px * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.25rem * var(--tw-space-x-reverse));margin-left:calc(-0.25rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.5rem * var(--tw-space-x-reverse));margin-left:calc(-0.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.75rem * var(--tw-space-x-reverse));margin-left:calc(-0.75rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1rem * var(--tw-space-x-reverse));margin-left:calc(-1rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1.25rem * var(--tw-space-x-reverse));margin-left:calc(-1.25rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1.5rem * var(--tw-space-x-reverse));margin-left:calc(-1.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-7>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1.75rem * var(--tw-space-x-reverse));margin-left:calc(-1.75rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2rem * var(--tw-space-x-reverse));margin-left:calc(-2rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-9>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2.25rem * var(--tw-space-x-reverse));margin-left:calc(-2.25rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-10>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2.5rem * var(--tw-space-x-reverse));margin-left:calc(-2.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-11>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2.75rem * var(--tw-space-x-reverse));margin-left:calc(-2.75rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-12>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-3rem * var(--tw-space-x-reverse));margin-left:calc(-3rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-14>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-3.5rem * var(--tw-space-x-reverse));margin-left:calc(-3.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-16>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-4rem * var(--tw-space-x-reverse));margin-left:calc(-4rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-20>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-5rem * var(--tw-space-x-reverse));margin-left:calc(-5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-24>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-6rem * var(--tw-space-x-reverse));margin-left:calc(-6rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-28>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-7rem * var(--tw-space-x-reverse));margin-left:calc(-7rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-32>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-8rem * var(--tw-space-x-reverse));margin-left:calc(-8rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-36>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-9rem * var(--tw-space-x-reverse));margin-left:calc(-9rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-40>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-10rem * var(--tw-space-x-reverse));margin-left:calc(-10rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-44>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-11rem * var(--tw-space-x-reverse));margin-left:calc(-11rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-48>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-12rem * var(--tw-space-x-reverse));margin-left:calc(-12rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-52>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-13rem * var(--tw-space-x-reverse));margin-left:calc(-13rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-56>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-14rem * var(--tw-space-x-reverse));margin-left:calc(-14rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-60>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-15rem * var(--tw-space-x-reverse));margin-left:calc(-15rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-64>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-16rem * var(--tw-space-x-reverse));margin-left:calc(-16rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-72>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-18rem * var(--tw-space-x-reverse));margin-left:calc(-18rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-80>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-20rem * var(--tw-space-x-reverse));margin-left:calc(-20rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-96>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-24rem * var(--tw-space-x-reverse));margin-left:calc(-24rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1px * var(--tw-space-x-reverse));margin-left:calc(-1px * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-0\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.125rem * var(--tw-space-x-reverse));margin-left:calc(-0.125rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-1\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.375rem * var(--tw-space-x-reverse));margin-left:calc(-0.375rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-2\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.625rem * var(--tw-space-x-reverse));margin-left:calc(-0.625rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:-space-x-3\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.875rem * var(--tw-space-x-reverse));margin-left:calc(-0.875rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.sm\\:space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.25rem * var(--tw-space-y-reverse))}.sm\\:space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.5rem * var(--tw-space-y-reverse))}.sm\\:space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.75rem * var(--tw-space-y-reverse))}.sm\\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.sm\\:space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.sm\\:space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.sm\\:space-y-7>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.75rem * var(--tw-space-y-reverse))}.sm\\:space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.sm\\:space-y-9>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.25rem * var(--tw-space-y-reverse))}.sm\\:space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.5rem * var(--tw-space-y-reverse))}.sm\\:space-y-11>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.75rem * var(--tw-space-y-reverse))}.sm\\:space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3rem * var(--tw-space-y-reverse))}.sm\\:space-y-14>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(3.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3.5rem * var(--tw-space-y-reverse))}.sm\\:space-y-16>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(4rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(4rem * var(--tw-space-y-reverse))}.sm\\:space-y-20>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(5rem * var(--tw-space-y-reverse))}.sm\\:space-y-24>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(6rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(6rem * var(--tw-space-y-reverse))}.sm\\:space-y-28>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(7rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(7rem * var(--tw-space-y-reverse))}.sm\\:space-y-32>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(8rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(8rem * var(--tw-space-y-reverse))}.sm\\:space-y-36>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(9rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(9rem * var(--tw-space-y-reverse))}.sm\\:space-y-40>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(10rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(10rem * var(--tw-space-y-reverse))}.sm\\:space-y-44>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(11rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(11rem * var(--tw-space-y-reverse))}.sm\\:space-y-48>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(12rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(12rem * var(--tw-space-y-reverse))}.sm\\:space-y-52>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(13rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(13rem * var(--tw-space-y-reverse))}.sm\\:space-y-56>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(14rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(14rem * var(--tw-space-y-reverse))}.sm\\:space-y-60>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(15rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(15rem * var(--tw-space-y-reverse))}.sm\\:space-y-64>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(16rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(16rem * var(--tw-space-y-reverse))}.sm\\:space-y-72>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(18rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(18rem * var(--tw-space-y-reverse))}.sm\\:space-y-80>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(20rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(20rem * var(--tw-space-y-reverse))}.sm\\:space-y-96>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(24rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(24rem * var(--tw-space-y-reverse))}.sm\\:space-y-px>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1px * var(--tw-space-y-reverse))}.sm\\:space-y-0\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.125rem * var(--tw-space-y-reverse))}.sm\\:space-y-1\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.375rem * var(--tw-space-y-reverse))}.sm\\:space-y-2\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.625rem * var(--tw-space-y-reverse))}.sm\\:space-y-3\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.875rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.875rem * var(--tw-space-y-reverse))}.sm\\:-space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.sm\\:-space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.25rem * var(--tw-space-y-reverse))}.sm\\:-space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.5rem * var(--tw-space-y-reverse))}.sm\\:-space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.75rem * var(--tw-space-y-reverse))}.sm\\:-space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1rem * var(--tw-space-y-reverse))}.sm\\:-space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1.25rem * var(--tw-space-y-reverse))}.sm\\:-space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1.5rem * var(--tw-space-y-reverse))}.sm\\:-space-y-7>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1.75rem * var(--tw-space-y-reverse))}.sm\\:-space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2rem * var(--tw-space-y-reverse))}.sm\\:-space-y-9>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2.25rem * var(--tw-space-y-reverse))}.sm\\:-space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2.5rem * var(--tw-space-y-reverse))}.sm\\:-space-y-11>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2.75rem * var(--tw-space-y-reverse))}.sm\\:-space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-3rem * var(--tw-space-y-reverse))}.sm\\:-space-y-14>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-3.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-3.5rem * var(--tw-space-y-reverse))}.sm\\:-space-y-16>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-4rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-4rem * var(--tw-space-y-reverse))}.sm\\:-space-y-20>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-5rem * var(--tw-space-y-reverse))}.sm\\:-space-y-24>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-6rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-6rem * var(--tw-space-y-reverse))}.sm\\:-space-y-28>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-7rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-7rem * var(--tw-space-y-reverse))}.sm\\:-space-y-32>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-8rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-8rem * var(--tw-space-y-reverse))}.sm\\:-space-y-36>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-9rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-9rem * var(--tw-space-y-reverse))}.sm\\:-space-y-40>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-10rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-10rem * var(--tw-space-y-reverse))}.sm\\:-space-y-44>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-11rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-11rem * var(--tw-space-y-reverse))}.sm\\:-space-y-48>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-12rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-12rem * var(--tw-space-y-reverse))}.sm\\:-space-y-52>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-13rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-13rem * var(--tw-space-y-reverse))}.sm\\:-space-y-56>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-14rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-14rem * var(--tw-space-y-reverse))}.sm\\:-space-y-60>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-15rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-15rem * var(--tw-space-y-reverse))}.sm\\:-space-y-64>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-16rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-16rem * var(--tw-space-y-reverse))}.sm\\:-space-y-72>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-18rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-18rem * var(--tw-space-y-reverse))}.sm\\:-space-y-80>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-20rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-20rem * var(--tw-space-y-reverse))}.sm\\:-space-y-96>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-24rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-24rem * var(--tw-space-y-reverse))}.sm\\:-space-y-px>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1px * var(--tw-space-y-reverse))}.sm\\:-space-y-0\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.125rem * var(--tw-space-y-reverse))}.sm\\:-space-y-1\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.375rem * var(--tw-space-y-reverse))}.sm\\:-space-y-2\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.625rem * var(--tw-space-y-reverse))}.sm\\:-space-y-3\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.875rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.875rem * var(--tw-space-y-reverse))}.sm\\:space-y-reverse>:not([hidden])~:not([hidden]){--tw-space-y-reverse:1}.sm\\:space-x-reverse>:not([hidden])~:not([hidden]){--tw-space-x-reverse:1}.sm\\:divide-x-0>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(0px * var(--tw-divide-x-reverse));border-left-width:calc(0px * calc(1 - var(--tw-divide-x-reverse)))}.sm\\:divide-x-2>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(2px * var(--tw-divide-x-reverse));border-left-width:calc(2px * calc(1 - var(--tw-divide-x-reverse)))}.sm\\:divide-x-4>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(4px * var(--tw-divide-x-reverse));border-left-width:calc(4px * calc(1 - var(--tw-divide-x-reverse)))}.sm\\:divide-x-8>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(8px * var(--tw-divide-x-reverse));border-left-width:calc(8px * calc(1 - var(--tw-divide-x-reverse)))}.sm\\:divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(1px * var(--tw-divide-x-reverse));border-left-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}.sm\\:divide-y-0>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(0px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(0px * var(--tw-divide-y-reverse))}.sm\\:divide-y-2>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(2px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(2px * var(--tw-divide-y-reverse))}.sm\\:divide-y-4>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(4px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(4px * var(--tw-divide-y-reverse))}.sm\\:divide-y-8>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(8px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(8px * var(--tw-divide-y-reverse))}.sm\\:divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.sm\\:divide-y-reverse>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:1}.sm\\:divide-x-reverse>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:1}.sm\\:divide-solid>:not([hidden])~:not([hidden]){border-style:solid}.sm\\:divide-dashed>:not([hidden])~:not([hidden]){border-style:dashed}.sm\\:divide-dotted>:not([hidden])~:not([hidden]){border-style:dotted}.sm\\:divide-double>:not([hidden])~:not([hidden]){border-style:double}.sm\\:divide-none>:not([hidden])~:not([hidden]){border-style:none}.sm\\:divide-transparent>:not([hidden])~:not([hidden]){border-color:transparent}.sm\\:divide-current>:not([hidden])~:not([hidden]){border-color:currentColor}.sm\\:divide-white>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.sm\\:divide-lightgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(247, 247, 247, var(--tw-divide-opacity))}.sm\\:divide-midgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.sm\\:divide-darkgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(127, 127, 127, var(--tw-divide-opacity))}.sm\\:divide-grey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(30, 30, 30, var(--tw-divide-opacity))}.sm\\:divide-black>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(15, 15, 15, var(--tw-divide-opacity))}.sm\\:divide-highlight>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 113, 227, var(--tw-divide-opacity))}.sm\\:divide-highlight_hover>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 119, 237, var(--tw-divide-opacity))}.sm\\:divide-button_outline>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.sm\\:divide-error>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 69, 58, var(--tw-divide-opacity))}.sm\\:divide-text-light>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(15, 15, 15, var(--tw-divide-opacity))}.sm\\:divide-text-dimmed>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.sm\\:divide-text-dark>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.sm\\:divide-body-light>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.sm\\:divide-body-dark>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(30, 30, 30, var(--tw-divide-opacity))}.sm\\:divide-button>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 113, 227, var(--tw-divide-opacity))}.sm\\:divide-button_hover>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 119, 237, var(--tw-divide-opacity))}@media(prefers-color-scheme: dark){.sm\\:dark\\:divide-transparent>:not([hidden])~:not([hidden]){border-color:transparent}.sm\\:dark\\:divide-current>:not([hidden])~:not([hidden]){border-color:currentColor}.sm\\:dark\\:divide-white>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.sm\\:dark\\:divide-lightgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(247, 247, 247, var(--tw-divide-opacity))}.sm\\:dark\\:divide-midgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.sm\\:dark\\:divide-darkgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(127, 127, 127, var(--tw-divide-opacity))}.sm\\:dark\\:divide-grey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(30, 30, 30, var(--tw-divide-opacity))}.sm\\:dark\\:divide-black>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(15, 15, 15, var(--tw-divide-opacity))}.sm\\:dark\\:divide-highlight>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 113, 227, var(--tw-divide-opacity))}.sm\\:dark\\:divide-highlight_hover>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 119, 237, var(--tw-divide-opacity))}.sm\\:dark\\:divide-button_outline>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.sm\\:dark\\:divide-error>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 69, 58, var(--tw-divide-opacity))}.sm\\:dark\\:divide-text-light>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(15, 15, 15, var(--tw-divide-opacity))}.sm\\:dark\\:divide-text-dimmed>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.sm\\:dark\\:divide-text-dark>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.sm\\:dark\\:divide-body-light>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.sm\\:dark\\:divide-body-dark>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(30, 30, 30, var(--tw-divide-opacity))}.sm\\:dark\\:divide-button>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 113, 227, var(--tw-divide-opacity))}.sm\\:dark\\:divide-button_hover>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 119, 237, var(--tw-divide-opacity))}}.sm\\:divide-opacity-0>:not([hidden])~:not([hidden]){--tw-divide-opacity:0}.sm\\:divide-opacity-5>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.05}.sm\\:divide-opacity-10>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.1}.sm\\:divide-opacity-20>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.2}.sm\\:divide-opacity-25>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.25}.sm\\:divide-opacity-30>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.3}.sm\\:divide-opacity-40>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.4}.sm\\:divide-opacity-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.5}.sm\\:divide-opacity-60>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.6}.sm\\:divide-opacity-70>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.7}.sm\\:divide-opacity-75>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.75}.sm\\:divide-opacity-80>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.8}.sm\\:divide-opacity-90>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.9}.sm\\:divide-opacity-95>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.95}.sm\\:divide-opacity-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1}@media(prefers-color-scheme: dark){.sm\\:dark\\:divide-opacity-0>:not([hidden])~:not([hidden]){--tw-divide-opacity:0}.sm\\:dark\\:divide-opacity-5>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.05}.sm\\:dark\\:divide-opacity-10>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.1}.sm\\:dark\\:divide-opacity-20>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.2}.sm\\:dark\\:divide-opacity-25>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.25}.sm\\:dark\\:divide-opacity-30>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.3}.sm\\:dark\\:divide-opacity-40>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.4}.sm\\:dark\\:divide-opacity-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.5}.sm\\:dark\\:divide-opacity-60>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.6}.sm\\:dark\\:divide-opacity-70>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.7}.sm\\:dark\\:divide-opacity-75>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.75}.sm\\:dark\\:divide-opacity-80>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.8}.sm\\:dark\\:divide-opacity-90>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.9}.sm\\:dark\\:divide-opacity-95>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.95}.sm\\:dark\\:divide-opacity-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1}}.sm\\:place-self-auto{place-self:auto}.sm\\:place-self-start{place-self:start}.sm\\:place-self-end{place-self:end}.sm\\:place-self-center{place-self:center}.sm\\:place-self-stretch{place-self:stretch}.sm\\:self-auto{align-self:auto}.sm\\:self-start{align-self:flex-start}.sm\\:self-end{align-self:flex-end}.sm\\:self-center{align-self:center}.sm\\:self-stretch{align-self:stretch}.sm\\:self-baseline{align-self:baseline}.sm\\:justify-self-auto{justify-self:auto}.sm\\:justify-self-start{justify-self:start}.sm\\:justify-self-end{justify-self:end}.sm\\:justify-self-center{justify-self:center}.sm\\:justify-self-stretch{justify-self:stretch}.sm\\:overflow-auto{overflow:auto}.sm\\:overflow-hidden{overflow:hidden}.sm\\:overflow-visible{overflow:visible}.sm\\:overflow-scroll{overflow:scroll}.sm\\:overflow-x-auto{overflow-x:auto}.sm\\:overflow-y-auto{overflow-y:auto}.sm\\:overflow-x-hidden{overflow-x:hidden}.sm\\:overflow-y-hidden{overflow-y:hidden}.sm\\:overflow-x-visible{overflow-x:visible}.sm\\:overflow-y-visible{overflow-y:visible}.sm\\:overflow-x-scroll{overflow-x:scroll}.sm\\:overflow-y-scroll{overflow-y:scroll}.sm\\:overscroll-auto{overscroll-behavior:auto}.sm\\:overscroll-contain{overscroll-behavior:contain}.sm\\:overscroll-none{overscroll-behavior:none}.sm\\:overscroll-y-auto{overscroll-behavior-y:auto}.sm\\:overscroll-y-contain{overscroll-behavior-y:contain}.sm\\:overscroll-y-none{overscroll-behavior-y:none}.sm\\:overscroll-x-auto{overscroll-behavior-x:auto}.sm\\:overscroll-x-contain{overscroll-behavior-x:contain}.sm\\:overscroll-x-none{overscroll-behavior-x:none}.sm\\:truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sm\\:overflow-ellipsis{text-overflow:ellipsis}.sm\\:overflow-clip{text-overflow:clip}.sm\\:whitespace-normal{white-space:normal}.sm\\:whitespace-nowrap{white-space:nowrap}.sm\\:whitespace-pre{white-space:pre}.sm\\:whitespace-pre-line{white-space:pre-line}.sm\\:whitespace-pre-wrap{white-space:pre-wrap}.sm\\:break-normal{overflow-wrap:normal;word-break:normal}.sm\\:break-words{overflow-wrap:break-word}.sm\\:break-all{word-break:break-all}.sm\\:rounded-none{border-radius:0px}.sm\\:rounded-sm{border-radius:0.125rem}.sm\\:rounded{border-radius:0.25rem}.sm\\:rounded-md{border-radius:0.375rem}.sm\\:rounded-lg{border-radius:0.5rem}.sm\\:rounded-xl{border-radius:0.75rem}.sm\\:rounded-2xl{border-radius:1rem}.sm\\:rounded-3xl{border-radius:1.5rem}.sm\\:rounded-full{border-radius:9999px}.sm\\:rounded-t-none{border-top-left-radius:0px;border-top-right-radius:0px}.sm\\:rounded-t-sm{border-top-left-radius:0.125rem;border-top-right-radius:0.125rem}.sm\\:rounded-t{border-top-left-radius:0.25rem;border-top-right-radius:0.25rem}.sm\\:rounded-t-md{border-top-left-radius:0.375rem;border-top-right-radius:0.375rem}.sm\\:rounded-t-lg{border-top-left-radius:0.5rem;border-top-right-radius:0.5rem}.sm\\:rounded-t-xl{border-top-left-radius:0.75rem;border-top-right-radius:0.75rem}.sm\\:rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.sm\\:rounded-t-3xl{border-top-left-radius:1.5rem;border-top-right-radius:1.5rem}.sm\\:rounded-t-full{border-top-left-radius:9999px;border-top-right-radius:9999px}.sm\\:rounded-r-none{border-top-right-radius:0px;border-bottom-right-radius:0px}.sm\\:rounded-r-sm{border-top-right-radius:0.125rem;border-bottom-right-radius:0.125rem}.sm\\:rounded-r{border-top-right-radius:0.25rem;border-bottom-right-radius:0.25rem}.sm\\:rounded-r-md{border-top-right-radius:0.375rem;border-bottom-right-radius:0.375rem}.sm\\:rounded-r-lg{border-top-right-radius:0.5rem;border-bottom-right-radius:0.5rem}.sm\\:rounded-r-xl{border-top-right-radius:0.75rem;border-bottom-right-radius:0.75rem}.sm\\:rounded-r-2xl{border-top-right-radius:1rem;border-bottom-right-radius:1rem}.sm\\:rounded-r-3xl{border-top-right-radius:1.5rem;border-bottom-right-radius:1.5rem}.sm\\:rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.sm\\:rounded-b-none{border-bottom-right-radius:0px;border-bottom-left-radius:0px}.sm\\:rounded-b-sm{border-bottom-right-radius:0.125rem;border-bottom-left-radius:0.125rem}.sm\\:rounded-b{border-bottom-right-radius:0.25rem;border-bottom-left-radius:0.25rem}.sm\\:rounded-b-md{border-bottom-right-radius:0.375rem;border-bottom-left-radius:0.375rem}.sm\\:rounded-b-lg{border-bottom-right-radius:0.5rem;border-bottom-left-radius:0.5rem}.sm\\:rounded-b-xl{border-bottom-right-radius:0.75rem;border-bottom-left-radius:0.75rem}.sm\\:rounded-b-2xl{border-bottom-right-radius:1rem;border-bottom-left-radius:1rem}.sm\\:rounded-b-3xl{border-bottom-right-radius:1.5rem;border-bottom-left-radius:1.5rem}.sm\\:rounded-b-full{border-bottom-right-radius:9999px;border-bottom-left-radius:9999px}.sm\\:rounded-l-none{border-top-left-radius:0px;border-bottom-left-radius:0px}.sm\\:rounded-l-sm{border-top-left-radius:0.125rem;border-bottom-left-radius:0.125rem}.sm\\:rounded-l{border-top-left-radius:0.25rem;border-bottom-left-radius:0.25rem}.sm\\:rounded-l-md{border-top-left-radius:0.375rem;border-bottom-left-radius:0.375rem}.sm\\:rounded-l-lg{border-top-left-radius:0.5rem;border-bottom-left-radius:0.5rem}.sm\\:rounded-l-xl{border-top-left-radius:0.75rem;border-bottom-left-radius:0.75rem}.sm\\:rounded-l-2xl{border-top-left-radius:1rem;border-bottom-left-radius:1rem}.sm\\:rounded-l-3xl{border-top-left-radius:1.5rem;border-bottom-left-radius:1.5rem}.sm\\:rounded-l-full{border-top-left-radius:9999px;border-bottom-left-radius:9999px}.sm\\:rounded-tl-none{border-top-left-radius:0px}.sm\\:rounded-tl-sm{border-top-left-radius:0.125rem}.sm\\:rounded-tl{border-top-left-radius:0.25rem}.sm\\:rounded-tl-md{border-top-left-radius:0.375rem}.sm\\:rounded-tl-lg{border-top-left-radius:0.5rem}.sm\\:rounded-tl-xl{border-top-left-radius:0.75rem}.sm\\:rounded-tl-2xl{border-top-left-radius:1rem}.sm\\:rounded-tl-3xl{border-top-left-radius:1.5rem}.sm\\:rounded-tl-full{border-top-left-radius:9999px}.sm\\:rounded-tr-none{border-top-right-radius:0px}.sm\\:rounded-tr-sm{border-top-right-radius:0.125rem}.sm\\:rounded-tr{border-top-right-radius:0.25rem}.sm\\:rounded-tr-md{border-top-right-radius:0.375rem}.sm\\:rounded-tr-lg{border-top-right-radius:0.5rem}.sm\\:rounded-tr-xl{border-top-right-radius:0.75rem}.sm\\:rounded-tr-2xl{border-top-right-radius:1rem}.sm\\:rounded-tr-3xl{border-top-right-radius:1.5rem}.sm\\:rounded-tr-full{border-top-right-radius:9999px}.sm\\:rounded-br-none{border-bottom-right-radius:0px}.sm\\:rounded-br-sm{border-bottom-right-radius:0.125rem}.sm\\:rounded-br{border-bottom-right-radius:0.25rem}.sm\\:rounded-br-md{border-bottom-right-radius:0.375rem}.sm\\:rounded-br-lg{border-bottom-right-radius:0.5rem}.sm\\:rounded-br-xl{border-bottom-right-radius:0.75rem}.sm\\:rounded-br-2xl{border-bottom-right-radius:1rem}.sm\\:rounded-br-3xl{border-bottom-right-radius:1.5rem}.sm\\:rounded-br-full{border-bottom-right-radius:9999px}.sm\\:rounded-bl-none{border-bottom-left-radius:0px}.sm\\:rounded-bl-sm{border-bottom-left-radius:0.125rem}.sm\\:rounded-bl{border-bottom-left-radius:0.25rem}.sm\\:rounded-bl-md{border-bottom-left-radius:0.375rem}.sm\\:rounded-bl-lg{border-bottom-left-radius:0.5rem}.sm\\:rounded-bl-xl{border-bottom-left-radius:0.75rem}.sm\\:rounded-bl-2xl{border-bottom-left-radius:1rem}.sm\\:rounded-bl-3xl{border-bottom-left-radius:1.5rem}.sm\\:rounded-bl-full{border-bottom-left-radius:9999px}.sm\\:border-0{border-width:0px}.sm\\:border-2{border-width:2px}.sm\\:border-4{border-width:4px}.sm\\:border-8{border-width:8px}.sm\\:border{border-width:1px}.sm\\:border-t-0{border-top-width:0px}.sm\\:border-t-2{border-top-width:2px}.sm\\:border-t-4{border-top-width:4px}.sm\\:border-t-8{border-top-width:8px}.sm\\:border-t{border-top-width:1px}.sm\\:border-r-0{border-right-width:0px}.sm\\:border-r-2{border-right-width:2px}.sm\\:border-r-4{border-right-width:4px}.sm\\:border-r-8{border-right-width:8px}.sm\\:border-r{border-right-width:1px}.sm\\:border-b-0{border-bottom-width:0px}.sm\\:border-b-2{border-bottom-width:2px}.sm\\:border-b-4{border-bottom-width:4px}.sm\\:border-b-8{border-bottom-width:8px}.sm\\:border-b{border-bottom-width:1px}.sm\\:border-l-0{border-left-width:0px}.sm\\:border-l-2{border-left-width:2px}.sm\\:border-l-4{border-left-width:4px}.sm\\:border-l-8{border-left-width:8px}.sm\\:border-l{border-left-width:1px}.sm\\:border-solid{border-style:solid}.sm\\:border-dashed{border-style:dashed}.sm\\:border-dotted{border-style:dotted}.sm\\:border-double{border-style:double}.sm\\:border-none{border-style:none}.sm\\:border-transparent{border-color:transparent}.sm\\:border-current{border-color:currentColor}.sm\\:border-white{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.sm\\:border-lightgrey{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.sm\\:border-midgrey{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.sm\\:border-darkgrey{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.sm\\:border-grey{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.sm\\:border-black{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.sm\\:border-highlight{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.sm\\:border-highlight_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.sm\\:border-button_outline{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.sm\\:border-error{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.sm\\:border-text-light{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.sm\\:border-text-dimmed{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.sm\\:border-text-dark{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.sm\\:border-body-light{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.sm\\:border-body-dark{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.sm\\:border-button{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.sm\\:border-button_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.group:hover .sm\\:group-hover\\:border-transparent{border-color:transparent}.group:hover .sm\\:group-hover\\:border-current{border-color:currentColor}.group:hover .sm\\:group-hover\\:border-white{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .sm\\:group-hover\\:border-lightgrey{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.group:hover .sm\\:group-hover\\:border-midgrey{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .sm\\:group-hover\\:border-darkgrey{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.group:hover .sm\\:group-hover\\:border-grey{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.group:hover .sm\\:group-hover\\:border-black{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.group:hover .sm\\:group-hover\\:border-highlight{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.group:hover .sm\\:group-hover\\:border-highlight_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.group:hover .sm\\:group-hover\\:border-button_outline{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .sm\\:group-hover\\:border-error{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.group:hover .sm\\:group-hover\\:border-text-light{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.group:hover .sm\\:group-hover\\:border-text-dimmed{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .sm\\:group-hover\\:border-text-dark{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .sm\\:group-hover\\:border-body-light{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .sm\\:group-hover\\:border-body-dark{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.group:hover .sm\\:group-hover\\:border-button{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.group:hover .sm\\:group-hover\\:border-button_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.sm\\:focus-within\\:border-transparent:focus-within{border-color:transparent}.sm\\:focus-within\\:border-current:focus-within{border-color:currentColor}.sm\\:focus-within\\:border-white:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.sm\\:focus-within\\:border-lightgrey:focus-within{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.sm\\:focus-within\\:border-midgrey:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.sm\\:focus-within\\:border-darkgrey:focus-within{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.sm\\:focus-within\\:border-grey:focus-within{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.sm\\:focus-within\\:border-black:focus-within{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.sm\\:focus-within\\:border-highlight:focus-within{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.sm\\:focus-within\\:border-highlight_hover:focus-within{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.sm\\:focus-within\\:border-button_outline:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.sm\\:focus-within\\:border-error:focus-within{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.sm\\:focus-within\\:border-text-light:focus-within{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.sm\\:focus-within\\:border-text-dimmed:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.sm\\:focus-within\\:border-text-dark:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.sm\\:focus-within\\:border-body-light:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.sm\\:focus-within\\:border-body-dark:focus-within{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.sm\\:focus-within\\:border-button:focus-within{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.sm\\:focus-within\\:border-button_hover:focus-within{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.sm\\:hover\\:border-transparent:hover{border-color:transparent}.sm\\:hover\\:border-current:hover{border-color:currentColor}.sm\\:hover\\:border-white:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.sm\\:hover\\:border-lightgrey:hover{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.sm\\:hover\\:border-midgrey:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.sm\\:hover\\:border-darkgrey:hover{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.sm\\:hover\\:border-grey:hover{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.sm\\:hover\\:border-black:hover{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.sm\\:hover\\:border-highlight:hover{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.sm\\:hover\\:border-highlight_hover:hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.sm\\:hover\\:border-button_outline:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.sm\\:hover\\:border-error:hover{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.sm\\:hover\\:border-text-light:hover{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.sm\\:hover\\:border-text-dimmed:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.sm\\:hover\\:border-text-dark:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.sm\\:hover\\:border-body-light:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.sm\\:hover\\:border-body-dark:hover{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.sm\\:hover\\:border-button:hover{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.sm\\:hover\\:border-button_hover:hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.sm\\:focus\\:border-transparent:focus{border-color:transparent}.sm\\:focus\\:border-current:focus{border-color:currentColor}.sm\\:focus\\:border-white:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.sm\\:focus\\:border-lightgrey:focus{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.sm\\:focus\\:border-midgrey:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.sm\\:focus\\:border-darkgrey:focus{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.sm\\:focus\\:border-grey:focus{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.sm\\:focus\\:border-black:focus{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.sm\\:focus\\:border-highlight:focus{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.sm\\:focus\\:border-highlight_hover:focus{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.sm\\:focus\\:border-button_outline:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.sm\\:focus\\:border-error:focus{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.sm\\:focus\\:border-text-light:focus{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.sm\\:focus\\:border-text-dimmed:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.sm\\:focus\\:border-text-dark:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.sm\\:focus\\:border-body-light:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.sm\\:focus\\:border-body-dark:focus{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.sm\\:focus\\:border-button:focus{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.sm\\:focus\\:border-button_hover:focus{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}@media(prefers-color-scheme: dark){.sm\\:dark\\:border-transparent{border-color:transparent}.sm\\:dark\\:border-current{border-color:currentColor}.sm\\:dark\\:border-white{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.sm\\:dark\\:border-lightgrey{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.sm\\:dark\\:border-midgrey{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.sm\\:dark\\:border-darkgrey{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.sm\\:dark\\:border-grey{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.sm\\:dark\\:border-black{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.sm\\:dark\\:border-highlight{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.sm\\:dark\\:border-highlight_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.sm\\:dark\\:border-button_outline{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.sm\\:dark\\:border-error{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.sm\\:dark\\:border-text-light{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.sm\\:dark\\:border-text-dimmed{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.sm\\:dark\\:border-text-dark{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.sm\\:dark\\:border-body-light{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.sm\\:dark\\:border-body-dark{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.sm\\:dark\\:border-button{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.sm\\:dark\\:border-button_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.group:hover .sm\\:dark\\:group-hover\\:border-transparent{border-color:transparent}.group:hover .sm\\:dark\\:group-hover\\:border-current{border-color:currentColor}.group:hover .sm\\:dark\\:group-hover\\:border-white{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .sm\\:dark\\:group-hover\\:border-lightgrey{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.group:hover .sm\\:dark\\:group-hover\\:border-midgrey{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .sm\\:dark\\:group-hover\\:border-darkgrey{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.group:hover .sm\\:dark\\:group-hover\\:border-grey{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.group:hover .sm\\:dark\\:group-hover\\:border-black{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.group:hover .sm\\:dark\\:group-hover\\:border-highlight{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.group:hover .sm\\:dark\\:group-hover\\:border-highlight_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.group:hover .sm\\:dark\\:group-hover\\:border-button_outline{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .sm\\:dark\\:group-hover\\:border-error{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.group:hover .sm\\:dark\\:group-hover\\:border-text-light{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.group:hover .sm\\:dark\\:group-hover\\:border-text-dimmed{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .sm\\:dark\\:group-hover\\:border-text-dark{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .sm\\:dark\\:group-hover\\:border-body-light{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .sm\\:dark\\:group-hover\\:border-body-dark{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.group:hover .sm\\:dark\\:group-hover\\:border-button{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.group:hover .sm\\:dark\\:group-hover\\:border-button_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.sm\\:dark\\:focus-within\\:border-transparent:focus-within{border-color:transparent}.sm\\:dark\\:focus-within\\:border-current:focus-within{border-color:currentColor}.sm\\:dark\\:focus-within\\:border-white:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.sm\\:dark\\:focus-within\\:border-lightgrey:focus-within{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.sm\\:dark\\:focus-within\\:border-midgrey:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.sm\\:dark\\:focus-within\\:border-darkgrey:focus-within{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.sm\\:dark\\:focus-within\\:border-grey:focus-within{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.sm\\:dark\\:focus-within\\:border-black:focus-within{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.sm\\:dark\\:focus-within\\:border-highlight:focus-within{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.sm\\:dark\\:focus-within\\:border-highlight_hover:focus-within{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.sm\\:dark\\:focus-within\\:border-button_outline:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.sm\\:dark\\:focus-within\\:border-error:focus-within{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.sm\\:dark\\:focus-within\\:border-text-light:focus-within{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.sm\\:dark\\:focus-within\\:border-text-dimmed:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.sm\\:dark\\:focus-within\\:border-text-dark:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.sm\\:dark\\:focus-within\\:border-body-light:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.sm\\:dark\\:focus-within\\:border-body-dark:focus-within{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.sm\\:dark\\:focus-within\\:border-button:focus-within{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.sm\\:dark\\:focus-within\\:border-button_hover:focus-within{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.sm\\:dark\\:hover\\:border-transparent:hover{border-color:transparent}.sm\\:dark\\:hover\\:border-current:hover{border-color:currentColor}.sm\\:dark\\:hover\\:border-white:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.sm\\:dark\\:hover\\:border-lightgrey:hover{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.sm\\:dark\\:hover\\:border-midgrey:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.sm\\:dark\\:hover\\:border-darkgrey:hover{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.sm\\:dark\\:hover\\:border-grey:hover{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.sm\\:dark\\:hover\\:border-black:hover{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.sm\\:dark\\:hover\\:border-highlight:hover{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.sm\\:dark\\:hover\\:border-highlight_hover:hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.sm\\:dark\\:hover\\:border-button_outline:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.sm\\:dark\\:hover\\:border-error:hover{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.sm\\:dark\\:hover\\:border-text-light:hover{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.sm\\:dark\\:hover\\:border-text-dimmed:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.sm\\:dark\\:hover\\:border-text-dark:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.sm\\:dark\\:hover\\:border-body-light:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.sm\\:dark\\:hover\\:border-body-dark:hover{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.sm\\:dark\\:hover\\:border-button:hover{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.sm\\:dark\\:hover\\:border-button_hover:hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.sm\\:dark\\:focus\\:border-transparent:focus{border-color:transparent}.sm\\:dark\\:focus\\:border-current:focus{border-color:currentColor}.sm\\:dark\\:focus\\:border-white:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.sm\\:dark\\:focus\\:border-lightgrey:focus{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.sm\\:dark\\:focus\\:border-midgrey:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.sm\\:dark\\:focus\\:border-darkgrey:focus{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.sm\\:dark\\:focus\\:border-grey:focus{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.sm\\:dark\\:focus\\:border-black:focus{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.sm\\:dark\\:focus\\:border-highlight:focus{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.sm\\:dark\\:focus\\:border-highlight_hover:focus{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.sm\\:dark\\:focus\\:border-button_outline:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.sm\\:dark\\:focus\\:border-error:focus{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.sm\\:dark\\:focus\\:border-text-light:focus{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.sm\\:dark\\:focus\\:border-text-dimmed:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.sm\\:dark\\:focus\\:border-text-dark:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.sm\\:dark\\:focus\\:border-body-light:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.sm\\:dark\\:focus\\:border-body-dark:focus{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.sm\\:dark\\:focus\\:border-button:focus{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.sm\\:dark\\:focus\\:border-button_hover:focus{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}}.sm\\:border-opacity-0{--tw-border-opacity:0}.sm\\:border-opacity-5{--tw-border-opacity:0.05}.sm\\:border-opacity-10{--tw-border-opacity:0.1}.sm\\:border-opacity-20{--tw-border-opacity:0.2}.sm\\:border-opacity-25{--tw-border-opacity:0.25}.sm\\:border-opacity-30{--tw-border-opacity:0.3}.sm\\:border-opacity-40{--tw-border-opacity:0.4}.sm\\:border-opacity-50{--tw-border-opacity:0.5}.sm\\:border-opacity-60{--tw-border-opacity:0.6}.sm\\:border-opacity-70{--tw-border-opacity:0.7}.sm\\:border-opacity-75{--tw-border-opacity:0.75}.sm\\:border-opacity-80{--tw-border-opacity:0.8}.sm\\:border-opacity-90{--tw-border-opacity:0.9}.sm\\:border-opacity-95{--tw-border-opacity:0.95}.sm\\:border-opacity-100{--tw-border-opacity:1}.group:hover .sm\\:group-hover\\:border-opacity-0{--tw-border-opacity:0}.group:hover .sm\\:group-hover\\:border-opacity-5{--tw-border-opacity:0.05}.group:hover .sm\\:group-hover\\:border-opacity-10{--tw-border-opacity:0.1}.group:hover .sm\\:group-hover\\:border-opacity-20{--tw-border-opacity:0.2}.group:hover .sm\\:group-hover\\:border-opacity-25{--tw-border-opacity:0.25}.group:hover .sm\\:group-hover\\:border-opacity-30{--tw-border-opacity:0.3}.group:hover .sm\\:group-hover\\:border-opacity-40{--tw-border-opacity:0.4}.group:hover .sm\\:group-hover\\:border-opacity-50{--tw-border-opacity:0.5}.group:hover .sm\\:group-hover\\:border-opacity-60{--tw-border-opacity:0.6}.group:hover .sm\\:group-hover\\:border-opacity-70{--tw-border-opacity:0.7}.group:hover .sm\\:group-hover\\:border-opacity-75{--tw-border-opacity:0.75}.group:hover .sm\\:group-hover\\:border-opacity-80{--tw-border-opacity:0.8}.group:hover .sm\\:group-hover\\:border-opacity-90{--tw-border-opacity:0.9}.group:hover .sm\\:group-hover\\:border-opacity-95{--tw-border-opacity:0.95}.group:hover .sm\\:group-hover\\:border-opacity-100{--tw-border-opacity:1}.sm\\:focus-within\\:border-opacity-0:focus-within{--tw-border-opacity:0}.sm\\:focus-within\\:border-opacity-5:focus-within{--tw-border-opacity:0.05}.sm\\:focus-within\\:border-opacity-10:focus-within{--tw-border-opacity:0.1}.sm\\:focus-within\\:border-opacity-20:focus-within{--tw-border-opacity:0.2}.sm\\:focus-within\\:border-opacity-25:focus-within{--tw-border-opacity:0.25}.sm\\:focus-within\\:border-opacity-30:focus-within{--tw-border-opacity:0.3}.sm\\:focus-within\\:border-opacity-40:focus-within{--tw-border-opacity:0.4}.sm\\:focus-within\\:border-opacity-50:focus-within{--tw-border-opacity:0.5}.sm\\:focus-within\\:border-opacity-60:focus-within{--tw-border-opacity:0.6}.sm\\:focus-within\\:border-opacity-70:focus-within{--tw-border-opacity:0.7}.sm\\:focus-within\\:border-opacity-75:focus-within{--tw-border-opacity:0.75}.sm\\:focus-within\\:border-opacity-80:focus-within{--tw-border-opacity:0.8}.sm\\:focus-within\\:border-opacity-90:focus-within{--tw-border-opacity:0.9}.sm\\:focus-within\\:border-opacity-95:focus-within{--tw-border-opacity:0.95}.sm\\:focus-within\\:border-opacity-100:focus-within{--tw-border-opacity:1}.sm\\:hover\\:border-opacity-0:hover{--tw-border-opacity:0}.sm\\:hover\\:border-opacity-5:hover{--tw-border-opacity:0.05}.sm\\:hover\\:border-opacity-10:hover{--tw-border-opacity:0.1}.sm\\:hover\\:border-opacity-20:hover{--tw-border-opacity:0.2}.sm\\:hover\\:border-opacity-25:hover{--tw-border-opacity:0.25}.sm\\:hover\\:border-opacity-30:hover{--tw-border-opacity:0.3}.sm\\:hover\\:border-opacity-40:hover{--tw-border-opacity:0.4}.sm\\:hover\\:border-opacity-50:hover{--tw-border-opacity:0.5}.sm\\:hover\\:border-opacity-60:hover{--tw-border-opacity:0.6}.sm\\:hover\\:border-opacity-70:hover{--tw-border-opacity:0.7}.sm\\:hover\\:border-opacity-75:hover{--tw-border-opacity:0.75}.sm\\:hover\\:border-opacity-80:hover{--tw-border-opacity:0.8}.sm\\:hover\\:border-opacity-90:hover{--tw-border-opacity:0.9}.sm\\:hover\\:border-opacity-95:hover{--tw-border-opacity:0.95}.sm\\:hover\\:border-opacity-100:hover{--tw-border-opacity:1}.sm\\:focus\\:border-opacity-0:focus{--tw-border-opacity:0}.sm\\:focus\\:border-opacity-5:focus{--tw-border-opacity:0.05}.sm\\:focus\\:border-opacity-10:focus{--tw-border-opacity:0.1}.sm\\:focus\\:border-opacity-20:focus{--tw-border-opacity:0.2}.sm\\:focus\\:border-opacity-25:focus{--tw-border-opacity:0.25}.sm\\:focus\\:border-opacity-30:focus{--tw-border-opacity:0.3}.sm\\:focus\\:border-opacity-40:focus{--tw-border-opacity:0.4}.sm\\:focus\\:border-opacity-50:focus{--tw-border-opacity:0.5}.sm\\:focus\\:border-opacity-60:focus{--tw-border-opacity:0.6}.sm\\:focus\\:border-opacity-70:focus{--tw-border-opacity:0.7}.sm\\:focus\\:border-opacity-75:focus{--tw-border-opacity:0.75}.sm\\:focus\\:border-opacity-80:focus{--tw-border-opacity:0.8}.sm\\:focus\\:border-opacity-90:focus{--tw-border-opacity:0.9}.sm\\:focus\\:border-opacity-95:focus{--tw-border-opacity:0.95}.sm\\:focus\\:border-opacity-100:focus{--tw-border-opacity:1}@media(prefers-color-scheme: dark){.sm\\:dark\\:border-opacity-0{--tw-border-opacity:0}.sm\\:dark\\:border-opacity-5{--tw-border-opacity:0.05}.sm\\:dark\\:border-opacity-10{--tw-border-opacity:0.1}.sm\\:dark\\:border-opacity-20{--tw-border-opacity:0.2}.sm\\:dark\\:border-opacity-25{--tw-border-opacity:0.25}.sm\\:dark\\:border-opacity-30{--tw-border-opacity:0.3}.sm\\:dark\\:border-opacity-40{--tw-border-opacity:0.4}.sm\\:dark\\:border-opacity-50{--tw-border-opacity:0.5}.sm\\:dark\\:border-opacity-60{--tw-border-opacity:0.6}.sm\\:dark\\:border-opacity-70{--tw-border-opacity:0.7}.sm\\:dark\\:border-opacity-75{--tw-border-opacity:0.75}.sm\\:dark\\:border-opacity-80{--tw-border-opacity:0.8}.sm\\:dark\\:border-opacity-90{--tw-border-opacity:0.9}.sm\\:dark\\:border-opacity-95{--tw-border-opacity:0.95}.sm\\:dark\\:border-opacity-100{--tw-border-opacity:1}.group:hover .sm\\:dark\\:group-hover\\:border-opacity-0{--tw-border-opacity:0}.group:hover .sm\\:dark\\:group-hover\\:border-opacity-5{--tw-border-opacity:0.05}.group:hover .sm\\:dark\\:group-hover\\:border-opacity-10{--tw-border-opacity:0.1}.group:hover .sm\\:dark\\:group-hover\\:border-opacity-20{--tw-border-opacity:0.2}.group:hover .sm\\:dark\\:group-hover\\:border-opacity-25{--tw-border-opacity:0.25}.group:hover .sm\\:dark\\:group-hover\\:border-opacity-30{--tw-border-opacity:0.3}.group:hover .sm\\:dark\\:group-hover\\:border-opacity-40{--tw-border-opacity:0.4}.group:hover .sm\\:dark\\:group-hover\\:border-opacity-50{--tw-border-opacity:0.5}.group:hover .sm\\:dark\\:group-hover\\:border-opacity-60{--tw-border-opacity:0.6}.group:hover .sm\\:dark\\:group-hover\\:border-opacity-70{--tw-border-opacity:0.7}.group:hover .sm\\:dark\\:group-hover\\:border-opacity-75{--tw-border-opacity:0.75}.group:hover .sm\\:dark\\:group-hover\\:border-opacity-80{--tw-border-opacity:0.8}.group:hover .sm\\:dark\\:group-hover\\:border-opacity-90{--tw-border-opacity:0.9}.group:hover .sm\\:dark\\:group-hover\\:border-opacity-95{--tw-border-opacity:0.95}.group:hover .sm\\:dark\\:group-hover\\:border-opacity-100{--tw-border-opacity:1}.sm\\:dark\\:focus-within\\:border-opacity-0:focus-within{--tw-border-opacity:0}.sm\\:dark\\:focus-within\\:border-opacity-5:focus-within{--tw-border-opacity:0.05}.sm\\:dark\\:focus-within\\:border-opacity-10:focus-within{--tw-border-opacity:0.1}.sm\\:dark\\:focus-within\\:border-opacity-20:focus-within{--tw-border-opacity:0.2}.sm\\:dark\\:focus-within\\:border-opacity-25:focus-within{--tw-border-opacity:0.25}.sm\\:dark\\:focus-within\\:border-opacity-30:focus-within{--tw-border-opacity:0.3}.sm\\:dark\\:focus-within\\:border-opacity-40:focus-within{--tw-border-opacity:0.4}.sm\\:dark\\:focus-within\\:border-opacity-50:focus-within{--tw-border-opacity:0.5}.sm\\:dark\\:focus-within\\:border-opacity-60:focus-within{--tw-border-opacity:0.6}.sm\\:dark\\:focus-within\\:border-opacity-70:focus-within{--tw-border-opacity:0.7}.sm\\:dark\\:focus-within\\:border-opacity-75:focus-within{--tw-border-opacity:0.75}.sm\\:dark\\:focus-within\\:border-opacity-80:focus-within{--tw-border-opacity:0.8}.sm\\:dark\\:focus-within\\:border-opacity-90:focus-within{--tw-border-opacity:0.9}.sm\\:dark\\:focus-within\\:border-opacity-95:focus-within{--tw-border-opacity:0.95}.sm\\:dark\\:focus-within\\:border-opacity-100:focus-within{--tw-border-opacity:1}.sm\\:dark\\:hover\\:border-opacity-0:hover{--tw-border-opacity:0}.sm\\:dark\\:hover\\:border-opacity-5:hover{--tw-border-opacity:0.05}.sm\\:dark\\:hover\\:border-opacity-10:hover{--tw-border-opacity:0.1}.sm\\:dark\\:hover\\:border-opacity-20:hover{--tw-border-opacity:0.2}.sm\\:dark\\:hover\\:border-opacity-25:hover{--tw-border-opacity:0.25}.sm\\:dark\\:hover\\:border-opacity-30:hover{--tw-border-opacity:0.3}.sm\\:dark\\:hover\\:border-opacity-40:hover{--tw-border-opacity:0.4}.sm\\:dark\\:hover\\:border-opacity-50:hover{--tw-border-opacity:0.5}.sm\\:dark\\:hover\\:border-opacity-60:hover{--tw-border-opacity:0.6}.sm\\:dark\\:hover\\:border-opacity-70:hover{--tw-border-opacity:0.7}.sm\\:dark\\:hover\\:border-opacity-75:hover{--tw-border-opacity:0.75}.sm\\:dark\\:hover\\:border-opacity-80:hover{--tw-border-opacity:0.8}.sm\\:dark\\:hover\\:border-opacity-90:hover{--tw-border-opacity:0.9}.sm\\:dark\\:hover\\:border-opacity-95:hover{--tw-border-opacity:0.95}.sm\\:dark\\:hover\\:border-opacity-100:hover{--tw-border-opacity:1}.sm\\:dark\\:focus\\:border-opacity-0:focus{--tw-border-opacity:0}.sm\\:dark\\:focus\\:border-opacity-5:focus{--tw-border-opacity:0.05}.sm\\:dark\\:focus\\:border-opacity-10:focus{--tw-border-opacity:0.1}.sm\\:dark\\:focus\\:border-opacity-20:focus{--tw-border-opacity:0.2}.sm\\:dark\\:focus\\:border-opacity-25:focus{--tw-border-opacity:0.25}.sm\\:dark\\:focus\\:border-opacity-30:focus{--tw-border-opacity:0.3}.sm\\:dark\\:focus\\:border-opacity-40:focus{--tw-border-opacity:0.4}.sm\\:dark\\:focus\\:border-opacity-50:focus{--tw-border-opacity:0.5}.sm\\:dark\\:focus\\:border-opacity-60:focus{--tw-border-opacity:0.6}.sm\\:dark\\:focus\\:border-opacity-70:focus{--tw-border-opacity:0.7}.sm\\:dark\\:focus\\:border-opacity-75:focus{--tw-border-opacity:0.75}.sm\\:dark\\:focus\\:border-opacity-80:focus{--tw-border-opacity:0.8}.sm\\:dark\\:focus\\:border-opacity-90:focus{--tw-border-opacity:0.9}.sm\\:dark\\:focus\\:border-opacity-95:focus{--tw-border-opacity:0.95}.sm\\:dark\\:focus\\:border-opacity-100:focus{--tw-border-opacity:1}}.sm\\:bg-transparent{background-color:transparent}.sm\\:bg-current{background-color:currentColor}.sm\\:bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.sm\\:bg-lightgrey{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.sm\\:bg-midgrey{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.sm\\:bg-darkgrey{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.sm\\:bg-grey{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.sm\\:bg-black{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.sm\\:bg-highlight{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.sm\\:bg-highlight_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.sm\\:bg-button_outline{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.sm\\:bg-error{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.sm\\:bg-text-light{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.sm\\:bg-text-dimmed{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.sm\\:bg-text-dark{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.sm\\:bg-body-light{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.sm\\:bg-body-dark{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.sm\\:bg-button{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.sm\\:bg-button_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.group:hover .sm\\:group-hover\\:bg-transparent{background-color:transparent}.group:hover .sm\\:group-hover\\:bg-current{background-color:currentColor}.group:hover .sm\\:group-hover\\:bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .sm\\:group-hover\\:bg-lightgrey{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.group:hover .sm\\:group-hover\\:bg-midgrey{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .sm\\:group-hover\\:bg-darkgrey{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.group:hover .sm\\:group-hover\\:bg-grey{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.group:hover .sm\\:group-hover\\:bg-black{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.group:hover .sm\\:group-hover\\:bg-highlight{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.group:hover .sm\\:group-hover\\:bg-highlight_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.group:hover .sm\\:group-hover\\:bg-button_outline{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .sm\\:group-hover\\:bg-error{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.group:hover .sm\\:group-hover\\:bg-text-light{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.group:hover .sm\\:group-hover\\:bg-text-dimmed{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .sm\\:group-hover\\:bg-text-dark{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .sm\\:group-hover\\:bg-body-light{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .sm\\:group-hover\\:bg-body-dark{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.group:hover .sm\\:group-hover\\:bg-button{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.group:hover .sm\\:group-hover\\:bg-button_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.sm\\:focus-within\\:bg-transparent:focus-within{background-color:transparent}.sm\\:focus-within\\:bg-current:focus-within{background-color:currentColor}.sm\\:focus-within\\:bg-white:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.sm\\:focus-within\\:bg-lightgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.sm\\:focus-within\\:bg-midgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.sm\\:focus-within\\:bg-darkgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.sm\\:focus-within\\:bg-grey:focus-within{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.sm\\:focus-within\\:bg-black:focus-within{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.sm\\:focus-within\\:bg-highlight:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.sm\\:focus-within\\:bg-highlight_hover:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.sm\\:focus-within\\:bg-button_outline:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.sm\\:focus-within\\:bg-error:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.sm\\:focus-within\\:bg-text-light:focus-within{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.sm\\:focus-within\\:bg-text-dimmed:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.sm\\:focus-within\\:bg-text-dark:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.sm\\:focus-within\\:bg-body-light:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.sm\\:focus-within\\:bg-body-dark:focus-within{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.sm\\:focus-within\\:bg-button:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.sm\\:focus-within\\:bg-button_hover:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.sm\\:hover\\:bg-transparent:hover{background-color:transparent}.sm\\:hover\\:bg-current:hover{background-color:currentColor}.sm\\:hover\\:bg-white:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.sm\\:hover\\:bg-lightgrey:hover{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.sm\\:hover\\:bg-midgrey:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.sm\\:hover\\:bg-darkgrey:hover{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.sm\\:hover\\:bg-grey:hover{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.sm\\:hover\\:bg-black:hover{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.sm\\:hover\\:bg-highlight:hover{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.sm\\:hover\\:bg-highlight_hover:hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.sm\\:hover\\:bg-button_outline:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.sm\\:hover\\:bg-error:hover{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.sm\\:hover\\:bg-text-light:hover{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.sm\\:hover\\:bg-text-dimmed:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.sm\\:hover\\:bg-text-dark:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.sm\\:hover\\:bg-body-light:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.sm\\:hover\\:bg-body-dark:hover{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.sm\\:hover\\:bg-button:hover{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.sm\\:hover\\:bg-button_hover:hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.sm\\:focus\\:bg-transparent:focus{background-color:transparent}.sm\\:focus\\:bg-current:focus{background-color:currentColor}.sm\\:focus\\:bg-white:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.sm\\:focus\\:bg-lightgrey:focus{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.sm\\:focus\\:bg-midgrey:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.sm\\:focus\\:bg-darkgrey:focus{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.sm\\:focus\\:bg-grey:focus{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.sm\\:focus\\:bg-black:focus{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.sm\\:focus\\:bg-highlight:focus{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.sm\\:focus\\:bg-highlight_hover:focus{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.sm\\:focus\\:bg-button_outline:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.sm\\:focus\\:bg-error:focus{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.sm\\:focus\\:bg-text-light:focus{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.sm\\:focus\\:bg-text-dimmed:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.sm\\:focus\\:bg-text-dark:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.sm\\:focus\\:bg-body-light:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.sm\\:focus\\:bg-body-dark:focus{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.sm\\:focus\\:bg-button:focus{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.sm\\:focus\\:bg-button_hover:focus{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}@media(prefers-color-scheme: dark){.sm\\:dark\\:bg-transparent{background-color:transparent}.sm\\:dark\\:bg-current{background-color:currentColor}.sm\\:dark\\:bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.sm\\:dark\\:bg-lightgrey{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.sm\\:dark\\:bg-midgrey{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.sm\\:dark\\:bg-darkgrey{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.sm\\:dark\\:bg-grey{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.sm\\:dark\\:bg-black{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.sm\\:dark\\:bg-highlight{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.sm\\:dark\\:bg-highlight_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.sm\\:dark\\:bg-button_outline{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.sm\\:dark\\:bg-error{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.sm\\:dark\\:bg-text-light{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.sm\\:dark\\:bg-text-dimmed{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.sm\\:dark\\:bg-text-dark{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.sm\\:dark\\:bg-body-light{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.sm\\:dark\\:bg-body-dark{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.sm\\:dark\\:bg-button{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.sm\\:dark\\:bg-button_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.group:hover .sm\\:dark\\:group-hover\\:bg-transparent{background-color:transparent}.group:hover .sm\\:dark\\:group-hover\\:bg-current{background-color:currentColor}.group:hover .sm\\:dark\\:group-hover\\:bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .sm\\:dark\\:group-hover\\:bg-lightgrey{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.group:hover .sm\\:dark\\:group-hover\\:bg-midgrey{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .sm\\:dark\\:group-hover\\:bg-darkgrey{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.group:hover .sm\\:dark\\:group-hover\\:bg-grey{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.group:hover .sm\\:dark\\:group-hover\\:bg-black{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.group:hover .sm\\:dark\\:group-hover\\:bg-highlight{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.group:hover .sm\\:dark\\:group-hover\\:bg-highlight_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.group:hover .sm\\:dark\\:group-hover\\:bg-button_outline{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .sm\\:dark\\:group-hover\\:bg-error{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.group:hover .sm\\:dark\\:group-hover\\:bg-text-light{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.group:hover .sm\\:dark\\:group-hover\\:bg-text-dimmed{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .sm\\:dark\\:group-hover\\:bg-text-dark{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .sm\\:dark\\:group-hover\\:bg-body-light{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .sm\\:dark\\:group-hover\\:bg-body-dark{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.group:hover .sm\\:dark\\:group-hover\\:bg-button{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.group:hover .sm\\:dark\\:group-hover\\:bg-button_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.sm\\:dark\\:focus-within\\:bg-transparent:focus-within{background-color:transparent}.sm\\:dark\\:focus-within\\:bg-current:focus-within{background-color:currentColor}.sm\\:dark\\:focus-within\\:bg-white:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.sm\\:dark\\:focus-within\\:bg-lightgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.sm\\:dark\\:focus-within\\:bg-midgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.sm\\:dark\\:focus-within\\:bg-darkgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.sm\\:dark\\:focus-within\\:bg-grey:focus-within{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.sm\\:dark\\:focus-within\\:bg-black:focus-within{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.sm\\:dark\\:focus-within\\:bg-highlight:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.sm\\:dark\\:focus-within\\:bg-highlight_hover:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.sm\\:dark\\:focus-within\\:bg-button_outline:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.sm\\:dark\\:focus-within\\:bg-error:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.sm\\:dark\\:focus-within\\:bg-text-light:focus-within{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.sm\\:dark\\:focus-within\\:bg-text-dimmed:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.sm\\:dark\\:focus-within\\:bg-text-dark:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.sm\\:dark\\:focus-within\\:bg-body-light:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.sm\\:dark\\:focus-within\\:bg-body-dark:focus-within{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.sm\\:dark\\:focus-within\\:bg-button:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.sm\\:dark\\:focus-within\\:bg-button_hover:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.sm\\:dark\\:hover\\:bg-transparent:hover{background-color:transparent}.sm\\:dark\\:hover\\:bg-current:hover{background-color:currentColor}.sm\\:dark\\:hover\\:bg-white:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.sm\\:dark\\:hover\\:bg-lightgrey:hover{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.sm\\:dark\\:hover\\:bg-midgrey:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.sm\\:dark\\:hover\\:bg-darkgrey:hover{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.sm\\:dark\\:hover\\:bg-grey:hover{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.sm\\:dark\\:hover\\:bg-black:hover{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.sm\\:dark\\:hover\\:bg-highlight:hover{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.sm\\:dark\\:hover\\:bg-highlight_hover:hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.sm\\:dark\\:hover\\:bg-button_outline:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.sm\\:dark\\:hover\\:bg-error:hover{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.sm\\:dark\\:hover\\:bg-text-light:hover{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.sm\\:dark\\:hover\\:bg-text-dimmed:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.sm\\:dark\\:hover\\:bg-text-dark:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.sm\\:dark\\:hover\\:bg-body-light:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.sm\\:dark\\:hover\\:bg-body-dark:hover{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.sm\\:dark\\:hover\\:bg-button:hover{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.sm\\:dark\\:hover\\:bg-button_hover:hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.sm\\:dark\\:focus\\:bg-transparent:focus{background-color:transparent}.sm\\:dark\\:focus\\:bg-current:focus{background-color:currentColor}.sm\\:dark\\:focus\\:bg-white:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.sm\\:dark\\:focus\\:bg-lightgrey:focus{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.sm\\:dark\\:focus\\:bg-midgrey:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.sm\\:dark\\:focus\\:bg-darkgrey:focus{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.sm\\:dark\\:focus\\:bg-grey:focus{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.sm\\:dark\\:focus\\:bg-black:focus{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.sm\\:dark\\:focus\\:bg-highlight:focus{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.sm\\:dark\\:focus\\:bg-highlight_hover:focus{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.sm\\:dark\\:focus\\:bg-button_outline:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.sm\\:dark\\:focus\\:bg-error:focus{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.sm\\:dark\\:focus\\:bg-text-light:focus{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.sm\\:dark\\:focus\\:bg-text-dimmed:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.sm\\:dark\\:focus\\:bg-text-dark:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.sm\\:dark\\:focus\\:bg-body-light:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.sm\\:dark\\:focus\\:bg-body-dark:focus{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.sm\\:dark\\:focus\\:bg-button:focus{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.sm\\:dark\\:focus\\:bg-button_hover:focus{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}}.sm\\:bg-opacity-0{--tw-bg-opacity:0}.sm\\:bg-opacity-5{--tw-bg-opacity:0.05}.sm\\:bg-opacity-10{--tw-bg-opacity:0.1}.sm\\:bg-opacity-20{--tw-bg-opacity:0.2}.sm\\:bg-opacity-25{--tw-bg-opacity:0.25}.sm\\:bg-opacity-30{--tw-bg-opacity:0.3}.sm\\:bg-opacity-40{--tw-bg-opacity:0.4}.sm\\:bg-opacity-50{--tw-bg-opacity:0.5}.sm\\:bg-opacity-60{--tw-bg-opacity:0.6}.sm\\:bg-opacity-70{--tw-bg-opacity:0.7}.sm\\:bg-opacity-75{--tw-bg-opacity:0.75}.sm\\:bg-opacity-80{--tw-bg-opacity:0.8}.sm\\:bg-opacity-90{--tw-bg-opacity:0.9}.sm\\:bg-opacity-95{--tw-bg-opacity:0.95}.sm\\:bg-opacity-100{--tw-bg-opacity:1}.group:hover .sm\\:group-hover\\:bg-opacity-0{--tw-bg-opacity:0}.group:hover .sm\\:group-hover\\:bg-opacity-5{--tw-bg-opacity:0.05}.group:hover .sm\\:group-hover\\:bg-opacity-10{--tw-bg-opacity:0.1}.group:hover .sm\\:group-hover\\:bg-opacity-20{--tw-bg-opacity:0.2}.group:hover .sm\\:group-hover\\:bg-opacity-25{--tw-bg-opacity:0.25}.group:hover .sm\\:group-hover\\:bg-opacity-30{--tw-bg-opacity:0.3}.group:hover .sm\\:group-hover\\:bg-opacity-40{--tw-bg-opacity:0.4}.group:hover .sm\\:group-hover\\:bg-opacity-50{--tw-bg-opacity:0.5}.group:hover .sm\\:group-hover\\:bg-opacity-60{--tw-bg-opacity:0.6}.group:hover .sm\\:group-hover\\:bg-opacity-70{--tw-bg-opacity:0.7}.group:hover .sm\\:group-hover\\:bg-opacity-75{--tw-bg-opacity:0.75}.group:hover .sm\\:group-hover\\:bg-opacity-80{--tw-bg-opacity:0.8}.group:hover .sm\\:group-hover\\:bg-opacity-90{--tw-bg-opacity:0.9}.group:hover .sm\\:group-hover\\:bg-opacity-95{--tw-bg-opacity:0.95}.group:hover .sm\\:group-hover\\:bg-opacity-100{--tw-bg-opacity:1}.sm\\:focus-within\\:bg-opacity-0:focus-within{--tw-bg-opacity:0}.sm\\:focus-within\\:bg-opacity-5:focus-within{--tw-bg-opacity:0.05}.sm\\:focus-within\\:bg-opacity-10:focus-within{--tw-bg-opacity:0.1}.sm\\:focus-within\\:bg-opacity-20:focus-within{--tw-bg-opacity:0.2}.sm\\:focus-within\\:bg-opacity-25:focus-within{--tw-bg-opacity:0.25}.sm\\:focus-within\\:bg-opacity-30:focus-within{--tw-bg-opacity:0.3}.sm\\:focus-within\\:bg-opacity-40:focus-within{--tw-bg-opacity:0.4}.sm\\:focus-within\\:bg-opacity-50:focus-within{--tw-bg-opacity:0.5}.sm\\:focus-within\\:bg-opacity-60:focus-within{--tw-bg-opacity:0.6}.sm\\:focus-within\\:bg-opacity-70:focus-within{--tw-bg-opacity:0.7}.sm\\:focus-within\\:bg-opacity-75:focus-within{--tw-bg-opacity:0.75}.sm\\:focus-within\\:bg-opacity-80:focus-within{--tw-bg-opacity:0.8}.sm\\:focus-within\\:bg-opacity-90:focus-within{--tw-bg-opacity:0.9}.sm\\:focus-within\\:bg-opacity-95:focus-within{--tw-bg-opacity:0.95}.sm\\:focus-within\\:bg-opacity-100:focus-within{--tw-bg-opacity:1}.sm\\:hover\\:bg-opacity-0:hover{--tw-bg-opacity:0}.sm\\:hover\\:bg-opacity-5:hover{--tw-bg-opacity:0.05}.sm\\:hover\\:bg-opacity-10:hover{--tw-bg-opacity:0.1}.sm\\:hover\\:bg-opacity-20:hover{--tw-bg-opacity:0.2}.sm\\:hover\\:bg-opacity-25:hover{--tw-bg-opacity:0.25}.sm\\:hover\\:bg-opacity-30:hover{--tw-bg-opacity:0.3}.sm\\:hover\\:bg-opacity-40:hover{--tw-bg-opacity:0.4}.sm\\:hover\\:bg-opacity-50:hover{--tw-bg-opacity:0.5}.sm\\:hover\\:bg-opacity-60:hover{--tw-bg-opacity:0.6}.sm\\:hover\\:bg-opacity-70:hover{--tw-bg-opacity:0.7}.sm\\:hover\\:bg-opacity-75:hover{--tw-bg-opacity:0.75}.sm\\:hover\\:bg-opacity-80:hover{--tw-bg-opacity:0.8}.sm\\:hover\\:bg-opacity-90:hover{--tw-bg-opacity:0.9}.sm\\:hover\\:bg-opacity-95:hover{--tw-bg-opacity:0.95}.sm\\:hover\\:bg-opacity-100:hover{--tw-bg-opacity:1}.sm\\:focus\\:bg-opacity-0:focus{--tw-bg-opacity:0}.sm\\:focus\\:bg-opacity-5:focus{--tw-bg-opacity:0.05}.sm\\:focus\\:bg-opacity-10:focus{--tw-bg-opacity:0.1}.sm\\:focus\\:bg-opacity-20:focus{--tw-bg-opacity:0.2}.sm\\:focus\\:bg-opacity-25:focus{--tw-bg-opacity:0.25}.sm\\:focus\\:bg-opacity-30:focus{--tw-bg-opacity:0.3}.sm\\:focus\\:bg-opacity-40:focus{--tw-bg-opacity:0.4}.sm\\:focus\\:bg-opacity-50:focus{--tw-bg-opacity:0.5}.sm\\:focus\\:bg-opacity-60:focus{--tw-bg-opacity:0.6}.sm\\:focus\\:bg-opacity-70:focus{--tw-bg-opacity:0.7}.sm\\:focus\\:bg-opacity-75:focus{--tw-bg-opacity:0.75}.sm\\:focus\\:bg-opacity-80:focus{--tw-bg-opacity:0.8}.sm\\:focus\\:bg-opacity-90:focus{--tw-bg-opacity:0.9}.sm\\:focus\\:bg-opacity-95:focus{--tw-bg-opacity:0.95}.sm\\:focus\\:bg-opacity-100:focus{--tw-bg-opacity:1}@media(prefers-color-scheme: dark){.sm\\:dark\\:bg-opacity-0{--tw-bg-opacity:0}.sm\\:dark\\:bg-opacity-5{--tw-bg-opacity:0.05}.sm\\:dark\\:bg-opacity-10{--tw-bg-opacity:0.1}.sm\\:dark\\:bg-opacity-20{--tw-bg-opacity:0.2}.sm\\:dark\\:bg-opacity-25{--tw-bg-opacity:0.25}.sm\\:dark\\:bg-opacity-30{--tw-bg-opacity:0.3}.sm\\:dark\\:bg-opacity-40{--tw-bg-opacity:0.4}.sm\\:dark\\:bg-opacity-50{--tw-bg-opacity:0.5}.sm\\:dark\\:bg-opacity-60{--tw-bg-opacity:0.6}.sm\\:dark\\:bg-opacity-70{--tw-bg-opacity:0.7}.sm\\:dark\\:bg-opacity-75{--tw-bg-opacity:0.75}.sm\\:dark\\:bg-opacity-80{--tw-bg-opacity:0.8}.sm\\:dark\\:bg-opacity-90{--tw-bg-opacity:0.9}.sm\\:dark\\:bg-opacity-95{--tw-bg-opacity:0.95}.sm\\:dark\\:bg-opacity-100{--tw-bg-opacity:1}.group:hover .sm\\:dark\\:group-hover\\:bg-opacity-0{--tw-bg-opacity:0}.group:hover .sm\\:dark\\:group-hover\\:bg-opacity-5{--tw-bg-opacity:0.05}.group:hover .sm\\:dark\\:group-hover\\:bg-opacity-10{--tw-bg-opacity:0.1}.group:hover .sm\\:dark\\:group-hover\\:bg-opacity-20{--tw-bg-opacity:0.2}.group:hover .sm\\:dark\\:group-hover\\:bg-opacity-25{--tw-bg-opacity:0.25}.group:hover .sm\\:dark\\:group-hover\\:bg-opacity-30{--tw-bg-opacity:0.3}.group:hover .sm\\:dark\\:group-hover\\:bg-opacity-40{--tw-bg-opacity:0.4}.group:hover .sm\\:dark\\:group-hover\\:bg-opacity-50{--tw-bg-opacity:0.5}.group:hover .sm\\:dark\\:group-hover\\:bg-opacity-60{--tw-bg-opacity:0.6}.group:hover .sm\\:dark\\:group-hover\\:bg-opacity-70{--tw-bg-opacity:0.7}.group:hover .sm\\:dark\\:group-hover\\:bg-opacity-75{--tw-bg-opacity:0.75}.group:hover .sm\\:dark\\:group-hover\\:bg-opacity-80{--tw-bg-opacity:0.8}.group:hover .sm\\:dark\\:group-hover\\:bg-opacity-90{--tw-bg-opacity:0.9}.group:hover .sm\\:dark\\:group-hover\\:bg-opacity-95{--tw-bg-opacity:0.95}.group:hover .sm\\:dark\\:group-hover\\:bg-opacity-100{--tw-bg-opacity:1}.sm\\:dark\\:focus-within\\:bg-opacity-0:focus-within{--tw-bg-opacity:0}.sm\\:dark\\:focus-within\\:bg-opacity-5:focus-within{--tw-bg-opacity:0.05}.sm\\:dark\\:focus-within\\:bg-opacity-10:focus-within{--tw-bg-opacity:0.1}.sm\\:dark\\:focus-within\\:bg-opacity-20:focus-within{--tw-bg-opacity:0.2}.sm\\:dark\\:focus-within\\:bg-opacity-25:focus-within{--tw-bg-opacity:0.25}.sm\\:dark\\:focus-within\\:bg-opacity-30:focus-within{--tw-bg-opacity:0.3}.sm\\:dark\\:focus-within\\:bg-opacity-40:focus-within{--tw-bg-opacity:0.4}.sm\\:dark\\:focus-within\\:bg-opacity-50:focus-within{--tw-bg-opacity:0.5}.sm\\:dark\\:focus-within\\:bg-opacity-60:focus-within{--tw-bg-opacity:0.6}.sm\\:dark\\:focus-within\\:bg-opacity-70:focus-within{--tw-bg-opacity:0.7}.sm\\:dark\\:focus-within\\:bg-opacity-75:focus-within{--tw-bg-opacity:0.75}.sm\\:dark\\:focus-within\\:bg-opacity-80:focus-within{--tw-bg-opacity:0.8}.sm\\:dark\\:focus-within\\:bg-opacity-90:focus-within{--tw-bg-opacity:0.9}.sm\\:dark\\:focus-within\\:bg-opacity-95:focus-within{--tw-bg-opacity:0.95}.sm\\:dark\\:focus-within\\:bg-opacity-100:focus-within{--tw-bg-opacity:1}.sm\\:dark\\:hover\\:bg-opacity-0:hover{--tw-bg-opacity:0}.sm\\:dark\\:hover\\:bg-opacity-5:hover{--tw-bg-opacity:0.05}.sm\\:dark\\:hover\\:bg-opacity-10:hover{--tw-bg-opacity:0.1}.sm\\:dark\\:hover\\:bg-opacity-20:hover{--tw-bg-opacity:0.2}.sm\\:dark\\:hover\\:bg-opacity-25:hover{--tw-bg-opacity:0.25}.sm\\:dark\\:hover\\:bg-opacity-30:hover{--tw-bg-opacity:0.3}.sm\\:dark\\:hover\\:bg-opacity-40:hover{--tw-bg-opacity:0.4}.sm\\:dark\\:hover\\:bg-opacity-50:hover{--tw-bg-opacity:0.5}.sm\\:dark\\:hover\\:bg-opacity-60:hover{--tw-bg-opacity:0.6}.sm\\:dark\\:hover\\:bg-opacity-70:hover{--tw-bg-opacity:0.7}.sm\\:dark\\:hover\\:bg-opacity-75:hover{--tw-bg-opacity:0.75}.sm\\:dark\\:hover\\:bg-opacity-80:hover{--tw-bg-opacity:0.8}.sm\\:dark\\:hover\\:bg-opacity-90:hover{--tw-bg-opacity:0.9}.sm\\:dark\\:hover\\:bg-opacity-95:hover{--tw-bg-opacity:0.95}.sm\\:dark\\:hover\\:bg-opacity-100:hover{--tw-bg-opacity:1}.sm\\:dark\\:focus\\:bg-opacity-0:focus{--tw-bg-opacity:0}.sm\\:dark\\:focus\\:bg-opacity-5:focus{--tw-bg-opacity:0.05}.sm\\:dark\\:focus\\:bg-opacity-10:focus{--tw-bg-opacity:0.1}.sm\\:dark\\:focus\\:bg-opacity-20:focus{--tw-bg-opacity:0.2}.sm\\:dark\\:focus\\:bg-opacity-25:focus{--tw-bg-opacity:0.25}.sm\\:dark\\:focus\\:bg-opacity-30:focus{--tw-bg-opacity:0.3}.sm\\:dark\\:focus\\:bg-opacity-40:focus{--tw-bg-opacity:0.4}.sm\\:dark\\:focus\\:bg-opacity-50:focus{--tw-bg-opacity:0.5}.sm\\:dark\\:focus\\:bg-opacity-60:focus{--tw-bg-opacity:0.6}.sm\\:dark\\:focus\\:bg-opacity-70:focus{--tw-bg-opacity:0.7}.sm\\:dark\\:focus\\:bg-opacity-75:focus{--tw-bg-opacity:0.75}.sm\\:dark\\:focus\\:bg-opacity-80:focus{--tw-bg-opacity:0.8}.sm\\:dark\\:focus\\:bg-opacity-90:focus{--tw-bg-opacity:0.9}.sm\\:dark\\:focus\\:bg-opacity-95:focus{--tw-bg-opacity:0.95}.sm\\:dark\\:focus\\:bg-opacity-100:focus{--tw-bg-opacity:1}}.sm\\:bg-none{background-image:none}.sm\\:bg-gradient-to-t{background-image:linear-gradient(to top, var(--tw-gradient-stops))}.sm\\:bg-gradient-to-tr{background-image:linear-gradient(to top right, var(--tw-gradient-stops))}.sm\\:bg-gradient-to-r{background-image:linear-gradient(to right, var(--tw-gradient-stops))}.sm\\:bg-gradient-to-br{background-image:linear-gradient(to bottom right, var(--tw-gradient-stops))}.sm\\:bg-gradient-to-b{background-image:linear-gradient(to bottom, var(--tw-gradient-stops))}.sm\\:bg-gradient-to-bl{background-image:linear-gradient(to bottom left, var(--tw-gradient-stops))}.sm\\:bg-gradient-to-l{background-image:linear-gradient(to left, var(--tw-gradient-stops))}.sm\\:bg-gradient-to-tl{background-image:linear-gradient(to top left, var(--tw-gradient-stops))}.sm\\:from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.sm\\:from-current{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:from-white{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:from-lightgrey{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.sm\\:from-midgrey{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:from-darkgrey{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.sm\\:from-grey{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.sm\\:from-black{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.sm\\:from-highlight{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.sm\\:from-highlight_hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.sm\\:from-button_outline{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:from-error{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.sm\\:from-text-light{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.sm\\:from-text-dimmed{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:from-text-dark{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:from-body-light{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:from-body-dark{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.sm\\:from-button{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.sm\\:from-button_hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.sm\\:hover\\:from-transparent:hover{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.sm\\:hover\\:from-current:hover{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:hover\\:from-white:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:hover\\:from-lightgrey:hover{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.sm\\:hover\\:from-midgrey:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:hover\\:from-darkgrey:hover{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.sm\\:hover\\:from-grey:hover{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.sm\\:hover\\:from-black:hover{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.sm\\:hover\\:from-highlight:hover{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.sm\\:hover\\:from-highlight_hover:hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.sm\\:hover\\:from-button_outline:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:hover\\:from-error:hover{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.sm\\:hover\\:from-text-light:hover{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.sm\\:hover\\:from-text-dimmed:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:hover\\:from-text-dark:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:hover\\:from-body-light:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:hover\\:from-body-dark:hover{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.sm\\:hover\\:from-button:hover{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.sm\\:hover\\:from-button_hover:hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.sm\\:focus\\:from-transparent:focus{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.sm\\:focus\\:from-current:focus{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:focus\\:from-white:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:focus\\:from-lightgrey:focus{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.sm\\:focus\\:from-midgrey:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:focus\\:from-darkgrey:focus{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.sm\\:focus\\:from-grey:focus{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.sm\\:focus\\:from-black:focus{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.sm\\:focus\\:from-highlight:focus{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.sm\\:focus\\:from-highlight_hover:focus{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.sm\\:focus\\:from-button_outline:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:focus\\:from-error:focus{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.sm\\:focus\\:from-text-light:focus{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.sm\\:focus\\:from-text-dimmed:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:focus\\:from-text-dark:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:focus\\:from-body-light:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:focus\\:from-body-dark:focus{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.sm\\:focus\\:from-button:focus{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.sm\\:focus\\:from-button_hover:focus{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}@media(prefers-color-scheme: dark){.sm\\:dark\\:from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.sm\\:dark\\:from-current{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:dark\\:from-white{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:dark\\:from-lightgrey{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.sm\\:dark\\:from-midgrey{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:dark\\:from-darkgrey{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.sm\\:dark\\:from-grey{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.sm\\:dark\\:from-black{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.sm\\:dark\\:from-highlight{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.sm\\:dark\\:from-highlight_hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.sm\\:dark\\:from-button_outline{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:dark\\:from-error{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.sm\\:dark\\:from-text-light{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.sm\\:dark\\:from-text-dimmed{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:dark\\:from-text-dark{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:dark\\:from-body-light{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:dark\\:from-body-dark{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.sm\\:dark\\:from-button{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.sm\\:dark\\:from-button_hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.sm\\:dark\\:hover\\:from-transparent:hover{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.sm\\:dark\\:hover\\:from-current:hover{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:dark\\:hover\\:from-white:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:dark\\:hover\\:from-lightgrey:hover{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.sm\\:dark\\:hover\\:from-midgrey:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:dark\\:hover\\:from-darkgrey:hover{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.sm\\:dark\\:hover\\:from-grey:hover{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.sm\\:dark\\:hover\\:from-black:hover{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.sm\\:dark\\:hover\\:from-highlight:hover{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.sm\\:dark\\:hover\\:from-highlight_hover:hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.sm\\:dark\\:hover\\:from-button_outline:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:dark\\:hover\\:from-error:hover{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.sm\\:dark\\:hover\\:from-text-light:hover{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.sm\\:dark\\:hover\\:from-text-dimmed:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:dark\\:hover\\:from-text-dark:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:dark\\:hover\\:from-body-light:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:dark\\:hover\\:from-body-dark:hover{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.sm\\:dark\\:hover\\:from-button:hover{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.sm\\:dark\\:hover\\:from-button_hover:hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.sm\\:dark\\:focus\\:from-transparent:focus{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.sm\\:dark\\:focus\\:from-current:focus{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:dark\\:focus\\:from-white:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:dark\\:focus\\:from-lightgrey:focus{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.sm\\:dark\\:focus\\:from-midgrey:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:dark\\:focus\\:from-darkgrey:focus{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.sm\\:dark\\:focus\\:from-grey:focus{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.sm\\:dark\\:focus\\:from-black:focus{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.sm\\:dark\\:focus\\:from-highlight:focus{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.sm\\:dark\\:focus\\:from-highlight_hover:focus{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.sm\\:dark\\:focus\\:from-button_outline:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:dark\\:focus\\:from-error:focus{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.sm\\:dark\\:focus\\:from-text-light:focus{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.sm\\:dark\\:focus\\:from-text-dimmed:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:dark\\:focus\\:from-text-dark:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:dark\\:focus\\:from-body-light:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:dark\\:focus\\:from-body-dark:focus{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.sm\\:dark\\:focus\\:from-button:focus{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.sm\\:dark\\:focus\\:from-button_hover:focus{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}}.sm\\:via-transparent{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.sm\\:via-current{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:via-white{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:via-lightgrey{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.sm\\:via-midgrey{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:via-darkgrey{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.sm\\:via-grey{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.sm\\:via-black{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.sm\\:via-highlight{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.sm\\:via-highlight_hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.sm\\:via-button_outline{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:via-error{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.sm\\:via-text-light{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.sm\\:via-text-dimmed{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:via-text-dark{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:via-body-light{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:via-body-dark{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.sm\\:via-button{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.sm\\:via-button_hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.sm\\:hover\\:via-transparent:hover{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.sm\\:hover\\:via-current:hover{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:hover\\:via-white:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:hover\\:via-lightgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.sm\\:hover\\:via-midgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:hover\\:via-darkgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.sm\\:hover\\:via-grey:hover{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.sm\\:hover\\:via-black:hover{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.sm\\:hover\\:via-highlight:hover{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.sm\\:hover\\:via-highlight_hover:hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.sm\\:hover\\:via-button_outline:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:hover\\:via-error:hover{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.sm\\:hover\\:via-text-light:hover{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.sm\\:hover\\:via-text-dimmed:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:hover\\:via-text-dark:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:hover\\:via-body-light:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:hover\\:via-body-dark:hover{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.sm\\:hover\\:via-button:hover{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.sm\\:hover\\:via-button_hover:hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.sm\\:focus\\:via-transparent:focus{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.sm\\:focus\\:via-current:focus{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:focus\\:via-white:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:focus\\:via-lightgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.sm\\:focus\\:via-midgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:focus\\:via-darkgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.sm\\:focus\\:via-grey:focus{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.sm\\:focus\\:via-black:focus{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.sm\\:focus\\:via-highlight:focus{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.sm\\:focus\\:via-highlight_hover:focus{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.sm\\:focus\\:via-button_outline:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:focus\\:via-error:focus{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.sm\\:focus\\:via-text-light:focus{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.sm\\:focus\\:via-text-dimmed:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:focus\\:via-text-dark:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:focus\\:via-body-light:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:focus\\:via-body-dark:focus{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.sm\\:focus\\:via-button:focus{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.sm\\:focus\\:via-button_hover:focus{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}@media(prefers-color-scheme: dark){.sm\\:dark\\:via-transparent{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.sm\\:dark\\:via-current{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:dark\\:via-white{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:dark\\:via-lightgrey{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.sm\\:dark\\:via-midgrey{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:dark\\:via-darkgrey{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.sm\\:dark\\:via-grey{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.sm\\:dark\\:via-black{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.sm\\:dark\\:via-highlight{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.sm\\:dark\\:via-highlight_hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.sm\\:dark\\:via-button_outline{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:dark\\:via-error{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.sm\\:dark\\:via-text-light{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.sm\\:dark\\:via-text-dimmed{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:dark\\:via-text-dark{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:dark\\:via-body-light{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:dark\\:via-body-dark{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.sm\\:dark\\:via-button{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.sm\\:dark\\:via-button_hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.sm\\:dark\\:hover\\:via-transparent:hover{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.sm\\:dark\\:hover\\:via-current:hover{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:dark\\:hover\\:via-white:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:dark\\:hover\\:via-lightgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.sm\\:dark\\:hover\\:via-midgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:dark\\:hover\\:via-darkgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.sm\\:dark\\:hover\\:via-grey:hover{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.sm\\:dark\\:hover\\:via-black:hover{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.sm\\:dark\\:hover\\:via-highlight:hover{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.sm\\:dark\\:hover\\:via-highlight_hover:hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.sm\\:dark\\:hover\\:via-button_outline:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:dark\\:hover\\:via-error:hover{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.sm\\:dark\\:hover\\:via-text-light:hover{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.sm\\:dark\\:hover\\:via-text-dimmed:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:dark\\:hover\\:via-text-dark:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:dark\\:hover\\:via-body-light:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:dark\\:hover\\:via-body-dark:hover{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.sm\\:dark\\:hover\\:via-button:hover{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.sm\\:dark\\:hover\\:via-button_hover:hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.sm\\:dark\\:focus\\:via-transparent:focus{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.sm\\:dark\\:focus\\:via-current:focus{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:dark\\:focus\\:via-white:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:dark\\:focus\\:via-lightgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.sm\\:dark\\:focus\\:via-midgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:dark\\:focus\\:via-darkgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.sm\\:dark\\:focus\\:via-grey:focus{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.sm\\:dark\\:focus\\:via-black:focus{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.sm\\:dark\\:focus\\:via-highlight:focus{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.sm\\:dark\\:focus\\:via-highlight_hover:focus{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.sm\\:dark\\:focus\\:via-button_outline:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:dark\\:focus\\:via-error:focus{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.sm\\:dark\\:focus\\:via-text-light:focus{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.sm\\:dark\\:focus\\:via-text-dimmed:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.sm\\:dark\\:focus\\:via-text-dark:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:dark\\:focus\\:via-body-light:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\\:dark\\:focus\\:via-body-dark:focus{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.sm\\:dark\\:focus\\:via-button:focus{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.sm\\:dark\\:focus\\:via-button_hover:focus{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}}.sm\\:to-transparent{--tw-gradient-to:transparent}.sm\\:to-current{--tw-gradient-to:currentColor}.sm\\:to-white{--tw-gradient-to:#fff}.sm\\:to-lightgrey{--tw-gradient-to:#F7F7F7}.sm\\:to-midgrey{--tw-gradient-to:#cfcfcf}.sm\\:to-darkgrey{--tw-gradient-to:#7f7f7f}.sm\\:to-grey{--tw-gradient-to:#1e1e1e}.sm\\:to-black{--tw-gradient-to:#0f0f0f}.sm\\:to-highlight{--tw-gradient-to:#0071e3}.sm\\:to-highlight_hover{--tw-gradient-to:#0077ed}.sm\\:to-button_outline{--tw-gradient-to:#cfcfcf}.sm\\:to-error{--tw-gradient-to:#ff453a}.sm\\:to-text-light{--tw-gradient-to:#0f0f0f}.sm\\:to-text-dimmed{--tw-gradient-to:#cfcfcf}.sm\\:to-text-dark{--tw-gradient-to:#fff}.sm\\:to-body-light{--tw-gradient-to:#fff}.sm\\:to-body-dark{--tw-gradient-to:#1e1e1e}.sm\\:to-button{--tw-gradient-to:#0071e3}.sm\\:to-button_hover{--tw-gradient-to:#0077ed}.sm\\:hover\\:to-transparent:hover{--tw-gradient-to:transparent}.sm\\:hover\\:to-current:hover{--tw-gradient-to:currentColor}.sm\\:hover\\:to-white:hover{--tw-gradient-to:#fff}.sm\\:hover\\:to-lightgrey:hover{--tw-gradient-to:#F7F7F7}.sm\\:hover\\:to-midgrey:hover{--tw-gradient-to:#cfcfcf}.sm\\:hover\\:to-darkgrey:hover{--tw-gradient-to:#7f7f7f}.sm\\:hover\\:to-grey:hover{--tw-gradient-to:#1e1e1e}.sm\\:hover\\:to-black:hover{--tw-gradient-to:#0f0f0f}.sm\\:hover\\:to-highlight:hover{--tw-gradient-to:#0071e3}.sm\\:hover\\:to-highlight_hover:hover{--tw-gradient-to:#0077ed}.sm\\:hover\\:to-button_outline:hover{--tw-gradient-to:#cfcfcf}.sm\\:hover\\:to-error:hover{--tw-gradient-to:#ff453a}.sm\\:hover\\:to-text-light:hover{--tw-gradient-to:#0f0f0f}.sm\\:hover\\:to-text-dimmed:hover{--tw-gradient-to:#cfcfcf}.sm\\:hover\\:to-text-dark:hover{--tw-gradient-to:#fff}.sm\\:hover\\:to-body-light:hover{--tw-gradient-to:#fff}.sm\\:hover\\:to-body-dark:hover{--tw-gradient-to:#1e1e1e}.sm\\:hover\\:to-button:hover{--tw-gradient-to:#0071e3}.sm\\:hover\\:to-button_hover:hover{--tw-gradient-to:#0077ed}.sm\\:focus\\:to-transparent:focus{--tw-gradient-to:transparent}.sm\\:focus\\:to-current:focus{--tw-gradient-to:currentColor}.sm\\:focus\\:to-white:focus{--tw-gradient-to:#fff}.sm\\:focus\\:to-lightgrey:focus{--tw-gradient-to:#F7F7F7}.sm\\:focus\\:to-midgrey:focus{--tw-gradient-to:#cfcfcf}.sm\\:focus\\:to-darkgrey:focus{--tw-gradient-to:#7f7f7f}.sm\\:focus\\:to-grey:focus{--tw-gradient-to:#1e1e1e}.sm\\:focus\\:to-black:focus{--tw-gradient-to:#0f0f0f}.sm\\:focus\\:to-highlight:focus{--tw-gradient-to:#0071e3}.sm\\:focus\\:to-highlight_hover:focus{--tw-gradient-to:#0077ed}.sm\\:focus\\:to-button_outline:focus{--tw-gradient-to:#cfcfcf}.sm\\:focus\\:to-error:focus{--tw-gradient-to:#ff453a}.sm\\:focus\\:to-text-light:focus{--tw-gradient-to:#0f0f0f}.sm\\:focus\\:to-text-dimmed:focus{--tw-gradient-to:#cfcfcf}.sm\\:focus\\:to-text-dark:focus{--tw-gradient-to:#fff}.sm\\:focus\\:to-body-light:focus{--tw-gradient-to:#fff}.sm\\:focus\\:to-body-dark:focus{--tw-gradient-to:#1e1e1e}.sm\\:focus\\:to-button:focus{--tw-gradient-to:#0071e3}.sm\\:focus\\:to-button_hover:focus{--tw-gradient-to:#0077ed}@media(prefers-color-scheme: dark){.sm\\:dark\\:to-transparent{--tw-gradient-to:transparent}.sm\\:dark\\:to-current{--tw-gradient-to:currentColor}.sm\\:dark\\:to-white{--tw-gradient-to:#fff}.sm\\:dark\\:to-lightgrey{--tw-gradient-to:#F7F7F7}.sm\\:dark\\:to-midgrey{--tw-gradient-to:#cfcfcf}.sm\\:dark\\:to-darkgrey{--tw-gradient-to:#7f7f7f}.sm\\:dark\\:to-grey{--tw-gradient-to:#1e1e1e}.sm\\:dark\\:to-black{--tw-gradient-to:#0f0f0f}.sm\\:dark\\:to-highlight{--tw-gradient-to:#0071e3}.sm\\:dark\\:to-highlight_hover{--tw-gradient-to:#0077ed}.sm\\:dark\\:to-button_outline{--tw-gradient-to:#cfcfcf}.sm\\:dark\\:to-error{--tw-gradient-to:#ff453a}.sm\\:dark\\:to-text-light{--tw-gradient-to:#0f0f0f}.sm\\:dark\\:to-text-dimmed{--tw-gradient-to:#cfcfcf}.sm\\:dark\\:to-text-dark{--tw-gradient-to:#fff}.sm\\:dark\\:to-body-light{--tw-gradient-to:#fff}.sm\\:dark\\:to-body-dark{--tw-gradient-to:#1e1e1e}.sm\\:dark\\:to-button{--tw-gradient-to:#0071e3}.sm\\:dark\\:to-button_hover{--tw-gradient-to:#0077ed}.sm\\:dark\\:hover\\:to-transparent:hover{--tw-gradient-to:transparent}.sm\\:dark\\:hover\\:to-current:hover{--tw-gradient-to:currentColor}.sm\\:dark\\:hover\\:to-white:hover{--tw-gradient-to:#fff}.sm\\:dark\\:hover\\:to-lightgrey:hover{--tw-gradient-to:#F7F7F7}.sm\\:dark\\:hover\\:to-midgrey:hover{--tw-gradient-to:#cfcfcf}.sm\\:dark\\:hover\\:to-darkgrey:hover{--tw-gradient-to:#7f7f7f}.sm\\:dark\\:hover\\:to-grey:hover{--tw-gradient-to:#1e1e1e}.sm\\:dark\\:hover\\:to-black:hover{--tw-gradient-to:#0f0f0f}.sm\\:dark\\:hover\\:to-highlight:hover{--tw-gradient-to:#0071e3}.sm\\:dark\\:hover\\:to-highlight_hover:hover{--tw-gradient-to:#0077ed}.sm\\:dark\\:hover\\:to-button_outline:hover{--tw-gradient-to:#cfcfcf}.sm\\:dark\\:hover\\:to-error:hover{--tw-gradient-to:#ff453a}.sm\\:dark\\:hover\\:to-text-light:hover{--tw-gradient-to:#0f0f0f}.sm\\:dark\\:hover\\:to-text-dimmed:hover{--tw-gradient-to:#cfcfcf}.sm\\:dark\\:hover\\:to-text-dark:hover{--tw-gradient-to:#fff}.sm\\:dark\\:hover\\:to-body-light:hover{--tw-gradient-to:#fff}.sm\\:dark\\:hover\\:to-body-dark:hover{--tw-gradient-to:#1e1e1e}.sm\\:dark\\:hover\\:to-button:hover{--tw-gradient-to:#0071e3}.sm\\:dark\\:hover\\:to-button_hover:hover{--tw-gradient-to:#0077ed}.sm\\:dark\\:focus\\:to-transparent:focus{--tw-gradient-to:transparent}.sm\\:dark\\:focus\\:to-current:focus{--tw-gradient-to:currentColor}.sm\\:dark\\:focus\\:to-white:focus{--tw-gradient-to:#fff}.sm\\:dark\\:focus\\:to-lightgrey:focus{--tw-gradient-to:#F7F7F7}.sm\\:dark\\:focus\\:to-midgrey:focus{--tw-gradient-to:#cfcfcf}.sm\\:dark\\:focus\\:to-darkgrey:focus{--tw-gradient-to:#7f7f7f}.sm\\:dark\\:focus\\:to-grey:focus{--tw-gradient-to:#1e1e1e}.sm\\:dark\\:focus\\:to-black:focus{--tw-gradient-to:#0f0f0f}.sm\\:dark\\:focus\\:to-highlight:focus{--tw-gradient-to:#0071e3}.sm\\:dark\\:focus\\:to-highlight_hover:focus{--tw-gradient-to:#0077ed}.sm\\:dark\\:focus\\:to-button_outline:focus{--tw-gradient-to:#cfcfcf}.sm\\:dark\\:focus\\:to-error:focus{--tw-gradient-to:#ff453a}.sm\\:dark\\:focus\\:to-text-light:focus{--tw-gradient-to:#0f0f0f}.sm\\:dark\\:focus\\:to-text-dimmed:focus{--tw-gradient-to:#cfcfcf}.sm\\:dark\\:focus\\:to-text-dark:focus{--tw-gradient-to:#fff}.sm\\:dark\\:focus\\:to-body-light:focus{--tw-gradient-to:#fff}.sm\\:dark\\:focus\\:to-body-dark:focus{--tw-gradient-to:#1e1e1e}.sm\\:dark\\:focus\\:to-button:focus{--tw-gradient-to:#0071e3}.sm\\:dark\\:focus\\:to-button_hover:focus{--tw-gradient-to:#0077ed}}.sm\\:decoration-slice{-webkit-box-decoration-break:slice;box-decoration-break:slice}.sm\\:decoration-clone{-webkit-box-decoration-break:clone;box-decoration-break:clone}.sm\\:bg-auto{background-size:auto}.sm\\:bg-cover{background-size:cover}.sm\\:bg-contain{background-size:contain}.sm\\:bg-fixed{background-attachment:fixed}.sm\\:bg-local{background-attachment:local}.sm\\:bg-scroll{background-attachment:scroll}.sm\\:bg-clip-border{background-clip:border-box}.sm\\:bg-clip-padding{background-clip:padding-box}.sm\\:bg-clip-content{background-clip:content-box}.sm\\:bg-clip-text{background-clip:text}.sm\\:bg-bottom{background-position:bottom}.sm\\:bg-center{background-position:center}.sm\\:bg-left{background-position:left}.sm\\:bg-left-bottom{background-position:left bottom}.sm\\:bg-left-top{background-position:left top}.sm\\:bg-right{background-position:right}.sm\\:bg-right-bottom{background-position:right bottom}.sm\\:bg-right-top{background-position:right top}.sm\\:bg-top{background-position:top}.sm\\:bg-repeat{background-repeat:repeat}.sm\\:bg-no-repeat{background-repeat:no-repeat}.sm\\:bg-repeat-x{background-repeat:repeat-x}.sm\\:bg-repeat-y{background-repeat:repeat-y}.sm\\:bg-repeat-round{background-repeat:round}.sm\\:bg-repeat-space{background-repeat:space}.sm\\:bg-origin-border{background-origin:border-box}.sm\\:bg-origin-padding{background-origin:padding-box}.sm\\:bg-origin-content{background-origin:content-box}.sm\\:fill-current{fill:currentColor}.sm\\:stroke-current{stroke:currentColor}.sm\\:stroke-0{stroke-width:0}.sm\\:stroke-1{stroke-width:1}.sm\\:stroke-2{stroke-width:2}.sm\\:object-contain{object-fit:contain}.sm\\:object-cover{object-fit:cover}.sm\\:object-fill{object-fit:fill}.sm\\:object-none{object-fit:none}.sm\\:object-scale-down{object-fit:scale-down}.sm\\:object-bottom{object-position:bottom}.sm\\:object-center{object-position:center}.sm\\:object-left{object-position:left}.sm\\:object-left-bottom{object-position:left bottom}.sm\\:object-left-top{object-position:left top}.sm\\:object-right{object-position:right}.sm\\:object-right-bottom{object-position:right bottom}.sm\\:object-right-top{object-position:right top}.sm\\:object-top{object-position:top}.sm\\:p-0{padding:0px}.sm\\:p-1{padding:0.25rem}.sm\\:p-2{padding:0.5rem}.sm\\:p-3{padding:0.75rem}.sm\\:p-4{padding:1rem}.sm\\:p-5{padding:1.25rem}.sm\\:p-6{padding:1.5rem}.sm\\:p-7{padding:1.75rem}.sm\\:p-8{padding:2rem}.sm\\:p-9{padding:2.25rem}.sm\\:p-10{padding:2.5rem}.sm\\:p-11{padding:2.75rem}.sm\\:p-12{padding:3rem}.sm\\:p-14{padding:3.5rem}.sm\\:p-16{padding:4rem}.sm\\:p-20{padding:5rem}.sm\\:p-24{padding:6rem}.sm\\:p-28{padding:7rem}.sm\\:p-32{padding:8rem}.sm\\:p-36{padding:9rem}.sm\\:p-40{padding:10rem}.sm\\:p-44{padding:11rem}.sm\\:p-48{padding:12rem}.sm\\:p-52{padding:13rem}.sm\\:p-56{padding:14rem}.sm\\:p-60{padding:15rem}.sm\\:p-64{padding:16rem}.sm\\:p-72{padding:18rem}.sm\\:p-80{padding:20rem}.sm\\:p-96{padding:24rem}.sm\\:p-px{padding:1px}.sm\\:p-0\\.5{padding:0.125rem}.sm\\:p-1\\.5{padding:0.375rem}.sm\\:p-2\\.5{padding:0.625rem}.sm\\:p-3\\.5{padding:0.875rem}.sm\\:px-0{padding-left:0px;padding-right:0px}.sm\\:px-1{padding-left:0.25rem;padding-right:0.25rem}.sm\\:px-2{padding-left:0.5rem;padding-right:0.5rem}.sm\\:px-3{padding-left:0.75rem;padding-right:0.75rem}.sm\\:px-4{padding-left:1rem;padding-right:1rem}.sm\\:px-5{padding-left:1.25rem;padding-right:1.25rem}.sm\\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\\:px-7{padding-left:1.75rem;padding-right:1.75rem}.sm\\:px-8{padding-left:2rem;padding-right:2rem}.sm\\:px-9{padding-left:2.25rem;padding-right:2.25rem}.sm\\:px-10{padding-left:2.5rem;padding-right:2.5rem}.sm\\:px-11{padding-left:2.75rem;padding-right:2.75rem}.sm\\:px-12{padding-left:3rem;padding-right:3rem}.sm\\:px-14{padding-left:3.5rem;padding-right:3.5rem}.sm\\:px-16{padding-left:4rem;padding-right:4rem}.sm\\:px-20{padding-left:5rem;padding-right:5rem}.sm\\:px-24{padding-left:6rem;padding-right:6rem}.sm\\:px-28{padding-left:7rem;padding-right:7rem}.sm\\:px-32{padding-left:8rem;padding-right:8rem}.sm\\:px-36{padding-left:9rem;padding-right:9rem}.sm\\:px-40{padding-left:10rem;padding-right:10rem}.sm\\:px-44{padding-left:11rem;padding-right:11rem}.sm\\:px-48{padding-left:12rem;padding-right:12rem}.sm\\:px-52{padding-left:13rem;padding-right:13rem}.sm\\:px-56{padding-left:14rem;padding-right:14rem}.sm\\:px-60{padding-left:15rem;padding-right:15rem}.sm\\:px-64{padding-left:16rem;padding-right:16rem}.sm\\:px-72{padding-left:18rem;padding-right:18rem}.sm\\:px-80{padding-left:20rem;padding-right:20rem}.sm\\:px-96{padding-left:24rem;padding-right:24rem}.sm\\:px-px{padding-left:1px;padding-right:1px}.sm\\:px-0\\.5{padding-left:0.125rem;padding-right:0.125rem}.sm\\:px-1\\.5{padding-left:0.375rem;padding-right:0.375rem}.sm\\:px-2\\.5{padding-left:0.625rem;padding-right:0.625rem}.sm\\:px-3\\.5{padding-left:0.875rem;padding-right:0.875rem}.sm\\:py-0{padding-top:0px;padding-bottom:0px}.sm\\:py-1{padding-top:0.25rem;padding-bottom:0.25rem}.sm\\:py-2{padding-top:0.5rem;padding-bottom:0.5rem}.sm\\:py-3{padding-top:0.75rem;padding-bottom:0.75rem}.sm\\:py-4{padding-top:1rem;padding-bottom:1rem}.sm\\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.sm\\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.sm\\:py-7{padding-top:1.75rem;padding-bottom:1.75rem}.sm\\:py-8{padding-top:2rem;padding-bottom:2rem}.sm\\:py-9{padding-top:2.25rem;padding-bottom:2.25rem}.sm\\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.sm\\:py-11{padding-top:2.75rem;padding-bottom:2.75rem}.sm\\:py-12{padding-top:3rem;padding-bottom:3rem}.sm\\:py-14{padding-top:3.5rem;padding-bottom:3.5rem}.sm\\:py-16{padding-top:4rem;padding-bottom:4rem}.sm\\:py-20{padding-top:5rem;padding-bottom:5rem}.sm\\:py-24{padding-top:6rem;padding-bottom:6rem}.sm\\:py-28{padding-top:7rem;padding-bottom:7rem}.sm\\:py-32{padding-top:8rem;padding-bottom:8rem}.sm\\:py-36{padding-top:9rem;padding-bottom:9rem}.sm\\:py-40{padding-top:10rem;padding-bottom:10rem}.sm\\:py-44{padding-top:11rem;padding-bottom:11rem}.sm\\:py-48{padding-top:12rem;padding-bottom:12rem}.sm\\:py-52{padding-top:13rem;padding-bottom:13rem}.sm\\:py-56{padding-top:14rem;padding-bottom:14rem}.sm\\:py-60{padding-top:15rem;padding-bottom:15rem}.sm\\:py-64{padding-top:16rem;padding-bottom:16rem}.sm\\:py-72{padding-top:18rem;padding-bottom:18rem}.sm\\:py-80{padding-top:20rem;padding-bottom:20rem}.sm\\:py-96{padding-top:24rem;padding-bottom:24rem}.sm\\:py-px{padding-top:1px;padding-bottom:1px}.sm\\:py-0\\.5{padding-top:0.125rem;padding-bottom:0.125rem}.sm\\:py-1\\.5{padding-top:0.375rem;padding-bottom:0.375rem}.sm\\:py-2\\.5{padding-top:0.625rem;padding-bottom:0.625rem}.sm\\:py-3\\.5{padding-top:0.875rem;padding-bottom:0.875rem}.sm\\:pt-0{padding-top:0px}.sm\\:pt-1{padding-top:0.25rem}.sm\\:pt-2{padding-top:0.5rem}.sm\\:pt-3{padding-top:0.75rem}.sm\\:pt-4{padding-top:1rem}.sm\\:pt-5{padding-top:1.25rem}.sm\\:pt-6{padding-top:1.5rem}.sm\\:pt-7{padding-top:1.75rem}.sm\\:pt-8{padding-top:2rem}.sm\\:pt-9{padding-top:2.25rem}.sm\\:pt-10{padding-top:2.5rem}.sm\\:pt-11{padding-top:2.75rem}.sm\\:pt-12{padding-top:3rem}.sm\\:pt-14{padding-top:3.5rem}.sm\\:pt-16{padding-top:4rem}.sm\\:pt-20{padding-top:5rem}.sm\\:pt-24{padding-top:6rem}.sm\\:pt-28{padding-top:7rem}.sm\\:pt-32{padding-top:8rem}.sm\\:pt-36{padding-top:9rem}.sm\\:pt-40{padding-top:10rem}.sm\\:pt-44{padding-top:11rem}.sm\\:pt-48{padding-top:12rem}.sm\\:pt-52{padding-top:13rem}.sm\\:pt-56{padding-top:14rem}.sm\\:pt-60{padding-top:15rem}.sm\\:pt-64{padding-top:16rem}.sm\\:pt-72{padding-top:18rem}.sm\\:pt-80{padding-top:20rem}.sm\\:pt-96{padding-top:24rem}.sm\\:pt-px{padding-top:1px}.sm\\:pt-0\\.5{padding-top:0.125rem}.sm\\:pt-1\\.5{padding-top:0.375rem}.sm\\:pt-2\\.5{padding-top:0.625rem}.sm\\:pt-3\\.5{padding-top:0.875rem}.sm\\:pr-0{padding-right:0px}.sm\\:pr-1{padding-right:0.25rem}.sm\\:pr-2{padding-right:0.5rem}.sm\\:pr-3{padding-right:0.75rem}.sm\\:pr-4{padding-right:1rem}.sm\\:pr-5{padding-right:1.25rem}.sm\\:pr-6{padding-right:1.5rem}.sm\\:pr-7{padding-right:1.75rem}.sm\\:pr-8{padding-right:2rem}.sm\\:pr-9{padding-right:2.25rem}.sm\\:pr-10{padding-right:2.5rem}.sm\\:pr-11{padding-right:2.75rem}.sm\\:pr-12{padding-right:3rem}.sm\\:pr-14{padding-right:3.5rem}.sm\\:pr-16{padding-right:4rem}.sm\\:pr-20{padding-right:5rem}.sm\\:pr-24{padding-right:6rem}.sm\\:pr-28{padding-right:7rem}.sm\\:pr-32{padding-right:8rem}.sm\\:pr-36{padding-right:9rem}.sm\\:pr-40{padding-right:10rem}.sm\\:pr-44{padding-right:11rem}.sm\\:pr-48{padding-right:12rem}.sm\\:pr-52{padding-right:13rem}.sm\\:pr-56{padding-right:14rem}.sm\\:pr-60{padding-right:15rem}.sm\\:pr-64{padding-right:16rem}.sm\\:pr-72{padding-right:18rem}.sm\\:pr-80{padding-right:20rem}.sm\\:pr-96{padding-right:24rem}.sm\\:pr-px{padding-right:1px}.sm\\:pr-0\\.5{padding-right:0.125rem}.sm\\:pr-1\\.5{padding-right:0.375rem}.sm\\:pr-2\\.5{padding-right:0.625rem}.sm\\:pr-3\\.5{padding-right:0.875rem}.sm\\:pb-0{padding-bottom:0px}.sm\\:pb-1{padding-bottom:0.25rem}.sm\\:pb-2{padding-bottom:0.5rem}.sm\\:pb-3{padding-bottom:0.75rem}.sm\\:pb-4{padding-bottom:1rem}.sm\\:pb-5{padding-bottom:1.25rem}.sm\\:pb-6{padding-bottom:1.5rem}.sm\\:pb-7{padding-bottom:1.75rem}.sm\\:pb-8{padding-bottom:2rem}.sm\\:pb-9{padding-bottom:2.25rem}.sm\\:pb-10{padding-bottom:2.5rem}.sm\\:pb-11{padding-bottom:2.75rem}.sm\\:pb-12{padding-bottom:3rem}.sm\\:pb-14{padding-bottom:3.5rem}.sm\\:pb-16{padding-bottom:4rem}.sm\\:pb-20{padding-bottom:5rem}.sm\\:pb-24{padding-bottom:6rem}.sm\\:pb-28{padding-bottom:7rem}.sm\\:pb-32{padding-bottom:8rem}.sm\\:pb-36{padding-bottom:9rem}.sm\\:pb-40{padding-bottom:10rem}.sm\\:pb-44{padding-bottom:11rem}.sm\\:pb-48{padding-bottom:12rem}.sm\\:pb-52{padding-bottom:13rem}.sm\\:pb-56{padding-bottom:14rem}.sm\\:pb-60{padding-bottom:15rem}.sm\\:pb-64{padding-bottom:16rem}.sm\\:pb-72{padding-bottom:18rem}.sm\\:pb-80{padding-bottom:20rem}.sm\\:pb-96{padding-bottom:24rem}.sm\\:pb-px{padding-bottom:1px}.sm\\:pb-0\\.5{padding-bottom:0.125rem}.sm\\:pb-1\\.5{padding-bottom:0.375rem}.sm\\:pb-2\\.5{padding-bottom:0.625rem}.sm\\:pb-3\\.5{padding-bottom:0.875rem}.sm\\:pl-0{padding-left:0px}.sm\\:pl-1{padding-left:0.25rem}.sm\\:pl-2{padding-left:0.5rem}.sm\\:pl-3{padding-left:0.75rem}.sm\\:pl-4{padding-left:1rem}.sm\\:pl-5{padding-left:1.25rem}.sm\\:pl-6{padding-left:1.5rem}.sm\\:pl-7{padding-left:1.75rem}.sm\\:pl-8{padding-left:2rem}.sm\\:pl-9{padding-left:2.25rem}.sm\\:pl-10{padding-left:2.5rem}.sm\\:pl-11{padding-left:2.75rem}.sm\\:pl-12{padding-left:3rem}.sm\\:pl-14{padding-left:3.5rem}.sm\\:pl-16{padding-left:4rem}.sm\\:pl-20{padding-left:5rem}.sm\\:pl-24{padding-left:6rem}.sm\\:pl-28{padding-left:7rem}.sm\\:pl-32{padding-left:8rem}.sm\\:pl-36{padding-left:9rem}.sm\\:pl-40{padding-left:10rem}.sm\\:pl-44{padding-left:11rem}.sm\\:pl-48{padding-left:12rem}.sm\\:pl-52{padding-left:13rem}.sm\\:pl-56{padding-left:14rem}.sm\\:pl-60{padding-left:15rem}.sm\\:pl-64{padding-left:16rem}.sm\\:pl-72{padding-left:18rem}.sm\\:pl-80{padding-left:20rem}.sm\\:pl-96{padding-left:24rem}.sm\\:pl-px{padding-left:1px}.sm\\:pl-0\\.5{padding-left:0.125rem}.sm\\:pl-1\\.5{padding-left:0.375rem}.sm\\:pl-2\\.5{padding-left:0.625rem}.sm\\:pl-3\\.5{padding-left:0.875rem}.sm\\:text-left{text-align:left}.sm\\:text-center{text-align:center}.sm\\:text-right{text-align:right}.sm\\:text-justify{text-align:justify}.sm\\:align-baseline{vertical-align:baseline}.sm\\:align-top{vertical-align:top}.sm\\:align-middle{vertical-align:middle}.sm\\:align-bottom{vertical-align:bottom}.sm\\:align-text-top{vertical-align:text-top}.sm\\:align-text-bottom{vertical-align:text-bottom}.sm\\:font-sans{font-family:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"}.sm\\:font-serif{font-family:ui-serif, Georgia, Cambria, \"Times New Roman\", Times, serif}.sm\\:font-mono{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace}.sm\\:text-xs{font-size:0.75rem;line-height:1rem}.sm\\:text-sm{font-size:0.875rem;line-height:1.25rem}.sm\\:text-base{font-size:1rem;line-height:1.5rem}.sm\\:text-lg{font-size:1.125rem;line-height:1.75rem}.sm\\:text-xl{font-size:1.25rem;line-height:1.75rem}.sm\\:text-2xl{font-size:1.5rem;line-height:2rem}.sm\\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\\:text-5xl{font-size:3rem;line-height:1}.sm\\:text-6xl{font-size:3.75rem;line-height:1}.sm\\:text-7xl{font-size:4.5rem;line-height:1}.sm\\:text-8xl{font-size:6rem;line-height:1}.sm\\:text-9xl{font-size:8rem;line-height:1}.sm\\:font-thin{font-weight:100}.sm\\:font-extralight{font-weight:200}.sm\\:font-light{font-weight:300}.sm\\:font-normal{font-weight:400}.sm\\:font-medium{font-weight:500}.sm\\:font-semibold{font-weight:600}.sm\\:font-bold{font-weight:700}.sm\\:font-extrabold{font-weight:800}.sm\\:font-black{font-weight:900}.sm\\:uppercase{text-transform:uppercase}.sm\\:lowercase{text-transform:lowercase}.sm\\:capitalize{text-transform:capitalize}.sm\\:normal-case{text-transform:none}.sm\\:italic{font-style:italic}.sm\\:not-italic{font-style:normal}.sm\\:ordinal,.sm\\:slashed-zero,.sm\\:lining-nums,.sm\\:oldstyle-nums,.sm\\:proportional-nums,.sm\\:tabular-nums,.sm\\:diagonal-fractions,.sm\\:stacked-fractions{--tw-ordinal:var(--tw-empty,/*!*/ /*!*/);--tw-slashed-zero:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-figure:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-spacing:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-fraction:var(--tw-empty,/*!*/ /*!*/);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.sm\\:normal-nums{font-variant-numeric:normal}.sm\\:ordinal{--tw-ordinal:ordinal}.sm\\:slashed-zero{--tw-slashed-zero:slashed-zero}.sm\\:lining-nums{--tw-numeric-figure:lining-nums}.sm\\:oldstyle-nums{--tw-numeric-figure:oldstyle-nums}.sm\\:proportional-nums{--tw-numeric-spacing:proportional-nums}.sm\\:tabular-nums{--tw-numeric-spacing:tabular-nums}.sm\\:diagonal-fractions{--tw-numeric-fraction:diagonal-fractions}.sm\\:stacked-fractions{--tw-numeric-fraction:stacked-fractions}.sm\\:leading-3{line-height:.75rem}.sm\\:leading-4{line-height:1rem}.sm\\:leading-5{line-height:1.25rem}.sm\\:leading-6{line-height:1.5rem}.sm\\:leading-7{line-height:1.75rem}.sm\\:leading-8{line-height:2rem}.sm\\:leading-9{line-height:2.25rem}.sm\\:leading-10{line-height:2.5rem}.sm\\:leading-none{line-height:1}.sm\\:leading-tight{line-height:1.25}.sm\\:leading-snug{line-height:1.375}.sm\\:leading-normal{line-height:1.5}.sm\\:leading-relaxed{line-height:1.625}.sm\\:leading-loose{line-height:2}.sm\\:tracking-tighter{letter-spacing:-0.05em}.sm\\:tracking-tight{letter-spacing:-0.025em}.sm\\:tracking-normal{letter-spacing:0em}.sm\\:tracking-wide{letter-spacing:0.025em}.sm\\:tracking-wider{letter-spacing:0.05em}.sm\\:tracking-widest{letter-spacing:0.1em}.sm\\:text-transparent{color:transparent}.sm\\:text-current{color:currentColor}.sm\\:text-white{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.sm\\:text-lightgrey{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.sm\\:text-midgrey{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.sm\\:text-darkgrey{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.sm\\:text-grey{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.sm\\:text-black{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.sm\\:text-highlight{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.sm\\:text-highlight_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.sm\\:text-button_outline{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.sm\\:text-error{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.sm\\:text-text-light{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.sm\\:text-text-dimmed{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.sm\\:text-text-dark{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.sm\\:text-body-light{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.sm\\:text-body-dark{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.sm\\:text-button{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.sm\\:text-button_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.group:hover .sm\\:group-hover\\:text-transparent{color:transparent}.group:hover .sm\\:group-hover\\:text-current{color:currentColor}.group:hover .sm\\:group-hover\\:text-white{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .sm\\:group-hover\\:text-lightgrey{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.group:hover .sm\\:group-hover\\:text-midgrey{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .sm\\:group-hover\\:text-darkgrey{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.group:hover .sm\\:group-hover\\:text-grey{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.group:hover .sm\\:group-hover\\:text-black{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.group:hover .sm\\:group-hover\\:text-highlight{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.group:hover .sm\\:group-hover\\:text-highlight_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.group:hover .sm\\:group-hover\\:text-button_outline{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .sm\\:group-hover\\:text-error{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.group:hover .sm\\:group-hover\\:text-text-light{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.group:hover .sm\\:group-hover\\:text-text-dimmed{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .sm\\:group-hover\\:text-text-dark{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .sm\\:group-hover\\:text-body-light{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .sm\\:group-hover\\:text-body-dark{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.group:hover .sm\\:group-hover\\:text-button{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.group:hover .sm\\:group-hover\\:text-button_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.sm\\:focus-within\\:text-transparent:focus-within{color:transparent}.sm\\:focus-within\\:text-current:focus-within{color:currentColor}.sm\\:focus-within\\:text-white:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.sm\\:focus-within\\:text-lightgrey:focus-within{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.sm\\:focus-within\\:text-midgrey:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.sm\\:focus-within\\:text-darkgrey:focus-within{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.sm\\:focus-within\\:text-grey:focus-within{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.sm\\:focus-within\\:text-black:focus-within{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.sm\\:focus-within\\:text-highlight:focus-within{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.sm\\:focus-within\\:text-highlight_hover:focus-within{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.sm\\:focus-within\\:text-button_outline:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.sm\\:focus-within\\:text-error:focus-within{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.sm\\:focus-within\\:text-text-light:focus-within{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.sm\\:focus-within\\:text-text-dimmed:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.sm\\:focus-within\\:text-text-dark:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.sm\\:focus-within\\:text-body-light:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.sm\\:focus-within\\:text-body-dark:focus-within{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.sm\\:focus-within\\:text-button:focus-within{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.sm\\:focus-within\\:text-button_hover:focus-within{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.sm\\:hover\\:text-transparent:hover{color:transparent}.sm\\:hover\\:text-current:hover{color:currentColor}.sm\\:hover\\:text-white:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.sm\\:hover\\:text-lightgrey:hover{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.sm\\:hover\\:text-midgrey:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.sm\\:hover\\:text-darkgrey:hover{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.sm\\:hover\\:text-grey:hover{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.sm\\:hover\\:text-black:hover{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.sm\\:hover\\:text-highlight:hover{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.sm\\:hover\\:text-highlight_hover:hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.sm\\:hover\\:text-button_outline:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.sm\\:hover\\:text-error:hover{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.sm\\:hover\\:text-text-light:hover{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.sm\\:hover\\:text-text-dimmed:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.sm\\:hover\\:text-text-dark:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.sm\\:hover\\:text-body-light:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.sm\\:hover\\:text-body-dark:hover{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.sm\\:hover\\:text-button:hover{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.sm\\:hover\\:text-button_hover:hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.sm\\:focus\\:text-transparent:focus{color:transparent}.sm\\:focus\\:text-current:focus{color:currentColor}.sm\\:focus\\:text-white:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.sm\\:focus\\:text-lightgrey:focus{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.sm\\:focus\\:text-midgrey:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.sm\\:focus\\:text-darkgrey:focus{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.sm\\:focus\\:text-grey:focus{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.sm\\:focus\\:text-black:focus{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.sm\\:focus\\:text-highlight:focus{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.sm\\:focus\\:text-highlight_hover:focus{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.sm\\:focus\\:text-button_outline:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.sm\\:focus\\:text-error:focus{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.sm\\:focus\\:text-text-light:focus{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.sm\\:focus\\:text-text-dimmed:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.sm\\:focus\\:text-text-dark:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.sm\\:focus\\:text-body-light:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.sm\\:focus\\:text-body-dark:focus{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.sm\\:focus\\:text-button:focus{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.sm\\:focus\\:text-button_hover:focus{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}@media(prefers-color-scheme: dark){.sm\\:dark\\:text-transparent{color:transparent}.sm\\:dark\\:text-current{color:currentColor}.sm\\:dark\\:text-white{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.sm\\:dark\\:text-lightgrey{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.sm\\:dark\\:text-midgrey{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.sm\\:dark\\:text-darkgrey{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.sm\\:dark\\:text-grey{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.sm\\:dark\\:text-black{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.sm\\:dark\\:text-highlight{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.sm\\:dark\\:text-highlight_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.sm\\:dark\\:text-button_outline{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.sm\\:dark\\:text-error{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.sm\\:dark\\:text-text-light{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.sm\\:dark\\:text-text-dimmed{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.sm\\:dark\\:text-text-dark{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.sm\\:dark\\:text-body-light{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.sm\\:dark\\:text-body-dark{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.sm\\:dark\\:text-button{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.sm\\:dark\\:text-button_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.group:hover .sm\\:dark\\:group-hover\\:text-transparent{color:transparent}.group:hover .sm\\:dark\\:group-hover\\:text-current{color:currentColor}.group:hover .sm\\:dark\\:group-hover\\:text-white{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .sm\\:dark\\:group-hover\\:text-lightgrey{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.group:hover .sm\\:dark\\:group-hover\\:text-midgrey{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .sm\\:dark\\:group-hover\\:text-darkgrey{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.group:hover .sm\\:dark\\:group-hover\\:text-grey{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.group:hover .sm\\:dark\\:group-hover\\:text-black{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.group:hover .sm\\:dark\\:group-hover\\:text-highlight{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.group:hover .sm\\:dark\\:group-hover\\:text-highlight_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.group:hover .sm\\:dark\\:group-hover\\:text-button_outline{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .sm\\:dark\\:group-hover\\:text-error{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.group:hover .sm\\:dark\\:group-hover\\:text-text-light{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.group:hover .sm\\:dark\\:group-hover\\:text-text-dimmed{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .sm\\:dark\\:group-hover\\:text-text-dark{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .sm\\:dark\\:group-hover\\:text-body-light{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .sm\\:dark\\:group-hover\\:text-body-dark{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.group:hover .sm\\:dark\\:group-hover\\:text-button{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.group:hover .sm\\:dark\\:group-hover\\:text-button_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.sm\\:dark\\:focus-within\\:text-transparent:focus-within{color:transparent}.sm\\:dark\\:focus-within\\:text-current:focus-within{color:currentColor}.sm\\:dark\\:focus-within\\:text-white:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.sm\\:dark\\:focus-within\\:text-lightgrey:focus-within{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.sm\\:dark\\:focus-within\\:text-midgrey:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.sm\\:dark\\:focus-within\\:text-darkgrey:focus-within{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.sm\\:dark\\:focus-within\\:text-grey:focus-within{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.sm\\:dark\\:focus-within\\:text-black:focus-within{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.sm\\:dark\\:focus-within\\:text-highlight:focus-within{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.sm\\:dark\\:focus-within\\:text-highlight_hover:focus-within{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.sm\\:dark\\:focus-within\\:text-button_outline:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.sm\\:dark\\:focus-within\\:text-error:focus-within{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.sm\\:dark\\:focus-within\\:text-text-light:focus-within{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.sm\\:dark\\:focus-within\\:text-text-dimmed:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.sm\\:dark\\:focus-within\\:text-text-dark:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.sm\\:dark\\:focus-within\\:text-body-light:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.sm\\:dark\\:focus-within\\:text-body-dark:focus-within{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.sm\\:dark\\:focus-within\\:text-button:focus-within{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.sm\\:dark\\:focus-within\\:text-button_hover:focus-within{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.sm\\:dark\\:hover\\:text-transparent:hover{color:transparent}.sm\\:dark\\:hover\\:text-current:hover{color:currentColor}.sm\\:dark\\:hover\\:text-white:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.sm\\:dark\\:hover\\:text-lightgrey:hover{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.sm\\:dark\\:hover\\:text-midgrey:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.sm\\:dark\\:hover\\:text-darkgrey:hover{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.sm\\:dark\\:hover\\:text-grey:hover{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.sm\\:dark\\:hover\\:text-black:hover{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.sm\\:dark\\:hover\\:text-highlight:hover{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.sm\\:dark\\:hover\\:text-highlight_hover:hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.sm\\:dark\\:hover\\:text-button_outline:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.sm\\:dark\\:hover\\:text-error:hover{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.sm\\:dark\\:hover\\:text-text-light:hover{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.sm\\:dark\\:hover\\:text-text-dimmed:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.sm\\:dark\\:hover\\:text-text-dark:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.sm\\:dark\\:hover\\:text-body-light:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.sm\\:dark\\:hover\\:text-body-dark:hover{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.sm\\:dark\\:hover\\:text-button:hover{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.sm\\:dark\\:hover\\:text-button_hover:hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.sm\\:dark\\:focus\\:text-transparent:focus{color:transparent}.sm\\:dark\\:focus\\:text-current:focus{color:currentColor}.sm\\:dark\\:focus\\:text-white:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.sm\\:dark\\:focus\\:text-lightgrey:focus{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.sm\\:dark\\:focus\\:text-midgrey:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.sm\\:dark\\:focus\\:text-darkgrey:focus{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.sm\\:dark\\:focus\\:text-grey:focus{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.sm\\:dark\\:focus\\:text-black:focus{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.sm\\:dark\\:focus\\:text-highlight:focus{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.sm\\:dark\\:focus\\:text-highlight_hover:focus{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.sm\\:dark\\:focus\\:text-button_outline:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.sm\\:dark\\:focus\\:text-error:focus{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.sm\\:dark\\:focus\\:text-text-light:focus{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.sm\\:dark\\:focus\\:text-text-dimmed:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.sm\\:dark\\:focus\\:text-text-dark:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.sm\\:dark\\:focus\\:text-body-light:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.sm\\:dark\\:focus\\:text-body-dark:focus{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.sm\\:dark\\:focus\\:text-button:focus{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.sm\\:dark\\:focus\\:text-button_hover:focus{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}}.sm\\:text-opacity-0{--tw-text-opacity:0}.sm\\:text-opacity-5{--tw-text-opacity:0.05}.sm\\:text-opacity-10{--tw-text-opacity:0.1}.sm\\:text-opacity-20{--tw-text-opacity:0.2}.sm\\:text-opacity-25{--tw-text-opacity:0.25}.sm\\:text-opacity-30{--tw-text-opacity:0.3}.sm\\:text-opacity-40{--tw-text-opacity:0.4}.sm\\:text-opacity-50{--tw-text-opacity:0.5}.sm\\:text-opacity-60{--tw-text-opacity:0.6}.sm\\:text-opacity-70{--tw-text-opacity:0.7}.sm\\:text-opacity-75{--tw-text-opacity:0.75}.sm\\:text-opacity-80{--tw-text-opacity:0.8}.sm\\:text-opacity-90{--tw-text-opacity:0.9}.sm\\:text-opacity-95{--tw-text-opacity:0.95}.sm\\:text-opacity-100{--tw-text-opacity:1}.group:hover .sm\\:group-hover\\:text-opacity-0{--tw-text-opacity:0}.group:hover .sm\\:group-hover\\:text-opacity-5{--tw-text-opacity:0.05}.group:hover .sm\\:group-hover\\:text-opacity-10{--tw-text-opacity:0.1}.group:hover .sm\\:group-hover\\:text-opacity-20{--tw-text-opacity:0.2}.group:hover .sm\\:group-hover\\:text-opacity-25{--tw-text-opacity:0.25}.group:hover .sm\\:group-hover\\:text-opacity-30{--tw-text-opacity:0.3}.group:hover .sm\\:group-hover\\:text-opacity-40{--tw-text-opacity:0.4}.group:hover .sm\\:group-hover\\:text-opacity-50{--tw-text-opacity:0.5}.group:hover .sm\\:group-hover\\:text-opacity-60{--tw-text-opacity:0.6}.group:hover .sm\\:group-hover\\:text-opacity-70{--tw-text-opacity:0.7}.group:hover .sm\\:group-hover\\:text-opacity-75{--tw-text-opacity:0.75}.group:hover .sm\\:group-hover\\:text-opacity-80{--tw-text-opacity:0.8}.group:hover .sm\\:group-hover\\:text-opacity-90{--tw-text-opacity:0.9}.group:hover .sm\\:group-hover\\:text-opacity-95{--tw-text-opacity:0.95}.group:hover .sm\\:group-hover\\:text-opacity-100{--tw-text-opacity:1}.sm\\:focus-within\\:text-opacity-0:focus-within{--tw-text-opacity:0}.sm\\:focus-within\\:text-opacity-5:focus-within{--tw-text-opacity:0.05}.sm\\:focus-within\\:text-opacity-10:focus-within{--tw-text-opacity:0.1}.sm\\:focus-within\\:text-opacity-20:focus-within{--tw-text-opacity:0.2}.sm\\:focus-within\\:text-opacity-25:focus-within{--tw-text-opacity:0.25}.sm\\:focus-within\\:text-opacity-30:focus-within{--tw-text-opacity:0.3}.sm\\:focus-within\\:text-opacity-40:focus-within{--tw-text-opacity:0.4}.sm\\:focus-within\\:text-opacity-50:focus-within{--tw-text-opacity:0.5}.sm\\:focus-within\\:text-opacity-60:focus-within{--tw-text-opacity:0.6}.sm\\:focus-within\\:text-opacity-70:focus-within{--tw-text-opacity:0.7}.sm\\:focus-within\\:text-opacity-75:focus-within{--tw-text-opacity:0.75}.sm\\:focus-within\\:text-opacity-80:focus-within{--tw-text-opacity:0.8}.sm\\:focus-within\\:text-opacity-90:focus-within{--tw-text-opacity:0.9}.sm\\:focus-within\\:text-opacity-95:focus-within{--tw-text-opacity:0.95}.sm\\:focus-within\\:text-opacity-100:focus-within{--tw-text-opacity:1}.sm\\:hover\\:text-opacity-0:hover{--tw-text-opacity:0}.sm\\:hover\\:text-opacity-5:hover{--tw-text-opacity:0.05}.sm\\:hover\\:text-opacity-10:hover{--tw-text-opacity:0.1}.sm\\:hover\\:text-opacity-20:hover{--tw-text-opacity:0.2}.sm\\:hover\\:text-opacity-25:hover{--tw-text-opacity:0.25}.sm\\:hover\\:text-opacity-30:hover{--tw-text-opacity:0.3}.sm\\:hover\\:text-opacity-40:hover{--tw-text-opacity:0.4}.sm\\:hover\\:text-opacity-50:hover{--tw-text-opacity:0.5}.sm\\:hover\\:text-opacity-60:hover{--tw-text-opacity:0.6}.sm\\:hover\\:text-opacity-70:hover{--tw-text-opacity:0.7}.sm\\:hover\\:text-opacity-75:hover{--tw-text-opacity:0.75}.sm\\:hover\\:text-opacity-80:hover{--tw-text-opacity:0.8}.sm\\:hover\\:text-opacity-90:hover{--tw-text-opacity:0.9}.sm\\:hover\\:text-opacity-95:hover{--tw-text-opacity:0.95}.sm\\:hover\\:text-opacity-100:hover{--tw-text-opacity:1}.sm\\:focus\\:text-opacity-0:focus{--tw-text-opacity:0}.sm\\:focus\\:text-opacity-5:focus{--tw-text-opacity:0.05}.sm\\:focus\\:text-opacity-10:focus{--tw-text-opacity:0.1}.sm\\:focus\\:text-opacity-20:focus{--tw-text-opacity:0.2}.sm\\:focus\\:text-opacity-25:focus{--tw-text-opacity:0.25}.sm\\:focus\\:text-opacity-30:focus{--tw-text-opacity:0.3}.sm\\:focus\\:text-opacity-40:focus{--tw-text-opacity:0.4}.sm\\:focus\\:text-opacity-50:focus{--tw-text-opacity:0.5}.sm\\:focus\\:text-opacity-60:focus{--tw-text-opacity:0.6}.sm\\:focus\\:text-opacity-70:focus{--tw-text-opacity:0.7}.sm\\:focus\\:text-opacity-75:focus{--tw-text-opacity:0.75}.sm\\:focus\\:text-opacity-80:focus{--tw-text-opacity:0.8}.sm\\:focus\\:text-opacity-90:focus{--tw-text-opacity:0.9}.sm\\:focus\\:text-opacity-95:focus{--tw-text-opacity:0.95}.sm\\:focus\\:text-opacity-100:focus{--tw-text-opacity:1}@media(prefers-color-scheme: dark){.sm\\:dark\\:text-opacity-0{--tw-text-opacity:0}.sm\\:dark\\:text-opacity-5{--tw-text-opacity:0.05}.sm\\:dark\\:text-opacity-10{--tw-text-opacity:0.1}.sm\\:dark\\:text-opacity-20{--tw-text-opacity:0.2}.sm\\:dark\\:text-opacity-25{--tw-text-opacity:0.25}.sm\\:dark\\:text-opacity-30{--tw-text-opacity:0.3}.sm\\:dark\\:text-opacity-40{--tw-text-opacity:0.4}.sm\\:dark\\:text-opacity-50{--tw-text-opacity:0.5}.sm\\:dark\\:text-opacity-60{--tw-text-opacity:0.6}.sm\\:dark\\:text-opacity-70{--tw-text-opacity:0.7}.sm\\:dark\\:text-opacity-75{--tw-text-opacity:0.75}.sm\\:dark\\:text-opacity-80{--tw-text-opacity:0.8}.sm\\:dark\\:text-opacity-90{--tw-text-opacity:0.9}.sm\\:dark\\:text-opacity-95{--tw-text-opacity:0.95}.sm\\:dark\\:text-opacity-100{--tw-text-opacity:1}.group:hover .sm\\:dark\\:group-hover\\:text-opacity-0{--tw-text-opacity:0}.group:hover .sm\\:dark\\:group-hover\\:text-opacity-5{--tw-text-opacity:0.05}.group:hover .sm\\:dark\\:group-hover\\:text-opacity-10{--tw-text-opacity:0.1}.group:hover .sm\\:dark\\:group-hover\\:text-opacity-20{--tw-text-opacity:0.2}.group:hover .sm\\:dark\\:group-hover\\:text-opacity-25{--tw-text-opacity:0.25}.group:hover .sm\\:dark\\:group-hover\\:text-opacity-30{--tw-text-opacity:0.3}.group:hover .sm\\:dark\\:group-hover\\:text-opacity-40{--tw-text-opacity:0.4}.group:hover .sm\\:dark\\:group-hover\\:text-opacity-50{--tw-text-opacity:0.5}.group:hover .sm\\:dark\\:group-hover\\:text-opacity-60{--tw-text-opacity:0.6}.group:hover .sm\\:dark\\:group-hover\\:text-opacity-70{--tw-text-opacity:0.7}.group:hover .sm\\:dark\\:group-hover\\:text-opacity-75{--tw-text-opacity:0.75}.group:hover .sm\\:dark\\:group-hover\\:text-opacity-80{--tw-text-opacity:0.8}.group:hover .sm\\:dark\\:group-hover\\:text-opacity-90{--tw-text-opacity:0.9}.group:hover .sm\\:dark\\:group-hover\\:text-opacity-95{--tw-text-opacity:0.95}.group:hover .sm\\:dark\\:group-hover\\:text-opacity-100{--tw-text-opacity:1}.sm\\:dark\\:focus-within\\:text-opacity-0:focus-within{--tw-text-opacity:0}.sm\\:dark\\:focus-within\\:text-opacity-5:focus-within{--tw-text-opacity:0.05}.sm\\:dark\\:focus-within\\:text-opacity-10:focus-within{--tw-text-opacity:0.1}.sm\\:dark\\:focus-within\\:text-opacity-20:focus-within{--tw-text-opacity:0.2}.sm\\:dark\\:focus-within\\:text-opacity-25:focus-within{--tw-text-opacity:0.25}.sm\\:dark\\:focus-within\\:text-opacity-30:focus-within{--tw-text-opacity:0.3}.sm\\:dark\\:focus-within\\:text-opacity-40:focus-within{--tw-text-opacity:0.4}.sm\\:dark\\:focus-within\\:text-opacity-50:focus-within{--tw-text-opacity:0.5}.sm\\:dark\\:focus-within\\:text-opacity-60:focus-within{--tw-text-opacity:0.6}.sm\\:dark\\:focus-within\\:text-opacity-70:focus-within{--tw-text-opacity:0.7}.sm\\:dark\\:focus-within\\:text-opacity-75:focus-within{--tw-text-opacity:0.75}.sm\\:dark\\:focus-within\\:text-opacity-80:focus-within{--tw-text-opacity:0.8}.sm\\:dark\\:focus-within\\:text-opacity-90:focus-within{--tw-text-opacity:0.9}.sm\\:dark\\:focus-within\\:text-opacity-95:focus-within{--tw-text-opacity:0.95}.sm\\:dark\\:focus-within\\:text-opacity-100:focus-within{--tw-text-opacity:1}.sm\\:dark\\:hover\\:text-opacity-0:hover{--tw-text-opacity:0}.sm\\:dark\\:hover\\:text-opacity-5:hover{--tw-text-opacity:0.05}.sm\\:dark\\:hover\\:text-opacity-10:hover{--tw-text-opacity:0.1}.sm\\:dark\\:hover\\:text-opacity-20:hover{--tw-text-opacity:0.2}.sm\\:dark\\:hover\\:text-opacity-25:hover{--tw-text-opacity:0.25}.sm\\:dark\\:hover\\:text-opacity-30:hover{--tw-text-opacity:0.3}.sm\\:dark\\:hover\\:text-opacity-40:hover{--tw-text-opacity:0.4}.sm\\:dark\\:hover\\:text-opacity-50:hover{--tw-text-opacity:0.5}.sm\\:dark\\:hover\\:text-opacity-60:hover{--tw-text-opacity:0.6}.sm\\:dark\\:hover\\:text-opacity-70:hover{--tw-text-opacity:0.7}.sm\\:dark\\:hover\\:text-opacity-75:hover{--tw-text-opacity:0.75}.sm\\:dark\\:hover\\:text-opacity-80:hover{--tw-text-opacity:0.8}.sm\\:dark\\:hover\\:text-opacity-90:hover{--tw-text-opacity:0.9}.sm\\:dark\\:hover\\:text-opacity-95:hover{--tw-text-opacity:0.95}.sm\\:dark\\:hover\\:text-opacity-100:hover{--tw-text-opacity:1}.sm\\:dark\\:focus\\:text-opacity-0:focus{--tw-text-opacity:0}.sm\\:dark\\:focus\\:text-opacity-5:focus{--tw-text-opacity:0.05}.sm\\:dark\\:focus\\:text-opacity-10:focus{--tw-text-opacity:0.1}.sm\\:dark\\:focus\\:text-opacity-20:focus{--tw-text-opacity:0.2}.sm\\:dark\\:focus\\:text-opacity-25:focus{--tw-text-opacity:0.25}.sm\\:dark\\:focus\\:text-opacity-30:focus{--tw-text-opacity:0.3}.sm\\:dark\\:focus\\:text-opacity-40:focus{--tw-text-opacity:0.4}.sm\\:dark\\:focus\\:text-opacity-50:focus{--tw-text-opacity:0.5}.sm\\:dark\\:focus\\:text-opacity-60:focus{--tw-text-opacity:0.6}.sm\\:dark\\:focus\\:text-opacity-70:focus{--tw-text-opacity:0.7}.sm\\:dark\\:focus\\:text-opacity-75:focus{--tw-text-opacity:0.75}.sm\\:dark\\:focus\\:text-opacity-80:focus{--tw-text-opacity:0.8}.sm\\:dark\\:focus\\:text-opacity-90:focus{--tw-text-opacity:0.9}.sm\\:dark\\:focus\\:text-opacity-95:focus{--tw-text-opacity:0.95}.sm\\:dark\\:focus\\:text-opacity-100:focus{--tw-text-opacity:1}}.sm\\:underline{text-decoration:underline}.sm\\:line-through{text-decoration:line-through}.sm\\:no-underline{text-decoration:none}.group:hover .sm\\:group-hover\\:underline{text-decoration:underline}.group:hover .sm\\:group-hover\\:line-through{text-decoration:line-through}.group:hover .sm\\:group-hover\\:no-underline{text-decoration:none}.sm\\:focus-within\\:underline:focus-within{text-decoration:underline}.sm\\:focus-within\\:line-through:focus-within{text-decoration:line-through}.sm\\:focus-within\\:no-underline:focus-within{text-decoration:none}.sm\\:hover\\:underline:hover{text-decoration:underline}.sm\\:hover\\:line-through:hover{text-decoration:line-through}.sm\\:hover\\:no-underline:hover{text-decoration:none}.sm\\:focus\\:underline:focus{text-decoration:underline}.sm\\:focus\\:line-through:focus{text-decoration:line-through}.sm\\:focus\\:no-underline:focus{text-decoration:none}.sm\\:antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sm\\:subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.sm\\:placeholder-transparent::placeholder{color:transparent}.sm\\:placeholder-current::placeholder{color:currentColor}.sm\\:placeholder-white::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.sm\\:placeholder-lightgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(247, 247, 247, var(--tw-placeholder-opacity))}.sm\\:placeholder-midgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.sm\\:placeholder-darkgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(127, 127, 127, var(--tw-placeholder-opacity))}.sm\\:placeholder-grey::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.sm\\:placeholder-black::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.sm\\:placeholder-highlight::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.sm\\:placeholder-highlight_hover::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.sm\\:placeholder-button_outline::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.sm\\:placeholder-error::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 69, 58, var(--tw-placeholder-opacity))}.sm\\:placeholder-text-light::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.sm\\:placeholder-text-dimmed::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.sm\\:placeholder-text-dark::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.sm\\:placeholder-body-light::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.sm\\:placeholder-body-dark::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.sm\\:placeholder-button::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.sm\\:placeholder-button_hover::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.sm\\:focus\\:placeholder-transparent:focus::placeholder{color:transparent}.sm\\:focus\\:placeholder-current:focus::placeholder{color:currentColor}.sm\\:focus\\:placeholder-white:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.sm\\:focus\\:placeholder-lightgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(247, 247, 247, var(--tw-placeholder-opacity))}.sm\\:focus\\:placeholder-midgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.sm\\:focus\\:placeholder-darkgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(127, 127, 127, var(--tw-placeholder-opacity))}.sm\\:focus\\:placeholder-grey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.sm\\:focus\\:placeholder-black:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.sm\\:focus\\:placeholder-highlight:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.sm\\:focus\\:placeholder-highlight_hover:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.sm\\:focus\\:placeholder-button_outline:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.sm\\:focus\\:placeholder-error:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 69, 58, var(--tw-placeholder-opacity))}.sm\\:focus\\:placeholder-text-light:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.sm\\:focus\\:placeholder-text-dimmed:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.sm\\:focus\\:placeholder-text-dark:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.sm\\:focus\\:placeholder-body-light:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.sm\\:focus\\:placeholder-body-dark:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.sm\\:focus\\:placeholder-button:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.sm\\:focus\\:placeholder-button_hover:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}@media(prefers-color-scheme: dark){.sm\\:dark\\:placeholder-transparent::placeholder{color:transparent}.sm\\:dark\\:placeholder-current::placeholder{color:currentColor}.sm\\:dark\\:placeholder-white::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.sm\\:dark\\:placeholder-lightgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(247, 247, 247, var(--tw-placeholder-opacity))}.sm\\:dark\\:placeholder-midgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.sm\\:dark\\:placeholder-darkgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(127, 127, 127, var(--tw-placeholder-opacity))}.sm\\:dark\\:placeholder-grey::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.sm\\:dark\\:placeholder-black::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.sm\\:dark\\:placeholder-highlight::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.sm\\:dark\\:placeholder-highlight_hover::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.sm\\:dark\\:placeholder-button_outline::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.sm\\:dark\\:placeholder-error::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 69, 58, var(--tw-placeholder-opacity))}.sm\\:dark\\:placeholder-text-light::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.sm\\:dark\\:placeholder-text-dimmed::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.sm\\:dark\\:placeholder-text-dark::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.sm\\:dark\\:placeholder-body-light::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.sm\\:dark\\:placeholder-body-dark::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.sm\\:dark\\:placeholder-button::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.sm\\:dark\\:placeholder-button_hover::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.sm\\:dark\\:focus\\:placeholder-transparent:focus::placeholder{color:transparent}.sm\\:dark\\:focus\\:placeholder-current:focus::placeholder{color:currentColor}.sm\\:dark\\:focus\\:placeholder-white:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.sm\\:dark\\:focus\\:placeholder-lightgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(247, 247, 247, var(--tw-placeholder-opacity))}.sm\\:dark\\:focus\\:placeholder-midgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.sm\\:dark\\:focus\\:placeholder-darkgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(127, 127, 127, var(--tw-placeholder-opacity))}.sm\\:dark\\:focus\\:placeholder-grey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.sm\\:dark\\:focus\\:placeholder-black:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.sm\\:dark\\:focus\\:placeholder-highlight:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.sm\\:dark\\:focus\\:placeholder-highlight_hover:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.sm\\:dark\\:focus\\:placeholder-button_outline:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.sm\\:dark\\:focus\\:placeholder-error:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 69, 58, var(--tw-placeholder-opacity))}.sm\\:dark\\:focus\\:placeholder-text-light:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.sm\\:dark\\:focus\\:placeholder-text-dimmed:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.sm\\:dark\\:focus\\:placeholder-text-dark:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.sm\\:dark\\:focus\\:placeholder-body-light:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.sm\\:dark\\:focus\\:placeholder-body-dark:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.sm\\:dark\\:focus\\:placeholder-button:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.sm\\:dark\\:focus\\:placeholder-button_hover:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}}.sm\\:placeholder-opacity-0::placeholder{--tw-placeholder-opacity:0}.sm\\:placeholder-opacity-5::placeholder{--tw-placeholder-opacity:0.05}.sm\\:placeholder-opacity-10::placeholder{--tw-placeholder-opacity:0.1}.sm\\:placeholder-opacity-20::placeholder{--tw-placeholder-opacity:0.2}.sm\\:placeholder-opacity-25::placeholder{--tw-placeholder-opacity:0.25}.sm\\:placeholder-opacity-30::placeholder{--tw-placeholder-opacity:0.3}.sm\\:placeholder-opacity-40::placeholder{--tw-placeholder-opacity:0.4}.sm\\:placeholder-opacity-50::placeholder{--tw-placeholder-opacity:0.5}.sm\\:placeholder-opacity-60::placeholder{--tw-placeholder-opacity:0.6}.sm\\:placeholder-opacity-70::placeholder{--tw-placeholder-opacity:0.7}.sm\\:placeholder-opacity-75::placeholder{--tw-placeholder-opacity:0.75}.sm\\:placeholder-opacity-80::placeholder{--tw-placeholder-opacity:0.8}.sm\\:placeholder-opacity-90::placeholder{--tw-placeholder-opacity:0.9}.sm\\:placeholder-opacity-95::placeholder{--tw-placeholder-opacity:0.95}.sm\\:placeholder-opacity-100::placeholder{--tw-placeholder-opacity:1}.sm\\:focus\\:placeholder-opacity-0:focus::placeholder{--tw-placeholder-opacity:0}.sm\\:focus\\:placeholder-opacity-5:focus::placeholder{--tw-placeholder-opacity:0.05}.sm\\:focus\\:placeholder-opacity-10:focus::placeholder{--tw-placeholder-opacity:0.1}.sm\\:focus\\:placeholder-opacity-20:focus::placeholder{--tw-placeholder-opacity:0.2}.sm\\:focus\\:placeholder-opacity-25:focus::placeholder{--tw-placeholder-opacity:0.25}.sm\\:focus\\:placeholder-opacity-30:focus::placeholder{--tw-placeholder-opacity:0.3}.sm\\:focus\\:placeholder-opacity-40:focus::placeholder{--tw-placeholder-opacity:0.4}.sm\\:focus\\:placeholder-opacity-50:focus::placeholder{--tw-placeholder-opacity:0.5}.sm\\:focus\\:placeholder-opacity-60:focus::placeholder{--tw-placeholder-opacity:0.6}.sm\\:focus\\:placeholder-opacity-70:focus::placeholder{--tw-placeholder-opacity:0.7}.sm\\:focus\\:placeholder-opacity-75:focus::placeholder{--tw-placeholder-opacity:0.75}.sm\\:focus\\:placeholder-opacity-80:focus::placeholder{--tw-placeholder-opacity:0.8}.sm\\:focus\\:placeholder-opacity-90:focus::placeholder{--tw-placeholder-opacity:0.9}.sm\\:focus\\:placeholder-opacity-95:focus::placeholder{--tw-placeholder-opacity:0.95}.sm\\:focus\\:placeholder-opacity-100:focus::placeholder{--tw-placeholder-opacity:1}@media(prefers-color-scheme: dark){.sm\\:dark\\:placeholder-opacity-0::placeholder{--tw-placeholder-opacity:0}.sm\\:dark\\:placeholder-opacity-5::placeholder{--tw-placeholder-opacity:0.05}.sm\\:dark\\:placeholder-opacity-10::placeholder{--tw-placeholder-opacity:0.1}.sm\\:dark\\:placeholder-opacity-20::placeholder{--tw-placeholder-opacity:0.2}.sm\\:dark\\:placeholder-opacity-25::placeholder{--tw-placeholder-opacity:0.25}.sm\\:dark\\:placeholder-opacity-30::placeholder{--tw-placeholder-opacity:0.3}.sm\\:dark\\:placeholder-opacity-40::placeholder{--tw-placeholder-opacity:0.4}.sm\\:dark\\:placeholder-opacity-50::placeholder{--tw-placeholder-opacity:0.5}.sm\\:dark\\:placeholder-opacity-60::placeholder{--tw-placeholder-opacity:0.6}.sm\\:dark\\:placeholder-opacity-70::placeholder{--tw-placeholder-opacity:0.7}.sm\\:dark\\:placeholder-opacity-75::placeholder{--tw-placeholder-opacity:0.75}.sm\\:dark\\:placeholder-opacity-80::placeholder{--tw-placeholder-opacity:0.8}.sm\\:dark\\:placeholder-opacity-90::placeholder{--tw-placeholder-opacity:0.9}.sm\\:dark\\:placeholder-opacity-95::placeholder{--tw-placeholder-opacity:0.95}.sm\\:dark\\:placeholder-opacity-100::placeholder{--tw-placeholder-opacity:1}.sm\\:dark\\:focus\\:placeholder-opacity-0:focus::placeholder{--tw-placeholder-opacity:0}.sm\\:dark\\:focus\\:placeholder-opacity-5:focus::placeholder{--tw-placeholder-opacity:0.05}.sm\\:dark\\:focus\\:placeholder-opacity-10:focus::placeholder{--tw-placeholder-opacity:0.1}.sm\\:dark\\:focus\\:placeholder-opacity-20:focus::placeholder{--tw-placeholder-opacity:0.2}.sm\\:dark\\:focus\\:placeholder-opacity-25:focus::placeholder{--tw-placeholder-opacity:0.25}.sm\\:dark\\:focus\\:placeholder-opacity-30:focus::placeholder{--tw-placeholder-opacity:0.3}.sm\\:dark\\:focus\\:placeholder-opacity-40:focus::placeholder{--tw-placeholder-opacity:0.4}.sm\\:dark\\:focus\\:placeholder-opacity-50:focus::placeholder{--tw-placeholder-opacity:0.5}.sm\\:dark\\:focus\\:placeholder-opacity-60:focus::placeholder{--tw-placeholder-opacity:0.6}.sm\\:dark\\:focus\\:placeholder-opacity-70:focus::placeholder{--tw-placeholder-opacity:0.7}.sm\\:dark\\:focus\\:placeholder-opacity-75:focus::placeholder{--tw-placeholder-opacity:0.75}.sm\\:dark\\:focus\\:placeholder-opacity-80:focus::placeholder{--tw-placeholder-opacity:0.8}.sm\\:dark\\:focus\\:placeholder-opacity-90:focus::placeholder{--tw-placeholder-opacity:0.9}.sm\\:dark\\:focus\\:placeholder-opacity-95:focus::placeholder{--tw-placeholder-opacity:0.95}.sm\\:dark\\:focus\\:placeholder-opacity-100:focus::placeholder{--tw-placeholder-opacity:1}}.sm\\:opacity-0{opacity:0}.sm\\:opacity-5{opacity:0.05}.sm\\:opacity-10{opacity:0.1}.sm\\:opacity-20{opacity:0.2}.sm\\:opacity-25{opacity:0.25}.sm\\:opacity-30{opacity:0.3}.sm\\:opacity-40{opacity:0.4}.sm\\:opacity-50{opacity:0.5}.sm\\:opacity-60{opacity:0.6}.sm\\:opacity-70{opacity:0.7}.sm\\:opacity-75{opacity:0.75}.sm\\:opacity-80{opacity:0.8}.sm\\:opacity-90{opacity:0.9}.sm\\:opacity-95{opacity:0.95}.sm\\:opacity-100{opacity:1}.group:hover .sm\\:group-hover\\:opacity-0{opacity:0}.group:hover .sm\\:group-hover\\:opacity-5{opacity:0.05}.group:hover .sm\\:group-hover\\:opacity-10{opacity:0.1}.group:hover .sm\\:group-hover\\:opacity-20{opacity:0.2}.group:hover .sm\\:group-hover\\:opacity-25{opacity:0.25}.group:hover .sm\\:group-hover\\:opacity-30{opacity:0.3}.group:hover .sm\\:group-hover\\:opacity-40{opacity:0.4}.group:hover .sm\\:group-hover\\:opacity-50{opacity:0.5}.group:hover .sm\\:group-hover\\:opacity-60{opacity:0.6}.group:hover .sm\\:group-hover\\:opacity-70{opacity:0.7}.group:hover .sm\\:group-hover\\:opacity-75{opacity:0.75}.group:hover .sm\\:group-hover\\:opacity-80{opacity:0.8}.group:hover .sm\\:group-hover\\:opacity-90{opacity:0.9}.group:hover .sm\\:group-hover\\:opacity-95{opacity:0.95}.group:hover .sm\\:group-hover\\:opacity-100{opacity:1}.sm\\:focus-within\\:opacity-0:focus-within{opacity:0}.sm\\:focus-within\\:opacity-5:focus-within{opacity:0.05}.sm\\:focus-within\\:opacity-10:focus-within{opacity:0.1}.sm\\:focus-within\\:opacity-20:focus-within{opacity:0.2}.sm\\:focus-within\\:opacity-25:focus-within{opacity:0.25}.sm\\:focus-within\\:opacity-30:focus-within{opacity:0.3}.sm\\:focus-within\\:opacity-40:focus-within{opacity:0.4}.sm\\:focus-within\\:opacity-50:focus-within{opacity:0.5}.sm\\:focus-within\\:opacity-60:focus-within{opacity:0.6}.sm\\:focus-within\\:opacity-70:focus-within{opacity:0.7}.sm\\:focus-within\\:opacity-75:focus-within{opacity:0.75}.sm\\:focus-within\\:opacity-80:focus-within{opacity:0.8}.sm\\:focus-within\\:opacity-90:focus-within{opacity:0.9}.sm\\:focus-within\\:opacity-95:focus-within{opacity:0.95}.sm\\:focus-within\\:opacity-100:focus-within{opacity:1}.sm\\:hover\\:opacity-0:hover{opacity:0}.sm\\:hover\\:opacity-5:hover{opacity:0.05}.sm\\:hover\\:opacity-10:hover{opacity:0.1}.sm\\:hover\\:opacity-20:hover{opacity:0.2}.sm\\:hover\\:opacity-25:hover{opacity:0.25}.sm\\:hover\\:opacity-30:hover{opacity:0.3}.sm\\:hover\\:opacity-40:hover{opacity:0.4}.sm\\:hover\\:opacity-50:hover{opacity:0.5}.sm\\:hover\\:opacity-60:hover{opacity:0.6}.sm\\:hover\\:opacity-70:hover{opacity:0.7}.sm\\:hover\\:opacity-75:hover{opacity:0.75}.sm\\:hover\\:opacity-80:hover{opacity:0.8}.sm\\:hover\\:opacity-90:hover{opacity:0.9}.sm\\:hover\\:opacity-95:hover{opacity:0.95}.sm\\:hover\\:opacity-100:hover{opacity:1}.sm\\:focus\\:opacity-0:focus{opacity:0}.sm\\:focus\\:opacity-5:focus{opacity:0.05}.sm\\:focus\\:opacity-10:focus{opacity:0.1}.sm\\:focus\\:opacity-20:focus{opacity:0.2}.sm\\:focus\\:opacity-25:focus{opacity:0.25}.sm\\:focus\\:opacity-30:focus{opacity:0.3}.sm\\:focus\\:opacity-40:focus{opacity:0.4}.sm\\:focus\\:opacity-50:focus{opacity:0.5}.sm\\:focus\\:opacity-60:focus{opacity:0.6}.sm\\:focus\\:opacity-70:focus{opacity:0.7}.sm\\:focus\\:opacity-75:focus{opacity:0.75}.sm\\:focus\\:opacity-80:focus{opacity:0.8}.sm\\:focus\\:opacity-90:focus{opacity:0.9}.sm\\:focus\\:opacity-95:focus{opacity:0.95}.sm\\:focus\\:opacity-100:focus{opacity:1}.sm\\:bg-blend-normal{background-blend-mode:normal}.sm\\:bg-blend-multiply{background-blend-mode:multiply}.sm\\:bg-blend-screen{background-blend-mode:screen}.sm\\:bg-blend-overlay{background-blend-mode:overlay}.sm\\:bg-blend-darken{background-blend-mode:darken}.sm\\:bg-blend-lighten{background-blend-mode:lighten}.sm\\:bg-blend-color-dodge{background-blend-mode:color-dodge}.sm\\:bg-blend-color-burn{background-blend-mode:color-burn}.sm\\:bg-blend-hard-light{background-blend-mode:hard-light}.sm\\:bg-blend-soft-light{background-blend-mode:soft-light}.sm\\:bg-blend-difference{background-blend-mode:difference}.sm\\:bg-blend-exclusion{background-blend-mode:exclusion}.sm\\:bg-blend-hue{background-blend-mode:hue}.sm\\:bg-blend-saturation{background-blend-mode:saturation}.sm\\:bg-blend-color{background-blend-mode:color}.sm\\:bg-blend-luminosity{background-blend-mode:luminosity}.sm\\:mix-blend-normal{mix-blend-mode:normal}.sm\\:mix-blend-multiply{mix-blend-mode:multiply}.sm\\:mix-blend-screen{mix-blend-mode:screen}.sm\\:mix-blend-overlay{mix-blend-mode:overlay}.sm\\:mix-blend-darken{mix-blend-mode:darken}.sm\\:mix-blend-lighten{mix-blend-mode:lighten}.sm\\:mix-blend-color-dodge{mix-blend-mode:color-dodge}.sm\\:mix-blend-color-burn{mix-blend-mode:color-burn}.sm\\:mix-blend-hard-light{mix-blend-mode:hard-light}.sm\\:mix-blend-soft-light{mix-blend-mode:soft-light}.sm\\:mix-blend-difference{mix-blend-mode:difference}.sm\\:mix-blend-exclusion{mix-blend-mode:exclusion}.sm\\:mix-blend-hue{mix-blend-mode:hue}.sm\\:mix-blend-saturation{mix-blend-mode:saturation}.sm\\:mix-blend-color{mix-blend-mode:color}.sm\\:mix-blend-luminosity{mix-blend-mode:luminosity}.sm\\:shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:shadow{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:shadow-md{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .sm\\:group-hover\\:shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .sm\\:group-hover\\:shadow{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .sm\\:group-hover\\:shadow-md{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .sm\\:group-hover\\:shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .sm\\:group-hover\\:shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .sm\\:group-hover\\:shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .sm\\:group-hover\\:shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .sm\\:group-hover\\:shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:focus-within\\:shadow-sm:focus-within{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:focus-within\\:shadow:focus-within{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:focus-within\\:shadow-md:focus-within{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:focus-within\\:shadow-lg:focus-within{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:focus-within\\:shadow-xl:focus-within{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:focus-within\\:shadow-2xl:focus-within{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:focus-within\\:shadow-inner:focus-within{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:focus-within\\:shadow-none:focus-within{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:hover\\:shadow-sm:hover{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:hover\\:shadow:hover{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:hover\\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:hover\\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:hover\\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:hover\\:shadow-2xl:hover{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:hover\\:shadow-inner:hover{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:hover\\:shadow-none:hover{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:focus\\:shadow-sm:focus{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:focus\\:shadow:focus{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:focus\\:shadow-md:focus{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:focus\\:shadow-lg:focus{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:focus\\:shadow-xl:focus{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:focus\\:shadow-2xl:focus{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:focus\\:shadow-inner:focus{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:focus\\:shadow-none:focus{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.sm\\:outline-none{outline:2px solid transparent;outline-offset:2px}.sm\\:outline-white{outline:2px dotted white;outline-offset:2px}.sm\\:outline-black{outline:2px dotted black;outline-offset:2px}.sm\\:focus-within\\:outline-none:focus-within{outline:2px solid transparent;outline-offset:2px}.sm\\:focus-within\\:outline-white:focus-within{outline:2px dotted white;outline-offset:2px}.sm\\:focus-within\\:outline-black:focus-within{outline:2px dotted black;outline-offset:2px}.sm\\:focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.sm\\:focus\\:outline-white:focus{outline:2px dotted white;outline-offset:2px}.sm\\:focus\\:outline-black:focus{outline:2px dotted black;outline-offset:2px}.sm\\:ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.sm\\:ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.sm\\:ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.sm\\:ring-4{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.sm\\:ring-8{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.sm\\:ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.sm\\:focus-within\\:ring-0:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.sm\\:focus-within\\:ring-1:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.sm\\:focus-within\\:ring-2:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.sm\\:focus-within\\:ring-4:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.sm\\:focus-within\\:ring-8:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.sm\\:focus-within\\:ring:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.sm\\:focus\\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.sm\\:focus\\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.sm\\:focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.sm\\:focus\\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.sm\\:focus\\:ring-8:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.sm\\:focus\\:ring:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.sm\\:ring-inset{--tw-ring-inset:inset}.sm\\:focus-within\\:ring-inset:focus-within{--tw-ring-inset:inset}.sm\\:focus\\:ring-inset:focus{--tw-ring-inset:inset}.sm\\:ring-transparent{--tw-ring-color:transparent}.sm\\:ring-current{--tw-ring-color:currentColor}.sm\\:ring-white{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.sm\\:ring-lightgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.sm\\:ring-midgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.sm\\:ring-darkgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.sm\\:ring-grey{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.sm\\:ring-black{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.sm\\:ring-highlight{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.sm\\:ring-highlight_hover{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.sm\\:ring-button_outline{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.sm\\:ring-error{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.sm\\:ring-text-light{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.sm\\:ring-text-dimmed{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.sm\\:ring-text-dark{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.sm\\:ring-body-light{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.sm\\:ring-body-dark{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.sm\\:ring-button{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.sm\\:ring-button_hover{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.sm\\:focus-within\\:ring-transparent:focus-within{--tw-ring-color:transparent}.sm\\:focus-within\\:ring-current:focus-within{--tw-ring-color:currentColor}.sm\\:focus-within\\:ring-white:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.sm\\:focus-within\\:ring-lightgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.sm\\:focus-within\\:ring-midgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.sm\\:focus-within\\:ring-darkgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.sm\\:focus-within\\:ring-grey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.sm\\:focus-within\\:ring-black:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.sm\\:focus-within\\:ring-highlight:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.sm\\:focus-within\\:ring-highlight_hover:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.sm\\:focus-within\\:ring-button_outline:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.sm\\:focus-within\\:ring-error:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.sm\\:focus-within\\:ring-text-light:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.sm\\:focus-within\\:ring-text-dimmed:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.sm\\:focus-within\\:ring-text-dark:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.sm\\:focus-within\\:ring-body-light:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.sm\\:focus-within\\:ring-body-dark:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.sm\\:focus-within\\:ring-button:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.sm\\:focus-within\\:ring-button_hover:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.sm\\:focus\\:ring-transparent:focus{--tw-ring-color:transparent}.sm\\:focus\\:ring-current:focus{--tw-ring-color:currentColor}.sm\\:focus\\:ring-white:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.sm\\:focus\\:ring-lightgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.sm\\:focus\\:ring-midgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.sm\\:focus\\:ring-darkgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.sm\\:focus\\:ring-grey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.sm\\:focus\\:ring-black:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.sm\\:focus\\:ring-highlight:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.sm\\:focus\\:ring-highlight_hover:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.sm\\:focus\\:ring-button_outline:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.sm\\:focus\\:ring-error:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.sm\\:focus\\:ring-text-light:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.sm\\:focus\\:ring-text-dimmed:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.sm\\:focus\\:ring-text-dark:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.sm\\:focus\\:ring-body-light:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.sm\\:focus\\:ring-body-dark:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.sm\\:focus\\:ring-button:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.sm\\:focus\\:ring-button_hover:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}@media(prefers-color-scheme: dark){.sm\\:dark\\:ring-transparent{--tw-ring-color:transparent}.sm\\:dark\\:ring-current{--tw-ring-color:currentColor}.sm\\:dark\\:ring-white{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.sm\\:dark\\:ring-lightgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.sm\\:dark\\:ring-midgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.sm\\:dark\\:ring-darkgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.sm\\:dark\\:ring-grey{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.sm\\:dark\\:ring-black{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.sm\\:dark\\:ring-highlight{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.sm\\:dark\\:ring-highlight_hover{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.sm\\:dark\\:ring-button_outline{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.sm\\:dark\\:ring-error{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.sm\\:dark\\:ring-text-light{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.sm\\:dark\\:ring-text-dimmed{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.sm\\:dark\\:ring-text-dark{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.sm\\:dark\\:ring-body-light{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.sm\\:dark\\:ring-body-dark{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.sm\\:dark\\:ring-button{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.sm\\:dark\\:ring-button_hover{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.sm\\:dark\\:focus-within\\:ring-transparent:focus-within{--tw-ring-color:transparent}.sm\\:dark\\:focus-within\\:ring-current:focus-within{--tw-ring-color:currentColor}.sm\\:dark\\:focus-within\\:ring-white:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.sm\\:dark\\:focus-within\\:ring-lightgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.sm\\:dark\\:focus-within\\:ring-midgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.sm\\:dark\\:focus-within\\:ring-darkgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.sm\\:dark\\:focus-within\\:ring-grey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.sm\\:dark\\:focus-within\\:ring-black:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.sm\\:dark\\:focus-within\\:ring-highlight:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.sm\\:dark\\:focus-within\\:ring-highlight_hover:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.sm\\:dark\\:focus-within\\:ring-button_outline:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.sm\\:dark\\:focus-within\\:ring-error:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.sm\\:dark\\:focus-within\\:ring-text-light:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.sm\\:dark\\:focus-within\\:ring-text-dimmed:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.sm\\:dark\\:focus-within\\:ring-text-dark:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.sm\\:dark\\:focus-within\\:ring-body-light:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.sm\\:dark\\:focus-within\\:ring-body-dark:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.sm\\:dark\\:focus-within\\:ring-button:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.sm\\:dark\\:focus-within\\:ring-button_hover:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.sm\\:dark\\:focus\\:ring-transparent:focus{--tw-ring-color:transparent}.sm\\:dark\\:focus\\:ring-current:focus{--tw-ring-color:currentColor}.sm\\:dark\\:focus\\:ring-white:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.sm\\:dark\\:focus\\:ring-lightgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.sm\\:dark\\:focus\\:ring-midgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.sm\\:dark\\:focus\\:ring-darkgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.sm\\:dark\\:focus\\:ring-grey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.sm\\:dark\\:focus\\:ring-black:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.sm\\:dark\\:focus\\:ring-highlight:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.sm\\:dark\\:focus\\:ring-highlight_hover:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.sm\\:dark\\:focus\\:ring-button_outline:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.sm\\:dark\\:focus\\:ring-error:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.sm\\:dark\\:focus\\:ring-text-light:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.sm\\:dark\\:focus\\:ring-text-dimmed:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.sm\\:dark\\:focus\\:ring-text-dark:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.sm\\:dark\\:focus\\:ring-body-light:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.sm\\:dark\\:focus\\:ring-body-dark:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.sm\\:dark\\:focus\\:ring-button:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.sm\\:dark\\:focus\\:ring-button_hover:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}}.sm\\:ring-opacity-0{--tw-ring-opacity:0}.sm\\:ring-opacity-5{--tw-ring-opacity:0.05}.sm\\:ring-opacity-10{--tw-ring-opacity:0.1}.sm\\:ring-opacity-20{--tw-ring-opacity:0.2}.sm\\:ring-opacity-25{--tw-ring-opacity:0.25}.sm\\:ring-opacity-30{--tw-ring-opacity:0.3}.sm\\:ring-opacity-40{--tw-ring-opacity:0.4}.sm\\:ring-opacity-50{--tw-ring-opacity:0.5}.sm\\:ring-opacity-60{--tw-ring-opacity:0.6}.sm\\:ring-opacity-70{--tw-ring-opacity:0.7}.sm\\:ring-opacity-75{--tw-ring-opacity:0.75}.sm\\:ring-opacity-80{--tw-ring-opacity:0.8}.sm\\:ring-opacity-90{--tw-ring-opacity:0.9}.sm\\:ring-opacity-95{--tw-ring-opacity:0.95}.sm\\:ring-opacity-100{--tw-ring-opacity:1}.sm\\:focus-within\\:ring-opacity-0:focus-within{--tw-ring-opacity:0}.sm\\:focus-within\\:ring-opacity-5:focus-within{--tw-ring-opacity:0.05}.sm\\:focus-within\\:ring-opacity-10:focus-within{--tw-ring-opacity:0.1}.sm\\:focus-within\\:ring-opacity-20:focus-within{--tw-ring-opacity:0.2}.sm\\:focus-within\\:ring-opacity-25:focus-within{--tw-ring-opacity:0.25}.sm\\:focus-within\\:ring-opacity-30:focus-within{--tw-ring-opacity:0.3}.sm\\:focus-within\\:ring-opacity-40:focus-within{--tw-ring-opacity:0.4}.sm\\:focus-within\\:ring-opacity-50:focus-within{--tw-ring-opacity:0.5}.sm\\:focus-within\\:ring-opacity-60:focus-within{--tw-ring-opacity:0.6}.sm\\:focus-within\\:ring-opacity-70:focus-within{--tw-ring-opacity:0.7}.sm\\:focus-within\\:ring-opacity-75:focus-within{--tw-ring-opacity:0.75}.sm\\:focus-within\\:ring-opacity-80:focus-within{--tw-ring-opacity:0.8}.sm\\:focus-within\\:ring-opacity-90:focus-within{--tw-ring-opacity:0.9}.sm\\:focus-within\\:ring-opacity-95:focus-within{--tw-ring-opacity:0.95}.sm\\:focus-within\\:ring-opacity-100:focus-within{--tw-ring-opacity:1}.sm\\:focus\\:ring-opacity-0:focus{--tw-ring-opacity:0}.sm\\:focus\\:ring-opacity-5:focus{--tw-ring-opacity:0.05}.sm\\:focus\\:ring-opacity-10:focus{--tw-ring-opacity:0.1}.sm\\:focus\\:ring-opacity-20:focus{--tw-ring-opacity:0.2}.sm\\:focus\\:ring-opacity-25:focus{--tw-ring-opacity:0.25}.sm\\:focus\\:ring-opacity-30:focus{--tw-ring-opacity:0.3}.sm\\:focus\\:ring-opacity-40:focus{--tw-ring-opacity:0.4}.sm\\:focus\\:ring-opacity-50:focus{--tw-ring-opacity:0.5}.sm\\:focus\\:ring-opacity-60:focus{--tw-ring-opacity:0.6}.sm\\:focus\\:ring-opacity-70:focus{--tw-ring-opacity:0.7}.sm\\:focus\\:ring-opacity-75:focus{--tw-ring-opacity:0.75}.sm\\:focus\\:ring-opacity-80:focus{--tw-ring-opacity:0.8}.sm\\:focus\\:ring-opacity-90:focus{--tw-ring-opacity:0.9}.sm\\:focus\\:ring-opacity-95:focus{--tw-ring-opacity:0.95}.sm\\:focus\\:ring-opacity-100:focus{--tw-ring-opacity:1}@media(prefers-color-scheme: dark){.sm\\:dark\\:ring-opacity-0{--tw-ring-opacity:0}.sm\\:dark\\:ring-opacity-5{--tw-ring-opacity:0.05}.sm\\:dark\\:ring-opacity-10{--tw-ring-opacity:0.1}.sm\\:dark\\:ring-opacity-20{--tw-ring-opacity:0.2}.sm\\:dark\\:ring-opacity-25{--tw-ring-opacity:0.25}.sm\\:dark\\:ring-opacity-30{--tw-ring-opacity:0.3}.sm\\:dark\\:ring-opacity-40{--tw-ring-opacity:0.4}.sm\\:dark\\:ring-opacity-50{--tw-ring-opacity:0.5}.sm\\:dark\\:ring-opacity-60{--tw-ring-opacity:0.6}.sm\\:dark\\:ring-opacity-70{--tw-ring-opacity:0.7}.sm\\:dark\\:ring-opacity-75{--tw-ring-opacity:0.75}.sm\\:dark\\:ring-opacity-80{--tw-ring-opacity:0.8}.sm\\:dark\\:ring-opacity-90{--tw-ring-opacity:0.9}.sm\\:dark\\:ring-opacity-95{--tw-ring-opacity:0.95}.sm\\:dark\\:ring-opacity-100{--tw-ring-opacity:1}.sm\\:dark\\:focus-within\\:ring-opacity-0:focus-within{--tw-ring-opacity:0}.sm\\:dark\\:focus-within\\:ring-opacity-5:focus-within{--tw-ring-opacity:0.05}.sm\\:dark\\:focus-within\\:ring-opacity-10:focus-within{--tw-ring-opacity:0.1}.sm\\:dark\\:focus-within\\:ring-opacity-20:focus-within{--tw-ring-opacity:0.2}.sm\\:dark\\:focus-within\\:ring-opacity-25:focus-within{--tw-ring-opacity:0.25}.sm\\:dark\\:focus-within\\:ring-opacity-30:focus-within{--tw-ring-opacity:0.3}.sm\\:dark\\:focus-within\\:ring-opacity-40:focus-within{--tw-ring-opacity:0.4}.sm\\:dark\\:focus-within\\:ring-opacity-50:focus-within{--tw-ring-opacity:0.5}.sm\\:dark\\:focus-within\\:ring-opacity-60:focus-within{--tw-ring-opacity:0.6}.sm\\:dark\\:focus-within\\:ring-opacity-70:focus-within{--tw-ring-opacity:0.7}.sm\\:dark\\:focus-within\\:ring-opacity-75:focus-within{--tw-ring-opacity:0.75}.sm\\:dark\\:focus-within\\:ring-opacity-80:focus-within{--tw-ring-opacity:0.8}.sm\\:dark\\:focus-within\\:ring-opacity-90:focus-within{--tw-ring-opacity:0.9}.sm\\:dark\\:focus-within\\:ring-opacity-95:focus-within{--tw-ring-opacity:0.95}.sm\\:dark\\:focus-within\\:ring-opacity-100:focus-within{--tw-ring-opacity:1}.sm\\:dark\\:focus\\:ring-opacity-0:focus{--tw-ring-opacity:0}.sm\\:dark\\:focus\\:ring-opacity-5:focus{--tw-ring-opacity:0.05}.sm\\:dark\\:focus\\:ring-opacity-10:focus{--tw-ring-opacity:0.1}.sm\\:dark\\:focus\\:ring-opacity-20:focus{--tw-ring-opacity:0.2}.sm\\:dark\\:focus\\:ring-opacity-25:focus{--tw-ring-opacity:0.25}.sm\\:dark\\:focus\\:ring-opacity-30:focus{--tw-ring-opacity:0.3}.sm\\:dark\\:focus\\:ring-opacity-40:focus{--tw-ring-opacity:0.4}.sm\\:dark\\:focus\\:ring-opacity-50:focus{--tw-ring-opacity:0.5}.sm\\:dark\\:focus\\:ring-opacity-60:focus{--tw-ring-opacity:0.6}.sm\\:dark\\:focus\\:ring-opacity-70:focus{--tw-ring-opacity:0.7}.sm\\:dark\\:focus\\:ring-opacity-75:focus{--tw-ring-opacity:0.75}.sm\\:dark\\:focus\\:ring-opacity-80:focus{--tw-ring-opacity:0.8}.sm\\:dark\\:focus\\:ring-opacity-90:focus{--tw-ring-opacity:0.9}.sm\\:dark\\:focus\\:ring-opacity-95:focus{--tw-ring-opacity:0.95}.sm\\:dark\\:focus\\:ring-opacity-100:focus{--tw-ring-opacity:1}}.sm\\:ring-offset-0{--tw-ring-offset-width:0px}.sm\\:ring-offset-1{--tw-ring-offset-width:1px}.sm\\:ring-offset-2{--tw-ring-offset-width:2px}.sm\\:ring-offset-4{--tw-ring-offset-width:4px}.sm\\:ring-offset-8{--tw-ring-offset-width:8px}.sm\\:focus-within\\:ring-offset-0:focus-within{--tw-ring-offset-width:0px}.sm\\:focus-within\\:ring-offset-1:focus-within{--tw-ring-offset-width:1px}.sm\\:focus-within\\:ring-offset-2:focus-within{--tw-ring-offset-width:2px}.sm\\:focus-within\\:ring-offset-4:focus-within{--tw-ring-offset-width:4px}.sm\\:focus-within\\:ring-offset-8:focus-within{--tw-ring-offset-width:8px}.sm\\:focus\\:ring-offset-0:focus{--tw-ring-offset-width:0px}.sm\\:focus\\:ring-offset-1:focus{--tw-ring-offset-width:1px}.sm\\:focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}.sm\\:focus\\:ring-offset-4:focus{--tw-ring-offset-width:4px}.sm\\:focus\\:ring-offset-8:focus{--tw-ring-offset-width:8px}.sm\\:ring-offset-transparent{--tw-ring-offset-color:transparent}.sm\\:ring-offset-current{--tw-ring-offset-color:currentColor}.sm\\:ring-offset-white{--tw-ring-offset-color:#fff}.sm\\:ring-offset-lightgrey{--tw-ring-offset-color:#F7F7F7}.sm\\:ring-offset-midgrey{--tw-ring-offset-color:#cfcfcf}.sm\\:ring-offset-darkgrey{--tw-ring-offset-color:#7f7f7f}.sm\\:ring-offset-grey{--tw-ring-offset-color:#1e1e1e}.sm\\:ring-offset-black{--tw-ring-offset-color:#0f0f0f}.sm\\:ring-offset-highlight{--tw-ring-offset-color:#0071e3}.sm\\:ring-offset-highlight_hover{--tw-ring-offset-color:#0077ed}.sm\\:ring-offset-button_outline{--tw-ring-offset-color:#cfcfcf}.sm\\:ring-offset-error{--tw-ring-offset-color:#ff453a}.sm\\:ring-offset-text-light{--tw-ring-offset-color:#0f0f0f}.sm\\:ring-offset-text-dimmed{--tw-ring-offset-color:#cfcfcf}.sm\\:ring-offset-text-dark{--tw-ring-offset-color:#fff}.sm\\:ring-offset-body-light{--tw-ring-offset-color:#fff}.sm\\:ring-offset-body-dark{--tw-ring-offset-color:#1e1e1e}.sm\\:ring-offset-button{--tw-ring-offset-color:#0071e3}.sm\\:ring-offset-button_hover{--tw-ring-offset-color:#0077ed}.sm\\:focus-within\\:ring-offset-transparent:focus-within{--tw-ring-offset-color:transparent}.sm\\:focus-within\\:ring-offset-current:focus-within{--tw-ring-offset-color:currentColor}.sm\\:focus-within\\:ring-offset-white:focus-within{--tw-ring-offset-color:#fff}.sm\\:focus-within\\:ring-offset-lightgrey:focus-within{--tw-ring-offset-color:#F7F7F7}.sm\\:focus-within\\:ring-offset-midgrey:focus-within{--tw-ring-offset-color:#cfcfcf}.sm\\:focus-within\\:ring-offset-darkgrey:focus-within{--tw-ring-offset-color:#7f7f7f}.sm\\:focus-within\\:ring-offset-grey:focus-within{--tw-ring-offset-color:#1e1e1e}.sm\\:focus-within\\:ring-offset-black:focus-within{--tw-ring-offset-color:#0f0f0f}.sm\\:focus-within\\:ring-offset-highlight:focus-within{--tw-ring-offset-color:#0071e3}.sm\\:focus-within\\:ring-offset-highlight_hover:focus-within{--tw-ring-offset-color:#0077ed}.sm\\:focus-within\\:ring-offset-button_outline:focus-within{--tw-ring-offset-color:#cfcfcf}.sm\\:focus-within\\:ring-offset-error:focus-within{--tw-ring-offset-color:#ff453a}.sm\\:focus-within\\:ring-offset-text-light:focus-within{--tw-ring-offset-color:#0f0f0f}.sm\\:focus-within\\:ring-offset-text-dimmed:focus-within{--tw-ring-offset-color:#cfcfcf}.sm\\:focus-within\\:ring-offset-text-dark:focus-within{--tw-ring-offset-color:#fff}.sm\\:focus-within\\:ring-offset-body-light:focus-within{--tw-ring-offset-color:#fff}.sm\\:focus-within\\:ring-offset-body-dark:focus-within{--tw-ring-offset-color:#1e1e1e}.sm\\:focus-within\\:ring-offset-button:focus-within{--tw-ring-offset-color:#0071e3}.sm\\:focus-within\\:ring-offset-button_hover:focus-within{--tw-ring-offset-color:#0077ed}.sm\\:focus\\:ring-offset-transparent:focus{--tw-ring-offset-color:transparent}.sm\\:focus\\:ring-offset-current:focus{--tw-ring-offset-color:currentColor}.sm\\:focus\\:ring-offset-white:focus{--tw-ring-offset-color:#fff}.sm\\:focus\\:ring-offset-lightgrey:focus{--tw-ring-offset-color:#F7F7F7}.sm\\:focus\\:ring-offset-midgrey:focus{--tw-ring-offset-color:#cfcfcf}.sm\\:focus\\:ring-offset-darkgrey:focus{--tw-ring-offset-color:#7f7f7f}.sm\\:focus\\:ring-offset-grey:focus{--tw-ring-offset-color:#1e1e1e}.sm\\:focus\\:ring-offset-black:focus{--tw-ring-offset-color:#0f0f0f}.sm\\:focus\\:ring-offset-highlight:focus{--tw-ring-offset-color:#0071e3}.sm\\:focus\\:ring-offset-highlight_hover:focus{--tw-ring-offset-color:#0077ed}.sm\\:focus\\:ring-offset-button_outline:focus{--tw-ring-offset-color:#cfcfcf}.sm\\:focus\\:ring-offset-error:focus{--tw-ring-offset-color:#ff453a}.sm\\:focus\\:ring-offset-text-light:focus{--tw-ring-offset-color:#0f0f0f}.sm\\:focus\\:ring-offset-text-dimmed:focus{--tw-ring-offset-color:#cfcfcf}.sm\\:focus\\:ring-offset-text-dark:focus{--tw-ring-offset-color:#fff}.sm\\:focus\\:ring-offset-body-light:focus{--tw-ring-offset-color:#fff}.sm\\:focus\\:ring-offset-body-dark:focus{--tw-ring-offset-color:#1e1e1e}.sm\\:focus\\:ring-offset-button:focus{--tw-ring-offset-color:#0071e3}.sm\\:focus\\:ring-offset-button_hover:focus{--tw-ring-offset-color:#0077ed}@media(prefers-color-scheme: dark){.sm\\:dark\\:ring-offset-transparent{--tw-ring-offset-color:transparent}.sm\\:dark\\:ring-offset-current{--tw-ring-offset-color:currentColor}.sm\\:dark\\:ring-offset-white{--tw-ring-offset-color:#fff}.sm\\:dark\\:ring-offset-lightgrey{--tw-ring-offset-color:#F7F7F7}.sm\\:dark\\:ring-offset-midgrey{--tw-ring-offset-color:#cfcfcf}.sm\\:dark\\:ring-offset-darkgrey{--tw-ring-offset-color:#7f7f7f}.sm\\:dark\\:ring-offset-grey{--tw-ring-offset-color:#1e1e1e}.sm\\:dark\\:ring-offset-black{--tw-ring-offset-color:#0f0f0f}.sm\\:dark\\:ring-offset-highlight{--tw-ring-offset-color:#0071e3}.sm\\:dark\\:ring-offset-highlight_hover{--tw-ring-offset-color:#0077ed}.sm\\:dark\\:ring-offset-button_outline{--tw-ring-offset-color:#cfcfcf}.sm\\:dark\\:ring-offset-error{--tw-ring-offset-color:#ff453a}.sm\\:dark\\:ring-offset-text-light{--tw-ring-offset-color:#0f0f0f}.sm\\:dark\\:ring-offset-text-dimmed{--tw-ring-offset-color:#cfcfcf}.sm\\:dark\\:ring-offset-text-dark{--tw-ring-offset-color:#fff}.sm\\:dark\\:ring-offset-body-light{--tw-ring-offset-color:#fff}.sm\\:dark\\:ring-offset-body-dark{--tw-ring-offset-color:#1e1e1e}.sm\\:dark\\:ring-offset-button{--tw-ring-offset-color:#0071e3}.sm\\:dark\\:ring-offset-button_hover{--tw-ring-offset-color:#0077ed}.sm\\:dark\\:focus-within\\:ring-offset-transparent:focus-within{--tw-ring-offset-color:transparent}.sm\\:dark\\:focus-within\\:ring-offset-current:focus-within{--tw-ring-offset-color:currentColor}.sm\\:dark\\:focus-within\\:ring-offset-white:focus-within{--tw-ring-offset-color:#fff}.sm\\:dark\\:focus-within\\:ring-offset-lightgrey:focus-within{--tw-ring-offset-color:#F7F7F7}.sm\\:dark\\:focus-within\\:ring-offset-midgrey:focus-within{--tw-ring-offset-color:#cfcfcf}.sm\\:dark\\:focus-within\\:ring-offset-darkgrey:focus-within{--tw-ring-offset-color:#7f7f7f}.sm\\:dark\\:focus-within\\:ring-offset-grey:focus-within{--tw-ring-offset-color:#1e1e1e}.sm\\:dark\\:focus-within\\:ring-offset-black:focus-within{--tw-ring-offset-color:#0f0f0f}.sm\\:dark\\:focus-within\\:ring-offset-highlight:focus-within{--tw-ring-offset-color:#0071e3}.sm\\:dark\\:focus-within\\:ring-offset-highlight_hover:focus-within{--tw-ring-offset-color:#0077ed}.sm\\:dark\\:focus-within\\:ring-offset-button_outline:focus-within{--tw-ring-offset-color:#cfcfcf}.sm\\:dark\\:focus-within\\:ring-offset-error:focus-within{--tw-ring-offset-color:#ff453a}.sm\\:dark\\:focus-within\\:ring-offset-text-light:focus-within{--tw-ring-offset-color:#0f0f0f}.sm\\:dark\\:focus-within\\:ring-offset-text-dimmed:focus-within{--tw-ring-offset-color:#cfcfcf}.sm\\:dark\\:focus-within\\:ring-offset-text-dark:focus-within{--tw-ring-offset-color:#fff}.sm\\:dark\\:focus-within\\:ring-offset-body-light:focus-within{--tw-ring-offset-color:#fff}.sm\\:dark\\:focus-within\\:ring-offset-body-dark:focus-within{--tw-ring-offset-color:#1e1e1e}.sm\\:dark\\:focus-within\\:ring-offset-button:focus-within{--tw-ring-offset-color:#0071e3}.sm\\:dark\\:focus-within\\:ring-offset-button_hover:focus-within{--tw-ring-offset-color:#0077ed}.sm\\:dark\\:focus\\:ring-offset-transparent:focus{--tw-ring-offset-color:transparent}.sm\\:dark\\:focus\\:ring-offset-current:focus{--tw-ring-offset-color:currentColor}.sm\\:dark\\:focus\\:ring-offset-white:focus{--tw-ring-offset-color:#fff}.sm\\:dark\\:focus\\:ring-offset-lightgrey:focus{--tw-ring-offset-color:#F7F7F7}.sm\\:dark\\:focus\\:ring-offset-midgrey:focus{--tw-ring-offset-color:#cfcfcf}.sm\\:dark\\:focus\\:ring-offset-darkgrey:focus{--tw-ring-offset-color:#7f7f7f}.sm\\:dark\\:focus\\:ring-offset-grey:focus{--tw-ring-offset-color:#1e1e1e}.sm\\:dark\\:focus\\:ring-offset-black:focus{--tw-ring-offset-color:#0f0f0f}.sm\\:dark\\:focus\\:ring-offset-highlight:focus{--tw-ring-offset-color:#0071e3}.sm\\:dark\\:focus\\:ring-offset-highlight_hover:focus{--tw-ring-offset-color:#0077ed}.sm\\:dark\\:focus\\:ring-offset-button_outline:focus{--tw-ring-offset-color:#cfcfcf}.sm\\:dark\\:focus\\:ring-offset-error:focus{--tw-ring-offset-color:#ff453a}.sm\\:dark\\:focus\\:ring-offset-text-light:focus{--tw-ring-offset-color:#0f0f0f}.sm\\:dark\\:focus\\:ring-offset-text-dimmed:focus{--tw-ring-offset-color:#cfcfcf}.sm\\:dark\\:focus\\:ring-offset-text-dark:focus{--tw-ring-offset-color:#fff}.sm\\:dark\\:focus\\:ring-offset-body-light:focus{--tw-ring-offset-color:#fff}.sm\\:dark\\:focus\\:ring-offset-body-dark:focus{--tw-ring-offset-color:#1e1e1e}.sm\\:dark\\:focus\\:ring-offset-button:focus{--tw-ring-offset-color:#0071e3}.sm\\:dark\\:focus\\:ring-offset-button_hover:focus{--tw-ring-offset-color:#0077ed}}.sm\\:filter{--tw-blur:var(--tw-empty,/*!*/ /*!*/);--tw-brightness:var(--tw-empty,/*!*/ /*!*/);--tw-contrast:var(--tw-empty,/*!*/ /*!*/);--tw-grayscale:var(--tw-empty,/*!*/ /*!*/);--tw-hue-rotate:var(--tw-empty,/*!*/ /*!*/);--tw-invert:var(--tw-empty,/*!*/ /*!*/);--tw-saturate:var(--tw-empty,/*!*/ /*!*/);--tw-sepia:var(--tw-empty,/*!*/ /*!*/);--tw-drop-shadow:var(--tw-empty,/*!*/ /*!*/);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.sm\\:filter-none{filter:none}.sm\\:blur-0{--tw-blur:blur(0)}.sm\\:blur-none{--tw-blur:blur(0)}.sm\\:blur-sm{--tw-blur:blur(4px)}.sm\\:blur{--tw-blur:blur(8px)}.sm\\:blur-md{--tw-blur:blur(12px)}.sm\\:blur-lg{--tw-blur:blur(16px)}.sm\\:blur-xl{--tw-blur:blur(24px)}.sm\\:blur-2xl{--tw-blur:blur(40px)}.sm\\:blur-3xl{--tw-blur:blur(64px)}.sm\\:brightness-0{--tw-brightness:brightness(0)}.sm\\:brightness-50{--tw-brightness:brightness(.5)}.sm\\:brightness-75{--tw-brightness:brightness(.75)}.sm\\:brightness-90{--tw-brightness:brightness(.9)}.sm\\:brightness-95{--tw-brightness:brightness(.95)}.sm\\:brightness-100{--tw-brightness:brightness(1)}.sm\\:brightness-105{--tw-brightness:brightness(1.05)}.sm\\:brightness-110{--tw-brightness:brightness(1.1)}.sm\\:brightness-125{--tw-brightness:brightness(1.25)}.sm\\:brightness-150{--tw-brightness:brightness(1.5)}.sm\\:brightness-200{--tw-brightness:brightness(2)}.sm\\:contrast-0{--tw-contrast:contrast(0)}.sm\\:contrast-50{--tw-contrast:contrast(.5)}.sm\\:contrast-75{--tw-contrast:contrast(.75)}.sm\\:contrast-100{--tw-contrast:contrast(1)}.sm\\:contrast-125{--tw-contrast:contrast(1.25)}.sm\\:contrast-150{--tw-contrast:contrast(1.5)}.sm\\:contrast-200{--tw-contrast:contrast(2)}.sm\\:drop-shadow-sm{--tw-drop-shadow:drop-shadow(0 1px 1px rgba(0,0,0,0.05))}.sm\\:drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1)) drop-shadow(0 1px 1px rgba(0, 0, 0, 0.06))}.sm\\:drop-shadow-md{--tw-drop-shadow:drop-shadow(0 4px 3px rgba(0, 0, 0, 0.07)) drop-shadow(0 2px 2px rgba(0, 0, 0, 0.06))}.sm\\:drop-shadow-lg{--tw-drop-shadow:drop-shadow(0 10px 8px rgba(0, 0, 0, 0.04)) drop-shadow(0 4px 3px rgba(0, 0, 0, 0.1))}.sm\\:drop-shadow-xl{--tw-drop-shadow:drop-shadow(0 20px 13px rgba(0, 0, 0, 0.03)) drop-shadow(0 8px 5px rgba(0, 0, 0, 0.08))}.sm\\:drop-shadow-2xl{--tw-drop-shadow:drop-shadow(0 25px 25px rgba(0, 0, 0, 0.15))}.sm\\:drop-shadow-none{--tw-drop-shadow:drop-shadow(0 0 #0000)}.sm\\:grayscale-0{--tw-grayscale:grayscale(0)}.sm\\:grayscale{--tw-grayscale:grayscale(100%)}.sm\\:hue-rotate-0{--tw-hue-rotate:hue-rotate(0deg)}.sm\\:hue-rotate-15{--tw-hue-rotate:hue-rotate(15deg)}.sm\\:hue-rotate-30{--tw-hue-rotate:hue-rotate(30deg)}.sm\\:hue-rotate-60{--tw-hue-rotate:hue-rotate(60deg)}.sm\\:hue-rotate-90{--tw-hue-rotate:hue-rotate(90deg)}.sm\\:hue-rotate-180{--tw-hue-rotate:hue-rotate(180deg)}.sm\\:-hue-rotate-180{--tw-hue-rotate:hue-rotate(-180deg)}.sm\\:-hue-rotate-90{--tw-hue-rotate:hue-rotate(-90deg)}.sm\\:-hue-rotate-60{--tw-hue-rotate:hue-rotate(-60deg)}.sm\\:-hue-rotate-30{--tw-hue-rotate:hue-rotate(-30deg)}.sm\\:-hue-rotate-15{--tw-hue-rotate:hue-rotate(-15deg)}.sm\\:invert-0{--tw-invert:invert(0)}.sm\\:invert{--tw-invert:invert(100%)}.sm\\:saturate-0{--tw-saturate:saturate(0)}.sm\\:saturate-50{--tw-saturate:saturate(.5)}.sm\\:saturate-100{--tw-saturate:saturate(1)}.sm\\:saturate-150{--tw-saturate:saturate(1.5)}.sm\\:saturate-200{--tw-saturate:saturate(2)}.sm\\:sepia-0{--tw-sepia:sepia(0)}.sm\\:sepia{--tw-sepia:sepia(100%)}.sm\\:backdrop-filter{--tw-backdrop-blur:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-brightness:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-contrast:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-grayscale:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-hue-rotate:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-invert:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-opacity:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-saturate:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-sepia:var(--tw-empty,/*!*/ /*!*/);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.sm\\:backdrop-filter-none{backdrop-filter:none}.sm\\:backdrop-blur-0{--tw-backdrop-blur:blur(0)}.sm\\:backdrop-blur-none{--tw-backdrop-blur:blur(0)}.sm\\:backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.sm\\:backdrop-blur{--tw-backdrop-blur:blur(8px)}.sm\\:backdrop-blur-md{--tw-backdrop-blur:blur(12px)}.sm\\:backdrop-blur-lg{--tw-backdrop-blur:blur(16px)}.sm\\:backdrop-blur-xl{--tw-backdrop-blur:blur(24px)}.sm\\:backdrop-blur-2xl{--tw-backdrop-blur:blur(40px)}.sm\\:backdrop-blur-3xl{--tw-backdrop-blur:blur(64px)}.sm\\:backdrop-brightness-0{--tw-backdrop-brightness:brightness(0)}.sm\\:backdrop-brightness-50{--tw-backdrop-brightness:brightness(.5)}.sm\\:backdrop-brightness-75{--tw-backdrop-brightness:brightness(.75)}.sm\\:backdrop-brightness-90{--tw-backdrop-brightness:brightness(.9)}.sm\\:backdrop-brightness-95{--tw-backdrop-brightness:brightness(.95)}.sm\\:backdrop-brightness-100{--tw-backdrop-brightness:brightness(1)}.sm\\:backdrop-brightness-105{--tw-backdrop-brightness:brightness(1.05)}.sm\\:backdrop-brightness-110{--tw-backdrop-brightness:brightness(1.1)}.sm\\:backdrop-brightness-125{--tw-backdrop-brightness:brightness(1.25)}.sm\\:backdrop-brightness-150{--tw-backdrop-brightness:brightness(1.5)}.sm\\:backdrop-brightness-200{--tw-backdrop-brightness:brightness(2)}.sm\\:backdrop-contrast-0{--tw-backdrop-contrast:contrast(0)}.sm\\:backdrop-contrast-50{--tw-backdrop-contrast:contrast(.5)}.sm\\:backdrop-contrast-75{--tw-backdrop-contrast:contrast(.75)}.sm\\:backdrop-contrast-100{--tw-backdrop-contrast:contrast(1)}.sm\\:backdrop-contrast-125{--tw-backdrop-contrast:contrast(1.25)}.sm\\:backdrop-contrast-150{--tw-backdrop-contrast:contrast(1.5)}.sm\\:backdrop-contrast-200{--tw-backdrop-contrast:contrast(2)}.sm\\:backdrop-grayscale-0{--tw-backdrop-grayscale:grayscale(0)}.sm\\:backdrop-grayscale{--tw-backdrop-grayscale:grayscale(100%)}.sm\\:backdrop-hue-rotate-0{--tw-backdrop-hue-rotate:hue-rotate(0deg)}.sm\\:backdrop-hue-rotate-15{--tw-backdrop-hue-rotate:hue-rotate(15deg)}.sm\\:backdrop-hue-rotate-30{--tw-backdrop-hue-rotate:hue-rotate(30deg)}.sm\\:backdrop-hue-rotate-60{--tw-backdrop-hue-rotate:hue-rotate(60deg)}.sm\\:backdrop-hue-rotate-90{--tw-backdrop-hue-rotate:hue-rotate(90deg)}.sm\\:backdrop-hue-rotate-180{--tw-backdrop-hue-rotate:hue-rotate(180deg)}.sm\\:-backdrop-hue-rotate-180{--tw-backdrop-hue-rotate:hue-rotate(-180deg)}.sm\\:-backdrop-hue-rotate-90{--tw-backdrop-hue-rotate:hue-rotate(-90deg)}.sm\\:-backdrop-hue-rotate-60{--tw-backdrop-hue-rotate:hue-rotate(-60deg)}.sm\\:-backdrop-hue-rotate-30{--tw-backdrop-hue-rotate:hue-rotate(-30deg)}.sm\\:-backdrop-hue-rotate-15{--tw-backdrop-hue-rotate:hue-rotate(-15deg)}.sm\\:backdrop-invert-0{--tw-backdrop-invert:invert(0)}.sm\\:backdrop-invert{--tw-backdrop-invert:invert(100%)}.sm\\:backdrop-opacity-0{--tw-backdrop-opacity:opacity(0)}.sm\\:backdrop-opacity-5{--tw-backdrop-opacity:opacity(0.05)}.sm\\:backdrop-opacity-10{--tw-backdrop-opacity:opacity(0.1)}.sm\\:backdrop-opacity-20{--tw-backdrop-opacity:opacity(0.2)}.sm\\:backdrop-opacity-25{--tw-backdrop-opacity:opacity(0.25)}.sm\\:backdrop-opacity-30{--tw-backdrop-opacity:opacity(0.3)}.sm\\:backdrop-opacity-40{--tw-backdrop-opacity:opacity(0.4)}.sm\\:backdrop-opacity-50{--tw-backdrop-opacity:opacity(0.5)}.sm\\:backdrop-opacity-60{--tw-backdrop-opacity:opacity(0.6)}.sm\\:backdrop-opacity-70{--tw-backdrop-opacity:opacity(0.7)}.sm\\:backdrop-opacity-75{--tw-backdrop-opacity:opacity(0.75)}.sm\\:backdrop-opacity-80{--tw-backdrop-opacity:opacity(0.8)}.sm\\:backdrop-opacity-90{--tw-backdrop-opacity:opacity(0.9)}.sm\\:backdrop-opacity-95{--tw-backdrop-opacity:opacity(0.95)}.sm\\:backdrop-opacity-100{--tw-backdrop-opacity:opacity(1)}.sm\\:backdrop-saturate-0{--tw-backdrop-saturate:saturate(0)}.sm\\:backdrop-saturate-50{--tw-backdrop-saturate:saturate(.5)}.sm\\:backdrop-saturate-100{--tw-backdrop-saturate:saturate(1)}.sm\\:backdrop-saturate-150{--tw-backdrop-saturate:saturate(1.5)}.sm\\:backdrop-saturate-200{--tw-backdrop-saturate:saturate(2)}.sm\\:backdrop-sepia-0{--tw-backdrop-sepia:sepia(0)}.sm\\:backdrop-sepia{--tw-backdrop-sepia:sepia(100%)}.sm\\:transition-none{transition-property:none}.sm\\:transition-all{transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.sm\\:transition{transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.sm\\:transition-colors{transition-property:background-color, border-color, color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.sm\\:transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.sm\\:transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.sm\\:transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.sm\\:delay-75{transition-delay:75ms}.sm\\:delay-100{transition-delay:100ms}.sm\\:delay-150{transition-delay:150ms}.sm\\:delay-200{transition-delay:200ms}.sm\\:delay-300{transition-delay:300ms}.sm\\:delay-500{transition-delay:500ms}.sm\\:delay-700{transition-delay:700ms}.sm\\:delay-1000{transition-delay:1000ms}.sm\\:duration-75{transition-duration:75ms}.sm\\:duration-100{transition-duration:100ms}.sm\\:duration-150{transition-duration:150ms}.sm\\:duration-200{transition-duration:200ms}.sm\\:duration-300{transition-duration:300ms}.sm\\:duration-500{transition-duration:500ms}.sm\\:duration-700{transition-duration:700ms}.sm\\:duration-1000{transition-duration:1000ms}.sm\\:ease-linear{transition-timing-function:linear}.sm\\:ease-in{transition-timing-function:cubic-bezier(0.4, 0, 1, 1)}.sm\\:ease-out{transition-timing-function:cubic-bezier(0, 0, 0.2, 1)}.sm\\:ease-in-out{transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}}@media(min-width: 768px){.md\\:container{width:100%}@media(min-width: 640px){.md\\:container{max-width:640px}}@media(min-width: 768px){.md\\:container{max-width:768px}}@media(min-width: 1024px){.md\\:container{max-width:1024px}}@media(min-width: 1280px){.md\\:container{max-width:1280px}}@media(min-width: 1536px){.md\\:container{max-width:1536px}}.md\\:sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.md\\:not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.md\\:focus-within\\:sr-only:focus-within{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.md\\:focus-within\\:not-sr-only:focus-within{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.md\\:focus\\:sr-only:focus{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.md\\:focus\\:not-sr-only:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.md\\:pointer-events-none{pointer-events:none}.md\\:pointer-events-auto{pointer-events:auto}.md\\:visible{visibility:visible}.md\\:invisible{visibility:hidden}.md\\:static{position:static}.md\\:fixed{position:fixed}.md\\:absolute{position:absolute}.md\\:relative{position:relative}.md\\:sticky{position:sticky}.md\\:inset-0{top:0px;right:0px;bottom:0px;left:0px}.md\\:inset-1{top:0.25rem;right:0.25rem;bottom:0.25rem;left:0.25rem}.md\\:inset-2{top:0.5rem;right:0.5rem;bottom:0.5rem;left:0.5rem}.md\\:inset-3{top:0.75rem;right:0.75rem;bottom:0.75rem;left:0.75rem}.md\\:inset-4{top:1rem;right:1rem;bottom:1rem;left:1rem}.md\\:inset-5{top:1.25rem;right:1.25rem;bottom:1.25rem;left:1.25rem}.md\\:inset-6{top:1.5rem;right:1.5rem;bottom:1.5rem;left:1.5rem}.md\\:inset-7{top:1.75rem;right:1.75rem;bottom:1.75rem;left:1.75rem}.md\\:inset-8{top:2rem;right:2rem;bottom:2rem;left:2rem}.md\\:inset-9{top:2.25rem;right:2.25rem;bottom:2.25rem;left:2.25rem}.md\\:inset-10{top:2.5rem;right:2.5rem;bottom:2.5rem;left:2.5rem}.md\\:inset-11{top:2.75rem;right:2.75rem;bottom:2.75rem;left:2.75rem}.md\\:inset-12{top:3rem;right:3rem;bottom:3rem;left:3rem}.md\\:inset-14{top:3.5rem;right:3.5rem;bottom:3.5rem;left:3.5rem}.md\\:inset-16{top:4rem;right:4rem;bottom:4rem;left:4rem}.md\\:inset-20{top:5rem;right:5rem;bottom:5rem;left:5rem}.md\\:inset-24{top:6rem;right:6rem;bottom:6rem;left:6rem}.md\\:inset-28{top:7rem;right:7rem;bottom:7rem;left:7rem}.md\\:inset-32{top:8rem;right:8rem;bottom:8rem;left:8rem}.md\\:inset-36{top:9rem;right:9rem;bottom:9rem;left:9rem}.md\\:inset-40{top:10rem;right:10rem;bottom:10rem;left:10rem}.md\\:inset-44{top:11rem;right:11rem;bottom:11rem;left:11rem}.md\\:inset-48{top:12rem;right:12rem;bottom:12rem;left:12rem}.md\\:inset-52{top:13rem;right:13rem;bottom:13rem;left:13rem}.md\\:inset-56{top:14rem;right:14rem;bottom:14rem;left:14rem}.md\\:inset-60{top:15rem;right:15rem;bottom:15rem;left:15rem}.md\\:inset-64{top:16rem;right:16rem;bottom:16rem;left:16rem}.md\\:inset-72{top:18rem;right:18rem;bottom:18rem;left:18rem}.md\\:inset-80{top:20rem;right:20rem;bottom:20rem;left:20rem}.md\\:inset-96{top:24rem;right:24rem;bottom:24rem;left:24rem}.md\\:inset-auto{top:auto;right:auto;bottom:auto;left:auto}.md\\:inset-px{top:1px;right:1px;bottom:1px;left:1px}.md\\:inset-0\\.5{top:0.125rem;right:0.125rem;bottom:0.125rem;left:0.125rem}.md\\:inset-1\\.5{top:0.375rem;right:0.375rem;bottom:0.375rem;left:0.375rem}.md\\:inset-2\\.5{top:0.625rem;right:0.625rem;bottom:0.625rem;left:0.625rem}.md\\:inset-3\\.5{top:0.875rem;right:0.875rem;bottom:0.875rem;left:0.875rem}.md\\:-inset-0{top:0px;right:0px;bottom:0px;left:0px}.md\\:-inset-1{top:-0.25rem;right:-0.25rem;bottom:-0.25rem;left:-0.25rem}.md\\:-inset-2{top:-0.5rem;right:-0.5rem;bottom:-0.5rem;left:-0.5rem}.md\\:-inset-3{top:-0.75rem;right:-0.75rem;bottom:-0.75rem;left:-0.75rem}.md\\:-inset-4{top:-1rem;right:-1rem;bottom:-1rem;left:-1rem}.md\\:-inset-5{top:-1.25rem;right:-1.25rem;bottom:-1.25rem;left:-1.25rem}.md\\:-inset-6{top:-1.5rem;right:-1.5rem;bottom:-1.5rem;left:-1.5rem}.md\\:-inset-7{top:-1.75rem;right:-1.75rem;bottom:-1.75rem;left:-1.75rem}.md\\:-inset-8{top:-2rem;right:-2rem;bottom:-2rem;left:-2rem}.md\\:-inset-9{top:-2.25rem;right:-2.25rem;bottom:-2.25rem;left:-2.25rem}.md\\:-inset-10{top:-2.5rem;right:-2.5rem;bottom:-2.5rem;left:-2.5rem}.md\\:-inset-11{top:-2.75rem;right:-2.75rem;bottom:-2.75rem;left:-2.75rem}.md\\:-inset-12{top:-3rem;right:-3rem;bottom:-3rem;left:-3rem}.md\\:-inset-14{top:-3.5rem;right:-3.5rem;bottom:-3.5rem;left:-3.5rem}.md\\:-inset-16{top:-4rem;right:-4rem;bottom:-4rem;left:-4rem}.md\\:-inset-20{top:-5rem;right:-5rem;bottom:-5rem;left:-5rem}.md\\:-inset-24{top:-6rem;right:-6rem;bottom:-6rem;left:-6rem}.md\\:-inset-28{top:-7rem;right:-7rem;bottom:-7rem;left:-7rem}.md\\:-inset-32{top:-8rem;right:-8rem;bottom:-8rem;left:-8rem}.md\\:-inset-36{top:-9rem;right:-9rem;bottom:-9rem;left:-9rem}.md\\:-inset-40{top:-10rem;right:-10rem;bottom:-10rem;left:-10rem}.md\\:-inset-44{top:-11rem;right:-11rem;bottom:-11rem;left:-11rem}.md\\:-inset-48{top:-12rem;right:-12rem;bottom:-12rem;left:-12rem}.md\\:-inset-52{top:-13rem;right:-13rem;bottom:-13rem;left:-13rem}.md\\:-inset-56{top:-14rem;right:-14rem;bottom:-14rem;left:-14rem}.md\\:-inset-60{top:-15rem;right:-15rem;bottom:-15rem;left:-15rem}.md\\:-inset-64{top:-16rem;right:-16rem;bottom:-16rem;left:-16rem}.md\\:-inset-72{top:-18rem;right:-18rem;bottom:-18rem;left:-18rem}.md\\:-inset-80{top:-20rem;right:-20rem;bottom:-20rem;left:-20rem}.md\\:-inset-96{top:-24rem;right:-24rem;bottom:-24rem;left:-24rem}.md\\:-inset-px{top:-1px;right:-1px;bottom:-1px;left:-1px}.md\\:-inset-0\\.5{top:-0.125rem;right:-0.125rem;bottom:-0.125rem;left:-0.125rem}.md\\:-inset-1\\.5{top:-0.375rem;right:-0.375rem;bottom:-0.375rem;left:-0.375rem}.md\\:-inset-2\\.5{top:-0.625rem;right:-0.625rem;bottom:-0.625rem;left:-0.625rem}.md\\:-inset-3\\.5{top:-0.875rem;right:-0.875rem;bottom:-0.875rem;left:-0.875rem}.md\\:inset-1\\/2{top:50%;right:50%;bottom:50%;left:50%}.md\\:inset-1\\/3{top:33.333333%;right:33.333333%;bottom:33.333333%;left:33.333333%}.md\\:inset-2\\/3{top:66.666667%;right:66.666667%;bottom:66.666667%;left:66.666667%}.md\\:inset-1\\/4{top:25%;right:25%;bottom:25%;left:25%}.md\\:inset-2\\/4{top:50%;right:50%;bottom:50%;left:50%}.md\\:inset-3\\/4{top:75%;right:75%;bottom:75%;left:75%}.md\\:inset-full{top:100%;right:100%;bottom:100%;left:100%}.md\\:-inset-1\\/2{top:-50%;right:-50%;bottom:-50%;left:-50%}.md\\:-inset-1\\/3{top:-33.333333%;right:-33.333333%;bottom:-33.333333%;left:-33.333333%}.md\\:-inset-2\\/3{top:-66.666667%;right:-66.666667%;bottom:-66.666667%;left:-66.666667%}.md\\:-inset-1\\/4{top:-25%;right:-25%;bottom:-25%;left:-25%}.md\\:-inset-2\\/4{top:-50%;right:-50%;bottom:-50%;left:-50%}.md\\:-inset-3\\/4{top:-75%;right:-75%;bottom:-75%;left:-75%}.md\\:-inset-full{top:-100%;right:-100%;bottom:-100%;left:-100%}.md\\:inset-x-0{left:0px;right:0px}.md\\:inset-x-1{left:0.25rem;right:0.25rem}.md\\:inset-x-2{left:0.5rem;right:0.5rem}.md\\:inset-x-3{left:0.75rem;right:0.75rem}.md\\:inset-x-4{left:1rem;right:1rem}.md\\:inset-x-5{left:1.25rem;right:1.25rem}.md\\:inset-x-6{left:1.5rem;right:1.5rem}.md\\:inset-x-7{left:1.75rem;right:1.75rem}.md\\:inset-x-8{left:2rem;right:2rem}.md\\:inset-x-9{left:2.25rem;right:2.25rem}.md\\:inset-x-10{left:2.5rem;right:2.5rem}.md\\:inset-x-11{left:2.75rem;right:2.75rem}.md\\:inset-x-12{left:3rem;right:3rem}.md\\:inset-x-14{left:3.5rem;right:3.5rem}.md\\:inset-x-16{left:4rem;right:4rem}.md\\:inset-x-20{left:5rem;right:5rem}.md\\:inset-x-24{left:6rem;right:6rem}.md\\:inset-x-28{left:7rem;right:7rem}.md\\:inset-x-32{left:8rem;right:8rem}.md\\:inset-x-36{left:9rem;right:9rem}.md\\:inset-x-40{left:10rem;right:10rem}.md\\:inset-x-44{left:11rem;right:11rem}.md\\:inset-x-48{left:12rem;right:12rem}.md\\:inset-x-52{left:13rem;right:13rem}.md\\:inset-x-56{left:14rem;right:14rem}.md\\:inset-x-60{left:15rem;right:15rem}.md\\:inset-x-64{left:16rem;right:16rem}.md\\:inset-x-72{left:18rem;right:18rem}.md\\:inset-x-80{left:20rem;right:20rem}.md\\:inset-x-96{left:24rem;right:24rem}.md\\:inset-x-auto{left:auto;right:auto}.md\\:inset-x-px{left:1px;right:1px}.md\\:inset-x-0\\.5{left:0.125rem;right:0.125rem}.md\\:inset-x-1\\.5{left:0.375rem;right:0.375rem}.md\\:inset-x-2\\.5{left:0.625rem;right:0.625rem}.md\\:inset-x-3\\.5{left:0.875rem;right:0.875rem}.md\\:-inset-x-0{left:0px;right:0px}.md\\:-inset-x-1{left:-0.25rem;right:-0.25rem}.md\\:-inset-x-2{left:-0.5rem;right:-0.5rem}.md\\:-inset-x-3{left:-0.75rem;right:-0.75rem}.md\\:-inset-x-4{left:-1rem;right:-1rem}.md\\:-inset-x-5{left:-1.25rem;right:-1.25rem}.md\\:-inset-x-6{left:-1.5rem;right:-1.5rem}.md\\:-inset-x-7{left:-1.75rem;right:-1.75rem}.md\\:-inset-x-8{left:-2rem;right:-2rem}.md\\:-inset-x-9{left:-2.25rem;right:-2.25rem}.md\\:-inset-x-10{left:-2.5rem;right:-2.5rem}.md\\:-inset-x-11{left:-2.75rem;right:-2.75rem}.md\\:-inset-x-12{left:-3rem;right:-3rem}.md\\:-inset-x-14{left:-3.5rem;right:-3.5rem}.md\\:-inset-x-16{left:-4rem;right:-4rem}.md\\:-inset-x-20{left:-5rem;right:-5rem}.md\\:-inset-x-24{left:-6rem;right:-6rem}.md\\:-inset-x-28{left:-7rem;right:-7rem}.md\\:-inset-x-32{left:-8rem;right:-8rem}.md\\:-inset-x-36{left:-9rem;right:-9rem}.md\\:-inset-x-40{left:-10rem;right:-10rem}.md\\:-inset-x-44{left:-11rem;right:-11rem}.md\\:-inset-x-48{left:-12rem;right:-12rem}.md\\:-inset-x-52{left:-13rem;right:-13rem}.md\\:-inset-x-56{left:-14rem;right:-14rem}.md\\:-inset-x-60{left:-15rem;right:-15rem}.md\\:-inset-x-64{left:-16rem;right:-16rem}.md\\:-inset-x-72{left:-18rem;right:-18rem}.md\\:-inset-x-80{left:-20rem;right:-20rem}.md\\:-inset-x-96{left:-24rem;right:-24rem}.md\\:-inset-x-px{left:-1px;right:-1px}.md\\:-inset-x-0\\.5{left:-0.125rem;right:-0.125rem}.md\\:-inset-x-1\\.5{left:-0.375rem;right:-0.375rem}.md\\:-inset-x-2\\.5{left:-0.625rem;right:-0.625rem}.md\\:-inset-x-3\\.5{left:-0.875rem;right:-0.875rem}.md\\:inset-x-1\\/2{left:50%;right:50%}.md\\:inset-x-1\\/3{left:33.333333%;right:33.333333%}.md\\:inset-x-2\\/3{left:66.666667%;right:66.666667%}.md\\:inset-x-1\\/4{left:25%;right:25%}.md\\:inset-x-2\\/4{left:50%;right:50%}.md\\:inset-x-3\\/4{left:75%;right:75%}.md\\:inset-x-full{left:100%;right:100%}.md\\:-inset-x-1\\/2{left:-50%;right:-50%}.md\\:-inset-x-1\\/3{left:-33.333333%;right:-33.333333%}.md\\:-inset-x-2\\/3{left:-66.666667%;right:-66.666667%}.md\\:-inset-x-1\\/4{left:-25%;right:-25%}.md\\:-inset-x-2\\/4{left:-50%;right:-50%}.md\\:-inset-x-3\\/4{left:-75%;right:-75%}.md\\:-inset-x-full{left:-100%;right:-100%}.md\\:inset-y-0{top:0px;bottom:0px}.md\\:inset-y-1{top:0.25rem;bottom:0.25rem}.md\\:inset-y-2{top:0.5rem;bottom:0.5rem}.md\\:inset-y-3{top:0.75rem;bottom:0.75rem}.md\\:inset-y-4{top:1rem;bottom:1rem}.md\\:inset-y-5{top:1.25rem;bottom:1.25rem}.md\\:inset-y-6{top:1.5rem;bottom:1.5rem}.md\\:inset-y-7{top:1.75rem;bottom:1.75rem}.md\\:inset-y-8{top:2rem;bottom:2rem}.md\\:inset-y-9{top:2.25rem;bottom:2.25rem}.md\\:inset-y-10{top:2.5rem;bottom:2.5rem}.md\\:inset-y-11{top:2.75rem;bottom:2.75rem}.md\\:inset-y-12{top:3rem;bottom:3rem}.md\\:inset-y-14{top:3.5rem;bottom:3.5rem}.md\\:inset-y-16{top:4rem;bottom:4rem}.md\\:inset-y-20{top:5rem;bottom:5rem}.md\\:inset-y-24{top:6rem;bottom:6rem}.md\\:inset-y-28{top:7rem;bottom:7rem}.md\\:inset-y-32{top:8rem;bottom:8rem}.md\\:inset-y-36{top:9rem;bottom:9rem}.md\\:inset-y-40{top:10rem;bottom:10rem}.md\\:inset-y-44{top:11rem;bottom:11rem}.md\\:inset-y-48{top:12rem;bottom:12rem}.md\\:inset-y-52{top:13rem;bottom:13rem}.md\\:inset-y-56{top:14rem;bottom:14rem}.md\\:inset-y-60{top:15rem;bottom:15rem}.md\\:inset-y-64{top:16rem;bottom:16rem}.md\\:inset-y-72{top:18rem;bottom:18rem}.md\\:inset-y-80{top:20rem;bottom:20rem}.md\\:inset-y-96{top:24rem;bottom:24rem}.md\\:inset-y-auto{top:auto;bottom:auto}.md\\:inset-y-px{top:1px;bottom:1px}.md\\:inset-y-0\\.5{top:0.125rem;bottom:0.125rem}.md\\:inset-y-1\\.5{top:0.375rem;bottom:0.375rem}.md\\:inset-y-2\\.5{top:0.625rem;bottom:0.625rem}.md\\:inset-y-3\\.5{top:0.875rem;bottom:0.875rem}.md\\:-inset-y-0{top:0px;bottom:0px}.md\\:-inset-y-1{top:-0.25rem;bottom:-0.25rem}.md\\:-inset-y-2{top:-0.5rem;bottom:-0.5rem}.md\\:-inset-y-3{top:-0.75rem;bottom:-0.75rem}.md\\:-inset-y-4{top:-1rem;bottom:-1rem}.md\\:-inset-y-5{top:-1.25rem;bottom:-1.25rem}.md\\:-inset-y-6{top:-1.5rem;bottom:-1.5rem}.md\\:-inset-y-7{top:-1.75rem;bottom:-1.75rem}.md\\:-inset-y-8{top:-2rem;bottom:-2rem}.md\\:-inset-y-9{top:-2.25rem;bottom:-2.25rem}.md\\:-inset-y-10{top:-2.5rem;bottom:-2.5rem}.md\\:-inset-y-11{top:-2.75rem;bottom:-2.75rem}.md\\:-inset-y-12{top:-3rem;bottom:-3rem}.md\\:-inset-y-14{top:-3.5rem;bottom:-3.5rem}.md\\:-inset-y-16{top:-4rem;bottom:-4rem}.md\\:-inset-y-20{top:-5rem;bottom:-5rem}.md\\:-inset-y-24{top:-6rem;bottom:-6rem}.md\\:-inset-y-28{top:-7rem;bottom:-7rem}.md\\:-inset-y-32{top:-8rem;bottom:-8rem}.md\\:-inset-y-36{top:-9rem;bottom:-9rem}.md\\:-inset-y-40{top:-10rem;bottom:-10rem}.md\\:-inset-y-44{top:-11rem;bottom:-11rem}.md\\:-inset-y-48{top:-12rem;bottom:-12rem}.md\\:-inset-y-52{top:-13rem;bottom:-13rem}.md\\:-inset-y-56{top:-14rem;bottom:-14rem}.md\\:-inset-y-60{top:-15rem;bottom:-15rem}.md\\:-inset-y-64{top:-16rem;bottom:-16rem}.md\\:-inset-y-72{top:-18rem;bottom:-18rem}.md\\:-inset-y-80{top:-20rem;bottom:-20rem}.md\\:-inset-y-96{top:-24rem;bottom:-24rem}.md\\:-inset-y-px{top:-1px;bottom:-1px}.md\\:-inset-y-0\\.5{top:-0.125rem;bottom:-0.125rem}.md\\:-inset-y-1\\.5{top:-0.375rem;bottom:-0.375rem}.md\\:-inset-y-2\\.5{top:-0.625rem;bottom:-0.625rem}.md\\:-inset-y-3\\.5{top:-0.875rem;bottom:-0.875rem}.md\\:inset-y-1\\/2{top:50%;bottom:50%}.md\\:inset-y-1\\/3{top:33.333333%;bottom:33.333333%}.md\\:inset-y-2\\/3{top:66.666667%;bottom:66.666667%}.md\\:inset-y-1\\/4{top:25%;bottom:25%}.md\\:inset-y-2\\/4{top:50%;bottom:50%}.md\\:inset-y-3\\/4{top:75%;bottom:75%}.md\\:inset-y-full{top:100%;bottom:100%}.md\\:-inset-y-1\\/2{top:-50%;bottom:-50%}.md\\:-inset-y-1\\/3{top:-33.333333%;bottom:-33.333333%}.md\\:-inset-y-2\\/3{top:-66.666667%;bottom:-66.666667%}.md\\:-inset-y-1\\/4{top:-25%;bottom:-25%}.md\\:-inset-y-2\\/4{top:-50%;bottom:-50%}.md\\:-inset-y-3\\/4{top:-75%;bottom:-75%}.md\\:-inset-y-full{top:-100%;bottom:-100%}.md\\:top-0{top:0px}.md\\:top-1{top:0.25rem}.md\\:top-2{top:0.5rem}.md\\:top-3{top:0.75rem}.md\\:top-4{top:1rem}.md\\:top-5{top:1.25rem}.md\\:top-6{top:1.5rem}.md\\:top-7{top:1.75rem}.md\\:top-8{top:2rem}.md\\:top-9{top:2.25rem}.md\\:top-10{top:2.5rem}.md\\:top-11{top:2.75rem}.md\\:top-12{top:3rem}.md\\:top-14{top:3.5rem}.md\\:top-16{top:4rem}.md\\:top-20{top:5rem}.md\\:top-24{top:6rem}.md\\:top-28{top:7rem}.md\\:top-32{top:8rem}.md\\:top-36{top:9rem}.md\\:top-40{top:10rem}.md\\:top-44{top:11rem}.md\\:top-48{top:12rem}.md\\:top-52{top:13rem}.md\\:top-56{top:14rem}.md\\:top-60{top:15rem}.md\\:top-64{top:16rem}.md\\:top-72{top:18rem}.md\\:top-80{top:20rem}.md\\:top-96{top:24rem}.md\\:top-auto{top:auto}.md\\:top-px{top:1px}.md\\:top-0\\.5{top:0.125rem}.md\\:top-1\\.5{top:0.375rem}.md\\:top-2\\.5{top:0.625rem}.md\\:top-3\\.5{top:0.875rem}.md\\:-top-0{top:0px}.md\\:-top-1{top:-0.25rem}.md\\:-top-2{top:-0.5rem}.md\\:-top-3{top:-0.75rem}.md\\:-top-4{top:-1rem}.md\\:-top-5{top:-1.25rem}.md\\:-top-6{top:-1.5rem}.md\\:-top-7{top:-1.75rem}.md\\:-top-8{top:-2rem}.md\\:-top-9{top:-2.25rem}.md\\:-top-10{top:-2.5rem}.md\\:-top-11{top:-2.75rem}.md\\:-top-12{top:-3rem}.md\\:-top-14{top:-3.5rem}.md\\:-top-16{top:-4rem}.md\\:-top-20{top:-5rem}.md\\:-top-24{top:-6rem}.md\\:-top-28{top:-7rem}.md\\:-top-32{top:-8rem}.md\\:-top-36{top:-9rem}.md\\:-top-40{top:-10rem}.md\\:-top-44{top:-11rem}.md\\:-top-48{top:-12rem}.md\\:-top-52{top:-13rem}.md\\:-top-56{top:-14rem}.md\\:-top-60{top:-15rem}.md\\:-top-64{top:-16rem}.md\\:-top-72{top:-18rem}.md\\:-top-80{top:-20rem}.md\\:-top-96{top:-24rem}.md\\:-top-px{top:-1px}.md\\:-top-0\\.5{top:-0.125rem}.md\\:-top-1\\.5{top:-0.375rem}.md\\:-top-2\\.5{top:-0.625rem}.md\\:-top-3\\.5{top:-0.875rem}.md\\:top-1\\/2{top:50%}.md\\:top-1\\/3{top:33.333333%}.md\\:top-2\\/3{top:66.666667%}.md\\:top-1\\/4{top:25%}.md\\:top-2\\/4{top:50%}.md\\:top-3\\/4{top:75%}.md\\:top-full{top:100%}.md\\:-top-1\\/2{top:-50%}.md\\:-top-1\\/3{top:-33.333333%}.md\\:-top-2\\/3{top:-66.666667%}.md\\:-top-1\\/4{top:-25%}.md\\:-top-2\\/4{top:-50%}.md\\:-top-3\\/4{top:-75%}.md\\:-top-full{top:-100%}.md\\:right-0{right:0px}.md\\:right-1{right:0.25rem}.md\\:right-2{right:0.5rem}.md\\:right-3{right:0.75rem}.md\\:right-4{right:1rem}.md\\:right-5{right:1.25rem}.md\\:right-6{right:1.5rem}.md\\:right-7{right:1.75rem}.md\\:right-8{right:2rem}.md\\:right-9{right:2.25rem}.md\\:right-10{right:2.5rem}.md\\:right-11{right:2.75rem}.md\\:right-12{right:3rem}.md\\:right-14{right:3.5rem}.md\\:right-16{right:4rem}.md\\:right-20{right:5rem}.md\\:right-24{right:6rem}.md\\:right-28{right:7rem}.md\\:right-32{right:8rem}.md\\:right-36{right:9rem}.md\\:right-40{right:10rem}.md\\:right-44{right:11rem}.md\\:right-48{right:12rem}.md\\:right-52{right:13rem}.md\\:right-56{right:14rem}.md\\:right-60{right:15rem}.md\\:right-64{right:16rem}.md\\:right-72{right:18rem}.md\\:right-80{right:20rem}.md\\:right-96{right:24rem}.md\\:right-auto{right:auto}.md\\:right-px{right:1px}.md\\:right-0\\.5{right:0.125rem}.md\\:right-1\\.5{right:0.375rem}.md\\:right-2\\.5{right:0.625rem}.md\\:right-3\\.5{right:0.875rem}.md\\:-right-0{right:0px}.md\\:-right-1{right:-0.25rem}.md\\:-right-2{right:-0.5rem}.md\\:-right-3{right:-0.75rem}.md\\:-right-4{right:-1rem}.md\\:-right-5{right:-1.25rem}.md\\:-right-6{right:-1.5rem}.md\\:-right-7{right:-1.75rem}.md\\:-right-8{right:-2rem}.md\\:-right-9{right:-2.25rem}.md\\:-right-10{right:-2.5rem}.md\\:-right-11{right:-2.75rem}.md\\:-right-12{right:-3rem}.md\\:-right-14{right:-3.5rem}.md\\:-right-16{right:-4rem}.md\\:-right-20{right:-5rem}.md\\:-right-24{right:-6rem}.md\\:-right-28{right:-7rem}.md\\:-right-32{right:-8rem}.md\\:-right-36{right:-9rem}.md\\:-right-40{right:-10rem}.md\\:-right-44{right:-11rem}.md\\:-right-48{right:-12rem}.md\\:-right-52{right:-13rem}.md\\:-right-56{right:-14rem}.md\\:-right-60{right:-15rem}.md\\:-right-64{right:-16rem}.md\\:-right-72{right:-18rem}.md\\:-right-80{right:-20rem}.md\\:-right-96{right:-24rem}.md\\:-right-px{right:-1px}.md\\:-right-0\\.5{right:-0.125rem}.md\\:-right-1\\.5{right:-0.375rem}.md\\:-right-2\\.5{right:-0.625rem}.md\\:-right-3\\.5{right:-0.875rem}.md\\:right-1\\/2{right:50%}.md\\:right-1\\/3{right:33.333333%}.md\\:right-2\\/3{right:66.666667%}.md\\:right-1\\/4{right:25%}.md\\:right-2\\/4{right:50%}.md\\:right-3\\/4{right:75%}.md\\:right-full{right:100%}.md\\:-right-1\\/2{right:-50%}.md\\:-right-1\\/3{right:-33.333333%}.md\\:-right-2\\/3{right:-66.666667%}.md\\:-right-1\\/4{right:-25%}.md\\:-right-2\\/4{right:-50%}.md\\:-right-3\\/4{right:-75%}.md\\:-right-full{right:-100%}.md\\:bottom-0{bottom:0px}.md\\:bottom-1{bottom:0.25rem}.md\\:bottom-2{bottom:0.5rem}.md\\:bottom-3{bottom:0.75rem}.md\\:bottom-4{bottom:1rem}.md\\:bottom-5{bottom:1.25rem}.md\\:bottom-6{bottom:1.5rem}.md\\:bottom-7{bottom:1.75rem}.md\\:bottom-8{bottom:2rem}.md\\:bottom-9{bottom:2.25rem}.md\\:bottom-10{bottom:2.5rem}.md\\:bottom-11{bottom:2.75rem}.md\\:bottom-12{bottom:3rem}.md\\:bottom-14{bottom:3.5rem}.md\\:bottom-16{bottom:4rem}.md\\:bottom-20{bottom:5rem}.md\\:bottom-24{bottom:6rem}.md\\:bottom-28{bottom:7rem}.md\\:bottom-32{bottom:8rem}.md\\:bottom-36{bottom:9rem}.md\\:bottom-40{bottom:10rem}.md\\:bottom-44{bottom:11rem}.md\\:bottom-48{bottom:12rem}.md\\:bottom-52{bottom:13rem}.md\\:bottom-56{bottom:14rem}.md\\:bottom-60{bottom:15rem}.md\\:bottom-64{bottom:16rem}.md\\:bottom-72{bottom:18rem}.md\\:bottom-80{bottom:20rem}.md\\:bottom-96{bottom:24rem}.md\\:bottom-auto{bottom:auto}.md\\:bottom-px{bottom:1px}.md\\:bottom-0\\.5{bottom:0.125rem}.md\\:bottom-1\\.5{bottom:0.375rem}.md\\:bottom-2\\.5{bottom:0.625rem}.md\\:bottom-3\\.5{bottom:0.875rem}.md\\:-bottom-0{bottom:0px}.md\\:-bottom-1{bottom:-0.25rem}.md\\:-bottom-2{bottom:-0.5rem}.md\\:-bottom-3{bottom:-0.75rem}.md\\:-bottom-4{bottom:-1rem}.md\\:-bottom-5{bottom:-1.25rem}.md\\:-bottom-6{bottom:-1.5rem}.md\\:-bottom-7{bottom:-1.75rem}.md\\:-bottom-8{bottom:-2rem}.md\\:-bottom-9{bottom:-2.25rem}.md\\:-bottom-10{bottom:-2.5rem}.md\\:-bottom-11{bottom:-2.75rem}.md\\:-bottom-12{bottom:-3rem}.md\\:-bottom-14{bottom:-3.5rem}.md\\:-bottom-16{bottom:-4rem}.md\\:-bottom-20{bottom:-5rem}.md\\:-bottom-24{bottom:-6rem}.md\\:-bottom-28{bottom:-7rem}.md\\:-bottom-32{bottom:-8rem}.md\\:-bottom-36{bottom:-9rem}.md\\:-bottom-40{bottom:-10rem}.md\\:-bottom-44{bottom:-11rem}.md\\:-bottom-48{bottom:-12rem}.md\\:-bottom-52{bottom:-13rem}.md\\:-bottom-56{bottom:-14rem}.md\\:-bottom-60{bottom:-15rem}.md\\:-bottom-64{bottom:-16rem}.md\\:-bottom-72{bottom:-18rem}.md\\:-bottom-80{bottom:-20rem}.md\\:-bottom-96{bottom:-24rem}.md\\:-bottom-px{bottom:-1px}.md\\:-bottom-0\\.5{bottom:-0.125rem}.md\\:-bottom-1\\.5{bottom:-0.375rem}.md\\:-bottom-2\\.5{bottom:-0.625rem}.md\\:-bottom-3\\.5{bottom:-0.875rem}.md\\:bottom-1\\/2{bottom:50%}.md\\:bottom-1\\/3{bottom:33.333333%}.md\\:bottom-2\\/3{bottom:66.666667%}.md\\:bottom-1\\/4{bottom:25%}.md\\:bottom-2\\/4{bottom:50%}.md\\:bottom-3\\/4{bottom:75%}.md\\:bottom-full{bottom:100%}.md\\:-bottom-1\\/2{bottom:-50%}.md\\:-bottom-1\\/3{bottom:-33.333333%}.md\\:-bottom-2\\/3{bottom:-66.666667%}.md\\:-bottom-1\\/4{bottom:-25%}.md\\:-bottom-2\\/4{bottom:-50%}.md\\:-bottom-3\\/4{bottom:-75%}.md\\:-bottom-full{bottom:-100%}.md\\:left-0{left:0px}.md\\:left-1{left:0.25rem}.md\\:left-2{left:0.5rem}.md\\:left-3{left:0.75rem}.md\\:left-4{left:1rem}.md\\:left-5{left:1.25rem}.md\\:left-6{left:1.5rem}.md\\:left-7{left:1.75rem}.md\\:left-8{left:2rem}.md\\:left-9{left:2.25rem}.md\\:left-10{left:2.5rem}.md\\:left-11{left:2.75rem}.md\\:left-12{left:3rem}.md\\:left-14{left:3.5rem}.md\\:left-16{left:4rem}.md\\:left-20{left:5rem}.md\\:left-24{left:6rem}.md\\:left-28{left:7rem}.md\\:left-32{left:8rem}.md\\:left-36{left:9rem}.md\\:left-40{left:10rem}.md\\:left-44{left:11rem}.md\\:left-48{left:12rem}.md\\:left-52{left:13rem}.md\\:left-56{left:14rem}.md\\:left-60{left:15rem}.md\\:left-64{left:16rem}.md\\:left-72{left:18rem}.md\\:left-80{left:20rem}.md\\:left-96{left:24rem}.md\\:left-auto{left:auto}.md\\:left-px{left:1px}.md\\:left-0\\.5{left:0.125rem}.md\\:left-1\\.5{left:0.375rem}.md\\:left-2\\.5{left:0.625rem}.md\\:left-3\\.5{left:0.875rem}.md\\:-left-0{left:0px}.md\\:-left-1{left:-0.25rem}.md\\:-left-2{left:-0.5rem}.md\\:-left-3{left:-0.75rem}.md\\:-left-4{left:-1rem}.md\\:-left-5{left:-1.25rem}.md\\:-left-6{left:-1.5rem}.md\\:-left-7{left:-1.75rem}.md\\:-left-8{left:-2rem}.md\\:-left-9{left:-2.25rem}.md\\:-left-10{left:-2.5rem}.md\\:-left-11{left:-2.75rem}.md\\:-left-12{left:-3rem}.md\\:-left-14{left:-3.5rem}.md\\:-left-16{left:-4rem}.md\\:-left-20{left:-5rem}.md\\:-left-24{left:-6rem}.md\\:-left-28{left:-7rem}.md\\:-left-32{left:-8rem}.md\\:-left-36{left:-9rem}.md\\:-left-40{left:-10rem}.md\\:-left-44{left:-11rem}.md\\:-left-48{left:-12rem}.md\\:-left-52{left:-13rem}.md\\:-left-56{left:-14rem}.md\\:-left-60{left:-15rem}.md\\:-left-64{left:-16rem}.md\\:-left-72{left:-18rem}.md\\:-left-80{left:-20rem}.md\\:-left-96{left:-24rem}.md\\:-left-px{left:-1px}.md\\:-left-0\\.5{left:-0.125rem}.md\\:-left-1\\.5{left:-0.375rem}.md\\:-left-2\\.5{left:-0.625rem}.md\\:-left-3\\.5{left:-0.875rem}.md\\:left-1\\/2{left:50%}.md\\:left-1\\/3{left:33.333333%}.md\\:left-2\\/3{left:66.666667%}.md\\:left-1\\/4{left:25%}.md\\:left-2\\/4{left:50%}.md\\:left-3\\/4{left:75%}.md\\:left-full{left:100%}.md\\:-left-1\\/2{left:-50%}.md\\:-left-1\\/3{left:-33.333333%}.md\\:-left-2\\/3{left:-66.666667%}.md\\:-left-1\\/4{left:-25%}.md\\:-left-2\\/4{left:-50%}.md\\:-left-3\\/4{left:-75%}.md\\:-left-full{left:-100%}.md\\:isolate{isolation:isolate}.md\\:isolation-auto{isolation:auto}.md\\:z-0{z-index:0}.md\\:z-10{z-index:10}.md\\:z-20{z-index:20}.md\\:z-30{z-index:30}.md\\:z-40{z-index:40}.md\\:z-50{z-index:50}.md\\:z-auto{z-index:auto}.md\\:focus-within\\:z-0:focus-within{z-index:0}.md\\:focus-within\\:z-10:focus-within{z-index:10}.md\\:focus-within\\:z-20:focus-within{z-index:20}.md\\:focus-within\\:z-30:focus-within{z-index:30}.md\\:focus-within\\:z-40:focus-within{z-index:40}.md\\:focus-within\\:z-50:focus-within{z-index:50}.md\\:focus-within\\:z-auto:focus-within{z-index:auto}.md\\:focus\\:z-0:focus{z-index:0}.md\\:focus\\:z-10:focus{z-index:10}.md\\:focus\\:z-20:focus{z-index:20}.md\\:focus\\:z-30:focus{z-index:30}.md\\:focus\\:z-40:focus{z-index:40}.md\\:focus\\:z-50:focus{z-index:50}.md\\:focus\\:z-auto:focus{z-index:auto}.md\\:order-1{order:1}.md\\:order-2{order:2}.md\\:order-3{order:3}.md\\:order-4{order:4}.md\\:order-5{order:5}.md\\:order-6{order:6}.md\\:order-7{order:7}.md\\:order-8{order:8}.md\\:order-9{order:9}.md\\:order-10{order:10}.md\\:order-11{order:11}.md\\:order-12{order:12}.md\\:order-first{order:-9999}.md\\:order-last{order:9999}.md\\:order-none{order:0}.md\\:col-auto{grid-column:auto}.md\\:col-span-1{grid-column:span 1 / span 1}.md\\:col-span-2{grid-column:span 2 / span 2}.md\\:col-span-3{grid-column:span 3 / span 3}.md\\:col-span-4{grid-column:span 4 / span 4}.md\\:col-span-5{grid-column:span 5 / span 5}.md\\:col-span-6{grid-column:span 6 / span 6}.md\\:col-span-7{grid-column:span 7 / span 7}.md\\:col-span-8{grid-column:span 8 / span 8}.md\\:col-span-9{grid-column:span 9 / span 9}.md\\:col-span-10{grid-column:span 10 / span 10}.md\\:col-span-11{grid-column:span 11 / span 11}.md\\:col-span-12{grid-column:span 12 / span 12}.md\\:col-span-full{grid-column:1 / -1}.md\\:col-start-1{grid-column-start:1}.md\\:col-start-2{grid-column-start:2}.md\\:col-start-3{grid-column-start:3}.md\\:col-start-4{grid-column-start:4}.md\\:col-start-5{grid-column-start:5}.md\\:col-start-6{grid-column-start:6}.md\\:col-start-7{grid-column-start:7}.md\\:col-start-8{grid-column-start:8}.md\\:col-start-9{grid-column-start:9}.md\\:col-start-10{grid-column-start:10}.md\\:col-start-11{grid-column-start:11}.md\\:col-start-12{grid-column-start:12}.md\\:col-start-13{grid-column-start:13}.md\\:col-start-auto{grid-column-start:auto}.md\\:col-end-1{grid-column-end:1}.md\\:col-end-2{grid-column-end:2}.md\\:col-end-3{grid-column-end:3}.md\\:col-end-4{grid-column-end:4}.md\\:col-end-5{grid-column-end:5}.md\\:col-end-6{grid-column-end:6}.md\\:col-end-7{grid-column-end:7}.md\\:col-end-8{grid-column-end:8}.md\\:col-end-9{grid-column-end:9}.md\\:col-end-10{grid-column-end:10}.md\\:col-end-11{grid-column-end:11}.md\\:col-end-12{grid-column-end:12}.md\\:col-end-13{grid-column-end:13}.md\\:col-end-auto{grid-column-end:auto}.md\\:row-auto{grid-row:auto}.md\\:row-span-1{grid-row:span 1 / span 1}.md\\:row-span-2{grid-row:span 2 / span 2}.md\\:row-span-3{grid-row:span 3 / span 3}.md\\:row-span-4{grid-row:span 4 / span 4}.md\\:row-span-5{grid-row:span 5 / span 5}.md\\:row-span-6{grid-row:span 6 / span 6}.md\\:row-span-full{grid-row:1 / -1}.md\\:row-start-1{grid-row-start:1}.md\\:row-start-2{grid-row-start:2}.md\\:row-start-3{grid-row-start:3}.md\\:row-start-4{grid-row-start:4}.md\\:row-start-5{grid-row-start:5}.md\\:row-start-6{grid-row-start:6}.md\\:row-start-7{grid-row-start:7}.md\\:row-start-auto{grid-row-start:auto}.md\\:row-end-1{grid-row-end:1}.md\\:row-end-2{grid-row-end:2}.md\\:row-end-3{grid-row-end:3}.md\\:row-end-4{grid-row-end:4}.md\\:row-end-5{grid-row-end:5}.md\\:row-end-6{grid-row-end:6}.md\\:row-end-7{grid-row-end:7}.md\\:row-end-auto{grid-row-end:auto}.md\\:float-right{float:right}.md\\:float-left{float:left}.md\\:float-none{float:none}.md\\:clear-left{clear:left}.md\\:clear-right{clear:right}.md\\:clear-both{clear:both}.md\\:clear-none{clear:none}.md\\:m-0{margin:0px}.md\\:m-1{margin:0.25rem}.md\\:m-2{margin:0.5rem}.md\\:m-3{margin:0.75rem}.md\\:m-4{margin:1rem}.md\\:m-5{margin:1.25rem}.md\\:m-6{margin:1.5rem}.md\\:m-7{margin:1.75rem}.md\\:m-8{margin:2rem}.md\\:m-9{margin:2.25rem}.md\\:m-10{margin:2.5rem}.md\\:m-11{margin:2.75rem}.md\\:m-12{margin:3rem}.md\\:m-14{margin:3.5rem}.md\\:m-16{margin:4rem}.md\\:m-20{margin:5rem}.md\\:m-24{margin:6rem}.md\\:m-28{margin:7rem}.md\\:m-32{margin:8rem}.md\\:m-36{margin:9rem}.md\\:m-40{margin:10rem}.md\\:m-44{margin:11rem}.md\\:m-48{margin:12rem}.md\\:m-52{margin:13rem}.md\\:m-56{margin:14rem}.md\\:m-60{margin:15rem}.md\\:m-64{margin:16rem}.md\\:m-72{margin:18rem}.md\\:m-80{margin:20rem}.md\\:m-96{margin:24rem}.md\\:m-auto{margin:auto}.md\\:m-px{margin:1px}.md\\:m-0\\.5{margin:0.125rem}.md\\:m-1\\.5{margin:0.375rem}.md\\:m-2\\.5{margin:0.625rem}.md\\:m-3\\.5{margin:0.875rem}.md\\:-m-0{margin:0px}.md\\:-m-1{margin:-0.25rem}.md\\:-m-2{margin:-0.5rem}.md\\:-m-3{margin:-0.75rem}.md\\:-m-4{margin:-1rem}.md\\:-m-5{margin:-1.25rem}.md\\:-m-6{margin:-1.5rem}.md\\:-m-7{margin:-1.75rem}.md\\:-m-8{margin:-2rem}.md\\:-m-9{margin:-2.25rem}.md\\:-m-10{margin:-2.5rem}.md\\:-m-11{margin:-2.75rem}.md\\:-m-12{margin:-3rem}.md\\:-m-14{margin:-3.5rem}.md\\:-m-16{margin:-4rem}.md\\:-m-20{margin:-5rem}.md\\:-m-24{margin:-6rem}.md\\:-m-28{margin:-7rem}.md\\:-m-32{margin:-8rem}.md\\:-m-36{margin:-9rem}.md\\:-m-40{margin:-10rem}.md\\:-m-44{margin:-11rem}.md\\:-m-48{margin:-12rem}.md\\:-m-52{margin:-13rem}.md\\:-m-56{margin:-14rem}.md\\:-m-60{margin:-15rem}.md\\:-m-64{margin:-16rem}.md\\:-m-72{margin:-18rem}.md\\:-m-80{margin:-20rem}.md\\:-m-96{margin:-24rem}.md\\:-m-px{margin:-1px}.md\\:-m-0\\.5{margin:-0.125rem}.md\\:-m-1\\.5{margin:-0.375rem}.md\\:-m-2\\.5{margin:-0.625rem}.md\\:-m-3\\.5{margin:-0.875rem}.md\\:mx-0{margin-left:0px;margin-right:0px}.md\\:mx-1{margin-left:0.25rem;margin-right:0.25rem}.md\\:mx-2{margin-left:0.5rem;margin-right:0.5rem}.md\\:mx-3{margin-left:0.75rem;margin-right:0.75rem}.md\\:mx-4{margin-left:1rem;margin-right:1rem}.md\\:mx-5{margin-left:1.25rem;margin-right:1.25rem}.md\\:mx-6{margin-left:1.5rem;margin-right:1.5rem}.md\\:mx-7{margin-left:1.75rem;margin-right:1.75rem}.md\\:mx-8{margin-left:2rem;margin-right:2rem}.md\\:mx-9{margin-left:2.25rem;margin-right:2.25rem}.md\\:mx-10{margin-left:2.5rem;margin-right:2.5rem}.md\\:mx-11{margin-left:2.75rem;margin-right:2.75rem}.md\\:mx-12{margin-left:3rem;margin-right:3rem}.md\\:mx-14{margin-left:3.5rem;margin-right:3.5rem}.md\\:mx-16{margin-left:4rem;margin-right:4rem}.md\\:mx-20{margin-left:5rem;margin-right:5rem}.md\\:mx-24{margin-left:6rem;margin-right:6rem}.md\\:mx-28{margin-left:7rem;margin-right:7rem}.md\\:mx-32{margin-left:8rem;margin-right:8rem}.md\\:mx-36{margin-left:9rem;margin-right:9rem}.md\\:mx-40{margin-left:10rem;margin-right:10rem}.md\\:mx-44{margin-left:11rem;margin-right:11rem}.md\\:mx-48{margin-left:12rem;margin-right:12rem}.md\\:mx-52{margin-left:13rem;margin-right:13rem}.md\\:mx-56{margin-left:14rem;margin-right:14rem}.md\\:mx-60{margin-left:15rem;margin-right:15rem}.md\\:mx-64{margin-left:16rem;margin-right:16rem}.md\\:mx-72{margin-left:18rem;margin-right:18rem}.md\\:mx-80{margin-left:20rem;margin-right:20rem}.md\\:mx-96{margin-left:24rem;margin-right:24rem}.md\\:mx-auto{margin-left:auto;margin-right:auto}.md\\:mx-px{margin-left:1px;margin-right:1px}.md\\:mx-0\\.5{margin-left:0.125rem;margin-right:0.125rem}.md\\:mx-1\\.5{margin-left:0.375rem;margin-right:0.375rem}.md\\:mx-2\\.5{margin-left:0.625rem;margin-right:0.625rem}.md\\:mx-3\\.5{margin-left:0.875rem;margin-right:0.875rem}.md\\:-mx-0{margin-left:0px;margin-right:0px}.md\\:-mx-1{margin-left:-0.25rem;margin-right:-0.25rem}.md\\:-mx-2{margin-left:-0.5rem;margin-right:-0.5rem}.md\\:-mx-3{margin-left:-0.75rem;margin-right:-0.75rem}.md\\:-mx-4{margin-left:-1rem;margin-right:-1rem}.md\\:-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.md\\:-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.md\\:-mx-7{margin-left:-1.75rem;margin-right:-1.75rem}.md\\:-mx-8{margin-left:-2rem;margin-right:-2rem}.md\\:-mx-9{margin-left:-2.25rem;margin-right:-2.25rem}.md\\:-mx-10{margin-left:-2.5rem;margin-right:-2.5rem}.md\\:-mx-11{margin-left:-2.75rem;margin-right:-2.75rem}.md\\:-mx-12{margin-left:-3rem;margin-right:-3rem}.md\\:-mx-14{margin-left:-3.5rem;margin-right:-3.5rem}.md\\:-mx-16{margin-left:-4rem;margin-right:-4rem}.md\\:-mx-20{margin-left:-5rem;margin-right:-5rem}.md\\:-mx-24{margin-left:-6rem;margin-right:-6rem}.md\\:-mx-28{margin-left:-7rem;margin-right:-7rem}.md\\:-mx-32{margin-left:-8rem;margin-right:-8rem}.md\\:-mx-36{margin-left:-9rem;margin-right:-9rem}.md\\:-mx-40{margin-left:-10rem;margin-right:-10rem}.md\\:-mx-44{margin-left:-11rem;margin-right:-11rem}.md\\:-mx-48{margin-left:-12rem;margin-right:-12rem}.md\\:-mx-52{margin-left:-13rem;margin-right:-13rem}.md\\:-mx-56{margin-left:-14rem;margin-right:-14rem}.md\\:-mx-60{margin-left:-15rem;margin-right:-15rem}.md\\:-mx-64{margin-left:-16rem;margin-right:-16rem}.md\\:-mx-72{margin-left:-18rem;margin-right:-18rem}.md\\:-mx-80{margin-left:-20rem;margin-right:-20rem}.md\\:-mx-96{margin-left:-24rem;margin-right:-24rem}.md\\:-mx-px{margin-left:-1px;margin-right:-1px}.md\\:-mx-0\\.5{margin-left:-0.125rem;margin-right:-0.125rem}.md\\:-mx-1\\.5{margin-left:-0.375rem;margin-right:-0.375rem}.md\\:-mx-2\\.5{margin-left:-0.625rem;margin-right:-0.625rem}.md\\:-mx-3\\.5{margin-left:-0.875rem;margin-right:-0.875rem}.md\\:my-0{margin-top:0px;margin-bottom:0px}.md\\:my-1{margin-top:0.25rem;margin-bottom:0.25rem}.md\\:my-2{margin-top:0.5rem;margin-bottom:0.5rem}.md\\:my-3{margin-top:0.75rem;margin-bottom:0.75rem}.md\\:my-4{margin-top:1rem;margin-bottom:1rem}.md\\:my-5{margin-top:1.25rem;margin-bottom:1.25rem}.md\\:my-6{margin-top:1.5rem;margin-bottom:1.5rem}.md\\:my-7{margin-top:1.75rem;margin-bottom:1.75rem}.md\\:my-8{margin-top:2rem;margin-bottom:2rem}.md\\:my-9{margin-top:2.25rem;margin-bottom:2.25rem}.md\\:my-10{margin-top:2.5rem;margin-bottom:2.5rem}.md\\:my-11{margin-top:2.75rem;margin-bottom:2.75rem}.md\\:my-12{margin-top:3rem;margin-bottom:3rem}.md\\:my-14{margin-top:3.5rem;margin-bottom:3.5rem}.md\\:my-16{margin-top:4rem;margin-bottom:4rem}.md\\:my-20{margin-top:5rem;margin-bottom:5rem}.md\\:my-24{margin-top:6rem;margin-bottom:6rem}.md\\:my-28{margin-top:7rem;margin-bottom:7rem}.md\\:my-32{margin-top:8rem;margin-bottom:8rem}.md\\:my-36{margin-top:9rem;margin-bottom:9rem}.md\\:my-40{margin-top:10rem;margin-bottom:10rem}.md\\:my-44{margin-top:11rem;margin-bottom:11rem}.md\\:my-48{margin-top:12rem;margin-bottom:12rem}.md\\:my-52{margin-top:13rem;margin-bottom:13rem}.md\\:my-56{margin-top:14rem;margin-bottom:14rem}.md\\:my-60{margin-top:15rem;margin-bottom:15rem}.md\\:my-64{margin-top:16rem;margin-bottom:16rem}.md\\:my-72{margin-top:18rem;margin-bottom:18rem}.md\\:my-80{margin-top:20rem;margin-bottom:20rem}.md\\:my-96{margin-top:24rem;margin-bottom:24rem}.md\\:my-auto{margin-top:auto;margin-bottom:auto}.md\\:my-px{margin-top:1px;margin-bottom:1px}.md\\:my-0\\.5{margin-top:0.125rem;margin-bottom:0.125rem}.md\\:my-1\\.5{margin-top:0.375rem;margin-bottom:0.375rem}.md\\:my-2\\.5{margin-top:0.625rem;margin-bottom:0.625rem}.md\\:my-3\\.5{margin-top:0.875rem;margin-bottom:0.875rem}.md\\:-my-0{margin-top:0px;margin-bottom:0px}.md\\:-my-1{margin-top:-0.25rem;margin-bottom:-0.25rem}.md\\:-my-2{margin-top:-0.5rem;margin-bottom:-0.5rem}.md\\:-my-3{margin-top:-0.75rem;margin-bottom:-0.75rem}.md\\:-my-4{margin-top:-1rem;margin-bottom:-1rem}.md\\:-my-5{margin-top:-1.25rem;margin-bottom:-1.25rem}.md\\:-my-6{margin-top:-1.5rem;margin-bottom:-1.5rem}.md\\:-my-7{margin-top:-1.75rem;margin-bottom:-1.75rem}.md\\:-my-8{margin-top:-2rem;margin-bottom:-2rem}.md\\:-my-9{margin-top:-2.25rem;margin-bottom:-2.25rem}.md\\:-my-10{margin-top:-2.5rem;margin-bottom:-2.5rem}.md\\:-my-11{margin-top:-2.75rem;margin-bottom:-2.75rem}.md\\:-my-12{margin-top:-3rem;margin-bottom:-3rem}.md\\:-my-14{margin-top:-3.5rem;margin-bottom:-3.5rem}.md\\:-my-16{margin-top:-4rem;margin-bottom:-4rem}.md\\:-my-20{margin-top:-5rem;margin-bottom:-5rem}.md\\:-my-24{margin-top:-6rem;margin-bottom:-6rem}.md\\:-my-28{margin-top:-7rem;margin-bottom:-7rem}.md\\:-my-32{margin-top:-8rem;margin-bottom:-8rem}.md\\:-my-36{margin-top:-9rem;margin-bottom:-9rem}.md\\:-my-40{margin-top:-10rem;margin-bottom:-10rem}.md\\:-my-44{margin-top:-11rem;margin-bottom:-11rem}.md\\:-my-48{margin-top:-12rem;margin-bottom:-12rem}.md\\:-my-52{margin-top:-13rem;margin-bottom:-13rem}.md\\:-my-56{margin-top:-14rem;margin-bottom:-14rem}.md\\:-my-60{margin-top:-15rem;margin-bottom:-15rem}.md\\:-my-64{margin-top:-16rem;margin-bottom:-16rem}.md\\:-my-72{margin-top:-18rem;margin-bottom:-18rem}.md\\:-my-80{margin-top:-20rem;margin-bottom:-20rem}.md\\:-my-96{margin-top:-24rem;margin-bottom:-24rem}.md\\:-my-px{margin-top:-1px;margin-bottom:-1px}.md\\:-my-0\\.5{margin-top:-0.125rem;margin-bottom:-0.125rem}.md\\:-my-1\\.5{margin-top:-0.375rem;margin-bottom:-0.375rem}.md\\:-my-2\\.5{margin-top:-0.625rem;margin-bottom:-0.625rem}.md\\:-my-3\\.5{margin-top:-0.875rem;margin-bottom:-0.875rem}.md\\:mt-0{margin-top:0px}.md\\:mt-1{margin-top:0.25rem}.md\\:mt-2{margin-top:0.5rem}.md\\:mt-3{margin-top:0.75rem}.md\\:mt-4{margin-top:1rem}.md\\:mt-5{margin-top:1.25rem}.md\\:mt-6{margin-top:1.5rem}.md\\:mt-7{margin-top:1.75rem}.md\\:mt-8{margin-top:2rem}.md\\:mt-9{margin-top:2.25rem}.md\\:mt-10{margin-top:2.5rem}.md\\:mt-11{margin-top:2.75rem}.md\\:mt-12{margin-top:3rem}.md\\:mt-14{margin-top:3.5rem}.md\\:mt-16{margin-top:4rem}.md\\:mt-20{margin-top:5rem}.md\\:mt-24{margin-top:6rem}.md\\:mt-28{margin-top:7rem}.md\\:mt-32{margin-top:8rem}.md\\:mt-36{margin-top:9rem}.md\\:mt-40{margin-top:10rem}.md\\:mt-44{margin-top:11rem}.md\\:mt-48{margin-top:12rem}.md\\:mt-52{margin-top:13rem}.md\\:mt-56{margin-top:14rem}.md\\:mt-60{margin-top:15rem}.md\\:mt-64{margin-top:16rem}.md\\:mt-72{margin-top:18rem}.md\\:mt-80{margin-top:20rem}.md\\:mt-96{margin-top:24rem}.md\\:mt-auto{margin-top:auto}.md\\:mt-px{margin-top:1px}.md\\:mt-0\\.5{margin-top:0.125rem}.md\\:mt-1\\.5{margin-top:0.375rem}.md\\:mt-2\\.5{margin-top:0.625rem}.md\\:mt-3\\.5{margin-top:0.875rem}.md\\:-mt-0{margin-top:0px}.md\\:-mt-1{margin-top:-0.25rem}.md\\:-mt-2{margin-top:-0.5rem}.md\\:-mt-3{margin-top:-0.75rem}.md\\:-mt-4{margin-top:-1rem}.md\\:-mt-5{margin-top:-1.25rem}.md\\:-mt-6{margin-top:-1.5rem}.md\\:-mt-7{margin-top:-1.75rem}.md\\:-mt-8{margin-top:-2rem}.md\\:-mt-9{margin-top:-2.25rem}.md\\:-mt-10{margin-top:-2.5rem}.md\\:-mt-11{margin-top:-2.75rem}.md\\:-mt-12{margin-top:-3rem}.md\\:-mt-14{margin-top:-3.5rem}.md\\:-mt-16{margin-top:-4rem}.md\\:-mt-20{margin-top:-5rem}.md\\:-mt-24{margin-top:-6rem}.md\\:-mt-28{margin-top:-7rem}.md\\:-mt-32{margin-top:-8rem}.md\\:-mt-36{margin-top:-9rem}.md\\:-mt-40{margin-top:-10rem}.md\\:-mt-44{margin-top:-11rem}.md\\:-mt-48{margin-top:-12rem}.md\\:-mt-52{margin-top:-13rem}.md\\:-mt-56{margin-top:-14rem}.md\\:-mt-60{margin-top:-15rem}.md\\:-mt-64{margin-top:-16rem}.md\\:-mt-72{margin-top:-18rem}.md\\:-mt-80{margin-top:-20rem}.md\\:-mt-96{margin-top:-24rem}.md\\:-mt-px{margin-top:-1px}.md\\:-mt-0\\.5{margin-top:-0.125rem}.md\\:-mt-1\\.5{margin-top:-0.375rem}.md\\:-mt-2\\.5{margin-top:-0.625rem}.md\\:-mt-3\\.5{margin-top:-0.875rem}.md\\:mr-0{margin-right:0px}.md\\:mr-1{margin-right:0.25rem}.md\\:mr-2{margin-right:0.5rem}.md\\:mr-3{margin-right:0.75rem}.md\\:mr-4{margin-right:1rem}.md\\:mr-5{margin-right:1.25rem}.md\\:mr-6{margin-right:1.5rem}.md\\:mr-7{margin-right:1.75rem}.md\\:mr-8{margin-right:2rem}.md\\:mr-9{margin-right:2.25rem}.md\\:mr-10{margin-right:2.5rem}.md\\:mr-11{margin-right:2.75rem}.md\\:mr-12{margin-right:3rem}.md\\:mr-14{margin-right:3.5rem}.md\\:mr-16{margin-right:4rem}.md\\:mr-20{margin-right:5rem}.md\\:mr-24{margin-right:6rem}.md\\:mr-28{margin-right:7rem}.md\\:mr-32{margin-right:8rem}.md\\:mr-36{margin-right:9rem}.md\\:mr-40{margin-right:10rem}.md\\:mr-44{margin-right:11rem}.md\\:mr-48{margin-right:12rem}.md\\:mr-52{margin-right:13rem}.md\\:mr-56{margin-right:14rem}.md\\:mr-60{margin-right:15rem}.md\\:mr-64{margin-right:16rem}.md\\:mr-72{margin-right:18rem}.md\\:mr-80{margin-right:20rem}.md\\:mr-96{margin-right:24rem}.md\\:mr-auto{margin-right:auto}.md\\:mr-px{margin-right:1px}.md\\:mr-0\\.5{margin-right:0.125rem}.md\\:mr-1\\.5{margin-right:0.375rem}.md\\:mr-2\\.5{margin-right:0.625rem}.md\\:mr-3\\.5{margin-right:0.875rem}.md\\:-mr-0{margin-right:0px}.md\\:-mr-1{margin-right:-0.25rem}.md\\:-mr-2{margin-right:-0.5rem}.md\\:-mr-3{margin-right:-0.75rem}.md\\:-mr-4{margin-right:-1rem}.md\\:-mr-5{margin-right:-1.25rem}.md\\:-mr-6{margin-right:-1.5rem}.md\\:-mr-7{margin-right:-1.75rem}.md\\:-mr-8{margin-right:-2rem}.md\\:-mr-9{margin-right:-2.25rem}.md\\:-mr-10{margin-right:-2.5rem}.md\\:-mr-11{margin-right:-2.75rem}.md\\:-mr-12{margin-right:-3rem}.md\\:-mr-14{margin-right:-3.5rem}.md\\:-mr-16{margin-right:-4rem}.md\\:-mr-20{margin-right:-5rem}.md\\:-mr-24{margin-right:-6rem}.md\\:-mr-28{margin-right:-7rem}.md\\:-mr-32{margin-right:-8rem}.md\\:-mr-36{margin-right:-9rem}.md\\:-mr-40{margin-right:-10rem}.md\\:-mr-44{margin-right:-11rem}.md\\:-mr-48{margin-right:-12rem}.md\\:-mr-52{margin-right:-13rem}.md\\:-mr-56{margin-right:-14rem}.md\\:-mr-60{margin-right:-15rem}.md\\:-mr-64{margin-right:-16rem}.md\\:-mr-72{margin-right:-18rem}.md\\:-mr-80{margin-right:-20rem}.md\\:-mr-96{margin-right:-24rem}.md\\:-mr-px{margin-right:-1px}.md\\:-mr-0\\.5{margin-right:-0.125rem}.md\\:-mr-1\\.5{margin-right:-0.375rem}.md\\:-mr-2\\.5{margin-right:-0.625rem}.md\\:-mr-3\\.5{margin-right:-0.875rem}.md\\:mb-0{margin-bottom:0px}.md\\:mb-1{margin-bottom:0.25rem}.md\\:mb-2{margin-bottom:0.5rem}.md\\:mb-3{margin-bottom:0.75rem}.md\\:mb-4{margin-bottom:1rem}.md\\:mb-5{margin-bottom:1.25rem}.md\\:mb-6{margin-bottom:1.5rem}.md\\:mb-7{margin-bottom:1.75rem}.md\\:mb-8{margin-bottom:2rem}.md\\:mb-9{margin-bottom:2.25rem}.md\\:mb-10{margin-bottom:2.5rem}.md\\:mb-11{margin-bottom:2.75rem}.md\\:mb-12{margin-bottom:3rem}.md\\:mb-14{margin-bottom:3.5rem}.md\\:mb-16{margin-bottom:4rem}.md\\:mb-20{margin-bottom:5rem}.md\\:mb-24{margin-bottom:6rem}.md\\:mb-28{margin-bottom:7rem}.md\\:mb-32{margin-bottom:8rem}.md\\:mb-36{margin-bottom:9rem}.md\\:mb-40{margin-bottom:10rem}.md\\:mb-44{margin-bottom:11rem}.md\\:mb-48{margin-bottom:12rem}.md\\:mb-52{margin-bottom:13rem}.md\\:mb-56{margin-bottom:14rem}.md\\:mb-60{margin-bottom:15rem}.md\\:mb-64{margin-bottom:16rem}.md\\:mb-72{margin-bottom:18rem}.md\\:mb-80{margin-bottom:20rem}.md\\:mb-96{margin-bottom:24rem}.md\\:mb-auto{margin-bottom:auto}.md\\:mb-px{margin-bottom:1px}.md\\:mb-0\\.5{margin-bottom:0.125rem}.md\\:mb-1\\.5{margin-bottom:0.375rem}.md\\:mb-2\\.5{margin-bottom:0.625rem}.md\\:mb-3\\.5{margin-bottom:0.875rem}.md\\:-mb-0{margin-bottom:0px}.md\\:-mb-1{margin-bottom:-0.25rem}.md\\:-mb-2{margin-bottom:-0.5rem}.md\\:-mb-3{margin-bottom:-0.75rem}.md\\:-mb-4{margin-bottom:-1rem}.md\\:-mb-5{margin-bottom:-1.25rem}.md\\:-mb-6{margin-bottom:-1.5rem}.md\\:-mb-7{margin-bottom:-1.75rem}.md\\:-mb-8{margin-bottom:-2rem}.md\\:-mb-9{margin-bottom:-2.25rem}.md\\:-mb-10{margin-bottom:-2.5rem}.md\\:-mb-11{margin-bottom:-2.75rem}.md\\:-mb-12{margin-bottom:-3rem}.md\\:-mb-14{margin-bottom:-3.5rem}.md\\:-mb-16{margin-bottom:-4rem}.md\\:-mb-20{margin-bottom:-5rem}.md\\:-mb-24{margin-bottom:-6rem}.md\\:-mb-28{margin-bottom:-7rem}.md\\:-mb-32{margin-bottom:-8rem}.md\\:-mb-36{margin-bottom:-9rem}.md\\:-mb-40{margin-bottom:-10rem}.md\\:-mb-44{margin-bottom:-11rem}.md\\:-mb-48{margin-bottom:-12rem}.md\\:-mb-52{margin-bottom:-13rem}.md\\:-mb-56{margin-bottom:-14rem}.md\\:-mb-60{margin-bottom:-15rem}.md\\:-mb-64{margin-bottom:-16rem}.md\\:-mb-72{margin-bottom:-18rem}.md\\:-mb-80{margin-bottom:-20rem}.md\\:-mb-96{margin-bottom:-24rem}.md\\:-mb-px{margin-bottom:-1px}.md\\:-mb-0\\.5{margin-bottom:-0.125rem}.md\\:-mb-1\\.5{margin-bottom:-0.375rem}.md\\:-mb-2\\.5{margin-bottom:-0.625rem}.md\\:-mb-3\\.5{margin-bottom:-0.875rem}.md\\:ml-0{margin-left:0px}.md\\:ml-1{margin-left:0.25rem}.md\\:ml-2{margin-left:0.5rem}.md\\:ml-3{margin-left:0.75rem}.md\\:ml-4{margin-left:1rem}.md\\:ml-5{margin-left:1.25rem}.md\\:ml-6{margin-left:1.5rem}.md\\:ml-7{margin-left:1.75rem}.md\\:ml-8{margin-left:2rem}.md\\:ml-9{margin-left:2.25rem}.md\\:ml-10{margin-left:2.5rem}.md\\:ml-11{margin-left:2.75rem}.md\\:ml-12{margin-left:3rem}.md\\:ml-14{margin-left:3.5rem}.md\\:ml-16{margin-left:4rem}.md\\:ml-20{margin-left:5rem}.md\\:ml-24{margin-left:6rem}.md\\:ml-28{margin-left:7rem}.md\\:ml-32{margin-left:8rem}.md\\:ml-36{margin-left:9rem}.md\\:ml-40{margin-left:10rem}.md\\:ml-44{margin-left:11rem}.md\\:ml-48{margin-left:12rem}.md\\:ml-52{margin-left:13rem}.md\\:ml-56{margin-left:14rem}.md\\:ml-60{margin-left:15rem}.md\\:ml-64{margin-left:16rem}.md\\:ml-72{margin-left:18rem}.md\\:ml-80{margin-left:20rem}.md\\:ml-96{margin-left:24rem}.md\\:ml-auto{margin-left:auto}.md\\:ml-px{margin-left:1px}.md\\:ml-0\\.5{margin-left:0.125rem}.md\\:ml-1\\.5{margin-left:0.375rem}.md\\:ml-2\\.5{margin-left:0.625rem}.md\\:ml-3\\.5{margin-left:0.875rem}.md\\:-ml-0{margin-left:0px}.md\\:-ml-1{margin-left:-0.25rem}.md\\:-ml-2{margin-left:-0.5rem}.md\\:-ml-3{margin-left:-0.75rem}.md\\:-ml-4{margin-left:-1rem}.md\\:-ml-5{margin-left:-1.25rem}.md\\:-ml-6{margin-left:-1.5rem}.md\\:-ml-7{margin-left:-1.75rem}.md\\:-ml-8{margin-left:-2rem}.md\\:-ml-9{margin-left:-2.25rem}.md\\:-ml-10{margin-left:-2.5rem}.md\\:-ml-11{margin-left:-2.75rem}.md\\:-ml-12{margin-left:-3rem}.md\\:-ml-14{margin-left:-3.5rem}.md\\:-ml-16{margin-left:-4rem}.md\\:-ml-20{margin-left:-5rem}.md\\:-ml-24{margin-left:-6rem}.md\\:-ml-28{margin-left:-7rem}.md\\:-ml-32{margin-left:-8rem}.md\\:-ml-36{margin-left:-9rem}.md\\:-ml-40{margin-left:-10rem}.md\\:-ml-44{margin-left:-11rem}.md\\:-ml-48{margin-left:-12rem}.md\\:-ml-52{margin-left:-13rem}.md\\:-ml-56{margin-left:-14rem}.md\\:-ml-60{margin-left:-15rem}.md\\:-ml-64{margin-left:-16rem}.md\\:-ml-72{margin-left:-18rem}.md\\:-ml-80{margin-left:-20rem}.md\\:-ml-96{margin-left:-24rem}.md\\:-ml-px{margin-left:-1px}.md\\:-ml-0\\.5{margin-left:-0.125rem}.md\\:-ml-1\\.5{margin-left:-0.375rem}.md\\:-ml-2\\.5{margin-left:-0.625rem}.md\\:-ml-3\\.5{margin-left:-0.875rem}.md\\:box-border{box-sizing:border-box}.md\\:box-content{box-sizing:content-box}.md\\:block{display:block}.md\\:inline-block{display:inline-block}.md\\:inline{display:inline}.md\\:flex{display:flex}.md\\:inline-flex{display:inline-flex}.md\\:table{display:table}.md\\:inline-table{display:inline-table}.md\\:table-caption{display:table-caption}.md\\:table-cell{display:table-cell}.md\\:table-column{display:table-column}.md\\:table-column-group{display:table-column-group}.md\\:table-footer-group{display:table-footer-group}.md\\:table-header-group{display:table-header-group}.md\\:table-row-group{display:table-row-group}.md\\:table-row{display:table-row}.md\\:flow-root{display:flow-root}.md\\:grid{display:grid}.md\\:inline-grid{display:inline-grid}.md\\:contents{display:contents}.md\\:list-item{display:list-item}.md\\:hidden{display:none}.md\\:h-0{height:0px}.md\\:h-1{height:0.25rem}.md\\:h-2{height:0.5rem}.md\\:h-3{height:0.75rem}.md\\:h-4{height:1rem}.md\\:h-5{height:1.25rem}.md\\:h-6{height:1.5rem}.md\\:h-7{height:1.75rem}.md\\:h-8{height:2rem}.md\\:h-9{height:2.25rem}.md\\:h-10{height:2.5rem}.md\\:h-11{height:2.75rem}.md\\:h-12{height:3rem}.md\\:h-14{height:3.5rem}.md\\:h-16{height:4rem}.md\\:h-20{height:5rem}.md\\:h-24{height:6rem}.md\\:h-28{height:7rem}.md\\:h-32{height:8rem}.md\\:h-36{height:9rem}.md\\:h-40{height:10rem}.md\\:h-44{height:11rem}.md\\:h-48{height:12rem}.md\\:h-52{height:13rem}.md\\:h-56{height:14rem}.md\\:h-60{height:15rem}.md\\:h-64{height:16rem}.md\\:h-72{height:18rem}.md\\:h-80{height:20rem}.md\\:h-96{height:24rem}.md\\:h-auto{height:auto}.md\\:h-px{height:1px}.md\\:h-0\\.5{height:0.125rem}.md\\:h-1\\.5{height:0.375rem}.md\\:h-2\\.5{height:0.625rem}.md\\:h-3\\.5{height:0.875rem}.md\\:h-1\\/2{height:50%}.md\\:h-1\\/3{height:33.333333%}.md\\:h-2\\/3{height:66.666667%}.md\\:h-1\\/4{height:25%}.md\\:h-2\\/4{height:50%}.md\\:h-3\\/4{height:75%}.md\\:h-1\\/5{height:20%}.md\\:h-2\\/5{height:40%}.md\\:h-3\\/5{height:60%}.md\\:h-4\\/5{height:80%}.md\\:h-1\\/6{height:16.666667%}.md\\:h-2\\/6{height:33.333333%}.md\\:h-3\\/6{height:50%}.md\\:h-4\\/6{height:66.666667%}.md\\:h-5\\/6{height:83.333333%}.md\\:h-full{height:100%}.md\\:h-screen{height:100vh}.md\\:h-XS{height:250px}.md\\:h-S{height:500px}.md\\:h-M{height:750px}.md\\:h-L{height:1000px}.md\\:h-XL{height:1250px}.md\\:h-XXL{height:1500px}.md\\:max-h-0{max-height:0px}.md\\:max-h-1{max-height:0.25rem}.md\\:max-h-2{max-height:0.5rem}.md\\:max-h-3{max-height:0.75rem}.md\\:max-h-4{max-height:1rem}.md\\:max-h-5{max-height:1.25rem}.md\\:max-h-6{max-height:1.5rem}.md\\:max-h-7{max-height:1.75rem}.md\\:max-h-8{max-height:2rem}.md\\:max-h-9{max-height:2.25rem}.md\\:max-h-10{max-height:2.5rem}.md\\:max-h-11{max-height:2.75rem}.md\\:max-h-12{max-height:3rem}.md\\:max-h-14{max-height:3.5rem}.md\\:max-h-16{max-height:4rem}.md\\:max-h-20{max-height:5rem}.md\\:max-h-24{max-height:6rem}.md\\:max-h-28{max-height:7rem}.md\\:max-h-32{max-height:8rem}.md\\:max-h-36{max-height:9rem}.md\\:max-h-40{max-height:10rem}.md\\:max-h-44{max-height:11rem}.md\\:max-h-48{max-height:12rem}.md\\:max-h-52{max-height:13rem}.md\\:max-h-56{max-height:14rem}.md\\:max-h-60{max-height:15rem}.md\\:max-h-64{max-height:16rem}.md\\:max-h-72{max-height:18rem}.md\\:max-h-80{max-height:20rem}.md\\:max-h-96{max-height:24rem}.md\\:max-h-px{max-height:1px}.md\\:max-h-0\\.5{max-height:0.125rem}.md\\:max-h-1\\.5{max-height:0.375rem}.md\\:max-h-2\\.5{max-height:0.625rem}.md\\:max-h-3\\.5{max-height:0.875rem}.md\\:max-h-full{max-height:100%}.md\\:max-h-screen{max-height:100vh}.md\\:max-h-XS{max-height:250px}.md\\:max-h-S{max-height:500px}.md\\:max-h-M{max-height:750px}.md\\:max-h-L{max-height:1000px}.md\\:max-h-XL{max-height:1250px}.md\\:max-h-XXL{max-height:1500px}.md\\:min-h-0{min-height:0px}.md\\:min-h-full{min-height:100%}.md\\:min-h-screen{min-height:100vh}.md\\:w-0{width:0px}.md\\:w-1{width:0.25rem}.md\\:w-2{width:0.5rem}.md\\:w-3{width:0.75rem}.md\\:w-4{width:1rem}.md\\:w-5{width:1.25rem}.md\\:w-6{width:1.5rem}.md\\:w-7{width:1.75rem}.md\\:w-8{width:2rem}.md\\:w-9{width:2.25rem}.md\\:w-10{width:2.5rem}.md\\:w-11{width:2.75rem}.md\\:w-12{width:3rem}.md\\:w-14{width:3.5rem}.md\\:w-16{width:4rem}.md\\:w-20{width:5rem}.md\\:w-24{width:6rem}.md\\:w-28{width:7rem}.md\\:w-32{width:8rem}.md\\:w-36{width:9rem}.md\\:w-40{width:10rem}.md\\:w-44{width:11rem}.md\\:w-48{width:12rem}.md\\:w-52{width:13rem}.md\\:w-56{width:14rem}.md\\:w-60{width:15rem}.md\\:w-64{width:16rem}.md\\:w-72{width:18rem}.md\\:w-80{width:20rem}.md\\:w-96{width:24rem}.md\\:w-auto{width:auto}.md\\:w-px{width:1px}.md\\:w-0\\.5{width:0.125rem}.md\\:w-1\\.5{width:0.375rem}.md\\:w-2\\.5{width:0.625rem}.md\\:w-3\\.5{width:0.875rem}.md\\:w-1\\/2{width:50%}.md\\:w-1\\/3{width:33.333333%}.md\\:w-2\\/3{width:66.666667%}.md\\:w-1\\/4{width:25%}.md\\:w-2\\/4{width:50%}.md\\:w-3\\/4{width:75%}.md\\:w-1\\/5{width:20%}.md\\:w-2\\/5{width:40%}.md\\:w-3\\/5{width:60%}.md\\:w-4\\/5{width:80%}.md\\:w-1\\/6{width:16.666667%}.md\\:w-2\\/6{width:33.333333%}.md\\:w-3\\/6{width:50%}.md\\:w-4\\/6{width:66.666667%}.md\\:w-5\\/6{width:83.333333%}.md\\:w-1\\/12{width:8.333333%}.md\\:w-2\\/12{width:16.666667%}.md\\:w-3\\/12{width:25%}.md\\:w-4\\/12{width:33.333333%}.md\\:w-5\\/12{width:41.666667%}.md\\:w-6\\/12{width:50%}.md\\:w-7\\/12{width:58.333333%}.md\\:w-8\\/12{width:66.666667%}.md\\:w-9\\/12{width:75%}.md\\:w-10\\/12{width:83.333333%}.md\\:w-11\\/12{width:91.666667%}.md\\:w-full{width:100%}.md\\:w-screen{width:100vw}.md\\:w-min{width:min-content}.md\\:w-max{width:max-content}.md\\:min-w-0{min-width:0px}.md\\:min-w-full{min-width:100%}.md\\:min-w-min{min-width:min-content}.md\\:min-w-max{min-width:max-content}.md\\:max-w-0{max-width:0rem}.md\\:max-w-none{max-width:none}.md\\:max-w-xs{max-width:20rem}.md\\:max-w-sm{max-width:24rem}.md\\:max-w-md{max-width:28rem}.md\\:max-w-lg{max-width:32rem}.md\\:max-w-xl{max-width:36rem}.md\\:max-w-2xl{max-width:42rem}.md\\:max-w-3xl{max-width:48rem}.md\\:max-w-4xl{max-width:56rem}.md\\:max-w-5xl{max-width:64rem}.md\\:max-w-6xl{max-width:72rem}.md\\:max-w-7xl{max-width:80rem}.md\\:max-w-full{max-width:100%}.md\\:max-w-min{max-width:min-content}.md\\:max-w-max{max-width:max-content}.md\\:max-w-prose{max-width:65ch}.md\\:max-w-screen-sm{max-width:640px}.md\\:max-w-screen-md{max-width:768px}.md\\:max-w-screen-lg{max-width:1024px}.md\\:max-w-screen-xl{max-width:1280px}.md\\:max-w-screen-2xl{max-width:1536px}.md\\:flex-1{flex:1 1 0%}.md\\:flex-auto{flex:1 1 auto}.md\\:flex-initial{flex:0 1 auto}.md\\:flex-none{flex:none}.md\\:flex-shrink-0{flex-shrink:0}.md\\:flex-shrink{flex-shrink:1}.md\\:flex-grow-0{flex-grow:0}.md\\:flex-grow{flex-grow:1}.md\\:table-auto{table-layout:auto}.md\\:table-fixed{table-layout:fixed}.md\\:border-collapse{border-collapse:collapse}.md\\:border-separate{border-collapse:separate}.md\\:origin-center{transform-origin:center}.md\\:origin-top{transform-origin:top}.md\\:origin-top-right{transform-origin:top right}.md\\:origin-right{transform-origin:right}.md\\:origin-bottom-right{transform-origin:bottom right}.md\\:origin-bottom{transform-origin:bottom}.md\\:origin-bottom-left{transform-origin:bottom left}.md\\:origin-left{transform-origin:left}.md\\:origin-top-left{transform-origin:top left}.md\\:transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.md\\:transform-gpu{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translate3d(var(--tw-translate-x), var(--tw-translate-y), 0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.md\\:transform-none{transform:none}.md\\:translate-x-0{--tw-translate-x:0px}.md\\:translate-x-1{--tw-translate-x:0.25rem}.md\\:translate-x-2{--tw-translate-x:0.5rem}.md\\:translate-x-3{--tw-translate-x:0.75rem}.md\\:translate-x-4{--tw-translate-x:1rem}.md\\:translate-x-5{--tw-translate-x:1.25rem}.md\\:translate-x-6{--tw-translate-x:1.5rem}.md\\:translate-x-7{--tw-translate-x:1.75rem}.md\\:translate-x-8{--tw-translate-x:2rem}.md\\:translate-x-9{--tw-translate-x:2.25rem}.md\\:translate-x-10{--tw-translate-x:2.5rem}.md\\:translate-x-11{--tw-translate-x:2.75rem}.md\\:translate-x-12{--tw-translate-x:3rem}.md\\:translate-x-14{--tw-translate-x:3.5rem}.md\\:translate-x-16{--tw-translate-x:4rem}.md\\:translate-x-20{--tw-translate-x:5rem}.md\\:translate-x-24{--tw-translate-x:6rem}.md\\:translate-x-28{--tw-translate-x:7rem}.md\\:translate-x-32{--tw-translate-x:8rem}.md\\:translate-x-36{--tw-translate-x:9rem}.md\\:translate-x-40{--tw-translate-x:10rem}.md\\:translate-x-44{--tw-translate-x:11rem}.md\\:translate-x-48{--tw-translate-x:12rem}.md\\:translate-x-52{--tw-translate-x:13rem}.md\\:translate-x-56{--tw-translate-x:14rem}.md\\:translate-x-60{--tw-translate-x:15rem}.md\\:translate-x-64{--tw-translate-x:16rem}.md\\:translate-x-72{--tw-translate-x:18rem}.md\\:translate-x-80{--tw-translate-x:20rem}.md\\:translate-x-96{--tw-translate-x:24rem}.md\\:translate-x-px{--tw-translate-x:1px}.md\\:translate-x-0\\.5{--tw-translate-x:0.125rem}.md\\:translate-x-1\\.5{--tw-translate-x:0.375rem}.md\\:translate-x-2\\.5{--tw-translate-x:0.625rem}.md\\:translate-x-3\\.5{--tw-translate-x:0.875rem}.md\\:-translate-x-0{--tw-translate-x:0px}.md\\:-translate-x-1{--tw-translate-x:-0.25rem}.md\\:-translate-x-2{--tw-translate-x:-0.5rem}.md\\:-translate-x-3{--tw-translate-x:-0.75rem}.md\\:-translate-x-4{--tw-translate-x:-1rem}.md\\:-translate-x-5{--tw-translate-x:-1.25rem}.md\\:-translate-x-6{--tw-translate-x:-1.5rem}.md\\:-translate-x-7{--tw-translate-x:-1.75rem}.md\\:-translate-x-8{--tw-translate-x:-2rem}.md\\:-translate-x-9{--tw-translate-x:-2.25rem}.md\\:-translate-x-10{--tw-translate-x:-2.5rem}.md\\:-translate-x-11{--tw-translate-x:-2.75rem}.md\\:-translate-x-12{--tw-translate-x:-3rem}.md\\:-translate-x-14{--tw-translate-x:-3.5rem}.md\\:-translate-x-16{--tw-translate-x:-4rem}.md\\:-translate-x-20{--tw-translate-x:-5rem}.md\\:-translate-x-24{--tw-translate-x:-6rem}.md\\:-translate-x-28{--tw-translate-x:-7rem}.md\\:-translate-x-32{--tw-translate-x:-8rem}.md\\:-translate-x-36{--tw-translate-x:-9rem}.md\\:-translate-x-40{--tw-translate-x:-10rem}.md\\:-translate-x-44{--tw-translate-x:-11rem}.md\\:-translate-x-48{--tw-translate-x:-12rem}.md\\:-translate-x-52{--tw-translate-x:-13rem}.md\\:-translate-x-56{--tw-translate-x:-14rem}.md\\:-translate-x-60{--tw-translate-x:-15rem}.md\\:-translate-x-64{--tw-translate-x:-16rem}.md\\:-translate-x-72{--tw-translate-x:-18rem}.md\\:-translate-x-80{--tw-translate-x:-20rem}.md\\:-translate-x-96{--tw-translate-x:-24rem}.md\\:-translate-x-px{--tw-translate-x:-1px}.md\\:-translate-x-0\\.5{--tw-translate-x:-0.125rem}.md\\:-translate-x-1\\.5{--tw-translate-x:-0.375rem}.md\\:-translate-x-2\\.5{--tw-translate-x:-0.625rem}.md\\:-translate-x-3\\.5{--tw-translate-x:-0.875rem}.md\\:translate-x-1\\/2{--tw-translate-x:50%}.md\\:translate-x-1\\/3{--tw-translate-x:33.333333%}.md\\:translate-x-2\\/3{--tw-translate-x:66.666667%}.md\\:translate-x-1\\/4{--tw-translate-x:25%}.md\\:translate-x-2\\/4{--tw-translate-x:50%}.md\\:translate-x-3\\/4{--tw-translate-x:75%}.md\\:translate-x-full{--tw-translate-x:100%}.md\\:-translate-x-1\\/2{--tw-translate-x:-50%}.md\\:-translate-x-1\\/3{--tw-translate-x:-33.333333%}.md\\:-translate-x-2\\/3{--tw-translate-x:-66.666667%}.md\\:-translate-x-1\\/4{--tw-translate-x:-25%}.md\\:-translate-x-2\\/4{--tw-translate-x:-50%}.md\\:-translate-x-3\\/4{--tw-translate-x:-75%}.md\\:-translate-x-full{--tw-translate-x:-100%}.md\\:translate-y-0{--tw-translate-y:0px}.md\\:translate-y-1{--tw-translate-y:0.25rem}.md\\:translate-y-2{--tw-translate-y:0.5rem}.md\\:translate-y-3{--tw-translate-y:0.75rem}.md\\:translate-y-4{--tw-translate-y:1rem}.md\\:translate-y-5{--tw-translate-y:1.25rem}.md\\:translate-y-6{--tw-translate-y:1.5rem}.md\\:translate-y-7{--tw-translate-y:1.75rem}.md\\:translate-y-8{--tw-translate-y:2rem}.md\\:translate-y-9{--tw-translate-y:2.25rem}.md\\:translate-y-10{--tw-translate-y:2.5rem}.md\\:translate-y-11{--tw-translate-y:2.75rem}.md\\:translate-y-12{--tw-translate-y:3rem}.md\\:translate-y-14{--tw-translate-y:3.5rem}.md\\:translate-y-16{--tw-translate-y:4rem}.md\\:translate-y-20{--tw-translate-y:5rem}.md\\:translate-y-24{--tw-translate-y:6rem}.md\\:translate-y-28{--tw-translate-y:7rem}.md\\:translate-y-32{--tw-translate-y:8rem}.md\\:translate-y-36{--tw-translate-y:9rem}.md\\:translate-y-40{--tw-translate-y:10rem}.md\\:translate-y-44{--tw-translate-y:11rem}.md\\:translate-y-48{--tw-translate-y:12rem}.md\\:translate-y-52{--tw-translate-y:13rem}.md\\:translate-y-56{--tw-translate-y:14rem}.md\\:translate-y-60{--tw-translate-y:15rem}.md\\:translate-y-64{--tw-translate-y:16rem}.md\\:translate-y-72{--tw-translate-y:18rem}.md\\:translate-y-80{--tw-translate-y:20rem}.md\\:translate-y-96{--tw-translate-y:24rem}.md\\:translate-y-px{--tw-translate-y:1px}.md\\:translate-y-0\\.5{--tw-translate-y:0.125rem}.md\\:translate-y-1\\.5{--tw-translate-y:0.375rem}.md\\:translate-y-2\\.5{--tw-translate-y:0.625rem}.md\\:translate-y-3\\.5{--tw-translate-y:0.875rem}.md\\:-translate-y-0{--tw-translate-y:0px}.md\\:-translate-y-1{--tw-translate-y:-0.25rem}.md\\:-translate-y-2{--tw-translate-y:-0.5rem}.md\\:-translate-y-3{--tw-translate-y:-0.75rem}.md\\:-translate-y-4{--tw-translate-y:-1rem}.md\\:-translate-y-5{--tw-translate-y:-1.25rem}.md\\:-translate-y-6{--tw-translate-y:-1.5rem}.md\\:-translate-y-7{--tw-translate-y:-1.75rem}.md\\:-translate-y-8{--tw-translate-y:-2rem}.md\\:-translate-y-9{--tw-translate-y:-2.25rem}.md\\:-translate-y-10{--tw-translate-y:-2.5rem}.md\\:-translate-y-11{--tw-translate-y:-2.75rem}.md\\:-translate-y-12{--tw-translate-y:-3rem}.md\\:-translate-y-14{--tw-translate-y:-3.5rem}.md\\:-translate-y-16{--tw-translate-y:-4rem}.md\\:-translate-y-20{--tw-translate-y:-5rem}.md\\:-translate-y-24{--tw-translate-y:-6rem}.md\\:-translate-y-28{--tw-translate-y:-7rem}.md\\:-translate-y-32{--tw-translate-y:-8rem}.md\\:-translate-y-36{--tw-translate-y:-9rem}.md\\:-translate-y-40{--tw-translate-y:-10rem}.md\\:-translate-y-44{--tw-translate-y:-11rem}.md\\:-translate-y-48{--tw-translate-y:-12rem}.md\\:-translate-y-52{--tw-translate-y:-13rem}.md\\:-translate-y-56{--tw-translate-y:-14rem}.md\\:-translate-y-60{--tw-translate-y:-15rem}.md\\:-translate-y-64{--tw-translate-y:-16rem}.md\\:-translate-y-72{--tw-translate-y:-18rem}.md\\:-translate-y-80{--tw-translate-y:-20rem}.md\\:-translate-y-96{--tw-translate-y:-24rem}.md\\:-translate-y-px{--tw-translate-y:-1px}.md\\:-translate-y-0\\.5{--tw-translate-y:-0.125rem}.md\\:-translate-y-1\\.5{--tw-translate-y:-0.375rem}.md\\:-translate-y-2\\.5{--tw-translate-y:-0.625rem}.md\\:-translate-y-3\\.5{--tw-translate-y:-0.875rem}.md\\:translate-y-1\\/2{--tw-translate-y:50%}.md\\:translate-y-1\\/3{--tw-translate-y:33.333333%}.md\\:translate-y-2\\/3{--tw-translate-y:66.666667%}.md\\:translate-y-1\\/4{--tw-translate-y:25%}.md\\:translate-y-2\\/4{--tw-translate-y:50%}.md\\:translate-y-3\\/4{--tw-translate-y:75%}.md\\:translate-y-full{--tw-translate-y:100%}.md\\:-translate-y-1\\/2{--tw-translate-y:-50%}.md\\:-translate-y-1\\/3{--tw-translate-y:-33.333333%}.md\\:-translate-y-2\\/3{--tw-translate-y:-66.666667%}.md\\:-translate-y-1\\/4{--tw-translate-y:-25%}.md\\:-translate-y-2\\/4{--tw-translate-y:-50%}.md\\:-translate-y-3\\/4{--tw-translate-y:-75%}.md\\:-translate-y-full{--tw-translate-y:-100%}.md\\:hover\\:translate-x-0:hover{--tw-translate-x:0px}.md\\:hover\\:translate-x-1:hover{--tw-translate-x:0.25rem}.md\\:hover\\:translate-x-2:hover{--tw-translate-x:0.5rem}.md\\:hover\\:translate-x-3:hover{--tw-translate-x:0.75rem}.md\\:hover\\:translate-x-4:hover{--tw-translate-x:1rem}.md\\:hover\\:translate-x-5:hover{--tw-translate-x:1.25rem}.md\\:hover\\:translate-x-6:hover{--tw-translate-x:1.5rem}.md\\:hover\\:translate-x-7:hover{--tw-translate-x:1.75rem}.md\\:hover\\:translate-x-8:hover{--tw-translate-x:2rem}.md\\:hover\\:translate-x-9:hover{--tw-translate-x:2.25rem}.md\\:hover\\:translate-x-10:hover{--tw-translate-x:2.5rem}.md\\:hover\\:translate-x-11:hover{--tw-translate-x:2.75rem}.md\\:hover\\:translate-x-12:hover{--tw-translate-x:3rem}.md\\:hover\\:translate-x-14:hover{--tw-translate-x:3.5rem}.md\\:hover\\:translate-x-16:hover{--tw-translate-x:4rem}.md\\:hover\\:translate-x-20:hover{--tw-translate-x:5rem}.md\\:hover\\:translate-x-24:hover{--tw-translate-x:6rem}.md\\:hover\\:translate-x-28:hover{--tw-translate-x:7rem}.md\\:hover\\:translate-x-32:hover{--tw-translate-x:8rem}.md\\:hover\\:translate-x-36:hover{--tw-translate-x:9rem}.md\\:hover\\:translate-x-40:hover{--tw-translate-x:10rem}.md\\:hover\\:translate-x-44:hover{--tw-translate-x:11rem}.md\\:hover\\:translate-x-48:hover{--tw-translate-x:12rem}.md\\:hover\\:translate-x-52:hover{--tw-translate-x:13rem}.md\\:hover\\:translate-x-56:hover{--tw-translate-x:14rem}.md\\:hover\\:translate-x-60:hover{--tw-translate-x:15rem}.md\\:hover\\:translate-x-64:hover{--tw-translate-x:16rem}.md\\:hover\\:translate-x-72:hover{--tw-translate-x:18rem}.md\\:hover\\:translate-x-80:hover{--tw-translate-x:20rem}.md\\:hover\\:translate-x-96:hover{--tw-translate-x:24rem}.md\\:hover\\:translate-x-px:hover{--tw-translate-x:1px}.md\\:hover\\:translate-x-0\\.5:hover{--tw-translate-x:0.125rem}.md\\:hover\\:translate-x-1\\.5:hover{--tw-translate-x:0.375rem}.md\\:hover\\:translate-x-2\\.5:hover{--tw-translate-x:0.625rem}.md\\:hover\\:translate-x-3\\.5:hover{--tw-translate-x:0.875rem}.md\\:hover\\:-translate-x-0:hover{--tw-translate-x:0px}.md\\:hover\\:-translate-x-1:hover{--tw-translate-x:-0.25rem}.md\\:hover\\:-translate-x-2:hover{--tw-translate-x:-0.5rem}.md\\:hover\\:-translate-x-3:hover{--tw-translate-x:-0.75rem}.md\\:hover\\:-translate-x-4:hover{--tw-translate-x:-1rem}.md\\:hover\\:-translate-x-5:hover{--tw-translate-x:-1.25rem}.md\\:hover\\:-translate-x-6:hover{--tw-translate-x:-1.5rem}.md\\:hover\\:-translate-x-7:hover{--tw-translate-x:-1.75rem}.md\\:hover\\:-translate-x-8:hover{--tw-translate-x:-2rem}.md\\:hover\\:-translate-x-9:hover{--tw-translate-x:-2.25rem}.md\\:hover\\:-translate-x-10:hover{--tw-translate-x:-2.5rem}.md\\:hover\\:-translate-x-11:hover{--tw-translate-x:-2.75rem}.md\\:hover\\:-translate-x-12:hover{--tw-translate-x:-3rem}.md\\:hover\\:-translate-x-14:hover{--tw-translate-x:-3.5rem}.md\\:hover\\:-translate-x-16:hover{--tw-translate-x:-4rem}.md\\:hover\\:-translate-x-20:hover{--tw-translate-x:-5rem}.md\\:hover\\:-translate-x-24:hover{--tw-translate-x:-6rem}.md\\:hover\\:-translate-x-28:hover{--tw-translate-x:-7rem}.md\\:hover\\:-translate-x-32:hover{--tw-translate-x:-8rem}.md\\:hover\\:-translate-x-36:hover{--tw-translate-x:-9rem}.md\\:hover\\:-translate-x-40:hover{--tw-translate-x:-10rem}.md\\:hover\\:-translate-x-44:hover{--tw-translate-x:-11rem}.md\\:hover\\:-translate-x-48:hover{--tw-translate-x:-12rem}.md\\:hover\\:-translate-x-52:hover{--tw-translate-x:-13rem}.md\\:hover\\:-translate-x-56:hover{--tw-translate-x:-14rem}.md\\:hover\\:-translate-x-60:hover{--tw-translate-x:-15rem}.md\\:hover\\:-translate-x-64:hover{--tw-translate-x:-16rem}.md\\:hover\\:-translate-x-72:hover{--tw-translate-x:-18rem}.md\\:hover\\:-translate-x-80:hover{--tw-translate-x:-20rem}.md\\:hover\\:-translate-x-96:hover{--tw-translate-x:-24rem}.md\\:hover\\:-translate-x-px:hover{--tw-translate-x:-1px}.md\\:hover\\:-translate-x-0\\.5:hover{--tw-translate-x:-0.125rem}.md\\:hover\\:-translate-x-1\\.5:hover{--tw-translate-x:-0.375rem}.md\\:hover\\:-translate-x-2\\.5:hover{--tw-translate-x:-0.625rem}.md\\:hover\\:-translate-x-3\\.5:hover{--tw-translate-x:-0.875rem}.md\\:hover\\:translate-x-1\\/2:hover{--tw-translate-x:50%}.md\\:hover\\:translate-x-1\\/3:hover{--tw-translate-x:33.333333%}.md\\:hover\\:translate-x-2\\/3:hover{--tw-translate-x:66.666667%}.md\\:hover\\:translate-x-1\\/4:hover{--tw-translate-x:25%}.md\\:hover\\:translate-x-2\\/4:hover{--tw-translate-x:50%}.md\\:hover\\:translate-x-3\\/4:hover{--tw-translate-x:75%}.md\\:hover\\:translate-x-full:hover{--tw-translate-x:100%}.md\\:hover\\:-translate-x-1\\/2:hover{--tw-translate-x:-50%}.md\\:hover\\:-translate-x-1\\/3:hover{--tw-translate-x:-33.333333%}.md\\:hover\\:-translate-x-2\\/3:hover{--tw-translate-x:-66.666667%}.md\\:hover\\:-translate-x-1\\/4:hover{--tw-translate-x:-25%}.md\\:hover\\:-translate-x-2\\/4:hover{--tw-translate-x:-50%}.md\\:hover\\:-translate-x-3\\/4:hover{--tw-translate-x:-75%}.md\\:hover\\:-translate-x-full:hover{--tw-translate-x:-100%}.md\\:hover\\:translate-y-0:hover{--tw-translate-y:0px}.md\\:hover\\:translate-y-1:hover{--tw-translate-y:0.25rem}.md\\:hover\\:translate-y-2:hover{--tw-translate-y:0.5rem}.md\\:hover\\:translate-y-3:hover{--tw-translate-y:0.75rem}.md\\:hover\\:translate-y-4:hover{--tw-translate-y:1rem}.md\\:hover\\:translate-y-5:hover{--tw-translate-y:1.25rem}.md\\:hover\\:translate-y-6:hover{--tw-translate-y:1.5rem}.md\\:hover\\:translate-y-7:hover{--tw-translate-y:1.75rem}.md\\:hover\\:translate-y-8:hover{--tw-translate-y:2rem}.md\\:hover\\:translate-y-9:hover{--tw-translate-y:2.25rem}.md\\:hover\\:translate-y-10:hover{--tw-translate-y:2.5rem}.md\\:hover\\:translate-y-11:hover{--tw-translate-y:2.75rem}.md\\:hover\\:translate-y-12:hover{--tw-translate-y:3rem}.md\\:hover\\:translate-y-14:hover{--tw-translate-y:3.5rem}.md\\:hover\\:translate-y-16:hover{--tw-translate-y:4rem}.md\\:hover\\:translate-y-20:hover{--tw-translate-y:5rem}.md\\:hover\\:translate-y-24:hover{--tw-translate-y:6rem}.md\\:hover\\:translate-y-28:hover{--tw-translate-y:7rem}.md\\:hover\\:translate-y-32:hover{--tw-translate-y:8rem}.md\\:hover\\:translate-y-36:hover{--tw-translate-y:9rem}.md\\:hover\\:translate-y-40:hover{--tw-translate-y:10rem}.md\\:hover\\:translate-y-44:hover{--tw-translate-y:11rem}.md\\:hover\\:translate-y-48:hover{--tw-translate-y:12rem}.md\\:hover\\:translate-y-52:hover{--tw-translate-y:13rem}.md\\:hover\\:translate-y-56:hover{--tw-translate-y:14rem}.md\\:hover\\:translate-y-60:hover{--tw-translate-y:15rem}.md\\:hover\\:translate-y-64:hover{--tw-translate-y:16rem}.md\\:hover\\:translate-y-72:hover{--tw-translate-y:18rem}.md\\:hover\\:translate-y-80:hover{--tw-translate-y:20rem}.md\\:hover\\:translate-y-96:hover{--tw-translate-y:24rem}.md\\:hover\\:translate-y-px:hover{--tw-translate-y:1px}.md\\:hover\\:translate-y-0\\.5:hover{--tw-translate-y:0.125rem}.md\\:hover\\:translate-y-1\\.5:hover{--tw-translate-y:0.375rem}.md\\:hover\\:translate-y-2\\.5:hover{--tw-translate-y:0.625rem}.md\\:hover\\:translate-y-3\\.5:hover{--tw-translate-y:0.875rem}.md\\:hover\\:-translate-y-0:hover{--tw-translate-y:0px}.md\\:hover\\:-translate-y-1:hover{--tw-translate-y:-0.25rem}.md\\:hover\\:-translate-y-2:hover{--tw-translate-y:-0.5rem}.md\\:hover\\:-translate-y-3:hover{--tw-translate-y:-0.75rem}.md\\:hover\\:-translate-y-4:hover{--tw-translate-y:-1rem}.md\\:hover\\:-translate-y-5:hover{--tw-translate-y:-1.25rem}.md\\:hover\\:-translate-y-6:hover{--tw-translate-y:-1.5rem}.md\\:hover\\:-translate-y-7:hover{--tw-translate-y:-1.75rem}.md\\:hover\\:-translate-y-8:hover{--tw-translate-y:-2rem}.md\\:hover\\:-translate-y-9:hover{--tw-translate-y:-2.25rem}.md\\:hover\\:-translate-y-10:hover{--tw-translate-y:-2.5rem}.md\\:hover\\:-translate-y-11:hover{--tw-translate-y:-2.75rem}.md\\:hover\\:-translate-y-12:hover{--tw-translate-y:-3rem}.md\\:hover\\:-translate-y-14:hover{--tw-translate-y:-3.5rem}.md\\:hover\\:-translate-y-16:hover{--tw-translate-y:-4rem}.md\\:hover\\:-translate-y-20:hover{--tw-translate-y:-5rem}.md\\:hover\\:-translate-y-24:hover{--tw-translate-y:-6rem}.md\\:hover\\:-translate-y-28:hover{--tw-translate-y:-7rem}.md\\:hover\\:-translate-y-32:hover{--tw-translate-y:-8rem}.md\\:hover\\:-translate-y-36:hover{--tw-translate-y:-9rem}.md\\:hover\\:-translate-y-40:hover{--tw-translate-y:-10rem}.md\\:hover\\:-translate-y-44:hover{--tw-translate-y:-11rem}.md\\:hover\\:-translate-y-48:hover{--tw-translate-y:-12rem}.md\\:hover\\:-translate-y-52:hover{--tw-translate-y:-13rem}.md\\:hover\\:-translate-y-56:hover{--tw-translate-y:-14rem}.md\\:hover\\:-translate-y-60:hover{--tw-translate-y:-15rem}.md\\:hover\\:-translate-y-64:hover{--tw-translate-y:-16rem}.md\\:hover\\:-translate-y-72:hover{--tw-translate-y:-18rem}.md\\:hover\\:-translate-y-80:hover{--tw-translate-y:-20rem}.md\\:hover\\:-translate-y-96:hover{--tw-translate-y:-24rem}.md\\:hover\\:-translate-y-px:hover{--tw-translate-y:-1px}.md\\:hover\\:-translate-y-0\\.5:hover{--tw-translate-y:-0.125rem}.md\\:hover\\:-translate-y-1\\.5:hover{--tw-translate-y:-0.375rem}.md\\:hover\\:-translate-y-2\\.5:hover{--tw-translate-y:-0.625rem}.md\\:hover\\:-translate-y-3\\.5:hover{--tw-translate-y:-0.875rem}.md\\:hover\\:translate-y-1\\/2:hover{--tw-translate-y:50%}.md\\:hover\\:translate-y-1\\/3:hover{--tw-translate-y:33.333333%}.md\\:hover\\:translate-y-2\\/3:hover{--tw-translate-y:66.666667%}.md\\:hover\\:translate-y-1\\/4:hover{--tw-translate-y:25%}.md\\:hover\\:translate-y-2\\/4:hover{--tw-translate-y:50%}.md\\:hover\\:translate-y-3\\/4:hover{--tw-translate-y:75%}.md\\:hover\\:translate-y-full:hover{--tw-translate-y:100%}.md\\:hover\\:-translate-y-1\\/2:hover{--tw-translate-y:-50%}.md\\:hover\\:-translate-y-1\\/3:hover{--tw-translate-y:-33.333333%}.md\\:hover\\:-translate-y-2\\/3:hover{--tw-translate-y:-66.666667%}.md\\:hover\\:-translate-y-1\\/4:hover{--tw-translate-y:-25%}.md\\:hover\\:-translate-y-2\\/4:hover{--tw-translate-y:-50%}.md\\:hover\\:-translate-y-3\\/4:hover{--tw-translate-y:-75%}.md\\:hover\\:-translate-y-full:hover{--tw-translate-y:-100%}.md\\:focus\\:translate-x-0:focus{--tw-translate-x:0px}.md\\:focus\\:translate-x-1:focus{--tw-translate-x:0.25rem}.md\\:focus\\:translate-x-2:focus{--tw-translate-x:0.5rem}.md\\:focus\\:translate-x-3:focus{--tw-translate-x:0.75rem}.md\\:focus\\:translate-x-4:focus{--tw-translate-x:1rem}.md\\:focus\\:translate-x-5:focus{--tw-translate-x:1.25rem}.md\\:focus\\:translate-x-6:focus{--tw-translate-x:1.5rem}.md\\:focus\\:translate-x-7:focus{--tw-translate-x:1.75rem}.md\\:focus\\:translate-x-8:focus{--tw-translate-x:2rem}.md\\:focus\\:translate-x-9:focus{--tw-translate-x:2.25rem}.md\\:focus\\:translate-x-10:focus{--tw-translate-x:2.5rem}.md\\:focus\\:translate-x-11:focus{--tw-translate-x:2.75rem}.md\\:focus\\:translate-x-12:focus{--tw-translate-x:3rem}.md\\:focus\\:translate-x-14:focus{--tw-translate-x:3.5rem}.md\\:focus\\:translate-x-16:focus{--tw-translate-x:4rem}.md\\:focus\\:translate-x-20:focus{--tw-translate-x:5rem}.md\\:focus\\:translate-x-24:focus{--tw-translate-x:6rem}.md\\:focus\\:translate-x-28:focus{--tw-translate-x:7rem}.md\\:focus\\:translate-x-32:focus{--tw-translate-x:8rem}.md\\:focus\\:translate-x-36:focus{--tw-translate-x:9rem}.md\\:focus\\:translate-x-40:focus{--tw-translate-x:10rem}.md\\:focus\\:translate-x-44:focus{--tw-translate-x:11rem}.md\\:focus\\:translate-x-48:focus{--tw-translate-x:12rem}.md\\:focus\\:translate-x-52:focus{--tw-translate-x:13rem}.md\\:focus\\:translate-x-56:focus{--tw-translate-x:14rem}.md\\:focus\\:translate-x-60:focus{--tw-translate-x:15rem}.md\\:focus\\:translate-x-64:focus{--tw-translate-x:16rem}.md\\:focus\\:translate-x-72:focus{--tw-translate-x:18rem}.md\\:focus\\:translate-x-80:focus{--tw-translate-x:20rem}.md\\:focus\\:translate-x-96:focus{--tw-translate-x:24rem}.md\\:focus\\:translate-x-px:focus{--tw-translate-x:1px}.md\\:focus\\:translate-x-0\\.5:focus{--tw-translate-x:0.125rem}.md\\:focus\\:translate-x-1\\.5:focus{--tw-translate-x:0.375rem}.md\\:focus\\:translate-x-2\\.5:focus{--tw-translate-x:0.625rem}.md\\:focus\\:translate-x-3\\.5:focus{--tw-translate-x:0.875rem}.md\\:focus\\:-translate-x-0:focus{--tw-translate-x:0px}.md\\:focus\\:-translate-x-1:focus{--tw-translate-x:-0.25rem}.md\\:focus\\:-translate-x-2:focus{--tw-translate-x:-0.5rem}.md\\:focus\\:-translate-x-3:focus{--tw-translate-x:-0.75rem}.md\\:focus\\:-translate-x-4:focus{--tw-translate-x:-1rem}.md\\:focus\\:-translate-x-5:focus{--tw-translate-x:-1.25rem}.md\\:focus\\:-translate-x-6:focus{--tw-translate-x:-1.5rem}.md\\:focus\\:-translate-x-7:focus{--tw-translate-x:-1.75rem}.md\\:focus\\:-translate-x-8:focus{--tw-translate-x:-2rem}.md\\:focus\\:-translate-x-9:focus{--tw-translate-x:-2.25rem}.md\\:focus\\:-translate-x-10:focus{--tw-translate-x:-2.5rem}.md\\:focus\\:-translate-x-11:focus{--tw-translate-x:-2.75rem}.md\\:focus\\:-translate-x-12:focus{--tw-translate-x:-3rem}.md\\:focus\\:-translate-x-14:focus{--tw-translate-x:-3.5rem}.md\\:focus\\:-translate-x-16:focus{--tw-translate-x:-4rem}.md\\:focus\\:-translate-x-20:focus{--tw-translate-x:-5rem}.md\\:focus\\:-translate-x-24:focus{--tw-translate-x:-6rem}.md\\:focus\\:-translate-x-28:focus{--tw-translate-x:-7rem}.md\\:focus\\:-translate-x-32:focus{--tw-translate-x:-8rem}.md\\:focus\\:-translate-x-36:focus{--tw-translate-x:-9rem}.md\\:focus\\:-translate-x-40:focus{--tw-translate-x:-10rem}.md\\:focus\\:-translate-x-44:focus{--tw-translate-x:-11rem}.md\\:focus\\:-translate-x-48:focus{--tw-translate-x:-12rem}.md\\:focus\\:-translate-x-52:focus{--tw-translate-x:-13rem}.md\\:focus\\:-translate-x-56:focus{--tw-translate-x:-14rem}.md\\:focus\\:-translate-x-60:focus{--tw-translate-x:-15rem}.md\\:focus\\:-translate-x-64:focus{--tw-translate-x:-16rem}.md\\:focus\\:-translate-x-72:focus{--tw-translate-x:-18rem}.md\\:focus\\:-translate-x-80:focus{--tw-translate-x:-20rem}.md\\:focus\\:-translate-x-96:focus{--tw-translate-x:-24rem}.md\\:focus\\:-translate-x-px:focus{--tw-translate-x:-1px}.md\\:focus\\:-translate-x-0\\.5:focus{--tw-translate-x:-0.125rem}.md\\:focus\\:-translate-x-1\\.5:focus{--tw-translate-x:-0.375rem}.md\\:focus\\:-translate-x-2\\.5:focus{--tw-translate-x:-0.625rem}.md\\:focus\\:-translate-x-3\\.5:focus{--tw-translate-x:-0.875rem}.md\\:focus\\:translate-x-1\\/2:focus{--tw-translate-x:50%}.md\\:focus\\:translate-x-1\\/3:focus{--tw-translate-x:33.333333%}.md\\:focus\\:translate-x-2\\/3:focus{--tw-translate-x:66.666667%}.md\\:focus\\:translate-x-1\\/4:focus{--tw-translate-x:25%}.md\\:focus\\:translate-x-2\\/4:focus{--tw-translate-x:50%}.md\\:focus\\:translate-x-3\\/4:focus{--tw-translate-x:75%}.md\\:focus\\:translate-x-full:focus{--tw-translate-x:100%}.md\\:focus\\:-translate-x-1\\/2:focus{--tw-translate-x:-50%}.md\\:focus\\:-translate-x-1\\/3:focus{--tw-translate-x:-33.333333%}.md\\:focus\\:-translate-x-2\\/3:focus{--tw-translate-x:-66.666667%}.md\\:focus\\:-translate-x-1\\/4:focus{--tw-translate-x:-25%}.md\\:focus\\:-translate-x-2\\/4:focus{--tw-translate-x:-50%}.md\\:focus\\:-translate-x-3\\/4:focus{--tw-translate-x:-75%}.md\\:focus\\:-translate-x-full:focus{--tw-translate-x:-100%}.md\\:focus\\:translate-y-0:focus{--tw-translate-y:0px}.md\\:focus\\:translate-y-1:focus{--tw-translate-y:0.25rem}.md\\:focus\\:translate-y-2:focus{--tw-translate-y:0.5rem}.md\\:focus\\:translate-y-3:focus{--tw-translate-y:0.75rem}.md\\:focus\\:translate-y-4:focus{--tw-translate-y:1rem}.md\\:focus\\:translate-y-5:focus{--tw-translate-y:1.25rem}.md\\:focus\\:translate-y-6:focus{--tw-translate-y:1.5rem}.md\\:focus\\:translate-y-7:focus{--tw-translate-y:1.75rem}.md\\:focus\\:translate-y-8:focus{--tw-translate-y:2rem}.md\\:focus\\:translate-y-9:focus{--tw-translate-y:2.25rem}.md\\:focus\\:translate-y-10:focus{--tw-translate-y:2.5rem}.md\\:focus\\:translate-y-11:focus{--tw-translate-y:2.75rem}.md\\:focus\\:translate-y-12:focus{--tw-translate-y:3rem}.md\\:focus\\:translate-y-14:focus{--tw-translate-y:3.5rem}.md\\:focus\\:translate-y-16:focus{--tw-translate-y:4rem}.md\\:focus\\:translate-y-20:focus{--tw-translate-y:5rem}.md\\:focus\\:translate-y-24:focus{--tw-translate-y:6rem}.md\\:focus\\:translate-y-28:focus{--tw-translate-y:7rem}.md\\:focus\\:translate-y-32:focus{--tw-translate-y:8rem}.md\\:focus\\:translate-y-36:focus{--tw-translate-y:9rem}.md\\:focus\\:translate-y-40:focus{--tw-translate-y:10rem}.md\\:focus\\:translate-y-44:focus{--tw-translate-y:11rem}.md\\:focus\\:translate-y-48:focus{--tw-translate-y:12rem}.md\\:focus\\:translate-y-52:focus{--tw-translate-y:13rem}.md\\:focus\\:translate-y-56:focus{--tw-translate-y:14rem}.md\\:focus\\:translate-y-60:focus{--tw-translate-y:15rem}.md\\:focus\\:translate-y-64:focus{--tw-translate-y:16rem}.md\\:focus\\:translate-y-72:focus{--tw-translate-y:18rem}.md\\:focus\\:translate-y-80:focus{--tw-translate-y:20rem}.md\\:focus\\:translate-y-96:focus{--tw-translate-y:24rem}.md\\:focus\\:translate-y-px:focus{--tw-translate-y:1px}.md\\:focus\\:translate-y-0\\.5:focus{--tw-translate-y:0.125rem}.md\\:focus\\:translate-y-1\\.5:focus{--tw-translate-y:0.375rem}.md\\:focus\\:translate-y-2\\.5:focus{--tw-translate-y:0.625rem}.md\\:focus\\:translate-y-3\\.5:focus{--tw-translate-y:0.875rem}.md\\:focus\\:-translate-y-0:focus{--tw-translate-y:0px}.md\\:focus\\:-translate-y-1:focus{--tw-translate-y:-0.25rem}.md\\:focus\\:-translate-y-2:focus{--tw-translate-y:-0.5rem}.md\\:focus\\:-translate-y-3:focus{--tw-translate-y:-0.75rem}.md\\:focus\\:-translate-y-4:focus{--tw-translate-y:-1rem}.md\\:focus\\:-translate-y-5:focus{--tw-translate-y:-1.25rem}.md\\:focus\\:-translate-y-6:focus{--tw-translate-y:-1.5rem}.md\\:focus\\:-translate-y-7:focus{--tw-translate-y:-1.75rem}.md\\:focus\\:-translate-y-8:focus{--tw-translate-y:-2rem}.md\\:focus\\:-translate-y-9:focus{--tw-translate-y:-2.25rem}.md\\:focus\\:-translate-y-10:focus{--tw-translate-y:-2.5rem}.md\\:focus\\:-translate-y-11:focus{--tw-translate-y:-2.75rem}.md\\:focus\\:-translate-y-12:focus{--tw-translate-y:-3rem}.md\\:focus\\:-translate-y-14:focus{--tw-translate-y:-3.5rem}.md\\:focus\\:-translate-y-16:focus{--tw-translate-y:-4rem}.md\\:focus\\:-translate-y-20:focus{--tw-translate-y:-5rem}.md\\:focus\\:-translate-y-24:focus{--tw-translate-y:-6rem}.md\\:focus\\:-translate-y-28:focus{--tw-translate-y:-7rem}.md\\:focus\\:-translate-y-32:focus{--tw-translate-y:-8rem}.md\\:focus\\:-translate-y-36:focus{--tw-translate-y:-9rem}.md\\:focus\\:-translate-y-40:focus{--tw-translate-y:-10rem}.md\\:focus\\:-translate-y-44:focus{--tw-translate-y:-11rem}.md\\:focus\\:-translate-y-48:focus{--tw-translate-y:-12rem}.md\\:focus\\:-translate-y-52:focus{--tw-translate-y:-13rem}.md\\:focus\\:-translate-y-56:focus{--tw-translate-y:-14rem}.md\\:focus\\:-translate-y-60:focus{--tw-translate-y:-15rem}.md\\:focus\\:-translate-y-64:focus{--tw-translate-y:-16rem}.md\\:focus\\:-translate-y-72:focus{--tw-translate-y:-18rem}.md\\:focus\\:-translate-y-80:focus{--tw-translate-y:-20rem}.md\\:focus\\:-translate-y-96:focus{--tw-translate-y:-24rem}.md\\:focus\\:-translate-y-px:focus{--tw-translate-y:-1px}.md\\:focus\\:-translate-y-0\\.5:focus{--tw-translate-y:-0.125rem}.md\\:focus\\:-translate-y-1\\.5:focus{--tw-translate-y:-0.375rem}.md\\:focus\\:-translate-y-2\\.5:focus{--tw-translate-y:-0.625rem}.md\\:focus\\:-translate-y-3\\.5:focus{--tw-translate-y:-0.875rem}.md\\:focus\\:translate-y-1\\/2:focus{--tw-translate-y:50%}.md\\:focus\\:translate-y-1\\/3:focus{--tw-translate-y:33.333333%}.md\\:focus\\:translate-y-2\\/3:focus{--tw-translate-y:66.666667%}.md\\:focus\\:translate-y-1\\/4:focus{--tw-translate-y:25%}.md\\:focus\\:translate-y-2\\/4:focus{--tw-translate-y:50%}.md\\:focus\\:translate-y-3\\/4:focus{--tw-translate-y:75%}.md\\:focus\\:translate-y-full:focus{--tw-translate-y:100%}.md\\:focus\\:-translate-y-1\\/2:focus{--tw-translate-y:-50%}.md\\:focus\\:-translate-y-1\\/3:focus{--tw-translate-y:-33.333333%}.md\\:focus\\:-translate-y-2\\/3:focus{--tw-translate-y:-66.666667%}.md\\:focus\\:-translate-y-1\\/4:focus{--tw-translate-y:-25%}.md\\:focus\\:-translate-y-2\\/4:focus{--tw-translate-y:-50%}.md\\:focus\\:-translate-y-3\\/4:focus{--tw-translate-y:-75%}.md\\:focus\\:-translate-y-full:focus{--tw-translate-y:-100%}.md\\:rotate-0{--tw-rotate:0deg}.md\\:rotate-1{--tw-rotate:1deg}.md\\:rotate-2{--tw-rotate:2deg}.md\\:rotate-3{--tw-rotate:3deg}.md\\:rotate-6{--tw-rotate:6deg}.md\\:rotate-12{--tw-rotate:12deg}.md\\:rotate-45{--tw-rotate:45deg}.md\\:rotate-90{--tw-rotate:90deg}.md\\:rotate-180{--tw-rotate:180deg}.md\\:-rotate-180{--tw-rotate:-180deg}.md\\:-rotate-90{--tw-rotate:-90deg}.md\\:-rotate-45{--tw-rotate:-45deg}.md\\:-rotate-12{--tw-rotate:-12deg}.md\\:-rotate-6{--tw-rotate:-6deg}.md\\:-rotate-3{--tw-rotate:-3deg}.md\\:-rotate-2{--tw-rotate:-2deg}.md\\:-rotate-1{--tw-rotate:-1deg}.md\\:hover\\:rotate-0:hover{--tw-rotate:0deg}.md\\:hover\\:rotate-1:hover{--tw-rotate:1deg}.md\\:hover\\:rotate-2:hover{--tw-rotate:2deg}.md\\:hover\\:rotate-3:hover{--tw-rotate:3deg}.md\\:hover\\:rotate-6:hover{--tw-rotate:6deg}.md\\:hover\\:rotate-12:hover{--tw-rotate:12deg}.md\\:hover\\:rotate-45:hover{--tw-rotate:45deg}.md\\:hover\\:rotate-90:hover{--tw-rotate:90deg}.md\\:hover\\:rotate-180:hover{--tw-rotate:180deg}.md\\:hover\\:-rotate-180:hover{--tw-rotate:-180deg}.md\\:hover\\:-rotate-90:hover{--tw-rotate:-90deg}.md\\:hover\\:-rotate-45:hover{--tw-rotate:-45deg}.md\\:hover\\:-rotate-12:hover{--tw-rotate:-12deg}.md\\:hover\\:-rotate-6:hover{--tw-rotate:-6deg}.md\\:hover\\:-rotate-3:hover{--tw-rotate:-3deg}.md\\:hover\\:-rotate-2:hover{--tw-rotate:-2deg}.md\\:hover\\:-rotate-1:hover{--tw-rotate:-1deg}.md\\:focus\\:rotate-0:focus{--tw-rotate:0deg}.md\\:focus\\:rotate-1:focus{--tw-rotate:1deg}.md\\:focus\\:rotate-2:focus{--tw-rotate:2deg}.md\\:focus\\:rotate-3:focus{--tw-rotate:3deg}.md\\:focus\\:rotate-6:focus{--tw-rotate:6deg}.md\\:focus\\:rotate-12:focus{--tw-rotate:12deg}.md\\:focus\\:rotate-45:focus{--tw-rotate:45deg}.md\\:focus\\:rotate-90:focus{--tw-rotate:90deg}.md\\:focus\\:rotate-180:focus{--tw-rotate:180deg}.md\\:focus\\:-rotate-180:focus{--tw-rotate:-180deg}.md\\:focus\\:-rotate-90:focus{--tw-rotate:-90deg}.md\\:focus\\:-rotate-45:focus{--tw-rotate:-45deg}.md\\:focus\\:-rotate-12:focus{--tw-rotate:-12deg}.md\\:focus\\:-rotate-6:focus{--tw-rotate:-6deg}.md\\:focus\\:-rotate-3:focus{--tw-rotate:-3deg}.md\\:focus\\:-rotate-2:focus{--tw-rotate:-2deg}.md\\:focus\\:-rotate-1:focus{--tw-rotate:-1deg}.md\\:skew-x-0{--tw-skew-x:0deg}.md\\:skew-x-1{--tw-skew-x:1deg}.md\\:skew-x-2{--tw-skew-x:2deg}.md\\:skew-x-3{--tw-skew-x:3deg}.md\\:skew-x-6{--tw-skew-x:6deg}.md\\:skew-x-12{--tw-skew-x:12deg}.md\\:-skew-x-12{--tw-skew-x:-12deg}.md\\:-skew-x-6{--tw-skew-x:-6deg}.md\\:-skew-x-3{--tw-skew-x:-3deg}.md\\:-skew-x-2{--tw-skew-x:-2deg}.md\\:-skew-x-1{--tw-skew-x:-1deg}.md\\:skew-y-0{--tw-skew-y:0deg}.md\\:skew-y-1{--tw-skew-y:1deg}.md\\:skew-y-2{--tw-skew-y:2deg}.md\\:skew-y-3{--tw-skew-y:3deg}.md\\:skew-y-6{--tw-skew-y:6deg}.md\\:skew-y-12{--tw-skew-y:12deg}.md\\:-skew-y-12{--tw-skew-y:-12deg}.md\\:-skew-y-6{--tw-skew-y:-6deg}.md\\:-skew-y-3{--tw-skew-y:-3deg}.md\\:-skew-y-2{--tw-skew-y:-2deg}.md\\:-skew-y-1{--tw-skew-y:-1deg}.md\\:hover\\:skew-x-0:hover{--tw-skew-x:0deg}.md\\:hover\\:skew-x-1:hover{--tw-skew-x:1deg}.md\\:hover\\:skew-x-2:hover{--tw-skew-x:2deg}.md\\:hover\\:skew-x-3:hover{--tw-skew-x:3deg}.md\\:hover\\:skew-x-6:hover{--tw-skew-x:6deg}.md\\:hover\\:skew-x-12:hover{--tw-skew-x:12deg}.md\\:hover\\:-skew-x-12:hover{--tw-skew-x:-12deg}.md\\:hover\\:-skew-x-6:hover{--tw-skew-x:-6deg}.md\\:hover\\:-skew-x-3:hover{--tw-skew-x:-3deg}.md\\:hover\\:-skew-x-2:hover{--tw-skew-x:-2deg}.md\\:hover\\:-skew-x-1:hover{--tw-skew-x:-1deg}.md\\:hover\\:skew-y-0:hover{--tw-skew-y:0deg}.md\\:hover\\:skew-y-1:hover{--tw-skew-y:1deg}.md\\:hover\\:skew-y-2:hover{--tw-skew-y:2deg}.md\\:hover\\:skew-y-3:hover{--tw-skew-y:3deg}.md\\:hover\\:skew-y-6:hover{--tw-skew-y:6deg}.md\\:hover\\:skew-y-12:hover{--tw-skew-y:12deg}.md\\:hover\\:-skew-y-12:hover{--tw-skew-y:-12deg}.md\\:hover\\:-skew-y-6:hover{--tw-skew-y:-6deg}.md\\:hover\\:-skew-y-3:hover{--tw-skew-y:-3deg}.md\\:hover\\:-skew-y-2:hover{--tw-skew-y:-2deg}.md\\:hover\\:-skew-y-1:hover{--tw-skew-y:-1deg}.md\\:focus\\:skew-x-0:focus{--tw-skew-x:0deg}.md\\:focus\\:skew-x-1:focus{--tw-skew-x:1deg}.md\\:focus\\:skew-x-2:focus{--tw-skew-x:2deg}.md\\:focus\\:skew-x-3:focus{--tw-skew-x:3deg}.md\\:focus\\:skew-x-6:focus{--tw-skew-x:6deg}.md\\:focus\\:skew-x-12:focus{--tw-skew-x:12deg}.md\\:focus\\:-skew-x-12:focus{--tw-skew-x:-12deg}.md\\:focus\\:-skew-x-6:focus{--tw-skew-x:-6deg}.md\\:focus\\:-skew-x-3:focus{--tw-skew-x:-3deg}.md\\:focus\\:-skew-x-2:focus{--tw-skew-x:-2deg}.md\\:focus\\:-skew-x-1:focus{--tw-skew-x:-1deg}.md\\:focus\\:skew-y-0:focus{--tw-skew-y:0deg}.md\\:focus\\:skew-y-1:focus{--tw-skew-y:1deg}.md\\:focus\\:skew-y-2:focus{--tw-skew-y:2deg}.md\\:focus\\:skew-y-3:focus{--tw-skew-y:3deg}.md\\:focus\\:skew-y-6:focus{--tw-skew-y:6deg}.md\\:focus\\:skew-y-12:focus{--tw-skew-y:12deg}.md\\:focus\\:-skew-y-12:focus{--tw-skew-y:-12deg}.md\\:focus\\:-skew-y-6:focus{--tw-skew-y:-6deg}.md\\:focus\\:-skew-y-3:focus{--tw-skew-y:-3deg}.md\\:focus\\:-skew-y-2:focus{--tw-skew-y:-2deg}.md\\:focus\\:-skew-y-1:focus{--tw-skew-y:-1deg}.md\\:scale-0{--tw-scale-x:0;--tw-scale-y:0}.md\\:scale-50{--tw-scale-x:.5;--tw-scale-y:.5}.md\\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75}.md\\:scale-90{--tw-scale-x:.9;--tw-scale-y:.9}.md\\:scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.md\\:scale-100{--tw-scale-x:1;--tw-scale-y:1}.md\\:scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05}.md\\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1}.md\\:scale-125{--tw-scale-x:1.25;--tw-scale-y:1.25}.md\\:scale-150{--tw-scale-x:1.5;--tw-scale-y:1.5}.md\\:hover\\:scale-0:hover{--tw-scale-x:0;--tw-scale-y:0}.md\\:hover\\:scale-50:hover{--tw-scale-x:.5;--tw-scale-y:.5}.md\\:hover\\:scale-75:hover{--tw-scale-x:.75;--tw-scale-y:.75}.md\\:hover\\:scale-90:hover{--tw-scale-x:.9;--tw-scale-y:.9}.md\\:hover\\:scale-95:hover{--tw-scale-x:.95;--tw-scale-y:.95}.md\\:hover\\:scale-100:hover{--tw-scale-x:1;--tw-scale-y:1}.md\\:hover\\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.md\\:hover\\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.md\\:hover\\:scale-125:hover{--tw-scale-x:1.25;--tw-scale-y:1.25}.md\\:hover\\:scale-150:hover{--tw-scale-x:1.5;--tw-scale-y:1.5}.md\\:focus\\:scale-0:focus{--tw-scale-x:0;--tw-scale-y:0}.md\\:focus\\:scale-50:focus{--tw-scale-x:.5;--tw-scale-y:.5}.md\\:focus\\:scale-75:focus{--tw-scale-x:.75;--tw-scale-y:.75}.md\\:focus\\:scale-90:focus{--tw-scale-x:.9;--tw-scale-y:.9}.md\\:focus\\:scale-95:focus{--tw-scale-x:.95;--tw-scale-y:.95}.md\\:focus\\:scale-100:focus{--tw-scale-x:1;--tw-scale-y:1}.md\\:focus\\:scale-105:focus{--tw-scale-x:1.05;--tw-scale-y:1.05}.md\\:focus\\:scale-110:focus{--tw-scale-x:1.1;--tw-scale-y:1.1}.md\\:focus\\:scale-125:focus{--tw-scale-x:1.25;--tw-scale-y:1.25}.md\\:focus\\:scale-150:focus{--tw-scale-x:1.5;--tw-scale-y:1.5}.md\\:scale-x-0{--tw-scale-x:0}.md\\:scale-x-50{--tw-scale-x:.5}.md\\:scale-x-75{--tw-scale-x:.75}.md\\:scale-x-90{--tw-scale-x:.9}.md\\:scale-x-95{--tw-scale-x:.95}.md\\:scale-x-100{--tw-scale-x:1}.md\\:scale-x-105{--tw-scale-x:1.05}.md\\:scale-x-110{--tw-scale-x:1.1}.md\\:scale-x-125{--tw-scale-x:1.25}.md\\:scale-x-150{--tw-scale-x:1.5}.md\\:scale-y-0{--tw-scale-y:0}.md\\:scale-y-50{--tw-scale-y:.5}.md\\:scale-y-75{--tw-scale-y:.75}.md\\:scale-y-90{--tw-scale-y:.9}.md\\:scale-y-95{--tw-scale-y:.95}.md\\:scale-y-100{--tw-scale-y:1}.md\\:scale-y-105{--tw-scale-y:1.05}.md\\:scale-y-110{--tw-scale-y:1.1}.md\\:scale-y-125{--tw-scale-y:1.25}.md\\:scale-y-150{--tw-scale-y:1.5}.md\\:hover\\:scale-x-0:hover{--tw-scale-x:0}.md\\:hover\\:scale-x-50:hover{--tw-scale-x:.5}.md\\:hover\\:scale-x-75:hover{--tw-scale-x:.75}.md\\:hover\\:scale-x-90:hover{--tw-scale-x:.9}.md\\:hover\\:scale-x-95:hover{--tw-scale-x:.95}.md\\:hover\\:scale-x-100:hover{--tw-scale-x:1}.md\\:hover\\:scale-x-105:hover{--tw-scale-x:1.05}.md\\:hover\\:scale-x-110:hover{--tw-scale-x:1.1}.md\\:hover\\:scale-x-125:hover{--tw-scale-x:1.25}.md\\:hover\\:scale-x-150:hover{--tw-scale-x:1.5}.md\\:hover\\:scale-y-0:hover{--tw-scale-y:0}.md\\:hover\\:scale-y-50:hover{--tw-scale-y:.5}.md\\:hover\\:scale-y-75:hover{--tw-scale-y:.75}.md\\:hover\\:scale-y-90:hover{--tw-scale-y:.9}.md\\:hover\\:scale-y-95:hover{--tw-scale-y:.95}.md\\:hover\\:scale-y-100:hover{--tw-scale-y:1}.md\\:hover\\:scale-y-105:hover{--tw-scale-y:1.05}.md\\:hover\\:scale-y-110:hover{--tw-scale-y:1.1}.md\\:hover\\:scale-y-125:hover{--tw-scale-y:1.25}.md\\:hover\\:scale-y-150:hover{--tw-scale-y:1.5}.md\\:focus\\:scale-x-0:focus{--tw-scale-x:0}.md\\:focus\\:scale-x-50:focus{--tw-scale-x:.5}.md\\:focus\\:scale-x-75:focus{--tw-scale-x:.75}.md\\:focus\\:scale-x-90:focus{--tw-scale-x:.9}.md\\:focus\\:scale-x-95:focus{--tw-scale-x:.95}.md\\:focus\\:scale-x-100:focus{--tw-scale-x:1}.md\\:focus\\:scale-x-105:focus{--tw-scale-x:1.05}.md\\:focus\\:scale-x-110:focus{--tw-scale-x:1.1}.md\\:focus\\:scale-x-125:focus{--tw-scale-x:1.25}.md\\:focus\\:scale-x-150:focus{--tw-scale-x:1.5}.md\\:focus\\:scale-y-0:focus{--tw-scale-y:0}.md\\:focus\\:scale-y-50:focus{--tw-scale-y:.5}.md\\:focus\\:scale-y-75:focus{--tw-scale-y:.75}.md\\:focus\\:scale-y-90:focus{--tw-scale-y:.9}.md\\:focus\\:scale-y-95:focus{--tw-scale-y:.95}.md\\:focus\\:scale-y-100:focus{--tw-scale-y:1}.md\\:focus\\:scale-y-105:focus{--tw-scale-y:1.05}.md\\:focus\\:scale-y-110:focus{--tw-scale-y:1.1}.md\\:focus\\:scale-y-125:focus{--tw-scale-y:1.25}.md\\:focus\\:scale-y-150:focus{--tw-scale-y:1.5}.md\\:animate-none{animation:none}.md\\:animate-spin{animation:spin 1s linear infinite}.md\\:animate-ping{animation:ping 1s cubic-bezier(0, 0, 0.2, 1) infinite}.md\\:animate-pulse{animation:pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite}.md\\:animate-bounce{animation:bounce 1s infinite}.md\\:cursor-auto{cursor:auto}.md\\:cursor-default{cursor:default}.md\\:cursor-pointer{cursor:pointer}.md\\:cursor-wait{cursor:wait}.md\\:cursor-text{cursor:text}.md\\:cursor-move{cursor:move}.md\\:cursor-help{cursor:help}.md\\:cursor-not-allowed{cursor:not-allowed}.md\\:select-none{-webkit-user-select:none;user-select:none}.md\\:select-text{-webkit-user-select:text;user-select:text}.md\\:select-all{-webkit-user-select:all;user-select:all}.md\\:select-auto{-webkit-user-select:auto;user-select:auto}.md\\:resize-none{resize:none}.md\\:resize-y{resize:vertical}.md\\:resize-x{resize:horizontal}.md\\:resize{resize:both}.md\\:list-inside{list-style-position:inside}.md\\:list-outside{list-style-position:outside}.md\\:list-none{list-style-type:none}.md\\:list-disc{list-style-type:disc}.md\\:list-decimal{list-style-type:decimal}.md\\:appearance-none{appearance:none}.md\\:auto-cols-auto{grid-auto-columns:auto}.md\\:auto-cols-min{grid-auto-columns:min-content}.md\\:auto-cols-max{grid-auto-columns:max-content}.md\\:auto-cols-fr{grid-auto-columns:minmax(0, 1fr)}.md\\:grid-flow-row{grid-auto-flow:row}.md\\:grid-flow-col{grid-auto-flow:column}.md\\:grid-flow-row-dense{grid-auto-flow:row dense}.md\\:grid-flow-col-dense{grid-auto-flow:column dense}.md\\:auto-rows-auto{grid-auto-rows:auto}.md\\:auto-rows-min{grid-auto-rows:min-content}.md\\:auto-rows-max{grid-auto-rows:max-content}.md\\:auto-rows-fr{grid-auto-rows:minmax(0, 1fr)}.md\\:grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}.md\\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.md\\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.md\\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}.md\\:grid-cols-5{grid-template-columns:repeat(5, minmax(0, 1fr))}.md\\:grid-cols-6{grid-template-columns:repeat(6, minmax(0, 1fr))}.md\\:grid-cols-7{grid-template-columns:repeat(7, minmax(0, 1fr))}.md\\:grid-cols-8{grid-template-columns:repeat(8, minmax(0, 1fr))}.md\\:grid-cols-9{grid-template-columns:repeat(9, minmax(0, 1fr))}.md\\:grid-cols-10{grid-template-columns:repeat(10, minmax(0, 1fr))}.md\\:grid-cols-11{grid-template-columns:repeat(11, minmax(0, 1fr))}.md\\:grid-cols-12{grid-template-columns:repeat(12, minmax(0, 1fr))}.md\\:grid-cols-none{grid-template-columns:none}.md\\:grid-rows-1{grid-template-rows:repeat(1, minmax(0, 1fr))}.md\\:grid-rows-2{grid-template-rows:repeat(2, minmax(0, 1fr))}.md\\:grid-rows-3{grid-template-rows:repeat(3, minmax(0, 1fr))}.md\\:grid-rows-4{grid-template-rows:repeat(4, minmax(0, 1fr))}.md\\:grid-rows-5{grid-template-rows:repeat(5, minmax(0, 1fr))}.md\\:grid-rows-6{grid-template-rows:repeat(6, minmax(0, 1fr))}.md\\:grid-rows-none{grid-template-rows:none}.md\\:flex-row{flex-direction:row}.md\\:flex-row-reverse{flex-direction:row-reverse}.md\\:flex-col{flex-direction:column}.md\\:flex-col-reverse{flex-direction:column-reverse}.md\\:flex-wrap{flex-wrap:wrap}.md\\:flex-wrap-reverse{flex-wrap:wrap-reverse}.md\\:flex-nowrap{flex-wrap:nowrap}.md\\:place-content-center{place-content:center}.md\\:place-content-start{place-content:start}.md\\:place-content-end{place-content:end}.md\\:place-content-between{place-content:space-between}.md\\:place-content-around{place-content:space-around}.md\\:place-content-evenly{place-content:space-evenly}.md\\:place-content-stretch{place-content:stretch}.md\\:place-items-start{place-items:start}.md\\:place-items-end{place-items:end}.md\\:place-items-center{place-items:center}.md\\:place-items-stretch{place-items:stretch}.md\\:content-center{align-content:center}.md\\:content-start{align-content:flex-start}.md\\:content-end{align-content:flex-end}.md\\:content-between{align-content:space-between}.md\\:content-around{align-content:space-around}.md\\:content-evenly{align-content:space-evenly}.md\\:items-start{align-items:flex-start}.md\\:items-end{align-items:flex-end}.md\\:items-center{align-items:center}.md\\:items-baseline{align-items:baseline}.md\\:items-stretch{align-items:stretch}.md\\:justify-start{justify-content:flex-start}.md\\:justify-end{justify-content:flex-end}.md\\:justify-center{justify-content:center}.md\\:justify-between{justify-content:space-between}.md\\:justify-around{justify-content:space-around}.md\\:justify-evenly{justify-content:space-evenly}.md\\:justify-items-start{justify-items:start}.md\\:justify-items-end{justify-items:end}.md\\:justify-items-center{justify-items:center}.md\\:justify-items-stretch{justify-items:stretch}.md\\:gap-0{gap:0px}.md\\:gap-1{gap:0.25rem}.md\\:gap-2{gap:0.5rem}.md\\:gap-3{gap:0.75rem}.md\\:gap-4{gap:1rem}.md\\:gap-5{gap:1.25rem}.md\\:gap-6{gap:1.5rem}.md\\:gap-7{gap:1.75rem}.md\\:gap-8{gap:2rem}.md\\:gap-9{gap:2.25rem}.md\\:gap-10{gap:2.5rem}.md\\:gap-11{gap:2.75rem}.md\\:gap-12{gap:3rem}.md\\:gap-14{gap:3.5rem}.md\\:gap-16{gap:4rem}.md\\:gap-20{gap:5rem}.md\\:gap-24{gap:6rem}.md\\:gap-28{gap:7rem}.md\\:gap-32{gap:8rem}.md\\:gap-36{gap:9rem}.md\\:gap-40{gap:10rem}.md\\:gap-44{gap:11rem}.md\\:gap-48{gap:12rem}.md\\:gap-52{gap:13rem}.md\\:gap-56{gap:14rem}.md\\:gap-60{gap:15rem}.md\\:gap-64{gap:16rem}.md\\:gap-72{gap:18rem}.md\\:gap-80{gap:20rem}.md\\:gap-96{gap:24rem}.md\\:gap-px{gap:1px}.md\\:gap-0\\.5{gap:0.125rem}.md\\:gap-1\\.5{gap:0.375rem}.md\\:gap-2\\.5{gap:0.625rem}.md\\:gap-3\\.5{gap:0.875rem}.md\\:gap-x-0{column-gap:0px}.md\\:gap-x-1{column-gap:0.25rem}.md\\:gap-x-2{column-gap:0.5rem}.md\\:gap-x-3{column-gap:0.75rem}.md\\:gap-x-4{column-gap:1rem}.md\\:gap-x-5{column-gap:1.25rem}.md\\:gap-x-6{column-gap:1.5rem}.md\\:gap-x-7{column-gap:1.75rem}.md\\:gap-x-8{column-gap:2rem}.md\\:gap-x-9{column-gap:2.25rem}.md\\:gap-x-10{column-gap:2.5rem}.md\\:gap-x-11{column-gap:2.75rem}.md\\:gap-x-12{column-gap:3rem}.md\\:gap-x-14{column-gap:3.5rem}.md\\:gap-x-16{column-gap:4rem}.md\\:gap-x-20{column-gap:5rem}.md\\:gap-x-24{column-gap:6rem}.md\\:gap-x-28{column-gap:7rem}.md\\:gap-x-32{column-gap:8rem}.md\\:gap-x-36{column-gap:9rem}.md\\:gap-x-40{column-gap:10rem}.md\\:gap-x-44{column-gap:11rem}.md\\:gap-x-48{column-gap:12rem}.md\\:gap-x-52{column-gap:13rem}.md\\:gap-x-56{column-gap:14rem}.md\\:gap-x-60{column-gap:15rem}.md\\:gap-x-64{column-gap:16rem}.md\\:gap-x-72{column-gap:18rem}.md\\:gap-x-80{column-gap:20rem}.md\\:gap-x-96{column-gap:24rem}.md\\:gap-x-px{column-gap:1px}.md\\:gap-x-0\\.5{column-gap:0.125rem}.md\\:gap-x-1\\.5{column-gap:0.375rem}.md\\:gap-x-2\\.5{column-gap:0.625rem}.md\\:gap-x-3\\.5{column-gap:0.875rem}.md\\:gap-y-0{row-gap:0px}.md\\:gap-y-1{row-gap:0.25rem}.md\\:gap-y-2{row-gap:0.5rem}.md\\:gap-y-3{row-gap:0.75rem}.md\\:gap-y-4{row-gap:1rem}.md\\:gap-y-5{row-gap:1.25rem}.md\\:gap-y-6{row-gap:1.5rem}.md\\:gap-y-7{row-gap:1.75rem}.md\\:gap-y-8{row-gap:2rem}.md\\:gap-y-9{row-gap:2.25rem}.md\\:gap-y-10{row-gap:2.5rem}.md\\:gap-y-11{row-gap:2.75rem}.md\\:gap-y-12{row-gap:3rem}.md\\:gap-y-14{row-gap:3.5rem}.md\\:gap-y-16{row-gap:4rem}.md\\:gap-y-20{row-gap:5rem}.md\\:gap-y-24{row-gap:6rem}.md\\:gap-y-28{row-gap:7rem}.md\\:gap-y-32{row-gap:8rem}.md\\:gap-y-36{row-gap:9rem}.md\\:gap-y-40{row-gap:10rem}.md\\:gap-y-44{row-gap:11rem}.md\\:gap-y-48{row-gap:12rem}.md\\:gap-y-52{row-gap:13rem}.md\\:gap-y-56{row-gap:14rem}.md\\:gap-y-60{row-gap:15rem}.md\\:gap-y-64{row-gap:16rem}.md\\:gap-y-72{row-gap:18rem}.md\\:gap-y-80{row-gap:20rem}.md\\:gap-y-96{row-gap:24rem}.md\\:gap-y-px{row-gap:1px}.md\\:gap-y-0\\.5{row-gap:0.125rem}.md\\:gap-y-1\\.5{row-gap:0.375rem}.md\\:gap-y-2\\.5{row-gap:0.625rem}.md\\:gap-y-3\\.5{row-gap:0.875rem}.md\\:space-x-0>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0px * var(--tw-space-x-reverse));margin-left:calc(0px * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.25rem * var(--tw-space-x-reverse));margin-left:calc(0.25rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.5rem * var(--tw-space-x-reverse));margin-left:calc(0.5rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.75rem * var(--tw-space-x-reverse));margin-left:calc(0.75rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.25rem * var(--tw-space-x-reverse));margin-left:calc(1.25rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.5rem * var(--tw-space-x-reverse));margin-left:calc(1.5rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-7>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.75rem * var(--tw-space-x-reverse));margin-left:calc(1.75rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2rem * var(--tw-space-x-reverse));margin-left:calc(2rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-9>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2.25rem * var(--tw-space-x-reverse));margin-left:calc(2.25rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-10>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2.5rem * var(--tw-space-x-reverse));margin-left:calc(2.5rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-11>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2.75rem * var(--tw-space-x-reverse));margin-left:calc(2.75rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-12>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(3rem * var(--tw-space-x-reverse));margin-left:calc(3rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-14>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(3.5rem * var(--tw-space-x-reverse));margin-left:calc(3.5rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-16>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(4rem * var(--tw-space-x-reverse));margin-left:calc(4rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-20>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(5rem * var(--tw-space-x-reverse));margin-left:calc(5rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-24>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(6rem * var(--tw-space-x-reverse));margin-left:calc(6rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-28>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(7rem * var(--tw-space-x-reverse));margin-left:calc(7rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-32>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(8rem * var(--tw-space-x-reverse));margin-left:calc(8rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-36>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(9rem * var(--tw-space-x-reverse));margin-left:calc(9rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-40>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(10rem * var(--tw-space-x-reverse));margin-left:calc(10rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-44>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(11rem * var(--tw-space-x-reverse));margin-left:calc(11rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-48>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(12rem * var(--tw-space-x-reverse));margin-left:calc(12rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-52>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(13rem * var(--tw-space-x-reverse));margin-left:calc(13rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-56>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(14rem * var(--tw-space-x-reverse));margin-left:calc(14rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-60>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(15rem * var(--tw-space-x-reverse));margin-left:calc(15rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-64>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(16rem * var(--tw-space-x-reverse));margin-left:calc(16rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-72>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(18rem * var(--tw-space-x-reverse));margin-left:calc(18rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-80>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(20rem * var(--tw-space-x-reverse));margin-left:calc(20rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-96>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(24rem * var(--tw-space-x-reverse));margin-left:calc(24rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1px * var(--tw-space-x-reverse));margin-left:calc(1px * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-0\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.125rem * var(--tw-space-x-reverse));margin-left:calc(0.125rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-1\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.375rem * var(--tw-space-x-reverse));margin-left:calc(0.375rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-2\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.625rem * var(--tw-space-x-reverse));margin-left:calc(0.625rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-x-3\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.875rem * var(--tw-space-x-reverse));margin-left:calc(0.875rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-0>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0px * var(--tw-space-x-reverse));margin-left:calc(0px * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.25rem * var(--tw-space-x-reverse));margin-left:calc(-0.25rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.5rem * var(--tw-space-x-reverse));margin-left:calc(-0.5rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.75rem * var(--tw-space-x-reverse));margin-left:calc(-0.75rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1rem * var(--tw-space-x-reverse));margin-left:calc(-1rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1.25rem * var(--tw-space-x-reverse));margin-left:calc(-1.25rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1.5rem * var(--tw-space-x-reverse));margin-left:calc(-1.5rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-7>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1.75rem * var(--tw-space-x-reverse));margin-left:calc(-1.75rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2rem * var(--tw-space-x-reverse));margin-left:calc(-2rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-9>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2.25rem * var(--tw-space-x-reverse));margin-left:calc(-2.25rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-10>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2.5rem * var(--tw-space-x-reverse));margin-left:calc(-2.5rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-11>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2.75rem * var(--tw-space-x-reverse));margin-left:calc(-2.75rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-12>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-3rem * var(--tw-space-x-reverse));margin-left:calc(-3rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-14>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-3.5rem * var(--tw-space-x-reverse));margin-left:calc(-3.5rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-16>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-4rem * var(--tw-space-x-reverse));margin-left:calc(-4rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-20>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-5rem * var(--tw-space-x-reverse));margin-left:calc(-5rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-24>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-6rem * var(--tw-space-x-reverse));margin-left:calc(-6rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-28>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-7rem * var(--tw-space-x-reverse));margin-left:calc(-7rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-32>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-8rem * var(--tw-space-x-reverse));margin-left:calc(-8rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-36>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-9rem * var(--tw-space-x-reverse));margin-left:calc(-9rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-40>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-10rem * var(--tw-space-x-reverse));margin-left:calc(-10rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-44>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-11rem * var(--tw-space-x-reverse));margin-left:calc(-11rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-48>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-12rem * var(--tw-space-x-reverse));margin-left:calc(-12rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-52>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-13rem * var(--tw-space-x-reverse));margin-left:calc(-13rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-56>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-14rem * var(--tw-space-x-reverse));margin-left:calc(-14rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-60>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-15rem * var(--tw-space-x-reverse));margin-left:calc(-15rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-64>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-16rem * var(--tw-space-x-reverse));margin-left:calc(-16rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-72>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-18rem * var(--tw-space-x-reverse));margin-left:calc(-18rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-80>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-20rem * var(--tw-space-x-reverse));margin-left:calc(-20rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-96>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-24rem * var(--tw-space-x-reverse));margin-left:calc(-24rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1px * var(--tw-space-x-reverse));margin-left:calc(-1px * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-0\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.125rem * var(--tw-space-x-reverse));margin-left:calc(-0.125rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-1\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.375rem * var(--tw-space-x-reverse));margin-left:calc(-0.375rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-2\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.625rem * var(--tw-space-x-reverse));margin-left:calc(-0.625rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:-space-x-3\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.875rem * var(--tw-space-x-reverse));margin-left:calc(-0.875rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.md\\:space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.25rem * var(--tw-space-y-reverse))}.md\\:space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.5rem * var(--tw-space-y-reverse))}.md\\:space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.75rem * var(--tw-space-y-reverse))}.md\\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.md\\:space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.md\\:space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.md\\:space-y-7>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.75rem * var(--tw-space-y-reverse))}.md\\:space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.md\\:space-y-9>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.25rem * var(--tw-space-y-reverse))}.md\\:space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.5rem * var(--tw-space-y-reverse))}.md\\:space-y-11>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.75rem * var(--tw-space-y-reverse))}.md\\:space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3rem * var(--tw-space-y-reverse))}.md\\:space-y-14>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(3.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3.5rem * var(--tw-space-y-reverse))}.md\\:space-y-16>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(4rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(4rem * var(--tw-space-y-reverse))}.md\\:space-y-20>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(5rem * var(--tw-space-y-reverse))}.md\\:space-y-24>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(6rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(6rem * var(--tw-space-y-reverse))}.md\\:space-y-28>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(7rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(7rem * var(--tw-space-y-reverse))}.md\\:space-y-32>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(8rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(8rem * var(--tw-space-y-reverse))}.md\\:space-y-36>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(9rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(9rem * var(--tw-space-y-reverse))}.md\\:space-y-40>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(10rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(10rem * var(--tw-space-y-reverse))}.md\\:space-y-44>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(11rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(11rem * var(--tw-space-y-reverse))}.md\\:space-y-48>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(12rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(12rem * var(--tw-space-y-reverse))}.md\\:space-y-52>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(13rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(13rem * var(--tw-space-y-reverse))}.md\\:space-y-56>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(14rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(14rem * var(--tw-space-y-reverse))}.md\\:space-y-60>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(15rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(15rem * var(--tw-space-y-reverse))}.md\\:space-y-64>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(16rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(16rem * var(--tw-space-y-reverse))}.md\\:space-y-72>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(18rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(18rem * var(--tw-space-y-reverse))}.md\\:space-y-80>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(20rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(20rem * var(--tw-space-y-reverse))}.md\\:space-y-96>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(24rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(24rem * var(--tw-space-y-reverse))}.md\\:space-y-px>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1px * var(--tw-space-y-reverse))}.md\\:space-y-0\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.125rem * var(--tw-space-y-reverse))}.md\\:space-y-1\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.375rem * var(--tw-space-y-reverse))}.md\\:space-y-2\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.625rem * var(--tw-space-y-reverse))}.md\\:space-y-3\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.875rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.875rem * var(--tw-space-y-reverse))}.md\\:-space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.md\\:-space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.25rem * var(--tw-space-y-reverse))}.md\\:-space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.5rem * var(--tw-space-y-reverse))}.md\\:-space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.75rem * var(--tw-space-y-reverse))}.md\\:-space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1rem * var(--tw-space-y-reverse))}.md\\:-space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1.25rem * var(--tw-space-y-reverse))}.md\\:-space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1.5rem * var(--tw-space-y-reverse))}.md\\:-space-y-7>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1.75rem * var(--tw-space-y-reverse))}.md\\:-space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2rem * var(--tw-space-y-reverse))}.md\\:-space-y-9>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2.25rem * var(--tw-space-y-reverse))}.md\\:-space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2.5rem * var(--tw-space-y-reverse))}.md\\:-space-y-11>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2.75rem * var(--tw-space-y-reverse))}.md\\:-space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-3rem * var(--tw-space-y-reverse))}.md\\:-space-y-14>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-3.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-3.5rem * var(--tw-space-y-reverse))}.md\\:-space-y-16>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-4rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-4rem * var(--tw-space-y-reverse))}.md\\:-space-y-20>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-5rem * var(--tw-space-y-reverse))}.md\\:-space-y-24>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-6rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-6rem * var(--tw-space-y-reverse))}.md\\:-space-y-28>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-7rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-7rem * var(--tw-space-y-reverse))}.md\\:-space-y-32>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-8rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-8rem * var(--tw-space-y-reverse))}.md\\:-space-y-36>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-9rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-9rem * var(--tw-space-y-reverse))}.md\\:-space-y-40>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-10rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-10rem * var(--tw-space-y-reverse))}.md\\:-space-y-44>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-11rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-11rem * var(--tw-space-y-reverse))}.md\\:-space-y-48>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-12rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-12rem * var(--tw-space-y-reverse))}.md\\:-space-y-52>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-13rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-13rem * var(--tw-space-y-reverse))}.md\\:-space-y-56>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-14rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-14rem * var(--tw-space-y-reverse))}.md\\:-space-y-60>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-15rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-15rem * var(--tw-space-y-reverse))}.md\\:-space-y-64>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-16rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-16rem * var(--tw-space-y-reverse))}.md\\:-space-y-72>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-18rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-18rem * var(--tw-space-y-reverse))}.md\\:-space-y-80>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-20rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-20rem * var(--tw-space-y-reverse))}.md\\:-space-y-96>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-24rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-24rem * var(--tw-space-y-reverse))}.md\\:-space-y-px>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1px * var(--tw-space-y-reverse))}.md\\:-space-y-0\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.125rem * var(--tw-space-y-reverse))}.md\\:-space-y-1\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.375rem * var(--tw-space-y-reverse))}.md\\:-space-y-2\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.625rem * var(--tw-space-y-reverse))}.md\\:-space-y-3\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.875rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.875rem * var(--tw-space-y-reverse))}.md\\:space-y-reverse>:not([hidden])~:not([hidden]){--tw-space-y-reverse:1}.md\\:space-x-reverse>:not([hidden])~:not([hidden]){--tw-space-x-reverse:1}.md\\:divide-x-0>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(0px * var(--tw-divide-x-reverse));border-left-width:calc(0px * calc(1 - var(--tw-divide-x-reverse)))}.md\\:divide-x-2>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(2px * var(--tw-divide-x-reverse));border-left-width:calc(2px * calc(1 - var(--tw-divide-x-reverse)))}.md\\:divide-x-4>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(4px * var(--tw-divide-x-reverse));border-left-width:calc(4px * calc(1 - var(--tw-divide-x-reverse)))}.md\\:divide-x-8>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(8px * var(--tw-divide-x-reverse));border-left-width:calc(8px * calc(1 - var(--tw-divide-x-reverse)))}.md\\:divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(1px * var(--tw-divide-x-reverse));border-left-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}.md\\:divide-y-0>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(0px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(0px * var(--tw-divide-y-reverse))}.md\\:divide-y-2>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(2px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(2px * var(--tw-divide-y-reverse))}.md\\:divide-y-4>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(4px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(4px * var(--tw-divide-y-reverse))}.md\\:divide-y-8>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(8px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(8px * var(--tw-divide-y-reverse))}.md\\:divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.md\\:divide-y-reverse>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:1}.md\\:divide-x-reverse>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:1}.md\\:divide-solid>:not([hidden])~:not([hidden]){border-style:solid}.md\\:divide-dashed>:not([hidden])~:not([hidden]){border-style:dashed}.md\\:divide-dotted>:not([hidden])~:not([hidden]){border-style:dotted}.md\\:divide-double>:not([hidden])~:not([hidden]){border-style:double}.md\\:divide-none>:not([hidden])~:not([hidden]){border-style:none}.md\\:divide-transparent>:not([hidden])~:not([hidden]){border-color:transparent}.md\\:divide-current>:not([hidden])~:not([hidden]){border-color:currentColor}.md\\:divide-white>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.md\\:divide-lightgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(247, 247, 247, var(--tw-divide-opacity))}.md\\:divide-midgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.md\\:divide-darkgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(127, 127, 127, var(--tw-divide-opacity))}.md\\:divide-grey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(30, 30, 30, var(--tw-divide-opacity))}.md\\:divide-black>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(15, 15, 15, var(--tw-divide-opacity))}.md\\:divide-highlight>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 113, 227, var(--tw-divide-opacity))}.md\\:divide-highlight_hover>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 119, 237, var(--tw-divide-opacity))}.md\\:divide-button_outline>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.md\\:divide-error>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 69, 58, var(--tw-divide-opacity))}.md\\:divide-text-light>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(15, 15, 15, var(--tw-divide-opacity))}.md\\:divide-text-dimmed>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.md\\:divide-text-dark>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.md\\:divide-body-light>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.md\\:divide-body-dark>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(30, 30, 30, var(--tw-divide-opacity))}.md\\:divide-button>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 113, 227, var(--tw-divide-opacity))}.md\\:divide-button_hover>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 119, 237, var(--tw-divide-opacity))}@media(prefers-color-scheme: dark){.md\\:dark\\:divide-transparent>:not([hidden])~:not([hidden]){border-color:transparent}.md\\:dark\\:divide-current>:not([hidden])~:not([hidden]){border-color:currentColor}.md\\:dark\\:divide-white>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.md\\:dark\\:divide-lightgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(247, 247, 247, var(--tw-divide-opacity))}.md\\:dark\\:divide-midgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.md\\:dark\\:divide-darkgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(127, 127, 127, var(--tw-divide-opacity))}.md\\:dark\\:divide-grey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(30, 30, 30, var(--tw-divide-opacity))}.md\\:dark\\:divide-black>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(15, 15, 15, var(--tw-divide-opacity))}.md\\:dark\\:divide-highlight>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 113, 227, var(--tw-divide-opacity))}.md\\:dark\\:divide-highlight_hover>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 119, 237, var(--tw-divide-opacity))}.md\\:dark\\:divide-button_outline>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.md\\:dark\\:divide-error>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 69, 58, var(--tw-divide-opacity))}.md\\:dark\\:divide-text-light>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(15, 15, 15, var(--tw-divide-opacity))}.md\\:dark\\:divide-text-dimmed>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.md\\:dark\\:divide-text-dark>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.md\\:dark\\:divide-body-light>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.md\\:dark\\:divide-body-dark>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(30, 30, 30, var(--tw-divide-opacity))}.md\\:dark\\:divide-button>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 113, 227, var(--tw-divide-opacity))}.md\\:dark\\:divide-button_hover>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 119, 237, var(--tw-divide-opacity))}}.md\\:divide-opacity-0>:not([hidden])~:not([hidden]){--tw-divide-opacity:0}.md\\:divide-opacity-5>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.05}.md\\:divide-opacity-10>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.1}.md\\:divide-opacity-20>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.2}.md\\:divide-opacity-25>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.25}.md\\:divide-opacity-30>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.3}.md\\:divide-opacity-40>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.4}.md\\:divide-opacity-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.5}.md\\:divide-opacity-60>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.6}.md\\:divide-opacity-70>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.7}.md\\:divide-opacity-75>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.75}.md\\:divide-opacity-80>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.8}.md\\:divide-opacity-90>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.9}.md\\:divide-opacity-95>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.95}.md\\:divide-opacity-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1}@media(prefers-color-scheme: dark){.md\\:dark\\:divide-opacity-0>:not([hidden])~:not([hidden]){--tw-divide-opacity:0}.md\\:dark\\:divide-opacity-5>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.05}.md\\:dark\\:divide-opacity-10>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.1}.md\\:dark\\:divide-opacity-20>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.2}.md\\:dark\\:divide-opacity-25>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.25}.md\\:dark\\:divide-opacity-30>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.3}.md\\:dark\\:divide-opacity-40>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.4}.md\\:dark\\:divide-opacity-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.5}.md\\:dark\\:divide-opacity-60>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.6}.md\\:dark\\:divide-opacity-70>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.7}.md\\:dark\\:divide-opacity-75>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.75}.md\\:dark\\:divide-opacity-80>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.8}.md\\:dark\\:divide-opacity-90>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.9}.md\\:dark\\:divide-opacity-95>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.95}.md\\:dark\\:divide-opacity-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1}}.md\\:place-self-auto{place-self:auto}.md\\:place-self-start{place-self:start}.md\\:place-self-end{place-self:end}.md\\:place-self-center{place-self:center}.md\\:place-self-stretch{place-self:stretch}.md\\:self-auto{align-self:auto}.md\\:self-start{align-self:flex-start}.md\\:self-end{align-self:flex-end}.md\\:self-center{align-self:center}.md\\:self-stretch{align-self:stretch}.md\\:self-baseline{align-self:baseline}.md\\:justify-self-auto{justify-self:auto}.md\\:justify-self-start{justify-self:start}.md\\:justify-self-end{justify-self:end}.md\\:justify-self-center{justify-self:center}.md\\:justify-self-stretch{justify-self:stretch}.md\\:overflow-auto{overflow:auto}.md\\:overflow-hidden{overflow:hidden}.md\\:overflow-visible{overflow:visible}.md\\:overflow-scroll{overflow:scroll}.md\\:overflow-x-auto{overflow-x:auto}.md\\:overflow-y-auto{overflow-y:auto}.md\\:overflow-x-hidden{overflow-x:hidden}.md\\:overflow-y-hidden{overflow-y:hidden}.md\\:overflow-x-visible{overflow-x:visible}.md\\:overflow-y-visible{overflow-y:visible}.md\\:overflow-x-scroll{overflow-x:scroll}.md\\:overflow-y-scroll{overflow-y:scroll}.md\\:overscroll-auto{overscroll-behavior:auto}.md\\:overscroll-contain{overscroll-behavior:contain}.md\\:overscroll-none{overscroll-behavior:none}.md\\:overscroll-y-auto{overscroll-behavior-y:auto}.md\\:overscroll-y-contain{overscroll-behavior-y:contain}.md\\:overscroll-y-none{overscroll-behavior-y:none}.md\\:overscroll-x-auto{overscroll-behavior-x:auto}.md\\:overscroll-x-contain{overscroll-behavior-x:contain}.md\\:overscroll-x-none{overscroll-behavior-x:none}.md\\:truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.md\\:overflow-ellipsis{text-overflow:ellipsis}.md\\:overflow-clip{text-overflow:clip}.md\\:whitespace-normal{white-space:normal}.md\\:whitespace-nowrap{white-space:nowrap}.md\\:whitespace-pre{white-space:pre}.md\\:whitespace-pre-line{white-space:pre-line}.md\\:whitespace-pre-wrap{white-space:pre-wrap}.md\\:break-normal{overflow-wrap:normal;word-break:normal}.md\\:break-words{overflow-wrap:break-word}.md\\:break-all{word-break:break-all}.md\\:rounded-none{border-radius:0px}.md\\:rounded-sm{border-radius:0.125rem}.md\\:rounded{border-radius:0.25rem}.md\\:rounded-md{border-radius:0.375rem}.md\\:rounded-lg{border-radius:0.5rem}.md\\:rounded-xl{border-radius:0.75rem}.md\\:rounded-2xl{border-radius:1rem}.md\\:rounded-3xl{border-radius:1.5rem}.md\\:rounded-full{border-radius:9999px}.md\\:rounded-t-none{border-top-left-radius:0px;border-top-right-radius:0px}.md\\:rounded-t-sm{border-top-left-radius:0.125rem;border-top-right-radius:0.125rem}.md\\:rounded-t{border-top-left-radius:0.25rem;border-top-right-radius:0.25rem}.md\\:rounded-t-md{border-top-left-radius:0.375rem;border-top-right-radius:0.375rem}.md\\:rounded-t-lg{border-top-left-radius:0.5rem;border-top-right-radius:0.5rem}.md\\:rounded-t-xl{border-top-left-radius:0.75rem;border-top-right-radius:0.75rem}.md\\:rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.md\\:rounded-t-3xl{border-top-left-radius:1.5rem;border-top-right-radius:1.5rem}.md\\:rounded-t-full{border-top-left-radius:9999px;border-top-right-radius:9999px}.md\\:rounded-r-none{border-top-right-radius:0px;border-bottom-right-radius:0px}.md\\:rounded-r-sm{border-top-right-radius:0.125rem;border-bottom-right-radius:0.125rem}.md\\:rounded-r{border-top-right-radius:0.25rem;border-bottom-right-radius:0.25rem}.md\\:rounded-r-md{border-top-right-radius:0.375rem;border-bottom-right-radius:0.375rem}.md\\:rounded-r-lg{border-top-right-radius:0.5rem;border-bottom-right-radius:0.5rem}.md\\:rounded-r-xl{border-top-right-radius:0.75rem;border-bottom-right-radius:0.75rem}.md\\:rounded-r-2xl{border-top-right-radius:1rem;border-bottom-right-radius:1rem}.md\\:rounded-r-3xl{border-top-right-radius:1.5rem;border-bottom-right-radius:1.5rem}.md\\:rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.md\\:rounded-b-none{border-bottom-right-radius:0px;border-bottom-left-radius:0px}.md\\:rounded-b-sm{border-bottom-right-radius:0.125rem;border-bottom-left-radius:0.125rem}.md\\:rounded-b{border-bottom-right-radius:0.25rem;border-bottom-left-radius:0.25rem}.md\\:rounded-b-md{border-bottom-right-radius:0.375rem;border-bottom-left-radius:0.375rem}.md\\:rounded-b-lg{border-bottom-right-radius:0.5rem;border-bottom-left-radius:0.5rem}.md\\:rounded-b-xl{border-bottom-right-radius:0.75rem;border-bottom-left-radius:0.75rem}.md\\:rounded-b-2xl{border-bottom-right-radius:1rem;border-bottom-left-radius:1rem}.md\\:rounded-b-3xl{border-bottom-right-radius:1.5rem;border-bottom-left-radius:1.5rem}.md\\:rounded-b-full{border-bottom-right-radius:9999px;border-bottom-left-radius:9999px}.md\\:rounded-l-none{border-top-left-radius:0px;border-bottom-left-radius:0px}.md\\:rounded-l-sm{border-top-left-radius:0.125rem;border-bottom-left-radius:0.125rem}.md\\:rounded-l{border-top-left-radius:0.25rem;border-bottom-left-radius:0.25rem}.md\\:rounded-l-md{border-top-left-radius:0.375rem;border-bottom-left-radius:0.375rem}.md\\:rounded-l-lg{border-top-left-radius:0.5rem;border-bottom-left-radius:0.5rem}.md\\:rounded-l-xl{border-top-left-radius:0.75rem;border-bottom-left-radius:0.75rem}.md\\:rounded-l-2xl{border-top-left-radius:1rem;border-bottom-left-radius:1rem}.md\\:rounded-l-3xl{border-top-left-radius:1.5rem;border-bottom-left-radius:1.5rem}.md\\:rounded-l-full{border-top-left-radius:9999px;border-bottom-left-radius:9999px}.md\\:rounded-tl-none{border-top-left-radius:0px}.md\\:rounded-tl-sm{border-top-left-radius:0.125rem}.md\\:rounded-tl{border-top-left-radius:0.25rem}.md\\:rounded-tl-md{border-top-left-radius:0.375rem}.md\\:rounded-tl-lg{border-top-left-radius:0.5rem}.md\\:rounded-tl-xl{border-top-left-radius:0.75rem}.md\\:rounded-tl-2xl{border-top-left-radius:1rem}.md\\:rounded-tl-3xl{border-top-left-radius:1.5rem}.md\\:rounded-tl-full{border-top-left-radius:9999px}.md\\:rounded-tr-none{border-top-right-radius:0px}.md\\:rounded-tr-sm{border-top-right-radius:0.125rem}.md\\:rounded-tr{border-top-right-radius:0.25rem}.md\\:rounded-tr-md{border-top-right-radius:0.375rem}.md\\:rounded-tr-lg{border-top-right-radius:0.5rem}.md\\:rounded-tr-xl{border-top-right-radius:0.75rem}.md\\:rounded-tr-2xl{border-top-right-radius:1rem}.md\\:rounded-tr-3xl{border-top-right-radius:1.5rem}.md\\:rounded-tr-full{border-top-right-radius:9999px}.md\\:rounded-br-none{border-bottom-right-radius:0px}.md\\:rounded-br-sm{border-bottom-right-radius:0.125rem}.md\\:rounded-br{border-bottom-right-radius:0.25rem}.md\\:rounded-br-md{border-bottom-right-radius:0.375rem}.md\\:rounded-br-lg{border-bottom-right-radius:0.5rem}.md\\:rounded-br-xl{border-bottom-right-radius:0.75rem}.md\\:rounded-br-2xl{border-bottom-right-radius:1rem}.md\\:rounded-br-3xl{border-bottom-right-radius:1.5rem}.md\\:rounded-br-full{border-bottom-right-radius:9999px}.md\\:rounded-bl-none{border-bottom-left-radius:0px}.md\\:rounded-bl-sm{border-bottom-left-radius:0.125rem}.md\\:rounded-bl{border-bottom-left-radius:0.25rem}.md\\:rounded-bl-md{border-bottom-left-radius:0.375rem}.md\\:rounded-bl-lg{border-bottom-left-radius:0.5rem}.md\\:rounded-bl-xl{border-bottom-left-radius:0.75rem}.md\\:rounded-bl-2xl{border-bottom-left-radius:1rem}.md\\:rounded-bl-3xl{border-bottom-left-radius:1.5rem}.md\\:rounded-bl-full{border-bottom-left-radius:9999px}.md\\:border-0{border-width:0px}.md\\:border-2{border-width:2px}.md\\:border-4{border-width:4px}.md\\:border-8{border-width:8px}.md\\:border{border-width:1px}.md\\:border-t-0{border-top-width:0px}.md\\:border-t-2{border-top-width:2px}.md\\:border-t-4{border-top-width:4px}.md\\:border-t-8{border-top-width:8px}.md\\:border-t{border-top-width:1px}.md\\:border-r-0{border-right-width:0px}.md\\:border-r-2{border-right-width:2px}.md\\:border-r-4{border-right-width:4px}.md\\:border-r-8{border-right-width:8px}.md\\:border-r{border-right-width:1px}.md\\:border-b-0{border-bottom-width:0px}.md\\:border-b-2{border-bottom-width:2px}.md\\:border-b-4{border-bottom-width:4px}.md\\:border-b-8{border-bottom-width:8px}.md\\:border-b{border-bottom-width:1px}.md\\:border-l-0{border-left-width:0px}.md\\:border-l-2{border-left-width:2px}.md\\:border-l-4{border-left-width:4px}.md\\:border-l-8{border-left-width:8px}.md\\:border-l{border-left-width:1px}.md\\:border-solid{border-style:solid}.md\\:border-dashed{border-style:dashed}.md\\:border-dotted{border-style:dotted}.md\\:border-double{border-style:double}.md\\:border-none{border-style:none}.md\\:border-transparent{border-color:transparent}.md\\:border-current{border-color:currentColor}.md\\:border-white{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.md\\:border-lightgrey{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.md\\:border-midgrey{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.md\\:border-darkgrey{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.md\\:border-grey{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.md\\:border-black{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.md\\:border-highlight{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.md\\:border-highlight_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.md\\:border-button_outline{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.md\\:border-error{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.md\\:border-text-light{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.md\\:border-text-dimmed{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.md\\:border-text-dark{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.md\\:border-body-light{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.md\\:border-body-dark{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.md\\:border-button{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.md\\:border-button_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.group:hover .md\\:group-hover\\:border-transparent{border-color:transparent}.group:hover .md\\:group-hover\\:border-current{border-color:currentColor}.group:hover .md\\:group-hover\\:border-white{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .md\\:group-hover\\:border-lightgrey{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.group:hover .md\\:group-hover\\:border-midgrey{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .md\\:group-hover\\:border-darkgrey{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.group:hover .md\\:group-hover\\:border-grey{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.group:hover .md\\:group-hover\\:border-black{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.group:hover .md\\:group-hover\\:border-highlight{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.group:hover .md\\:group-hover\\:border-highlight_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.group:hover .md\\:group-hover\\:border-button_outline{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .md\\:group-hover\\:border-error{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.group:hover .md\\:group-hover\\:border-text-light{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.group:hover .md\\:group-hover\\:border-text-dimmed{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .md\\:group-hover\\:border-text-dark{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .md\\:group-hover\\:border-body-light{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .md\\:group-hover\\:border-body-dark{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.group:hover .md\\:group-hover\\:border-button{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.group:hover .md\\:group-hover\\:border-button_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.md\\:focus-within\\:border-transparent:focus-within{border-color:transparent}.md\\:focus-within\\:border-current:focus-within{border-color:currentColor}.md\\:focus-within\\:border-white:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.md\\:focus-within\\:border-lightgrey:focus-within{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.md\\:focus-within\\:border-midgrey:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.md\\:focus-within\\:border-darkgrey:focus-within{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.md\\:focus-within\\:border-grey:focus-within{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.md\\:focus-within\\:border-black:focus-within{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.md\\:focus-within\\:border-highlight:focus-within{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.md\\:focus-within\\:border-highlight_hover:focus-within{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.md\\:focus-within\\:border-button_outline:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.md\\:focus-within\\:border-error:focus-within{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.md\\:focus-within\\:border-text-light:focus-within{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.md\\:focus-within\\:border-text-dimmed:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.md\\:focus-within\\:border-text-dark:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.md\\:focus-within\\:border-body-light:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.md\\:focus-within\\:border-body-dark:focus-within{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.md\\:focus-within\\:border-button:focus-within{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.md\\:focus-within\\:border-button_hover:focus-within{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.md\\:hover\\:border-transparent:hover{border-color:transparent}.md\\:hover\\:border-current:hover{border-color:currentColor}.md\\:hover\\:border-white:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.md\\:hover\\:border-lightgrey:hover{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.md\\:hover\\:border-midgrey:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.md\\:hover\\:border-darkgrey:hover{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.md\\:hover\\:border-grey:hover{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.md\\:hover\\:border-black:hover{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.md\\:hover\\:border-highlight:hover{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.md\\:hover\\:border-highlight_hover:hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.md\\:hover\\:border-button_outline:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.md\\:hover\\:border-error:hover{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.md\\:hover\\:border-text-light:hover{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.md\\:hover\\:border-text-dimmed:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.md\\:hover\\:border-text-dark:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.md\\:hover\\:border-body-light:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.md\\:hover\\:border-body-dark:hover{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.md\\:hover\\:border-button:hover{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.md\\:hover\\:border-button_hover:hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.md\\:focus\\:border-transparent:focus{border-color:transparent}.md\\:focus\\:border-current:focus{border-color:currentColor}.md\\:focus\\:border-white:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.md\\:focus\\:border-lightgrey:focus{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.md\\:focus\\:border-midgrey:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.md\\:focus\\:border-darkgrey:focus{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.md\\:focus\\:border-grey:focus{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.md\\:focus\\:border-black:focus{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.md\\:focus\\:border-highlight:focus{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.md\\:focus\\:border-highlight_hover:focus{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.md\\:focus\\:border-button_outline:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.md\\:focus\\:border-error:focus{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.md\\:focus\\:border-text-light:focus{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.md\\:focus\\:border-text-dimmed:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.md\\:focus\\:border-text-dark:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.md\\:focus\\:border-body-light:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.md\\:focus\\:border-body-dark:focus{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.md\\:focus\\:border-button:focus{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.md\\:focus\\:border-button_hover:focus{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}@media(prefers-color-scheme: dark){.md\\:dark\\:border-transparent{border-color:transparent}.md\\:dark\\:border-current{border-color:currentColor}.md\\:dark\\:border-white{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.md\\:dark\\:border-lightgrey{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.md\\:dark\\:border-midgrey{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.md\\:dark\\:border-darkgrey{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.md\\:dark\\:border-grey{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.md\\:dark\\:border-black{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.md\\:dark\\:border-highlight{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.md\\:dark\\:border-highlight_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.md\\:dark\\:border-button_outline{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.md\\:dark\\:border-error{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.md\\:dark\\:border-text-light{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.md\\:dark\\:border-text-dimmed{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.md\\:dark\\:border-text-dark{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.md\\:dark\\:border-body-light{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.md\\:dark\\:border-body-dark{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.md\\:dark\\:border-button{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.md\\:dark\\:border-button_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.group:hover .md\\:dark\\:group-hover\\:border-transparent{border-color:transparent}.group:hover .md\\:dark\\:group-hover\\:border-current{border-color:currentColor}.group:hover .md\\:dark\\:group-hover\\:border-white{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .md\\:dark\\:group-hover\\:border-lightgrey{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.group:hover .md\\:dark\\:group-hover\\:border-midgrey{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .md\\:dark\\:group-hover\\:border-darkgrey{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.group:hover .md\\:dark\\:group-hover\\:border-grey{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.group:hover .md\\:dark\\:group-hover\\:border-black{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.group:hover .md\\:dark\\:group-hover\\:border-highlight{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.group:hover .md\\:dark\\:group-hover\\:border-highlight_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.group:hover .md\\:dark\\:group-hover\\:border-button_outline{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .md\\:dark\\:group-hover\\:border-error{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.group:hover .md\\:dark\\:group-hover\\:border-text-light{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.group:hover .md\\:dark\\:group-hover\\:border-text-dimmed{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .md\\:dark\\:group-hover\\:border-text-dark{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .md\\:dark\\:group-hover\\:border-body-light{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .md\\:dark\\:group-hover\\:border-body-dark{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.group:hover .md\\:dark\\:group-hover\\:border-button{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.group:hover .md\\:dark\\:group-hover\\:border-button_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.md\\:dark\\:focus-within\\:border-transparent:focus-within{border-color:transparent}.md\\:dark\\:focus-within\\:border-current:focus-within{border-color:currentColor}.md\\:dark\\:focus-within\\:border-white:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.md\\:dark\\:focus-within\\:border-lightgrey:focus-within{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.md\\:dark\\:focus-within\\:border-midgrey:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.md\\:dark\\:focus-within\\:border-darkgrey:focus-within{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.md\\:dark\\:focus-within\\:border-grey:focus-within{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.md\\:dark\\:focus-within\\:border-black:focus-within{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.md\\:dark\\:focus-within\\:border-highlight:focus-within{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.md\\:dark\\:focus-within\\:border-highlight_hover:focus-within{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.md\\:dark\\:focus-within\\:border-button_outline:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.md\\:dark\\:focus-within\\:border-error:focus-within{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.md\\:dark\\:focus-within\\:border-text-light:focus-within{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.md\\:dark\\:focus-within\\:border-text-dimmed:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.md\\:dark\\:focus-within\\:border-text-dark:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.md\\:dark\\:focus-within\\:border-body-light:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.md\\:dark\\:focus-within\\:border-body-dark:focus-within{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.md\\:dark\\:focus-within\\:border-button:focus-within{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.md\\:dark\\:focus-within\\:border-button_hover:focus-within{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.md\\:dark\\:hover\\:border-transparent:hover{border-color:transparent}.md\\:dark\\:hover\\:border-current:hover{border-color:currentColor}.md\\:dark\\:hover\\:border-white:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.md\\:dark\\:hover\\:border-lightgrey:hover{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.md\\:dark\\:hover\\:border-midgrey:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.md\\:dark\\:hover\\:border-darkgrey:hover{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.md\\:dark\\:hover\\:border-grey:hover{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.md\\:dark\\:hover\\:border-black:hover{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.md\\:dark\\:hover\\:border-highlight:hover{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.md\\:dark\\:hover\\:border-highlight_hover:hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.md\\:dark\\:hover\\:border-button_outline:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.md\\:dark\\:hover\\:border-error:hover{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.md\\:dark\\:hover\\:border-text-light:hover{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.md\\:dark\\:hover\\:border-text-dimmed:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.md\\:dark\\:hover\\:border-text-dark:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.md\\:dark\\:hover\\:border-body-light:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.md\\:dark\\:hover\\:border-body-dark:hover{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.md\\:dark\\:hover\\:border-button:hover{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.md\\:dark\\:hover\\:border-button_hover:hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.md\\:dark\\:focus\\:border-transparent:focus{border-color:transparent}.md\\:dark\\:focus\\:border-current:focus{border-color:currentColor}.md\\:dark\\:focus\\:border-white:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.md\\:dark\\:focus\\:border-lightgrey:focus{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.md\\:dark\\:focus\\:border-midgrey:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.md\\:dark\\:focus\\:border-darkgrey:focus{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.md\\:dark\\:focus\\:border-grey:focus{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.md\\:dark\\:focus\\:border-black:focus{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.md\\:dark\\:focus\\:border-highlight:focus{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.md\\:dark\\:focus\\:border-highlight_hover:focus{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.md\\:dark\\:focus\\:border-button_outline:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.md\\:dark\\:focus\\:border-error:focus{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.md\\:dark\\:focus\\:border-text-light:focus{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.md\\:dark\\:focus\\:border-text-dimmed:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.md\\:dark\\:focus\\:border-text-dark:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.md\\:dark\\:focus\\:border-body-light:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.md\\:dark\\:focus\\:border-body-dark:focus{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.md\\:dark\\:focus\\:border-button:focus{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.md\\:dark\\:focus\\:border-button_hover:focus{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}}.md\\:border-opacity-0{--tw-border-opacity:0}.md\\:border-opacity-5{--tw-border-opacity:0.05}.md\\:border-opacity-10{--tw-border-opacity:0.1}.md\\:border-opacity-20{--tw-border-opacity:0.2}.md\\:border-opacity-25{--tw-border-opacity:0.25}.md\\:border-opacity-30{--tw-border-opacity:0.3}.md\\:border-opacity-40{--tw-border-opacity:0.4}.md\\:border-opacity-50{--tw-border-opacity:0.5}.md\\:border-opacity-60{--tw-border-opacity:0.6}.md\\:border-opacity-70{--tw-border-opacity:0.7}.md\\:border-opacity-75{--tw-border-opacity:0.75}.md\\:border-opacity-80{--tw-border-opacity:0.8}.md\\:border-opacity-90{--tw-border-opacity:0.9}.md\\:border-opacity-95{--tw-border-opacity:0.95}.md\\:border-opacity-100{--tw-border-opacity:1}.group:hover .md\\:group-hover\\:border-opacity-0{--tw-border-opacity:0}.group:hover .md\\:group-hover\\:border-opacity-5{--tw-border-opacity:0.05}.group:hover .md\\:group-hover\\:border-opacity-10{--tw-border-opacity:0.1}.group:hover .md\\:group-hover\\:border-opacity-20{--tw-border-opacity:0.2}.group:hover .md\\:group-hover\\:border-opacity-25{--tw-border-opacity:0.25}.group:hover .md\\:group-hover\\:border-opacity-30{--tw-border-opacity:0.3}.group:hover .md\\:group-hover\\:border-opacity-40{--tw-border-opacity:0.4}.group:hover .md\\:group-hover\\:border-opacity-50{--tw-border-opacity:0.5}.group:hover .md\\:group-hover\\:border-opacity-60{--tw-border-opacity:0.6}.group:hover .md\\:group-hover\\:border-opacity-70{--tw-border-opacity:0.7}.group:hover .md\\:group-hover\\:border-opacity-75{--tw-border-opacity:0.75}.group:hover .md\\:group-hover\\:border-opacity-80{--tw-border-opacity:0.8}.group:hover .md\\:group-hover\\:border-opacity-90{--tw-border-opacity:0.9}.group:hover .md\\:group-hover\\:border-opacity-95{--tw-border-opacity:0.95}.group:hover .md\\:group-hover\\:border-opacity-100{--tw-border-opacity:1}.md\\:focus-within\\:border-opacity-0:focus-within{--tw-border-opacity:0}.md\\:focus-within\\:border-opacity-5:focus-within{--tw-border-opacity:0.05}.md\\:focus-within\\:border-opacity-10:focus-within{--tw-border-opacity:0.1}.md\\:focus-within\\:border-opacity-20:focus-within{--tw-border-opacity:0.2}.md\\:focus-within\\:border-opacity-25:focus-within{--tw-border-opacity:0.25}.md\\:focus-within\\:border-opacity-30:focus-within{--tw-border-opacity:0.3}.md\\:focus-within\\:border-opacity-40:focus-within{--tw-border-opacity:0.4}.md\\:focus-within\\:border-opacity-50:focus-within{--tw-border-opacity:0.5}.md\\:focus-within\\:border-opacity-60:focus-within{--tw-border-opacity:0.6}.md\\:focus-within\\:border-opacity-70:focus-within{--tw-border-opacity:0.7}.md\\:focus-within\\:border-opacity-75:focus-within{--tw-border-opacity:0.75}.md\\:focus-within\\:border-opacity-80:focus-within{--tw-border-opacity:0.8}.md\\:focus-within\\:border-opacity-90:focus-within{--tw-border-opacity:0.9}.md\\:focus-within\\:border-opacity-95:focus-within{--tw-border-opacity:0.95}.md\\:focus-within\\:border-opacity-100:focus-within{--tw-border-opacity:1}.md\\:hover\\:border-opacity-0:hover{--tw-border-opacity:0}.md\\:hover\\:border-opacity-5:hover{--tw-border-opacity:0.05}.md\\:hover\\:border-opacity-10:hover{--tw-border-opacity:0.1}.md\\:hover\\:border-opacity-20:hover{--tw-border-opacity:0.2}.md\\:hover\\:border-opacity-25:hover{--tw-border-opacity:0.25}.md\\:hover\\:border-opacity-30:hover{--tw-border-opacity:0.3}.md\\:hover\\:border-opacity-40:hover{--tw-border-opacity:0.4}.md\\:hover\\:border-opacity-50:hover{--tw-border-opacity:0.5}.md\\:hover\\:border-opacity-60:hover{--tw-border-opacity:0.6}.md\\:hover\\:border-opacity-70:hover{--tw-border-opacity:0.7}.md\\:hover\\:border-opacity-75:hover{--tw-border-opacity:0.75}.md\\:hover\\:border-opacity-80:hover{--tw-border-opacity:0.8}.md\\:hover\\:border-opacity-90:hover{--tw-border-opacity:0.9}.md\\:hover\\:border-opacity-95:hover{--tw-border-opacity:0.95}.md\\:hover\\:border-opacity-100:hover{--tw-border-opacity:1}.md\\:focus\\:border-opacity-0:focus{--tw-border-opacity:0}.md\\:focus\\:border-opacity-5:focus{--tw-border-opacity:0.05}.md\\:focus\\:border-opacity-10:focus{--tw-border-opacity:0.1}.md\\:focus\\:border-opacity-20:focus{--tw-border-opacity:0.2}.md\\:focus\\:border-opacity-25:focus{--tw-border-opacity:0.25}.md\\:focus\\:border-opacity-30:focus{--tw-border-opacity:0.3}.md\\:focus\\:border-opacity-40:focus{--tw-border-opacity:0.4}.md\\:focus\\:border-opacity-50:focus{--tw-border-opacity:0.5}.md\\:focus\\:border-opacity-60:focus{--tw-border-opacity:0.6}.md\\:focus\\:border-opacity-70:focus{--tw-border-opacity:0.7}.md\\:focus\\:border-opacity-75:focus{--tw-border-opacity:0.75}.md\\:focus\\:border-opacity-80:focus{--tw-border-opacity:0.8}.md\\:focus\\:border-opacity-90:focus{--tw-border-opacity:0.9}.md\\:focus\\:border-opacity-95:focus{--tw-border-opacity:0.95}.md\\:focus\\:border-opacity-100:focus{--tw-border-opacity:1}@media(prefers-color-scheme: dark){.md\\:dark\\:border-opacity-0{--tw-border-opacity:0}.md\\:dark\\:border-opacity-5{--tw-border-opacity:0.05}.md\\:dark\\:border-opacity-10{--tw-border-opacity:0.1}.md\\:dark\\:border-opacity-20{--tw-border-opacity:0.2}.md\\:dark\\:border-opacity-25{--tw-border-opacity:0.25}.md\\:dark\\:border-opacity-30{--tw-border-opacity:0.3}.md\\:dark\\:border-opacity-40{--tw-border-opacity:0.4}.md\\:dark\\:border-opacity-50{--tw-border-opacity:0.5}.md\\:dark\\:border-opacity-60{--tw-border-opacity:0.6}.md\\:dark\\:border-opacity-70{--tw-border-opacity:0.7}.md\\:dark\\:border-opacity-75{--tw-border-opacity:0.75}.md\\:dark\\:border-opacity-80{--tw-border-opacity:0.8}.md\\:dark\\:border-opacity-90{--tw-border-opacity:0.9}.md\\:dark\\:border-opacity-95{--tw-border-opacity:0.95}.md\\:dark\\:border-opacity-100{--tw-border-opacity:1}.group:hover .md\\:dark\\:group-hover\\:border-opacity-0{--tw-border-opacity:0}.group:hover .md\\:dark\\:group-hover\\:border-opacity-5{--tw-border-opacity:0.05}.group:hover .md\\:dark\\:group-hover\\:border-opacity-10{--tw-border-opacity:0.1}.group:hover .md\\:dark\\:group-hover\\:border-opacity-20{--tw-border-opacity:0.2}.group:hover .md\\:dark\\:group-hover\\:border-opacity-25{--tw-border-opacity:0.25}.group:hover .md\\:dark\\:group-hover\\:border-opacity-30{--tw-border-opacity:0.3}.group:hover .md\\:dark\\:group-hover\\:border-opacity-40{--tw-border-opacity:0.4}.group:hover .md\\:dark\\:group-hover\\:border-opacity-50{--tw-border-opacity:0.5}.group:hover .md\\:dark\\:group-hover\\:border-opacity-60{--tw-border-opacity:0.6}.group:hover .md\\:dark\\:group-hover\\:border-opacity-70{--tw-border-opacity:0.7}.group:hover .md\\:dark\\:group-hover\\:border-opacity-75{--tw-border-opacity:0.75}.group:hover .md\\:dark\\:group-hover\\:border-opacity-80{--tw-border-opacity:0.8}.group:hover .md\\:dark\\:group-hover\\:border-opacity-90{--tw-border-opacity:0.9}.group:hover .md\\:dark\\:group-hover\\:border-opacity-95{--tw-border-opacity:0.95}.group:hover .md\\:dark\\:group-hover\\:border-opacity-100{--tw-border-opacity:1}.md\\:dark\\:focus-within\\:border-opacity-0:focus-within{--tw-border-opacity:0}.md\\:dark\\:focus-within\\:border-opacity-5:focus-within{--tw-border-opacity:0.05}.md\\:dark\\:focus-within\\:border-opacity-10:focus-within{--tw-border-opacity:0.1}.md\\:dark\\:focus-within\\:border-opacity-20:focus-within{--tw-border-opacity:0.2}.md\\:dark\\:focus-within\\:border-opacity-25:focus-within{--tw-border-opacity:0.25}.md\\:dark\\:focus-within\\:border-opacity-30:focus-within{--tw-border-opacity:0.3}.md\\:dark\\:focus-within\\:border-opacity-40:focus-within{--tw-border-opacity:0.4}.md\\:dark\\:focus-within\\:border-opacity-50:focus-within{--tw-border-opacity:0.5}.md\\:dark\\:focus-within\\:border-opacity-60:focus-within{--tw-border-opacity:0.6}.md\\:dark\\:focus-within\\:border-opacity-70:focus-within{--tw-border-opacity:0.7}.md\\:dark\\:focus-within\\:border-opacity-75:focus-within{--tw-border-opacity:0.75}.md\\:dark\\:focus-within\\:border-opacity-80:focus-within{--tw-border-opacity:0.8}.md\\:dark\\:focus-within\\:border-opacity-90:focus-within{--tw-border-opacity:0.9}.md\\:dark\\:focus-within\\:border-opacity-95:focus-within{--tw-border-opacity:0.95}.md\\:dark\\:focus-within\\:border-opacity-100:focus-within{--tw-border-opacity:1}.md\\:dark\\:hover\\:border-opacity-0:hover{--tw-border-opacity:0}.md\\:dark\\:hover\\:border-opacity-5:hover{--tw-border-opacity:0.05}.md\\:dark\\:hover\\:border-opacity-10:hover{--tw-border-opacity:0.1}.md\\:dark\\:hover\\:border-opacity-20:hover{--tw-border-opacity:0.2}.md\\:dark\\:hover\\:border-opacity-25:hover{--tw-border-opacity:0.25}.md\\:dark\\:hover\\:border-opacity-30:hover{--tw-border-opacity:0.3}.md\\:dark\\:hover\\:border-opacity-40:hover{--tw-border-opacity:0.4}.md\\:dark\\:hover\\:border-opacity-50:hover{--tw-border-opacity:0.5}.md\\:dark\\:hover\\:border-opacity-60:hover{--tw-border-opacity:0.6}.md\\:dark\\:hover\\:border-opacity-70:hover{--tw-border-opacity:0.7}.md\\:dark\\:hover\\:border-opacity-75:hover{--tw-border-opacity:0.75}.md\\:dark\\:hover\\:border-opacity-80:hover{--tw-border-opacity:0.8}.md\\:dark\\:hover\\:border-opacity-90:hover{--tw-border-opacity:0.9}.md\\:dark\\:hover\\:border-opacity-95:hover{--tw-border-opacity:0.95}.md\\:dark\\:hover\\:border-opacity-100:hover{--tw-border-opacity:1}.md\\:dark\\:focus\\:border-opacity-0:focus{--tw-border-opacity:0}.md\\:dark\\:focus\\:border-opacity-5:focus{--tw-border-opacity:0.05}.md\\:dark\\:focus\\:border-opacity-10:focus{--tw-border-opacity:0.1}.md\\:dark\\:focus\\:border-opacity-20:focus{--tw-border-opacity:0.2}.md\\:dark\\:focus\\:border-opacity-25:focus{--tw-border-opacity:0.25}.md\\:dark\\:focus\\:border-opacity-30:focus{--tw-border-opacity:0.3}.md\\:dark\\:focus\\:border-opacity-40:focus{--tw-border-opacity:0.4}.md\\:dark\\:focus\\:border-opacity-50:focus{--tw-border-opacity:0.5}.md\\:dark\\:focus\\:border-opacity-60:focus{--tw-border-opacity:0.6}.md\\:dark\\:focus\\:border-opacity-70:focus{--tw-border-opacity:0.7}.md\\:dark\\:focus\\:border-opacity-75:focus{--tw-border-opacity:0.75}.md\\:dark\\:focus\\:border-opacity-80:focus{--tw-border-opacity:0.8}.md\\:dark\\:focus\\:border-opacity-90:focus{--tw-border-opacity:0.9}.md\\:dark\\:focus\\:border-opacity-95:focus{--tw-border-opacity:0.95}.md\\:dark\\:focus\\:border-opacity-100:focus{--tw-border-opacity:1}}.md\\:bg-transparent{background-color:transparent}.md\\:bg-current{background-color:currentColor}.md\\:bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.md\\:bg-lightgrey{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.md\\:bg-midgrey{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.md\\:bg-darkgrey{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.md\\:bg-grey{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.md\\:bg-black{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.md\\:bg-highlight{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.md\\:bg-highlight_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.md\\:bg-button_outline{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.md\\:bg-error{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.md\\:bg-text-light{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.md\\:bg-text-dimmed{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.md\\:bg-text-dark{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.md\\:bg-body-light{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.md\\:bg-body-dark{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.md\\:bg-button{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.md\\:bg-button_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.group:hover .md\\:group-hover\\:bg-transparent{background-color:transparent}.group:hover .md\\:group-hover\\:bg-current{background-color:currentColor}.group:hover .md\\:group-hover\\:bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .md\\:group-hover\\:bg-lightgrey{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.group:hover .md\\:group-hover\\:bg-midgrey{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .md\\:group-hover\\:bg-darkgrey{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.group:hover .md\\:group-hover\\:bg-grey{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.group:hover .md\\:group-hover\\:bg-black{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.group:hover .md\\:group-hover\\:bg-highlight{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.group:hover .md\\:group-hover\\:bg-highlight_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.group:hover .md\\:group-hover\\:bg-button_outline{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .md\\:group-hover\\:bg-error{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.group:hover .md\\:group-hover\\:bg-text-light{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.group:hover .md\\:group-hover\\:bg-text-dimmed{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .md\\:group-hover\\:bg-text-dark{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .md\\:group-hover\\:bg-body-light{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .md\\:group-hover\\:bg-body-dark{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.group:hover .md\\:group-hover\\:bg-button{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.group:hover .md\\:group-hover\\:bg-button_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.md\\:focus-within\\:bg-transparent:focus-within{background-color:transparent}.md\\:focus-within\\:bg-current:focus-within{background-color:currentColor}.md\\:focus-within\\:bg-white:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.md\\:focus-within\\:bg-lightgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.md\\:focus-within\\:bg-midgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.md\\:focus-within\\:bg-darkgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.md\\:focus-within\\:bg-grey:focus-within{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.md\\:focus-within\\:bg-black:focus-within{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.md\\:focus-within\\:bg-highlight:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.md\\:focus-within\\:bg-highlight_hover:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.md\\:focus-within\\:bg-button_outline:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.md\\:focus-within\\:bg-error:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.md\\:focus-within\\:bg-text-light:focus-within{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.md\\:focus-within\\:bg-text-dimmed:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.md\\:focus-within\\:bg-text-dark:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.md\\:focus-within\\:bg-body-light:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.md\\:focus-within\\:bg-body-dark:focus-within{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.md\\:focus-within\\:bg-button:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.md\\:focus-within\\:bg-button_hover:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.md\\:hover\\:bg-transparent:hover{background-color:transparent}.md\\:hover\\:bg-current:hover{background-color:currentColor}.md\\:hover\\:bg-white:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.md\\:hover\\:bg-lightgrey:hover{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.md\\:hover\\:bg-midgrey:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.md\\:hover\\:bg-darkgrey:hover{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.md\\:hover\\:bg-grey:hover{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.md\\:hover\\:bg-black:hover{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.md\\:hover\\:bg-highlight:hover{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.md\\:hover\\:bg-highlight_hover:hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.md\\:hover\\:bg-button_outline:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.md\\:hover\\:bg-error:hover{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.md\\:hover\\:bg-text-light:hover{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.md\\:hover\\:bg-text-dimmed:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.md\\:hover\\:bg-text-dark:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.md\\:hover\\:bg-body-light:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.md\\:hover\\:bg-body-dark:hover{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.md\\:hover\\:bg-button:hover{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.md\\:hover\\:bg-button_hover:hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.md\\:focus\\:bg-transparent:focus{background-color:transparent}.md\\:focus\\:bg-current:focus{background-color:currentColor}.md\\:focus\\:bg-white:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.md\\:focus\\:bg-lightgrey:focus{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.md\\:focus\\:bg-midgrey:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.md\\:focus\\:bg-darkgrey:focus{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.md\\:focus\\:bg-grey:focus{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.md\\:focus\\:bg-black:focus{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.md\\:focus\\:bg-highlight:focus{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.md\\:focus\\:bg-highlight_hover:focus{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.md\\:focus\\:bg-button_outline:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.md\\:focus\\:bg-error:focus{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.md\\:focus\\:bg-text-light:focus{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.md\\:focus\\:bg-text-dimmed:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.md\\:focus\\:bg-text-dark:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.md\\:focus\\:bg-body-light:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.md\\:focus\\:bg-body-dark:focus{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.md\\:focus\\:bg-button:focus{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.md\\:focus\\:bg-button_hover:focus{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}@media(prefers-color-scheme: dark){.md\\:dark\\:bg-transparent{background-color:transparent}.md\\:dark\\:bg-current{background-color:currentColor}.md\\:dark\\:bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.md\\:dark\\:bg-lightgrey{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.md\\:dark\\:bg-midgrey{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.md\\:dark\\:bg-darkgrey{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.md\\:dark\\:bg-grey{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.md\\:dark\\:bg-black{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.md\\:dark\\:bg-highlight{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.md\\:dark\\:bg-highlight_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.md\\:dark\\:bg-button_outline{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.md\\:dark\\:bg-error{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.md\\:dark\\:bg-text-light{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.md\\:dark\\:bg-text-dimmed{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.md\\:dark\\:bg-text-dark{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.md\\:dark\\:bg-body-light{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.md\\:dark\\:bg-body-dark{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.md\\:dark\\:bg-button{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.md\\:dark\\:bg-button_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.group:hover .md\\:dark\\:group-hover\\:bg-transparent{background-color:transparent}.group:hover .md\\:dark\\:group-hover\\:bg-current{background-color:currentColor}.group:hover .md\\:dark\\:group-hover\\:bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .md\\:dark\\:group-hover\\:bg-lightgrey{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.group:hover .md\\:dark\\:group-hover\\:bg-midgrey{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .md\\:dark\\:group-hover\\:bg-darkgrey{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.group:hover .md\\:dark\\:group-hover\\:bg-grey{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.group:hover .md\\:dark\\:group-hover\\:bg-black{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.group:hover .md\\:dark\\:group-hover\\:bg-highlight{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.group:hover .md\\:dark\\:group-hover\\:bg-highlight_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.group:hover .md\\:dark\\:group-hover\\:bg-button_outline{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .md\\:dark\\:group-hover\\:bg-error{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.group:hover .md\\:dark\\:group-hover\\:bg-text-light{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.group:hover .md\\:dark\\:group-hover\\:bg-text-dimmed{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .md\\:dark\\:group-hover\\:bg-text-dark{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .md\\:dark\\:group-hover\\:bg-body-light{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .md\\:dark\\:group-hover\\:bg-body-dark{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.group:hover .md\\:dark\\:group-hover\\:bg-button{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.group:hover .md\\:dark\\:group-hover\\:bg-button_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.md\\:dark\\:focus-within\\:bg-transparent:focus-within{background-color:transparent}.md\\:dark\\:focus-within\\:bg-current:focus-within{background-color:currentColor}.md\\:dark\\:focus-within\\:bg-white:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.md\\:dark\\:focus-within\\:bg-lightgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.md\\:dark\\:focus-within\\:bg-midgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.md\\:dark\\:focus-within\\:bg-darkgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.md\\:dark\\:focus-within\\:bg-grey:focus-within{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.md\\:dark\\:focus-within\\:bg-black:focus-within{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.md\\:dark\\:focus-within\\:bg-highlight:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.md\\:dark\\:focus-within\\:bg-highlight_hover:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.md\\:dark\\:focus-within\\:bg-button_outline:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.md\\:dark\\:focus-within\\:bg-error:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.md\\:dark\\:focus-within\\:bg-text-light:focus-within{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.md\\:dark\\:focus-within\\:bg-text-dimmed:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.md\\:dark\\:focus-within\\:bg-text-dark:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.md\\:dark\\:focus-within\\:bg-body-light:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.md\\:dark\\:focus-within\\:bg-body-dark:focus-within{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.md\\:dark\\:focus-within\\:bg-button:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.md\\:dark\\:focus-within\\:bg-button_hover:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.md\\:dark\\:hover\\:bg-transparent:hover{background-color:transparent}.md\\:dark\\:hover\\:bg-current:hover{background-color:currentColor}.md\\:dark\\:hover\\:bg-white:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.md\\:dark\\:hover\\:bg-lightgrey:hover{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.md\\:dark\\:hover\\:bg-midgrey:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.md\\:dark\\:hover\\:bg-darkgrey:hover{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.md\\:dark\\:hover\\:bg-grey:hover{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.md\\:dark\\:hover\\:bg-black:hover{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.md\\:dark\\:hover\\:bg-highlight:hover{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.md\\:dark\\:hover\\:bg-highlight_hover:hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.md\\:dark\\:hover\\:bg-button_outline:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.md\\:dark\\:hover\\:bg-error:hover{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.md\\:dark\\:hover\\:bg-text-light:hover{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.md\\:dark\\:hover\\:bg-text-dimmed:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.md\\:dark\\:hover\\:bg-text-dark:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.md\\:dark\\:hover\\:bg-body-light:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.md\\:dark\\:hover\\:bg-body-dark:hover{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.md\\:dark\\:hover\\:bg-button:hover{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.md\\:dark\\:hover\\:bg-button_hover:hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.md\\:dark\\:focus\\:bg-transparent:focus{background-color:transparent}.md\\:dark\\:focus\\:bg-current:focus{background-color:currentColor}.md\\:dark\\:focus\\:bg-white:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.md\\:dark\\:focus\\:bg-lightgrey:focus{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.md\\:dark\\:focus\\:bg-midgrey:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.md\\:dark\\:focus\\:bg-darkgrey:focus{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.md\\:dark\\:focus\\:bg-grey:focus{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.md\\:dark\\:focus\\:bg-black:focus{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.md\\:dark\\:focus\\:bg-highlight:focus{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.md\\:dark\\:focus\\:bg-highlight_hover:focus{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.md\\:dark\\:focus\\:bg-button_outline:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.md\\:dark\\:focus\\:bg-error:focus{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.md\\:dark\\:focus\\:bg-text-light:focus{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.md\\:dark\\:focus\\:bg-text-dimmed:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.md\\:dark\\:focus\\:bg-text-dark:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.md\\:dark\\:focus\\:bg-body-light:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.md\\:dark\\:focus\\:bg-body-dark:focus{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.md\\:dark\\:focus\\:bg-button:focus{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.md\\:dark\\:focus\\:bg-button_hover:focus{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}}.md\\:bg-opacity-0{--tw-bg-opacity:0}.md\\:bg-opacity-5{--tw-bg-opacity:0.05}.md\\:bg-opacity-10{--tw-bg-opacity:0.1}.md\\:bg-opacity-20{--tw-bg-opacity:0.2}.md\\:bg-opacity-25{--tw-bg-opacity:0.25}.md\\:bg-opacity-30{--tw-bg-opacity:0.3}.md\\:bg-opacity-40{--tw-bg-opacity:0.4}.md\\:bg-opacity-50{--tw-bg-opacity:0.5}.md\\:bg-opacity-60{--tw-bg-opacity:0.6}.md\\:bg-opacity-70{--tw-bg-opacity:0.7}.md\\:bg-opacity-75{--tw-bg-opacity:0.75}.md\\:bg-opacity-80{--tw-bg-opacity:0.8}.md\\:bg-opacity-90{--tw-bg-opacity:0.9}.md\\:bg-opacity-95{--tw-bg-opacity:0.95}.md\\:bg-opacity-100{--tw-bg-opacity:1}.group:hover .md\\:group-hover\\:bg-opacity-0{--tw-bg-opacity:0}.group:hover .md\\:group-hover\\:bg-opacity-5{--tw-bg-opacity:0.05}.group:hover .md\\:group-hover\\:bg-opacity-10{--tw-bg-opacity:0.1}.group:hover .md\\:group-hover\\:bg-opacity-20{--tw-bg-opacity:0.2}.group:hover .md\\:group-hover\\:bg-opacity-25{--tw-bg-opacity:0.25}.group:hover .md\\:group-hover\\:bg-opacity-30{--tw-bg-opacity:0.3}.group:hover .md\\:group-hover\\:bg-opacity-40{--tw-bg-opacity:0.4}.group:hover .md\\:group-hover\\:bg-opacity-50{--tw-bg-opacity:0.5}.group:hover .md\\:group-hover\\:bg-opacity-60{--tw-bg-opacity:0.6}.group:hover .md\\:group-hover\\:bg-opacity-70{--tw-bg-opacity:0.7}.group:hover .md\\:group-hover\\:bg-opacity-75{--tw-bg-opacity:0.75}.group:hover .md\\:group-hover\\:bg-opacity-80{--tw-bg-opacity:0.8}.group:hover .md\\:group-hover\\:bg-opacity-90{--tw-bg-opacity:0.9}.group:hover .md\\:group-hover\\:bg-opacity-95{--tw-bg-opacity:0.95}.group:hover .md\\:group-hover\\:bg-opacity-100{--tw-bg-opacity:1}.md\\:focus-within\\:bg-opacity-0:focus-within{--tw-bg-opacity:0}.md\\:focus-within\\:bg-opacity-5:focus-within{--tw-bg-opacity:0.05}.md\\:focus-within\\:bg-opacity-10:focus-within{--tw-bg-opacity:0.1}.md\\:focus-within\\:bg-opacity-20:focus-within{--tw-bg-opacity:0.2}.md\\:focus-within\\:bg-opacity-25:focus-within{--tw-bg-opacity:0.25}.md\\:focus-within\\:bg-opacity-30:focus-within{--tw-bg-opacity:0.3}.md\\:focus-within\\:bg-opacity-40:focus-within{--tw-bg-opacity:0.4}.md\\:focus-within\\:bg-opacity-50:focus-within{--tw-bg-opacity:0.5}.md\\:focus-within\\:bg-opacity-60:focus-within{--tw-bg-opacity:0.6}.md\\:focus-within\\:bg-opacity-70:focus-within{--tw-bg-opacity:0.7}.md\\:focus-within\\:bg-opacity-75:focus-within{--tw-bg-opacity:0.75}.md\\:focus-within\\:bg-opacity-80:focus-within{--tw-bg-opacity:0.8}.md\\:focus-within\\:bg-opacity-90:focus-within{--tw-bg-opacity:0.9}.md\\:focus-within\\:bg-opacity-95:focus-within{--tw-bg-opacity:0.95}.md\\:focus-within\\:bg-opacity-100:focus-within{--tw-bg-opacity:1}.md\\:hover\\:bg-opacity-0:hover{--tw-bg-opacity:0}.md\\:hover\\:bg-opacity-5:hover{--tw-bg-opacity:0.05}.md\\:hover\\:bg-opacity-10:hover{--tw-bg-opacity:0.1}.md\\:hover\\:bg-opacity-20:hover{--tw-bg-opacity:0.2}.md\\:hover\\:bg-opacity-25:hover{--tw-bg-opacity:0.25}.md\\:hover\\:bg-opacity-30:hover{--tw-bg-opacity:0.3}.md\\:hover\\:bg-opacity-40:hover{--tw-bg-opacity:0.4}.md\\:hover\\:bg-opacity-50:hover{--tw-bg-opacity:0.5}.md\\:hover\\:bg-opacity-60:hover{--tw-bg-opacity:0.6}.md\\:hover\\:bg-opacity-70:hover{--tw-bg-opacity:0.7}.md\\:hover\\:bg-opacity-75:hover{--tw-bg-opacity:0.75}.md\\:hover\\:bg-opacity-80:hover{--tw-bg-opacity:0.8}.md\\:hover\\:bg-opacity-90:hover{--tw-bg-opacity:0.9}.md\\:hover\\:bg-opacity-95:hover{--tw-bg-opacity:0.95}.md\\:hover\\:bg-opacity-100:hover{--tw-bg-opacity:1}.md\\:focus\\:bg-opacity-0:focus{--tw-bg-opacity:0}.md\\:focus\\:bg-opacity-5:focus{--tw-bg-opacity:0.05}.md\\:focus\\:bg-opacity-10:focus{--tw-bg-opacity:0.1}.md\\:focus\\:bg-opacity-20:focus{--tw-bg-opacity:0.2}.md\\:focus\\:bg-opacity-25:focus{--tw-bg-opacity:0.25}.md\\:focus\\:bg-opacity-30:focus{--tw-bg-opacity:0.3}.md\\:focus\\:bg-opacity-40:focus{--tw-bg-opacity:0.4}.md\\:focus\\:bg-opacity-50:focus{--tw-bg-opacity:0.5}.md\\:focus\\:bg-opacity-60:focus{--tw-bg-opacity:0.6}.md\\:focus\\:bg-opacity-70:focus{--tw-bg-opacity:0.7}.md\\:focus\\:bg-opacity-75:focus{--tw-bg-opacity:0.75}.md\\:focus\\:bg-opacity-80:focus{--tw-bg-opacity:0.8}.md\\:focus\\:bg-opacity-90:focus{--tw-bg-opacity:0.9}.md\\:focus\\:bg-opacity-95:focus{--tw-bg-opacity:0.95}.md\\:focus\\:bg-opacity-100:focus{--tw-bg-opacity:1}@media(prefers-color-scheme: dark){.md\\:dark\\:bg-opacity-0{--tw-bg-opacity:0}.md\\:dark\\:bg-opacity-5{--tw-bg-opacity:0.05}.md\\:dark\\:bg-opacity-10{--tw-bg-opacity:0.1}.md\\:dark\\:bg-opacity-20{--tw-bg-opacity:0.2}.md\\:dark\\:bg-opacity-25{--tw-bg-opacity:0.25}.md\\:dark\\:bg-opacity-30{--tw-bg-opacity:0.3}.md\\:dark\\:bg-opacity-40{--tw-bg-opacity:0.4}.md\\:dark\\:bg-opacity-50{--tw-bg-opacity:0.5}.md\\:dark\\:bg-opacity-60{--tw-bg-opacity:0.6}.md\\:dark\\:bg-opacity-70{--tw-bg-opacity:0.7}.md\\:dark\\:bg-opacity-75{--tw-bg-opacity:0.75}.md\\:dark\\:bg-opacity-80{--tw-bg-opacity:0.8}.md\\:dark\\:bg-opacity-90{--tw-bg-opacity:0.9}.md\\:dark\\:bg-opacity-95{--tw-bg-opacity:0.95}.md\\:dark\\:bg-opacity-100{--tw-bg-opacity:1}.group:hover .md\\:dark\\:group-hover\\:bg-opacity-0{--tw-bg-opacity:0}.group:hover .md\\:dark\\:group-hover\\:bg-opacity-5{--tw-bg-opacity:0.05}.group:hover .md\\:dark\\:group-hover\\:bg-opacity-10{--tw-bg-opacity:0.1}.group:hover .md\\:dark\\:group-hover\\:bg-opacity-20{--tw-bg-opacity:0.2}.group:hover .md\\:dark\\:group-hover\\:bg-opacity-25{--tw-bg-opacity:0.25}.group:hover .md\\:dark\\:group-hover\\:bg-opacity-30{--tw-bg-opacity:0.3}.group:hover .md\\:dark\\:group-hover\\:bg-opacity-40{--tw-bg-opacity:0.4}.group:hover .md\\:dark\\:group-hover\\:bg-opacity-50{--tw-bg-opacity:0.5}.group:hover .md\\:dark\\:group-hover\\:bg-opacity-60{--tw-bg-opacity:0.6}.group:hover .md\\:dark\\:group-hover\\:bg-opacity-70{--tw-bg-opacity:0.7}.group:hover .md\\:dark\\:group-hover\\:bg-opacity-75{--tw-bg-opacity:0.75}.group:hover .md\\:dark\\:group-hover\\:bg-opacity-80{--tw-bg-opacity:0.8}.group:hover .md\\:dark\\:group-hover\\:bg-opacity-90{--tw-bg-opacity:0.9}.group:hover .md\\:dark\\:group-hover\\:bg-opacity-95{--tw-bg-opacity:0.95}.group:hover .md\\:dark\\:group-hover\\:bg-opacity-100{--tw-bg-opacity:1}.md\\:dark\\:focus-within\\:bg-opacity-0:focus-within{--tw-bg-opacity:0}.md\\:dark\\:focus-within\\:bg-opacity-5:focus-within{--tw-bg-opacity:0.05}.md\\:dark\\:focus-within\\:bg-opacity-10:focus-within{--tw-bg-opacity:0.1}.md\\:dark\\:focus-within\\:bg-opacity-20:focus-within{--tw-bg-opacity:0.2}.md\\:dark\\:focus-within\\:bg-opacity-25:focus-within{--tw-bg-opacity:0.25}.md\\:dark\\:focus-within\\:bg-opacity-30:focus-within{--tw-bg-opacity:0.3}.md\\:dark\\:focus-within\\:bg-opacity-40:focus-within{--tw-bg-opacity:0.4}.md\\:dark\\:focus-within\\:bg-opacity-50:focus-within{--tw-bg-opacity:0.5}.md\\:dark\\:focus-within\\:bg-opacity-60:focus-within{--tw-bg-opacity:0.6}.md\\:dark\\:focus-within\\:bg-opacity-70:focus-within{--tw-bg-opacity:0.7}.md\\:dark\\:focus-within\\:bg-opacity-75:focus-within{--tw-bg-opacity:0.75}.md\\:dark\\:focus-within\\:bg-opacity-80:focus-within{--tw-bg-opacity:0.8}.md\\:dark\\:focus-within\\:bg-opacity-90:focus-within{--tw-bg-opacity:0.9}.md\\:dark\\:focus-within\\:bg-opacity-95:focus-within{--tw-bg-opacity:0.95}.md\\:dark\\:focus-within\\:bg-opacity-100:focus-within{--tw-bg-opacity:1}.md\\:dark\\:hover\\:bg-opacity-0:hover{--tw-bg-opacity:0}.md\\:dark\\:hover\\:bg-opacity-5:hover{--tw-bg-opacity:0.05}.md\\:dark\\:hover\\:bg-opacity-10:hover{--tw-bg-opacity:0.1}.md\\:dark\\:hover\\:bg-opacity-20:hover{--tw-bg-opacity:0.2}.md\\:dark\\:hover\\:bg-opacity-25:hover{--tw-bg-opacity:0.25}.md\\:dark\\:hover\\:bg-opacity-30:hover{--tw-bg-opacity:0.3}.md\\:dark\\:hover\\:bg-opacity-40:hover{--tw-bg-opacity:0.4}.md\\:dark\\:hover\\:bg-opacity-50:hover{--tw-bg-opacity:0.5}.md\\:dark\\:hover\\:bg-opacity-60:hover{--tw-bg-opacity:0.6}.md\\:dark\\:hover\\:bg-opacity-70:hover{--tw-bg-opacity:0.7}.md\\:dark\\:hover\\:bg-opacity-75:hover{--tw-bg-opacity:0.75}.md\\:dark\\:hover\\:bg-opacity-80:hover{--tw-bg-opacity:0.8}.md\\:dark\\:hover\\:bg-opacity-90:hover{--tw-bg-opacity:0.9}.md\\:dark\\:hover\\:bg-opacity-95:hover{--tw-bg-opacity:0.95}.md\\:dark\\:hover\\:bg-opacity-100:hover{--tw-bg-opacity:1}.md\\:dark\\:focus\\:bg-opacity-0:focus{--tw-bg-opacity:0}.md\\:dark\\:focus\\:bg-opacity-5:focus{--tw-bg-opacity:0.05}.md\\:dark\\:focus\\:bg-opacity-10:focus{--tw-bg-opacity:0.1}.md\\:dark\\:focus\\:bg-opacity-20:focus{--tw-bg-opacity:0.2}.md\\:dark\\:focus\\:bg-opacity-25:focus{--tw-bg-opacity:0.25}.md\\:dark\\:focus\\:bg-opacity-30:focus{--tw-bg-opacity:0.3}.md\\:dark\\:focus\\:bg-opacity-40:focus{--tw-bg-opacity:0.4}.md\\:dark\\:focus\\:bg-opacity-50:focus{--tw-bg-opacity:0.5}.md\\:dark\\:focus\\:bg-opacity-60:focus{--tw-bg-opacity:0.6}.md\\:dark\\:focus\\:bg-opacity-70:focus{--tw-bg-opacity:0.7}.md\\:dark\\:focus\\:bg-opacity-75:focus{--tw-bg-opacity:0.75}.md\\:dark\\:focus\\:bg-opacity-80:focus{--tw-bg-opacity:0.8}.md\\:dark\\:focus\\:bg-opacity-90:focus{--tw-bg-opacity:0.9}.md\\:dark\\:focus\\:bg-opacity-95:focus{--tw-bg-opacity:0.95}.md\\:dark\\:focus\\:bg-opacity-100:focus{--tw-bg-opacity:1}}.md\\:bg-none{background-image:none}.md\\:bg-gradient-to-t{background-image:linear-gradient(to top, var(--tw-gradient-stops))}.md\\:bg-gradient-to-tr{background-image:linear-gradient(to top right, var(--tw-gradient-stops))}.md\\:bg-gradient-to-r{background-image:linear-gradient(to right, var(--tw-gradient-stops))}.md\\:bg-gradient-to-br{background-image:linear-gradient(to bottom right, var(--tw-gradient-stops))}.md\\:bg-gradient-to-b{background-image:linear-gradient(to bottom, var(--tw-gradient-stops))}.md\\:bg-gradient-to-bl{background-image:linear-gradient(to bottom left, var(--tw-gradient-stops))}.md\\:bg-gradient-to-l{background-image:linear-gradient(to left, var(--tw-gradient-stops))}.md\\:bg-gradient-to-tl{background-image:linear-gradient(to top left, var(--tw-gradient-stops))}.md\\:from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.md\\:from-current{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:from-white{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:from-lightgrey{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.md\\:from-midgrey{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:from-darkgrey{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.md\\:from-grey{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.md\\:from-black{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.md\\:from-highlight{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.md\\:from-highlight_hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.md\\:from-button_outline{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:from-error{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.md\\:from-text-light{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.md\\:from-text-dimmed{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:from-text-dark{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:from-body-light{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:from-body-dark{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.md\\:from-button{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.md\\:from-button_hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.md\\:hover\\:from-transparent:hover{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.md\\:hover\\:from-current:hover{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:hover\\:from-white:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:hover\\:from-lightgrey:hover{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.md\\:hover\\:from-midgrey:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:hover\\:from-darkgrey:hover{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.md\\:hover\\:from-grey:hover{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.md\\:hover\\:from-black:hover{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.md\\:hover\\:from-highlight:hover{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.md\\:hover\\:from-highlight_hover:hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.md\\:hover\\:from-button_outline:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:hover\\:from-error:hover{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.md\\:hover\\:from-text-light:hover{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.md\\:hover\\:from-text-dimmed:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:hover\\:from-text-dark:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:hover\\:from-body-light:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:hover\\:from-body-dark:hover{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.md\\:hover\\:from-button:hover{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.md\\:hover\\:from-button_hover:hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.md\\:focus\\:from-transparent:focus{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.md\\:focus\\:from-current:focus{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:focus\\:from-white:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:focus\\:from-lightgrey:focus{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.md\\:focus\\:from-midgrey:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:focus\\:from-darkgrey:focus{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.md\\:focus\\:from-grey:focus{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.md\\:focus\\:from-black:focus{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.md\\:focus\\:from-highlight:focus{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.md\\:focus\\:from-highlight_hover:focus{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.md\\:focus\\:from-button_outline:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:focus\\:from-error:focus{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.md\\:focus\\:from-text-light:focus{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.md\\:focus\\:from-text-dimmed:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:focus\\:from-text-dark:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:focus\\:from-body-light:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:focus\\:from-body-dark:focus{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.md\\:focus\\:from-button:focus{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.md\\:focus\\:from-button_hover:focus{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}@media(prefers-color-scheme: dark){.md\\:dark\\:from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.md\\:dark\\:from-current{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:dark\\:from-white{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:dark\\:from-lightgrey{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.md\\:dark\\:from-midgrey{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:dark\\:from-darkgrey{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.md\\:dark\\:from-grey{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.md\\:dark\\:from-black{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.md\\:dark\\:from-highlight{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.md\\:dark\\:from-highlight_hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.md\\:dark\\:from-button_outline{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:dark\\:from-error{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.md\\:dark\\:from-text-light{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.md\\:dark\\:from-text-dimmed{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:dark\\:from-text-dark{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:dark\\:from-body-light{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:dark\\:from-body-dark{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.md\\:dark\\:from-button{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.md\\:dark\\:from-button_hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.md\\:dark\\:hover\\:from-transparent:hover{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.md\\:dark\\:hover\\:from-current:hover{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:dark\\:hover\\:from-white:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:dark\\:hover\\:from-lightgrey:hover{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.md\\:dark\\:hover\\:from-midgrey:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:dark\\:hover\\:from-darkgrey:hover{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.md\\:dark\\:hover\\:from-grey:hover{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.md\\:dark\\:hover\\:from-black:hover{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.md\\:dark\\:hover\\:from-highlight:hover{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.md\\:dark\\:hover\\:from-highlight_hover:hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.md\\:dark\\:hover\\:from-button_outline:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:dark\\:hover\\:from-error:hover{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.md\\:dark\\:hover\\:from-text-light:hover{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.md\\:dark\\:hover\\:from-text-dimmed:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:dark\\:hover\\:from-text-dark:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:dark\\:hover\\:from-body-light:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:dark\\:hover\\:from-body-dark:hover{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.md\\:dark\\:hover\\:from-button:hover{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.md\\:dark\\:hover\\:from-button_hover:hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.md\\:dark\\:focus\\:from-transparent:focus{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.md\\:dark\\:focus\\:from-current:focus{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:dark\\:focus\\:from-white:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:dark\\:focus\\:from-lightgrey:focus{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.md\\:dark\\:focus\\:from-midgrey:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:dark\\:focus\\:from-darkgrey:focus{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.md\\:dark\\:focus\\:from-grey:focus{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.md\\:dark\\:focus\\:from-black:focus{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.md\\:dark\\:focus\\:from-highlight:focus{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.md\\:dark\\:focus\\:from-highlight_hover:focus{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.md\\:dark\\:focus\\:from-button_outline:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:dark\\:focus\\:from-error:focus{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.md\\:dark\\:focus\\:from-text-light:focus{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.md\\:dark\\:focus\\:from-text-dimmed:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:dark\\:focus\\:from-text-dark:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:dark\\:focus\\:from-body-light:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:dark\\:focus\\:from-body-dark:focus{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.md\\:dark\\:focus\\:from-button:focus{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.md\\:dark\\:focus\\:from-button_hover:focus{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}}.md\\:via-transparent{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.md\\:via-current{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:via-white{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:via-lightgrey{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.md\\:via-midgrey{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:via-darkgrey{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.md\\:via-grey{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.md\\:via-black{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.md\\:via-highlight{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.md\\:via-highlight_hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.md\\:via-button_outline{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:via-error{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.md\\:via-text-light{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.md\\:via-text-dimmed{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:via-text-dark{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:via-body-light{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:via-body-dark{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.md\\:via-button{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.md\\:via-button_hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.md\\:hover\\:via-transparent:hover{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.md\\:hover\\:via-current:hover{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:hover\\:via-white:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:hover\\:via-lightgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.md\\:hover\\:via-midgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:hover\\:via-darkgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.md\\:hover\\:via-grey:hover{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.md\\:hover\\:via-black:hover{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.md\\:hover\\:via-highlight:hover{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.md\\:hover\\:via-highlight_hover:hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.md\\:hover\\:via-button_outline:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:hover\\:via-error:hover{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.md\\:hover\\:via-text-light:hover{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.md\\:hover\\:via-text-dimmed:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:hover\\:via-text-dark:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:hover\\:via-body-light:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:hover\\:via-body-dark:hover{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.md\\:hover\\:via-button:hover{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.md\\:hover\\:via-button_hover:hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.md\\:focus\\:via-transparent:focus{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.md\\:focus\\:via-current:focus{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:focus\\:via-white:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:focus\\:via-lightgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.md\\:focus\\:via-midgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:focus\\:via-darkgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.md\\:focus\\:via-grey:focus{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.md\\:focus\\:via-black:focus{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.md\\:focus\\:via-highlight:focus{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.md\\:focus\\:via-highlight_hover:focus{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.md\\:focus\\:via-button_outline:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:focus\\:via-error:focus{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.md\\:focus\\:via-text-light:focus{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.md\\:focus\\:via-text-dimmed:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:focus\\:via-text-dark:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:focus\\:via-body-light:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:focus\\:via-body-dark:focus{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.md\\:focus\\:via-button:focus{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.md\\:focus\\:via-button_hover:focus{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}@media(prefers-color-scheme: dark){.md\\:dark\\:via-transparent{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.md\\:dark\\:via-current{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:dark\\:via-white{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:dark\\:via-lightgrey{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.md\\:dark\\:via-midgrey{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:dark\\:via-darkgrey{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.md\\:dark\\:via-grey{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.md\\:dark\\:via-black{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.md\\:dark\\:via-highlight{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.md\\:dark\\:via-highlight_hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.md\\:dark\\:via-button_outline{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:dark\\:via-error{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.md\\:dark\\:via-text-light{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.md\\:dark\\:via-text-dimmed{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:dark\\:via-text-dark{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:dark\\:via-body-light{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:dark\\:via-body-dark{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.md\\:dark\\:via-button{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.md\\:dark\\:via-button_hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.md\\:dark\\:hover\\:via-transparent:hover{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.md\\:dark\\:hover\\:via-current:hover{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:dark\\:hover\\:via-white:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:dark\\:hover\\:via-lightgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.md\\:dark\\:hover\\:via-midgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:dark\\:hover\\:via-darkgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.md\\:dark\\:hover\\:via-grey:hover{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.md\\:dark\\:hover\\:via-black:hover{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.md\\:dark\\:hover\\:via-highlight:hover{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.md\\:dark\\:hover\\:via-highlight_hover:hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.md\\:dark\\:hover\\:via-button_outline:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:dark\\:hover\\:via-error:hover{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.md\\:dark\\:hover\\:via-text-light:hover{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.md\\:dark\\:hover\\:via-text-dimmed:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:dark\\:hover\\:via-text-dark:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:dark\\:hover\\:via-body-light:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:dark\\:hover\\:via-body-dark:hover{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.md\\:dark\\:hover\\:via-button:hover{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.md\\:dark\\:hover\\:via-button_hover:hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.md\\:dark\\:focus\\:via-transparent:focus{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.md\\:dark\\:focus\\:via-current:focus{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:dark\\:focus\\:via-white:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:dark\\:focus\\:via-lightgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.md\\:dark\\:focus\\:via-midgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:dark\\:focus\\:via-darkgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.md\\:dark\\:focus\\:via-grey:focus{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.md\\:dark\\:focus\\:via-black:focus{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.md\\:dark\\:focus\\:via-highlight:focus{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.md\\:dark\\:focus\\:via-highlight_hover:focus{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.md\\:dark\\:focus\\:via-button_outline:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:dark\\:focus\\:via-error:focus{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.md\\:dark\\:focus\\:via-text-light:focus{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.md\\:dark\\:focus\\:via-text-dimmed:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.md\\:dark\\:focus\\:via-text-dark:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:dark\\:focus\\:via-body-light:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\\:dark\\:focus\\:via-body-dark:focus{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.md\\:dark\\:focus\\:via-button:focus{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.md\\:dark\\:focus\\:via-button_hover:focus{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}}.md\\:to-transparent{--tw-gradient-to:transparent}.md\\:to-current{--tw-gradient-to:currentColor}.md\\:to-white{--tw-gradient-to:#fff}.md\\:to-lightgrey{--tw-gradient-to:#F7F7F7}.md\\:to-midgrey{--tw-gradient-to:#cfcfcf}.md\\:to-darkgrey{--tw-gradient-to:#7f7f7f}.md\\:to-grey{--tw-gradient-to:#1e1e1e}.md\\:to-black{--tw-gradient-to:#0f0f0f}.md\\:to-highlight{--tw-gradient-to:#0071e3}.md\\:to-highlight_hover{--tw-gradient-to:#0077ed}.md\\:to-button_outline{--tw-gradient-to:#cfcfcf}.md\\:to-error{--tw-gradient-to:#ff453a}.md\\:to-text-light{--tw-gradient-to:#0f0f0f}.md\\:to-text-dimmed{--tw-gradient-to:#cfcfcf}.md\\:to-text-dark{--tw-gradient-to:#fff}.md\\:to-body-light{--tw-gradient-to:#fff}.md\\:to-body-dark{--tw-gradient-to:#1e1e1e}.md\\:to-button{--tw-gradient-to:#0071e3}.md\\:to-button_hover{--tw-gradient-to:#0077ed}.md\\:hover\\:to-transparent:hover{--tw-gradient-to:transparent}.md\\:hover\\:to-current:hover{--tw-gradient-to:currentColor}.md\\:hover\\:to-white:hover{--tw-gradient-to:#fff}.md\\:hover\\:to-lightgrey:hover{--tw-gradient-to:#F7F7F7}.md\\:hover\\:to-midgrey:hover{--tw-gradient-to:#cfcfcf}.md\\:hover\\:to-darkgrey:hover{--tw-gradient-to:#7f7f7f}.md\\:hover\\:to-grey:hover{--tw-gradient-to:#1e1e1e}.md\\:hover\\:to-black:hover{--tw-gradient-to:#0f0f0f}.md\\:hover\\:to-highlight:hover{--tw-gradient-to:#0071e3}.md\\:hover\\:to-highlight_hover:hover{--tw-gradient-to:#0077ed}.md\\:hover\\:to-button_outline:hover{--tw-gradient-to:#cfcfcf}.md\\:hover\\:to-error:hover{--tw-gradient-to:#ff453a}.md\\:hover\\:to-text-light:hover{--tw-gradient-to:#0f0f0f}.md\\:hover\\:to-text-dimmed:hover{--tw-gradient-to:#cfcfcf}.md\\:hover\\:to-text-dark:hover{--tw-gradient-to:#fff}.md\\:hover\\:to-body-light:hover{--tw-gradient-to:#fff}.md\\:hover\\:to-body-dark:hover{--tw-gradient-to:#1e1e1e}.md\\:hover\\:to-button:hover{--tw-gradient-to:#0071e3}.md\\:hover\\:to-button_hover:hover{--tw-gradient-to:#0077ed}.md\\:focus\\:to-transparent:focus{--tw-gradient-to:transparent}.md\\:focus\\:to-current:focus{--tw-gradient-to:currentColor}.md\\:focus\\:to-white:focus{--tw-gradient-to:#fff}.md\\:focus\\:to-lightgrey:focus{--tw-gradient-to:#F7F7F7}.md\\:focus\\:to-midgrey:focus{--tw-gradient-to:#cfcfcf}.md\\:focus\\:to-darkgrey:focus{--tw-gradient-to:#7f7f7f}.md\\:focus\\:to-grey:focus{--tw-gradient-to:#1e1e1e}.md\\:focus\\:to-black:focus{--tw-gradient-to:#0f0f0f}.md\\:focus\\:to-highlight:focus{--tw-gradient-to:#0071e3}.md\\:focus\\:to-highlight_hover:focus{--tw-gradient-to:#0077ed}.md\\:focus\\:to-button_outline:focus{--tw-gradient-to:#cfcfcf}.md\\:focus\\:to-error:focus{--tw-gradient-to:#ff453a}.md\\:focus\\:to-text-light:focus{--tw-gradient-to:#0f0f0f}.md\\:focus\\:to-text-dimmed:focus{--tw-gradient-to:#cfcfcf}.md\\:focus\\:to-text-dark:focus{--tw-gradient-to:#fff}.md\\:focus\\:to-body-light:focus{--tw-gradient-to:#fff}.md\\:focus\\:to-body-dark:focus{--tw-gradient-to:#1e1e1e}.md\\:focus\\:to-button:focus{--tw-gradient-to:#0071e3}.md\\:focus\\:to-button_hover:focus{--tw-gradient-to:#0077ed}@media(prefers-color-scheme: dark){.md\\:dark\\:to-transparent{--tw-gradient-to:transparent}.md\\:dark\\:to-current{--tw-gradient-to:currentColor}.md\\:dark\\:to-white{--tw-gradient-to:#fff}.md\\:dark\\:to-lightgrey{--tw-gradient-to:#F7F7F7}.md\\:dark\\:to-midgrey{--tw-gradient-to:#cfcfcf}.md\\:dark\\:to-darkgrey{--tw-gradient-to:#7f7f7f}.md\\:dark\\:to-grey{--tw-gradient-to:#1e1e1e}.md\\:dark\\:to-black{--tw-gradient-to:#0f0f0f}.md\\:dark\\:to-highlight{--tw-gradient-to:#0071e3}.md\\:dark\\:to-highlight_hover{--tw-gradient-to:#0077ed}.md\\:dark\\:to-button_outline{--tw-gradient-to:#cfcfcf}.md\\:dark\\:to-error{--tw-gradient-to:#ff453a}.md\\:dark\\:to-text-light{--tw-gradient-to:#0f0f0f}.md\\:dark\\:to-text-dimmed{--tw-gradient-to:#cfcfcf}.md\\:dark\\:to-text-dark{--tw-gradient-to:#fff}.md\\:dark\\:to-body-light{--tw-gradient-to:#fff}.md\\:dark\\:to-body-dark{--tw-gradient-to:#1e1e1e}.md\\:dark\\:to-button{--tw-gradient-to:#0071e3}.md\\:dark\\:to-button_hover{--tw-gradient-to:#0077ed}.md\\:dark\\:hover\\:to-transparent:hover{--tw-gradient-to:transparent}.md\\:dark\\:hover\\:to-current:hover{--tw-gradient-to:currentColor}.md\\:dark\\:hover\\:to-white:hover{--tw-gradient-to:#fff}.md\\:dark\\:hover\\:to-lightgrey:hover{--tw-gradient-to:#F7F7F7}.md\\:dark\\:hover\\:to-midgrey:hover{--tw-gradient-to:#cfcfcf}.md\\:dark\\:hover\\:to-darkgrey:hover{--tw-gradient-to:#7f7f7f}.md\\:dark\\:hover\\:to-grey:hover{--tw-gradient-to:#1e1e1e}.md\\:dark\\:hover\\:to-black:hover{--tw-gradient-to:#0f0f0f}.md\\:dark\\:hover\\:to-highlight:hover{--tw-gradient-to:#0071e3}.md\\:dark\\:hover\\:to-highlight_hover:hover{--tw-gradient-to:#0077ed}.md\\:dark\\:hover\\:to-button_outline:hover{--tw-gradient-to:#cfcfcf}.md\\:dark\\:hover\\:to-error:hover{--tw-gradient-to:#ff453a}.md\\:dark\\:hover\\:to-text-light:hover{--tw-gradient-to:#0f0f0f}.md\\:dark\\:hover\\:to-text-dimmed:hover{--tw-gradient-to:#cfcfcf}.md\\:dark\\:hover\\:to-text-dark:hover{--tw-gradient-to:#fff}.md\\:dark\\:hover\\:to-body-light:hover{--tw-gradient-to:#fff}.md\\:dark\\:hover\\:to-body-dark:hover{--tw-gradient-to:#1e1e1e}.md\\:dark\\:hover\\:to-button:hover{--tw-gradient-to:#0071e3}.md\\:dark\\:hover\\:to-button_hover:hover{--tw-gradient-to:#0077ed}.md\\:dark\\:focus\\:to-transparent:focus{--tw-gradient-to:transparent}.md\\:dark\\:focus\\:to-current:focus{--tw-gradient-to:currentColor}.md\\:dark\\:focus\\:to-white:focus{--tw-gradient-to:#fff}.md\\:dark\\:focus\\:to-lightgrey:focus{--tw-gradient-to:#F7F7F7}.md\\:dark\\:focus\\:to-midgrey:focus{--tw-gradient-to:#cfcfcf}.md\\:dark\\:focus\\:to-darkgrey:focus{--tw-gradient-to:#7f7f7f}.md\\:dark\\:focus\\:to-grey:focus{--tw-gradient-to:#1e1e1e}.md\\:dark\\:focus\\:to-black:focus{--tw-gradient-to:#0f0f0f}.md\\:dark\\:focus\\:to-highlight:focus{--tw-gradient-to:#0071e3}.md\\:dark\\:focus\\:to-highlight_hover:focus{--tw-gradient-to:#0077ed}.md\\:dark\\:focus\\:to-button_outline:focus{--tw-gradient-to:#cfcfcf}.md\\:dark\\:focus\\:to-error:focus{--tw-gradient-to:#ff453a}.md\\:dark\\:focus\\:to-text-light:focus{--tw-gradient-to:#0f0f0f}.md\\:dark\\:focus\\:to-text-dimmed:focus{--tw-gradient-to:#cfcfcf}.md\\:dark\\:focus\\:to-text-dark:focus{--tw-gradient-to:#fff}.md\\:dark\\:focus\\:to-body-light:focus{--tw-gradient-to:#fff}.md\\:dark\\:focus\\:to-body-dark:focus{--tw-gradient-to:#1e1e1e}.md\\:dark\\:focus\\:to-button:focus{--tw-gradient-to:#0071e3}.md\\:dark\\:focus\\:to-button_hover:focus{--tw-gradient-to:#0077ed}}.md\\:decoration-slice{-webkit-box-decoration-break:slice;box-decoration-break:slice}.md\\:decoration-clone{-webkit-box-decoration-break:clone;box-decoration-break:clone}.md\\:bg-auto{background-size:auto}.md\\:bg-cover{background-size:cover}.md\\:bg-contain{background-size:contain}.md\\:bg-fixed{background-attachment:fixed}.md\\:bg-local{background-attachment:local}.md\\:bg-scroll{background-attachment:scroll}.md\\:bg-clip-border{background-clip:border-box}.md\\:bg-clip-padding{background-clip:padding-box}.md\\:bg-clip-content{background-clip:content-box}.md\\:bg-clip-text{background-clip:text}.md\\:bg-bottom{background-position:bottom}.md\\:bg-center{background-position:center}.md\\:bg-left{background-position:left}.md\\:bg-left-bottom{background-position:left bottom}.md\\:bg-left-top{background-position:left top}.md\\:bg-right{background-position:right}.md\\:bg-right-bottom{background-position:right bottom}.md\\:bg-right-top{background-position:right top}.md\\:bg-top{background-position:top}.md\\:bg-repeat{background-repeat:repeat}.md\\:bg-no-repeat{background-repeat:no-repeat}.md\\:bg-repeat-x{background-repeat:repeat-x}.md\\:bg-repeat-y{background-repeat:repeat-y}.md\\:bg-repeat-round{background-repeat:round}.md\\:bg-repeat-space{background-repeat:space}.md\\:bg-origin-border{background-origin:border-box}.md\\:bg-origin-padding{background-origin:padding-box}.md\\:bg-origin-content{background-origin:content-box}.md\\:fill-current{fill:currentColor}.md\\:stroke-current{stroke:currentColor}.md\\:stroke-0{stroke-width:0}.md\\:stroke-1{stroke-width:1}.md\\:stroke-2{stroke-width:2}.md\\:object-contain{object-fit:contain}.md\\:object-cover{object-fit:cover}.md\\:object-fill{object-fit:fill}.md\\:object-none{object-fit:none}.md\\:object-scale-down{object-fit:scale-down}.md\\:object-bottom{object-position:bottom}.md\\:object-center{object-position:center}.md\\:object-left{object-position:left}.md\\:object-left-bottom{object-position:left bottom}.md\\:object-left-top{object-position:left top}.md\\:object-right{object-position:right}.md\\:object-right-bottom{object-position:right bottom}.md\\:object-right-top{object-position:right top}.md\\:object-top{object-position:top}.md\\:p-0{padding:0px}.md\\:p-1{padding:0.25rem}.md\\:p-2{padding:0.5rem}.md\\:p-3{padding:0.75rem}.md\\:p-4{padding:1rem}.md\\:p-5{padding:1.25rem}.md\\:p-6{padding:1.5rem}.md\\:p-7{padding:1.75rem}.md\\:p-8{padding:2rem}.md\\:p-9{padding:2.25rem}.md\\:p-10{padding:2.5rem}.md\\:p-11{padding:2.75rem}.md\\:p-12{padding:3rem}.md\\:p-14{padding:3.5rem}.md\\:p-16{padding:4rem}.md\\:p-20{padding:5rem}.md\\:p-24{padding:6rem}.md\\:p-28{padding:7rem}.md\\:p-32{padding:8rem}.md\\:p-36{padding:9rem}.md\\:p-40{padding:10rem}.md\\:p-44{padding:11rem}.md\\:p-48{padding:12rem}.md\\:p-52{padding:13rem}.md\\:p-56{padding:14rem}.md\\:p-60{padding:15rem}.md\\:p-64{padding:16rem}.md\\:p-72{padding:18rem}.md\\:p-80{padding:20rem}.md\\:p-96{padding:24rem}.md\\:p-px{padding:1px}.md\\:p-0\\.5{padding:0.125rem}.md\\:p-1\\.5{padding:0.375rem}.md\\:p-2\\.5{padding:0.625rem}.md\\:p-3\\.5{padding:0.875rem}.md\\:px-0{padding-left:0px;padding-right:0px}.md\\:px-1{padding-left:0.25rem;padding-right:0.25rem}.md\\:px-2{padding-left:0.5rem;padding-right:0.5rem}.md\\:px-3{padding-left:0.75rem;padding-right:0.75rem}.md\\:px-4{padding-left:1rem;padding-right:1rem}.md\\:px-5{padding-left:1.25rem;padding-right:1.25rem}.md\\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\\:px-7{padding-left:1.75rem;padding-right:1.75rem}.md\\:px-8{padding-left:2rem;padding-right:2rem}.md\\:px-9{padding-left:2.25rem;padding-right:2.25rem}.md\\:px-10{padding-left:2.5rem;padding-right:2.5rem}.md\\:px-11{padding-left:2.75rem;padding-right:2.75rem}.md\\:px-12{padding-left:3rem;padding-right:3rem}.md\\:px-14{padding-left:3.5rem;padding-right:3.5rem}.md\\:px-16{padding-left:4rem;padding-right:4rem}.md\\:px-20{padding-left:5rem;padding-right:5rem}.md\\:px-24{padding-left:6rem;padding-right:6rem}.md\\:px-28{padding-left:7rem;padding-right:7rem}.md\\:px-32{padding-left:8rem;padding-right:8rem}.md\\:px-36{padding-left:9rem;padding-right:9rem}.md\\:px-40{padding-left:10rem;padding-right:10rem}.md\\:px-44{padding-left:11rem;padding-right:11rem}.md\\:px-48{padding-left:12rem;padding-right:12rem}.md\\:px-52{padding-left:13rem;padding-right:13rem}.md\\:px-56{padding-left:14rem;padding-right:14rem}.md\\:px-60{padding-left:15rem;padding-right:15rem}.md\\:px-64{padding-left:16rem;padding-right:16rem}.md\\:px-72{padding-left:18rem;padding-right:18rem}.md\\:px-80{padding-left:20rem;padding-right:20rem}.md\\:px-96{padding-left:24rem;padding-right:24rem}.md\\:px-px{padding-left:1px;padding-right:1px}.md\\:px-0\\.5{padding-left:0.125rem;padding-right:0.125rem}.md\\:px-1\\.5{padding-left:0.375rem;padding-right:0.375rem}.md\\:px-2\\.5{padding-left:0.625rem;padding-right:0.625rem}.md\\:px-3\\.5{padding-left:0.875rem;padding-right:0.875rem}.md\\:py-0{padding-top:0px;padding-bottom:0px}.md\\:py-1{padding-top:0.25rem;padding-bottom:0.25rem}.md\\:py-2{padding-top:0.5rem;padding-bottom:0.5rem}.md\\:py-3{padding-top:0.75rem;padding-bottom:0.75rem}.md\\:py-4{padding-top:1rem;padding-bottom:1rem}.md\\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.md\\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.md\\:py-7{padding-top:1.75rem;padding-bottom:1.75rem}.md\\:py-8{padding-top:2rem;padding-bottom:2rem}.md\\:py-9{padding-top:2.25rem;padding-bottom:2.25rem}.md\\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.md\\:py-11{padding-top:2.75rem;padding-bottom:2.75rem}.md\\:py-12{padding-top:3rem;padding-bottom:3rem}.md\\:py-14{padding-top:3.5rem;padding-bottom:3.5rem}.md\\:py-16{padding-top:4rem;padding-bottom:4rem}.md\\:py-20{padding-top:5rem;padding-bottom:5rem}.md\\:py-24{padding-top:6rem;padding-bottom:6rem}.md\\:py-28{padding-top:7rem;padding-bottom:7rem}.md\\:py-32{padding-top:8rem;padding-bottom:8rem}.md\\:py-36{padding-top:9rem;padding-bottom:9rem}.md\\:py-40{padding-top:10rem;padding-bottom:10rem}.md\\:py-44{padding-top:11rem;padding-bottom:11rem}.md\\:py-48{padding-top:12rem;padding-bottom:12rem}.md\\:py-52{padding-top:13rem;padding-bottom:13rem}.md\\:py-56{padding-top:14rem;padding-bottom:14rem}.md\\:py-60{padding-top:15rem;padding-bottom:15rem}.md\\:py-64{padding-top:16rem;padding-bottom:16rem}.md\\:py-72{padding-top:18rem;padding-bottom:18rem}.md\\:py-80{padding-top:20rem;padding-bottom:20rem}.md\\:py-96{padding-top:24rem;padding-bottom:24rem}.md\\:py-px{padding-top:1px;padding-bottom:1px}.md\\:py-0\\.5{padding-top:0.125rem;padding-bottom:0.125rem}.md\\:py-1\\.5{padding-top:0.375rem;padding-bottom:0.375rem}.md\\:py-2\\.5{padding-top:0.625rem;padding-bottom:0.625rem}.md\\:py-3\\.5{padding-top:0.875rem;padding-bottom:0.875rem}.md\\:pt-0{padding-top:0px}.md\\:pt-1{padding-top:0.25rem}.md\\:pt-2{padding-top:0.5rem}.md\\:pt-3{padding-top:0.75rem}.md\\:pt-4{padding-top:1rem}.md\\:pt-5{padding-top:1.25rem}.md\\:pt-6{padding-top:1.5rem}.md\\:pt-7{padding-top:1.75rem}.md\\:pt-8{padding-top:2rem}.md\\:pt-9{padding-top:2.25rem}.md\\:pt-10{padding-top:2.5rem}.md\\:pt-11{padding-top:2.75rem}.md\\:pt-12{padding-top:3rem}.md\\:pt-14{padding-top:3.5rem}.md\\:pt-16{padding-top:4rem}.md\\:pt-20{padding-top:5rem}.md\\:pt-24{padding-top:6rem}.md\\:pt-28{padding-top:7rem}.md\\:pt-32{padding-top:8rem}.md\\:pt-36{padding-top:9rem}.md\\:pt-40{padding-top:10rem}.md\\:pt-44{padding-top:11rem}.md\\:pt-48{padding-top:12rem}.md\\:pt-52{padding-top:13rem}.md\\:pt-56{padding-top:14rem}.md\\:pt-60{padding-top:15rem}.md\\:pt-64{padding-top:16rem}.md\\:pt-72{padding-top:18rem}.md\\:pt-80{padding-top:20rem}.md\\:pt-96{padding-top:24rem}.md\\:pt-px{padding-top:1px}.md\\:pt-0\\.5{padding-top:0.125rem}.md\\:pt-1\\.5{padding-top:0.375rem}.md\\:pt-2\\.5{padding-top:0.625rem}.md\\:pt-3\\.5{padding-top:0.875rem}.md\\:pr-0{padding-right:0px}.md\\:pr-1{padding-right:0.25rem}.md\\:pr-2{padding-right:0.5rem}.md\\:pr-3{padding-right:0.75rem}.md\\:pr-4{padding-right:1rem}.md\\:pr-5{padding-right:1.25rem}.md\\:pr-6{padding-right:1.5rem}.md\\:pr-7{padding-right:1.75rem}.md\\:pr-8{padding-right:2rem}.md\\:pr-9{padding-right:2.25rem}.md\\:pr-10{padding-right:2.5rem}.md\\:pr-11{padding-right:2.75rem}.md\\:pr-12{padding-right:3rem}.md\\:pr-14{padding-right:3.5rem}.md\\:pr-16{padding-right:4rem}.md\\:pr-20{padding-right:5rem}.md\\:pr-24{padding-right:6rem}.md\\:pr-28{padding-right:7rem}.md\\:pr-32{padding-right:8rem}.md\\:pr-36{padding-right:9rem}.md\\:pr-40{padding-right:10rem}.md\\:pr-44{padding-right:11rem}.md\\:pr-48{padding-right:12rem}.md\\:pr-52{padding-right:13rem}.md\\:pr-56{padding-right:14rem}.md\\:pr-60{padding-right:15rem}.md\\:pr-64{padding-right:16rem}.md\\:pr-72{padding-right:18rem}.md\\:pr-80{padding-right:20rem}.md\\:pr-96{padding-right:24rem}.md\\:pr-px{padding-right:1px}.md\\:pr-0\\.5{padding-right:0.125rem}.md\\:pr-1\\.5{padding-right:0.375rem}.md\\:pr-2\\.5{padding-right:0.625rem}.md\\:pr-3\\.5{padding-right:0.875rem}.md\\:pb-0{padding-bottom:0px}.md\\:pb-1{padding-bottom:0.25rem}.md\\:pb-2{padding-bottom:0.5rem}.md\\:pb-3{padding-bottom:0.75rem}.md\\:pb-4{padding-bottom:1rem}.md\\:pb-5{padding-bottom:1.25rem}.md\\:pb-6{padding-bottom:1.5rem}.md\\:pb-7{padding-bottom:1.75rem}.md\\:pb-8{padding-bottom:2rem}.md\\:pb-9{padding-bottom:2.25rem}.md\\:pb-10{padding-bottom:2.5rem}.md\\:pb-11{padding-bottom:2.75rem}.md\\:pb-12{padding-bottom:3rem}.md\\:pb-14{padding-bottom:3.5rem}.md\\:pb-16{padding-bottom:4rem}.md\\:pb-20{padding-bottom:5rem}.md\\:pb-24{padding-bottom:6rem}.md\\:pb-28{padding-bottom:7rem}.md\\:pb-32{padding-bottom:8rem}.md\\:pb-36{padding-bottom:9rem}.md\\:pb-40{padding-bottom:10rem}.md\\:pb-44{padding-bottom:11rem}.md\\:pb-48{padding-bottom:12rem}.md\\:pb-52{padding-bottom:13rem}.md\\:pb-56{padding-bottom:14rem}.md\\:pb-60{padding-bottom:15rem}.md\\:pb-64{padding-bottom:16rem}.md\\:pb-72{padding-bottom:18rem}.md\\:pb-80{padding-bottom:20rem}.md\\:pb-96{padding-bottom:24rem}.md\\:pb-px{padding-bottom:1px}.md\\:pb-0\\.5{padding-bottom:0.125rem}.md\\:pb-1\\.5{padding-bottom:0.375rem}.md\\:pb-2\\.5{padding-bottom:0.625rem}.md\\:pb-3\\.5{padding-bottom:0.875rem}.md\\:pl-0{padding-left:0px}.md\\:pl-1{padding-left:0.25rem}.md\\:pl-2{padding-left:0.5rem}.md\\:pl-3{padding-left:0.75rem}.md\\:pl-4{padding-left:1rem}.md\\:pl-5{padding-left:1.25rem}.md\\:pl-6{padding-left:1.5rem}.md\\:pl-7{padding-left:1.75rem}.md\\:pl-8{padding-left:2rem}.md\\:pl-9{padding-left:2.25rem}.md\\:pl-10{padding-left:2.5rem}.md\\:pl-11{padding-left:2.75rem}.md\\:pl-12{padding-left:3rem}.md\\:pl-14{padding-left:3.5rem}.md\\:pl-16{padding-left:4rem}.md\\:pl-20{padding-left:5rem}.md\\:pl-24{padding-left:6rem}.md\\:pl-28{padding-left:7rem}.md\\:pl-32{padding-left:8rem}.md\\:pl-36{padding-left:9rem}.md\\:pl-40{padding-left:10rem}.md\\:pl-44{padding-left:11rem}.md\\:pl-48{padding-left:12rem}.md\\:pl-52{padding-left:13rem}.md\\:pl-56{padding-left:14rem}.md\\:pl-60{padding-left:15rem}.md\\:pl-64{padding-left:16rem}.md\\:pl-72{padding-left:18rem}.md\\:pl-80{padding-left:20rem}.md\\:pl-96{padding-left:24rem}.md\\:pl-px{padding-left:1px}.md\\:pl-0\\.5{padding-left:0.125rem}.md\\:pl-1\\.5{padding-left:0.375rem}.md\\:pl-2\\.5{padding-left:0.625rem}.md\\:pl-3\\.5{padding-left:0.875rem}.md\\:text-left{text-align:left}.md\\:text-center{text-align:center}.md\\:text-right{text-align:right}.md\\:text-justify{text-align:justify}.md\\:align-baseline{vertical-align:baseline}.md\\:align-top{vertical-align:top}.md\\:align-middle{vertical-align:middle}.md\\:align-bottom{vertical-align:bottom}.md\\:align-text-top{vertical-align:text-top}.md\\:align-text-bottom{vertical-align:text-bottom}.md\\:font-sans{font-family:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"}.md\\:font-serif{font-family:ui-serif, Georgia, Cambria, \"Times New Roman\", Times, serif}.md\\:font-mono{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace}.md\\:text-xs{font-size:0.75rem;line-height:1rem}.md\\:text-sm{font-size:0.875rem;line-height:1.25rem}.md\\:text-base{font-size:1rem;line-height:1.5rem}.md\\:text-lg{font-size:1.125rem;line-height:1.75rem}.md\\:text-xl{font-size:1.25rem;line-height:1.75rem}.md\\:text-2xl{font-size:1.5rem;line-height:2rem}.md\\:text-3xl{font-size:1.875rem;line-height:2.25rem}.md\\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\\:text-5xl{font-size:3rem;line-height:1}.md\\:text-6xl{font-size:3.75rem;line-height:1}.md\\:text-7xl{font-size:4.5rem;line-height:1}.md\\:text-8xl{font-size:6rem;line-height:1}.md\\:text-9xl{font-size:8rem;line-height:1}.md\\:font-thin{font-weight:100}.md\\:font-extralight{font-weight:200}.md\\:font-light{font-weight:300}.md\\:font-normal{font-weight:400}.md\\:font-medium{font-weight:500}.md\\:font-semibold{font-weight:600}.md\\:font-bold{font-weight:700}.md\\:font-extrabold{font-weight:800}.md\\:font-black{font-weight:900}.md\\:uppercase{text-transform:uppercase}.md\\:lowercase{text-transform:lowercase}.md\\:capitalize{text-transform:capitalize}.md\\:normal-case{text-transform:none}.md\\:italic{font-style:italic}.md\\:not-italic{font-style:normal}.md\\:ordinal,.md\\:slashed-zero,.md\\:lining-nums,.md\\:oldstyle-nums,.md\\:proportional-nums,.md\\:tabular-nums,.md\\:diagonal-fractions,.md\\:stacked-fractions{--tw-ordinal:var(--tw-empty,/*!*/ /*!*/);--tw-slashed-zero:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-figure:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-spacing:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-fraction:var(--tw-empty,/*!*/ /*!*/);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.md\\:normal-nums{font-variant-numeric:normal}.md\\:ordinal{--tw-ordinal:ordinal}.md\\:slashed-zero{--tw-slashed-zero:slashed-zero}.md\\:lining-nums{--tw-numeric-figure:lining-nums}.md\\:oldstyle-nums{--tw-numeric-figure:oldstyle-nums}.md\\:proportional-nums{--tw-numeric-spacing:proportional-nums}.md\\:tabular-nums{--tw-numeric-spacing:tabular-nums}.md\\:diagonal-fractions{--tw-numeric-fraction:diagonal-fractions}.md\\:stacked-fractions{--tw-numeric-fraction:stacked-fractions}.md\\:leading-3{line-height:.75rem}.md\\:leading-4{line-height:1rem}.md\\:leading-5{line-height:1.25rem}.md\\:leading-6{line-height:1.5rem}.md\\:leading-7{line-height:1.75rem}.md\\:leading-8{line-height:2rem}.md\\:leading-9{line-height:2.25rem}.md\\:leading-10{line-height:2.5rem}.md\\:leading-none{line-height:1}.md\\:leading-tight{line-height:1.25}.md\\:leading-snug{line-height:1.375}.md\\:leading-normal{line-height:1.5}.md\\:leading-relaxed{line-height:1.625}.md\\:leading-loose{line-height:2}.md\\:tracking-tighter{letter-spacing:-0.05em}.md\\:tracking-tight{letter-spacing:-0.025em}.md\\:tracking-normal{letter-spacing:0em}.md\\:tracking-wide{letter-spacing:0.025em}.md\\:tracking-wider{letter-spacing:0.05em}.md\\:tracking-widest{letter-spacing:0.1em}.md\\:text-transparent{color:transparent}.md\\:text-current{color:currentColor}.md\\:text-white{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.md\\:text-lightgrey{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.md\\:text-midgrey{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.md\\:text-darkgrey{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.md\\:text-grey{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.md\\:text-black{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.md\\:text-highlight{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.md\\:text-highlight_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.md\\:text-button_outline{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.md\\:text-error{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.md\\:text-text-light{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.md\\:text-text-dimmed{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.md\\:text-text-dark{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.md\\:text-body-light{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.md\\:text-body-dark{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.md\\:text-button{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.md\\:text-button_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.group:hover .md\\:group-hover\\:text-transparent{color:transparent}.group:hover .md\\:group-hover\\:text-current{color:currentColor}.group:hover .md\\:group-hover\\:text-white{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .md\\:group-hover\\:text-lightgrey{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.group:hover .md\\:group-hover\\:text-midgrey{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .md\\:group-hover\\:text-darkgrey{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.group:hover .md\\:group-hover\\:text-grey{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.group:hover .md\\:group-hover\\:text-black{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.group:hover .md\\:group-hover\\:text-highlight{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.group:hover .md\\:group-hover\\:text-highlight_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.group:hover .md\\:group-hover\\:text-button_outline{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .md\\:group-hover\\:text-error{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.group:hover .md\\:group-hover\\:text-text-light{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.group:hover .md\\:group-hover\\:text-text-dimmed{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .md\\:group-hover\\:text-text-dark{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .md\\:group-hover\\:text-body-light{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .md\\:group-hover\\:text-body-dark{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.group:hover .md\\:group-hover\\:text-button{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.group:hover .md\\:group-hover\\:text-button_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.md\\:focus-within\\:text-transparent:focus-within{color:transparent}.md\\:focus-within\\:text-current:focus-within{color:currentColor}.md\\:focus-within\\:text-white:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.md\\:focus-within\\:text-lightgrey:focus-within{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.md\\:focus-within\\:text-midgrey:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.md\\:focus-within\\:text-darkgrey:focus-within{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.md\\:focus-within\\:text-grey:focus-within{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.md\\:focus-within\\:text-black:focus-within{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.md\\:focus-within\\:text-highlight:focus-within{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.md\\:focus-within\\:text-highlight_hover:focus-within{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.md\\:focus-within\\:text-button_outline:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.md\\:focus-within\\:text-error:focus-within{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.md\\:focus-within\\:text-text-light:focus-within{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.md\\:focus-within\\:text-text-dimmed:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.md\\:focus-within\\:text-text-dark:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.md\\:focus-within\\:text-body-light:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.md\\:focus-within\\:text-body-dark:focus-within{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.md\\:focus-within\\:text-button:focus-within{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.md\\:focus-within\\:text-button_hover:focus-within{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.md\\:hover\\:text-transparent:hover{color:transparent}.md\\:hover\\:text-current:hover{color:currentColor}.md\\:hover\\:text-white:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.md\\:hover\\:text-lightgrey:hover{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.md\\:hover\\:text-midgrey:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.md\\:hover\\:text-darkgrey:hover{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.md\\:hover\\:text-grey:hover{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.md\\:hover\\:text-black:hover{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.md\\:hover\\:text-highlight:hover{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.md\\:hover\\:text-highlight_hover:hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.md\\:hover\\:text-button_outline:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.md\\:hover\\:text-error:hover{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.md\\:hover\\:text-text-light:hover{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.md\\:hover\\:text-text-dimmed:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.md\\:hover\\:text-text-dark:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.md\\:hover\\:text-body-light:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.md\\:hover\\:text-body-dark:hover{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.md\\:hover\\:text-button:hover{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.md\\:hover\\:text-button_hover:hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.md\\:focus\\:text-transparent:focus{color:transparent}.md\\:focus\\:text-current:focus{color:currentColor}.md\\:focus\\:text-white:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.md\\:focus\\:text-lightgrey:focus{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.md\\:focus\\:text-midgrey:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.md\\:focus\\:text-darkgrey:focus{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.md\\:focus\\:text-grey:focus{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.md\\:focus\\:text-black:focus{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.md\\:focus\\:text-highlight:focus{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.md\\:focus\\:text-highlight_hover:focus{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.md\\:focus\\:text-button_outline:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.md\\:focus\\:text-error:focus{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.md\\:focus\\:text-text-light:focus{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.md\\:focus\\:text-text-dimmed:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.md\\:focus\\:text-text-dark:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.md\\:focus\\:text-body-light:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.md\\:focus\\:text-body-dark:focus{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.md\\:focus\\:text-button:focus{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.md\\:focus\\:text-button_hover:focus{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}@media(prefers-color-scheme: dark){.md\\:dark\\:text-transparent{color:transparent}.md\\:dark\\:text-current{color:currentColor}.md\\:dark\\:text-white{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.md\\:dark\\:text-lightgrey{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.md\\:dark\\:text-midgrey{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.md\\:dark\\:text-darkgrey{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.md\\:dark\\:text-grey{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.md\\:dark\\:text-black{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.md\\:dark\\:text-highlight{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.md\\:dark\\:text-highlight_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.md\\:dark\\:text-button_outline{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.md\\:dark\\:text-error{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.md\\:dark\\:text-text-light{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.md\\:dark\\:text-text-dimmed{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.md\\:dark\\:text-text-dark{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.md\\:dark\\:text-body-light{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.md\\:dark\\:text-body-dark{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.md\\:dark\\:text-button{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.md\\:dark\\:text-button_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.group:hover .md\\:dark\\:group-hover\\:text-transparent{color:transparent}.group:hover .md\\:dark\\:group-hover\\:text-current{color:currentColor}.group:hover .md\\:dark\\:group-hover\\:text-white{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .md\\:dark\\:group-hover\\:text-lightgrey{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.group:hover .md\\:dark\\:group-hover\\:text-midgrey{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .md\\:dark\\:group-hover\\:text-darkgrey{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.group:hover .md\\:dark\\:group-hover\\:text-grey{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.group:hover .md\\:dark\\:group-hover\\:text-black{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.group:hover .md\\:dark\\:group-hover\\:text-highlight{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.group:hover .md\\:dark\\:group-hover\\:text-highlight_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.group:hover .md\\:dark\\:group-hover\\:text-button_outline{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .md\\:dark\\:group-hover\\:text-error{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.group:hover .md\\:dark\\:group-hover\\:text-text-light{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.group:hover .md\\:dark\\:group-hover\\:text-text-dimmed{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .md\\:dark\\:group-hover\\:text-text-dark{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .md\\:dark\\:group-hover\\:text-body-light{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .md\\:dark\\:group-hover\\:text-body-dark{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.group:hover .md\\:dark\\:group-hover\\:text-button{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.group:hover .md\\:dark\\:group-hover\\:text-button_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.md\\:dark\\:focus-within\\:text-transparent:focus-within{color:transparent}.md\\:dark\\:focus-within\\:text-current:focus-within{color:currentColor}.md\\:dark\\:focus-within\\:text-white:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.md\\:dark\\:focus-within\\:text-lightgrey:focus-within{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.md\\:dark\\:focus-within\\:text-midgrey:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.md\\:dark\\:focus-within\\:text-darkgrey:focus-within{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.md\\:dark\\:focus-within\\:text-grey:focus-within{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.md\\:dark\\:focus-within\\:text-black:focus-within{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.md\\:dark\\:focus-within\\:text-highlight:focus-within{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.md\\:dark\\:focus-within\\:text-highlight_hover:focus-within{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.md\\:dark\\:focus-within\\:text-button_outline:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.md\\:dark\\:focus-within\\:text-error:focus-within{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.md\\:dark\\:focus-within\\:text-text-light:focus-within{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.md\\:dark\\:focus-within\\:text-text-dimmed:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.md\\:dark\\:focus-within\\:text-text-dark:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.md\\:dark\\:focus-within\\:text-body-light:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.md\\:dark\\:focus-within\\:text-body-dark:focus-within{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.md\\:dark\\:focus-within\\:text-button:focus-within{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.md\\:dark\\:focus-within\\:text-button_hover:focus-within{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.md\\:dark\\:hover\\:text-transparent:hover{color:transparent}.md\\:dark\\:hover\\:text-current:hover{color:currentColor}.md\\:dark\\:hover\\:text-white:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.md\\:dark\\:hover\\:text-lightgrey:hover{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.md\\:dark\\:hover\\:text-midgrey:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.md\\:dark\\:hover\\:text-darkgrey:hover{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.md\\:dark\\:hover\\:text-grey:hover{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.md\\:dark\\:hover\\:text-black:hover{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.md\\:dark\\:hover\\:text-highlight:hover{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.md\\:dark\\:hover\\:text-highlight_hover:hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.md\\:dark\\:hover\\:text-button_outline:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.md\\:dark\\:hover\\:text-error:hover{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.md\\:dark\\:hover\\:text-text-light:hover{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.md\\:dark\\:hover\\:text-text-dimmed:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.md\\:dark\\:hover\\:text-text-dark:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.md\\:dark\\:hover\\:text-body-light:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.md\\:dark\\:hover\\:text-body-dark:hover{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.md\\:dark\\:hover\\:text-button:hover{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.md\\:dark\\:hover\\:text-button_hover:hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.md\\:dark\\:focus\\:text-transparent:focus{color:transparent}.md\\:dark\\:focus\\:text-current:focus{color:currentColor}.md\\:dark\\:focus\\:text-white:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.md\\:dark\\:focus\\:text-lightgrey:focus{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.md\\:dark\\:focus\\:text-midgrey:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.md\\:dark\\:focus\\:text-darkgrey:focus{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.md\\:dark\\:focus\\:text-grey:focus{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.md\\:dark\\:focus\\:text-black:focus{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.md\\:dark\\:focus\\:text-highlight:focus{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.md\\:dark\\:focus\\:text-highlight_hover:focus{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.md\\:dark\\:focus\\:text-button_outline:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.md\\:dark\\:focus\\:text-error:focus{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.md\\:dark\\:focus\\:text-text-light:focus{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.md\\:dark\\:focus\\:text-text-dimmed:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.md\\:dark\\:focus\\:text-text-dark:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.md\\:dark\\:focus\\:text-body-light:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.md\\:dark\\:focus\\:text-body-dark:focus{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.md\\:dark\\:focus\\:text-button:focus{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.md\\:dark\\:focus\\:text-button_hover:focus{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}}.md\\:text-opacity-0{--tw-text-opacity:0}.md\\:text-opacity-5{--tw-text-opacity:0.05}.md\\:text-opacity-10{--tw-text-opacity:0.1}.md\\:text-opacity-20{--tw-text-opacity:0.2}.md\\:text-opacity-25{--tw-text-opacity:0.25}.md\\:text-opacity-30{--tw-text-opacity:0.3}.md\\:text-opacity-40{--tw-text-opacity:0.4}.md\\:text-opacity-50{--tw-text-opacity:0.5}.md\\:text-opacity-60{--tw-text-opacity:0.6}.md\\:text-opacity-70{--tw-text-opacity:0.7}.md\\:text-opacity-75{--tw-text-opacity:0.75}.md\\:text-opacity-80{--tw-text-opacity:0.8}.md\\:text-opacity-90{--tw-text-opacity:0.9}.md\\:text-opacity-95{--tw-text-opacity:0.95}.md\\:text-opacity-100{--tw-text-opacity:1}.group:hover .md\\:group-hover\\:text-opacity-0{--tw-text-opacity:0}.group:hover .md\\:group-hover\\:text-opacity-5{--tw-text-opacity:0.05}.group:hover .md\\:group-hover\\:text-opacity-10{--tw-text-opacity:0.1}.group:hover .md\\:group-hover\\:text-opacity-20{--tw-text-opacity:0.2}.group:hover .md\\:group-hover\\:text-opacity-25{--tw-text-opacity:0.25}.group:hover .md\\:group-hover\\:text-opacity-30{--tw-text-opacity:0.3}.group:hover .md\\:group-hover\\:text-opacity-40{--tw-text-opacity:0.4}.group:hover .md\\:group-hover\\:text-opacity-50{--tw-text-opacity:0.5}.group:hover .md\\:group-hover\\:text-opacity-60{--tw-text-opacity:0.6}.group:hover .md\\:group-hover\\:text-opacity-70{--tw-text-opacity:0.7}.group:hover .md\\:group-hover\\:text-opacity-75{--tw-text-opacity:0.75}.group:hover .md\\:group-hover\\:text-opacity-80{--tw-text-opacity:0.8}.group:hover .md\\:group-hover\\:text-opacity-90{--tw-text-opacity:0.9}.group:hover .md\\:group-hover\\:text-opacity-95{--tw-text-opacity:0.95}.group:hover .md\\:group-hover\\:text-opacity-100{--tw-text-opacity:1}.md\\:focus-within\\:text-opacity-0:focus-within{--tw-text-opacity:0}.md\\:focus-within\\:text-opacity-5:focus-within{--tw-text-opacity:0.05}.md\\:focus-within\\:text-opacity-10:focus-within{--tw-text-opacity:0.1}.md\\:focus-within\\:text-opacity-20:focus-within{--tw-text-opacity:0.2}.md\\:focus-within\\:text-opacity-25:focus-within{--tw-text-opacity:0.25}.md\\:focus-within\\:text-opacity-30:focus-within{--tw-text-opacity:0.3}.md\\:focus-within\\:text-opacity-40:focus-within{--tw-text-opacity:0.4}.md\\:focus-within\\:text-opacity-50:focus-within{--tw-text-opacity:0.5}.md\\:focus-within\\:text-opacity-60:focus-within{--tw-text-opacity:0.6}.md\\:focus-within\\:text-opacity-70:focus-within{--tw-text-opacity:0.7}.md\\:focus-within\\:text-opacity-75:focus-within{--tw-text-opacity:0.75}.md\\:focus-within\\:text-opacity-80:focus-within{--tw-text-opacity:0.8}.md\\:focus-within\\:text-opacity-90:focus-within{--tw-text-opacity:0.9}.md\\:focus-within\\:text-opacity-95:focus-within{--tw-text-opacity:0.95}.md\\:focus-within\\:text-opacity-100:focus-within{--tw-text-opacity:1}.md\\:hover\\:text-opacity-0:hover{--tw-text-opacity:0}.md\\:hover\\:text-opacity-5:hover{--tw-text-opacity:0.05}.md\\:hover\\:text-opacity-10:hover{--tw-text-opacity:0.1}.md\\:hover\\:text-opacity-20:hover{--tw-text-opacity:0.2}.md\\:hover\\:text-opacity-25:hover{--tw-text-opacity:0.25}.md\\:hover\\:text-opacity-30:hover{--tw-text-opacity:0.3}.md\\:hover\\:text-opacity-40:hover{--tw-text-opacity:0.4}.md\\:hover\\:text-opacity-50:hover{--tw-text-opacity:0.5}.md\\:hover\\:text-opacity-60:hover{--tw-text-opacity:0.6}.md\\:hover\\:text-opacity-70:hover{--tw-text-opacity:0.7}.md\\:hover\\:text-opacity-75:hover{--tw-text-opacity:0.75}.md\\:hover\\:text-opacity-80:hover{--tw-text-opacity:0.8}.md\\:hover\\:text-opacity-90:hover{--tw-text-opacity:0.9}.md\\:hover\\:text-opacity-95:hover{--tw-text-opacity:0.95}.md\\:hover\\:text-opacity-100:hover{--tw-text-opacity:1}.md\\:focus\\:text-opacity-0:focus{--tw-text-opacity:0}.md\\:focus\\:text-opacity-5:focus{--tw-text-opacity:0.05}.md\\:focus\\:text-opacity-10:focus{--tw-text-opacity:0.1}.md\\:focus\\:text-opacity-20:focus{--tw-text-opacity:0.2}.md\\:focus\\:text-opacity-25:focus{--tw-text-opacity:0.25}.md\\:focus\\:text-opacity-30:focus{--tw-text-opacity:0.3}.md\\:focus\\:text-opacity-40:focus{--tw-text-opacity:0.4}.md\\:focus\\:text-opacity-50:focus{--tw-text-opacity:0.5}.md\\:focus\\:text-opacity-60:focus{--tw-text-opacity:0.6}.md\\:focus\\:text-opacity-70:focus{--tw-text-opacity:0.7}.md\\:focus\\:text-opacity-75:focus{--tw-text-opacity:0.75}.md\\:focus\\:text-opacity-80:focus{--tw-text-opacity:0.8}.md\\:focus\\:text-opacity-90:focus{--tw-text-opacity:0.9}.md\\:focus\\:text-opacity-95:focus{--tw-text-opacity:0.95}.md\\:focus\\:text-opacity-100:focus{--tw-text-opacity:1}@media(prefers-color-scheme: dark){.md\\:dark\\:text-opacity-0{--tw-text-opacity:0}.md\\:dark\\:text-opacity-5{--tw-text-opacity:0.05}.md\\:dark\\:text-opacity-10{--tw-text-opacity:0.1}.md\\:dark\\:text-opacity-20{--tw-text-opacity:0.2}.md\\:dark\\:text-opacity-25{--tw-text-opacity:0.25}.md\\:dark\\:text-opacity-30{--tw-text-opacity:0.3}.md\\:dark\\:text-opacity-40{--tw-text-opacity:0.4}.md\\:dark\\:text-opacity-50{--tw-text-opacity:0.5}.md\\:dark\\:text-opacity-60{--tw-text-opacity:0.6}.md\\:dark\\:text-opacity-70{--tw-text-opacity:0.7}.md\\:dark\\:text-opacity-75{--tw-text-opacity:0.75}.md\\:dark\\:text-opacity-80{--tw-text-opacity:0.8}.md\\:dark\\:text-opacity-90{--tw-text-opacity:0.9}.md\\:dark\\:text-opacity-95{--tw-text-opacity:0.95}.md\\:dark\\:text-opacity-100{--tw-text-opacity:1}.group:hover .md\\:dark\\:group-hover\\:text-opacity-0{--tw-text-opacity:0}.group:hover .md\\:dark\\:group-hover\\:text-opacity-5{--tw-text-opacity:0.05}.group:hover .md\\:dark\\:group-hover\\:text-opacity-10{--tw-text-opacity:0.1}.group:hover .md\\:dark\\:group-hover\\:text-opacity-20{--tw-text-opacity:0.2}.group:hover .md\\:dark\\:group-hover\\:text-opacity-25{--tw-text-opacity:0.25}.group:hover .md\\:dark\\:group-hover\\:text-opacity-30{--tw-text-opacity:0.3}.group:hover .md\\:dark\\:group-hover\\:text-opacity-40{--tw-text-opacity:0.4}.group:hover .md\\:dark\\:group-hover\\:text-opacity-50{--tw-text-opacity:0.5}.group:hover .md\\:dark\\:group-hover\\:text-opacity-60{--tw-text-opacity:0.6}.group:hover .md\\:dark\\:group-hover\\:text-opacity-70{--tw-text-opacity:0.7}.group:hover .md\\:dark\\:group-hover\\:text-opacity-75{--tw-text-opacity:0.75}.group:hover .md\\:dark\\:group-hover\\:text-opacity-80{--tw-text-opacity:0.8}.group:hover .md\\:dark\\:group-hover\\:text-opacity-90{--tw-text-opacity:0.9}.group:hover .md\\:dark\\:group-hover\\:text-opacity-95{--tw-text-opacity:0.95}.group:hover .md\\:dark\\:group-hover\\:text-opacity-100{--tw-text-opacity:1}.md\\:dark\\:focus-within\\:text-opacity-0:focus-within{--tw-text-opacity:0}.md\\:dark\\:focus-within\\:text-opacity-5:focus-within{--tw-text-opacity:0.05}.md\\:dark\\:focus-within\\:text-opacity-10:focus-within{--tw-text-opacity:0.1}.md\\:dark\\:focus-within\\:text-opacity-20:focus-within{--tw-text-opacity:0.2}.md\\:dark\\:focus-within\\:text-opacity-25:focus-within{--tw-text-opacity:0.25}.md\\:dark\\:focus-within\\:text-opacity-30:focus-within{--tw-text-opacity:0.3}.md\\:dark\\:focus-within\\:text-opacity-40:focus-within{--tw-text-opacity:0.4}.md\\:dark\\:focus-within\\:text-opacity-50:focus-within{--tw-text-opacity:0.5}.md\\:dark\\:focus-within\\:text-opacity-60:focus-within{--tw-text-opacity:0.6}.md\\:dark\\:focus-within\\:text-opacity-70:focus-within{--tw-text-opacity:0.7}.md\\:dark\\:focus-within\\:text-opacity-75:focus-within{--tw-text-opacity:0.75}.md\\:dark\\:focus-within\\:text-opacity-80:focus-within{--tw-text-opacity:0.8}.md\\:dark\\:focus-within\\:text-opacity-90:focus-within{--tw-text-opacity:0.9}.md\\:dark\\:focus-within\\:text-opacity-95:focus-within{--tw-text-opacity:0.95}.md\\:dark\\:focus-within\\:text-opacity-100:focus-within{--tw-text-opacity:1}.md\\:dark\\:hover\\:text-opacity-0:hover{--tw-text-opacity:0}.md\\:dark\\:hover\\:text-opacity-5:hover{--tw-text-opacity:0.05}.md\\:dark\\:hover\\:text-opacity-10:hover{--tw-text-opacity:0.1}.md\\:dark\\:hover\\:text-opacity-20:hover{--tw-text-opacity:0.2}.md\\:dark\\:hover\\:text-opacity-25:hover{--tw-text-opacity:0.25}.md\\:dark\\:hover\\:text-opacity-30:hover{--tw-text-opacity:0.3}.md\\:dark\\:hover\\:text-opacity-40:hover{--tw-text-opacity:0.4}.md\\:dark\\:hover\\:text-opacity-50:hover{--tw-text-opacity:0.5}.md\\:dark\\:hover\\:text-opacity-60:hover{--tw-text-opacity:0.6}.md\\:dark\\:hover\\:text-opacity-70:hover{--tw-text-opacity:0.7}.md\\:dark\\:hover\\:text-opacity-75:hover{--tw-text-opacity:0.75}.md\\:dark\\:hover\\:text-opacity-80:hover{--tw-text-opacity:0.8}.md\\:dark\\:hover\\:text-opacity-90:hover{--tw-text-opacity:0.9}.md\\:dark\\:hover\\:text-opacity-95:hover{--tw-text-opacity:0.95}.md\\:dark\\:hover\\:text-opacity-100:hover{--tw-text-opacity:1}.md\\:dark\\:focus\\:text-opacity-0:focus{--tw-text-opacity:0}.md\\:dark\\:focus\\:text-opacity-5:focus{--tw-text-opacity:0.05}.md\\:dark\\:focus\\:text-opacity-10:focus{--tw-text-opacity:0.1}.md\\:dark\\:focus\\:text-opacity-20:focus{--tw-text-opacity:0.2}.md\\:dark\\:focus\\:text-opacity-25:focus{--tw-text-opacity:0.25}.md\\:dark\\:focus\\:text-opacity-30:focus{--tw-text-opacity:0.3}.md\\:dark\\:focus\\:text-opacity-40:focus{--tw-text-opacity:0.4}.md\\:dark\\:focus\\:text-opacity-50:focus{--tw-text-opacity:0.5}.md\\:dark\\:focus\\:text-opacity-60:focus{--tw-text-opacity:0.6}.md\\:dark\\:focus\\:text-opacity-70:focus{--tw-text-opacity:0.7}.md\\:dark\\:focus\\:text-opacity-75:focus{--tw-text-opacity:0.75}.md\\:dark\\:focus\\:text-opacity-80:focus{--tw-text-opacity:0.8}.md\\:dark\\:focus\\:text-opacity-90:focus{--tw-text-opacity:0.9}.md\\:dark\\:focus\\:text-opacity-95:focus{--tw-text-opacity:0.95}.md\\:dark\\:focus\\:text-opacity-100:focus{--tw-text-opacity:1}}.md\\:underline{text-decoration:underline}.md\\:line-through{text-decoration:line-through}.md\\:no-underline{text-decoration:none}.group:hover .md\\:group-hover\\:underline{text-decoration:underline}.group:hover .md\\:group-hover\\:line-through{text-decoration:line-through}.group:hover .md\\:group-hover\\:no-underline{text-decoration:none}.md\\:focus-within\\:underline:focus-within{text-decoration:underline}.md\\:focus-within\\:line-through:focus-within{text-decoration:line-through}.md\\:focus-within\\:no-underline:focus-within{text-decoration:none}.md\\:hover\\:underline:hover{text-decoration:underline}.md\\:hover\\:line-through:hover{text-decoration:line-through}.md\\:hover\\:no-underline:hover{text-decoration:none}.md\\:focus\\:underline:focus{text-decoration:underline}.md\\:focus\\:line-through:focus{text-decoration:line-through}.md\\:focus\\:no-underline:focus{text-decoration:none}.md\\:antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.md\\:subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.md\\:placeholder-transparent::placeholder{color:transparent}.md\\:placeholder-current::placeholder{color:currentColor}.md\\:placeholder-white::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.md\\:placeholder-lightgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(247, 247, 247, var(--tw-placeholder-opacity))}.md\\:placeholder-midgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.md\\:placeholder-darkgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(127, 127, 127, var(--tw-placeholder-opacity))}.md\\:placeholder-grey::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.md\\:placeholder-black::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.md\\:placeholder-highlight::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.md\\:placeholder-highlight_hover::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.md\\:placeholder-button_outline::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.md\\:placeholder-error::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 69, 58, var(--tw-placeholder-opacity))}.md\\:placeholder-text-light::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.md\\:placeholder-text-dimmed::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.md\\:placeholder-text-dark::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.md\\:placeholder-body-light::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.md\\:placeholder-body-dark::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.md\\:placeholder-button::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.md\\:placeholder-button_hover::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.md\\:focus\\:placeholder-transparent:focus::placeholder{color:transparent}.md\\:focus\\:placeholder-current:focus::placeholder{color:currentColor}.md\\:focus\\:placeholder-white:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.md\\:focus\\:placeholder-lightgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(247, 247, 247, var(--tw-placeholder-opacity))}.md\\:focus\\:placeholder-midgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.md\\:focus\\:placeholder-darkgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(127, 127, 127, var(--tw-placeholder-opacity))}.md\\:focus\\:placeholder-grey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.md\\:focus\\:placeholder-black:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.md\\:focus\\:placeholder-highlight:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.md\\:focus\\:placeholder-highlight_hover:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.md\\:focus\\:placeholder-button_outline:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.md\\:focus\\:placeholder-error:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 69, 58, var(--tw-placeholder-opacity))}.md\\:focus\\:placeholder-text-light:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.md\\:focus\\:placeholder-text-dimmed:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.md\\:focus\\:placeholder-text-dark:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.md\\:focus\\:placeholder-body-light:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.md\\:focus\\:placeholder-body-dark:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.md\\:focus\\:placeholder-button:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.md\\:focus\\:placeholder-button_hover:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}@media(prefers-color-scheme: dark){.md\\:dark\\:placeholder-transparent::placeholder{color:transparent}.md\\:dark\\:placeholder-current::placeholder{color:currentColor}.md\\:dark\\:placeholder-white::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.md\\:dark\\:placeholder-lightgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(247, 247, 247, var(--tw-placeholder-opacity))}.md\\:dark\\:placeholder-midgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.md\\:dark\\:placeholder-darkgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(127, 127, 127, var(--tw-placeholder-opacity))}.md\\:dark\\:placeholder-grey::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.md\\:dark\\:placeholder-black::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.md\\:dark\\:placeholder-highlight::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.md\\:dark\\:placeholder-highlight_hover::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.md\\:dark\\:placeholder-button_outline::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.md\\:dark\\:placeholder-error::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 69, 58, var(--tw-placeholder-opacity))}.md\\:dark\\:placeholder-text-light::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.md\\:dark\\:placeholder-text-dimmed::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.md\\:dark\\:placeholder-text-dark::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.md\\:dark\\:placeholder-body-light::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.md\\:dark\\:placeholder-body-dark::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.md\\:dark\\:placeholder-button::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.md\\:dark\\:placeholder-button_hover::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.md\\:dark\\:focus\\:placeholder-transparent:focus::placeholder{color:transparent}.md\\:dark\\:focus\\:placeholder-current:focus::placeholder{color:currentColor}.md\\:dark\\:focus\\:placeholder-white:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.md\\:dark\\:focus\\:placeholder-lightgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(247, 247, 247, var(--tw-placeholder-opacity))}.md\\:dark\\:focus\\:placeholder-midgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.md\\:dark\\:focus\\:placeholder-darkgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(127, 127, 127, var(--tw-placeholder-opacity))}.md\\:dark\\:focus\\:placeholder-grey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.md\\:dark\\:focus\\:placeholder-black:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.md\\:dark\\:focus\\:placeholder-highlight:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.md\\:dark\\:focus\\:placeholder-highlight_hover:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.md\\:dark\\:focus\\:placeholder-button_outline:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.md\\:dark\\:focus\\:placeholder-error:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 69, 58, var(--tw-placeholder-opacity))}.md\\:dark\\:focus\\:placeholder-text-light:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.md\\:dark\\:focus\\:placeholder-text-dimmed:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.md\\:dark\\:focus\\:placeholder-text-dark:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.md\\:dark\\:focus\\:placeholder-body-light:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.md\\:dark\\:focus\\:placeholder-body-dark:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.md\\:dark\\:focus\\:placeholder-button:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.md\\:dark\\:focus\\:placeholder-button_hover:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}}.md\\:placeholder-opacity-0::placeholder{--tw-placeholder-opacity:0}.md\\:placeholder-opacity-5::placeholder{--tw-placeholder-opacity:0.05}.md\\:placeholder-opacity-10::placeholder{--tw-placeholder-opacity:0.1}.md\\:placeholder-opacity-20::placeholder{--tw-placeholder-opacity:0.2}.md\\:placeholder-opacity-25::placeholder{--tw-placeholder-opacity:0.25}.md\\:placeholder-opacity-30::placeholder{--tw-placeholder-opacity:0.3}.md\\:placeholder-opacity-40::placeholder{--tw-placeholder-opacity:0.4}.md\\:placeholder-opacity-50::placeholder{--tw-placeholder-opacity:0.5}.md\\:placeholder-opacity-60::placeholder{--tw-placeholder-opacity:0.6}.md\\:placeholder-opacity-70::placeholder{--tw-placeholder-opacity:0.7}.md\\:placeholder-opacity-75::placeholder{--tw-placeholder-opacity:0.75}.md\\:placeholder-opacity-80::placeholder{--tw-placeholder-opacity:0.8}.md\\:placeholder-opacity-90::placeholder{--tw-placeholder-opacity:0.9}.md\\:placeholder-opacity-95::placeholder{--tw-placeholder-opacity:0.95}.md\\:placeholder-opacity-100::placeholder{--tw-placeholder-opacity:1}.md\\:focus\\:placeholder-opacity-0:focus::placeholder{--tw-placeholder-opacity:0}.md\\:focus\\:placeholder-opacity-5:focus::placeholder{--tw-placeholder-opacity:0.05}.md\\:focus\\:placeholder-opacity-10:focus::placeholder{--tw-placeholder-opacity:0.1}.md\\:focus\\:placeholder-opacity-20:focus::placeholder{--tw-placeholder-opacity:0.2}.md\\:focus\\:placeholder-opacity-25:focus::placeholder{--tw-placeholder-opacity:0.25}.md\\:focus\\:placeholder-opacity-30:focus::placeholder{--tw-placeholder-opacity:0.3}.md\\:focus\\:placeholder-opacity-40:focus::placeholder{--tw-placeholder-opacity:0.4}.md\\:focus\\:placeholder-opacity-50:focus::placeholder{--tw-placeholder-opacity:0.5}.md\\:focus\\:placeholder-opacity-60:focus::placeholder{--tw-placeholder-opacity:0.6}.md\\:focus\\:placeholder-opacity-70:focus::placeholder{--tw-placeholder-opacity:0.7}.md\\:focus\\:placeholder-opacity-75:focus::placeholder{--tw-placeholder-opacity:0.75}.md\\:focus\\:placeholder-opacity-80:focus::placeholder{--tw-placeholder-opacity:0.8}.md\\:focus\\:placeholder-opacity-90:focus::placeholder{--tw-placeholder-opacity:0.9}.md\\:focus\\:placeholder-opacity-95:focus::placeholder{--tw-placeholder-opacity:0.95}.md\\:focus\\:placeholder-opacity-100:focus::placeholder{--tw-placeholder-opacity:1}@media(prefers-color-scheme: dark){.md\\:dark\\:placeholder-opacity-0::placeholder{--tw-placeholder-opacity:0}.md\\:dark\\:placeholder-opacity-5::placeholder{--tw-placeholder-opacity:0.05}.md\\:dark\\:placeholder-opacity-10::placeholder{--tw-placeholder-opacity:0.1}.md\\:dark\\:placeholder-opacity-20::placeholder{--tw-placeholder-opacity:0.2}.md\\:dark\\:placeholder-opacity-25::placeholder{--tw-placeholder-opacity:0.25}.md\\:dark\\:placeholder-opacity-30::placeholder{--tw-placeholder-opacity:0.3}.md\\:dark\\:placeholder-opacity-40::placeholder{--tw-placeholder-opacity:0.4}.md\\:dark\\:placeholder-opacity-50::placeholder{--tw-placeholder-opacity:0.5}.md\\:dark\\:placeholder-opacity-60::placeholder{--tw-placeholder-opacity:0.6}.md\\:dark\\:placeholder-opacity-70::placeholder{--tw-placeholder-opacity:0.7}.md\\:dark\\:placeholder-opacity-75::placeholder{--tw-placeholder-opacity:0.75}.md\\:dark\\:placeholder-opacity-80::placeholder{--tw-placeholder-opacity:0.8}.md\\:dark\\:placeholder-opacity-90::placeholder{--tw-placeholder-opacity:0.9}.md\\:dark\\:placeholder-opacity-95::placeholder{--tw-placeholder-opacity:0.95}.md\\:dark\\:placeholder-opacity-100::placeholder{--tw-placeholder-opacity:1}.md\\:dark\\:focus\\:placeholder-opacity-0:focus::placeholder{--tw-placeholder-opacity:0}.md\\:dark\\:focus\\:placeholder-opacity-5:focus::placeholder{--tw-placeholder-opacity:0.05}.md\\:dark\\:focus\\:placeholder-opacity-10:focus::placeholder{--tw-placeholder-opacity:0.1}.md\\:dark\\:focus\\:placeholder-opacity-20:focus::placeholder{--tw-placeholder-opacity:0.2}.md\\:dark\\:focus\\:placeholder-opacity-25:focus::placeholder{--tw-placeholder-opacity:0.25}.md\\:dark\\:focus\\:placeholder-opacity-30:focus::placeholder{--tw-placeholder-opacity:0.3}.md\\:dark\\:focus\\:placeholder-opacity-40:focus::placeholder{--tw-placeholder-opacity:0.4}.md\\:dark\\:focus\\:placeholder-opacity-50:focus::placeholder{--tw-placeholder-opacity:0.5}.md\\:dark\\:focus\\:placeholder-opacity-60:focus::placeholder{--tw-placeholder-opacity:0.6}.md\\:dark\\:focus\\:placeholder-opacity-70:focus::placeholder{--tw-placeholder-opacity:0.7}.md\\:dark\\:focus\\:placeholder-opacity-75:focus::placeholder{--tw-placeholder-opacity:0.75}.md\\:dark\\:focus\\:placeholder-opacity-80:focus::placeholder{--tw-placeholder-opacity:0.8}.md\\:dark\\:focus\\:placeholder-opacity-90:focus::placeholder{--tw-placeholder-opacity:0.9}.md\\:dark\\:focus\\:placeholder-opacity-95:focus::placeholder{--tw-placeholder-opacity:0.95}.md\\:dark\\:focus\\:placeholder-opacity-100:focus::placeholder{--tw-placeholder-opacity:1}}.md\\:opacity-0{opacity:0}.md\\:opacity-5{opacity:0.05}.md\\:opacity-10{opacity:0.1}.md\\:opacity-20{opacity:0.2}.md\\:opacity-25{opacity:0.25}.md\\:opacity-30{opacity:0.3}.md\\:opacity-40{opacity:0.4}.md\\:opacity-50{opacity:0.5}.md\\:opacity-60{opacity:0.6}.md\\:opacity-70{opacity:0.7}.md\\:opacity-75{opacity:0.75}.md\\:opacity-80{opacity:0.8}.md\\:opacity-90{opacity:0.9}.md\\:opacity-95{opacity:0.95}.md\\:opacity-100{opacity:1}.group:hover .md\\:group-hover\\:opacity-0{opacity:0}.group:hover .md\\:group-hover\\:opacity-5{opacity:0.05}.group:hover .md\\:group-hover\\:opacity-10{opacity:0.1}.group:hover .md\\:group-hover\\:opacity-20{opacity:0.2}.group:hover .md\\:group-hover\\:opacity-25{opacity:0.25}.group:hover .md\\:group-hover\\:opacity-30{opacity:0.3}.group:hover .md\\:group-hover\\:opacity-40{opacity:0.4}.group:hover .md\\:group-hover\\:opacity-50{opacity:0.5}.group:hover .md\\:group-hover\\:opacity-60{opacity:0.6}.group:hover .md\\:group-hover\\:opacity-70{opacity:0.7}.group:hover .md\\:group-hover\\:opacity-75{opacity:0.75}.group:hover .md\\:group-hover\\:opacity-80{opacity:0.8}.group:hover .md\\:group-hover\\:opacity-90{opacity:0.9}.group:hover .md\\:group-hover\\:opacity-95{opacity:0.95}.group:hover .md\\:group-hover\\:opacity-100{opacity:1}.md\\:focus-within\\:opacity-0:focus-within{opacity:0}.md\\:focus-within\\:opacity-5:focus-within{opacity:0.05}.md\\:focus-within\\:opacity-10:focus-within{opacity:0.1}.md\\:focus-within\\:opacity-20:focus-within{opacity:0.2}.md\\:focus-within\\:opacity-25:focus-within{opacity:0.25}.md\\:focus-within\\:opacity-30:focus-within{opacity:0.3}.md\\:focus-within\\:opacity-40:focus-within{opacity:0.4}.md\\:focus-within\\:opacity-50:focus-within{opacity:0.5}.md\\:focus-within\\:opacity-60:focus-within{opacity:0.6}.md\\:focus-within\\:opacity-70:focus-within{opacity:0.7}.md\\:focus-within\\:opacity-75:focus-within{opacity:0.75}.md\\:focus-within\\:opacity-80:focus-within{opacity:0.8}.md\\:focus-within\\:opacity-90:focus-within{opacity:0.9}.md\\:focus-within\\:opacity-95:focus-within{opacity:0.95}.md\\:focus-within\\:opacity-100:focus-within{opacity:1}.md\\:hover\\:opacity-0:hover{opacity:0}.md\\:hover\\:opacity-5:hover{opacity:0.05}.md\\:hover\\:opacity-10:hover{opacity:0.1}.md\\:hover\\:opacity-20:hover{opacity:0.2}.md\\:hover\\:opacity-25:hover{opacity:0.25}.md\\:hover\\:opacity-30:hover{opacity:0.3}.md\\:hover\\:opacity-40:hover{opacity:0.4}.md\\:hover\\:opacity-50:hover{opacity:0.5}.md\\:hover\\:opacity-60:hover{opacity:0.6}.md\\:hover\\:opacity-70:hover{opacity:0.7}.md\\:hover\\:opacity-75:hover{opacity:0.75}.md\\:hover\\:opacity-80:hover{opacity:0.8}.md\\:hover\\:opacity-90:hover{opacity:0.9}.md\\:hover\\:opacity-95:hover{opacity:0.95}.md\\:hover\\:opacity-100:hover{opacity:1}.md\\:focus\\:opacity-0:focus{opacity:0}.md\\:focus\\:opacity-5:focus{opacity:0.05}.md\\:focus\\:opacity-10:focus{opacity:0.1}.md\\:focus\\:opacity-20:focus{opacity:0.2}.md\\:focus\\:opacity-25:focus{opacity:0.25}.md\\:focus\\:opacity-30:focus{opacity:0.3}.md\\:focus\\:opacity-40:focus{opacity:0.4}.md\\:focus\\:opacity-50:focus{opacity:0.5}.md\\:focus\\:opacity-60:focus{opacity:0.6}.md\\:focus\\:opacity-70:focus{opacity:0.7}.md\\:focus\\:opacity-75:focus{opacity:0.75}.md\\:focus\\:opacity-80:focus{opacity:0.8}.md\\:focus\\:opacity-90:focus{opacity:0.9}.md\\:focus\\:opacity-95:focus{opacity:0.95}.md\\:focus\\:opacity-100:focus{opacity:1}.md\\:bg-blend-normal{background-blend-mode:normal}.md\\:bg-blend-multiply{background-blend-mode:multiply}.md\\:bg-blend-screen{background-blend-mode:screen}.md\\:bg-blend-overlay{background-blend-mode:overlay}.md\\:bg-blend-darken{background-blend-mode:darken}.md\\:bg-blend-lighten{background-blend-mode:lighten}.md\\:bg-blend-color-dodge{background-blend-mode:color-dodge}.md\\:bg-blend-color-burn{background-blend-mode:color-burn}.md\\:bg-blend-hard-light{background-blend-mode:hard-light}.md\\:bg-blend-soft-light{background-blend-mode:soft-light}.md\\:bg-blend-difference{background-blend-mode:difference}.md\\:bg-blend-exclusion{background-blend-mode:exclusion}.md\\:bg-blend-hue{background-blend-mode:hue}.md\\:bg-blend-saturation{background-blend-mode:saturation}.md\\:bg-blend-color{background-blend-mode:color}.md\\:bg-blend-luminosity{background-blend-mode:luminosity}.md\\:mix-blend-normal{mix-blend-mode:normal}.md\\:mix-blend-multiply{mix-blend-mode:multiply}.md\\:mix-blend-screen{mix-blend-mode:screen}.md\\:mix-blend-overlay{mix-blend-mode:overlay}.md\\:mix-blend-darken{mix-blend-mode:darken}.md\\:mix-blend-lighten{mix-blend-mode:lighten}.md\\:mix-blend-color-dodge{mix-blend-mode:color-dodge}.md\\:mix-blend-color-burn{mix-blend-mode:color-burn}.md\\:mix-blend-hard-light{mix-blend-mode:hard-light}.md\\:mix-blend-soft-light{mix-blend-mode:soft-light}.md\\:mix-blend-difference{mix-blend-mode:difference}.md\\:mix-blend-exclusion{mix-blend-mode:exclusion}.md\\:mix-blend-hue{mix-blend-mode:hue}.md\\:mix-blend-saturation{mix-blend-mode:saturation}.md\\:mix-blend-color{mix-blend-mode:color}.md\\:mix-blend-luminosity{mix-blend-mode:luminosity}.md\\:shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:shadow{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:shadow-md{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .md\\:group-hover\\:shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .md\\:group-hover\\:shadow{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .md\\:group-hover\\:shadow-md{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .md\\:group-hover\\:shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .md\\:group-hover\\:shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .md\\:group-hover\\:shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .md\\:group-hover\\:shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .md\\:group-hover\\:shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:focus-within\\:shadow-sm:focus-within{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:focus-within\\:shadow:focus-within{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:focus-within\\:shadow-md:focus-within{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:focus-within\\:shadow-lg:focus-within{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:focus-within\\:shadow-xl:focus-within{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:focus-within\\:shadow-2xl:focus-within{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:focus-within\\:shadow-inner:focus-within{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:focus-within\\:shadow-none:focus-within{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:hover\\:shadow-sm:hover{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:hover\\:shadow:hover{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:hover\\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:hover\\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:hover\\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:hover\\:shadow-2xl:hover{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:hover\\:shadow-inner:hover{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:hover\\:shadow-none:hover{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:focus\\:shadow-sm:focus{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:focus\\:shadow:focus{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:focus\\:shadow-md:focus{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:focus\\:shadow-lg:focus{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:focus\\:shadow-xl:focus{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:focus\\:shadow-2xl:focus{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:focus\\:shadow-inner:focus{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:focus\\:shadow-none:focus{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.md\\:outline-none{outline:2px solid transparent;outline-offset:2px}.md\\:outline-white{outline:2px dotted white;outline-offset:2px}.md\\:outline-black{outline:2px dotted black;outline-offset:2px}.md\\:focus-within\\:outline-none:focus-within{outline:2px solid transparent;outline-offset:2px}.md\\:focus-within\\:outline-white:focus-within{outline:2px dotted white;outline-offset:2px}.md\\:focus-within\\:outline-black:focus-within{outline:2px dotted black;outline-offset:2px}.md\\:focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.md\\:focus\\:outline-white:focus{outline:2px dotted white;outline-offset:2px}.md\\:focus\\:outline-black:focus{outline:2px dotted black;outline-offset:2px}.md\\:ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.md\\:ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.md\\:ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.md\\:ring-4{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.md\\:ring-8{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.md\\:ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.md\\:focus-within\\:ring-0:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.md\\:focus-within\\:ring-1:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.md\\:focus-within\\:ring-2:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.md\\:focus-within\\:ring-4:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.md\\:focus-within\\:ring-8:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.md\\:focus-within\\:ring:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.md\\:focus\\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.md\\:focus\\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.md\\:focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.md\\:focus\\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.md\\:focus\\:ring-8:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.md\\:focus\\:ring:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.md\\:ring-inset{--tw-ring-inset:inset}.md\\:focus-within\\:ring-inset:focus-within{--tw-ring-inset:inset}.md\\:focus\\:ring-inset:focus{--tw-ring-inset:inset}.md\\:ring-transparent{--tw-ring-color:transparent}.md\\:ring-current{--tw-ring-color:currentColor}.md\\:ring-white{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.md\\:ring-lightgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.md\\:ring-midgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.md\\:ring-darkgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.md\\:ring-grey{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.md\\:ring-black{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.md\\:ring-highlight{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.md\\:ring-highlight_hover{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.md\\:ring-button_outline{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.md\\:ring-error{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.md\\:ring-text-light{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.md\\:ring-text-dimmed{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.md\\:ring-text-dark{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.md\\:ring-body-light{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.md\\:ring-body-dark{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.md\\:ring-button{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.md\\:ring-button_hover{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.md\\:focus-within\\:ring-transparent:focus-within{--tw-ring-color:transparent}.md\\:focus-within\\:ring-current:focus-within{--tw-ring-color:currentColor}.md\\:focus-within\\:ring-white:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.md\\:focus-within\\:ring-lightgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.md\\:focus-within\\:ring-midgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.md\\:focus-within\\:ring-darkgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.md\\:focus-within\\:ring-grey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.md\\:focus-within\\:ring-black:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.md\\:focus-within\\:ring-highlight:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.md\\:focus-within\\:ring-highlight_hover:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.md\\:focus-within\\:ring-button_outline:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.md\\:focus-within\\:ring-error:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.md\\:focus-within\\:ring-text-light:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.md\\:focus-within\\:ring-text-dimmed:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.md\\:focus-within\\:ring-text-dark:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.md\\:focus-within\\:ring-body-light:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.md\\:focus-within\\:ring-body-dark:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.md\\:focus-within\\:ring-button:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.md\\:focus-within\\:ring-button_hover:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.md\\:focus\\:ring-transparent:focus{--tw-ring-color:transparent}.md\\:focus\\:ring-current:focus{--tw-ring-color:currentColor}.md\\:focus\\:ring-white:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.md\\:focus\\:ring-lightgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.md\\:focus\\:ring-midgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.md\\:focus\\:ring-darkgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.md\\:focus\\:ring-grey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.md\\:focus\\:ring-black:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.md\\:focus\\:ring-highlight:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.md\\:focus\\:ring-highlight_hover:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.md\\:focus\\:ring-button_outline:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.md\\:focus\\:ring-error:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.md\\:focus\\:ring-text-light:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.md\\:focus\\:ring-text-dimmed:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.md\\:focus\\:ring-text-dark:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.md\\:focus\\:ring-body-light:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.md\\:focus\\:ring-body-dark:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.md\\:focus\\:ring-button:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.md\\:focus\\:ring-button_hover:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}@media(prefers-color-scheme: dark){.md\\:dark\\:ring-transparent{--tw-ring-color:transparent}.md\\:dark\\:ring-current{--tw-ring-color:currentColor}.md\\:dark\\:ring-white{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.md\\:dark\\:ring-lightgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.md\\:dark\\:ring-midgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.md\\:dark\\:ring-darkgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.md\\:dark\\:ring-grey{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.md\\:dark\\:ring-black{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.md\\:dark\\:ring-highlight{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.md\\:dark\\:ring-highlight_hover{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.md\\:dark\\:ring-button_outline{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.md\\:dark\\:ring-error{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.md\\:dark\\:ring-text-light{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.md\\:dark\\:ring-text-dimmed{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.md\\:dark\\:ring-text-dark{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.md\\:dark\\:ring-body-light{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.md\\:dark\\:ring-body-dark{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.md\\:dark\\:ring-button{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.md\\:dark\\:ring-button_hover{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.md\\:dark\\:focus-within\\:ring-transparent:focus-within{--tw-ring-color:transparent}.md\\:dark\\:focus-within\\:ring-current:focus-within{--tw-ring-color:currentColor}.md\\:dark\\:focus-within\\:ring-white:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.md\\:dark\\:focus-within\\:ring-lightgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.md\\:dark\\:focus-within\\:ring-midgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.md\\:dark\\:focus-within\\:ring-darkgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.md\\:dark\\:focus-within\\:ring-grey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.md\\:dark\\:focus-within\\:ring-black:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.md\\:dark\\:focus-within\\:ring-highlight:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.md\\:dark\\:focus-within\\:ring-highlight_hover:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.md\\:dark\\:focus-within\\:ring-button_outline:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.md\\:dark\\:focus-within\\:ring-error:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.md\\:dark\\:focus-within\\:ring-text-light:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.md\\:dark\\:focus-within\\:ring-text-dimmed:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.md\\:dark\\:focus-within\\:ring-text-dark:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.md\\:dark\\:focus-within\\:ring-body-light:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.md\\:dark\\:focus-within\\:ring-body-dark:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.md\\:dark\\:focus-within\\:ring-button:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.md\\:dark\\:focus-within\\:ring-button_hover:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.md\\:dark\\:focus\\:ring-transparent:focus{--tw-ring-color:transparent}.md\\:dark\\:focus\\:ring-current:focus{--tw-ring-color:currentColor}.md\\:dark\\:focus\\:ring-white:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.md\\:dark\\:focus\\:ring-lightgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.md\\:dark\\:focus\\:ring-midgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.md\\:dark\\:focus\\:ring-darkgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.md\\:dark\\:focus\\:ring-grey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.md\\:dark\\:focus\\:ring-black:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.md\\:dark\\:focus\\:ring-highlight:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.md\\:dark\\:focus\\:ring-highlight_hover:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.md\\:dark\\:focus\\:ring-button_outline:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.md\\:dark\\:focus\\:ring-error:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.md\\:dark\\:focus\\:ring-text-light:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.md\\:dark\\:focus\\:ring-text-dimmed:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.md\\:dark\\:focus\\:ring-text-dark:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.md\\:dark\\:focus\\:ring-body-light:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.md\\:dark\\:focus\\:ring-body-dark:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.md\\:dark\\:focus\\:ring-button:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.md\\:dark\\:focus\\:ring-button_hover:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}}.md\\:ring-opacity-0{--tw-ring-opacity:0}.md\\:ring-opacity-5{--tw-ring-opacity:0.05}.md\\:ring-opacity-10{--tw-ring-opacity:0.1}.md\\:ring-opacity-20{--tw-ring-opacity:0.2}.md\\:ring-opacity-25{--tw-ring-opacity:0.25}.md\\:ring-opacity-30{--tw-ring-opacity:0.3}.md\\:ring-opacity-40{--tw-ring-opacity:0.4}.md\\:ring-opacity-50{--tw-ring-opacity:0.5}.md\\:ring-opacity-60{--tw-ring-opacity:0.6}.md\\:ring-opacity-70{--tw-ring-opacity:0.7}.md\\:ring-opacity-75{--tw-ring-opacity:0.75}.md\\:ring-opacity-80{--tw-ring-opacity:0.8}.md\\:ring-opacity-90{--tw-ring-opacity:0.9}.md\\:ring-opacity-95{--tw-ring-opacity:0.95}.md\\:ring-opacity-100{--tw-ring-opacity:1}.md\\:focus-within\\:ring-opacity-0:focus-within{--tw-ring-opacity:0}.md\\:focus-within\\:ring-opacity-5:focus-within{--tw-ring-opacity:0.05}.md\\:focus-within\\:ring-opacity-10:focus-within{--tw-ring-opacity:0.1}.md\\:focus-within\\:ring-opacity-20:focus-within{--tw-ring-opacity:0.2}.md\\:focus-within\\:ring-opacity-25:focus-within{--tw-ring-opacity:0.25}.md\\:focus-within\\:ring-opacity-30:focus-within{--tw-ring-opacity:0.3}.md\\:focus-within\\:ring-opacity-40:focus-within{--tw-ring-opacity:0.4}.md\\:focus-within\\:ring-opacity-50:focus-within{--tw-ring-opacity:0.5}.md\\:focus-within\\:ring-opacity-60:focus-within{--tw-ring-opacity:0.6}.md\\:focus-within\\:ring-opacity-70:focus-within{--tw-ring-opacity:0.7}.md\\:focus-within\\:ring-opacity-75:focus-within{--tw-ring-opacity:0.75}.md\\:focus-within\\:ring-opacity-80:focus-within{--tw-ring-opacity:0.8}.md\\:focus-within\\:ring-opacity-90:focus-within{--tw-ring-opacity:0.9}.md\\:focus-within\\:ring-opacity-95:focus-within{--tw-ring-opacity:0.95}.md\\:focus-within\\:ring-opacity-100:focus-within{--tw-ring-opacity:1}.md\\:focus\\:ring-opacity-0:focus{--tw-ring-opacity:0}.md\\:focus\\:ring-opacity-5:focus{--tw-ring-opacity:0.05}.md\\:focus\\:ring-opacity-10:focus{--tw-ring-opacity:0.1}.md\\:focus\\:ring-opacity-20:focus{--tw-ring-opacity:0.2}.md\\:focus\\:ring-opacity-25:focus{--tw-ring-opacity:0.25}.md\\:focus\\:ring-opacity-30:focus{--tw-ring-opacity:0.3}.md\\:focus\\:ring-opacity-40:focus{--tw-ring-opacity:0.4}.md\\:focus\\:ring-opacity-50:focus{--tw-ring-opacity:0.5}.md\\:focus\\:ring-opacity-60:focus{--tw-ring-opacity:0.6}.md\\:focus\\:ring-opacity-70:focus{--tw-ring-opacity:0.7}.md\\:focus\\:ring-opacity-75:focus{--tw-ring-opacity:0.75}.md\\:focus\\:ring-opacity-80:focus{--tw-ring-opacity:0.8}.md\\:focus\\:ring-opacity-90:focus{--tw-ring-opacity:0.9}.md\\:focus\\:ring-opacity-95:focus{--tw-ring-opacity:0.95}.md\\:focus\\:ring-opacity-100:focus{--tw-ring-opacity:1}@media(prefers-color-scheme: dark){.md\\:dark\\:ring-opacity-0{--tw-ring-opacity:0}.md\\:dark\\:ring-opacity-5{--tw-ring-opacity:0.05}.md\\:dark\\:ring-opacity-10{--tw-ring-opacity:0.1}.md\\:dark\\:ring-opacity-20{--tw-ring-opacity:0.2}.md\\:dark\\:ring-opacity-25{--tw-ring-opacity:0.25}.md\\:dark\\:ring-opacity-30{--tw-ring-opacity:0.3}.md\\:dark\\:ring-opacity-40{--tw-ring-opacity:0.4}.md\\:dark\\:ring-opacity-50{--tw-ring-opacity:0.5}.md\\:dark\\:ring-opacity-60{--tw-ring-opacity:0.6}.md\\:dark\\:ring-opacity-70{--tw-ring-opacity:0.7}.md\\:dark\\:ring-opacity-75{--tw-ring-opacity:0.75}.md\\:dark\\:ring-opacity-80{--tw-ring-opacity:0.8}.md\\:dark\\:ring-opacity-90{--tw-ring-opacity:0.9}.md\\:dark\\:ring-opacity-95{--tw-ring-opacity:0.95}.md\\:dark\\:ring-opacity-100{--tw-ring-opacity:1}.md\\:dark\\:focus-within\\:ring-opacity-0:focus-within{--tw-ring-opacity:0}.md\\:dark\\:focus-within\\:ring-opacity-5:focus-within{--tw-ring-opacity:0.05}.md\\:dark\\:focus-within\\:ring-opacity-10:focus-within{--tw-ring-opacity:0.1}.md\\:dark\\:focus-within\\:ring-opacity-20:focus-within{--tw-ring-opacity:0.2}.md\\:dark\\:focus-within\\:ring-opacity-25:focus-within{--tw-ring-opacity:0.25}.md\\:dark\\:focus-within\\:ring-opacity-30:focus-within{--tw-ring-opacity:0.3}.md\\:dark\\:focus-within\\:ring-opacity-40:focus-within{--tw-ring-opacity:0.4}.md\\:dark\\:focus-within\\:ring-opacity-50:focus-within{--tw-ring-opacity:0.5}.md\\:dark\\:focus-within\\:ring-opacity-60:focus-within{--tw-ring-opacity:0.6}.md\\:dark\\:focus-within\\:ring-opacity-70:focus-within{--tw-ring-opacity:0.7}.md\\:dark\\:focus-within\\:ring-opacity-75:focus-within{--tw-ring-opacity:0.75}.md\\:dark\\:focus-within\\:ring-opacity-80:focus-within{--tw-ring-opacity:0.8}.md\\:dark\\:focus-within\\:ring-opacity-90:focus-within{--tw-ring-opacity:0.9}.md\\:dark\\:focus-within\\:ring-opacity-95:focus-within{--tw-ring-opacity:0.95}.md\\:dark\\:focus-within\\:ring-opacity-100:focus-within{--tw-ring-opacity:1}.md\\:dark\\:focus\\:ring-opacity-0:focus{--tw-ring-opacity:0}.md\\:dark\\:focus\\:ring-opacity-5:focus{--tw-ring-opacity:0.05}.md\\:dark\\:focus\\:ring-opacity-10:focus{--tw-ring-opacity:0.1}.md\\:dark\\:focus\\:ring-opacity-20:focus{--tw-ring-opacity:0.2}.md\\:dark\\:focus\\:ring-opacity-25:focus{--tw-ring-opacity:0.25}.md\\:dark\\:focus\\:ring-opacity-30:focus{--tw-ring-opacity:0.3}.md\\:dark\\:focus\\:ring-opacity-40:focus{--tw-ring-opacity:0.4}.md\\:dark\\:focus\\:ring-opacity-50:focus{--tw-ring-opacity:0.5}.md\\:dark\\:focus\\:ring-opacity-60:focus{--tw-ring-opacity:0.6}.md\\:dark\\:focus\\:ring-opacity-70:focus{--tw-ring-opacity:0.7}.md\\:dark\\:focus\\:ring-opacity-75:focus{--tw-ring-opacity:0.75}.md\\:dark\\:focus\\:ring-opacity-80:focus{--tw-ring-opacity:0.8}.md\\:dark\\:focus\\:ring-opacity-90:focus{--tw-ring-opacity:0.9}.md\\:dark\\:focus\\:ring-opacity-95:focus{--tw-ring-opacity:0.95}.md\\:dark\\:focus\\:ring-opacity-100:focus{--tw-ring-opacity:1}}.md\\:ring-offset-0{--tw-ring-offset-width:0px}.md\\:ring-offset-1{--tw-ring-offset-width:1px}.md\\:ring-offset-2{--tw-ring-offset-width:2px}.md\\:ring-offset-4{--tw-ring-offset-width:4px}.md\\:ring-offset-8{--tw-ring-offset-width:8px}.md\\:focus-within\\:ring-offset-0:focus-within{--tw-ring-offset-width:0px}.md\\:focus-within\\:ring-offset-1:focus-within{--tw-ring-offset-width:1px}.md\\:focus-within\\:ring-offset-2:focus-within{--tw-ring-offset-width:2px}.md\\:focus-within\\:ring-offset-4:focus-within{--tw-ring-offset-width:4px}.md\\:focus-within\\:ring-offset-8:focus-within{--tw-ring-offset-width:8px}.md\\:focus\\:ring-offset-0:focus{--tw-ring-offset-width:0px}.md\\:focus\\:ring-offset-1:focus{--tw-ring-offset-width:1px}.md\\:focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}.md\\:focus\\:ring-offset-4:focus{--tw-ring-offset-width:4px}.md\\:focus\\:ring-offset-8:focus{--tw-ring-offset-width:8px}.md\\:ring-offset-transparent{--tw-ring-offset-color:transparent}.md\\:ring-offset-current{--tw-ring-offset-color:currentColor}.md\\:ring-offset-white{--tw-ring-offset-color:#fff}.md\\:ring-offset-lightgrey{--tw-ring-offset-color:#F7F7F7}.md\\:ring-offset-midgrey{--tw-ring-offset-color:#cfcfcf}.md\\:ring-offset-darkgrey{--tw-ring-offset-color:#7f7f7f}.md\\:ring-offset-grey{--tw-ring-offset-color:#1e1e1e}.md\\:ring-offset-black{--tw-ring-offset-color:#0f0f0f}.md\\:ring-offset-highlight{--tw-ring-offset-color:#0071e3}.md\\:ring-offset-highlight_hover{--tw-ring-offset-color:#0077ed}.md\\:ring-offset-button_outline{--tw-ring-offset-color:#cfcfcf}.md\\:ring-offset-error{--tw-ring-offset-color:#ff453a}.md\\:ring-offset-text-light{--tw-ring-offset-color:#0f0f0f}.md\\:ring-offset-text-dimmed{--tw-ring-offset-color:#cfcfcf}.md\\:ring-offset-text-dark{--tw-ring-offset-color:#fff}.md\\:ring-offset-body-light{--tw-ring-offset-color:#fff}.md\\:ring-offset-body-dark{--tw-ring-offset-color:#1e1e1e}.md\\:ring-offset-button{--tw-ring-offset-color:#0071e3}.md\\:ring-offset-button_hover{--tw-ring-offset-color:#0077ed}.md\\:focus-within\\:ring-offset-transparent:focus-within{--tw-ring-offset-color:transparent}.md\\:focus-within\\:ring-offset-current:focus-within{--tw-ring-offset-color:currentColor}.md\\:focus-within\\:ring-offset-white:focus-within{--tw-ring-offset-color:#fff}.md\\:focus-within\\:ring-offset-lightgrey:focus-within{--tw-ring-offset-color:#F7F7F7}.md\\:focus-within\\:ring-offset-midgrey:focus-within{--tw-ring-offset-color:#cfcfcf}.md\\:focus-within\\:ring-offset-darkgrey:focus-within{--tw-ring-offset-color:#7f7f7f}.md\\:focus-within\\:ring-offset-grey:focus-within{--tw-ring-offset-color:#1e1e1e}.md\\:focus-within\\:ring-offset-black:focus-within{--tw-ring-offset-color:#0f0f0f}.md\\:focus-within\\:ring-offset-highlight:focus-within{--tw-ring-offset-color:#0071e3}.md\\:focus-within\\:ring-offset-highlight_hover:focus-within{--tw-ring-offset-color:#0077ed}.md\\:focus-within\\:ring-offset-button_outline:focus-within{--tw-ring-offset-color:#cfcfcf}.md\\:focus-within\\:ring-offset-error:focus-within{--tw-ring-offset-color:#ff453a}.md\\:focus-within\\:ring-offset-text-light:focus-within{--tw-ring-offset-color:#0f0f0f}.md\\:focus-within\\:ring-offset-text-dimmed:focus-within{--tw-ring-offset-color:#cfcfcf}.md\\:focus-within\\:ring-offset-text-dark:focus-within{--tw-ring-offset-color:#fff}.md\\:focus-within\\:ring-offset-body-light:focus-within{--tw-ring-offset-color:#fff}.md\\:focus-within\\:ring-offset-body-dark:focus-within{--tw-ring-offset-color:#1e1e1e}.md\\:focus-within\\:ring-offset-button:focus-within{--tw-ring-offset-color:#0071e3}.md\\:focus-within\\:ring-offset-button_hover:focus-within{--tw-ring-offset-color:#0077ed}.md\\:focus\\:ring-offset-transparent:focus{--tw-ring-offset-color:transparent}.md\\:focus\\:ring-offset-current:focus{--tw-ring-offset-color:currentColor}.md\\:focus\\:ring-offset-white:focus{--tw-ring-offset-color:#fff}.md\\:focus\\:ring-offset-lightgrey:focus{--tw-ring-offset-color:#F7F7F7}.md\\:focus\\:ring-offset-midgrey:focus{--tw-ring-offset-color:#cfcfcf}.md\\:focus\\:ring-offset-darkgrey:focus{--tw-ring-offset-color:#7f7f7f}.md\\:focus\\:ring-offset-grey:focus{--tw-ring-offset-color:#1e1e1e}.md\\:focus\\:ring-offset-black:focus{--tw-ring-offset-color:#0f0f0f}.md\\:focus\\:ring-offset-highlight:focus{--tw-ring-offset-color:#0071e3}.md\\:focus\\:ring-offset-highlight_hover:focus{--tw-ring-offset-color:#0077ed}.md\\:focus\\:ring-offset-button_outline:focus{--tw-ring-offset-color:#cfcfcf}.md\\:focus\\:ring-offset-error:focus{--tw-ring-offset-color:#ff453a}.md\\:focus\\:ring-offset-text-light:focus{--tw-ring-offset-color:#0f0f0f}.md\\:focus\\:ring-offset-text-dimmed:focus{--tw-ring-offset-color:#cfcfcf}.md\\:focus\\:ring-offset-text-dark:focus{--tw-ring-offset-color:#fff}.md\\:focus\\:ring-offset-body-light:focus{--tw-ring-offset-color:#fff}.md\\:focus\\:ring-offset-body-dark:focus{--tw-ring-offset-color:#1e1e1e}.md\\:focus\\:ring-offset-button:focus{--tw-ring-offset-color:#0071e3}.md\\:focus\\:ring-offset-button_hover:focus{--tw-ring-offset-color:#0077ed}@media(prefers-color-scheme: dark){.md\\:dark\\:ring-offset-transparent{--tw-ring-offset-color:transparent}.md\\:dark\\:ring-offset-current{--tw-ring-offset-color:currentColor}.md\\:dark\\:ring-offset-white{--tw-ring-offset-color:#fff}.md\\:dark\\:ring-offset-lightgrey{--tw-ring-offset-color:#F7F7F7}.md\\:dark\\:ring-offset-midgrey{--tw-ring-offset-color:#cfcfcf}.md\\:dark\\:ring-offset-darkgrey{--tw-ring-offset-color:#7f7f7f}.md\\:dark\\:ring-offset-grey{--tw-ring-offset-color:#1e1e1e}.md\\:dark\\:ring-offset-black{--tw-ring-offset-color:#0f0f0f}.md\\:dark\\:ring-offset-highlight{--tw-ring-offset-color:#0071e3}.md\\:dark\\:ring-offset-highlight_hover{--tw-ring-offset-color:#0077ed}.md\\:dark\\:ring-offset-button_outline{--tw-ring-offset-color:#cfcfcf}.md\\:dark\\:ring-offset-error{--tw-ring-offset-color:#ff453a}.md\\:dark\\:ring-offset-text-light{--tw-ring-offset-color:#0f0f0f}.md\\:dark\\:ring-offset-text-dimmed{--tw-ring-offset-color:#cfcfcf}.md\\:dark\\:ring-offset-text-dark{--tw-ring-offset-color:#fff}.md\\:dark\\:ring-offset-body-light{--tw-ring-offset-color:#fff}.md\\:dark\\:ring-offset-body-dark{--tw-ring-offset-color:#1e1e1e}.md\\:dark\\:ring-offset-button{--tw-ring-offset-color:#0071e3}.md\\:dark\\:ring-offset-button_hover{--tw-ring-offset-color:#0077ed}.md\\:dark\\:focus-within\\:ring-offset-transparent:focus-within{--tw-ring-offset-color:transparent}.md\\:dark\\:focus-within\\:ring-offset-current:focus-within{--tw-ring-offset-color:currentColor}.md\\:dark\\:focus-within\\:ring-offset-white:focus-within{--tw-ring-offset-color:#fff}.md\\:dark\\:focus-within\\:ring-offset-lightgrey:focus-within{--tw-ring-offset-color:#F7F7F7}.md\\:dark\\:focus-within\\:ring-offset-midgrey:focus-within{--tw-ring-offset-color:#cfcfcf}.md\\:dark\\:focus-within\\:ring-offset-darkgrey:focus-within{--tw-ring-offset-color:#7f7f7f}.md\\:dark\\:focus-within\\:ring-offset-grey:focus-within{--tw-ring-offset-color:#1e1e1e}.md\\:dark\\:focus-within\\:ring-offset-black:focus-within{--tw-ring-offset-color:#0f0f0f}.md\\:dark\\:focus-within\\:ring-offset-highlight:focus-within{--tw-ring-offset-color:#0071e3}.md\\:dark\\:focus-within\\:ring-offset-highlight_hover:focus-within{--tw-ring-offset-color:#0077ed}.md\\:dark\\:focus-within\\:ring-offset-button_outline:focus-within{--tw-ring-offset-color:#cfcfcf}.md\\:dark\\:focus-within\\:ring-offset-error:focus-within{--tw-ring-offset-color:#ff453a}.md\\:dark\\:focus-within\\:ring-offset-text-light:focus-within{--tw-ring-offset-color:#0f0f0f}.md\\:dark\\:focus-within\\:ring-offset-text-dimmed:focus-within{--tw-ring-offset-color:#cfcfcf}.md\\:dark\\:focus-within\\:ring-offset-text-dark:focus-within{--tw-ring-offset-color:#fff}.md\\:dark\\:focus-within\\:ring-offset-body-light:focus-within{--tw-ring-offset-color:#fff}.md\\:dark\\:focus-within\\:ring-offset-body-dark:focus-within{--tw-ring-offset-color:#1e1e1e}.md\\:dark\\:focus-within\\:ring-offset-button:focus-within{--tw-ring-offset-color:#0071e3}.md\\:dark\\:focus-within\\:ring-offset-button_hover:focus-within{--tw-ring-offset-color:#0077ed}.md\\:dark\\:focus\\:ring-offset-transparent:focus{--tw-ring-offset-color:transparent}.md\\:dark\\:focus\\:ring-offset-current:focus{--tw-ring-offset-color:currentColor}.md\\:dark\\:focus\\:ring-offset-white:focus{--tw-ring-offset-color:#fff}.md\\:dark\\:focus\\:ring-offset-lightgrey:focus{--tw-ring-offset-color:#F7F7F7}.md\\:dark\\:focus\\:ring-offset-midgrey:focus{--tw-ring-offset-color:#cfcfcf}.md\\:dark\\:focus\\:ring-offset-darkgrey:focus{--tw-ring-offset-color:#7f7f7f}.md\\:dark\\:focus\\:ring-offset-grey:focus{--tw-ring-offset-color:#1e1e1e}.md\\:dark\\:focus\\:ring-offset-black:focus{--tw-ring-offset-color:#0f0f0f}.md\\:dark\\:focus\\:ring-offset-highlight:focus{--tw-ring-offset-color:#0071e3}.md\\:dark\\:focus\\:ring-offset-highlight_hover:focus{--tw-ring-offset-color:#0077ed}.md\\:dark\\:focus\\:ring-offset-button_outline:focus{--tw-ring-offset-color:#cfcfcf}.md\\:dark\\:focus\\:ring-offset-error:focus{--tw-ring-offset-color:#ff453a}.md\\:dark\\:focus\\:ring-offset-text-light:focus{--tw-ring-offset-color:#0f0f0f}.md\\:dark\\:focus\\:ring-offset-text-dimmed:focus{--tw-ring-offset-color:#cfcfcf}.md\\:dark\\:focus\\:ring-offset-text-dark:focus{--tw-ring-offset-color:#fff}.md\\:dark\\:focus\\:ring-offset-body-light:focus{--tw-ring-offset-color:#fff}.md\\:dark\\:focus\\:ring-offset-body-dark:focus{--tw-ring-offset-color:#1e1e1e}.md\\:dark\\:focus\\:ring-offset-button:focus{--tw-ring-offset-color:#0071e3}.md\\:dark\\:focus\\:ring-offset-button_hover:focus{--tw-ring-offset-color:#0077ed}}.md\\:filter{--tw-blur:var(--tw-empty,/*!*/ /*!*/);--tw-brightness:var(--tw-empty,/*!*/ /*!*/);--tw-contrast:var(--tw-empty,/*!*/ /*!*/);--tw-grayscale:var(--tw-empty,/*!*/ /*!*/);--tw-hue-rotate:var(--tw-empty,/*!*/ /*!*/);--tw-invert:var(--tw-empty,/*!*/ /*!*/);--tw-saturate:var(--tw-empty,/*!*/ /*!*/);--tw-sepia:var(--tw-empty,/*!*/ /*!*/);--tw-drop-shadow:var(--tw-empty,/*!*/ /*!*/);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.md\\:filter-none{filter:none}.md\\:blur-0{--tw-blur:blur(0)}.md\\:blur-none{--tw-blur:blur(0)}.md\\:blur-sm{--tw-blur:blur(4px)}.md\\:blur{--tw-blur:blur(8px)}.md\\:blur-md{--tw-blur:blur(12px)}.md\\:blur-lg{--tw-blur:blur(16px)}.md\\:blur-xl{--tw-blur:blur(24px)}.md\\:blur-2xl{--tw-blur:blur(40px)}.md\\:blur-3xl{--tw-blur:blur(64px)}.md\\:brightness-0{--tw-brightness:brightness(0)}.md\\:brightness-50{--tw-brightness:brightness(.5)}.md\\:brightness-75{--tw-brightness:brightness(.75)}.md\\:brightness-90{--tw-brightness:brightness(.9)}.md\\:brightness-95{--tw-brightness:brightness(.95)}.md\\:brightness-100{--tw-brightness:brightness(1)}.md\\:brightness-105{--tw-brightness:brightness(1.05)}.md\\:brightness-110{--tw-brightness:brightness(1.1)}.md\\:brightness-125{--tw-brightness:brightness(1.25)}.md\\:brightness-150{--tw-brightness:brightness(1.5)}.md\\:brightness-200{--tw-brightness:brightness(2)}.md\\:contrast-0{--tw-contrast:contrast(0)}.md\\:contrast-50{--tw-contrast:contrast(.5)}.md\\:contrast-75{--tw-contrast:contrast(.75)}.md\\:contrast-100{--tw-contrast:contrast(1)}.md\\:contrast-125{--tw-contrast:contrast(1.25)}.md\\:contrast-150{--tw-contrast:contrast(1.5)}.md\\:contrast-200{--tw-contrast:contrast(2)}.md\\:drop-shadow-sm{--tw-drop-shadow:drop-shadow(0 1px 1px rgba(0,0,0,0.05))}.md\\:drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1)) drop-shadow(0 1px 1px rgba(0, 0, 0, 0.06))}.md\\:drop-shadow-md{--tw-drop-shadow:drop-shadow(0 4px 3px rgba(0, 0, 0, 0.07)) drop-shadow(0 2px 2px rgba(0, 0, 0, 0.06))}.md\\:drop-shadow-lg{--tw-drop-shadow:drop-shadow(0 10px 8px rgba(0, 0, 0, 0.04)) drop-shadow(0 4px 3px rgba(0, 0, 0, 0.1))}.md\\:drop-shadow-xl{--tw-drop-shadow:drop-shadow(0 20px 13px rgba(0, 0, 0, 0.03)) drop-shadow(0 8px 5px rgba(0, 0, 0, 0.08))}.md\\:drop-shadow-2xl{--tw-drop-shadow:drop-shadow(0 25px 25px rgba(0, 0, 0, 0.15))}.md\\:drop-shadow-none{--tw-drop-shadow:drop-shadow(0 0 #0000)}.md\\:grayscale-0{--tw-grayscale:grayscale(0)}.md\\:grayscale{--tw-grayscale:grayscale(100%)}.md\\:hue-rotate-0{--tw-hue-rotate:hue-rotate(0deg)}.md\\:hue-rotate-15{--tw-hue-rotate:hue-rotate(15deg)}.md\\:hue-rotate-30{--tw-hue-rotate:hue-rotate(30deg)}.md\\:hue-rotate-60{--tw-hue-rotate:hue-rotate(60deg)}.md\\:hue-rotate-90{--tw-hue-rotate:hue-rotate(90deg)}.md\\:hue-rotate-180{--tw-hue-rotate:hue-rotate(180deg)}.md\\:-hue-rotate-180{--tw-hue-rotate:hue-rotate(-180deg)}.md\\:-hue-rotate-90{--tw-hue-rotate:hue-rotate(-90deg)}.md\\:-hue-rotate-60{--tw-hue-rotate:hue-rotate(-60deg)}.md\\:-hue-rotate-30{--tw-hue-rotate:hue-rotate(-30deg)}.md\\:-hue-rotate-15{--tw-hue-rotate:hue-rotate(-15deg)}.md\\:invert-0{--tw-invert:invert(0)}.md\\:invert{--tw-invert:invert(100%)}.md\\:saturate-0{--tw-saturate:saturate(0)}.md\\:saturate-50{--tw-saturate:saturate(.5)}.md\\:saturate-100{--tw-saturate:saturate(1)}.md\\:saturate-150{--tw-saturate:saturate(1.5)}.md\\:saturate-200{--tw-saturate:saturate(2)}.md\\:sepia-0{--tw-sepia:sepia(0)}.md\\:sepia{--tw-sepia:sepia(100%)}.md\\:backdrop-filter{--tw-backdrop-blur:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-brightness:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-contrast:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-grayscale:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-hue-rotate:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-invert:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-opacity:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-saturate:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-sepia:var(--tw-empty,/*!*/ /*!*/);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.md\\:backdrop-filter-none{backdrop-filter:none}.md\\:backdrop-blur-0{--tw-backdrop-blur:blur(0)}.md\\:backdrop-blur-none{--tw-backdrop-blur:blur(0)}.md\\:backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.md\\:backdrop-blur{--tw-backdrop-blur:blur(8px)}.md\\:backdrop-blur-md{--tw-backdrop-blur:blur(12px)}.md\\:backdrop-blur-lg{--tw-backdrop-blur:blur(16px)}.md\\:backdrop-blur-xl{--tw-backdrop-blur:blur(24px)}.md\\:backdrop-blur-2xl{--tw-backdrop-blur:blur(40px)}.md\\:backdrop-blur-3xl{--tw-backdrop-blur:blur(64px)}.md\\:backdrop-brightness-0{--tw-backdrop-brightness:brightness(0)}.md\\:backdrop-brightness-50{--tw-backdrop-brightness:brightness(.5)}.md\\:backdrop-brightness-75{--tw-backdrop-brightness:brightness(.75)}.md\\:backdrop-brightness-90{--tw-backdrop-brightness:brightness(.9)}.md\\:backdrop-brightness-95{--tw-backdrop-brightness:brightness(.95)}.md\\:backdrop-brightness-100{--tw-backdrop-brightness:brightness(1)}.md\\:backdrop-brightness-105{--tw-backdrop-brightness:brightness(1.05)}.md\\:backdrop-brightness-110{--tw-backdrop-brightness:brightness(1.1)}.md\\:backdrop-brightness-125{--tw-backdrop-brightness:brightness(1.25)}.md\\:backdrop-brightness-150{--tw-backdrop-brightness:brightness(1.5)}.md\\:backdrop-brightness-200{--tw-backdrop-brightness:brightness(2)}.md\\:backdrop-contrast-0{--tw-backdrop-contrast:contrast(0)}.md\\:backdrop-contrast-50{--tw-backdrop-contrast:contrast(.5)}.md\\:backdrop-contrast-75{--tw-backdrop-contrast:contrast(.75)}.md\\:backdrop-contrast-100{--tw-backdrop-contrast:contrast(1)}.md\\:backdrop-contrast-125{--tw-backdrop-contrast:contrast(1.25)}.md\\:backdrop-contrast-150{--tw-backdrop-contrast:contrast(1.5)}.md\\:backdrop-contrast-200{--tw-backdrop-contrast:contrast(2)}.md\\:backdrop-grayscale-0{--tw-backdrop-grayscale:grayscale(0)}.md\\:backdrop-grayscale{--tw-backdrop-grayscale:grayscale(100%)}.md\\:backdrop-hue-rotate-0{--tw-backdrop-hue-rotate:hue-rotate(0deg)}.md\\:backdrop-hue-rotate-15{--tw-backdrop-hue-rotate:hue-rotate(15deg)}.md\\:backdrop-hue-rotate-30{--tw-backdrop-hue-rotate:hue-rotate(30deg)}.md\\:backdrop-hue-rotate-60{--tw-backdrop-hue-rotate:hue-rotate(60deg)}.md\\:backdrop-hue-rotate-90{--tw-backdrop-hue-rotate:hue-rotate(90deg)}.md\\:backdrop-hue-rotate-180{--tw-backdrop-hue-rotate:hue-rotate(180deg)}.md\\:-backdrop-hue-rotate-180{--tw-backdrop-hue-rotate:hue-rotate(-180deg)}.md\\:-backdrop-hue-rotate-90{--tw-backdrop-hue-rotate:hue-rotate(-90deg)}.md\\:-backdrop-hue-rotate-60{--tw-backdrop-hue-rotate:hue-rotate(-60deg)}.md\\:-backdrop-hue-rotate-30{--tw-backdrop-hue-rotate:hue-rotate(-30deg)}.md\\:-backdrop-hue-rotate-15{--tw-backdrop-hue-rotate:hue-rotate(-15deg)}.md\\:backdrop-invert-0{--tw-backdrop-invert:invert(0)}.md\\:backdrop-invert{--tw-backdrop-invert:invert(100%)}.md\\:backdrop-opacity-0{--tw-backdrop-opacity:opacity(0)}.md\\:backdrop-opacity-5{--tw-backdrop-opacity:opacity(0.05)}.md\\:backdrop-opacity-10{--tw-backdrop-opacity:opacity(0.1)}.md\\:backdrop-opacity-20{--tw-backdrop-opacity:opacity(0.2)}.md\\:backdrop-opacity-25{--tw-backdrop-opacity:opacity(0.25)}.md\\:backdrop-opacity-30{--tw-backdrop-opacity:opacity(0.3)}.md\\:backdrop-opacity-40{--tw-backdrop-opacity:opacity(0.4)}.md\\:backdrop-opacity-50{--tw-backdrop-opacity:opacity(0.5)}.md\\:backdrop-opacity-60{--tw-backdrop-opacity:opacity(0.6)}.md\\:backdrop-opacity-70{--tw-backdrop-opacity:opacity(0.7)}.md\\:backdrop-opacity-75{--tw-backdrop-opacity:opacity(0.75)}.md\\:backdrop-opacity-80{--tw-backdrop-opacity:opacity(0.8)}.md\\:backdrop-opacity-90{--tw-backdrop-opacity:opacity(0.9)}.md\\:backdrop-opacity-95{--tw-backdrop-opacity:opacity(0.95)}.md\\:backdrop-opacity-100{--tw-backdrop-opacity:opacity(1)}.md\\:backdrop-saturate-0{--tw-backdrop-saturate:saturate(0)}.md\\:backdrop-saturate-50{--tw-backdrop-saturate:saturate(.5)}.md\\:backdrop-saturate-100{--tw-backdrop-saturate:saturate(1)}.md\\:backdrop-saturate-150{--tw-backdrop-saturate:saturate(1.5)}.md\\:backdrop-saturate-200{--tw-backdrop-saturate:saturate(2)}.md\\:backdrop-sepia-0{--tw-backdrop-sepia:sepia(0)}.md\\:backdrop-sepia{--tw-backdrop-sepia:sepia(100%)}.md\\:transition-none{transition-property:none}.md\\:transition-all{transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.md\\:transition{transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.md\\:transition-colors{transition-property:background-color, border-color, color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.md\\:transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.md\\:transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.md\\:transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.md\\:delay-75{transition-delay:75ms}.md\\:delay-100{transition-delay:100ms}.md\\:delay-150{transition-delay:150ms}.md\\:delay-200{transition-delay:200ms}.md\\:delay-300{transition-delay:300ms}.md\\:delay-500{transition-delay:500ms}.md\\:delay-700{transition-delay:700ms}.md\\:delay-1000{transition-delay:1000ms}.md\\:duration-75{transition-duration:75ms}.md\\:duration-100{transition-duration:100ms}.md\\:duration-150{transition-duration:150ms}.md\\:duration-200{transition-duration:200ms}.md\\:duration-300{transition-duration:300ms}.md\\:duration-500{transition-duration:500ms}.md\\:duration-700{transition-duration:700ms}.md\\:duration-1000{transition-duration:1000ms}.md\\:ease-linear{transition-timing-function:linear}.md\\:ease-in{transition-timing-function:cubic-bezier(0.4, 0, 1, 1)}.md\\:ease-out{transition-timing-function:cubic-bezier(0, 0, 0.2, 1)}.md\\:ease-in-out{transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}}@media(min-width: 1024px){.lg\\:container{width:100%}@media(min-width: 640px){.lg\\:container{max-width:640px}}@media(min-width: 768px){.lg\\:container{max-width:768px}}@media(min-width: 1024px){.lg\\:container{max-width:1024px}}@media(min-width: 1280px){.lg\\:container{max-width:1280px}}@media(min-width: 1536px){.lg\\:container{max-width:1536px}}.lg\\:sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.lg\\:not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.lg\\:focus-within\\:sr-only:focus-within{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.lg\\:focus-within\\:not-sr-only:focus-within{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.lg\\:focus\\:sr-only:focus{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.lg\\:focus\\:not-sr-only:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.lg\\:pointer-events-none{pointer-events:none}.lg\\:pointer-events-auto{pointer-events:auto}.lg\\:visible{visibility:visible}.lg\\:invisible{visibility:hidden}.lg\\:static{position:static}.lg\\:fixed{position:fixed}.lg\\:absolute{position:absolute}.lg\\:relative{position:relative}.lg\\:sticky{position:sticky}.lg\\:inset-0{top:0px;right:0px;bottom:0px;left:0px}.lg\\:inset-1{top:0.25rem;right:0.25rem;bottom:0.25rem;left:0.25rem}.lg\\:inset-2{top:0.5rem;right:0.5rem;bottom:0.5rem;left:0.5rem}.lg\\:inset-3{top:0.75rem;right:0.75rem;bottom:0.75rem;left:0.75rem}.lg\\:inset-4{top:1rem;right:1rem;bottom:1rem;left:1rem}.lg\\:inset-5{top:1.25rem;right:1.25rem;bottom:1.25rem;left:1.25rem}.lg\\:inset-6{top:1.5rem;right:1.5rem;bottom:1.5rem;left:1.5rem}.lg\\:inset-7{top:1.75rem;right:1.75rem;bottom:1.75rem;left:1.75rem}.lg\\:inset-8{top:2rem;right:2rem;bottom:2rem;left:2rem}.lg\\:inset-9{top:2.25rem;right:2.25rem;bottom:2.25rem;left:2.25rem}.lg\\:inset-10{top:2.5rem;right:2.5rem;bottom:2.5rem;left:2.5rem}.lg\\:inset-11{top:2.75rem;right:2.75rem;bottom:2.75rem;left:2.75rem}.lg\\:inset-12{top:3rem;right:3rem;bottom:3rem;left:3rem}.lg\\:inset-14{top:3.5rem;right:3.5rem;bottom:3.5rem;left:3.5rem}.lg\\:inset-16{top:4rem;right:4rem;bottom:4rem;left:4rem}.lg\\:inset-20{top:5rem;right:5rem;bottom:5rem;left:5rem}.lg\\:inset-24{top:6rem;right:6rem;bottom:6rem;left:6rem}.lg\\:inset-28{top:7rem;right:7rem;bottom:7rem;left:7rem}.lg\\:inset-32{top:8rem;right:8rem;bottom:8rem;left:8rem}.lg\\:inset-36{top:9rem;right:9rem;bottom:9rem;left:9rem}.lg\\:inset-40{top:10rem;right:10rem;bottom:10rem;left:10rem}.lg\\:inset-44{top:11rem;right:11rem;bottom:11rem;left:11rem}.lg\\:inset-48{top:12rem;right:12rem;bottom:12rem;left:12rem}.lg\\:inset-52{top:13rem;right:13rem;bottom:13rem;left:13rem}.lg\\:inset-56{top:14rem;right:14rem;bottom:14rem;left:14rem}.lg\\:inset-60{top:15rem;right:15rem;bottom:15rem;left:15rem}.lg\\:inset-64{top:16rem;right:16rem;bottom:16rem;left:16rem}.lg\\:inset-72{top:18rem;right:18rem;bottom:18rem;left:18rem}.lg\\:inset-80{top:20rem;right:20rem;bottom:20rem;left:20rem}.lg\\:inset-96{top:24rem;right:24rem;bottom:24rem;left:24rem}.lg\\:inset-auto{top:auto;right:auto;bottom:auto;left:auto}.lg\\:inset-px{top:1px;right:1px;bottom:1px;left:1px}.lg\\:inset-0\\.5{top:0.125rem;right:0.125rem;bottom:0.125rem;left:0.125rem}.lg\\:inset-1\\.5{top:0.375rem;right:0.375rem;bottom:0.375rem;left:0.375rem}.lg\\:inset-2\\.5{top:0.625rem;right:0.625rem;bottom:0.625rem;left:0.625rem}.lg\\:inset-3\\.5{top:0.875rem;right:0.875rem;bottom:0.875rem;left:0.875rem}.lg\\:-inset-0{top:0px;right:0px;bottom:0px;left:0px}.lg\\:-inset-1{top:-0.25rem;right:-0.25rem;bottom:-0.25rem;left:-0.25rem}.lg\\:-inset-2{top:-0.5rem;right:-0.5rem;bottom:-0.5rem;left:-0.5rem}.lg\\:-inset-3{top:-0.75rem;right:-0.75rem;bottom:-0.75rem;left:-0.75rem}.lg\\:-inset-4{top:-1rem;right:-1rem;bottom:-1rem;left:-1rem}.lg\\:-inset-5{top:-1.25rem;right:-1.25rem;bottom:-1.25rem;left:-1.25rem}.lg\\:-inset-6{top:-1.5rem;right:-1.5rem;bottom:-1.5rem;left:-1.5rem}.lg\\:-inset-7{top:-1.75rem;right:-1.75rem;bottom:-1.75rem;left:-1.75rem}.lg\\:-inset-8{top:-2rem;right:-2rem;bottom:-2rem;left:-2rem}.lg\\:-inset-9{top:-2.25rem;right:-2.25rem;bottom:-2.25rem;left:-2.25rem}.lg\\:-inset-10{top:-2.5rem;right:-2.5rem;bottom:-2.5rem;left:-2.5rem}.lg\\:-inset-11{top:-2.75rem;right:-2.75rem;bottom:-2.75rem;left:-2.75rem}.lg\\:-inset-12{top:-3rem;right:-3rem;bottom:-3rem;left:-3rem}.lg\\:-inset-14{top:-3.5rem;right:-3.5rem;bottom:-3.5rem;left:-3.5rem}.lg\\:-inset-16{top:-4rem;right:-4rem;bottom:-4rem;left:-4rem}.lg\\:-inset-20{top:-5rem;right:-5rem;bottom:-5rem;left:-5rem}.lg\\:-inset-24{top:-6rem;right:-6rem;bottom:-6rem;left:-6rem}.lg\\:-inset-28{top:-7rem;right:-7rem;bottom:-7rem;left:-7rem}.lg\\:-inset-32{top:-8rem;right:-8rem;bottom:-8rem;left:-8rem}.lg\\:-inset-36{top:-9rem;right:-9rem;bottom:-9rem;left:-9rem}.lg\\:-inset-40{top:-10rem;right:-10rem;bottom:-10rem;left:-10rem}.lg\\:-inset-44{top:-11rem;right:-11rem;bottom:-11rem;left:-11rem}.lg\\:-inset-48{top:-12rem;right:-12rem;bottom:-12rem;left:-12rem}.lg\\:-inset-52{top:-13rem;right:-13rem;bottom:-13rem;left:-13rem}.lg\\:-inset-56{top:-14rem;right:-14rem;bottom:-14rem;left:-14rem}.lg\\:-inset-60{top:-15rem;right:-15rem;bottom:-15rem;left:-15rem}.lg\\:-inset-64{top:-16rem;right:-16rem;bottom:-16rem;left:-16rem}.lg\\:-inset-72{top:-18rem;right:-18rem;bottom:-18rem;left:-18rem}.lg\\:-inset-80{top:-20rem;right:-20rem;bottom:-20rem;left:-20rem}.lg\\:-inset-96{top:-24rem;right:-24rem;bottom:-24rem;left:-24rem}.lg\\:-inset-px{top:-1px;right:-1px;bottom:-1px;left:-1px}.lg\\:-inset-0\\.5{top:-0.125rem;right:-0.125rem;bottom:-0.125rem;left:-0.125rem}.lg\\:-inset-1\\.5{top:-0.375rem;right:-0.375rem;bottom:-0.375rem;left:-0.375rem}.lg\\:-inset-2\\.5{top:-0.625rem;right:-0.625rem;bottom:-0.625rem;left:-0.625rem}.lg\\:-inset-3\\.5{top:-0.875rem;right:-0.875rem;bottom:-0.875rem;left:-0.875rem}.lg\\:inset-1\\/2{top:50%;right:50%;bottom:50%;left:50%}.lg\\:inset-1\\/3{top:33.333333%;right:33.333333%;bottom:33.333333%;left:33.333333%}.lg\\:inset-2\\/3{top:66.666667%;right:66.666667%;bottom:66.666667%;left:66.666667%}.lg\\:inset-1\\/4{top:25%;right:25%;bottom:25%;left:25%}.lg\\:inset-2\\/4{top:50%;right:50%;bottom:50%;left:50%}.lg\\:inset-3\\/4{top:75%;right:75%;bottom:75%;left:75%}.lg\\:inset-full{top:100%;right:100%;bottom:100%;left:100%}.lg\\:-inset-1\\/2{top:-50%;right:-50%;bottom:-50%;left:-50%}.lg\\:-inset-1\\/3{top:-33.333333%;right:-33.333333%;bottom:-33.333333%;left:-33.333333%}.lg\\:-inset-2\\/3{top:-66.666667%;right:-66.666667%;bottom:-66.666667%;left:-66.666667%}.lg\\:-inset-1\\/4{top:-25%;right:-25%;bottom:-25%;left:-25%}.lg\\:-inset-2\\/4{top:-50%;right:-50%;bottom:-50%;left:-50%}.lg\\:-inset-3\\/4{top:-75%;right:-75%;bottom:-75%;left:-75%}.lg\\:-inset-full{top:-100%;right:-100%;bottom:-100%;left:-100%}.lg\\:inset-x-0{left:0px;right:0px}.lg\\:inset-x-1{left:0.25rem;right:0.25rem}.lg\\:inset-x-2{left:0.5rem;right:0.5rem}.lg\\:inset-x-3{left:0.75rem;right:0.75rem}.lg\\:inset-x-4{left:1rem;right:1rem}.lg\\:inset-x-5{left:1.25rem;right:1.25rem}.lg\\:inset-x-6{left:1.5rem;right:1.5rem}.lg\\:inset-x-7{left:1.75rem;right:1.75rem}.lg\\:inset-x-8{left:2rem;right:2rem}.lg\\:inset-x-9{left:2.25rem;right:2.25rem}.lg\\:inset-x-10{left:2.5rem;right:2.5rem}.lg\\:inset-x-11{left:2.75rem;right:2.75rem}.lg\\:inset-x-12{left:3rem;right:3rem}.lg\\:inset-x-14{left:3.5rem;right:3.5rem}.lg\\:inset-x-16{left:4rem;right:4rem}.lg\\:inset-x-20{left:5rem;right:5rem}.lg\\:inset-x-24{left:6rem;right:6rem}.lg\\:inset-x-28{left:7rem;right:7rem}.lg\\:inset-x-32{left:8rem;right:8rem}.lg\\:inset-x-36{left:9rem;right:9rem}.lg\\:inset-x-40{left:10rem;right:10rem}.lg\\:inset-x-44{left:11rem;right:11rem}.lg\\:inset-x-48{left:12rem;right:12rem}.lg\\:inset-x-52{left:13rem;right:13rem}.lg\\:inset-x-56{left:14rem;right:14rem}.lg\\:inset-x-60{left:15rem;right:15rem}.lg\\:inset-x-64{left:16rem;right:16rem}.lg\\:inset-x-72{left:18rem;right:18rem}.lg\\:inset-x-80{left:20rem;right:20rem}.lg\\:inset-x-96{left:24rem;right:24rem}.lg\\:inset-x-auto{left:auto;right:auto}.lg\\:inset-x-px{left:1px;right:1px}.lg\\:inset-x-0\\.5{left:0.125rem;right:0.125rem}.lg\\:inset-x-1\\.5{left:0.375rem;right:0.375rem}.lg\\:inset-x-2\\.5{left:0.625rem;right:0.625rem}.lg\\:inset-x-3\\.5{left:0.875rem;right:0.875rem}.lg\\:-inset-x-0{left:0px;right:0px}.lg\\:-inset-x-1{left:-0.25rem;right:-0.25rem}.lg\\:-inset-x-2{left:-0.5rem;right:-0.5rem}.lg\\:-inset-x-3{left:-0.75rem;right:-0.75rem}.lg\\:-inset-x-4{left:-1rem;right:-1rem}.lg\\:-inset-x-5{left:-1.25rem;right:-1.25rem}.lg\\:-inset-x-6{left:-1.5rem;right:-1.5rem}.lg\\:-inset-x-7{left:-1.75rem;right:-1.75rem}.lg\\:-inset-x-8{left:-2rem;right:-2rem}.lg\\:-inset-x-9{left:-2.25rem;right:-2.25rem}.lg\\:-inset-x-10{left:-2.5rem;right:-2.5rem}.lg\\:-inset-x-11{left:-2.75rem;right:-2.75rem}.lg\\:-inset-x-12{left:-3rem;right:-3rem}.lg\\:-inset-x-14{left:-3.5rem;right:-3.5rem}.lg\\:-inset-x-16{left:-4rem;right:-4rem}.lg\\:-inset-x-20{left:-5rem;right:-5rem}.lg\\:-inset-x-24{left:-6rem;right:-6rem}.lg\\:-inset-x-28{left:-7rem;right:-7rem}.lg\\:-inset-x-32{left:-8rem;right:-8rem}.lg\\:-inset-x-36{left:-9rem;right:-9rem}.lg\\:-inset-x-40{left:-10rem;right:-10rem}.lg\\:-inset-x-44{left:-11rem;right:-11rem}.lg\\:-inset-x-48{left:-12rem;right:-12rem}.lg\\:-inset-x-52{left:-13rem;right:-13rem}.lg\\:-inset-x-56{left:-14rem;right:-14rem}.lg\\:-inset-x-60{left:-15rem;right:-15rem}.lg\\:-inset-x-64{left:-16rem;right:-16rem}.lg\\:-inset-x-72{left:-18rem;right:-18rem}.lg\\:-inset-x-80{left:-20rem;right:-20rem}.lg\\:-inset-x-96{left:-24rem;right:-24rem}.lg\\:-inset-x-px{left:-1px;right:-1px}.lg\\:-inset-x-0\\.5{left:-0.125rem;right:-0.125rem}.lg\\:-inset-x-1\\.5{left:-0.375rem;right:-0.375rem}.lg\\:-inset-x-2\\.5{left:-0.625rem;right:-0.625rem}.lg\\:-inset-x-3\\.5{left:-0.875rem;right:-0.875rem}.lg\\:inset-x-1\\/2{left:50%;right:50%}.lg\\:inset-x-1\\/3{left:33.333333%;right:33.333333%}.lg\\:inset-x-2\\/3{left:66.666667%;right:66.666667%}.lg\\:inset-x-1\\/4{left:25%;right:25%}.lg\\:inset-x-2\\/4{left:50%;right:50%}.lg\\:inset-x-3\\/4{left:75%;right:75%}.lg\\:inset-x-full{left:100%;right:100%}.lg\\:-inset-x-1\\/2{left:-50%;right:-50%}.lg\\:-inset-x-1\\/3{left:-33.333333%;right:-33.333333%}.lg\\:-inset-x-2\\/3{left:-66.666667%;right:-66.666667%}.lg\\:-inset-x-1\\/4{left:-25%;right:-25%}.lg\\:-inset-x-2\\/4{left:-50%;right:-50%}.lg\\:-inset-x-3\\/4{left:-75%;right:-75%}.lg\\:-inset-x-full{left:-100%;right:-100%}.lg\\:inset-y-0{top:0px;bottom:0px}.lg\\:inset-y-1{top:0.25rem;bottom:0.25rem}.lg\\:inset-y-2{top:0.5rem;bottom:0.5rem}.lg\\:inset-y-3{top:0.75rem;bottom:0.75rem}.lg\\:inset-y-4{top:1rem;bottom:1rem}.lg\\:inset-y-5{top:1.25rem;bottom:1.25rem}.lg\\:inset-y-6{top:1.5rem;bottom:1.5rem}.lg\\:inset-y-7{top:1.75rem;bottom:1.75rem}.lg\\:inset-y-8{top:2rem;bottom:2rem}.lg\\:inset-y-9{top:2.25rem;bottom:2.25rem}.lg\\:inset-y-10{top:2.5rem;bottom:2.5rem}.lg\\:inset-y-11{top:2.75rem;bottom:2.75rem}.lg\\:inset-y-12{top:3rem;bottom:3rem}.lg\\:inset-y-14{top:3.5rem;bottom:3.5rem}.lg\\:inset-y-16{top:4rem;bottom:4rem}.lg\\:inset-y-20{top:5rem;bottom:5rem}.lg\\:inset-y-24{top:6rem;bottom:6rem}.lg\\:inset-y-28{top:7rem;bottom:7rem}.lg\\:inset-y-32{top:8rem;bottom:8rem}.lg\\:inset-y-36{top:9rem;bottom:9rem}.lg\\:inset-y-40{top:10rem;bottom:10rem}.lg\\:inset-y-44{top:11rem;bottom:11rem}.lg\\:inset-y-48{top:12rem;bottom:12rem}.lg\\:inset-y-52{top:13rem;bottom:13rem}.lg\\:inset-y-56{top:14rem;bottom:14rem}.lg\\:inset-y-60{top:15rem;bottom:15rem}.lg\\:inset-y-64{top:16rem;bottom:16rem}.lg\\:inset-y-72{top:18rem;bottom:18rem}.lg\\:inset-y-80{top:20rem;bottom:20rem}.lg\\:inset-y-96{top:24rem;bottom:24rem}.lg\\:inset-y-auto{top:auto;bottom:auto}.lg\\:inset-y-px{top:1px;bottom:1px}.lg\\:inset-y-0\\.5{top:0.125rem;bottom:0.125rem}.lg\\:inset-y-1\\.5{top:0.375rem;bottom:0.375rem}.lg\\:inset-y-2\\.5{top:0.625rem;bottom:0.625rem}.lg\\:inset-y-3\\.5{top:0.875rem;bottom:0.875rem}.lg\\:-inset-y-0{top:0px;bottom:0px}.lg\\:-inset-y-1{top:-0.25rem;bottom:-0.25rem}.lg\\:-inset-y-2{top:-0.5rem;bottom:-0.5rem}.lg\\:-inset-y-3{top:-0.75rem;bottom:-0.75rem}.lg\\:-inset-y-4{top:-1rem;bottom:-1rem}.lg\\:-inset-y-5{top:-1.25rem;bottom:-1.25rem}.lg\\:-inset-y-6{top:-1.5rem;bottom:-1.5rem}.lg\\:-inset-y-7{top:-1.75rem;bottom:-1.75rem}.lg\\:-inset-y-8{top:-2rem;bottom:-2rem}.lg\\:-inset-y-9{top:-2.25rem;bottom:-2.25rem}.lg\\:-inset-y-10{top:-2.5rem;bottom:-2.5rem}.lg\\:-inset-y-11{top:-2.75rem;bottom:-2.75rem}.lg\\:-inset-y-12{top:-3rem;bottom:-3rem}.lg\\:-inset-y-14{top:-3.5rem;bottom:-3.5rem}.lg\\:-inset-y-16{top:-4rem;bottom:-4rem}.lg\\:-inset-y-20{top:-5rem;bottom:-5rem}.lg\\:-inset-y-24{top:-6rem;bottom:-6rem}.lg\\:-inset-y-28{top:-7rem;bottom:-7rem}.lg\\:-inset-y-32{top:-8rem;bottom:-8rem}.lg\\:-inset-y-36{top:-9rem;bottom:-9rem}.lg\\:-inset-y-40{top:-10rem;bottom:-10rem}.lg\\:-inset-y-44{top:-11rem;bottom:-11rem}.lg\\:-inset-y-48{top:-12rem;bottom:-12rem}.lg\\:-inset-y-52{top:-13rem;bottom:-13rem}.lg\\:-inset-y-56{top:-14rem;bottom:-14rem}.lg\\:-inset-y-60{top:-15rem;bottom:-15rem}.lg\\:-inset-y-64{top:-16rem;bottom:-16rem}.lg\\:-inset-y-72{top:-18rem;bottom:-18rem}.lg\\:-inset-y-80{top:-20rem;bottom:-20rem}.lg\\:-inset-y-96{top:-24rem;bottom:-24rem}.lg\\:-inset-y-px{top:-1px;bottom:-1px}.lg\\:-inset-y-0\\.5{top:-0.125rem;bottom:-0.125rem}.lg\\:-inset-y-1\\.5{top:-0.375rem;bottom:-0.375rem}.lg\\:-inset-y-2\\.5{top:-0.625rem;bottom:-0.625rem}.lg\\:-inset-y-3\\.5{top:-0.875rem;bottom:-0.875rem}.lg\\:inset-y-1\\/2{top:50%;bottom:50%}.lg\\:inset-y-1\\/3{top:33.333333%;bottom:33.333333%}.lg\\:inset-y-2\\/3{top:66.666667%;bottom:66.666667%}.lg\\:inset-y-1\\/4{top:25%;bottom:25%}.lg\\:inset-y-2\\/4{top:50%;bottom:50%}.lg\\:inset-y-3\\/4{top:75%;bottom:75%}.lg\\:inset-y-full{top:100%;bottom:100%}.lg\\:-inset-y-1\\/2{top:-50%;bottom:-50%}.lg\\:-inset-y-1\\/3{top:-33.333333%;bottom:-33.333333%}.lg\\:-inset-y-2\\/3{top:-66.666667%;bottom:-66.666667%}.lg\\:-inset-y-1\\/4{top:-25%;bottom:-25%}.lg\\:-inset-y-2\\/4{top:-50%;bottom:-50%}.lg\\:-inset-y-3\\/4{top:-75%;bottom:-75%}.lg\\:-inset-y-full{top:-100%;bottom:-100%}.lg\\:top-0{top:0px}.lg\\:top-1{top:0.25rem}.lg\\:top-2{top:0.5rem}.lg\\:top-3{top:0.75rem}.lg\\:top-4{top:1rem}.lg\\:top-5{top:1.25rem}.lg\\:top-6{top:1.5rem}.lg\\:top-7{top:1.75rem}.lg\\:top-8{top:2rem}.lg\\:top-9{top:2.25rem}.lg\\:top-10{top:2.5rem}.lg\\:top-11{top:2.75rem}.lg\\:top-12{top:3rem}.lg\\:top-14{top:3.5rem}.lg\\:top-16{top:4rem}.lg\\:top-20{top:5rem}.lg\\:top-24{top:6rem}.lg\\:top-28{top:7rem}.lg\\:top-32{top:8rem}.lg\\:top-36{top:9rem}.lg\\:top-40{top:10rem}.lg\\:top-44{top:11rem}.lg\\:top-48{top:12rem}.lg\\:top-52{top:13rem}.lg\\:top-56{top:14rem}.lg\\:top-60{top:15rem}.lg\\:top-64{top:16rem}.lg\\:top-72{top:18rem}.lg\\:top-80{top:20rem}.lg\\:top-96{top:24rem}.lg\\:top-auto{top:auto}.lg\\:top-px{top:1px}.lg\\:top-0\\.5{top:0.125rem}.lg\\:top-1\\.5{top:0.375rem}.lg\\:top-2\\.5{top:0.625rem}.lg\\:top-3\\.5{top:0.875rem}.lg\\:-top-0{top:0px}.lg\\:-top-1{top:-0.25rem}.lg\\:-top-2{top:-0.5rem}.lg\\:-top-3{top:-0.75rem}.lg\\:-top-4{top:-1rem}.lg\\:-top-5{top:-1.25rem}.lg\\:-top-6{top:-1.5rem}.lg\\:-top-7{top:-1.75rem}.lg\\:-top-8{top:-2rem}.lg\\:-top-9{top:-2.25rem}.lg\\:-top-10{top:-2.5rem}.lg\\:-top-11{top:-2.75rem}.lg\\:-top-12{top:-3rem}.lg\\:-top-14{top:-3.5rem}.lg\\:-top-16{top:-4rem}.lg\\:-top-20{top:-5rem}.lg\\:-top-24{top:-6rem}.lg\\:-top-28{top:-7rem}.lg\\:-top-32{top:-8rem}.lg\\:-top-36{top:-9rem}.lg\\:-top-40{top:-10rem}.lg\\:-top-44{top:-11rem}.lg\\:-top-48{top:-12rem}.lg\\:-top-52{top:-13rem}.lg\\:-top-56{top:-14rem}.lg\\:-top-60{top:-15rem}.lg\\:-top-64{top:-16rem}.lg\\:-top-72{top:-18rem}.lg\\:-top-80{top:-20rem}.lg\\:-top-96{top:-24rem}.lg\\:-top-px{top:-1px}.lg\\:-top-0\\.5{top:-0.125rem}.lg\\:-top-1\\.5{top:-0.375rem}.lg\\:-top-2\\.5{top:-0.625rem}.lg\\:-top-3\\.5{top:-0.875rem}.lg\\:top-1\\/2{top:50%}.lg\\:top-1\\/3{top:33.333333%}.lg\\:top-2\\/3{top:66.666667%}.lg\\:top-1\\/4{top:25%}.lg\\:top-2\\/4{top:50%}.lg\\:top-3\\/4{top:75%}.lg\\:top-full{top:100%}.lg\\:-top-1\\/2{top:-50%}.lg\\:-top-1\\/3{top:-33.333333%}.lg\\:-top-2\\/3{top:-66.666667%}.lg\\:-top-1\\/4{top:-25%}.lg\\:-top-2\\/4{top:-50%}.lg\\:-top-3\\/4{top:-75%}.lg\\:-top-full{top:-100%}.lg\\:right-0{right:0px}.lg\\:right-1{right:0.25rem}.lg\\:right-2{right:0.5rem}.lg\\:right-3{right:0.75rem}.lg\\:right-4{right:1rem}.lg\\:right-5{right:1.25rem}.lg\\:right-6{right:1.5rem}.lg\\:right-7{right:1.75rem}.lg\\:right-8{right:2rem}.lg\\:right-9{right:2.25rem}.lg\\:right-10{right:2.5rem}.lg\\:right-11{right:2.75rem}.lg\\:right-12{right:3rem}.lg\\:right-14{right:3.5rem}.lg\\:right-16{right:4rem}.lg\\:right-20{right:5rem}.lg\\:right-24{right:6rem}.lg\\:right-28{right:7rem}.lg\\:right-32{right:8rem}.lg\\:right-36{right:9rem}.lg\\:right-40{right:10rem}.lg\\:right-44{right:11rem}.lg\\:right-48{right:12rem}.lg\\:right-52{right:13rem}.lg\\:right-56{right:14rem}.lg\\:right-60{right:15rem}.lg\\:right-64{right:16rem}.lg\\:right-72{right:18rem}.lg\\:right-80{right:20rem}.lg\\:right-96{right:24rem}.lg\\:right-auto{right:auto}.lg\\:right-px{right:1px}.lg\\:right-0\\.5{right:0.125rem}.lg\\:right-1\\.5{right:0.375rem}.lg\\:right-2\\.5{right:0.625rem}.lg\\:right-3\\.5{right:0.875rem}.lg\\:-right-0{right:0px}.lg\\:-right-1{right:-0.25rem}.lg\\:-right-2{right:-0.5rem}.lg\\:-right-3{right:-0.75rem}.lg\\:-right-4{right:-1rem}.lg\\:-right-5{right:-1.25rem}.lg\\:-right-6{right:-1.5rem}.lg\\:-right-7{right:-1.75rem}.lg\\:-right-8{right:-2rem}.lg\\:-right-9{right:-2.25rem}.lg\\:-right-10{right:-2.5rem}.lg\\:-right-11{right:-2.75rem}.lg\\:-right-12{right:-3rem}.lg\\:-right-14{right:-3.5rem}.lg\\:-right-16{right:-4rem}.lg\\:-right-20{right:-5rem}.lg\\:-right-24{right:-6rem}.lg\\:-right-28{right:-7rem}.lg\\:-right-32{right:-8rem}.lg\\:-right-36{right:-9rem}.lg\\:-right-40{right:-10rem}.lg\\:-right-44{right:-11rem}.lg\\:-right-48{right:-12rem}.lg\\:-right-52{right:-13rem}.lg\\:-right-56{right:-14rem}.lg\\:-right-60{right:-15rem}.lg\\:-right-64{right:-16rem}.lg\\:-right-72{right:-18rem}.lg\\:-right-80{right:-20rem}.lg\\:-right-96{right:-24rem}.lg\\:-right-px{right:-1px}.lg\\:-right-0\\.5{right:-0.125rem}.lg\\:-right-1\\.5{right:-0.375rem}.lg\\:-right-2\\.5{right:-0.625rem}.lg\\:-right-3\\.5{right:-0.875rem}.lg\\:right-1\\/2{right:50%}.lg\\:right-1\\/3{right:33.333333%}.lg\\:right-2\\/3{right:66.666667%}.lg\\:right-1\\/4{right:25%}.lg\\:right-2\\/4{right:50%}.lg\\:right-3\\/4{right:75%}.lg\\:right-full{right:100%}.lg\\:-right-1\\/2{right:-50%}.lg\\:-right-1\\/3{right:-33.333333%}.lg\\:-right-2\\/3{right:-66.666667%}.lg\\:-right-1\\/4{right:-25%}.lg\\:-right-2\\/4{right:-50%}.lg\\:-right-3\\/4{right:-75%}.lg\\:-right-full{right:-100%}.lg\\:bottom-0{bottom:0px}.lg\\:bottom-1{bottom:0.25rem}.lg\\:bottom-2{bottom:0.5rem}.lg\\:bottom-3{bottom:0.75rem}.lg\\:bottom-4{bottom:1rem}.lg\\:bottom-5{bottom:1.25rem}.lg\\:bottom-6{bottom:1.5rem}.lg\\:bottom-7{bottom:1.75rem}.lg\\:bottom-8{bottom:2rem}.lg\\:bottom-9{bottom:2.25rem}.lg\\:bottom-10{bottom:2.5rem}.lg\\:bottom-11{bottom:2.75rem}.lg\\:bottom-12{bottom:3rem}.lg\\:bottom-14{bottom:3.5rem}.lg\\:bottom-16{bottom:4rem}.lg\\:bottom-20{bottom:5rem}.lg\\:bottom-24{bottom:6rem}.lg\\:bottom-28{bottom:7rem}.lg\\:bottom-32{bottom:8rem}.lg\\:bottom-36{bottom:9rem}.lg\\:bottom-40{bottom:10rem}.lg\\:bottom-44{bottom:11rem}.lg\\:bottom-48{bottom:12rem}.lg\\:bottom-52{bottom:13rem}.lg\\:bottom-56{bottom:14rem}.lg\\:bottom-60{bottom:15rem}.lg\\:bottom-64{bottom:16rem}.lg\\:bottom-72{bottom:18rem}.lg\\:bottom-80{bottom:20rem}.lg\\:bottom-96{bottom:24rem}.lg\\:bottom-auto{bottom:auto}.lg\\:bottom-px{bottom:1px}.lg\\:bottom-0\\.5{bottom:0.125rem}.lg\\:bottom-1\\.5{bottom:0.375rem}.lg\\:bottom-2\\.5{bottom:0.625rem}.lg\\:bottom-3\\.5{bottom:0.875rem}.lg\\:-bottom-0{bottom:0px}.lg\\:-bottom-1{bottom:-0.25rem}.lg\\:-bottom-2{bottom:-0.5rem}.lg\\:-bottom-3{bottom:-0.75rem}.lg\\:-bottom-4{bottom:-1rem}.lg\\:-bottom-5{bottom:-1.25rem}.lg\\:-bottom-6{bottom:-1.5rem}.lg\\:-bottom-7{bottom:-1.75rem}.lg\\:-bottom-8{bottom:-2rem}.lg\\:-bottom-9{bottom:-2.25rem}.lg\\:-bottom-10{bottom:-2.5rem}.lg\\:-bottom-11{bottom:-2.75rem}.lg\\:-bottom-12{bottom:-3rem}.lg\\:-bottom-14{bottom:-3.5rem}.lg\\:-bottom-16{bottom:-4rem}.lg\\:-bottom-20{bottom:-5rem}.lg\\:-bottom-24{bottom:-6rem}.lg\\:-bottom-28{bottom:-7rem}.lg\\:-bottom-32{bottom:-8rem}.lg\\:-bottom-36{bottom:-9rem}.lg\\:-bottom-40{bottom:-10rem}.lg\\:-bottom-44{bottom:-11rem}.lg\\:-bottom-48{bottom:-12rem}.lg\\:-bottom-52{bottom:-13rem}.lg\\:-bottom-56{bottom:-14rem}.lg\\:-bottom-60{bottom:-15rem}.lg\\:-bottom-64{bottom:-16rem}.lg\\:-bottom-72{bottom:-18rem}.lg\\:-bottom-80{bottom:-20rem}.lg\\:-bottom-96{bottom:-24rem}.lg\\:-bottom-px{bottom:-1px}.lg\\:-bottom-0\\.5{bottom:-0.125rem}.lg\\:-bottom-1\\.5{bottom:-0.375rem}.lg\\:-bottom-2\\.5{bottom:-0.625rem}.lg\\:-bottom-3\\.5{bottom:-0.875rem}.lg\\:bottom-1\\/2{bottom:50%}.lg\\:bottom-1\\/3{bottom:33.333333%}.lg\\:bottom-2\\/3{bottom:66.666667%}.lg\\:bottom-1\\/4{bottom:25%}.lg\\:bottom-2\\/4{bottom:50%}.lg\\:bottom-3\\/4{bottom:75%}.lg\\:bottom-full{bottom:100%}.lg\\:-bottom-1\\/2{bottom:-50%}.lg\\:-bottom-1\\/3{bottom:-33.333333%}.lg\\:-bottom-2\\/3{bottom:-66.666667%}.lg\\:-bottom-1\\/4{bottom:-25%}.lg\\:-bottom-2\\/4{bottom:-50%}.lg\\:-bottom-3\\/4{bottom:-75%}.lg\\:-bottom-full{bottom:-100%}.lg\\:left-0{left:0px}.lg\\:left-1{left:0.25rem}.lg\\:left-2{left:0.5rem}.lg\\:left-3{left:0.75rem}.lg\\:left-4{left:1rem}.lg\\:left-5{left:1.25rem}.lg\\:left-6{left:1.5rem}.lg\\:left-7{left:1.75rem}.lg\\:left-8{left:2rem}.lg\\:left-9{left:2.25rem}.lg\\:left-10{left:2.5rem}.lg\\:left-11{left:2.75rem}.lg\\:left-12{left:3rem}.lg\\:left-14{left:3.5rem}.lg\\:left-16{left:4rem}.lg\\:left-20{left:5rem}.lg\\:left-24{left:6rem}.lg\\:left-28{left:7rem}.lg\\:left-32{left:8rem}.lg\\:left-36{left:9rem}.lg\\:left-40{left:10rem}.lg\\:left-44{left:11rem}.lg\\:left-48{left:12rem}.lg\\:left-52{left:13rem}.lg\\:left-56{left:14rem}.lg\\:left-60{left:15rem}.lg\\:left-64{left:16rem}.lg\\:left-72{left:18rem}.lg\\:left-80{left:20rem}.lg\\:left-96{left:24rem}.lg\\:left-auto{left:auto}.lg\\:left-px{left:1px}.lg\\:left-0\\.5{left:0.125rem}.lg\\:left-1\\.5{left:0.375rem}.lg\\:left-2\\.5{left:0.625rem}.lg\\:left-3\\.5{left:0.875rem}.lg\\:-left-0{left:0px}.lg\\:-left-1{left:-0.25rem}.lg\\:-left-2{left:-0.5rem}.lg\\:-left-3{left:-0.75rem}.lg\\:-left-4{left:-1rem}.lg\\:-left-5{left:-1.25rem}.lg\\:-left-6{left:-1.5rem}.lg\\:-left-7{left:-1.75rem}.lg\\:-left-8{left:-2rem}.lg\\:-left-9{left:-2.25rem}.lg\\:-left-10{left:-2.5rem}.lg\\:-left-11{left:-2.75rem}.lg\\:-left-12{left:-3rem}.lg\\:-left-14{left:-3.5rem}.lg\\:-left-16{left:-4rem}.lg\\:-left-20{left:-5rem}.lg\\:-left-24{left:-6rem}.lg\\:-left-28{left:-7rem}.lg\\:-left-32{left:-8rem}.lg\\:-left-36{left:-9rem}.lg\\:-left-40{left:-10rem}.lg\\:-left-44{left:-11rem}.lg\\:-left-48{left:-12rem}.lg\\:-left-52{left:-13rem}.lg\\:-left-56{left:-14rem}.lg\\:-left-60{left:-15rem}.lg\\:-left-64{left:-16rem}.lg\\:-left-72{left:-18rem}.lg\\:-left-80{left:-20rem}.lg\\:-left-96{left:-24rem}.lg\\:-left-px{left:-1px}.lg\\:-left-0\\.5{left:-0.125rem}.lg\\:-left-1\\.5{left:-0.375rem}.lg\\:-left-2\\.5{left:-0.625rem}.lg\\:-left-3\\.5{left:-0.875rem}.lg\\:left-1\\/2{left:50%}.lg\\:left-1\\/3{left:33.333333%}.lg\\:left-2\\/3{left:66.666667%}.lg\\:left-1\\/4{left:25%}.lg\\:left-2\\/4{left:50%}.lg\\:left-3\\/4{left:75%}.lg\\:left-full{left:100%}.lg\\:-left-1\\/2{left:-50%}.lg\\:-left-1\\/3{left:-33.333333%}.lg\\:-left-2\\/3{left:-66.666667%}.lg\\:-left-1\\/4{left:-25%}.lg\\:-left-2\\/4{left:-50%}.lg\\:-left-3\\/4{left:-75%}.lg\\:-left-full{left:-100%}.lg\\:isolate{isolation:isolate}.lg\\:isolation-auto{isolation:auto}.lg\\:z-0{z-index:0}.lg\\:z-10{z-index:10}.lg\\:z-20{z-index:20}.lg\\:z-30{z-index:30}.lg\\:z-40{z-index:40}.lg\\:z-50{z-index:50}.lg\\:z-auto{z-index:auto}.lg\\:focus-within\\:z-0:focus-within{z-index:0}.lg\\:focus-within\\:z-10:focus-within{z-index:10}.lg\\:focus-within\\:z-20:focus-within{z-index:20}.lg\\:focus-within\\:z-30:focus-within{z-index:30}.lg\\:focus-within\\:z-40:focus-within{z-index:40}.lg\\:focus-within\\:z-50:focus-within{z-index:50}.lg\\:focus-within\\:z-auto:focus-within{z-index:auto}.lg\\:focus\\:z-0:focus{z-index:0}.lg\\:focus\\:z-10:focus{z-index:10}.lg\\:focus\\:z-20:focus{z-index:20}.lg\\:focus\\:z-30:focus{z-index:30}.lg\\:focus\\:z-40:focus{z-index:40}.lg\\:focus\\:z-50:focus{z-index:50}.lg\\:focus\\:z-auto:focus{z-index:auto}.lg\\:order-1{order:1}.lg\\:order-2{order:2}.lg\\:order-3{order:3}.lg\\:order-4{order:4}.lg\\:order-5{order:5}.lg\\:order-6{order:6}.lg\\:order-7{order:7}.lg\\:order-8{order:8}.lg\\:order-9{order:9}.lg\\:order-10{order:10}.lg\\:order-11{order:11}.lg\\:order-12{order:12}.lg\\:order-first{order:-9999}.lg\\:order-last{order:9999}.lg\\:order-none{order:0}.lg\\:col-auto{grid-column:auto}.lg\\:col-span-1{grid-column:span 1 / span 1}.lg\\:col-span-2{grid-column:span 2 / span 2}.lg\\:col-span-3{grid-column:span 3 / span 3}.lg\\:col-span-4{grid-column:span 4 / span 4}.lg\\:col-span-5{grid-column:span 5 / span 5}.lg\\:col-span-6{grid-column:span 6 / span 6}.lg\\:col-span-7{grid-column:span 7 / span 7}.lg\\:col-span-8{grid-column:span 8 / span 8}.lg\\:col-span-9{grid-column:span 9 / span 9}.lg\\:col-span-10{grid-column:span 10 / span 10}.lg\\:col-span-11{grid-column:span 11 / span 11}.lg\\:col-span-12{grid-column:span 12 / span 12}.lg\\:col-span-full{grid-column:1 / -1}.lg\\:col-start-1{grid-column-start:1}.lg\\:col-start-2{grid-column-start:2}.lg\\:col-start-3{grid-column-start:3}.lg\\:col-start-4{grid-column-start:4}.lg\\:col-start-5{grid-column-start:5}.lg\\:col-start-6{grid-column-start:6}.lg\\:col-start-7{grid-column-start:7}.lg\\:col-start-8{grid-column-start:8}.lg\\:col-start-9{grid-column-start:9}.lg\\:col-start-10{grid-column-start:10}.lg\\:col-start-11{grid-column-start:11}.lg\\:col-start-12{grid-column-start:12}.lg\\:col-start-13{grid-column-start:13}.lg\\:col-start-auto{grid-column-start:auto}.lg\\:col-end-1{grid-column-end:1}.lg\\:col-end-2{grid-column-end:2}.lg\\:col-end-3{grid-column-end:3}.lg\\:col-end-4{grid-column-end:4}.lg\\:col-end-5{grid-column-end:5}.lg\\:col-end-6{grid-column-end:6}.lg\\:col-end-7{grid-column-end:7}.lg\\:col-end-8{grid-column-end:8}.lg\\:col-end-9{grid-column-end:9}.lg\\:col-end-10{grid-column-end:10}.lg\\:col-end-11{grid-column-end:11}.lg\\:col-end-12{grid-column-end:12}.lg\\:col-end-13{grid-column-end:13}.lg\\:col-end-auto{grid-column-end:auto}.lg\\:row-auto{grid-row:auto}.lg\\:row-span-1{grid-row:span 1 / span 1}.lg\\:row-span-2{grid-row:span 2 / span 2}.lg\\:row-span-3{grid-row:span 3 / span 3}.lg\\:row-span-4{grid-row:span 4 / span 4}.lg\\:row-span-5{grid-row:span 5 / span 5}.lg\\:row-span-6{grid-row:span 6 / span 6}.lg\\:row-span-full{grid-row:1 / -1}.lg\\:row-start-1{grid-row-start:1}.lg\\:row-start-2{grid-row-start:2}.lg\\:row-start-3{grid-row-start:3}.lg\\:row-start-4{grid-row-start:4}.lg\\:row-start-5{grid-row-start:5}.lg\\:row-start-6{grid-row-start:6}.lg\\:row-start-7{grid-row-start:7}.lg\\:row-start-auto{grid-row-start:auto}.lg\\:row-end-1{grid-row-end:1}.lg\\:row-end-2{grid-row-end:2}.lg\\:row-end-3{grid-row-end:3}.lg\\:row-end-4{grid-row-end:4}.lg\\:row-end-5{grid-row-end:5}.lg\\:row-end-6{grid-row-end:6}.lg\\:row-end-7{grid-row-end:7}.lg\\:row-end-auto{grid-row-end:auto}.lg\\:float-right{float:right}.lg\\:float-left{float:left}.lg\\:float-none{float:none}.lg\\:clear-left{clear:left}.lg\\:clear-right{clear:right}.lg\\:clear-both{clear:both}.lg\\:clear-none{clear:none}.lg\\:m-0{margin:0px}.lg\\:m-1{margin:0.25rem}.lg\\:m-2{margin:0.5rem}.lg\\:m-3{margin:0.75rem}.lg\\:m-4{margin:1rem}.lg\\:m-5{margin:1.25rem}.lg\\:m-6{margin:1.5rem}.lg\\:m-7{margin:1.75rem}.lg\\:m-8{margin:2rem}.lg\\:m-9{margin:2.25rem}.lg\\:m-10{margin:2.5rem}.lg\\:m-11{margin:2.75rem}.lg\\:m-12{margin:3rem}.lg\\:m-14{margin:3.5rem}.lg\\:m-16{margin:4rem}.lg\\:m-20{margin:5rem}.lg\\:m-24{margin:6rem}.lg\\:m-28{margin:7rem}.lg\\:m-32{margin:8rem}.lg\\:m-36{margin:9rem}.lg\\:m-40{margin:10rem}.lg\\:m-44{margin:11rem}.lg\\:m-48{margin:12rem}.lg\\:m-52{margin:13rem}.lg\\:m-56{margin:14rem}.lg\\:m-60{margin:15rem}.lg\\:m-64{margin:16rem}.lg\\:m-72{margin:18rem}.lg\\:m-80{margin:20rem}.lg\\:m-96{margin:24rem}.lg\\:m-auto{margin:auto}.lg\\:m-px{margin:1px}.lg\\:m-0\\.5{margin:0.125rem}.lg\\:m-1\\.5{margin:0.375rem}.lg\\:m-2\\.5{margin:0.625rem}.lg\\:m-3\\.5{margin:0.875rem}.lg\\:-m-0{margin:0px}.lg\\:-m-1{margin:-0.25rem}.lg\\:-m-2{margin:-0.5rem}.lg\\:-m-3{margin:-0.75rem}.lg\\:-m-4{margin:-1rem}.lg\\:-m-5{margin:-1.25rem}.lg\\:-m-6{margin:-1.5rem}.lg\\:-m-7{margin:-1.75rem}.lg\\:-m-8{margin:-2rem}.lg\\:-m-9{margin:-2.25rem}.lg\\:-m-10{margin:-2.5rem}.lg\\:-m-11{margin:-2.75rem}.lg\\:-m-12{margin:-3rem}.lg\\:-m-14{margin:-3.5rem}.lg\\:-m-16{margin:-4rem}.lg\\:-m-20{margin:-5rem}.lg\\:-m-24{margin:-6rem}.lg\\:-m-28{margin:-7rem}.lg\\:-m-32{margin:-8rem}.lg\\:-m-36{margin:-9rem}.lg\\:-m-40{margin:-10rem}.lg\\:-m-44{margin:-11rem}.lg\\:-m-48{margin:-12rem}.lg\\:-m-52{margin:-13rem}.lg\\:-m-56{margin:-14rem}.lg\\:-m-60{margin:-15rem}.lg\\:-m-64{margin:-16rem}.lg\\:-m-72{margin:-18rem}.lg\\:-m-80{margin:-20rem}.lg\\:-m-96{margin:-24rem}.lg\\:-m-px{margin:-1px}.lg\\:-m-0\\.5{margin:-0.125rem}.lg\\:-m-1\\.5{margin:-0.375rem}.lg\\:-m-2\\.5{margin:-0.625rem}.lg\\:-m-3\\.5{margin:-0.875rem}.lg\\:mx-0{margin-left:0px;margin-right:0px}.lg\\:mx-1{margin-left:0.25rem;margin-right:0.25rem}.lg\\:mx-2{margin-left:0.5rem;margin-right:0.5rem}.lg\\:mx-3{margin-left:0.75rem;margin-right:0.75rem}.lg\\:mx-4{margin-left:1rem;margin-right:1rem}.lg\\:mx-5{margin-left:1.25rem;margin-right:1.25rem}.lg\\:mx-6{margin-left:1.5rem;margin-right:1.5rem}.lg\\:mx-7{margin-left:1.75rem;margin-right:1.75rem}.lg\\:mx-8{margin-left:2rem;margin-right:2rem}.lg\\:mx-9{margin-left:2.25rem;margin-right:2.25rem}.lg\\:mx-10{margin-left:2.5rem;margin-right:2.5rem}.lg\\:mx-11{margin-left:2.75rem;margin-right:2.75rem}.lg\\:mx-12{margin-left:3rem;margin-right:3rem}.lg\\:mx-14{margin-left:3.5rem;margin-right:3.5rem}.lg\\:mx-16{margin-left:4rem;margin-right:4rem}.lg\\:mx-20{margin-left:5rem;margin-right:5rem}.lg\\:mx-24{margin-left:6rem;margin-right:6rem}.lg\\:mx-28{margin-left:7rem;margin-right:7rem}.lg\\:mx-32{margin-left:8rem;margin-right:8rem}.lg\\:mx-36{margin-left:9rem;margin-right:9rem}.lg\\:mx-40{margin-left:10rem;margin-right:10rem}.lg\\:mx-44{margin-left:11rem;margin-right:11rem}.lg\\:mx-48{margin-left:12rem;margin-right:12rem}.lg\\:mx-52{margin-left:13rem;margin-right:13rem}.lg\\:mx-56{margin-left:14rem;margin-right:14rem}.lg\\:mx-60{margin-left:15rem;margin-right:15rem}.lg\\:mx-64{margin-left:16rem;margin-right:16rem}.lg\\:mx-72{margin-left:18rem;margin-right:18rem}.lg\\:mx-80{margin-left:20rem;margin-right:20rem}.lg\\:mx-96{margin-left:24rem;margin-right:24rem}.lg\\:mx-auto{margin-left:auto;margin-right:auto}.lg\\:mx-px{margin-left:1px;margin-right:1px}.lg\\:mx-0\\.5{margin-left:0.125rem;margin-right:0.125rem}.lg\\:mx-1\\.5{margin-left:0.375rem;margin-right:0.375rem}.lg\\:mx-2\\.5{margin-left:0.625rem;margin-right:0.625rem}.lg\\:mx-3\\.5{margin-left:0.875rem;margin-right:0.875rem}.lg\\:-mx-0{margin-left:0px;margin-right:0px}.lg\\:-mx-1{margin-left:-0.25rem;margin-right:-0.25rem}.lg\\:-mx-2{margin-left:-0.5rem;margin-right:-0.5rem}.lg\\:-mx-3{margin-left:-0.75rem;margin-right:-0.75rem}.lg\\:-mx-4{margin-left:-1rem;margin-right:-1rem}.lg\\:-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.lg\\:-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.lg\\:-mx-7{margin-left:-1.75rem;margin-right:-1.75rem}.lg\\:-mx-8{margin-left:-2rem;margin-right:-2rem}.lg\\:-mx-9{margin-left:-2.25rem;margin-right:-2.25rem}.lg\\:-mx-10{margin-left:-2.5rem;margin-right:-2.5rem}.lg\\:-mx-11{margin-left:-2.75rem;margin-right:-2.75rem}.lg\\:-mx-12{margin-left:-3rem;margin-right:-3rem}.lg\\:-mx-14{margin-left:-3.5rem;margin-right:-3.5rem}.lg\\:-mx-16{margin-left:-4rem;margin-right:-4rem}.lg\\:-mx-20{margin-left:-5rem;margin-right:-5rem}.lg\\:-mx-24{margin-left:-6rem;margin-right:-6rem}.lg\\:-mx-28{margin-left:-7rem;margin-right:-7rem}.lg\\:-mx-32{margin-left:-8rem;margin-right:-8rem}.lg\\:-mx-36{margin-left:-9rem;margin-right:-9rem}.lg\\:-mx-40{margin-left:-10rem;margin-right:-10rem}.lg\\:-mx-44{margin-left:-11rem;margin-right:-11rem}.lg\\:-mx-48{margin-left:-12rem;margin-right:-12rem}.lg\\:-mx-52{margin-left:-13rem;margin-right:-13rem}.lg\\:-mx-56{margin-left:-14rem;margin-right:-14rem}.lg\\:-mx-60{margin-left:-15rem;margin-right:-15rem}.lg\\:-mx-64{margin-left:-16rem;margin-right:-16rem}.lg\\:-mx-72{margin-left:-18rem;margin-right:-18rem}.lg\\:-mx-80{margin-left:-20rem;margin-right:-20rem}.lg\\:-mx-96{margin-left:-24rem;margin-right:-24rem}.lg\\:-mx-px{margin-left:-1px;margin-right:-1px}.lg\\:-mx-0\\.5{margin-left:-0.125rem;margin-right:-0.125rem}.lg\\:-mx-1\\.5{margin-left:-0.375rem;margin-right:-0.375rem}.lg\\:-mx-2\\.5{margin-left:-0.625rem;margin-right:-0.625rem}.lg\\:-mx-3\\.5{margin-left:-0.875rem;margin-right:-0.875rem}.lg\\:my-0{margin-top:0px;margin-bottom:0px}.lg\\:my-1{margin-top:0.25rem;margin-bottom:0.25rem}.lg\\:my-2{margin-top:0.5rem;margin-bottom:0.5rem}.lg\\:my-3{margin-top:0.75rem;margin-bottom:0.75rem}.lg\\:my-4{margin-top:1rem;margin-bottom:1rem}.lg\\:my-5{margin-top:1.25rem;margin-bottom:1.25rem}.lg\\:my-6{margin-top:1.5rem;margin-bottom:1.5rem}.lg\\:my-7{margin-top:1.75rem;margin-bottom:1.75rem}.lg\\:my-8{margin-top:2rem;margin-bottom:2rem}.lg\\:my-9{margin-top:2.25rem;margin-bottom:2.25rem}.lg\\:my-10{margin-top:2.5rem;margin-bottom:2.5rem}.lg\\:my-11{margin-top:2.75rem;margin-bottom:2.75rem}.lg\\:my-12{margin-top:3rem;margin-bottom:3rem}.lg\\:my-14{margin-top:3.5rem;margin-bottom:3.5rem}.lg\\:my-16{margin-top:4rem;margin-bottom:4rem}.lg\\:my-20{margin-top:5rem;margin-bottom:5rem}.lg\\:my-24{margin-top:6rem;margin-bottom:6rem}.lg\\:my-28{margin-top:7rem;margin-bottom:7rem}.lg\\:my-32{margin-top:8rem;margin-bottom:8rem}.lg\\:my-36{margin-top:9rem;margin-bottom:9rem}.lg\\:my-40{margin-top:10rem;margin-bottom:10rem}.lg\\:my-44{margin-top:11rem;margin-bottom:11rem}.lg\\:my-48{margin-top:12rem;margin-bottom:12rem}.lg\\:my-52{margin-top:13rem;margin-bottom:13rem}.lg\\:my-56{margin-top:14rem;margin-bottom:14rem}.lg\\:my-60{margin-top:15rem;margin-bottom:15rem}.lg\\:my-64{margin-top:16rem;margin-bottom:16rem}.lg\\:my-72{margin-top:18rem;margin-bottom:18rem}.lg\\:my-80{margin-top:20rem;margin-bottom:20rem}.lg\\:my-96{margin-top:24rem;margin-bottom:24rem}.lg\\:my-auto{margin-top:auto;margin-bottom:auto}.lg\\:my-px{margin-top:1px;margin-bottom:1px}.lg\\:my-0\\.5{margin-top:0.125rem;margin-bottom:0.125rem}.lg\\:my-1\\.5{margin-top:0.375rem;margin-bottom:0.375rem}.lg\\:my-2\\.5{margin-top:0.625rem;margin-bottom:0.625rem}.lg\\:my-3\\.5{margin-top:0.875rem;margin-bottom:0.875rem}.lg\\:-my-0{margin-top:0px;margin-bottom:0px}.lg\\:-my-1{margin-top:-0.25rem;margin-bottom:-0.25rem}.lg\\:-my-2{margin-top:-0.5rem;margin-bottom:-0.5rem}.lg\\:-my-3{margin-top:-0.75rem;margin-bottom:-0.75rem}.lg\\:-my-4{margin-top:-1rem;margin-bottom:-1rem}.lg\\:-my-5{margin-top:-1.25rem;margin-bottom:-1.25rem}.lg\\:-my-6{margin-top:-1.5rem;margin-bottom:-1.5rem}.lg\\:-my-7{margin-top:-1.75rem;margin-bottom:-1.75rem}.lg\\:-my-8{margin-top:-2rem;margin-bottom:-2rem}.lg\\:-my-9{margin-top:-2.25rem;margin-bottom:-2.25rem}.lg\\:-my-10{margin-top:-2.5rem;margin-bottom:-2.5rem}.lg\\:-my-11{margin-top:-2.75rem;margin-bottom:-2.75rem}.lg\\:-my-12{margin-top:-3rem;margin-bottom:-3rem}.lg\\:-my-14{margin-top:-3.5rem;margin-bottom:-3.5rem}.lg\\:-my-16{margin-top:-4rem;margin-bottom:-4rem}.lg\\:-my-20{margin-top:-5rem;margin-bottom:-5rem}.lg\\:-my-24{margin-top:-6rem;margin-bottom:-6rem}.lg\\:-my-28{margin-top:-7rem;margin-bottom:-7rem}.lg\\:-my-32{margin-top:-8rem;margin-bottom:-8rem}.lg\\:-my-36{margin-top:-9rem;margin-bottom:-9rem}.lg\\:-my-40{margin-top:-10rem;margin-bottom:-10rem}.lg\\:-my-44{margin-top:-11rem;margin-bottom:-11rem}.lg\\:-my-48{margin-top:-12rem;margin-bottom:-12rem}.lg\\:-my-52{margin-top:-13rem;margin-bottom:-13rem}.lg\\:-my-56{margin-top:-14rem;margin-bottom:-14rem}.lg\\:-my-60{margin-top:-15rem;margin-bottom:-15rem}.lg\\:-my-64{margin-top:-16rem;margin-bottom:-16rem}.lg\\:-my-72{margin-top:-18rem;margin-bottom:-18rem}.lg\\:-my-80{margin-top:-20rem;margin-bottom:-20rem}.lg\\:-my-96{margin-top:-24rem;margin-bottom:-24rem}.lg\\:-my-px{margin-top:-1px;margin-bottom:-1px}.lg\\:-my-0\\.5{margin-top:-0.125rem;margin-bottom:-0.125rem}.lg\\:-my-1\\.5{margin-top:-0.375rem;margin-bottom:-0.375rem}.lg\\:-my-2\\.5{margin-top:-0.625rem;margin-bottom:-0.625rem}.lg\\:-my-3\\.5{margin-top:-0.875rem;margin-bottom:-0.875rem}.lg\\:mt-0{margin-top:0px}.lg\\:mt-1{margin-top:0.25rem}.lg\\:mt-2{margin-top:0.5rem}.lg\\:mt-3{margin-top:0.75rem}.lg\\:mt-4{margin-top:1rem}.lg\\:mt-5{margin-top:1.25rem}.lg\\:mt-6{margin-top:1.5rem}.lg\\:mt-7{margin-top:1.75rem}.lg\\:mt-8{margin-top:2rem}.lg\\:mt-9{margin-top:2.25rem}.lg\\:mt-10{margin-top:2.5rem}.lg\\:mt-11{margin-top:2.75rem}.lg\\:mt-12{margin-top:3rem}.lg\\:mt-14{margin-top:3.5rem}.lg\\:mt-16{margin-top:4rem}.lg\\:mt-20{margin-top:5rem}.lg\\:mt-24{margin-top:6rem}.lg\\:mt-28{margin-top:7rem}.lg\\:mt-32{margin-top:8rem}.lg\\:mt-36{margin-top:9rem}.lg\\:mt-40{margin-top:10rem}.lg\\:mt-44{margin-top:11rem}.lg\\:mt-48{margin-top:12rem}.lg\\:mt-52{margin-top:13rem}.lg\\:mt-56{margin-top:14rem}.lg\\:mt-60{margin-top:15rem}.lg\\:mt-64{margin-top:16rem}.lg\\:mt-72{margin-top:18rem}.lg\\:mt-80{margin-top:20rem}.lg\\:mt-96{margin-top:24rem}.lg\\:mt-auto{margin-top:auto}.lg\\:mt-px{margin-top:1px}.lg\\:mt-0\\.5{margin-top:0.125rem}.lg\\:mt-1\\.5{margin-top:0.375rem}.lg\\:mt-2\\.5{margin-top:0.625rem}.lg\\:mt-3\\.5{margin-top:0.875rem}.lg\\:-mt-0{margin-top:0px}.lg\\:-mt-1{margin-top:-0.25rem}.lg\\:-mt-2{margin-top:-0.5rem}.lg\\:-mt-3{margin-top:-0.75rem}.lg\\:-mt-4{margin-top:-1rem}.lg\\:-mt-5{margin-top:-1.25rem}.lg\\:-mt-6{margin-top:-1.5rem}.lg\\:-mt-7{margin-top:-1.75rem}.lg\\:-mt-8{margin-top:-2rem}.lg\\:-mt-9{margin-top:-2.25rem}.lg\\:-mt-10{margin-top:-2.5rem}.lg\\:-mt-11{margin-top:-2.75rem}.lg\\:-mt-12{margin-top:-3rem}.lg\\:-mt-14{margin-top:-3.5rem}.lg\\:-mt-16{margin-top:-4rem}.lg\\:-mt-20{margin-top:-5rem}.lg\\:-mt-24{margin-top:-6rem}.lg\\:-mt-28{margin-top:-7rem}.lg\\:-mt-32{margin-top:-8rem}.lg\\:-mt-36{margin-top:-9rem}.lg\\:-mt-40{margin-top:-10rem}.lg\\:-mt-44{margin-top:-11rem}.lg\\:-mt-48{margin-top:-12rem}.lg\\:-mt-52{margin-top:-13rem}.lg\\:-mt-56{margin-top:-14rem}.lg\\:-mt-60{margin-top:-15rem}.lg\\:-mt-64{margin-top:-16rem}.lg\\:-mt-72{margin-top:-18rem}.lg\\:-mt-80{margin-top:-20rem}.lg\\:-mt-96{margin-top:-24rem}.lg\\:-mt-px{margin-top:-1px}.lg\\:-mt-0\\.5{margin-top:-0.125rem}.lg\\:-mt-1\\.5{margin-top:-0.375rem}.lg\\:-mt-2\\.5{margin-top:-0.625rem}.lg\\:-mt-3\\.5{margin-top:-0.875rem}.lg\\:mr-0{margin-right:0px}.lg\\:mr-1{margin-right:0.25rem}.lg\\:mr-2{margin-right:0.5rem}.lg\\:mr-3{margin-right:0.75rem}.lg\\:mr-4{margin-right:1rem}.lg\\:mr-5{margin-right:1.25rem}.lg\\:mr-6{margin-right:1.5rem}.lg\\:mr-7{margin-right:1.75rem}.lg\\:mr-8{margin-right:2rem}.lg\\:mr-9{margin-right:2.25rem}.lg\\:mr-10{margin-right:2.5rem}.lg\\:mr-11{margin-right:2.75rem}.lg\\:mr-12{margin-right:3rem}.lg\\:mr-14{margin-right:3.5rem}.lg\\:mr-16{margin-right:4rem}.lg\\:mr-20{margin-right:5rem}.lg\\:mr-24{margin-right:6rem}.lg\\:mr-28{margin-right:7rem}.lg\\:mr-32{margin-right:8rem}.lg\\:mr-36{margin-right:9rem}.lg\\:mr-40{margin-right:10rem}.lg\\:mr-44{margin-right:11rem}.lg\\:mr-48{margin-right:12rem}.lg\\:mr-52{margin-right:13rem}.lg\\:mr-56{margin-right:14rem}.lg\\:mr-60{margin-right:15rem}.lg\\:mr-64{margin-right:16rem}.lg\\:mr-72{margin-right:18rem}.lg\\:mr-80{margin-right:20rem}.lg\\:mr-96{margin-right:24rem}.lg\\:mr-auto{margin-right:auto}.lg\\:mr-px{margin-right:1px}.lg\\:mr-0\\.5{margin-right:0.125rem}.lg\\:mr-1\\.5{margin-right:0.375rem}.lg\\:mr-2\\.5{margin-right:0.625rem}.lg\\:mr-3\\.5{margin-right:0.875rem}.lg\\:-mr-0{margin-right:0px}.lg\\:-mr-1{margin-right:-0.25rem}.lg\\:-mr-2{margin-right:-0.5rem}.lg\\:-mr-3{margin-right:-0.75rem}.lg\\:-mr-4{margin-right:-1rem}.lg\\:-mr-5{margin-right:-1.25rem}.lg\\:-mr-6{margin-right:-1.5rem}.lg\\:-mr-7{margin-right:-1.75rem}.lg\\:-mr-8{margin-right:-2rem}.lg\\:-mr-9{margin-right:-2.25rem}.lg\\:-mr-10{margin-right:-2.5rem}.lg\\:-mr-11{margin-right:-2.75rem}.lg\\:-mr-12{margin-right:-3rem}.lg\\:-mr-14{margin-right:-3.5rem}.lg\\:-mr-16{margin-right:-4rem}.lg\\:-mr-20{margin-right:-5rem}.lg\\:-mr-24{margin-right:-6rem}.lg\\:-mr-28{margin-right:-7rem}.lg\\:-mr-32{margin-right:-8rem}.lg\\:-mr-36{margin-right:-9rem}.lg\\:-mr-40{margin-right:-10rem}.lg\\:-mr-44{margin-right:-11rem}.lg\\:-mr-48{margin-right:-12rem}.lg\\:-mr-52{margin-right:-13rem}.lg\\:-mr-56{margin-right:-14rem}.lg\\:-mr-60{margin-right:-15rem}.lg\\:-mr-64{margin-right:-16rem}.lg\\:-mr-72{margin-right:-18rem}.lg\\:-mr-80{margin-right:-20rem}.lg\\:-mr-96{margin-right:-24rem}.lg\\:-mr-px{margin-right:-1px}.lg\\:-mr-0\\.5{margin-right:-0.125rem}.lg\\:-mr-1\\.5{margin-right:-0.375rem}.lg\\:-mr-2\\.5{margin-right:-0.625rem}.lg\\:-mr-3\\.5{margin-right:-0.875rem}.lg\\:mb-0{margin-bottom:0px}.lg\\:mb-1{margin-bottom:0.25rem}.lg\\:mb-2{margin-bottom:0.5rem}.lg\\:mb-3{margin-bottom:0.75rem}.lg\\:mb-4{margin-bottom:1rem}.lg\\:mb-5{margin-bottom:1.25rem}.lg\\:mb-6{margin-bottom:1.5rem}.lg\\:mb-7{margin-bottom:1.75rem}.lg\\:mb-8{margin-bottom:2rem}.lg\\:mb-9{margin-bottom:2.25rem}.lg\\:mb-10{margin-bottom:2.5rem}.lg\\:mb-11{margin-bottom:2.75rem}.lg\\:mb-12{margin-bottom:3rem}.lg\\:mb-14{margin-bottom:3.5rem}.lg\\:mb-16{margin-bottom:4rem}.lg\\:mb-20{margin-bottom:5rem}.lg\\:mb-24{margin-bottom:6rem}.lg\\:mb-28{margin-bottom:7rem}.lg\\:mb-32{margin-bottom:8rem}.lg\\:mb-36{margin-bottom:9rem}.lg\\:mb-40{margin-bottom:10rem}.lg\\:mb-44{margin-bottom:11rem}.lg\\:mb-48{margin-bottom:12rem}.lg\\:mb-52{margin-bottom:13rem}.lg\\:mb-56{margin-bottom:14rem}.lg\\:mb-60{margin-bottom:15rem}.lg\\:mb-64{margin-bottom:16rem}.lg\\:mb-72{margin-bottom:18rem}.lg\\:mb-80{margin-bottom:20rem}.lg\\:mb-96{margin-bottom:24rem}.lg\\:mb-auto{margin-bottom:auto}.lg\\:mb-px{margin-bottom:1px}.lg\\:mb-0\\.5{margin-bottom:0.125rem}.lg\\:mb-1\\.5{margin-bottom:0.375rem}.lg\\:mb-2\\.5{margin-bottom:0.625rem}.lg\\:mb-3\\.5{margin-bottom:0.875rem}.lg\\:-mb-0{margin-bottom:0px}.lg\\:-mb-1{margin-bottom:-0.25rem}.lg\\:-mb-2{margin-bottom:-0.5rem}.lg\\:-mb-3{margin-bottom:-0.75rem}.lg\\:-mb-4{margin-bottom:-1rem}.lg\\:-mb-5{margin-bottom:-1.25rem}.lg\\:-mb-6{margin-bottom:-1.5rem}.lg\\:-mb-7{margin-bottom:-1.75rem}.lg\\:-mb-8{margin-bottom:-2rem}.lg\\:-mb-9{margin-bottom:-2.25rem}.lg\\:-mb-10{margin-bottom:-2.5rem}.lg\\:-mb-11{margin-bottom:-2.75rem}.lg\\:-mb-12{margin-bottom:-3rem}.lg\\:-mb-14{margin-bottom:-3.5rem}.lg\\:-mb-16{margin-bottom:-4rem}.lg\\:-mb-20{margin-bottom:-5rem}.lg\\:-mb-24{margin-bottom:-6rem}.lg\\:-mb-28{margin-bottom:-7rem}.lg\\:-mb-32{margin-bottom:-8rem}.lg\\:-mb-36{margin-bottom:-9rem}.lg\\:-mb-40{margin-bottom:-10rem}.lg\\:-mb-44{margin-bottom:-11rem}.lg\\:-mb-48{margin-bottom:-12rem}.lg\\:-mb-52{margin-bottom:-13rem}.lg\\:-mb-56{margin-bottom:-14rem}.lg\\:-mb-60{margin-bottom:-15rem}.lg\\:-mb-64{margin-bottom:-16rem}.lg\\:-mb-72{margin-bottom:-18rem}.lg\\:-mb-80{margin-bottom:-20rem}.lg\\:-mb-96{margin-bottom:-24rem}.lg\\:-mb-px{margin-bottom:-1px}.lg\\:-mb-0\\.5{margin-bottom:-0.125rem}.lg\\:-mb-1\\.5{margin-bottom:-0.375rem}.lg\\:-mb-2\\.5{margin-bottom:-0.625rem}.lg\\:-mb-3\\.5{margin-bottom:-0.875rem}.lg\\:ml-0{margin-left:0px}.lg\\:ml-1{margin-left:0.25rem}.lg\\:ml-2{margin-left:0.5rem}.lg\\:ml-3{margin-left:0.75rem}.lg\\:ml-4{margin-left:1rem}.lg\\:ml-5{margin-left:1.25rem}.lg\\:ml-6{margin-left:1.5rem}.lg\\:ml-7{margin-left:1.75rem}.lg\\:ml-8{margin-left:2rem}.lg\\:ml-9{margin-left:2.25rem}.lg\\:ml-10{margin-left:2.5rem}.lg\\:ml-11{margin-left:2.75rem}.lg\\:ml-12{margin-left:3rem}.lg\\:ml-14{margin-left:3.5rem}.lg\\:ml-16{margin-left:4rem}.lg\\:ml-20{margin-left:5rem}.lg\\:ml-24{margin-left:6rem}.lg\\:ml-28{margin-left:7rem}.lg\\:ml-32{margin-left:8rem}.lg\\:ml-36{margin-left:9rem}.lg\\:ml-40{margin-left:10rem}.lg\\:ml-44{margin-left:11rem}.lg\\:ml-48{margin-left:12rem}.lg\\:ml-52{margin-left:13rem}.lg\\:ml-56{margin-left:14rem}.lg\\:ml-60{margin-left:15rem}.lg\\:ml-64{margin-left:16rem}.lg\\:ml-72{margin-left:18rem}.lg\\:ml-80{margin-left:20rem}.lg\\:ml-96{margin-left:24rem}.lg\\:ml-auto{margin-left:auto}.lg\\:ml-px{margin-left:1px}.lg\\:ml-0\\.5{margin-left:0.125rem}.lg\\:ml-1\\.5{margin-left:0.375rem}.lg\\:ml-2\\.5{margin-left:0.625rem}.lg\\:ml-3\\.5{margin-left:0.875rem}.lg\\:-ml-0{margin-left:0px}.lg\\:-ml-1{margin-left:-0.25rem}.lg\\:-ml-2{margin-left:-0.5rem}.lg\\:-ml-3{margin-left:-0.75rem}.lg\\:-ml-4{margin-left:-1rem}.lg\\:-ml-5{margin-left:-1.25rem}.lg\\:-ml-6{margin-left:-1.5rem}.lg\\:-ml-7{margin-left:-1.75rem}.lg\\:-ml-8{margin-left:-2rem}.lg\\:-ml-9{margin-left:-2.25rem}.lg\\:-ml-10{margin-left:-2.5rem}.lg\\:-ml-11{margin-left:-2.75rem}.lg\\:-ml-12{margin-left:-3rem}.lg\\:-ml-14{margin-left:-3.5rem}.lg\\:-ml-16{margin-left:-4rem}.lg\\:-ml-20{margin-left:-5rem}.lg\\:-ml-24{margin-left:-6rem}.lg\\:-ml-28{margin-left:-7rem}.lg\\:-ml-32{margin-left:-8rem}.lg\\:-ml-36{margin-left:-9rem}.lg\\:-ml-40{margin-left:-10rem}.lg\\:-ml-44{margin-left:-11rem}.lg\\:-ml-48{margin-left:-12rem}.lg\\:-ml-52{margin-left:-13rem}.lg\\:-ml-56{margin-left:-14rem}.lg\\:-ml-60{margin-left:-15rem}.lg\\:-ml-64{margin-left:-16rem}.lg\\:-ml-72{margin-left:-18rem}.lg\\:-ml-80{margin-left:-20rem}.lg\\:-ml-96{margin-left:-24rem}.lg\\:-ml-px{margin-left:-1px}.lg\\:-ml-0\\.5{margin-left:-0.125rem}.lg\\:-ml-1\\.5{margin-left:-0.375rem}.lg\\:-ml-2\\.5{margin-left:-0.625rem}.lg\\:-ml-3\\.5{margin-left:-0.875rem}.lg\\:box-border{box-sizing:border-box}.lg\\:box-content{box-sizing:content-box}.lg\\:block{display:block}.lg\\:inline-block{display:inline-block}.lg\\:inline{display:inline}.lg\\:flex{display:flex}.lg\\:inline-flex{display:inline-flex}.lg\\:table{display:table}.lg\\:inline-table{display:inline-table}.lg\\:table-caption{display:table-caption}.lg\\:table-cell{display:table-cell}.lg\\:table-column{display:table-column}.lg\\:table-column-group{display:table-column-group}.lg\\:table-footer-group{display:table-footer-group}.lg\\:table-header-group{display:table-header-group}.lg\\:table-row-group{display:table-row-group}.lg\\:table-row{display:table-row}.lg\\:flow-root{display:flow-root}.lg\\:grid{display:grid}.lg\\:inline-grid{display:inline-grid}.lg\\:contents{display:contents}.lg\\:list-item{display:list-item}.lg\\:hidden{display:none}.lg\\:h-0{height:0px}.lg\\:h-1{height:0.25rem}.lg\\:h-2{height:0.5rem}.lg\\:h-3{height:0.75rem}.lg\\:h-4{height:1rem}.lg\\:h-5{height:1.25rem}.lg\\:h-6{height:1.5rem}.lg\\:h-7{height:1.75rem}.lg\\:h-8{height:2rem}.lg\\:h-9{height:2.25rem}.lg\\:h-10{height:2.5rem}.lg\\:h-11{height:2.75rem}.lg\\:h-12{height:3rem}.lg\\:h-14{height:3.5rem}.lg\\:h-16{height:4rem}.lg\\:h-20{height:5rem}.lg\\:h-24{height:6rem}.lg\\:h-28{height:7rem}.lg\\:h-32{height:8rem}.lg\\:h-36{height:9rem}.lg\\:h-40{height:10rem}.lg\\:h-44{height:11rem}.lg\\:h-48{height:12rem}.lg\\:h-52{height:13rem}.lg\\:h-56{height:14rem}.lg\\:h-60{height:15rem}.lg\\:h-64{height:16rem}.lg\\:h-72{height:18rem}.lg\\:h-80{height:20rem}.lg\\:h-96{height:24rem}.lg\\:h-auto{height:auto}.lg\\:h-px{height:1px}.lg\\:h-0\\.5{height:0.125rem}.lg\\:h-1\\.5{height:0.375rem}.lg\\:h-2\\.5{height:0.625rem}.lg\\:h-3\\.5{height:0.875rem}.lg\\:h-1\\/2{height:50%}.lg\\:h-1\\/3{height:33.333333%}.lg\\:h-2\\/3{height:66.666667%}.lg\\:h-1\\/4{height:25%}.lg\\:h-2\\/4{height:50%}.lg\\:h-3\\/4{height:75%}.lg\\:h-1\\/5{height:20%}.lg\\:h-2\\/5{height:40%}.lg\\:h-3\\/5{height:60%}.lg\\:h-4\\/5{height:80%}.lg\\:h-1\\/6{height:16.666667%}.lg\\:h-2\\/6{height:33.333333%}.lg\\:h-3\\/6{height:50%}.lg\\:h-4\\/6{height:66.666667%}.lg\\:h-5\\/6{height:83.333333%}.lg\\:h-full{height:100%}.lg\\:h-screen{height:100vh}.lg\\:h-XS{height:250px}.lg\\:h-S{height:500px}.lg\\:h-M{height:750px}.lg\\:h-L{height:1000px}.lg\\:h-XL{height:1250px}.lg\\:h-XXL{height:1500px}.lg\\:max-h-0{max-height:0px}.lg\\:max-h-1{max-height:0.25rem}.lg\\:max-h-2{max-height:0.5rem}.lg\\:max-h-3{max-height:0.75rem}.lg\\:max-h-4{max-height:1rem}.lg\\:max-h-5{max-height:1.25rem}.lg\\:max-h-6{max-height:1.5rem}.lg\\:max-h-7{max-height:1.75rem}.lg\\:max-h-8{max-height:2rem}.lg\\:max-h-9{max-height:2.25rem}.lg\\:max-h-10{max-height:2.5rem}.lg\\:max-h-11{max-height:2.75rem}.lg\\:max-h-12{max-height:3rem}.lg\\:max-h-14{max-height:3.5rem}.lg\\:max-h-16{max-height:4rem}.lg\\:max-h-20{max-height:5rem}.lg\\:max-h-24{max-height:6rem}.lg\\:max-h-28{max-height:7rem}.lg\\:max-h-32{max-height:8rem}.lg\\:max-h-36{max-height:9rem}.lg\\:max-h-40{max-height:10rem}.lg\\:max-h-44{max-height:11rem}.lg\\:max-h-48{max-height:12rem}.lg\\:max-h-52{max-height:13rem}.lg\\:max-h-56{max-height:14rem}.lg\\:max-h-60{max-height:15rem}.lg\\:max-h-64{max-height:16rem}.lg\\:max-h-72{max-height:18rem}.lg\\:max-h-80{max-height:20rem}.lg\\:max-h-96{max-height:24rem}.lg\\:max-h-px{max-height:1px}.lg\\:max-h-0\\.5{max-height:0.125rem}.lg\\:max-h-1\\.5{max-height:0.375rem}.lg\\:max-h-2\\.5{max-height:0.625rem}.lg\\:max-h-3\\.5{max-height:0.875rem}.lg\\:max-h-full{max-height:100%}.lg\\:max-h-screen{max-height:100vh}.lg\\:max-h-XS{max-height:250px}.lg\\:max-h-S{max-height:500px}.lg\\:max-h-M{max-height:750px}.lg\\:max-h-L{max-height:1000px}.lg\\:max-h-XL{max-height:1250px}.lg\\:max-h-XXL{max-height:1500px}.lg\\:min-h-0{min-height:0px}.lg\\:min-h-full{min-height:100%}.lg\\:min-h-screen{min-height:100vh}.lg\\:w-0{width:0px}.lg\\:w-1{width:0.25rem}.lg\\:w-2{width:0.5rem}.lg\\:w-3{width:0.75rem}.lg\\:w-4{width:1rem}.lg\\:w-5{width:1.25rem}.lg\\:w-6{width:1.5rem}.lg\\:w-7{width:1.75rem}.lg\\:w-8{width:2rem}.lg\\:w-9{width:2.25rem}.lg\\:w-10{width:2.5rem}.lg\\:w-11{width:2.75rem}.lg\\:w-12{width:3rem}.lg\\:w-14{width:3.5rem}.lg\\:w-16{width:4rem}.lg\\:w-20{width:5rem}.lg\\:w-24{width:6rem}.lg\\:w-28{width:7rem}.lg\\:w-32{width:8rem}.lg\\:w-36{width:9rem}.lg\\:w-40{width:10rem}.lg\\:w-44{width:11rem}.lg\\:w-48{width:12rem}.lg\\:w-52{width:13rem}.lg\\:w-56{width:14rem}.lg\\:w-60{width:15rem}.lg\\:w-64{width:16rem}.lg\\:w-72{width:18rem}.lg\\:w-80{width:20rem}.lg\\:w-96{width:24rem}.lg\\:w-auto{width:auto}.lg\\:w-px{width:1px}.lg\\:w-0\\.5{width:0.125rem}.lg\\:w-1\\.5{width:0.375rem}.lg\\:w-2\\.5{width:0.625rem}.lg\\:w-3\\.5{width:0.875rem}.lg\\:w-1\\/2{width:50%}.lg\\:w-1\\/3{width:33.333333%}.lg\\:w-2\\/3{width:66.666667%}.lg\\:w-1\\/4{width:25%}.lg\\:w-2\\/4{width:50%}.lg\\:w-3\\/4{width:75%}.lg\\:w-1\\/5{width:20%}.lg\\:w-2\\/5{width:40%}.lg\\:w-3\\/5{width:60%}.lg\\:w-4\\/5{width:80%}.lg\\:w-1\\/6{width:16.666667%}.lg\\:w-2\\/6{width:33.333333%}.lg\\:w-3\\/6{width:50%}.lg\\:w-4\\/6{width:66.666667%}.lg\\:w-5\\/6{width:83.333333%}.lg\\:w-1\\/12{width:8.333333%}.lg\\:w-2\\/12{width:16.666667%}.lg\\:w-3\\/12{width:25%}.lg\\:w-4\\/12{width:33.333333%}.lg\\:w-5\\/12{width:41.666667%}.lg\\:w-6\\/12{width:50%}.lg\\:w-7\\/12{width:58.333333%}.lg\\:w-8\\/12{width:66.666667%}.lg\\:w-9\\/12{width:75%}.lg\\:w-10\\/12{width:83.333333%}.lg\\:w-11\\/12{width:91.666667%}.lg\\:w-full{width:100%}.lg\\:w-screen{width:100vw}.lg\\:w-min{width:min-content}.lg\\:w-max{width:max-content}.lg\\:min-w-0{min-width:0px}.lg\\:min-w-full{min-width:100%}.lg\\:min-w-min{min-width:min-content}.lg\\:min-w-max{min-width:max-content}.lg\\:max-w-0{max-width:0rem}.lg\\:max-w-none{max-width:none}.lg\\:max-w-xs{max-width:20rem}.lg\\:max-w-sm{max-width:24rem}.lg\\:max-w-md{max-width:28rem}.lg\\:max-w-lg{max-width:32rem}.lg\\:max-w-xl{max-width:36rem}.lg\\:max-w-2xl{max-width:42rem}.lg\\:max-w-3xl{max-width:48rem}.lg\\:max-w-4xl{max-width:56rem}.lg\\:max-w-5xl{max-width:64rem}.lg\\:max-w-6xl{max-width:72rem}.lg\\:max-w-7xl{max-width:80rem}.lg\\:max-w-full{max-width:100%}.lg\\:max-w-min{max-width:min-content}.lg\\:max-w-max{max-width:max-content}.lg\\:max-w-prose{max-width:65ch}.lg\\:max-w-screen-sm{max-width:640px}.lg\\:max-w-screen-md{max-width:768px}.lg\\:max-w-screen-lg{max-width:1024px}.lg\\:max-w-screen-xl{max-width:1280px}.lg\\:max-w-screen-2xl{max-width:1536px}.lg\\:flex-1{flex:1 1 0%}.lg\\:flex-auto{flex:1 1 auto}.lg\\:flex-initial{flex:0 1 auto}.lg\\:flex-none{flex:none}.lg\\:flex-shrink-0{flex-shrink:0}.lg\\:flex-shrink{flex-shrink:1}.lg\\:flex-grow-0{flex-grow:0}.lg\\:flex-grow{flex-grow:1}.lg\\:table-auto{table-layout:auto}.lg\\:table-fixed{table-layout:fixed}.lg\\:border-collapse{border-collapse:collapse}.lg\\:border-separate{border-collapse:separate}.lg\\:origin-center{transform-origin:center}.lg\\:origin-top{transform-origin:top}.lg\\:origin-top-right{transform-origin:top right}.lg\\:origin-right{transform-origin:right}.lg\\:origin-bottom-right{transform-origin:bottom right}.lg\\:origin-bottom{transform-origin:bottom}.lg\\:origin-bottom-left{transform-origin:bottom left}.lg\\:origin-left{transform-origin:left}.lg\\:origin-top-left{transform-origin:top left}.lg\\:transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lg\\:transform-gpu{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translate3d(var(--tw-translate-x), var(--tw-translate-y), 0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lg\\:transform-none{transform:none}.lg\\:translate-x-0{--tw-translate-x:0px}.lg\\:translate-x-1{--tw-translate-x:0.25rem}.lg\\:translate-x-2{--tw-translate-x:0.5rem}.lg\\:translate-x-3{--tw-translate-x:0.75rem}.lg\\:translate-x-4{--tw-translate-x:1rem}.lg\\:translate-x-5{--tw-translate-x:1.25rem}.lg\\:translate-x-6{--tw-translate-x:1.5rem}.lg\\:translate-x-7{--tw-translate-x:1.75rem}.lg\\:translate-x-8{--tw-translate-x:2rem}.lg\\:translate-x-9{--tw-translate-x:2.25rem}.lg\\:translate-x-10{--tw-translate-x:2.5rem}.lg\\:translate-x-11{--tw-translate-x:2.75rem}.lg\\:translate-x-12{--tw-translate-x:3rem}.lg\\:translate-x-14{--tw-translate-x:3.5rem}.lg\\:translate-x-16{--tw-translate-x:4rem}.lg\\:translate-x-20{--tw-translate-x:5rem}.lg\\:translate-x-24{--tw-translate-x:6rem}.lg\\:translate-x-28{--tw-translate-x:7rem}.lg\\:translate-x-32{--tw-translate-x:8rem}.lg\\:translate-x-36{--tw-translate-x:9rem}.lg\\:translate-x-40{--tw-translate-x:10rem}.lg\\:translate-x-44{--tw-translate-x:11rem}.lg\\:translate-x-48{--tw-translate-x:12rem}.lg\\:translate-x-52{--tw-translate-x:13rem}.lg\\:translate-x-56{--tw-translate-x:14rem}.lg\\:translate-x-60{--tw-translate-x:15rem}.lg\\:translate-x-64{--tw-translate-x:16rem}.lg\\:translate-x-72{--tw-translate-x:18rem}.lg\\:translate-x-80{--tw-translate-x:20rem}.lg\\:translate-x-96{--tw-translate-x:24rem}.lg\\:translate-x-px{--tw-translate-x:1px}.lg\\:translate-x-0\\.5{--tw-translate-x:0.125rem}.lg\\:translate-x-1\\.5{--tw-translate-x:0.375rem}.lg\\:translate-x-2\\.5{--tw-translate-x:0.625rem}.lg\\:translate-x-3\\.5{--tw-translate-x:0.875rem}.lg\\:-translate-x-0{--tw-translate-x:0px}.lg\\:-translate-x-1{--tw-translate-x:-0.25rem}.lg\\:-translate-x-2{--tw-translate-x:-0.5rem}.lg\\:-translate-x-3{--tw-translate-x:-0.75rem}.lg\\:-translate-x-4{--tw-translate-x:-1rem}.lg\\:-translate-x-5{--tw-translate-x:-1.25rem}.lg\\:-translate-x-6{--tw-translate-x:-1.5rem}.lg\\:-translate-x-7{--tw-translate-x:-1.75rem}.lg\\:-translate-x-8{--tw-translate-x:-2rem}.lg\\:-translate-x-9{--tw-translate-x:-2.25rem}.lg\\:-translate-x-10{--tw-translate-x:-2.5rem}.lg\\:-translate-x-11{--tw-translate-x:-2.75rem}.lg\\:-translate-x-12{--tw-translate-x:-3rem}.lg\\:-translate-x-14{--tw-translate-x:-3.5rem}.lg\\:-translate-x-16{--tw-translate-x:-4rem}.lg\\:-translate-x-20{--tw-translate-x:-5rem}.lg\\:-translate-x-24{--tw-translate-x:-6rem}.lg\\:-translate-x-28{--tw-translate-x:-7rem}.lg\\:-translate-x-32{--tw-translate-x:-8rem}.lg\\:-translate-x-36{--tw-translate-x:-9rem}.lg\\:-translate-x-40{--tw-translate-x:-10rem}.lg\\:-translate-x-44{--tw-translate-x:-11rem}.lg\\:-translate-x-48{--tw-translate-x:-12rem}.lg\\:-translate-x-52{--tw-translate-x:-13rem}.lg\\:-translate-x-56{--tw-translate-x:-14rem}.lg\\:-translate-x-60{--tw-translate-x:-15rem}.lg\\:-translate-x-64{--tw-translate-x:-16rem}.lg\\:-translate-x-72{--tw-translate-x:-18rem}.lg\\:-translate-x-80{--tw-translate-x:-20rem}.lg\\:-translate-x-96{--tw-translate-x:-24rem}.lg\\:-translate-x-px{--tw-translate-x:-1px}.lg\\:-translate-x-0\\.5{--tw-translate-x:-0.125rem}.lg\\:-translate-x-1\\.5{--tw-translate-x:-0.375rem}.lg\\:-translate-x-2\\.5{--tw-translate-x:-0.625rem}.lg\\:-translate-x-3\\.5{--tw-translate-x:-0.875rem}.lg\\:translate-x-1\\/2{--tw-translate-x:50%}.lg\\:translate-x-1\\/3{--tw-translate-x:33.333333%}.lg\\:translate-x-2\\/3{--tw-translate-x:66.666667%}.lg\\:translate-x-1\\/4{--tw-translate-x:25%}.lg\\:translate-x-2\\/4{--tw-translate-x:50%}.lg\\:translate-x-3\\/4{--tw-translate-x:75%}.lg\\:translate-x-full{--tw-translate-x:100%}.lg\\:-translate-x-1\\/2{--tw-translate-x:-50%}.lg\\:-translate-x-1\\/3{--tw-translate-x:-33.333333%}.lg\\:-translate-x-2\\/3{--tw-translate-x:-66.666667%}.lg\\:-translate-x-1\\/4{--tw-translate-x:-25%}.lg\\:-translate-x-2\\/4{--tw-translate-x:-50%}.lg\\:-translate-x-3\\/4{--tw-translate-x:-75%}.lg\\:-translate-x-full{--tw-translate-x:-100%}.lg\\:translate-y-0{--tw-translate-y:0px}.lg\\:translate-y-1{--tw-translate-y:0.25rem}.lg\\:translate-y-2{--tw-translate-y:0.5rem}.lg\\:translate-y-3{--tw-translate-y:0.75rem}.lg\\:translate-y-4{--tw-translate-y:1rem}.lg\\:translate-y-5{--tw-translate-y:1.25rem}.lg\\:translate-y-6{--tw-translate-y:1.5rem}.lg\\:translate-y-7{--tw-translate-y:1.75rem}.lg\\:translate-y-8{--tw-translate-y:2rem}.lg\\:translate-y-9{--tw-translate-y:2.25rem}.lg\\:translate-y-10{--tw-translate-y:2.5rem}.lg\\:translate-y-11{--tw-translate-y:2.75rem}.lg\\:translate-y-12{--tw-translate-y:3rem}.lg\\:translate-y-14{--tw-translate-y:3.5rem}.lg\\:translate-y-16{--tw-translate-y:4rem}.lg\\:translate-y-20{--tw-translate-y:5rem}.lg\\:translate-y-24{--tw-translate-y:6rem}.lg\\:translate-y-28{--tw-translate-y:7rem}.lg\\:translate-y-32{--tw-translate-y:8rem}.lg\\:translate-y-36{--tw-translate-y:9rem}.lg\\:translate-y-40{--tw-translate-y:10rem}.lg\\:translate-y-44{--tw-translate-y:11rem}.lg\\:translate-y-48{--tw-translate-y:12rem}.lg\\:translate-y-52{--tw-translate-y:13rem}.lg\\:translate-y-56{--tw-translate-y:14rem}.lg\\:translate-y-60{--tw-translate-y:15rem}.lg\\:translate-y-64{--tw-translate-y:16rem}.lg\\:translate-y-72{--tw-translate-y:18rem}.lg\\:translate-y-80{--tw-translate-y:20rem}.lg\\:translate-y-96{--tw-translate-y:24rem}.lg\\:translate-y-px{--tw-translate-y:1px}.lg\\:translate-y-0\\.5{--tw-translate-y:0.125rem}.lg\\:translate-y-1\\.5{--tw-translate-y:0.375rem}.lg\\:translate-y-2\\.5{--tw-translate-y:0.625rem}.lg\\:translate-y-3\\.5{--tw-translate-y:0.875rem}.lg\\:-translate-y-0{--tw-translate-y:0px}.lg\\:-translate-y-1{--tw-translate-y:-0.25rem}.lg\\:-translate-y-2{--tw-translate-y:-0.5rem}.lg\\:-translate-y-3{--tw-translate-y:-0.75rem}.lg\\:-translate-y-4{--tw-translate-y:-1rem}.lg\\:-translate-y-5{--tw-translate-y:-1.25rem}.lg\\:-translate-y-6{--tw-translate-y:-1.5rem}.lg\\:-translate-y-7{--tw-translate-y:-1.75rem}.lg\\:-translate-y-8{--tw-translate-y:-2rem}.lg\\:-translate-y-9{--tw-translate-y:-2.25rem}.lg\\:-translate-y-10{--tw-translate-y:-2.5rem}.lg\\:-translate-y-11{--tw-translate-y:-2.75rem}.lg\\:-translate-y-12{--tw-translate-y:-3rem}.lg\\:-translate-y-14{--tw-translate-y:-3.5rem}.lg\\:-translate-y-16{--tw-translate-y:-4rem}.lg\\:-translate-y-20{--tw-translate-y:-5rem}.lg\\:-translate-y-24{--tw-translate-y:-6rem}.lg\\:-translate-y-28{--tw-translate-y:-7rem}.lg\\:-translate-y-32{--tw-translate-y:-8rem}.lg\\:-translate-y-36{--tw-translate-y:-9rem}.lg\\:-translate-y-40{--tw-translate-y:-10rem}.lg\\:-translate-y-44{--tw-translate-y:-11rem}.lg\\:-translate-y-48{--tw-translate-y:-12rem}.lg\\:-translate-y-52{--tw-translate-y:-13rem}.lg\\:-translate-y-56{--tw-translate-y:-14rem}.lg\\:-translate-y-60{--tw-translate-y:-15rem}.lg\\:-translate-y-64{--tw-translate-y:-16rem}.lg\\:-translate-y-72{--tw-translate-y:-18rem}.lg\\:-translate-y-80{--tw-translate-y:-20rem}.lg\\:-translate-y-96{--tw-translate-y:-24rem}.lg\\:-translate-y-px{--tw-translate-y:-1px}.lg\\:-translate-y-0\\.5{--tw-translate-y:-0.125rem}.lg\\:-translate-y-1\\.5{--tw-translate-y:-0.375rem}.lg\\:-translate-y-2\\.5{--tw-translate-y:-0.625rem}.lg\\:-translate-y-3\\.5{--tw-translate-y:-0.875rem}.lg\\:translate-y-1\\/2{--tw-translate-y:50%}.lg\\:translate-y-1\\/3{--tw-translate-y:33.333333%}.lg\\:translate-y-2\\/3{--tw-translate-y:66.666667%}.lg\\:translate-y-1\\/4{--tw-translate-y:25%}.lg\\:translate-y-2\\/4{--tw-translate-y:50%}.lg\\:translate-y-3\\/4{--tw-translate-y:75%}.lg\\:translate-y-full{--tw-translate-y:100%}.lg\\:-translate-y-1\\/2{--tw-translate-y:-50%}.lg\\:-translate-y-1\\/3{--tw-translate-y:-33.333333%}.lg\\:-translate-y-2\\/3{--tw-translate-y:-66.666667%}.lg\\:-translate-y-1\\/4{--tw-translate-y:-25%}.lg\\:-translate-y-2\\/4{--tw-translate-y:-50%}.lg\\:-translate-y-3\\/4{--tw-translate-y:-75%}.lg\\:-translate-y-full{--tw-translate-y:-100%}.lg\\:hover\\:translate-x-0:hover{--tw-translate-x:0px}.lg\\:hover\\:translate-x-1:hover{--tw-translate-x:0.25rem}.lg\\:hover\\:translate-x-2:hover{--tw-translate-x:0.5rem}.lg\\:hover\\:translate-x-3:hover{--tw-translate-x:0.75rem}.lg\\:hover\\:translate-x-4:hover{--tw-translate-x:1rem}.lg\\:hover\\:translate-x-5:hover{--tw-translate-x:1.25rem}.lg\\:hover\\:translate-x-6:hover{--tw-translate-x:1.5rem}.lg\\:hover\\:translate-x-7:hover{--tw-translate-x:1.75rem}.lg\\:hover\\:translate-x-8:hover{--tw-translate-x:2rem}.lg\\:hover\\:translate-x-9:hover{--tw-translate-x:2.25rem}.lg\\:hover\\:translate-x-10:hover{--tw-translate-x:2.5rem}.lg\\:hover\\:translate-x-11:hover{--tw-translate-x:2.75rem}.lg\\:hover\\:translate-x-12:hover{--tw-translate-x:3rem}.lg\\:hover\\:translate-x-14:hover{--tw-translate-x:3.5rem}.lg\\:hover\\:translate-x-16:hover{--tw-translate-x:4rem}.lg\\:hover\\:translate-x-20:hover{--tw-translate-x:5rem}.lg\\:hover\\:translate-x-24:hover{--tw-translate-x:6rem}.lg\\:hover\\:translate-x-28:hover{--tw-translate-x:7rem}.lg\\:hover\\:translate-x-32:hover{--tw-translate-x:8rem}.lg\\:hover\\:translate-x-36:hover{--tw-translate-x:9rem}.lg\\:hover\\:translate-x-40:hover{--tw-translate-x:10rem}.lg\\:hover\\:translate-x-44:hover{--tw-translate-x:11rem}.lg\\:hover\\:translate-x-48:hover{--tw-translate-x:12rem}.lg\\:hover\\:translate-x-52:hover{--tw-translate-x:13rem}.lg\\:hover\\:translate-x-56:hover{--tw-translate-x:14rem}.lg\\:hover\\:translate-x-60:hover{--tw-translate-x:15rem}.lg\\:hover\\:translate-x-64:hover{--tw-translate-x:16rem}.lg\\:hover\\:translate-x-72:hover{--tw-translate-x:18rem}.lg\\:hover\\:translate-x-80:hover{--tw-translate-x:20rem}.lg\\:hover\\:translate-x-96:hover{--tw-translate-x:24rem}.lg\\:hover\\:translate-x-px:hover{--tw-translate-x:1px}.lg\\:hover\\:translate-x-0\\.5:hover{--tw-translate-x:0.125rem}.lg\\:hover\\:translate-x-1\\.5:hover{--tw-translate-x:0.375rem}.lg\\:hover\\:translate-x-2\\.5:hover{--tw-translate-x:0.625rem}.lg\\:hover\\:translate-x-3\\.5:hover{--tw-translate-x:0.875rem}.lg\\:hover\\:-translate-x-0:hover{--tw-translate-x:0px}.lg\\:hover\\:-translate-x-1:hover{--tw-translate-x:-0.25rem}.lg\\:hover\\:-translate-x-2:hover{--tw-translate-x:-0.5rem}.lg\\:hover\\:-translate-x-3:hover{--tw-translate-x:-0.75rem}.lg\\:hover\\:-translate-x-4:hover{--tw-translate-x:-1rem}.lg\\:hover\\:-translate-x-5:hover{--tw-translate-x:-1.25rem}.lg\\:hover\\:-translate-x-6:hover{--tw-translate-x:-1.5rem}.lg\\:hover\\:-translate-x-7:hover{--tw-translate-x:-1.75rem}.lg\\:hover\\:-translate-x-8:hover{--tw-translate-x:-2rem}.lg\\:hover\\:-translate-x-9:hover{--tw-translate-x:-2.25rem}.lg\\:hover\\:-translate-x-10:hover{--tw-translate-x:-2.5rem}.lg\\:hover\\:-translate-x-11:hover{--tw-translate-x:-2.75rem}.lg\\:hover\\:-translate-x-12:hover{--tw-translate-x:-3rem}.lg\\:hover\\:-translate-x-14:hover{--tw-translate-x:-3.5rem}.lg\\:hover\\:-translate-x-16:hover{--tw-translate-x:-4rem}.lg\\:hover\\:-translate-x-20:hover{--tw-translate-x:-5rem}.lg\\:hover\\:-translate-x-24:hover{--tw-translate-x:-6rem}.lg\\:hover\\:-translate-x-28:hover{--tw-translate-x:-7rem}.lg\\:hover\\:-translate-x-32:hover{--tw-translate-x:-8rem}.lg\\:hover\\:-translate-x-36:hover{--tw-translate-x:-9rem}.lg\\:hover\\:-translate-x-40:hover{--tw-translate-x:-10rem}.lg\\:hover\\:-translate-x-44:hover{--tw-translate-x:-11rem}.lg\\:hover\\:-translate-x-48:hover{--tw-translate-x:-12rem}.lg\\:hover\\:-translate-x-52:hover{--tw-translate-x:-13rem}.lg\\:hover\\:-translate-x-56:hover{--tw-translate-x:-14rem}.lg\\:hover\\:-translate-x-60:hover{--tw-translate-x:-15rem}.lg\\:hover\\:-translate-x-64:hover{--tw-translate-x:-16rem}.lg\\:hover\\:-translate-x-72:hover{--tw-translate-x:-18rem}.lg\\:hover\\:-translate-x-80:hover{--tw-translate-x:-20rem}.lg\\:hover\\:-translate-x-96:hover{--tw-translate-x:-24rem}.lg\\:hover\\:-translate-x-px:hover{--tw-translate-x:-1px}.lg\\:hover\\:-translate-x-0\\.5:hover{--tw-translate-x:-0.125rem}.lg\\:hover\\:-translate-x-1\\.5:hover{--tw-translate-x:-0.375rem}.lg\\:hover\\:-translate-x-2\\.5:hover{--tw-translate-x:-0.625rem}.lg\\:hover\\:-translate-x-3\\.5:hover{--tw-translate-x:-0.875rem}.lg\\:hover\\:translate-x-1\\/2:hover{--tw-translate-x:50%}.lg\\:hover\\:translate-x-1\\/3:hover{--tw-translate-x:33.333333%}.lg\\:hover\\:translate-x-2\\/3:hover{--tw-translate-x:66.666667%}.lg\\:hover\\:translate-x-1\\/4:hover{--tw-translate-x:25%}.lg\\:hover\\:translate-x-2\\/4:hover{--tw-translate-x:50%}.lg\\:hover\\:translate-x-3\\/4:hover{--tw-translate-x:75%}.lg\\:hover\\:translate-x-full:hover{--tw-translate-x:100%}.lg\\:hover\\:-translate-x-1\\/2:hover{--tw-translate-x:-50%}.lg\\:hover\\:-translate-x-1\\/3:hover{--tw-translate-x:-33.333333%}.lg\\:hover\\:-translate-x-2\\/3:hover{--tw-translate-x:-66.666667%}.lg\\:hover\\:-translate-x-1\\/4:hover{--tw-translate-x:-25%}.lg\\:hover\\:-translate-x-2\\/4:hover{--tw-translate-x:-50%}.lg\\:hover\\:-translate-x-3\\/4:hover{--tw-translate-x:-75%}.lg\\:hover\\:-translate-x-full:hover{--tw-translate-x:-100%}.lg\\:hover\\:translate-y-0:hover{--tw-translate-y:0px}.lg\\:hover\\:translate-y-1:hover{--tw-translate-y:0.25rem}.lg\\:hover\\:translate-y-2:hover{--tw-translate-y:0.5rem}.lg\\:hover\\:translate-y-3:hover{--tw-translate-y:0.75rem}.lg\\:hover\\:translate-y-4:hover{--tw-translate-y:1rem}.lg\\:hover\\:translate-y-5:hover{--tw-translate-y:1.25rem}.lg\\:hover\\:translate-y-6:hover{--tw-translate-y:1.5rem}.lg\\:hover\\:translate-y-7:hover{--tw-translate-y:1.75rem}.lg\\:hover\\:translate-y-8:hover{--tw-translate-y:2rem}.lg\\:hover\\:translate-y-9:hover{--tw-translate-y:2.25rem}.lg\\:hover\\:translate-y-10:hover{--tw-translate-y:2.5rem}.lg\\:hover\\:translate-y-11:hover{--tw-translate-y:2.75rem}.lg\\:hover\\:translate-y-12:hover{--tw-translate-y:3rem}.lg\\:hover\\:translate-y-14:hover{--tw-translate-y:3.5rem}.lg\\:hover\\:translate-y-16:hover{--tw-translate-y:4rem}.lg\\:hover\\:translate-y-20:hover{--tw-translate-y:5rem}.lg\\:hover\\:translate-y-24:hover{--tw-translate-y:6rem}.lg\\:hover\\:translate-y-28:hover{--tw-translate-y:7rem}.lg\\:hover\\:translate-y-32:hover{--tw-translate-y:8rem}.lg\\:hover\\:translate-y-36:hover{--tw-translate-y:9rem}.lg\\:hover\\:translate-y-40:hover{--tw-translate-y:10rem}.lg\\:hover\\:translate-y-44:hover{--tw-translate-y:11rem}.lg\\:hover\\:translate-y-48:hover{--tw-translate-y:12rem}.lg\\:hover\\:translate-y-52:hover{--tw-translate-y:13rem}.lg\\:hover\\:translate-y-56:hover{--tw-translate-y:14rem}.lg\\:hover\\:translate-y-60:hover{--tw-translate-y:15rem}.lg\\:hover\\:translate-y-64:hover{--tw-translate-y:16rem}.lg\\:hover\\:translate-y-72:hover{--tw-translate-y:18rem}.lg\\:hover\\:translate-y-80:hover{--tw-translate-y:20rem}.lg\\:hover\\:translate-y-96:hover{--tw-translate-y:24rem}.lg\\:hover\\:translate-y-px:hover{--tw-translate-y:1px}.lg\\:hover\\:translate-y-0\\.5:hover{--tw-translate-y:0.125rem}.lg\\:hover\\:translate-y-1\\.5:hover{--tw-translate-y:0.375rem}.lg\\:hover\\:translate-y-2\\.5:hover{--tw-translate-y:0.625rem}.lg\\:hover\\:translate-y-3\\.5:hover{--tw-translate-y:0.875rem}.lg\\:hover\\:-translate-y-0:hover{--tw-translate-y:0px}.lg\\:hover\\:-translate-y-1:hover{--tw-translate-y:-0.25rem}.lg\\:hover\\:-translate-y-2:hover{--tw-translate-y:-0.5rem}.lg\\:hover\\:-translate-y-3:hover{--tw-translate-y:-0.75rem}.lg\\:hover\\:-translate-y-4:hover{--tw-translate-y:-1rem}.lg\\:hover\\:-translate-y-5:hover{--tw-translate-y:-1.25rem}.lg\\:hover\\:-translate-y-6:hover{--tw-translate-y:-1.5rem}.lg\\:hover\\:-translate-y-7:hover{--tw-translate-y:-1.75rem}.lg\\:hover\\:-translate-y-8:hover{--tw-translate-y:-2rem}.lg\\:hover\\:-translate-y-9:hover{--tw-translate-y:-2.25rem}.lg\\:hover\\:-translate-y-10:hover{--tw-translate-y:-2.5rem}.lg\\:hover\\:-translate-y-11:hover{--tw-translate-y:-2.75rem}.lg\\:hover\\:-translate-y-12:hover{--tw-translate-y:-3rem}.lg\\:hover\\:-translate-y-14:hover{--tw-translate-y:-3.5rem}.lg\\:hover\\:-translate-y-16:hover{--tw-translate-y:-4rem}.lg\\:hover\\:-translate-y-20:hover{--tw-translate-y:-5rem}.lg\\:hover\\:-translate-y-24:hover{--tw-translate-y:-6rem}.lg\\:hover\\:-translate-y-28:hover{--tw-translate-y:-7rem}.lg\\:hover\\:-translate-y-32:hover{--tw-translate-y:-8rem}.lg\\:hover\\:-translate-y-36:hover{--tw-translate-y:-9rem}.lg\\:hover\\:-translate-y-40:hover{--tw-translate-y:-10rem}.lg\\:hover\\:-translate-y-44:hover{--tw-translate-y:-11rem}.lg\\:hover\\:-translate-y-48:hover{--tw-translate-y:-12rem}.lg\\:hover\\:-translate-y-52:hover{--tw-translate-y:-13rem}.lg\\:hover\\:-translate-y-56:hover{--tw-translate-y:-14rem}.lg\\:hover\\:-translate-y-60:hover{--tw-translate-y:-15rem}.lg\\:hover\\:-translate-y-64:hover{--tw-translate-y:-16rem}.lg\\:hover\\:-translate-y-72:hover{--tw-translate-y:-18rem}.lg\\:hover\\:-translate-y-80:hover{--tw-translate-y:-20rem}.lg\\:hover\\:-translate-y-96:hover{--tw-translate-y:-24rem}.lg\\:hover\\:-translate-y-px:hover{--tw-translate-y:-1px}.lg\\:hover\\:-translate-y-0\\.5:hover{--tw-translate-y:-0.125rem}.lg\\:hover\\:-translate-y-1\\.5:hover{--tw-translate-y:-0.375rem}.lg\\:hover\\:-translate-y-2\\.5:hover{--tw-translate-y:-0.625rem}.lg\\:hover\\:-translate-y-3\\.5:hover{--tw-translate-y:-0.875rem}.lg\\:hover\\:translate-y-1\\/2:hover{--tw-translate-y:50%}.lg\\:hover\\:translate-y-1\\/3:hover{--tw-translate-y:33.333333%}.lg\\:hover\\:translate-y-2\\/3:hover{--tw-translate-y:66.666667%}.lg\\:hover\\:translate-y-1\\/4:hover{--tw-translate-y:25%}.lg\\:hover\\:translate-y-2\\/4:hover{--tw-translate-y:50%}.lg\\:hover\\:translate-y-3\\/4:hover{--tw-translate-y:75%}.lg\\:hover\\:translate-y-full:hover{--tw-translate-y:100%}.lg\\:hover\\:-translate-y-1\\/2:hover{--tw-translate-y:-50%}.lg\\:hover\\:-translate-y-1\\/3:hover{--tw-translate-y:-33.333333%}.lg\\:hover\\:-translate-y-2\\/3:hover{--tw-translate-y:-66.666667%}.lg\\:hover\\:-translate-y-1\\/4:hover{--tw-translate-y:-25%}.lg\\:hover\\:-translate-y-2\\/4:hover{--tw-translate-y:-50%}.lg\\:hover\\:-translate-y-3\\/4:hover{--tw-translate-y:-75%}.lg\\:hover\\:-translate-y-full:hover{--tw-translate-y:-100%}.lg\\:focus\\:translate-x-0:focus{--tw-translate-x:0px}.lg\\:focus\\:translate-x-1:focus{--tw-translate-x:0.25rem}.lg\\:focus\\:translate-x-2:focus{--tw-translate-x:0.5rem}.lg\\:focus\\:translate-x-3:focus{--tw-translate-x:0.75rem}.lg\\:focus\\:translate-x-4:focus{--tw-translate-x:1rem}.lg\\:focus\\:translate-x-5:focus{--tw-translate-x:1.25rem}.lg\\:focus\\:translate-x-6:focus{--tw-translate-x:1.5rem}.lg\\:focus\\:translate-x-7:focus{--tw-translate-x:1.75rem}.lg\\:focus\\:translate-x-8:focus{--tw-translate-x:2rem}.lg\\:focus\\:translate-x-9:focus{--tw-translate-x:2.25rem}.lg\\:focus\\:translate-x-10:focus{--tw-translate-x:2.5rem}.lg\\:focus\\:translate-x-11:focus{--tw-translate-x:2.75rem}.lg\\:focus\\:translate-x-12:focus{--tw-translate-x:3rem}.lg\\:focus\\:translate-x-14:focus{--tw-translate-x:3.5rem}.lg\\:focus\\:translate-x-16:focus{--tw-translate-x:4rem}.lg\\:focus\\:translate-x-20:focus{--tw-translate-x:5rem}.lg\\:focus\\:translate-x-24:focus{--tw-translate-x:6rem}.lg\\:focus\\:translate-x-28:focus{--tw-translate-x:7rem}.lg\\:focus\\:translate-x-32:focus{--tw-translate-x:8rem}.lg\\:focus\\:translate-x-36:focus{--tw-translate-x:9rem}.lg\\:focus\\:translate-x-40:focus{--tw-translate-x:10rem}.lg\\:focus\\:translate-x-44:focus{--tw-translate-x:11rem}.lg\\:focus\\:translate-x-48:focus{--tw-translate-x:12rem}.lg\\:focus\\:translate-x-52:focus{--tw-translate-x:13rem}.lg\\:focus\\:translate-x-56:focus{--tw-translate-x:14rem}.lg\\:focus\\:translate-x-60:focus{--tw-translate-x:15rem}.lg\\:focus\\:translate-x-64:focus{--tw-translate-x:16rem}.lg\\:focus\\:translate-x-72:focus{--tw-translate-x:18rem}.lg\\:focus\\:translate-x-80:focus{--tw-translate-x:20rem}.lg\\:focus\\:translate-x-96:focus{--tw-translate-x:24rem}.lg\\:focus\\:translate-x-px:focus{--tw-translate-x:1px}.lg\\:focus\\:translate-x-0\\.5:focus{--tw-translate-x:0.125rem}.lg\\:focus\\:translate-x-1\\.5:focus{--tw-translate-x:0.375rem}.lg\\:focus\\:translate-x-2\\.5:focus{--tw-translate-x:0.625rem}.lg\\:focus\\:translate-x-3\\.5:focus{--tw-translate-x:0.875rem}.lg\\:focus\\:-translate-x-0:focus{--tw-translate-x:0px}.lg\\:focus\\:-translate-x-1:focus{--tw-translate-x:-0.25rem}.lg\\:focus\\:-translate-x-2:focus{--tw-translate-x:-0.5rem}.lg\\:focus\\:-translate-x-3:focus{--tw-translate-x:-0.75rem}.lg\\:focus\\:-translate-x-4:focus{--tw-translate-x:-1rem}.lg\\:focus\\:-translate-x-5:focus{--tw-translate-x:-1.25rem}.lg\\:focus\\:-translate-x-6:focus{--tw-translate-x:-1.5rem}.lg\\:focus\\:-translate-x-7:focus{--tw-translate-x:-1.75rem}.lg\\:focus\\:-translate-x-8:focus{--tw-translate-x:-2rem}.lg\\:focus\\:-translate-x-9:focus{--tw-translate-x:-2.25rem}.lg\\:focus\\:-translate-x-10:focus{--tw-translate-x:-2.5rem}.lg\\:focus\\:-translate-x-11:focus{--tw-translate-x:-2.75rem}.lg\\:focus\\:-translate-x-12:focus{--tw-translate-x:-3rem}.lg\\:focus\\:-translate-x-14:focus{--tw-translate-x:-3.5rem}.lg\\:focus\\:-translate-x-16:focus{--tw-translate-x:-4rem}.lg\\:focus\\:-translate-x-20:focus{--tw-translate-x:-5rem}.lg\\:focus\\:-translate-x-24:focus{--tw-translate-x:-6rem}.lg\\:focus\\:-translate-x-28:focus{--tw-translate-x:-7rem}.lg\\:focus\\:-translate-x-32:focus{--tw-translate-x:-8rem}.lg\\:focus\\:-translate-x-36:focus{--tw-translate-x:-9rem}.lg\\:focus\\:-translate-x-40:focus{--tw-translate-x:-10rem}.lg\\:focus\\:-translate-x-44:focus{--tw-translate-x:-11rem}.lg\\:focus\\:-translate-x-48:focus{--tw-translate-x:-12rem}.lg\\:focus\\:-translate-x-52:focus{--tw-translate-x:-13rem}.lg\\:focus\\:-translate-x-56:focus{--tw-translate-x:-14rem}.lg\\:focus\\:-translate-x-60:focus{--tw-translate-x:-15rem}.lg\\:focus\\:-translate-x-64:focus{--tw-translate-x:-16rem}.lg\\:focus\\:-translate-x-72:focus{--tw-translate-x:-18rem}.lg\\:focus\\:-translate-x-80:focus{--tw-translate-x:-20rem}.lg\\:focus\\:-translate-x-96:focus{--tw-translate-x:-24rem}.lg\\:focus\\:-translate-x-px:focus{--tw-translate-x:-1px}.lg\\:focus\\:-translate-x-0\\.5:focus{--tw-translate-x:-0.125rem}.lg\\:focus\\:-translate-x-1\\.5:focus{--tw-translate-x:-0.375rem}.lg\\:focus\\:-translate-x-2\\.5:focus{--tw-translate-x:-0.625rem}.lg\\:focus\\:-translate-x-3\\.5:focus{--tw-translate-x:-0.875rem}.lg\\:focus\\:translate-x-1\\/2:focus{--tw-translate-x:50%}.lg\\:focus\\:translate-x-1\\/3:focus{--tw-translate-x:33.333333%}.lg\\:focus\\:translate-x-2\\/3:focus{--tw-translate-x:66.666667%}.lg\\:focus\\:translate-x-1\\/4:focus{--tw-translate-x:25%}.lg\\:focus\\:translate-x-2\\/4:focus{--tw-translate-x:50%}.lg\\:focus\\:translate-x-3\\/4:focus{--tw-translate-x:75%}.lg\\:focus\\:translate-x-full:focus{--tw-translate-x:100%}.lg\\:focus\\:-translate-x-1\\/2:focus{--tw-translate-x:-50%}.lg\\:focus\\:-translate-x-1\\/3:focus{--tw-translate-x:-33.333333%}.lg\\:focus\\:-translate-x-2\\/3:focus{--tw-translate-x:-66.666667%}.lg\\:focus\\:-translate-x-1\\/4:focus{--tw-translate-x:-25%}.lg\\:focus\\:-translate-x-2\\/4:focus{--tw-translate-x:-50%}.lg\\:focus\\:-translate-x-3\\/4:focus{--tw-translate-x:-75%}.lg\\:focus\\:-translate-x-full:focus{--tw-translate-x:-100%}.lg\\:focus\\:translate-y-0:focus{--tw-translate-y:0px}.lg\\:focus\\:translate-y-1:focus{--tw-translate-y:0.25rem}.lg\\:focus\\:translate-y-2:focus{--tw-translate-y:0.5rem}.lg\\:focus\\:translate-y-3:focus{--tw-translate-y:0.75rem}.lg\\:focus\\:translate-y-4:focus{--tw-translate-y:1rem}.lg\\:focus\\:translate-y-5:focus{--tw-translate-y:1.25rem}.lg\\:focus\\:translate-y-6:focus{--tw-translate-y:1.5rem}.lg\\:focus\\:translate-y-7:focus{--tw-translate-y:1.75rem}.lg\\:focus\\:translate-y-8:focus{--tw-translate-y:2rem}.lg\\:focus\\:translate-y-9:focus{--tw-translate-y:2.25rem}.lg\\:focus\\:translate-y-10:focus{--tw-translate-y:2.5rem}.lg\\:focus\\:translate-y-11:focus{--tw-translate-y:2.75rem}.lg\\:focus\\:translate-y-12:focus{--tw-translate-y:3rem}.lg\\:focus\\:translate-y-14:focus{--tw-translate-y:3.5rem}.lg\\:focus\\:translate-y-16:focus{--tw-translate-y:4rem}.lg\\:focus\\:translate-y-20:focus{--tw-translate-y:5rem}.lg\\:focus\\:translate-y-24:focus{--tw-translate-y:6rem}.lg\\:focus\\:translate-y-28:focus{--tw-translate-y:7rem}.lg\\:focus\\:translate-y-32:focus{--tw-translate-y:8rem}.lg\\:focus\\:translate-y-36:focus{--tw-translate-y:9rem}.lg\\:focus\\:translate-y-40:focus{--tw-translate-y:10rem}.lg\\:focus\\:translate-y-44:focus{--tw-translate-y:11rem}.lg\\:focus\\:translate-y-48:focus{--tw-translate-y:12rem}.lg\\:focus\\:translate-y-52:focus{--tw-translate-y:13rem}.lg\\:focus\\:translate-y-56:focus{--tw-translate-y:14rem}.lg\\:focus\\:translate-y-60:focus{--tw-translate-y:15rem}.lg\\:focus\\:translate-y-64:focus{--tw-translate-y:16rem}.lg\\:focus\\:translate-y-72:focus{--tw-translate-y:18rem}.lg\\:focus\\:translate-y-80:focus{--tw-translate-y:20rem}.lg\\:focus\\:translate-y-96:focus{--tw-translate-y:24rem}.lg\\:focus\\:translate-y-px:focus{--tw-translate-y:1px}.lg\\:focus\\:translate-y-0\\.5:focus{--tw-translate-y:0.125rem}.lg\\:focus\\:translate-y-1\\.5:focus{--tw-translate-y:0.375rem}.lg\\:focus\\:translate-y-2\\.5:focus{--tw-translate-y:0.625rem}.lg\\:focus\\:translate-y-3\\.5:focus{--tw-translate-y:0.875rem}.lg\\:focus\\:-translate-y-0:focus{--tw-translate-y:0px}.lg\\:focus\\:-translate-y-1:focus{--tw-translate-y:-0.25rem}.lg\\:focus\\:-translate-y-2:focus{--tw-translate-y:-0.5rem}.lg\\:focus\\:-translate-y-3:focus{--tw-translate-y:-0.75rem}.lg\\:focus\\:-translate-y-4:focus{--tw-translate-y:-1rem}.lg\\:focus\\:-translate-y-5:focus{--tw-translate-y:-1.25rem}.lg\\:focus\\:-translate-y-6:focus{--tw-translate-y:-1.5rem}.lg\\:focus\\:-translate-y-7:focus{--tw-translate-y:-1.75rem}.lg\\:focus\\:-translate-y-8:focus{--tw-translate-y:-2rem}.lg\\:focus\\:-translate-y-9:focus{--tw-translate-y:-2.25rem}.lg\\:focus\\:-translate-y-10:focus{--tw-translate-y:-2.5rem}.lg\\:focus\\:-translate-y-11:focus{--tw-translate-y:-2.75rem}.lg\\:focus\\:-translate-y-12:focus{--tw-translate-y:-3rem}.lg\\:focus\\:-translate-y-14:focus{--tw-translate-y:-3.5rem}.lg\\:focus\\:-translate-y-16:focus{--tw-translate-y:-4rem}.lg\\:focus\\:-translate-y-20:focus{--tw-translate-y:-5rem}.lg\\:focus\\:-translate-y-24:focus{--tw-translate-y:-6rem}.lg\\:focus\\:-translate-y-28:focus{--tw-translate-y:-7rem}.lg\\:focus\\:-translate-y-32:focus{--tw-translate-y:-8rem}.lg\\:focus\\:-translate-y-36:focus{--tw-translate-y:-9rem}.lg\\:focus\\:-translate-y-40:focus{--tw-translate-y:-10rem}.lg\\:focus\\:-translate-y-44:focus{--tw-translate-y:-11rem}.lg\\:focus\\:-translate-y-48:focus{--tw-translate-y:-12rem}.lg\\:focus\\:-translate-y-52:focus{--tw-translate-y:-13rem}.lg\\:focus\\:-translate-y-56:focus{--tw-translate-y:-14rem}.lg\\:focus\\:-translate-y-60:focus{--tw-translate-y:-15rem}.lg\\:focus\\:-translate-y-64:focus{--tw-translate-y:-16rem}.lg\\:focus\\:-translate-y-72:focus{--tw-translate-y:-18rem}.lg\\:focus\\:-translate-y-80:focus{--tw-translate-y:-20rem}.lg\\:focus\\:-translate-y-96:focus{--tw-translate-y:-24rem}.lg\\:focus\\:-translate-y-px:focus{--tw-translate-y:-1px}.lg\\:focus\\:-translate-y-0\\.5:focus{--tw-translate-y:-0.125rem}.lg\\:focus\\:-translate-y-1\\.5:focus{--tw-translate-y:-0.375rem}.lg\\:focus\\:-translate-y-2\\.5:focus{--tw-translate-y:-0.625rem}.lg\\:focus\\:-translate-y-3\\.5:focus{--tw-translate-y:-0.875rem}.lg\\:focus\\:translate-y-1\\/2:focus{--tw-translate-y:50%}.lg\\:focus\\:translate-y-1\\/3:focus{--tw-translate-y:33.333333%}.lg\\:focus\\:translate-y-2\\/3:focus{--tw-translate-y:66.666667%}.lg\\:focus\\:translate-y-1\\/4:focus{--tw-translate-y:25%}.lg\\:focus\\:translate-y-2\\/4:focus{--tw-translate-y:50%}.lg\\:focus\\:translate-y-3\\/4:focus{--tw-translate-y:75%}.lg\\:focus\\:translate-y-full:focus{--tw-translate-y:100%}.lg\\:focus\\:-translate-y-1\\/2:focus{--tw-translate-y:-50%}.lg\\:focus\\:-translate-y-1\\/3:focus{--tw-translate-y:-33.333333%}.lg\\:focus\\:-translate-y-2\\/3:focus{--tw-translate-y:-66.666667%}.lg\\:focus\\:-translate-y-1\\/4:focus{--tw-translate-y:-25%}.lg\\:focus\\:-translate-y-2\\/4:focus{--tw-translate-y:-50%}.lg\\:focus\\:-translate-y-3\\/4:focus{--tw-translate-y:-75%}.lg\\:focus\\:-translate-y-full:focus{--tw-translate-y:-100%}.lg\\:rotate-0{--tw-rotate:0deg}.lg\\:rotate-1{--tw-rotate:1deg}.lg\\:rotate-2{--tw-rotate:2deg}.lg\\:rotate-3{--tw-rotate:3deg}.lg\\:rotate-6{--tw-rotate:6deg}.lg\\:rotate-12{--tw-rotate:12deg}.lg\\:rotate-45{--tw-rotate:45deg}.lg\\:rotate-90{--tw-rotate:90deg}.lg\\:rotate-180{--tw-rotate:180deg}.lg\\:-rotate-180{--tw-rotate:-180deg}.lg\\:-rotate-90{--tw-rotate:-90deg}.lg\\:-rotate-45{--tw-rotate:-45deg}.lg\\:-rotate-12{--tw-rotate:-12deg}.lg\\:-rotate-6{--tw-rotate:-6deg}.lg\\:-rotate-3{--tw-rotate:-3deg}.lg\\:-rotate-2{--tw-rotate:-2deg}.lg\\:-rotate-1{--tw-rotate:-1deg}.lg\\:hover\\:rotate-0:hover{--tw-rotate:0deg}.lg\\:hover\\:rotate-1:hover{--tw-rotate:1deg}.lg\\:hover\\:rotate-2:hover{--tw-rotate:2deg}.lg\\:hover\\:rotate-3:hover{--tw-rotate:3deg}.lg\\:hover\\:rotate-6:hover{--tw-rotate:6deg}.lg\\:hover\\:rotate-12:hover{--tw-rotate:12deg}.lg\\:hover\\:rotate-45:hover{--tw-rotate:45deg}.lg\\:hover\\:rotate-90:hover{--tw-rotate:90deg}.lg\\:hover\\:rotate-180:hover{--tw-rotate:180deg}.lg\\:hover\\:-rotate-180:hover{--tw-rotate:-180deg}.lg\\:hover\\:-rotate-90:hover{--tw-rotate:-90deg}.lg\\:hover\\:-rotate-45:hover{--tw-rotate:-45deg}.lg\\:hover\\:-rotate-12:hover{--tw-rotate:-12deg}.lg\\:hover\\:-rotate-6:hover{--tw-rotate:-6deg}.lg\\:hover\\:-rotate-3:hover{--tw-rotate:-3deg}.lg\\:hover\\:-rotate-2:hover{--tw-rotate:-2deg}.lg\\:hover\\:-rotate-1:hover{--tw-rotate:-1deg}.lg\\:focus\\:rotate-0:focus{--tw-rotate:0deg}.lg\\:focus\\:rotate-1:focus{--tw-rotate:1deg}.lg\\:focus\\:rotate-2:focus{--tw-rotate:2deg}.lg\\:focus\\:rotate-3:focus{--tw-rotate:3deg}.lg\\:focus\\:rotate-6:focus{--tw-rotate:6deg}.lg\\:focus\\:rotate-12:focus{--tw-rotate:12deg}.lg\\:focus\\:rotate-45:focus{--tw-rotate:45deg}.lg\\:focus\\:rotate-90:focus{--tw-rotate:90deg}.lg\\:focus\\:rotate-180:focus{--tw-rotate:180deg}.lg\\:focus\\:-rotate-180:focus{--tw-rotate:-180deg}.lg\\:focus\\:-rotate-90:focus{--tw-rotate:-90deg}.lg\\:focus\\:-rotate-45:focus{--tw-rotate:-45deg}.lg\\:focus\\:-rotate-12:focus{--tw-rotate:-12deg}.lg\\:focus\\:-rotate-6:focus{--tw-rotate:-6deg}.lg\\:focus\\:-rotate-3:focus{--tw-rotate:-3deg}.lg\\:focus\\:-rotate-2:focus{--tw-rotate:-2deg}.lg\\:focus\\:-rotate-1:focus{--tw-rotate:-1deg}.lg\\:skew-x-0{--tw-skew-x:0deg}.lg\\:skew-x-1{--tw-skew-x:1deg}.lg\\:skew-x-2{--tw-skew-x:2deg}.lg\\:skew-x-3{--tw-skew-x:3deg}.lg\\:skew-x-6{--tw-skew-x:6deg}.lg\\:skew-x-12{--tw-skew-x:12deg}.lg\\:-skew-x-12{--tw-skew-x:-12deg}.lg\\:-skew-x-6{--tw-skew-x:-6deg}.lg\\:-skew-x-3{--tw-skew-x:-3deg}.lg\\:-skew-x-2{--tw-skew-x:-2deg}.lg\\:-skew-x-1{--tw-skew-x:-1deg}.lg\\:skew-y-0{--tw-skew-y:0deg}.lg\\:skew-y-1{--tw-skew-y:1deg}.lg\\:skew-y-2{--tw-skew-y:2deg}.lg\\:skew-y-3{--tw-skew-y:3deg}.lg\\:skew-y-6{--tw-skew-y:6deg}.lg\\:skew-y-12{--tw-skew-y:12deg}.lg\\:-skew-y-12{--tw-skew-y:-12deg}.lg\\:-skew-y-6{--tw-skew-y:-6deg}.lg\\:-skew-y-3{--tw-skew-y:-3deg}.lg\\:-skew-y-2{--tw-skew-y:-2deg}.lg\\:-skew-y-1{--tw-skew-y:-1deg}.lg\\:hover\\:skew-x-0:hover{--tw-skew-x:0deg}.lg\\:hover\\:skew-x-1:hover{--tw-skew-x:1deg}.lg\\:hover\\:skew-x-2:hover{--tw-skew-x:2deg}.lg\\:hover\\:skew-x-3:hover{--tw-skew-x:3deg}.lg\\:hover\\:skew-x-6:hover{--tw-skew-x:6deg}.lg\\:hover\\:skew-x-12:hover{--tw-skew-x:12deg}.lg\\:hover\\:-skew-x-12:hover{--tw-skew-x:-12deg}.lg\\:hover\\:-skew-x-6:hover{--tw-skew-x:-6deg}.lg\\:hover\\:-skew-x-3:hover{--tw-skew-x:-3deg}.lg\\:hover\\:-skew-x-2:hover{--tw-skew-x:-2deg}.lg\\:hover\\:-skew-x-1:hover{--tw-skew-x:-1deg}.lg\\:hover\\:skew-y-0:hover{--tw-skew-y:0deg}.lg\\:hover\\:skew-y-1:hover{--tw-skew-y:1deg}.lg\\:hover\\:skew-y-2:hover{--tw-skew-y:2deg}.lg\\:hover\\:skew-y-3:hover{--tw-skew-y:3deg}.lg\\:hover\\:skew-y-6:hover{--tw-skew-y:6deg}.lg\\:hover\\:skew-y-12:hover{--tw-skew-y:12deg}.lg\\:hover\\:-skew-y-12:hover{--tw-skew-y:-12deg}.lg\\:hover\\:-skew-y-6:hover{--tw-skew-y:-6deg}.lg\\:hover\\:-skew-y-3:hover{--tw-skew-y:-3deg}.lg\\:hover\\:-skew-y-2:hover{--tw-skew-y:-2deg}.lg\\:hover\\:-skew-y-1:hover{--tw-skew-y:-1deg}.lg\\:focus\\:skew-x-0:focus{--tw-skew-x:0deg}.lg\\:focus\\:skew-x-1:focus{--tw-skew-x:1deg}.lg\\:focus\\:skew-x-2:focus{--tw-skew-x:2deg}.lg\\:focus\\:skew-x-3:focus{--tw-skew-x:3deg}.lg\\:focus\\:skew-x-6:focus{--tw-skew-x:6deg}.lg\\:focus\\:skew-x-12:focus{--tw-skew-x:12deg}.lg\\:focus\\:-skew-x-12:focus{--tw-skew-x:-12deg}.lg\\:focus\\:-skew-x-6:focus{--tw-skew-x:-6deg}.lg\\:focus\\:-skew-x-3:focus{--tw-skew-x:-3deg}.lg\\:focus\\:-skew-x-2:focus{--tw-skew-x:-2deg}.lg\\:focus\\:-skew-x-1:focus{--tw-skew-x:-1deg}.lg\\:focus\\:skew-y-0:focus{--tw-skew-y:0deg}.lg\\:focus\\:skew-y-1:focus{--tw-skew-y:1deg}.lg\\:focus\\:skew-y-2:focus{--tw-skew-y:2deg}.lg\\:focus\\:skew-y-3:focus{--tw-skew-y:3deg}.lg\\:focus\\:skew-y-6:focus{--tw-skew-y:6deg}.lg\\:focus\\:skew-y-12:focus{--tw-skew-y:12deg}.lg\\:focus\\:-skew-y-12:focus{--tw-skew-y:-12deg}.lg\\:focus\\:-skew-y-6:focus{--tw-skew-y:-6deg}.lg\\:focus\\:-skew-y-3:focus{--tw-skew-y:-3deg}.lg\\:focus\\:-skew-y-2:focus{--tw-skew-y:-2deg}.lg\\:focus\\:-skew-y-1:focus{--tw-skew-y:-1deg}.lg\\:scale-0{--tw-scale-x:0;--tw-scale-y:0}.lg\\:scale-50{--tw-scale-x:.5;--tw-scale-y:.5}.lg\\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75}.lg\\:scale-90{--tw-scale-x:.9;--tw-scale-y:.9}.lg\\:scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.lg\\:scale-100{--tw-scale-x:1;--tw-scale-y:1}.lg\\:scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05}.lg\\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1}.lg\\:scale-125{--tw-scale-x:1.25;--tw-scale-y:1.25}.lg\\:scale-150{--tw-scale-x:1.5;--tw-scale-y:1.5}.lg\\:hover\\:scale-0:hover{--tw-scale-x:0;--tw-scale-y:0}.lg\\:hover\\:scale-50:hover{--tw-scale-x:.5;--tw-scale-y:.5}.lg\\:hover\\:scale-75:hover{--tw-scale-x:.75;--tw-scale-y:.75}.lg\\:hover\\:scale-90:hover{--tw-scale-x:.9;--tw-scale-y:.9}.lg\\:hover\\:scale-95:hover{--tw-scale-x:.95;--tw-scale-y:.95}.lg\\:hover\\:scale-100:hover{--tw-scale-x:1;--tw-scale-y:1}.lg\\:hover\\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.lg\\:hover\\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.lg\\:hover\\:scale-125:hover{--tw-scale-x:1.25;--tw-scale-y:1.25}.lg\\:hover\\:scale-150:hover{--tw-scale-x:1.5;--tw-scale-y:1.5}.lg\\:focus\\:scale-0:focus{--tw-scale-x:0;--tw-scale-y:0}.lg\\:focus\\:scale-50:focus{--tw-scale-x:.5;--tw-scale-y:.5}.lg\\:focus\\:scale-75:focus{--tw-scale-x:.75;--tw-scale-y:.75}.lg\\:focus\\:scale-90:focus{--tw-scale-x:.9;--tw-scale-y:.9}.lg\\:focus\\:scale-95:focus{--tw-scale-x:.95;--tw-scale-y:.95}.lg\\:focus\\:scale-100:focus{--tw-scale-x:1;--tw-scale-y:1}.lg\\:focus\\:scale-105:focus{--tw-scale-x:1.05;--tw-scale-y:1.05}.lg\\:focus\\:scale-110:focus{--tw-scale-x:1.1;--tw-scale-y:1.1}.lg\\:focus\\:scale-125:focus{--tw-scale-x:1.25;--tw-scale-y:1.25}.lg\\:focus\\:scale-150:focus{--tw-scale-x:1.5;--tw-scale-y:1.5}.lg\\:scale-x-0{--tw-scale-x:0}.lg\\:scale-x-50{--tw-scale-x:.5}.lg\\:scale-x-75{--tw-scale-x:.75}.lg\\:scale-x-90{--tw-scale-x:.9}.lg\\:scale-x-95{--tw-scale-x:.95}.lg\\:scale-x-100{--tw-scale-x:1}.lg\\:scale-x-105{--tw-scale-x:1.05}.lg\\:scale-x-110{--tw-scale-x:1.1}.lg\\:scale-x-125{--tw-scale-x:1.25}.lg\\:scale-x-150{--tw-scale-x:1.5}.lg\\:scale-y-0{--tw-scale-y:0}.lg\\:scale-y-50{--tw-scale-y:.5}.lg\\:scale-y-75{--tw-scale-y:.75}.lg\\:scale-y-90{--tw-scale-y:.9}.lg\\:scale-y-95{--tw-scale-y:.95}.lg\\:scale-y-100{--tw-scale-y:1}.lg\\:scale-y-105{--tw-scale-y:1.05}.lg\\:scale-y-110{--tw-scale-y:1.1}.lg\\:scale-y-125{--tw-scale-y:1.25}.lg\\:scale-y-150{--tw-scale-y:1.5}.lg\\:hover\\:scale-x-0:hover{--tw-scale-x:0}.lg\\:hover\\:scale-x-50:hover{--tw-scale-x:.5}.lg\\:hover\\:scale-x-75:hover{--tw-scale-x:.75}.lg\\:hover\\:scale-x-90:hover{--tw-scale-x:.9}.lg\\:hover\\:scale-x-95:hover{--tw-scale-x:.95}.lg\\:hover\\:scale-x-100:hover{--tw-scale-x:1}.lg\\:hover\\:scale-x-105:hover{--tw-scale-x:1.05}.lg\\:hover\\:scale-x-110:hover{--tw-scale-x:1.1}.lg\\:hover\\:scale-x-125:hover{--tw-scale-x:1.25}.lg\\:hover\\:scale-x-150:hover{--tw-scale-x:1.5}.lg\\:hover\\:scale-y-0:hover{--tw-scale-y:0}.lg\\:hover\\:scale-y-50:hover{--tw-scale-y:.5}.lg\\:hover\\:scale-y-75:hover{--tw-scale-y:.75}.lg\\:hover\\:scale-y-90:hover{--tw-scale-y:.9}.lg\\:hover\\:scale-y-95:hover{--tw-scale-y:.95}.lg\\:hover\\:scale-y-100:hover{--tw-scale-y:1}.lg\\:hover\\:scale-y-105:hover{--tw-scale-y:1.05}.lg\\:hover\\:scale-y-110:hover{--tw-scale-y:1.1}.lg\\:hover\\:scale-y-125:hover{--tw-scale-y:1.25}.lg\\:hover\\:scale-y-150:hover{--tw-scale-y:1.5}.lg\\:focus\\:scale-x-0:focus{--tw-scale-x:0}.lg\\:focus\\:scale-x-50:focus{--tw-scale-x:.5}.lg\\:focus\\:scale-x-75:focus{--tw-scale-x:.75}.lg\\:focus\\:scale-x-90:focus{--tw-scale-x:.9}.lg\\:focus\\:scale-x-95:focus{--tw-scale-x:.95}.lg\\:focus\\:scale-x-100:focus{--tw-scale-x:1}.lg\\:focus\\:scale-x-105:focus{--tw-scale-x:1.05}.lg\\:focus\\:scale-x-110:focus{--tw-scale-x:1.1}.lg\\:focus\\:scale-x-125:focus{--tw-scale-x:1.25}.lg\\:focus\\:scale-x-150:focus{--tw-scale-x:1.5}.lg\\:focus\\:scale-y-0:focus{--tw-scale-y:0}.lg\\:focus\\:scale-y-50:focus{--tw-scale-y:.5}.lg\\:focus\\:scale-y-75:focus{--tw-scale-y:.75}.lg\\:focus\\:scale-y-90:focus{--tw-scale-y:.9}.lg\\:focus\\:scale-y-95:focus{--tw-scale-y:.95}.lg\\:focus\\:scale-y-100:focus{--tw-scale-y:1}.lg\\:focus\\:scale-y-105:focus{--tw-scale-y:1.05}.lg\\:focus\\:scale-y-110:focus{--tw-scale-y:1.1}.lg\\:focus\\:scale-y-125:focus{--tw-scale-y:1.25}.lg\\:focus\\:scale-y-150:focus{--tw-scale-y:1.5}.lg\\:animate-none{animation:none}.lg\\:animate-spin{animation:spin 1s linear infinite}.lg\\:animate-ping{animation:ping 1s cubic-bezier(0, 0, 0.2, 1) infinite}.lg\\:animate-pulse{animation:pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite}.lg\\:animate-bounce{animation:bounce 1s infinite}.lg\\:cursor-auto{cursor:auto}.lg\\:cursor-default{cursor:default}.lg\\:cursor-pointer{cursor:pointer}.lg\\:cursor-wait{cursor:wait}.lg\\:cursor-text{cursor:text}.lg\\:cursor-move{cursor:move}.lg\\:cursor-help{cursor:help}.lg\\:cursor-not-allowed{cursor:not-allowed}.lg\\:select-none{-webkit-user-select:none;user-select:none}.lg\\:select-text{-webkit-user-select:text;user-select:text}.lg\\:select-all{-webkit-user-select:all;user-select:all}.lg\\:select-auto{-webkit-user-select:auto;user-select:auto}.lg\\:resize-none{resize:none}.lg\\:resize-y{resize:vertical}.lg\\:resize-x{resize:horizontal}.lg\\:resize{resize:both}.lg\\:list-inside{list-style-position:inside}.lg\\:list-outside{list-style-position:outside}.lg\\:list-none{list-style-type:none}.lg\\:list-disc{list-style-type:disc}.lg\\:list-decimal{list-style-type:decimal}.lg\\:appearance-none{appearance:none}.lg\\:auto-cols-auto{grid-auto-columns:auto}.lg\\:auto-cols-min{grid-auto-columns:min-content}.lg\\:auto-cols-max{grid-auto-columns:max-content}.lg\\:auto-cols-fr{grid-auto-columns:minmax(0, 1fr)}.lg\\:grid-flow-row{grid-auto-flow:row}.lg\\:grid-flow-col{grid-auto-flow:column}.lg\\:grid-flow-row-dense{grid-auto-flow:row dense}.lg\\:grid-flow-col-dense{grid-auto-flow:column dense}.lg\\:auto-rows-auto{grid-auto-rows:auto}.lg\\:auto-rows-min{grid-auto-rows:min-content}.lg\\:auto-rows-max{grid-auto-rows:max-content}.lg\\:auto-rows-fr{grid-auto-rows:minmax(0, 1fr)}.lg\\:grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}.lg\\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.lg\\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.lg\\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}.lg\\:grid-cols-5{grid-template-columns:repeat(5, minmax(0, 1fr))}.lg\\:grid-cols-6{grid-template-columns:repeat(6, minmax(0, 1fr))}.lg\\:grid-cols-7{grid-template-columns:repeat(7, minmax(0, 1fr))}.lg\\:grid-cols-8{grid-template-columns:repeat(8, minmax(0, 1fr))}.lg\\:grid-cols-9{grid-template-columns:repeat(9, minmax(0, 1fr))}.lg\\:grid-cols-10{grid-template-columns:repeat(10, minmax(0, 1fr))}.lg\\:grid-cols-11{grid-template-columns:repeat(11, minmax(0, 1fr))}.lg\\:grid-cols-12{grid-template-columns:repeat(12, minmax(0, 1fr))}.lg\\:grid-cols-none{grid-template-columns:none}.lg\\:grid-rows-1{grid-template-rows:repeat(1, minmax(0, 1fr))}.lg\\:grid-rows-2{grid-template-rows:repeat(2, minmax(0, 1fr))}.lg\\:grid-rows-3{grid-template-rows:repeat(3, minmax(0, 1fr))}.lg\\:grid-rows-4{grid-template-rows:repeat(4, minmax(0, 1fr))}.lg\\:grid-rows-5{grid-template-rows:repeat(5, minmax(0, 1fr))}.lg\\:grid-rows-6{grid-template-rows:repeat(6, minmax(0, 1fr))}.lg\\:grid-rows-none{grid-template-rows:none}.lg\\:flex-row{flex-direction:row}.lg\\:flex-row-reverse{flex-direction:row-reverse}.lg\\:flex-col{flex-direction:column}.lg\\:flex-col-reverse{flex-direction:column-reverse}.lg\\:flex-wrap{flex-wrap:wrap}.lg\\:flex-wrap-reverse{flex-wrap:wrap-reverse}.lg\\:flex-nowrap{flex-wrap:nowrap}.lg\\:place-content-center{place-content:center}.lg\\:place-content-start{place-content:start}.lg\\:place-content-end{place-content:end}.lg\\:place-content-between{place-content:space-between}.lg\\:place-content-around{place-content:space-around}.lg\\:place-content-evenly{place-content:space-evenly}.lg\\:place-content-stretch{place-content:stretch}.lg\\:place-items-start{place-items:start}.lg\\:place-items-end{place-items:end}.lg\\:place-items-center{place-items:center}.lg\\:place-items-stretch{place-items:stretch}.lg\\:content-center{align-content:center}.lg\\:content-start{align-content:flex-start}.lg\\:content-end{align-content:flex-end}.lg\\:content-between{align-content:space-between}.lg\\:content-around{align-content:space-around}.lg\\:content-evenly{align-content:space-evenly}.lg\\:items-start{align-items:flex-start}.lg\\:items-end{align-items:flex-end}.lg\\:items-center{align-items:center}.lg\\:items-baseline{align-items:baseline}.lg\\:items-stretch{align-items:stretch}.lg\\:justify-start{justify-content:flex-start}.lg\\:justify-end{justify-content:flex-end}.lg\\:justify-center{justify-content:center}.lg\\:justify-between{justify-content:space-between}.lg\\:justify-around{justify-content:space-around}.lg\\:justify-evenly{justify-content:space-evenly}.lg\\:justify-items-start{justify-items:start}.lg\\:justify-items-end{justify-items:end}.lg\\:justify-items-center{justify-items:center}.lg\\:justify-items-stretch{justify-items:stretch}.lg\\:gap-0{gap:0px}.lg\\:gap-1{gap:0.25rem}.lg\\:gap-2{gap:0.5rem}.lg\\:gap-3{gap:0.75rem}.lg\\:gap-4{gap:1rem}.lg\\:gap-5{gap:1.25rem}.lg\\:gap-6{gap:1.5rem}.lg\\:gap-7{gap:1.75rem}.lg\\:gap-8{gap:2rem}.lg\\:gap-9{gap:2.25rem}.lg\\:gap-10{gap:2.5rem}.lg\\:gap-11{gap:2.75rem}.lg\\:gap-12{gap:3rem}.lg\\:gap-14{gap:3.5rem}.lg\\:gap-16{gap:4rem}.lg\\:gap-20{gap:5rem}.lg\\:gap-24{gap:6rem}.lg\\:gap-28{gap:7rem}.lg\\:gap-32{gap:8rem}.lg\\:gap-36{gap:9rem}.lg\\:gap-40{gap:10rem}.lg\\:gap-44{gap:11rem}.lg\\:gap-48{gap:12rem}.lg\\:gap-52{gap:13rem}.lg\\:gap-56{gap:14rem}.lg\\:gap-60{gap:15rem}.lg\\:gap-64{gap:16rem}.lg\\:gap-72{gap:18rem}.lg\\:gap-80{gap:20rem}.lg\\:gap-96{gap:24rem}.lg\\:gap-px{gap:1px}.lg\\:gap-0\\.5{gap:0.125rem}.lg\\:gap-1\\.5{gap:0.375rem}.lg\\:gap-2\\.5{gap:0.625rem}.lg\\:gap-3\\.5{gap:0.875rem}.lg\\:gap-x-0{column-gap:0px}.lg\\:gap-x-1{column-gap:0.25rem}.lg\\:gap-x-2{column-gap:0.5rem}.lg\\:gap-x-3{column-gap:0.75rem}.lg\\:gap-x-4{column-gap:1rem}.lg\\:gap-x-5{column-gap:1.25rem}.lg\\:gap-x-6{column-gap:1.5rem}.lg\\:gap-x-7{column-gap:1.75rem}.lg\\:gap-x-8{column-gap:2rem}.lg\\:gap-x-9{column-gap:2.25rem}.lg\\:gap-x-10{column-gap:2.5rem}.lg\\:gap-x-11{column-gap:2.75rem}.lg\\:gap-x-12{column-gap:3rem}.lg\\:gap-x-14{column-gap:3.5rem}.lg\\:gap-x-16{column-gap:4rem}.lg\\:gap-x-20{column-gap:5rem}.lg\\:gap-x-24{column-gap:6rem}.lg\\:gap-x-28{column-gap:7rem}.lg\\:gap-x-32{column-gap:8rem}.lg\\:gap-x-36{column-gap:9rem}.lg\\:gap-x-40{column-gap:10rem}.lg\\:gap-x-44{column-gap:11rem}.lg\\:gap-x-48{column-gap:12rem}.lg\\:gap-x-52{column-gap:13rem}.lg\\:gap-x-56{column-gap:14rem}.lg\\:gap-x-60{column-gap:15rem}.lg\\:gap-x-64{column-gap:16rem}.lg\\:gap-x-72{column-gap:18rem}.lg\\:gap-x-80{column-gap:20rem}.lg\\:gap-x-96{column-gap:24rem}.lg\\:gap-x-px{column-gap:1px}.lg\\:gap-x-0\\.5{column-gap:0.125rem}.lg\\:gap-x-1\\.5{column-gap:0.375rem}.lg\\:gap-x-2\\.5{column-gap:0.625rem}.lg\\:gap-x-3\\.5{column-gap:0.875rem}.lg\\:gap-y-0{row-gap:0px}.lg\\:gap-y-1{row-gap:0.25rem}.lg\\:gap-y-2{row-gap:0.5rem}.lg\\:gap-y-3{row-gap:0.75rem}.lg\\:gap-y-4{row-gap:1rem}.lg\\:gap-y-5{row-gap:1.25rem}.lg\\:gap-y-6{row-gap:1.5rem}.lg\\:gap-y-7{row-gap:1.75rem}.lg\\:gap-y-8{row-gap:2rem}.lg\\:gap-y-9{row-gap:2.25rem}.lg\\:gap-y-10{row-gap:2.5rem}.lg\\:gap-y-11{row-gap:2.75rem}.lg\\:gap-y-12{row-gap:3rem}.lg\\:gap-y-14{row-gap:3.5rem}.lg\\:gap-y-16{row-gap:4rem}.lg\\:gap-y-20{row-gap:5rem}.lg\\:gap-y-24{row-gap:6rem}.lg\\:gap-y-28{row-gap:7rem}.lg\\:gap-y-32{row-gap:8rem}.lg\\:gap-y-36{row-gap:9rem}.lg\\:gap-y-40{row-gap:10rem}.lg\\:gap-y-44{row-gap:11rem}.lg\\:gap-y-48{row-gap:12rem}.lg\\:gap-y-52{row-gap:13rem}.lg\\:gap-y-56{row-gap:14rem}.lg\\:gap-y-60{row-gap:15rem}.lg\\:gap-y-64{row-gap:16rem}.lg\\:gap-y-72{row-gap:18rem}.lg\\:gap-y-80{row-gap:20rem}.lg\\:gap-y-96{row-gap:24rem}.lg\\:gap-y-px{row-gap:1px}.lg\\:gap-y-0\\.5{row-gap:0.125rem}.lg\\:gap-y-1\\.5{row-gap:0.375rem}.lg\\:gap-y-2\\.5{row-gap:0.625rem}.lg\\:gap-y-3\\.5{row-gap:0.875rem}.lg\\:space-x-0>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0px * var(--tw-space-x-reverse));margin-left:calc(0px * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.25rem * var(--tw-space-x-reverse));margin-left:calc(0.25rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.5rem * var(--tw-space-x-reverse));margin-left:calc(0.5rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.75rem * var(--tw-space-x-reverse));margin-left:calc(0.75rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.25rem * var(--tw-space-x-reverse));margin-left:calc(1.25rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.5rem * var(--tw-space-x-reverse));margin-left:calc(1.5rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-7>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.75rem * var(--tw-space-x-reverse));margin-left:calc(1.75rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2rem * var(--tw-space-x-reverse));margin-left:calc(2rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-9>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2.25rem * var(--tw-space-x-reverse));margin-left:calc(2.25rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-10>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2.5rem * var(--tw-space-x-reverse));margin-left:calc(2.5rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-11>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2.75rem * var(--tw-space-x-reverse));margin-left:calc(2.75rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-12>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(3rem * var(--tw-space-x-reverse));margin-left:calc(3rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-14>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(3.5rem * var(--tw-space-x-reverse));margin-left:calc(3.5rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-16>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(4rem * var(--tw-space-x-reverse));margin-left:calc(4rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-20>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(5rem * var(--tw-space-x-reverse));margin-left:calc(5rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-24>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(6rem * var(--tw-space-x-reverse));margin-left:calc(6rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-28>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(7rem * var(--tw-space-x-reverse));margin-left:calc(7rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-32>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(8rem * var(--tw-space-x-reverse));margin-left:calc(8rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-36>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(9rem * var(--tw-space-x-reverse));margin-left:calc(9rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-40>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(10rem * var(--tw-space-x-reverse));margin-left:calc(10rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-44>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(11rem * var(--tw-space-x-reverse));margin-left:calc(11rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-48>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(12rem * var(--tw-space-x-reverse));margin-left:calc(12rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-52>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(13rem * var(--tw-space-x-reverse));margin-left:calc(13rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-56>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(14rem * var(--tw-space-x-reverse));margin-left:calc(14rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-60>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(15rem * var(--tw-space-x-reverse));margin-left:calc(15rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-64>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(16rem * var(--tw-space-x-reverse));margin-left:calc(16rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-72>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(18rem * var(--tw-space-x-reverse));margin-left:calc(18rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-80>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(20rem * var(--tw-space-x-reverse));margin-left:calc(20rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-96>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(24rem * var(--tw-space-x-reverse));margin-left:calc(24rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1px * var(--tw-space-x-reverse));margin-left:calc(1px * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-0\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.125rem * var(--tw-space-x-reverse));margin-left:calc(0.125rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-1\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.375rem * var(--tw-space-x-reverse));margin-left:calc(0.375rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-2\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.625rem * var(--tw-space-x-reverse));margin-left:calc(0.625rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-x-3\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.875rem * var(--tw-space-x-reverse));margin-left:calc(0.875rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-0>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0px * var(--tw-space-x-reverse));margin-left:calc(0px * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.25rem * var(--tw-space-x-reverse));margin-left:calc(-0.25rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.5rem * var(--tw-space-x-reverse));margin-left:calc(-0.5rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.75rem * var(--tw-space-x-reverse));margin-left:calc(-0.75rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1rem * var(--tw-space-x-reverse));margin-left:calc(-1rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1.25rem * var(--tw-space-x-reverse));margin-left:calc(-1.25rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1.5rem * var(--tw-space-x-reverse));margin-left:calc(-1.5rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-7>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1.75rem * var(--tw-space-x-reverse));margin-left:calc(-1.75rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2rem * var(--tw-space-x-reverse));margin-left:calc(-2rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-9>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2.25rem * var(--tw-space-x-reverse));margin-left:calc(-2.25rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-10>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2.5rem * var(--tw-space-x-reverse));margin-left:calc(-2.5rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-11>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2.75rem * var(--tw-space-x-reverse));margin-left:calc(-2.75rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-12>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-3rem * var(--tw-space-x-reverse));margin-left:calc(-3rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-14>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-3.5rem * var(--tw-space-x-reverse));margin-left:calc(-3.5rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-16>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-4rem * var(--tw-space-x-reverse));margin-left:calc(-4rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-20>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-5rem * var(--tw-space-x-reverse));margin-left:calc(-5rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-24>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-6rem * var(--tw-space-x-reverse));margin-left:calc(-6rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-28>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-7rem * var(--tw-space-x-reverse));margin-left:calc(-7rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-32>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-8rem * var(--tw-space-x-reverse));margin-left:calc(-8rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-36>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-9rem * var(--tw-space-x-reverse));margin-left:calc(-9rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-40>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-10rem * var(--tw-space-x-reverse));margin-left:calc(-10rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-44>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-11rem * var(--tw-space-x-reverse));margin-left:calc(-11rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-48>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-12rem * var(--tw-space-x-reverse));margin-left:calc(-12rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-52>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-13rem * var(--tw-space-x-reverse));margin-left:calc(-13rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-56>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-14rem * var(--tw-space-x-reverse));margin-left:calc(-14rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-60>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-15rem * var(--tw-space-x-reverse));margin-left:calc(-15rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-64>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-16rem * var(--tw-space-x-reverse));margin-left:calc(-16rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-72>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-18rem * var(--tw-space-x-reverse));margin-left:calc(-18rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-80>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-20rem * var(--tw-space-x-reverse));margin-left:calc(-20rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-96>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-24rem * var(--tw-space-x-reverse));margin-left:calc(-24rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1px * var(--tw-space-x-reverse));margin-left:calc(-1px * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-0\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.125rem * var(--tw-space-x-reverse));margin-left:calc(-0.125rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-1\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.375rem * var(--tw-space-x-reverse));margin-left:calc(-0.375rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-2\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.625rem * var(--tw-space-x-reverse));margin-left:calc(-0.625rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:-space-x-3\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.875rem * var(--tw-space-x-reverse));margin-left:calc(-0.875rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.lg\\:space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.25rem * var(--tw-space-y-reverse))}.lg\\:space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.5rem * var(--tw-space-y-reverse))}.lg\\:space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.75rem * var(--tw-space-y-reverse))}.lg\\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.lg\\:space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.lg\\:space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.lg\\:space-y-7>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.75rem * var(--tw-space-y-reverse))}.lg\\:space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.lg\\:space-y-9>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.25rem * var(--tw-space-y-reverse))}.lg\\:space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.5rem * var(--tw-space-y-reverse))}.lg\\:space-y-11>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.75rem * var(--tw-space-y-reverse))}.lg\\:space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3rem * var(--tw-space-y-reverse))}.lg\\:space-y-14>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(3.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3.5rem * var(--tw-space-y-reverse))}.lg\\:space-y-16>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(4rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(4rem * var(--tw-space-y-reverse))}.lg\\:space-y-20>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(5rem * var(--tw-space-y-reverse))}.lg\\:space-y-24>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(6rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(6rem * var(--tw-space-y-reverse))}.lg\\:space-y-28>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(7rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(7rem * var(--tw-space-y-reverse))}.lg\\:space-y-32>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(8rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(8rem * var(--tw-space-y-reverse))}.lg\\:space-y-36>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(9rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(9rem * var(--tw-space-y-reverse))}.lg\\:space-y-40>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(10rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(10rem * var(--tw-space-y-reverse))}.lg\\:space-y-44>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(11rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(11rem * var(--tw-space-y-reverse))}.lg\\:space-y-48>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(12rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(12rem * var(--tw-space-y-reverse))}.lg\\:space-y-52>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(13rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(13rem * var(--tw-space-y-reverse))}.lg\\:space-y-56>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(14rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(14rem * var(--tw-space-y-reverse))}.lg\\:space-y-60>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(15rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(15rem * var(--tw-space-y-reverse))}.lg\\:space-y-64>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(16rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(16rem * var(--tw-space-y-reverse))}.lg\\:space-y-72>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(18rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(18rem * var(--tw-space-y-reverse))}.lg\\:space-y-80>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(20rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(20rem * var(--tw-space-y-reverse))}.lg\\:space-y-96>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(24rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(24rem * var(--tw-space-y-reverse))}.lg\\:space-y-px>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1px * var(--tw-space-y-reverse))}.lg\\:space-y-0\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.125rem * var(--tw-space-y-reverse))}.lg\\:space-y-1\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.375rem * var(--tw-space-y-reverse))}.lg\\:space-y-2\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.625rem * var(--tw-space-y-reverse))}.lg\\:space-y-3\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.875rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.875rem * var(--tw-space-y-reverse))}.lg\\:-space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.lg\\:-space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.25rem * var(--tw-space-y-reverse))}.lg\\:-space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.5rem * var(--tw-space-y-reverse))}.lg\\:-space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.75rem * var(--tw-space-y-reverse))}.lg\\:-space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1rem * var(--tw-space-y-reverse))}.lg\\:-space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1.25rem * var(--tw-space-y-reverse))}.lg\\:-space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1.5rem * var(--tw-space-y-reverse))}.lg\\:-space-y-7>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1.75rem * var(--tw-space-y-reverse))}.lg\\:-space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2rem * var(--tw-space-y-reverse))}.lg\\:-space-y-9>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2.25rem * var(--tw-space-y-reverse))}.lg\\:-space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2.5rem * var(--tw-space-y-reverse))}.lg\\:-space-y-11>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2.75rem * var(--tw-space-y-reverse))}.lg\\:-space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-3rem * var(--tw-space-y-reverse))}.lg\\:-space-y-14>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-3.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-3.5rem * var(--tw-space-y-reverse))}.lg\\:-space-y-16>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-4rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-4rem * var(--tw-space-y-reverse))}.lg\\:-space-y-20>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-5rem * var(--tw-space-y-reverse))}.lg\\:-space-y-24>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-6rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-6rem * var(--tw-space-y-reverse))}.lg\\:-space-y-28>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-7rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-7rem * var(--tw-space-y-reverse))}.lg\\:-space-y-32>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-8rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-8rem * var(--tw-space-y-reverse))}.lg\\:-space-y-36>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-9rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-9rem * var(--tw-space-y-reverse))}.lg\\:-space-y-40>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-10rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-10rem * var(--tw-space-y-reverse))}.lg\\:-space-y-44>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-11rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-11rem * var(--tw-space-y-reverse))}.lg\\:-space-y-48>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-12rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-12rem * var(--tw-space-y-reverse))}.lg\\:-space-y-52>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-13rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-13rem * var(--tw-space-y-reverse))}.lg\\:-space-y-56>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-14rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-14rem * var(--tw-space-y-reverse))}.lg\\:-space-y-60>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-15rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-15rem * var(--tw-space-y-reverse))}.lg\\:-space-y-64>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-16rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-16rem * var(--tw-space-y-reverse))}.lg\\:-space-y-72>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-18rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-18rem * var(--tw-space-y-reverse))}.lg\\:-space-y-80>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-20rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-20rem * var(--tw-space-y-reverse))}.lg\\:-space-y-96>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-24rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-24rem * var(--tw-space-y-reverse))}.lg\\:-space-y-px>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1px * var(--tw-space-y-reverse))}.lg\\:-space-y-0\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.125rem * var(--tw-space-y-reverse))}.lg\\:-space-y-1\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.375rem * var(--tw-space-y-reverse))}.lg\\:-space-y-2\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.625rem * var(--tw-space-y-reverse))}.lg\\:-space-y-3\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.875rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.875rem * var(--tw-space-y-reverse))}.lg\\:space-y-reverse>:not([hidden])~:not([hidden]){--tw-space-y-reverse:1}.lg\\:space-x-reverse>:not([hidden])~:not([hidden]){--tw-space-x-reverse:1}.lg\\:divide-x-0>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(0px * var(--tw-divide-x-reverse));border-left-width:calc(0px * calc(1 - var(--tw-divide-x-reverse)))}.lg\\:divide-x-2>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(2px * var(--tw-divide-x-reverse));border-left-width:calc(2px * calc(1 - var(--tw-divide-x-reverse)))}.lg\\:divide-x-4>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(4px * var(--tw-divide-x-reverse));border-left-width:calc(4px * calc(1 - var(--tw-divide-x-reverse)))}.lg\\:divide-x-8>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(8px * var(--tw-divide-x-reverse));border-left-width:calc(8px * calc(1 - var(--tw-divide-x-reverse)))}.lg\\:divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(1px * var(--tw-divide-x-reverse));border-left-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}.lg\\:divide-y-0>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(0px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(0px * var(--tw-divide-y-reverse))}.lg\\:divide-y-2>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(2px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(2px * var(--tw-divide-y-reverse))}.lg\\:divide-y-4>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(4px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(4px * var(--tw-divide-y-reverse))}.lg\\:divide-y-8>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(8px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(8px * var(--tw-divide-y-reverse))}.lg\\:divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.lg\\:divide-y-reverse>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:1}.lg\\:divide-x-reverse>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:1}.lg\\:divide-solid>:not([hidden])~:not([hidden]){border-style:solid}.lg\\:divide-dashed>:not([hidden])~:not([hidden]){border-style:dashed}.lg\\:divide-dotted>:not([hidden])~:not([hidden]){border-style:dotted}.lg\\:divide-double>:not([hidden])~:not([hidden]){border-style:double}.lg\\:divide-none>:not([hidden])~:not([hidden]){border-style:none}.lg\\:divide-transparent>:not([hidden])~:not([hidden]){border-color:transparent}.lg\\:divide-current>:not([hidden])~:not([hidden]){border-color:currentColor}.lg\\:divide-white>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.lg\\:divide-lightgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(247, 247, 247, var(--tw-divide-opacity))}.lg\\:divide-midgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.lg\\:divide-darkgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(127, 127, 127, var(--tw-divide-opacity))}.lg\\:divide-grey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(30, 30, 30, var(--tw-divide-opacity))}.lg\\:divide-black>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(15, 15, 15, var(--tw-divide-opacity))}.lg\\:divide-highlight>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 113, 227, var(--tw-divide-opacity))}.lg\\:divide-highlight_hover>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 119, 237, var(--tw-divide-opacity))}.lg\\:divide-button_outline>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.lg\\:divide-error>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 69, 58, var(--tw-divide-opacity))}.lg\\:divide-text-light>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(15, 15, 15, var(--tw-divide-opacity))}.lg\\:divide-text-dimmed>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.lg\\:divide-text-dark>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.lg\\:divide-body-light>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.lg\\:divide-body-dark>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(30, 30, 30, var(--tw-divide-opacity))}.lg\\:divide-button>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 113, 227, var(--tw-divide-opacity))}.lg\\:divide-button_hover>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 119, 237, var(--tw-divide-opacity))}@media(prefers-color-scheme: dark){.lg\\:dark\\:divide-transparent>:not([hidden])~:not([hidden]){border-color:transparent}.lg\\:dark\\:divide-current>:not([hidden])~:not([hidden]){border-color:currentColor}.lg\\:dark\\:divide-white>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.lg\\:dark\\:divide-lightgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(247, 247, 247, var(--tw-divide-opacity))}.lg\\:dark\\:divide-midgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.lg\\:dark\\:divide-darkgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(127, 127, 127, var(--tw-divide-opacity))}.lg\\:dark\\:divide-grey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(30, 30, 30, var(--tw-divide-opacity))}.lg\\:dark\\:divide-black>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(15, 15, 15, var(--tw-divide-opacity))}.lg\\:dark\\:divide-highlight>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 113, 227, var(--tw-divide-opacity))}.lg\\:dark\\:divide-highlight_hover>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 119, 237, var(--tw-divide-opacity))}.lg\\:dark\\:divide-button_outline>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.lg\\:dark\\:divide-error>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 69, 58, var(--tw-divide-opacity))}.lg\\:dark\\:divide-text-light>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(15, 15, 15, var(--tw-divide-opacity))}.lg\\:dark\\:divide-text-dimmed>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.lg\\:dark\\:divide-text-dark>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.lg\\:dark\\:divide-body-light>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.lg\\:dark\\:divide-body-dark>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(30, 30, 30, var(--tw-divide-opacity))}.lg\\:dark\\:divide-button>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 113, 227, var(--tw-divide-opacity))}.lg\\:dark\\:divide-button_hover>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 119, 237, var(--tw-divide-opacity))}}.lg\\:divide-opacity-0>:not([hidden])~:not([hidden]){--tw-divide-opacity:0}.lg\\:divide-opacity-5>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.05}.lg\\:divide-opacity-10>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.1}.lg\\:divide-opacity-20>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.2}.lg\\:divide-opacity-25>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.25}.lg\\:divide-opacity-30>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.3}.lg\\:divide-opacity-40>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.4}.lg\\:divide-opacity-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.5}.lg\\:divide-opacity-60>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.6}.lg\\:divide-opacity-70>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.7}.lg\\:divide-opacity-75>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.75}.lg\\:divide-opacity-80>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.8}.lg\\:divide-opacity-90>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.9}.lg\\:divide-opacity-95>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.95}.lg\\:divide-opacity-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1}@media(prefers-color-scheme: dark){.lg\\:dark\\:divide-opacity-0>:not([hidden])~:not([hidden]){--tw-divide-opacity:0}.lg\\:dark\\:divide-opacity-5>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.05}.lg\\:dark\\:divide-opacity-10>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.1}.lg\\:dark\\:divide-opacity-20>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.2}.lg\\:dark\\:divide-opacity-25>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.25}.lg\\:dark\\:divide-opacity-30>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.3}.lg\\:dark\\:divide-opacity-40>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.4}.lg\\:dark\\:divide-opacity-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.5}.lg\\:dark\\:divide-opacity-60>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.6}.lg\\:dark\\:divide-opacity-70>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.7}.lg\\:dark\\:divide-opacity-75>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.75}.lg\\:dark\\:divide-opacity-80>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.8}.lg\\:dark\\:divide-opacity-90>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.9}.lg\\:dark\\:divide-opacity-95>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.95}.lg\\:dark\\:divide-opacity-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1}}.lg\\:place-self-auto{place-self:auto}.lg\\:place-self-start{place-self:start}.lg\\:place-self-end{place-self:end}.lg\\:place-self-center{place-self:center}.lg\\:place-self-stretch{place-self:stretch}.lg\\:self-auto{align-self:auto}.lg\\:self-start{align-self:flex-start}.lg\\:self-end{align-self:flex-end}.lg\\:self-center{align-self:center}.lg\\:self-stretch{align-self:stretch}.lg\\:self-baseline{align-self:baseline}.lg\\:justify-self-auto{justify-self:auto}.lg\\:justify-self-start{justify-self:start}.lg\\:justify-self-end{justify-self:end}.lg\\:justify-self-center{justify-self:center}.lg\\:justify-self-stretch{justify-self:stretch}.lg\\:overflow-auto{overflow:auto}.lg\\:overflow-hidden{overflow:hidden}.lg\\:overflow-visible{overflow:visible}.lg\\:overflow-scroll{overflow:scroll}.lg\\:overflow-x-auto{overflow-x:auto}.lg\\:overflow-y-auto{overflow-y:auto}.lg\\:overflow-x-hidden{overflow-x:hidden}.lg\\:overflow-y-hidden{overflow-y:hidden}.lg\\:overflow-x-visible{overflow-x:visible}.lg\\:overflow-y-visible{overflow-y:visible}.lg\\:overflow-x-scroll{overflow-x:scroll}.lg\\:overflow-y-scroll{overflow-y:scroll}.lg\\:overscroll-auto{overscroll-behavior:auto}.lg\\:overscroll-contain{overscroll-behavior:contain}.lg\\:overscroll-none{overscroll-behavior:none}.lg\\:overscroll-y-auto{overscroll-behavior-y:auto}.lg\\:overscroll-y-contain{overscroll-behavior-y:contain}.lg\\:overscroll-y-none{overscroll-behavior-y:none}.lg\\:overscroll-x-auto{overscroll-behavior-x:auto}.lg\\:overscroll-x-contain{overscroll-behavior-x:contain}.lg\\:overscroll-x-none{overscroll-behavior-x:none}.lg\\:truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lg\\:overflow-ellipsis{text-overflow:ellipsis}.lg\\:overflow-clip{text-overflow:clip}.lg\\:whitespace-normal{white-space:normal}.lg\\:whitespace-nowrap{white-space:nowrap}.lg\\:whitespace-pre{white-space:pre}.lg\\:whitespace-pre-line{white-space:pre-line}.lg\\:whitespace-pre-wrap{white-space:pre-wrap}.lg\\:break-normal{overflow-wrap:normal;word-break:normal}.lg\\:break-words{overflow-wrap:break-word}.lg\\:break-all{word-break:break-all}.lg\\:rounded-none{border-radius:0px}.lg\\:rounded-sm{border-radius:0.125rem}.lg\\:rounded{border-radius:0.25rem}.lg\\:rounded-md{border-radius:0.375rem}.lg\\:rounded-lg{border-radius:0.5rem}.lg\\:rounded-xl{border-radius:0.75rem}.lg\\:rounded-2xl{border-radius:1rem}.lg\\:rounded-3xl{border-radius:1.5rem}.lg\\:rounded-full{border-radius:9999px}.lg\\:rounded-t-none{border-top-left-radius:0px;border-top-right-radius:0px}.lg\\:rounded-t-sm{border-top-left-radius:0.125rem;border-top-right-radius:0.125rem}.lg\\:rounded-t{border-top-left-radius:0.25rem;border-top-right-radius:0.25rem}.lg\\:rounded-t-md{border-top-left-radius:0.375rem;border-top-right-radius:0.375rem}.lg\\:rounded-t-lg{border-top-left-radius:0.5rem;border-top-right-radius:0.5rem}.lg\\:rounded-t-xl{border-top-left-radius:0.75rem;border-top-right-radius:0.75rem}.lg\\:rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.lg\\:rounded-t-3xl{border-top-left-radius:1.5rem;border-top-right-radius:1.5rem}.lg\\:rounded-t-full{border-top-left-radius:9999px;border-top-right-radius:9999px}.lg\\:rounded-r-none{border-top-right-radius:0px;border-bottom-right-radius:0px}.lg\\:rounded-r-sm{border-top-right-radius:0.125rem;border-bottom-right-radius:0.125rem}.lg\\:rounded-r{border-top-right-radius:0.25rem;border-bottom-right-radius:0.25rem}.lg\\:rounded-r-md{border-top-right-radius:0.375rem;border-bottom-right-radius:0.375rem}.lg\\:rounded-r-lg{border-top-right-radius:0.5rem;border-bottom-right-radius:0.5rem}.lg\\:rounded-r-xl{border-top-right-radius:0.75rem;border-bottom-right-radius:0.75rem}.lg\\:rounded-r-2xl{border-top-right-radius:1rem;border-bottom-right-radius:1rem}.lg\\:rounded-r-3xl{border-top-right-radius:1.5rem;border-bottom-right-radius:1.5rem}.lg\\:rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.lg\\:rounded-b-none{border-bottom-right-radius:0px;border-bottom-left-radius:0px}.lg\\:rounded-b-sm{border-bottom-right-radius:0.125rem;border-bottom-left-radius:0.125rem}.lg\\:rounded-b{border-bottom-right-radius:0.25rem;border-bottom-left-radius:0.25rem}.lg\\:rounded-b-md{border-bottom-right-radius:0.375rem;border-bottom-left-radius:0.375rem}.lg\\:rounded-b-lg{border-bottom-right-radius:0.5rem;border-bottom-left-radius:0.5rem}.lg\\:rounded-b-xl{border-bottom-right-radius:0.75rem;border-bottom-left-radius:0.75rem}.lg\\:rounded-b-2xl{border-bottom-right-radius:1rem;border-bottom-left-radius:1rem}.lg\\:rounded-b-3xl{border-bottom-right-radius:1.5rem;border-bottom-left-radius:1.5rem}.lg\\:rounded-b-full{border-bottom-right-radius:9999px;border-bottom-left-radius:9999px}.lg\\:rounded-l-none{border-top-left-radius:0px;border-bottom-left-radius:0px}.lg\\:rounded-l-sm{border-top-left-radius:0.125rem;border-bottom-left-radius:0.125rem}.lg\\:rounded-l{border-top-left-radius:0.25rem;border-bottom-left-radius:0.25rem}.lg\\:rounded-l-md{border-top-left-radius:0.375rem;border-bottom-left-radius:0.375rem}.lg\\:rounded-l-lg{border-top-left-radius:0.5rem;border-bottom-left-radius:0.5rem}.lg\\:rounded-l-xl{border-top-left-radius:0.75rem;border-bottom-left-radius:0.75rem}.lg\\:rounded-l-2xl{border-top-left-radius:1rem;border-bottom-left-radius:1rem}.lg\\:rounded-l-3xl{border-top-left-radius:1.5rem;border-bottom-left-radius:1.5rem}.lg\\:rounded-l-full{border-top-left-radius:9999px;border-bottom-left-radius:9999px}.lg\\:rounded-tl-none{border-top-left-radius:0px}.lg\\:rounded-tl-sm{border-top-left-radius:0.125rem}.lg\\:rounded-tl{border-top-left-radius:0.25rem}.lg\\:rounded-tl-md{border-top-left-radius:0.375rem}.lg\\:rounded-tl-lg{border-top-left-radius:0.5rem}.lg\\:rounded-tl-xl{border-top-left-radius:0.75rem}.lg\\:rounded-tl-2xl{border-top-left-radius:1rem}.lg\\:rounded-tl-3xl{border-top-left-radius:1.5rem}.lg\\:rounded-tl-full{border-top-left-radius:9999px}.lg\\:rounded-tr-none{border-top-right-radius:0px}.lg\\:rounded-tr-sm{border-top-right-radius:0.125rem}.lg\\:rounded-tr{border-top-right-radius:0.25rem}.lg\\:rounded-tr-md{border-top-right-radius:0.375rem}.lg\\:rounded-tr-lg{border-top-right-radius:0.5rem}.lg\\:rounded-tr-xl{border-top-right-radius:0.75rem}.lg\\:rounded-tr-2xl{border-top-right-radius:1rem}.lg\\:rounded-tr-3xl{border-top-right-radius:1.5rem}.lg\\:rounded-tr-full{border-top-right-radius:9999px}.lg\\:rounded-br-none{border-bottom-right-radius:0px}.lg\\:rounded-br-sm{border-bottom-right-radius:0.125rem}.lg\\:rounded-br{border-bottom-right-radius:0.25rem}.lg\\:rounded-br-md{border-bottom-right-radius:0.375rem}.lg\\:rounded-br-lg{border-bottom-right-radius:0.5rem}.lg\\:rounded-br-xl{border-bottom-right-radius:0.75rem}.lg\\:rounded-br-2xl{border-bottom-right-radius:1rem}.lg\\:rounded-br-3xl{border-bottom-right-radius:1.5rem}.lg\\:rounded-br-full{border-bottom-right-radius:9999px}.lg\\:rounded-bl-none{border-bottom-left-radius:0px}.lg\\:rounded-bl-sm{border-bottom-left-radius:0.125rem}.lg\\:rounded-bl{border-bottom-left-radius:0.25rem}.lg\\:rounded-bl-md{border-bottom-left-radius:0.375rem}.lg\\:rounded-bl-lg{border-bottom-left-radius:0.5rem}.lg\\:rounded-bl-xl{border-bottom-left-radius:0.75rem}.lg\\:rounded-bl-2xl{border-bottom-left-radius:1rem}.lg\\:rounded-bl-3xl{border-bottom-left-radius:1.5rem}.lg\\:rounded-bl-full{border-bottom-left-radius:9999px}.lg\\:border-0{border-width:0px}.lg\\:border-2{border-width:2px}.lg\\:border-4{border-width:4px}.lg\\:border-8{border-width:8px}.lg\\:border{border-width:1px}.lg\\:border-t-0{border-top-width:0px}.lg\\:border-t-2{border-top-width:2px}.lg\\:border-t-4{border-top-width:4px}.lg\\:border-t-8{border-top-width:8px}.lg\\:border-t{border-top-width:1px}.lg\\:border-r-0{border-right-width:0px}.lg\\:border-r-2{border-right-width:2px}.lg\\:border-r-4{border-right-width:4px}.lg\\:border-r-8{border-right-width:8px}.lg\\:border-r{border-right-width:1px}.lg\\:border-b-0{border-bottom-width:0px}.lg\\:border-b-2{border-bottom-width:2px}.lg\\:border-b-4{border-bottom-width:4px}.lg\\:border-b-8{border-bottom-width:8px}.lg\\:border-b{border-bottom-width:1px}.lg\\:border-l-0{border-left-width:0px}.lg\\:border-l-2{border-left-width:2px}.lg\\:border-l-4{border-left-width:4px}.lg\\:border-l-8{border-left-width:8px}.lg\\:border-l{border-left-width:1px}.lg\\:border-solid{border-style:solid}.lg\\:border-dashed{border-style:dashed}.lg\\:border-dotted{border-style:dotted}.lg\\:border-double{border-style:double}.lg\\:border-none{border-style:none}.lg\\:border-transparent{border-color:transparent}.lg\\:border-current{border-color:currentColor}.lg\\:border-white{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.lg\\:border-lightgrey{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.lg\\:border-midgrey{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.lg\\:border-darkgrey{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.lg\\:border-grey{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.lg\\:border-black{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.lg\\:border-highlight{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.lg\\:border-highlight_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.lg\\:border-button_outline{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.lg\\:border-error{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.lg\\:border-text-light{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.lg\\:border-text-dimmed{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.lg\\:border-text-dark{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.lg\\:border-body-light{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.lg\\:border-body-dark{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.lg\\:border-button{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.lg\\:border-button_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.group:hover .lg\\:group-hover\\:border-transparent{border-color:transparent}.group:hover .lg\\:group-hover\\:border-current{border-color:currentColor}.group:hover .lg\\:group-hover\\:border-white{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .lg\\:group-hover\\:border-lightgrey{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.group:hover .lg\\:group-hover\\:border-midgrey{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .lg\\:group-hover\\:border-darkgrey{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.group:hover .lg\\:group-hover\\:border-grey{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.group:hover .lg\\:group-hover\\:border-black{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.group:hover .lg\\:group-hover\\:border-highlight{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.group:hover .lg\\:group-hover\\:border-highlight_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.group:hover .lg\\:group-hover\\:border-button_outline{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .lg\\:group-hover\\:border-error{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.group:hover .lg\\:group-hover\\:border-text-light{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.group:hover .lg\\:group-hover\\:border-text-dimmed{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .lg\\:group-hover\\:border-text-dark{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .lg\\:group-hover\\:border-body-light{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .lg\\:group-hover\\:border-body-dark{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.group:hover .lg\\:group-hover\\:border-button{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.group:hover .lg\\:group-hover\\:border-button_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.lg\\:focus-within\\:border-transparent:focus-within{border-color:transparent}.lg\\:focus-within\\:border-current:focus-within{border-color:currentColor}.lg\\:focus-within\\:border-white:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.lg\\:focus-within\\:border-lightgrey:focus-within{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.lg\\:focus-within\\:border-midgrey:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.lg\\:focus-within\\:border-darkgrey:focus-within{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.lg\\:focus-within\\:border-grey:focus-within{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.lg\\:focus-within\\:border-black:focus-within{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.lg\\:focus-within\\:border-highlight:focus-within{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.lg\\:focus-within\\:border-highlight_hover:focus-within{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.lg\\:focus-within\\:border-button_outline:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.lg\\:focus-within\\:border-error:focus-within{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.lg\\:focus-within\\:border-text-light:focus-within{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.lg\\:focus-within\\:border-text-dimmed:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.lg\\:focus-within\\:border-text-dark:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.lg\\:focus-within\\:border-body-light:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.lg\\:focus-within\\:border-body-dark:focus-within{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.lg\\:focus-within\\:border-button:focus-within{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.lg\\:focus-within\\:border-button_hover:focus-within{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.lg\\:hover\\:border-transparent:hover{border-color:transparent}.lg\\:hover\\:border-current:hover{border-color:currentColor}.lg\\:hover\\:border-white:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.lg\\:hover\\:border-lightgrey:hover{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.lg\\:hover\\:border-midgrey:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.lg\\:hover\\:border-darkgrey:hover{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.lg\\:hover\\:border-grey:hover{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.lg\\:hover\\:border-black:hover{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.lg\\:hover\\:border-highlight:hover{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.lg\\:hover\\:border-highlight_hover:hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.lg\\:hover\\:border-button_outline:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.lg\\:hover\\:border-error:hover{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.lg\\:hover\\:border-text-light:hover{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.lg\\:hover\\:border-text-dimmed:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.lg\\:hover\\:border-text-dark:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.lg\\:hover\\:border-body-light:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.lg\\:hover\\:border-body-dark:hover{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.lg\\:hover\\:border-button:hover{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.lg\\:hover\\:border-button_hover:hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.lg\\:focus\\:border-transparent:focus{border-color:transparent}.lg\\:focus\\:border-current:focus{border-color:currentColor}.lg\\:focus\\:border-white:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.lg\\:focus\\:border-lightgrey:focus{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.lg\\:focus\\:border-midgrey:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.lg\\:focus\\:border-darkgrey:focus{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.lg\\:focus\\:border-grey:focus{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.lg\\:focus\\:border-black:focus{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.lg\\:focus\\:border-highlight:focus{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.lg\\:focus\\:border-highlight_hover:focus{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.lg\\:focus\\:border-button_outline:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.lg\\:focus\\:border-error:focus{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.lg\\:focus\\:border-text-light:focus{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.lg\\:focus\\:border-text-dimmed:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.lg\\:focus\\:border-text-dark:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.lg\\:focus\\:border-body-light:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.lg\\:focus\\:border-body-dark:focus{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.lg\\:focus\\:border-button:focus{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.lg\\:focus\\:border-button_hover:focus{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}@media(prefers-color-scheme: dark){.lg\\:dark\\:border-transparent{border-color:transparent}.lg\\:dark\\:border-current{border-color:currentColor}.lg\\:dark\\:border-white{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.lg\\:dark\\:border-lightgrey{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.lg\\:dark\\:border-midgrey{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.lg\\:dark\\:border-darkgrey{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.lg\\:dark\\:border-grey{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.lg\\:dark\\:border-black{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.lg\\:dark\\:border-highlight{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.lg\\:dark\\:border-highlight_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.lg\\:dark\\:border-button_outline{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.lg\\:dark\\:border-error{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.lg\\:dark\\:border-text-light{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.lg\\:dark\\:border-text-dimmed{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.lg\\:dark\\:border-text-dark{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.lg\\:dark\\:border-body-light{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.lg\\:dark\\:border-body-dark{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.lg\\:dark\\:border-button{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.lg\\:dark\\:border-button_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.group:hover .lg\\:dark\\:group-hover\\:border-transparent{border-color:transparent}.group:hover .lg\\:dark\\:group-hover\\:border-current{border-color:currentColor}.group:hover .lg\\:dark\\:group-hover\\:border-white{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .lg\\:dark\\:group-hover\\:border-lightgrey{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.group:hover .lg\\:dark\\:group-hover\\:border-midgrey{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .lg\\:dark\\:group-hover\\:border-darkgrey{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.group:hover .lg\\:dark\\:group-hover\\:border-grey{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.group:hover .lg\\:dark\\:group-hover\\:border-black{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.group:hover .lg\\:dark\\:group-hover\\:border-highlight{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.group:hover .lg\\:dark\\:group-hover\\:border-highlight_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.group:hover .lg\\:dark\\:group-hover\\:border-button_outline{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .lg\\:dark\\:group-hover\\:border-error{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.group:hover .lg\\:dark\\:group-hover\\:border-text-light{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.group:hover .lg\\:dark\\:group-hover\\:border-text-dimmed{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .lg\\:dark\\:group-hover\\:border-text-dark{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .lg\\:dark\\:group-hover\\:border-body-light{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .lg\\:dark\\:group-hover\\:border-body-dark{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.group:hover .lg\\:dark\\:group-hover\\:border-button{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.group:hover .lg\\:dark\\:group-hover\\:border-button_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.lg\\:dark\\:focus-within\\:border-transparent:focus-within{border-color:transparent}.lg\\:dark\\:focus-within\\:border-current:focus-within{border-color:currentColor}.lg\\:dark\\:focus-within\\:border-white:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.lg\\:dark\\:focus-within\\:border-lightgrey:focus-within{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.lg\\:dark\\:focus-within\\:border-midgrey:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.lg\\:dark\\:focus-within\\:border-darkgrey:focus-within{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.lg\\:dark\\:focus-within\\:border-grey:focus-within{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.lg\\:dark\\:focus-within\\:border-black:focus-within{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.lg\\:dark\\:focus-within\\:border-highlight:focus-within{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.lg\\:dark\\:focus-within\\:border-highlight_hover:focus-within{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.lg\\:dark\\:focus-within\\:border-button_outline:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.lg\\:dark\\:focus-within\\:border-error:focus-within{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.lg\\:dark\\:focus-within\\:border-text-light:focus-within{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.lg\\:dark\\:focus-within\\:border-text-dimmed:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.lg\\:dark\\:focus-within\\:border-text-dark:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.lg\\:dark\\:focus-within\\:border-body-light:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.lg\\:dark\\:focus-within\\:border-body-dark:focus-within{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.lg\\:dark\\:focus-within\\:border-button:focus-within{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.lg\\:dark\\:focus-within\\:border-button_hover:focus-within{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.lg\\:dark\\:hover\\:border-transparent:hover{border-color:transparent}.lg\\:dark\\:hover\\:border-current:hover{border-color:currentColor}.lg\\:dark\\:hover\\:border-white:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.lg\\:dark\\:hover\\:border-lightgrey:hover{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.lg\\:dark\\:hover\\:border-midgrey:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.lg\\:dark\\:hover\\:border-darkgrey:hover{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.lg\\:dark\\:hover\\:border-grey:hover{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.lg\\:dark\\:hover\\:border-black:hover{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.lg\\:dark\\:hover\\:border-highlight:hover{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.lg\\:dark\\:hover\\:border-highlight_hover:hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.lg\\:dark\\:hover\\:border-button_outline:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.lg\\:dark\\:hover\\:border-error:hover{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.lg\\:dark\\:hover\\:border-text-light:hover{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.lg\\:dark\\:hover\\:border-text-dimmed:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.lg\\:dark\\:hover\\:border-text-dark:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.lg\\:dark\\:hover\\:border-body-light:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.lg\\:dark\\:hover\\:border-body-dark:hover{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.lg\\:dark\\:hover\\:border-button:hover{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.lg\\:dark\\:hover\\:border-button_hover:hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.lg\\:dark\\:focus\\:border-transparent:focus{border-color:transparent}.lg\\:dark\\:focus\\:border-current:focus{border-color:currentColor}.lg\\:dark\\:focus\\:border-white:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.lg\\:dark\\:focus\\:border-lightgrey:focus{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.lg\\:dark\\:focus\\:border-midgrey:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.lg\\:dark\\:focus\\:border-darkgrey:focus{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.lg\\:dark\\:focus\\:border-grey:focus{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.lg\\:dark\\:focus\\:border-black:focus{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.lg\\:dark\\:focus\\:border-highlight:focus{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.lg\\:dark\\:focus\\:border-highlight_hover:focus{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.lg\\:dark\\:focus\\:border-button_outline:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.lg\\:dark\\:focus\\:border-error:focus{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.lg\\:dark\\:focus\\:border-text-light:focus{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.lg\\:dark\\:focus\\:border-text-dimmed:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.lg\\:dark\\:focus\\:border-text-dark:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.lg\\:dark\\:focus\\:border-body-light:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.lg\\:dark\\:focus\\:border-body-dark:focus{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.lg\\:dark\\:focus\\:border-button:focus{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.lg\\:dark\\:focus\\:border-button_hover:focus{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}}.lg\\:border-opacity-0{--tw-border-opacity:0}.lg\\:border-opacity-5{--tw-border-opacity:0.05}.lg\\:border-opacity-10{--tw-border-opacity:0.1}.lg\\:border-opacity-20{--tw-border-opacity:0.2}.lg\\:border-opacity-25{--tw-border-opacity:0.25}.lg\\:border-opacity-30{--tw-border-opacity:0.3}.lg\\:border-opacity-40{--tw-border-opacity:0.4}.lg\\:border-opacity-50{--tw-border-opacity:0.5}.lg\\:border-opacity-60{--tw-border-opacity:0.6}.lg\\:border-opacity-70{--tw-border-opacity:0.7}.lg\\:border-opacity-75{--tw-border-opacity:0.75}.lg\\:border-opacity-80{--tw-border-opacity:0.8}.lg\\:border-opacity-90{--tw-border-opacity:0.9}.lg\\:border-opacity-95{--tw-border-opacity:0.95}.lg\\:border-opacity-100{--tw-border-opacity:1}.group:hover .lg\\:group-hover\\:border-opacity-0{--tw-border-opacity:0}.group:hover .lg\\:group-hover\\:border-opacity-5{--tw-border-opacity:0.05}.group:hover .lg\\:group-hover\\:border-opacity-10{--tw-border-opacity:0.1}.group:hover .lg\\:group-hover\\:border-opacity-20{--tw-border-opacity:0.2}.group:hover .lg\\:group-hover\\:border-opacity-25{--tw-border-opacity:0.25}.group:hover .lg\\:group-hover\\:border-opacity-30{--tw-border-opacity:0.3}.group:hover .lg\\:group-hover\\:border-opacity-40{--tw-border-opacity:0.4}.group:hover .lg\\:group-hover\\:border-opacity-50{--tw-border-opacity:0.5}.group:hover .lg\\:group-hover\\:border-opacity-60{--tw-border-opacity:0.6}.group:hover .lg\\:group-hover\\:border-opacity-70{--tw-border-opacity:0.7}.group:hover .lg\\:group-hover\\:border-opacity-75{--tw-border-opacity:0.75}.group:hover .lg\\:group-hover\\:border-opacity-80{--tw-border-opacity:0.8}.group:hover .lg\\:group-hover\\:border-opacity-90{--tw-border-opacity:0.9}.group:hover .lg\\:group-hover\\:border-opacity-95{--tw-border-opacity:0.95}.group:hover .lg\\:group-hover\\:border-opacity-100{--tw-border-opacity:1}.lg\\:focus-within\\:border-opacity-0:focus-within{--tw-border-opacity:0}.lg\\:focus-within\\:border-opacity-5:focus-within{--tw-border-opacity:0.05}.lg\\:focus-within\\:border-opacity-10:focus-within{--tw-border-opacity:0.1}.lg\\:focus-within\\:border-opacity-20:focus-within{--tw-border-opacity:0.2}.lg\\:focus-within\\:border-opacity-25:focus-within{--tw-border-opacity:0.25}.lg\\:focus-within\\:border-opacity-30:focus-within{--tw-border-opacity:0.3}.lg\\:focus-within\\:border-opacity-40:focus-within{--tw-border-opacity:0.4}.lg\\:focus-within\\:border-opacity-50:focus-within{--tw-border-opacity:0.5}.lg\\:focus-within\\:border-opacity-60:focus-within{--tw-border-opacity:0.6}.lg\\:focus-within\\:border-opacity-70:focus-within{--tw-border-opacity:0.7}.lg\\:focus-within\\:border-opacity-75:focus-within{--tw-border-opacity:0.75}.lg\\:focus-within\\:border-opacity-80:focus-within{--tw-border-opacity:0.8}.lg\\:focus-within\\:border-opacity-90:focus-within{--tw-border-opacity:0.9}.lg\\:focus-within\\:border-opacity-95:focus-within{--tw-border-opacity:0.95}.lg\\:focus-within\\:border-opacity-100:focus-within{--tw-border-opacity:1}.lg\\:hover\\:border-opacity-0:hover{--tw-border-opacity:0}.lg\\:hover\\:border-opacity-5:hover{--tw-border-opacity:0.05}.lg\\:hover\\:border-opacity-10:hover{--tw-border-opacity:0.1}.lg\\:hover\\:border-opacity-20:hover{--tw-border-opacity:0.2}.lg\\:hover\\:border-opacity-25:hover{--tw-border-opacity:0.25}.lg\\:hover\\:border-opacity-30:hover{--tw-border-opacity:0.3}.lg\\:hover\\:border-opacity-40:hover{--tw-border-opacity:0.4}.lg\\:hover\\:border-opacity-50:hover{--tw-border-opacity:0.5}.lg\\:hover\\:border-opacity-60:hover{--tw-border-opacity:0.6}.lg\\:hover\\:border-opacity-70:hover{--tw-border-opacity:0.7}.lg\\:hover\\:border-opacity-75:hover{--tw-border-opacity:0.75}.lg\\:hover\\:border-opacity-80:hover{--tw-border-opacity:0.8}.lg\\:hover\\:border-opacity-90:hover{--tw-border-opacity:0.9}.lg\\:hover\\:border-opacity-95:hover{--tw-border-opacity:0.95}.lg\\:hover\\:border-opacity-100:hover{--tw-border-opacity:1}.lg\\:focus\\:border-opacity-0:focus{--tw-border-opacity:0}.lg\\:focus\\:border-opacity-5:focus{--tw-border-opacity:0.05}.lg\\:focus\\:border-opacity-10:focus{--tw-border-opacity:0.1}.lg\\:focus\\:border-opacity-20:focus{--tw-border-opacity:0.2}.lg\\:focus\\:border-opacity-25:focus{--tw-border-opacity:0.25}.lg\\:focus\\:border-opacity-30:focus{--tw-border-opacity:0.3}.lg\\:focus\\:border-opacity-40:focus{--tw-border-opacity:0.4}.lg\\:focus\\:border-opacity-50:focus{--tw-border-opacity:0.5}.lg\\:focus\\:border-opacity-60:focus{--tw-border-opacity:0.6}.lg\\:focus\\:border-opacity-70:focus{--tw-border-opacity:0.7}.lg\\:focus\\:border-opacity-75:focus{--tw-border-opacity:0.75}.lg\\:focus\\:border-opacity-80:focus{--tw-border-opacity:0.8}.lg\\:focus\\:border-opacity-90:focus{--tw-border-opacity:0.9}.lg\\:focus\\:border-opacity-95:focus{--tw-border-opacity:0.95}.lg\\:focus\\:border-opacity-100:focus{--tw-border-opacity:1}@media(prefers-color-scheme: dark){.lg\\:dark\\:border-opacity-0{--tw-border-opacity:0}.lg\\:dark\\:border-opacity-5{--tw-border-opacity:0.05}.lg\\:dark\\:border-opacity-10{--tw-border-opacity:0.1}.lg\\:dark\\:border-opacity-20{--tw-border-opacity:0.2}.lg\\:dark\\:border-opacity-25{--tw-border-opacity:0.25}.lg\\:dark\\:border-opacity-30{--tw-border-opacity:0.3}.lg\\:dark\\:border-opacity-40{--tw-border-opacity:0.4}.lg\\:dark\\:border-opacity-50{--tw-border-opacity:0.5}.lg\\:dark\\:border-opacity-60{--tw-border-opacity:0.6}.lg\\:dark\\:border-opacity-70{--tw-border-opacity:0.7}.lg\\:dark\\:border-opacity-75{--tw-border-opacity:0.75}.lg\\:dark\\:border-opacity-80{--tw-border-opacity:0.8}.lg\\:dark\\:border-opacity-90{--tw-border-opacity:0.9}.lg\\:dark\\:border-opacity-95{--tw-border-opacity:0.95}.lg\\:dark\\:border-opacity-100{--tw-border-opacity:1}.group:hover .lg\\:dark\\:group-hover\\:border-opacity-0{--tw-border-opacity:0}.group:hover .lg\\:dark\\:group-hover\\:border-opacity-5{--tw-border-opacity:0.05}.group:hover .lg\\:dark\\:group-hover\\:border-opacity-10{--tw-border-opacity:0.1}.group:hover .lg\\:dark\\:group-hover\\:border-opacity-20{--tw-border-opacity:0.2}.group:hover .lg\\:dark\\:group-hover\\:border-opacity-25{--tw-border-opacity:0.25}.group:hover .lg\\:dark\\:group-hover\\:border-opacity-30{--tw-border-opacity:0.3}.group:hover .lg\\:dark\\:group-hover\\:border-opacity-40{--tw-border-opacity:0.4}.group:hover .lg\\:dark\\:group-hover\\:border-opacity-50{--tw-border-opacity:0.5}.group:hover .lg\\:dark\\:group-hover\\:border-opacity-60{--tw-border-opacity:0.6}.group:hover .lg\\:dark\\:group-hover\\:border-opacity-70{--tw-border-opacity:0.7}.group:hover .lg\\:dark\\:group-hover\\:border-opacity-75{--tw-border-opacity:0.75}.group:hover .lg\\:dark\\:group-hover\\:border-opacity-80{--tw-border-opacity:0.8}.group:hover .lg\\:dark\\:group-hover\\:border-opacity-90{--tw-border-opacity:0.9}.group:hover .lg\\:dark\\:group-hover\\:border-opacity-95{--tw-border-opacity:0.95}.group:hover .lg\\:dark\\:group-hover\\:border-opacity-100{--tw-border-opacity:1}.lg\\:dark\\:focus-within\\:border-opacity-0:focus-within{--tw-border-opacity:0}.lg\\:dark\\:focus-within\\:border-opacity-5:focus-within{--tw-border-opacity:0.05}.lg\\:dark\\:focus-within\\:border-opacity-10:focus-within{--tw-border-opacity:0.1}.lg\\:dark\\:focus-within\\:border-opacity-20:focus-within{--tw-border-opacity:0.2}.lg\\:dark\\:focus-within\\:border-opacity-25:focus-within{--tw-border-opacity:0.25}.lg\\:dark\\:focus-within\\:border-opacity-30:focus-within{--tw-border-opacity:0.3}.lg\\:dark\\:focus-within\\:border-opacity-40:focus-within{--tw-border-opacity:0.4}.lg\\:dark\\:focus-within\\:border-opacity-50:focus-within{--tw-border-opacity:0.5}.lg\\:dark\\:focus-within\\:border-opacity-60:focus-within{--tw-border-opacity:0.6}.lg\\:dark\\:focus-within\\:border-opacity-70:focus-within{--tw-border-opacity:0.7}.lg\\:dark\\:focus-within\\:border-opacity-75:focus-within{--tw-border-opacity:0.75}.lg\\:dark\\:focus-within\\:border-opacity-80:focus-within{--tw-border-opacity:0.8}.lg\\:dark\\:focus-within\\:border-opacity-90:focus-within{--tw-border-opacity:0.9}.lg\\:dark\\:focus-within\\:border-opacity-95:focus-within{--tw-border-opacity:0.95}.lg\\:dark\\:focus-within\\:border-opacity-100:focus-within{--tw-border-opacity:1}.lg\\:dark\\:hover\\:border-opacity-0:hover{--tw-border-opacity:0}.lg\\:dark\\:hover\\:border-opacity-5:hover{--tw-border-opacity:0.05}.lg\\:dark\\:hover\\:border-opacity-10:hover{--tw-border-opacity:0.1}.lg\\:dark\\:hover\\:border-opacity-20:hover{--tw-border-opacity:0.2}.lg\\:dark\\:hover\\:border-opacity-25:hover{--tw-border-opacity:0.25}.lg\\:dark\\:hover\\:border-opacity-30:hover{--tw-border-opacity:0.3}.lg\\:dark\\:hover\\:border-opacity-40:hover{--tw-border-opacity:0.4}.lg\\:dark\\:hover\\:border-opacity-50:hover{--tw-border-opacity:0.5}.lg\\:dark\\:hover\\:border-opacity-60:hover{--tw-border-opacity:0.6}.lg\\:dark\\:hover\\:border-opacity-70:hover{--tw-border-opacity:0.7}.lg\\:dark\\:hover\\:border-opacity-75:hover{--tw-border-opacity:0.75}.lg\\:dark\\:hover\\:border-opacity-80:hover{--tw-border-opacity:0.8}.lg\\:dark\\:hover\\:border-opacity-90:hover{--tw-border-opacity:0.9}.lg\\:dark\\:hover\\:border-opacity-95:hover{--tw-border-opacity:0.95}.lg\\:dark\\:hover\\:border-opacity-100:hover{--tw-border-opacity:1}.lg\\:dark\\:focus\\:border-opacity-0:focus{--tw-border-opacity:0}.lg\\:dark\\:focus\\:border-opacity-5:focus{--tw-border-opacity:0.05}.lg\\:dark\\:focus\\:border-opacity-10:focus{--tw-border-opacity:0.1}.lg\\:dark\\:focus\\:border-opacity-20:focus{--tw-border-opacity:0.2}.lg\\:dark\\:focus\\:border-opacity-25:focus{--tw-border-opacity:0.25}.lg\\:dark\\:focus\\:border-opacity-30:focus{--tw-border-opacity:0.3}.lg\\:dark\\:focus\\:border-opacity-40:focus{--tw-border-opacity:0.4}.lg\\:dark\\:focus\\:border-opacity-50:focus{--tw-border-opacity:0.5}.lg\\:dark\\:focus\\:border-opacity-60:focus{--tw-border-opacity:0.6}.lg\\:dark\\:focus\\:border-opacity-70:focus{--tw-border-opacity:0.7}.lg\\:dark\\:focus\\:border-opacity-75:focus{--tw-border-opacity:0.75}.lg\\:dark\\:focus\\:border-opacity-80:focus{--tw-border-opacity:0.8}.lg\\:dark\\:focus\\:border-opacity-90:focus{--tw-border-opacity:0.9}.lg\\:dark\\:focus\\:border-opacity-95:focus{--tw-border-opacity:0.95}.lg\\:dark\\:focus\\:border-opacity-100:focus{--tw-border-opacity:1}}.lg\\:bg-transparent{background-color:transparent}.lg\\:bg-current{background-color:currentColor}.lg\\:bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.lg\\:bg-lightgrey{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.lg\\:bg-midgrey{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.lg\\:bg-darkgrey{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.lg\\:bg-grey{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.lg\\:bg-black{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.lg\\:bg-highlight{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.lg\\:bg-highlight_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.lg\\:bg-button_outline{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.lg\\:bg-error{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.lg\\:bg-text-light{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.lg\\:bg-text-dimmed{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.lg\\:bg-text-dark{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.lg\\:bg-body-light{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.lg\\:bg-body-dark{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.lg\\:bg-button{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.lg\\:bg-button_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.group:hover .lg\\:group-hover\\:bg-transparent{background-color:transparent}.group:hover .lg\\:group-hover\\:bg-current{background-color:currentColor}.group:hover .lg\\:group-hover\\:bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .lg\\:group-hover\\:bg-lightgrey{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.group:hover .lg\\:group-hover\\:bg-midgrey{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .lg\\:group-hover\\:bg-darkgrey{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.group:hover .lg\\:group-hover\\:bg-grey{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.group:hover .lg\\:group-hover\\:bg-black{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.group:hover .lg\\:group-hover\\:bg-highlight{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.group:hover .lg\\:group-hover\\:bg-highlight_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.group:hover .lg\\:group-hover\\:bg-button_outline{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .lg\\:group-hover\\:bg-error{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.group:hover .lg\\:group-hover\\:bg-text-light{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.group:hover .lg\\:group-hover\\:bg-text-dimmed{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .lg\\:group-hover\\:bg-text-dark{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .lg\\:group-hover\\:bg-body-light{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .lg\\:group-hover\\:bg-body-dark{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.group:hover .lg\\:group-hover\\:bg-button{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.group:hover .lg\\:group-hover\\:bg-button_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.lg\\:focus-within\\:bg-transparent:focus-within{background-color:transparent}.lg\\:focus-within\\:bg-current:focus-within{background-color:currentColor}.lg\\:focus-within\\:bg-white:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.lg\\:focus-within\\:bg-lightgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.lg\\:focus-within\\:bg-midgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.lg\\:focus-within\\:bg-darkgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.lg\\:focus-within\\:bg-grey:focus-within{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.lg\\:focus-within\\:bg-black:focus-within{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.lg\\:focus-within\\:bg-highlight:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.lg\\:focus-within\\:bg-highlight_hover:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.lg\\:focus-within\\:bg-button_outline:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.lg\\:focus-within\\:bg-error:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.lg\\:focus-within\\:bg-text-light:focus-within{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.lg\\:focus-within\\:bg-text-dimmed:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.lg\\:focus-within\\:bg-text-dark:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.lg\\:focus-within\\:bg-body-light:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.lg\\:focus-within\\:bg-body-dark:focus-within{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.lg\\:focus-within\\:bg-button:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.lg\\:focus-within\\:bg-button_hover:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.lg\\:hover\\:bg-transparent:hover{background-color:transparent}.lg\\:hover\\:bg-current:hover{background-color:currentColor}.lg\\:hover\\:bg-white:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.lg\\:hover\\:bg-lightgrey:hover{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.lg\\:hover\\:bg-midgrey:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.lg\\:hover\\:bg-darkgrey:hover{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.lg\\:hover\\:bg-grey:hover{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.lg\\:hover\\:bg-black:hover{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.lg\\:hover\\:bg-highlight:hover{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.lg\\:hover\\:bg-highlight_hover:hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.lg\\:hover\\:bg-button_outline:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.lg\\:hover\\:bg-error:hover{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.lg\\:hover\\:bg-text-light:hover{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.lg\\:hover\\:bg-text-dimmed:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.lg\\:hover\\:bg-text-dark:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.lg\\:hover\\:bg-body-light:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.lg\\:hover\\:bg-body-dark:hover{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.lg\\:hover\\:bg-button:hover{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.lg\\:hover\\:bg-button_hover:hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.lg\\:focus\\:bg-transparent:focus{background-color:transparent}.lg\\:focus\\:bg-current:focus{background-color:currentColor}.lg\\:focus\\:bg-white:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.lg\\:focus\\:bg-lightgrey:focus{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.lg\\:focus\\:bg-midgrey:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.lg\\:focus\\:bg-darkgrey:focus{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.lg\\:focus\\:bg-grey:focus{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.lg\\:focus\\:bg-black:focus{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.lg\\:focus\\:bg-highlight:focus{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.lg\\:focus\\:bg-highlight_hover:focus{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.lg\\:focus\\:bg-button_outline:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.lg\\:focus\\:bg-error:focus{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.lg\\:focus\\:bg-text-light:focus{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.lg\\:focus\\:bg-text-dimmed:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.lg\\:focus\\:bg-text-dark:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.lg\\:focus\\:bg-body-light:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.lg\\:focus\\:bg-body-dark:focus{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.lg\\:focus\\:bg-button:focus{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.lg\\:focus\\:bg-button_hover:focus{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}@media(prefers-color-scheme: dark){.lg\\:dark\\:bg-transparent{background-color:transparent}.lg\\:dark\\:bg-current{background-color:currentColor}.lg\\:dark\\:bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.lg\\:dark\\:bg-lightgrey{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.lg\\:dark\\:bg-midgrey{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.lg\\:dark\\:bg-darkgrey{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.lg\\:dark\\:bg-grey{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.lg\\:dark\\:bg-black{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.lg\\:dark\\:bg-highlight{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.lg\\:dark\\:bg-highlight_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.lg\\:dark\\:bg-button_outline{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.lg\\:dark\\:bg-error{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.lg\\:dark\\:bg-text-light{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.lg\\:dark\\:bg-text-dimmed{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.lg\\:dark\\:bg-text-dark{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.lg\\:dark\\:bg-body-light{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.lg\\:dark\\:bg-body-dark{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.lg\\:dark\\:bg-button{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.lg\\:dark\\:bg-button_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.group:hover .lg\\:dark\\:group-hover\\:bg-transparent{background-color:transparent}.group:hover .lg\\:dark\\:group-hover\\:bg-current{background-color:currentColor}.group:hover .lg\\:dark\\:group-hover\\:bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .lg\\:dark\\:group-hover\\:bg-lightgrey{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.group:hover .lg\\:dark\\:group-hover\\:bg-midgrey{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .lg\\:dark\\:group-hover\\:bg-darkgrey{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.group:hover .lg\\:dark\\:group-hover\\:bg-grey{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.group:hover .lg\\:dark\\:group-hover\\:bg-black{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.group:hover .lg\\:dark\\:group-hover\\:bg-highlight{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.group:hover .lg\\:dark\\:group-hover\\:bg-highlight_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.group:hover .lg\\:dark\\:group-hover\\:bg-button_outline{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .lg\\:dark\\:group-hover\\:bg-error{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.group:hover .lg\\:dark\\:group-hover\\:bg-text-light{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.group:hover .lg\\:dark\\:group-hover\\:bg-text-dimmed{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .lg\\:dark\\:group-hover\\:bg-text-dark{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .lg\\:dark\\:group-hover\\:bg-body-light{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .lg\\:dark\\:group-hover\\:bg-body-dark{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.group:hover .lg\\:dark\\:group-hover\\:bg-button{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.group:hover .lg\\:dark\\:group-hover\\:bg-button_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.lg\\:dark\\:focus-within\\:bg-transparent:focus-within{background-color:transparent}.lg\\:dark\\:focus-within\\:bg-current:focus-within{background-color:currentColor}.lg\\:dark\\:focus-within\\:bg-white:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.lg\\:dark\\:focus-within\\:bg-lightgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.lg\\:dark\\:focus-within\\:bg-midgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.lg\\:dark\\:focus-within\\:bg-darkgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.lg\\:dark\\:focus-within\\:bg-grey:focus-within{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.lg\\:dark\\:focus-within\\:bg-black:focus-within{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.lg\\:dark\\:focus-within\\:bg-highlight:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.lg\\:dark\\:focus-within\\:bg-highlight_hover:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.lg\\:dark\\:focus-within\\:bg-button_outline:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.lg\\:dark\\:focus-within\\:bg-error:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.lg\\:dark\\:focus-within\\:bg-text-light:focus-within{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.lg\\:dark\\:focus-within\\:bg-text-dimmed:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.lg\\:dark\\:focus-within\\:bg-text-dark:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.lg\\:dark\\:focus-within\\:bg-body-light:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.lg\\:dark\\:focus-within\\:bg-body-dark:focus-within{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.lg\\:dark\\:focus-within\\:bg-button:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.lg\\:dark\\:focus-within\\:bg-button_hover:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.lg\\:dark\\:hover\\:bg-transparent:hover{background-color:transparent}.lg\\:dark\\:hover\\:bg-current:hover{background-color:currentColor}.lg\\:dark\\:hover\\:bg-white:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.lg\\:dark\\:hover\\:bg-lightgrey:hover{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.lg\\:dark\\:hover\\:bg-midgrey:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.lg\\:dark\\:hover\\:bg-darkgrey:hover{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.lg\\:dark\\:hover\\:bg-grey:hover{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.lg\\:dark\\:hover\\:bg-black:hover{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.lg\\:dark\\:hover\\:bg-highlight:hover{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.lg\\:dark\\:hover\\:bg-highlight_hover:hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.lg\\:dark\\:hover\\:bg-button_outline:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.lg\\:dark\\:hover\\:bg-error:hover{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.lg\\:dark\\:hover\\:bg-text-light:hover{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.lg\\:dark\\:hover\\:bg-text-dimmed:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.lg\\:dark\\:hover\\:bg-text-dark:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.lg\\:dark\\:hover\\:bg-body-light:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.lg\\:dark\\:hover\\:bg-body-dark:hover{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.lg\\:dark\\:hover\\:bg-button:hover{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.lg\\:dark\\:hover\\:bg-button_hover:hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.lg\\:dark\\:focus\\:bg-transparent:focus{background-color:transparent}.lg\\:dark\\:focus\\:bg-current:focus{background-color:currentColor}.lg\\:dark\\:focus\\:bg-white:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.lg\\:dark\\:focus\\:bg-lightgrey:focus{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.lg\\:dark\\:focus\\:bg-midgrey:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.lg\\:dark\\:focus\\:bg-darkgrey:focus{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.lg\\:dark\\:focus\\:bg-grey:focus{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.lg\\:dark\\:focus\\:bg-black:focus{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.lg\\:dark\\:focus\\:bg-highlight:focus{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.lg\\:dark\\:focus\\:bg-highlight_hover:focus{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.lg\\:dark\\:focus\\:bg-button_outline:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.lg\\:dark\\:focus\\:bg-error:focus{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.lg\\:dark\\:focus\\:bg-text-light:focus{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.lg\\:dark\\:focus\\:bg-text-dimmed:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.lg\\:dark\\:focus\\:bg-text-dark:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.lg\\:dark\\:focus\\:bg-body-light:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.lg\\:dark\\:focus\\:bg-body-dark:focus{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.lg\\:dark\\:focus\\:bg-button:focus{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.lg\\:dark\\:focus\\:bg-button_hover:focus{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}}.lg\\:bg-opacity-0{--tw-bg-opacity:0}.lg\\:bg-opacity-5{--tw-bg-opacity:0.05}.lg\\:bg-opacity-10{--tw-bg-opacity:0.1}.lg\\:bg-opacity-20{--tw-bg-opacity:0.2}.lg\\:bg-opacity-25{--tw-bg-opacity:0.25}.lg\\:bg-opacity-30{--tw-bg-opacity:0.3}.lg\\:bg-opacity-40{--tw-bg-opacity:0.4}.lg\\:bg-opacity-50{--tw-bg-opacity:0.5}.lg\\:bg-opacity-60{--tw-bg-opacity:0.6}.lg\\:bg-opacity-70{--tw-bg-opacity:0.7}.lg\\:bg-opacity-75{--tw-bg-opacity:0.75}.lg\\:bg-opacity-80{--tw-bg-opacity:0.8}.lg\\:bg-opacity-90{--tw-bg-opacity:0.9}.lg\\:bg-opacity-95{--tw-bg-opacity:0.95}.lg\\:bg-opacity-100{--tw-bg-opacity:1}.group:hover .lg\\:group-hover\\:bg-opacity-0{--tw-bg-opacity:0}.group:hover .lg\\:group-hover\\:bg-opacity-5{--tw-bg-opacity:0.05}.group:hover .lg\\:group-hover\\:bg-opacity-10{--tw-bg-opacity:0.1}.group:hover .lg\\:group-hover\\:bg-opacity-20{--tw-bg-opacity:0.2}.group:hover .lg\\:group-hover\\:bg-opacity-25{--tw-bg-opacity:0.25}.group:hover .lg\\:group-hover\\:bg-opacity-30{--tw-bg-opacity:0.3}.group:hover .lg\\:group-hover\\:bg-opacity-40{--tw-bg-opacity:0.4}.group:hover .lg\\:group-hover\\:bg-opacity-50{--tw-bg-opacity:0.5}.group:hover .lg\\:group-hover\\:bg-opacity-60{--tw-bg-opacity:0.6}.group:hover .lg\\:group-hover\\:bg-opacity-70{--tw-bg-opacity:0.7}.group:hover .lg\\:group-hover\\:bg-opacity-75{--tw-bg-opacity:0.75}.group:hover .lg\\:group-hover\\:bg-opacity-80{--tw-bg-opacity:0.8}.group:hover .lg\\:group-hover\\:bg-opacity-90{--tw-bg-opacity:0.9}.group:hover .lg\\:group-hover\\:bg-opacity-95{--tw-bg-opacity:0.95}.group:hover .lg\\:group-hover\\:bg-opacity-100{--tw-bg-opacity:1}.lg\\:focus-within\\:bg-opacity-0:focus-within{--tw-bg-opacity:0}.lg\\:focus-within\\:bg-opacity-5:focus-within{--tw-bg-opacity:0.05}.lg\\:focus-within\\:bg-opacity-10:focus-within{--tw-bg-opacity:0.1}.lg\\:focus-within\\:bg-opacity-20:focus-within{--tw-bg-opacity:0.2}.lg\\:focus-within\\:bg-opacity-25:focus-within{--tw-bg-opacity:0.25}.lg\\:focus-within\\:bg-opacity-30:focus-within{--tw-bg-opacity:0.3}.lg\\:focus-within\\:bg-opacity-40:focus-within{--tw-bg-opacity:0.4}.lg\\:focus-within\\:bg-opacity-50:focus-within{--tw-bg-opacity:0.5}.lg\\:focus-within\\:bg-opacity-60:focus-within{--tw-bg-opacity:0.6}.lg\\:focus-within\\:bg-opacity-70:focus-within{--tw-bg-opacity:0.7}.lg\\:focus-within\\:bg-opacity-75:focus-within{--tw-bg-opacity:0.75}.lg\\:focus-within\\:bg-opacity-80:focus-within{--tw-bg-opacity:0.8}.lg\\:focus-within\\:bg-opacity-90:focus-within{--tw-bg-opacity:0.9}.lg\\:focus-within\\:bg-opacity-95:focus-within{--tw-bg-opacity:0.95}.lg\\:focus-within\\:bg-opacity-100:focus-within{--tw-bg-opacity:1}.lg\\:hover\\:bg-opacity-0:hover{--tw-bg-opacity:0}.lg\\:hover\\:bg-opacity-5:hover{--tw-bg-opacity:0.05}.lg\\:hover\\:bg-opacity-10:hover{--tw-bg-opacity:0.1}.lg\\:hover\\:bg-opacity-20:hover{--tw-bg-opacity:0.2}.lg\\:hover\\:bg-opacity-25:hover{--tw-bg-opacity:0.25}.lg\\:hover\\:bg-opacity-30:hover{--tw-bg-opacity:0.3}.lg\\:hover\\:bg-opacity-40:hover{--tw-bg-opacity:0.4}.lg\\:hover\\:bg-opacity-50:hover{--tw-bg-opacity:0.5}.lg\\:hover\\:bg-opacity-60:hover{--tw-bg-opacity:0.6}.lg\\:hover\\:bg-opacity-70:hover{--tw-bg-opacity:0.7}.lg\\:hover\\:bg-opacity-75:hover{--tw-bg-opacity:0.75}.lg\\:hover\\:bg-opacity-80:hover{--tw-bg-opacity:0.8}.lg\\:hover\\:bg-opacity-90:hover{--tw-bg-opacity:0.9}.lg\\:hover\\:bg-opacity-95:hover{--tw-bg-opacity:0.95}.lg\\:hover\\:bg-opacity-100:hover{--tw-bg-opacity:1}.lg\\:focus\\:bg-opacity-0:focus{--tw-bg-opacity:0}.lg\\:focus\\:bg-opacity-5:focus{--tw-bg-opacity:0.05}.lg\\:focus\\:bg-opacity-10:focus{--tw-bg-opacity:0.1}.lg\\:focus\\:bg-opacity-20:focus{--tw-bg-opacity:0.2}.lg\\:focus\\:bg-opacity-25:focus{--tw-bg-opacity:0.25}.lg\\:focus\\:bg-opacity-30:focus{--tw-bg-opacity:0.3}.lg\\:focus\\:bg-opacity-40:focus{--tw-bg-opacity:0.4}.lg\\:focus\\:bg-opacity-50:focus{--tw-bg-opacity:0.5}.lg\\:focus\\:bg-opacity-60:focus{--tw-bg-opacity:0.6}.lg\\:focus\\:bg-opacity-70:focus{--tw-bg-opacity:0.7}.lg\\:focus\\:bg-opacity-75:focus{--tw-bg-opacity:0.75}.lg\\:focus\\:bg-opacity-80:focus{--tw-bg-opacity:0.8}.lg\\:focus\\:bg-opacity-90:focus{--tw-bg-opacity:0.9}.lg\\:focus\\:bg-opacity-95:focus{--tw-bg-opacity:0.95}.lg\\:focus\\:bg-opacity-100:focus{--tw-bg-opacity:1}@media(prefers-color-scheme: dark){.lg\\:dark\\:bg-opacity-0{--tw-bg-opacity:0}.lg\\:dark\\:bg-opacity-5{--tw-bg-opacity:0.05}.lg\\:dark\\:bg-opacity-10{--tw-bg-opacity:0.1}.lg\\:dark\\:bg-opacity-20{--tw-bg-opacity:0.2}.lg\\:dark\\:bg-opacity-25{--tw-bg-opacity:0.25}.lg\\:dark\\:bg-opacity-30{--tw-bg-opacity:0.3}.lg\\:dark\\:bg-opacity-40{--tw-bg-opacity:0.4}.lg\\:dark\\:bg-opacity-50{--tw-bg-opacity:0.5}.lg\\:dark\\:bg-opacity-60{--tw-bg-opacity:0.6}.lg\\:dark\\:bg-opacity-70{--tw-bg-opacity:0.7}.lg\\:dark\\:bg-opacity-75{--tw-bg-opacity:0.75}.lg\\:dark\\:bg-opacity-80{--tw-bg-opacity:0.8}.lg\\:dark\\:bg-opacity-90{--tw-bg-opacity:0.9}.lg\\:dark\\:bg-opacity-95{--tw-bg-opacity:0.95}.lg\\:dark\\:bg-opacity-100{--tw-bg-opacity:1}.group:hover .lg\\:dark\\:group-hover\\:bg-opacity-0{--tw-bg-opacity:0}.group:hover .lg\\:dark\\:group-hover\\:bg-opacity-5{--tw-bg-opacity:0.05}.group:hover .lg\\:dark\\:group-hover\\:bg-opacity-10{--tw-bg-opacity:0.1}.group:hover .lg\\:dark\\:group-hover\\:bg-opacity-20{--tw-bg-opacity:0.2}.group:hover .lg\\:dark\\:group-hover\\:bg-opacity-25{--tw-bg-opacity:0.25}.group:hover .lg\\:dark\\:group-hover\\:bg-opacity-30{--tw-bg-opacity:0.3}.group:hover .lg\\:dark\\:group-hover\\:bg-opacity-40{--tw-bg-opacity:0.4}.group:hover .lg\\:dark\\:group-hover\\:bg-opacity-50{--tw-bg-opacity:0.5}.group:hover .lg\\:dark\\:group-hover\\:bg-opacity-60{--tw-bg-opacity:0.6}.group:hover .lg\\:dark\\:group-hover\\:bg-opacity-70{--tw-bg-opacity:0.7}.group:hover .lg\\:dark\\:group-hover\\:bg-opacity-75{--tw-bg-opacity:0.75}.group:hover .lg\\:dark\\:group-hover\\:bg-opacity-80{--tw-bg-opacity:0.8}.group:hover .lg\\:dark\\:group-hover\\:bg-opacity-90{--tw-bg-opacity:0.9}.group:hover .lg\\:dark\\:group-hover\\:bg-opacity-95{--tw-bg-opacity:0.95}.group:hover .lg\\:dark\\:group-hover\\:bg-opacity-100{--tw-bg-opacity:1}.lg\\:dark\\:focus-within\\:bg-opacity-0:focus-within{--tw-bg-opacity:0}.lg\\:dark\\:focus-within\\:bg-opacity-5:focus-within{--tw-bg-opacity:0.05}.lg\\:dark\\:focus-within\\:bg-opacity-10:focus-within{--tw-bg-opacity:0.1}.lg\\:dark\\:focus-within\\:bg-opacity-20:focus-within{--tw-bg-opacity:0.2}.lg\\:dark\\:focus-within\\:bg-opacity-25:focus-within{--tw-bg-opacity:0.25}.lg\\:dark\\:focus-within\\:bg-opacity-30:focus-within{--tw-bg-opacity:0.3}.lg\\:dark\\:focus-within\\:bg-opacity-40:focus-within{--tw-bg-opacity:0.4}.lg\\:dark\\:focus-within\\:bg-opacity-50:focus-within{--tw-bg-opacity:0.5}.lg\\:dark\\:focus-within\\:bg-opacity-60:focus-within{--tw-bg-opacity:0.6}.lg\\:dark\\:focus-within\\:bg-opacity-70:focus-within{--tw-bg-opacity:0.7}.lg\\:dark\\:focus-within\\:bg-opacity-75:focus-within{--tw-bg-opacity:0.75}.lg\\:dark\\:focus-within\\:bg-opacity-80:focus-within{--tw-bg-opacity:0.8}.lg\\:dark\\:focus-within\\:bg-opacity-90:focus-within{--tw-bg-opacity:0.9}.lg\\:dark\\:focus-within\\:bg-opacity-95:focus-within{--tw-bg-opacity:0.95}.lg\\:dark\\:focus-within\\:bg-opacity-100:focus-within{--tw-bg-opacity:1}.lg\\:dark\\:hover\\:bg-opacity-0:hover{--tw-bg-opacity:0}.lg\\:dark\\:hover\\:bg-opacity-5:hover{--tw-bg-opacity:0.05}.lg\\:dark\\:hover\\:bg-opacity-10:hover{--tw-bg-opacity:0.1}.lg\\:dark\\:hover\\:bg-opacity-20:hover{--tw-bg-opacity:0.2}.lg\\:dark\\:hover\\:bg-opacity-25:hover{--tw-bg-opacity:0.25}.lg\\:dark\\:hover\\:bg-opacity-30:hover{--tw-bg-opacity:0.3}.lg\\:dark\\:hover\\:bg-opacity-40:hover{--tw-bg-opacity:0.4}.lg\\:dark\\:hover\\:bg-opacity-50:hover{--tw-bg-opacity:0.5}.lg\\:dark\\:hover\\:bg-opacity-60:hover{--tw-bg-opacity:0.6}.lg\\:dark\\:hover\\:bg-opacity-70:hover{--tw-bg-opacity:0.7}.lg\\:dark\\:hover\\:bg-opacity-75:hover{--tw-bg-opacity:0.75}.lg\\:dark\\:hover\\:bg-opacity-80:hover{--tw-bg-opacity:0.8}.lg\\:dark\\:hover\\:bg-opacity-90:hover{--tw-bg-opacity:0.9}.lg\\:dark\\:hover\\:bg-opacity-95:hover{--tw-bg-opacity:0.95}.lg\\:dark\\:hover\\:bg-opacity-100:hover{--tw-bg-opacity:1}.lg\\:dark\\:focus\\:bg-opacity-0:focus{--tw-bg-opacity:0}.lg\\:dark\\:focus\\:bg-opacity-5:focus{--tw-bg-opacity:0.05}.lg\\:dark\\:focus\\:bg-opacity-10:focus{--tw-bg-opacity:0.1}.lg\\:dark\\:focus\\:bg-opacity-20:focus{--tw-bg-opacity:0.2}.lg\\:dark\\:focus\\:bg-opacity-25:focus{--tw-bg-opacity:0.25}.lg\\:dark\\:focus\\:bg-opacity-30:focus{--tw-bg-opacity:0.3}.lg\\:dark\\:focus\\:bg-opacity-40:focus{--tw-bg-opacity:0.4}.lg\\:dark\\:focus\\:bg-opacity-50:focus{--tw-bg-opacity:0.5}.lg\\:dark\\:focus\\:bg-opacity-60:focus{--tw-bg-opacity:0.6}.lg\\:dark\\:focus\\:bg-opacity-70:focus{--tw-bg-opacity:0.7}.lg\\:dark\\:focus\\:bg-opacity-75:focus{--tw-bg-opacity:0.75}.lg\\:dark\\:focus\\:bg-opacity-80:focus{--tw-bg-opacity:0.8}.lg\\:dark\\:focus\\:bg-opacity-90:focus{--tw-bg-opacity:0.9}.lg\\:dark\\:focus\\:bg-opacity-95:focus{--tw-bg-opacity:0.95}.lg\\:dark\\:focus\\:bg-opacity-100:focus{--tw-bg-opacity:1}}.lg\\:bg-none{background-image:none}.lg\\:bg-gradient-to-t{background-image:linear-gradient(to top, var(--tw-gradient-stops))}.lg\\:bg-gradient-to-tr{background-image:linear-gradient(to top right, var(--tw-gradient-stops))}.lg\\:bg-gradient-to-r{background-image:linear-gradient(to right, var(--tw-gradient-stops))}.lg\\:bg-gradient-to-br{background-image:linear-gradient(to bottom right, var(--tw-gradient-stops))}.lg\\:bg-gradient-to-b{background-image:linear-gradient(to bottom, var(--tw-gradient-stops))}.lg\\:bg-gradient-to-bl{background-image:linear-gradient(to bottom left, var(--tw-gradient-stops))}.lg\\:bg-gradient-to-l{background-image:linear-gradient(to left, var(--tw-gradient-stops))}.lg\\:bg-gradient-to-tl{background-image:linear-gradient(to top left, var(--tw-gradient-stops))}.lg\\:from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.lg\\:from-current{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:from-white{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:from-lightgrey{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.lg\\:from-midgrey{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:from-darkgrey{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.lg\\:from-grey{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.lg\\:from-black{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.lg\\:from-highlight{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.lg\\:from-highlight_hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.lg\\:from-button_outline{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:from-error{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.lg\\:from-text-light{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.lg\\:from-text-dimmed{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:from-text-dark{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:from-body-light{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:from-body-dark{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.lg\\:from-button{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.lg\\:from-button_hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.lg\\:hover\\:from-transparent:hover{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.lg\\:hover\\:from-current:hover{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:hover\\:from-white:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:hover\\:from-lightgrey:hover{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.lg\\:hover\\:from-midgrey:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:hover\\:from-darkgrey:hover{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.lg\\:hover\\:from-grey:hover{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.lg\\:hover\\:from-black:hover{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.lg\\:hover\\:from-highlight:hover{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.lg\\:hover\\:from-highlight_hover:hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.lg\\:hover\\:from-button_outline:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:hover\\:from-error:hover{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.lg\\:hover\\:from-text-light:hover{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.lg\\:hover\\:from-text-dimmed:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:hover\\:from-text-dark:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:hover\\:from-body-light:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:hover\\:from-body-dark:hover{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.lg\\:hover\\:from-button:hover{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.lg\\:hover\\:from-button_hover:hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.lg\\:focus\\:from-transparent:focus{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.lg\\:focus\\:from-current:focus{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:focus\\:from-white:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:focus\\:from-lightgrey:focus{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.lg\\:focus\\:from-midgrey:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:focus\\:from-darkgrey:focus{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.lg\\:focus\\:from-grey:focus{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.lg\\:focus\\:from-black:focus{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.lg\\:focus\\:from-highlight:focus{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.lg\\:focus\\:from-highlight_hover:focus{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.lg\\:focus\\:from-button_outline:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:focus\\:from-error:focus{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.lg\\:focus\\:from-text-light:focus{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.lg\\:focus\\:from-text-dimmed:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:focus\\:from-text-dark:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:focus\\:from-body-light:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:focus\\:from-body-dark:focus{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.lg\\:focus\\:from-button:focus{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.lg\\:focus\\:from-button_hover:focus{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}@media(prefers-color-scheme: dark){.lg\\:dark\\:from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.lg\\:dark\\:from-current{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:dark\\:from-white{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:dark\\:from-lightgrey{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.lg\\:dark\\:from-midgrey{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:dark\\:from-darkgrey{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.lg\\:dark\\:from-grey{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.lg\\:dark\\:from-black{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.lg\\:dark\\:from-highlight{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.lg\\:dark\\:from-highlight_hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.lg\\:dark\\:from-button_outline{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:dark\\:from-error{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.lg\\:dark\\:from-text-light{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.lg\\:dark\\:from-text-dimmed{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:dark\\:from-text-dark{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:dark\\:from-body-light{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:dark\\:from-body-dark{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.lg\\:dark\\:from-button{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.lg\\:dark\\:from-button_hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.lg\\:dark\\:hover\\:from-transparent:hover{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.lg\\:dark\\:hover\\:from-current:hover{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:dark\\:hover\\:from-white:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:dark\\:hover\\:from-lightgrey:hover{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.lg\\:dark\\:hover\\:from-midgrey:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:dark\\:hover\\:from-darkgrey:hover{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.lg\\:dark\\:hover\\:from-grey:hover{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.lg\\:dark\\:hover\\:from-black:hover{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.lg\\:dark\\:hover\\:from-highlight:hover{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.lg\\:dark\\:hover\\:from-highlight_hover:hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.lg\\:dark\\:hover\\:from-button_outline:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:dark\\:hover\\:from-error:hover{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.lg\\:dark\\:hover\\:from-text-light:hover{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.lg\\:dark\\:hover\\:from-text-dimmed:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:dark\\:hover\\:from-text-dark:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:dark\\:hover\\:from-body-light:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:dark\\:hover\\:from-body-dark:hover{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.lg\\:dark\\:hover\\:from-button:hover{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.lg\\:dark\\:hover\\:from-button_hover:hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.lg\\:dark\\:focus\\:from-transparent:focus{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.lg\\:dark\\:focus\\:from-current:focus{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:dark\\:focus\\:from-white:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:dark\\:focus\\:from-lightgrey:focus{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.lg\\:dark\\:focus\\:from-midgrey:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:dark\\:focus\\:from-darkgrey:focus{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.lg\\:dark\\:focus\\:from-grey:focus{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.lg\\:dark\\:focus\\:from-black:focus{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.lg\\:dark\\:focus\\:from-highlight:focus{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.lg\\:dark\\:focus\\:from-highlight_hover:focus{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.lg\\:dark\\:focus\\:from-button_outline:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:dark\\:focus\\:from-error:focus{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.lg\\:dark\\:focus\\:from-text-light:focus{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.lg\\:dark\\:focus\\:from-text-dimmed:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:dark\\:focus\\:from-text-dark:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:dark\\:focus\\:from-body-light:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:dark\\:focus\\:from-body-dark:focus{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.lg\\:dark\\:focus\\:from-button:focus{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.lg\\:dark\\:focus\\:from-button_hover:focus{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}}.lg\\:via-transparent{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.lg\\:via-current{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:via-white{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:via-lightgrey{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.lg\\:via-midgrey{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:via-darkgrey{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.lg\\:via-grey{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.lg\\:via-black{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.lg\\:via-highlight{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.lg\\:via-highlight_hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.lg\\:via-button_outline{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:via-error{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.lg\\:via-text-light{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.lg\\:via-text-dimmed{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:via-text-dark{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:via-body-light{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:via-body-dark{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.lg\\:via-button{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.lg\\:via-button_hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.lg\\:hover\\:via-transparent:hover{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.lg\\:hover\\:via-current:hover{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:hover\\:via-white:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:hover\\:via-lightgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.lg\\:hover\\:via-midgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:hover\\:via-darkgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.lg\\:hover\\:via-grey:hover{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.lg\\:hover\\:via-black:hover{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.lg\\:hover\\:via-highlight:hover{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.lg\\:hover\\:via-highlight_hover:hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.lg\\:hover\\:via-button_outline:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:hover\\:via-error:hover{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.lg\\:hover\\:via-text-light:hover{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.lg\\:hover\\:via-text-dimmed:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:hover\\:via-text-dark:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:hover\\:via-body-light:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:hover\\:via-body-dark:hover{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.lg\\:hover\\:via-button:hover{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.lg\\:hover\\:via-button_hover:hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.lg\\:focus\\:via-transparent:focus{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.lg\\:focus\\:via-current:focus{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:focus\\:via-white:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:focus\\:via-lightgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.lg\\:focus\\:via-midgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:focus\\:via-darkgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.lg\\:focus\\:via-grey:focus{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.lg\\:focus\\:via-black:focus{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.lg\\:focus\\:via-highlight:focus{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.lg\\:focus\\:via-highlight_hover:focus{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.lg\\:focus\\:via-button_outline:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:focus\\:via-error:focus{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.lg\\:focus\\:via-text-light:focus{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.lg\\:focus\\:via-text-dimmed:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:focus\\:via-text-dark:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:focus\\:via-body-light:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:focus\\:via-body-dark:focus{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.lg\\:focus\\:via-button:focus{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.lg\\:focus\\:via-button_hover:focus{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}@media(prefers-color-scheme: dark){.lg\\:dark\\:via-transparent{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.lg\\:dark\\:via-current{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:dark\\:via-white{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:dark\\:via-lightgrey{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.lg\\:dark\\:via-midgrey{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:dark\\:via-darkgrey{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.lg\\:dark\\:via-grey{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.lg\\:dark\\:via-black{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.lg\\:dark\\:via-highlight{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.lg\\:dark\\:via-highlight_hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.lg\\:dark\\:via-button_outline{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:dark\\:via-error{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.lg\\:dark\\:via-text-light{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.lg\\:dark\\:via-text-dimmed{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:dark\\:via-text-dark{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:dark\\:via-body-light{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:dark\\:via-body-dark{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.lg\\:dark\\:via-button{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.lg\\:dark\\:via-button_hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.lg\\:dark\\:hover\\:via-transparent:hover{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.lg\\:dark\\:hover\\:via-current:hover{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:dark\\:hover\\:via-white:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:dark\\:hover\\:via-lightgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.lg\\:dark\\:hover\\:via-midgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:dark\\:hover\\:via-darkgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.lg\\:dark\\:hover\\:via-grey:hover{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.lg\\:dark\\:hover\\:via-black:hover{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.lg\\:dark\\:hover\\:via-highlight:hover{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.lg\\:dark\\:hover\\:via-highlight_hover:hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.lg\\:dark\\:hover\\:via-button_outline:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:dark\\:hover\\:via-error:hover{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.lg\\:dark\\:hover\\:via-text-light:hover{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.lg\\:dark\\:hover\\:via-text-dimmed:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:dark\\:hover\\:via-text-dark:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:dark\\:hover\\:via-body-light:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:dark\\:hover\\:via-body-dark:hover{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.lg\\:dark\\:hover\\:via-button:hover{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.lg\\:dark\\:hover\\:via-button_hover:hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.lg\\:dark\\:focus\\:via-transparent:focus{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.lg\\:dark\\:focus\\:via-current:focus{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:dark\\:focus\\:via-white:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:dark\\:focus\\:via-lightgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.lg\\:dark\\:focus\\:via-midgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:dark\\:focus\\:via-darkgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.lg\\:dark\\:focus\\:via-grey:focus{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.lg\\:dark\\:focus\\:via-black:focus{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.lg\\:dark\\:focus\\:via-highlight:focus{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.lg\\:dark\\:focus\\:via-highlight_hover:focus{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.lg\\:dark\\:focus\\:via-button_outline:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:dark\\:focus\\:via-error:focus{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.lg\\:dark\\:focus\\:via-text-light:focus{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.lg\\:dark\\:focus\\:via-text-dimmed:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.lg\\:dark\\:focus\\:via-text-dark:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:dark\\:focus\\:via-body-light:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\\:dark\\:focus\\:via-body-dark:focus{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.lg\\:dark\\:focus\\:via-button:focus{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.lg\\:dark\\:focus\\:via-button_hover:focus{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}}.lg\\:to-transparent{--tw-gradient-to:transparent}.lg\\:to-current{--tw-gradient-to:currentColor}.lg\\:to-white{--tw-gradient-to:#fff}.lg\\:to-lightgrey{--tw-gradient-to:#F7F7F7}.lg\\:to-midgrey{--tw-gradient-to:#cfcfcf}.lg\\:to-darkgrey{--tw-gradient-to:#7f7f7f}.lg\\:to-grey{--tw-gradient-to:#1e1e1e}.lg\\:to-black{--tw-gradient-to:#0f0f0f}.lg\\:to-highlight{--tw-gradient-to:#0071e3}.lg\\:to-highlight_hover{--tw-gradient-to:#0077ed}.lg\\:to-button_outline{--tw-gradient-to:#cfcfcf}.lg\\:to-error{--tw-gradient-to:#ff453a}.lg\\:to-text-light{--tw-gradient-to:#0f0f0f}.lg\\:to-text-dimmed{--tw-gradient-to:#cfcfcf}.lg\\:to-text-dark{--tw-gradient-to:#fff}.lg\\:to-body-light{--tw-gradient-to:#fff}.lg\\:to-body-dark{--tw-gradient-to:#1e1e1e}.lg\\:to-button{--tw-gradient-to:#0071e3}.lg\\:to-button_hover{--tw-gradient-to:#0077ed}.lg\\:hover\\:to-transparent:hover{--tw-gradient-to:transparent}.lg\\:hover\\:to-current:hover{--tw-gradient-to:currentColor}.lg\\:hover\\:to-white:hover{--tw-gradient-to:#fff}.lg\\:hover\\:to-lightgrey:hover{--tw-gradient-to:#F7F7F7}.lg\\:hover\\:to-midgrey:hover{--tw-gradient-to:#cfcfcf}.lg\\:hover\\:to-darkgrey:hover{--tw-gradient-to:#7f7f7f}.lg\\:hover\\:to-grey:hover{--tw-gradient-to:#1e1e1e}.lg\\:hover\\:to-black:hover{--tw-gradient-to:#0f0f0f}.lg\\:hover\\:to-highlight:hover{--tw-gradient-to:#0071e3}.lg\\:hover\\:to-highlight_hover:hover{--tw-gradient-to:#0077ed}.lg\\:hover\\:to-button_outline:hover{--tw-gradient-to:#cfcfcf}.lg\\:hover\\:to-error:hover{--tw-gradient-to:#ff453a}.lg\\:hover\\:to-text-light:hover{--tw-gradient-to:#0f0f0f}.lg\\:hover\\:to-text-dimmed:hover{--tw-gradient-to:#cfcfcf}.lg\\:hover\\:to-text-dark:hover{--tw-gradient-to:#fff}.lg\\:hover\\:to-body-light:hover{--tw-gradient-to:#fff}.lg\\:hover\\:to-body-dark:hover{--tw-gradient-to:#1e1e1e}.lg\\:hover\\:to-button:hover{--tw-gradient-to:#0071e3}.lg\\:hover\\:to-button_hover:hover{--tw-gradient-to:#0077ed}.lg\\:focus\\:to-transparent:focus{--tw-gradient-to:transparent}.lg\\:focus\\:to-current:focus{--tw-gradient-to:currentColor}.lg\\:focus\\:to-white:focus{--tw-gradient-to:#fff}.lg\\:focus\\:to-lightgrey:focus{--tw-gradient-to:#F7F7F7}.lg\\:focus\\:to-midgrey:focus{--tw-gradient-to:#cfcfcf}.lg\\:focus\\:to-darkgrey:focus{--tw-gradient-to:#7f7f7f}.lg\\:focus\\:to-grey:focus{--tw-gradient-to:#1e1e1e}.lg\\:focus\\:to-black:focus{--tw-gradient-to:#0f0f0f}.lg\\:focus\\:to-highlight:focus{--tw-gradient-to:#0071e3}.lg\\:focus\\:to-highlight_hover:focus{--tw-gradient-to:#0077ed}.lg\\:focus\\:to-button_outline:focus{--tw-gradient-to:#cfcfcf}.lg\\:focus\\:to-error:focus{--tw-gradient-to:#ff453a}.lg\\:focus\\:to-text-light:focus{--tw-gradient-to:#0f0f0f}.lg\\:focus\\:to-text-dimmed:focus{--tw-gradient-to:#cfcfcf}.lg\\:focus\\:to-text-dark:focus{--tw-gradient-to:#fff}.lg\\:focus\\:to-body-light:focus{--tw-gradient-to:#fff}.lg\\:focus\\:to-body-dark:focus{--tw-gradient-to:#1e1e1e}.lg\\:focus\\:to-button:focus{--tw-gradient-to:#0071e3}.lg\\:focus\\:to-button_hover:focus{--tw-gradient-to:#0077ed}@media(prefers-color-scheme: dark){.lg\\:dark\\:to-transparent{--tw-gradient-to:transparent}.lg\\:dark\\:to-current{--tw-gradient-to:currentColor}.lg\\:dark\\:to-white{--tw-gradient-to:#fff}.lg\\:dark\\:to-lightgrey{--tw-gradient-to:#F7F7F7}.lg\\:dark\\:to-midgrey{--tw-gradient-to:#cfcfcf}.lg\\:dark\\:to-darkgrey{--tw-gradient-to:#7f7f7f}.lg\\:dark\\:to-grey{--tw-gradient-to:#1e1e1e}.lg\\:dark\\:to-black{--tw-gradient-to:#0f0f0f}.lg\\:dark\\:to-highlight{--tw-gradient-to:#0071e3}.lg\\:dark\\:to-highlight_hover{--tw-gradient-to:#0077ed}.lg\\:dark\\:to-button_outline{--tw-gradient-to:#cfcfcf}.lg\\:dark\\:to-error{--tw-gradient-to:#ff453a}.lg\\:dark\\:to-text-light{--tw-gradient-to:#0f0f0f}.lg\\:dark\\:to-text-dimmed{--tw-gradient-to:#cfcfcf}.lg\\:dark\\:to-text-dark{--tw-gradient-to:#fff}.lg\\:dark\\:to-body-light{--tw-gradient-to:#fff}.lg\\:dark\\:to-body-dark{--tw-gradient-to:#1e1e1e}.lg\\:dark\\:to-button{--tw-gradient-to:#0071e3}.lg\\:dark\\:to-button_hover{--tw-gradient-to:#0077ed}.lg\\:dark\\:hover\\:to-transparent:hover{--tw-gradient-to:transparent}.lg\\:dark\\:hover\\:to-current:hover{--tw-gradient-to:currentColor}.lg\\:dark\\:hover\\:to-white:hover{--tw-gradient-to:#fff}.lg\\:dark\\:hover\\:to-lightgrey:hover{--tw-gradient-to:#F7F7F7}.lg\\:dark\\:hover\\:to-midgrey:hover{--tw-gradient-to:#cfcfcf}.lg\\:dark\\:hover\\:to-darkgrey:hover{--tw-gradient-to:#7f7f7f}.lg\\:dark\\:hover\\:to-grey:hover{--tw-gradient-to:#1e1e1e}.lg\\:dark\\:hover\\:to-black:hover{--tw-gradient-to:#0f0f0f}.lg\\:dark\\:hover\\:to-highlight:hover{--tw-gradient-to:#0071e3}.lg\\:dark\\:hover\\:to-highlight_hover:hover{--tw-gradient-to:#0077ed}.lg\\:dark\\:hover\\:to-button_outline:hover{--tw-gradient-to:#cfcfcf}.lg\\:dark\\:hover\\:to-error:hover{--tw-gradient-to:#ff453a}.lg\\:dark\\:hover\\:to-text-light:hover{--tw-gradient-to:#0f0f0f}.lg\\:dark\\:hover\\:to-text-dimmed:hover{--tw-gradient-to:#cfcfcf}.lg\\:dark\\:hover\\:to-text-dark:hover{--tw-gradient-to:#fff}.lg\\:dark\\:hover\\:to-body-light:hover{--tw-gradient-to:#fff}.lg\\:dark\\:hover\\:to-body-dark:hover{--tw-gradient-to:#1e1e1e}.lg\\:dark\\:hover\\:to-button:hover{--tw-gradient-to:#0071e3}.lg\\:dark\\:hover\\:to-button_hover:hover{--tw-gradient-to:#0077ed}.lg\\:dark\\:focus\\:to-transparent:focus{--tw-gradient-to:transparent}.lg\\:dark\\:focus\\:to-current:focus{--tw-gradient-to:currentColor}.lg\\:dark\\:focus\\:to-white:focus{--tw-gradient-to:#fff}.lg\\:dark\\:focus\\:to-lightgrey:focus{--tw-gradient-to:#F7F7F7}.lg\\:dark\\:focus\\:to-midgrey:focus{--tw-gradient-to:#cfcfcf}.lg\\:dark\\:focus\\:to-darkgrey:focus{--tw-gradient-to:#7f7f7f}.lg\\:dark\\:focus\\:to-grey:focus{--tw-gradient-to:#1e1e1e}.lg\\:dark\\:focus\\:to-black:focus{--tw-gradient-to:#0f0f0f}.lg\\:dark\\:focus\\:to-highlight:focus{--tw-gradient-to:#0071e3}.lg\\:dark\\:focus\\:to-highlight_hover:focus{--tw-gradient-to:#0077ed}.lg\\:dark\\:focus\\:to-button_outline:focus{--tw-gradient-to:#cfcfcf}.lg\\:dark\\:focus\\:to-error:focus{--tw-gradient-to:#ff453a}.lg\\:dark\\:focus\\:to-text-light:focus{--tw-gradient-to:#0f0f0f}.lg\\:dark\\:focus\\:to-text-dimmed:focus{--tw-gradient-to:#cfcfcf}.lg\\:dark\\:focus\\:to-text-dark:focus{--tw-gradient-to:#fff}.lg\\:dark\\:focus\\:to-body-light:focus{--tw-gradient-to:#fff}.lg\\:dark\\:focus\\:to-body-dark:focus{--tw-gradient-to:#1e1e1e}.lg\\:dark\\:focus\\:to-button:focus{--tw-gradient-to:#0071e3}.lg\\:dark\\:focus\\:to-button_hover:focus{--tw-gradient-to:#0077ed}}.lg\\:decoration-slice{-webkit-box-decoration-break:slice;box-decoration-break:slice}.lg\\:decoration-clone{-webkit-box-decoration-break:clone;box-decoration-break:clone}.lg\\:bg-auto{background-size:auto}.lg\\:bg-cover{background-size:cover}.lg\\:bg-contain{background-size:contain}.lg\\:bg-fixed{background-attachment:fixed}.lg\\:bg-local{background-attachment:local}.lg\\:bg-scroll{background-attachment:scroll}.lg\\:bg-clip-border{background-clip:border-box}.lg\\:bg-clip-padding{background-clip:padding-box}.lg\\:bg-clip-content{background-clip:content-box}.lg\\:bg-clip-text{background-clip:text}.lg\\:bg-bottom{background-position:bottom}.lg\\:bg-center{background-position:center}.lg\\:bg-left{background-position:left}.lg\\:bg-left-bottom{background-position:left bottom}.lg\\:bg-left-top{background-position:left top}.lg\\:bg-right{background-position:right}.lg\\:bg-right-bottom{background-position:right bottom}.lg\\:bg-right-top{background-position:right top}.lg\\:bg-top{background-position:top}.lg\\:bg-repeat{background-repeat:repeat}.lg\\:bg-no-repeat{background-repeat:no-repeat}.lg\\:bg-repeat-x{background-repeat:repeat-x}.lg\\:bg-repeat-y{background-repeat:repeat-y}.lg\\:bg-repeat-round{background-repeat:round}.lg\\:bg-repeat-space{background-repeat:space}.lg\\:bg-origin-border{background-origin:border-box}.lg\\:bg-origin-padding{background-origin:padding-box}.lg\\:bg-origin-content{background-origin:content-box}.lg\\:fill-current{fill:currentColor}.lg\\:stroke-current{stroke:currentColor}.lg\\:stroke-0{stroke-width:0}.lg\\:stroke-1{stroke-width:1}.lg\\:stroke-2{stroke-width:2}.lg\\:object-contain{object-fit:contain}.lg\\:object-cover{object-fit:cover}.lg\\:object-fill{object-fit:fill}.lg\\:object-none{object-fit:none}.lg\\:object-scale-down{object-fit:scale-down}.lg\\:object-bottom{object-position:bottom}.lg\\:object-center{object-position:center}.lg\\:object-left{object-position:left}.lg\\:object-left-bottom{object-position:left bottom}.lg\\:object-left-top{object-position:left top}.lg\\:object-right{object-position:right}.lg\\:object-right-bottom{object-position:right bottom}.lg\\:object-right-top{object-position:right top}.lg\\:object-top{object-position:top}.lg\\:p-0{padding:0px}.lg\\:p-1{padding:0.25rem}.lg\\:p-2{padding:0.5rem}.lg\\:p-3{padding:0.75rem}.lg\\:p-4{padding:1rem}.lg\\:p-5{padding:1.25rem}.lg\\:p-6{padding:1.5rem}.lg\\:p-7{padding:1.75rem}.lg\\:p-8{padding:2rem}.lg\\:p-9{padding:2.25rem}.lg\\:p-10{padding:2.5rem}.lg\\:p-11{padding:2.75rem}.lg\\:p-12{padding:3rem}.lg\\:p-14{padding:3.5rem}.lg\\:p-16{padding:4rem}.lg\\:p-20{padding:5rem}.lg\\:p-24{padding:6rem}.lg\\:p-28{padding:7rem}.lg\\:p-32{padding:8rem}.lg\\:p-36{padding:9rem}.lg\\:p-40{padding:10rem}.lg\\:p-44{padding:11rem}.lg\\:p-48{padding:12rem}.lg\\:p-52{padding:13rem}.lg\\:p-56{padding:14rem}.lg\\:p-60{padding:15rem}.lg\\:p-64{padding:16rem}.lg\\:p-72{padding:18rem}.lg\\:p-80{padding:20rem}.lg\\:p-96{padding:24rem}.lg\\:p-px{padding:1px}.lg\\:p-0\\.5{padding:0.125rem}.lg\\:p-1\\.5{padding:0.375rem}.lg\\:p-2\\.5{padding:0.625rem}.lg\\:p-3\\.5{padding:0.875rem}.lg\\:px-0{padding-left:0px;padding-right:0px}.lg\\:px-1{padding-left:0.25rem;padding-right:0.25rem}.lg\\:px-2{padding-left:0.5rem;padding-right:0.5rem}.lg\\:px-3{padding-left:0.75rem;padding-right:0.75rem}.lg\\:px-4{padding-left:1rem;padding-right:1rem}.lg\\:px-5{padding-left:1.25rem;padding-right:1.25rem}.lg\\:px-6{padding-left:1.5rem;padding-right:1.5rem}.lg\\:px-7{padding-left:1.75rem;padding-right:1.75rem}.lg\\:px-8{padding-left:2rem;padding-right:2rem}.lg\\:px-9{padding-left:2.25rem;padding-right:2.25rem}.lg\\:px-10{padding-left:2.5rem;padding-right:2.5rem}.lg\\:px-11{padding-left:2.75rem;padding-right:2.75rem}.lg\\:px-12{padding-left:3rem;padding-right:3rem}.lg\\:px-14{padding-left:3.5rem;padding-right:3.5rem}.lg\\:px-16{padding-left:4rem;padding-right:4rem}.lg\\:px-20{padding-left:5rem;padding-right:5rem}.lg\\:px-24{padding-left:6rem;padding-right:6rem}.lg\\:px-28{padding-left:7rem;padding-right:7rem}.lg\\:px-32{padding-left:8rem;padding-right:8rem}.lg\\:px-36{padding-left:9rem;padding-right:9rem}.lg\\:px-40{padding-left:10rem;padding-right:10rem}.lg\\:px-44{padding-left:11rem;padding-right:11rem}.lg\\:px-48{padding-left:12rem;padding-right:12rem}.lg\\:px-52{padding-left:13rem;padding-right:13rem}.lg\\:px-56{padding-left:14rem;padding-right:14rem}.lg\\:px-60{padding-left:15rem;padding-right:15rem}.lg\\:px-64{padding-left:16rem;padding-right:16rem}.lg\\:px-72{padding-left:18rem;padding-right:18rem}.lg\\:px-80{padding-left:20rem;padding-right:20rem}.lg\\:px-96{padding-left:24rem;padding-right:24rem}.lg\\:px-px{padding-left:1px;padding-right:1px}.lg\\:px-0\\.5{padding-left:0.125rem;padding-right:0.125rem}.lg\\:px-1\\.5{padding-left:0.375rem;padding-right:0.375rem}.lg\\:px-2\\.5{padding-left:0.625rem;padding-right:0.625rem}.lg\\:px-3\\.5{padding-left:0.875rem;padding-right:0.875rem}.lg\\:py-0{padding-top:0px;padding-bottom:0px}.lg\\:py-1{padding-top:0.25rem;padding-bottom:0.25rem}.lg\\:py-2{padding-top:0.5rem;padding-bottom:0.5rem}.lg\\:py-3{padding-top:0.75rem;padding-bottom:0.75rem}.lg\\:py-4{padding-top:1rem;padding-bottom:1rem}.lg\\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.lg\\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.lg\\:py-7{padding-top:1.75rem;padding-bottom:1.75rem}.lg\\:py-8{padding-top:2rem;padding-bottom:2rem}.lg\\:py-9{padding-top:2.25rem;padding-bottom:2.25rem}.lg\\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.lg\\:py-11{padding-top:2.75rem;padding-bottom:2.75rem}.lg\\:py-12{padding-top:3rem;padding-bottom:3rem}.lg\\:py-14{padding-top:3.5rem;padding-bottom:3.5rem}.lg\\:py-16{padding-top:4rem;padding-bottom:4rem}.lg\\:py-20{padding-top:5rem;padding-bottom:5rem}.lg\\:py-24{padding-top:6rem;padding-bottom:6rem}.lg\\:py-28{padding-top:7rem;padding-bottom:7rem}.lg\\:py-32{padding-top:8rem;padding-bottom:8rem}.lg\\:py-36{padding-top:9rem;padding-bottom:9rem}.lg\\:py-40{padding-top:10rem;padding-bottom:10rem}.lg\\:py-44{padding-top:11rem;padding-bottom:11rem}.lg\\:py-48{padding-top:12rem;padding-bottom:12rem}.lg\\:py-52{padding-top:13rem;padding-bottom:13rem}.lg\\:py-56{padding-top:14rem;padding-bottom:14rem}.lg\\:py-60{padding-top:15rem;padding-bottom:15rem}.lg\\:py-64{padding-top:16rem;padding-bottom:16rem}.lg\\:py-72{padding-top:18rem;padding-bottom:18rem}.lg\\:py-80{padding-top:20rem;padding-bottom:20rem}.lg\\:py-96{padding-top:24rem;padding-bottom:24rem}.lg\\:py-px{padding-top:1px;padding-bottom:1px}.lg\\:py-0\\.5{padding-top:0.125rem;padding-bottom:0.125rem}.lg\\:py-1\\.5{padding-top:0.375rem;padding-bottom:0.375rem}.lg\\:py-2\\.5{padding-top:0.625rem;padding-bottom:0.625rem}.lg\\:py-3\\.5{padding-top:0.875rem;padding-bottom:0.875rem}.lg\\:pt-0{padding-top:0px}.lg\\:pt-1{padding-top:0.25rem}.lg\\:pt-2{padding-top:0.5rem}.lg\\:pt-3{padding-top:0.75rem}.lg\\:pt-4{padding-top:1rem}.lg\\:pt-5{padding-top:1.25rem}.lg\\:pt-6{padding-top:1.5rem}.lg\\:pt-7{padding-top:1.75rem}.lg\\:pt-8{padding-top:2rem}.lg\\:pt-9{padding-top:2.25rem}.lg\\:pt-10{padding-top:2.5rem}.lg\\:pt-11{padding-top:2.75rem}.lg\\:pt-12{padding-top:3rem}.lg\\:pt-14{padding-top:3.5rem}.lg\\:pt-16{padding-top:4rem}.lg\\:pt-20{padding-top:5rem}.lg\\:pt-24{padding-top:6rem}.lg\\:pt-28{padding-top:7rem}.lg\\:pt-32{padding-top:8rem}.lg\\:pt-36{padding-top:9rem}.lg\\:pt-40{padding-top:10rem}.lg\\:pt-44{padding-top:11rem}.lg\\:pt-48{padding-top:12rem}.lg\\:pt-52{padding-top:13rem}.lg\\:pt-56{padding-top:14rem}.lg\\:pt-60{padding-top:15rem}.lg\\:pt-64{padding-top:16rem}.lg\\:pt-72{padding-top:18rem}.lg\\:pt-80{padding-top:20rem}.lg\\:pt-96{padding-top:24rem}.lg\\:pt-px{padding-top:1px}.lg\\:pt-0\\.5{padding-top:0.125rem}.lg\\:pt-1\\.5{padding-top:0.375rem}.lg\\:pt-2\\.5{padding-top:0.625rem}.lg\\:pt-3\\.5{padding-top:0.875rem}.lg\\:pr-0{padding-right:0px}.lg\\:pr-1{padding-right:0.25rem}.lg\\:pr-2{padding-right:0.5rem}.lg\\:pr-3{padding-right:0.75rem}.lg\\:pr-4{padding-right:1rem}.lg\\:pr-5{padding-right:1.25rem}.lg\\:pr-6{padding-right:1.5rem}.lg\\:pr-7{padding-right:1.75rem}.lg\\:pr-8{padding-right:2rem}.lg\\:pr-9{padding-right:2.25rem}.lg\\:pr-10{padding-right:2.5rem}.lg\\:pr-11{padding-right:2.75rem}.lg\\:pr-12{padding-right:3rem}.lg\\:pr-14{padding-right:3.5rem}.lg\\:pr-16{padding-right:4rem}.lg\\:pr-20{padding-right:5rem}.lg\\:pr-24{padding-right:6rem}.lg\\:pr-28{padding-right:7rem}.lg\\:pr-32{padding-right:8rem}.lg\\:pr-36{padding-right:9rem}.lg\\:pr-40{padding-right:10rem}.lg\\:pr-44{padding-right:11rem}.lg\\:pr-48{padding-right:12rem}.lg\\:pr-52{padding-right:13rem}.lg\\:pr-56{padding-right:14rem}.lg\\:pr-60{padding-right:15rem}.lg\\:pr-64{padding-right:16rem}.lg\\:pr-72{padding-right:18rem}.lg\\:pr-80{padding-right:20rem}.lg\\:pr-96{padding-right:24rem}.lg\\:pr-px{padding-right:1px}.lg\\:pr-0\\.5{padding-right:0.125rem}.lg\\:pr-1\\.5{padding-right:0.375rem}.lg\\:pr-2\\.5{padding-right:0.625rem}.lg\\:pr-3\\.5{padding-right:0.875rem}.lg\\:pb-0{padding-bottom:0px}.lg\\:pb-1{padding-bottom:0.25rem}.lg\\:pb-2{padding-bottom:0.5rem}.lg\\:pb-3{padding-bottom:0.75rem}.lg\\:pb-4{padding-bottom:1rem}.lg\\:pb-5{padding-bottom:1.25rem}.lg\\:pb-6{padding-bottom:1.5rem}.lg\\:pb-7{padding-bottom:1.75rem}.lg\\:pb-8{padding-bottom:2rem}.lg\\:pb-9{padding-bottom:2.25rem}.lg\\:pb-10{padding-bottom:2.5rem}.lg\\:pb-11{padding-bottom:2.75rem}.lg\\:pb-12{padding-bottom:3rem}.lg\\:pb-14{padding-bottom:3.5rem}.lg\\:pb-16{padding-bottom:4rem}.lg\\:pb-20{padding-bottom:5rem}.lg\\:pb-24{padding-bottom:6rem}.lg\\:pb-28{padding-bottom:7rem}.lg\\:pb-32{padding-bottom:8rem}.lg\\:pb-36{padding-bottom:9rem}.lg\\:pb-40{padding-bottom:10rem}.lg\\:pb-44{padding-bottom:11rem}.lg\\:pb-48{padding-bottom:12rem}.lg\\:pb-52{padding-bottom:13rem}.lg\\:pb-56{padding-bottom:14rem}.lg\\:pb-60{padding-bottom:15rem}.lg\\:pb-64{padding-bottom:16rem}.lg\\:pb-72{padding-bottom:18rem}.lg\\:pb-80{padding-bottom:20rem}.lg\\:pb-96{padding-bottom:24rem}.lg\\:pb-px{padding-bottom:1px}.lg\\:pb-0\\.5{padding-bottom:0.125rem}.lg\\:pb-1\\.5{padding-bottom:0.375rem}.lg\\:pb-2\\.5{padding-bottom:0.625rem}.lg\\:pb-3\\.5{padding-bottom:0.875rem}.lg\\:pl-0{padding-left:0px}.lg\\:pl-1{padding-left:0.25rem}.lg\\:pl-2{padding-left:0.5rem}.lg\\:pl-3{padding-left:0.75rem}.lg\\:pl-4{padding-left:1rem}.lg\\:pl-5{padding-left:1.25rem}.lg\\:pl-6{padding-left:1.5rem}.lg\\:pl-7{padding-left:1.75rem}.lg\\:pl-8{padding-left:2rem}.lg\\:pl-9{padding-left:2.25rem}.lg\\:pl-10{padding-left:2.5rem}.lg\\:pl-11{padding-left:2.75rem}.lg\\:pl-12{padding-left:3rem}.lg\\:pl-14{padding-left:3.5rem}.lg\\:pl-16{padding-left:4rem}.lg\\:pl-20{padding-left:5rem}.lg\\:pl-24{padding-left:6rem}.lg\\:pl-28{padding-left:7rem}.lg\\:pl-32{padding-left:8rem}.lg\\:pl-36{padding-left:9rem}.lg\\:pl-40{padding-left:10rem}.lg\\:pl-44{padding-left:11rem}.lg\\:pl-48{padding-left:12rem}.lg\\:pl-52{padding-left:13rem}.lg\\:pl-56{padding-left:14rem}.lg\\:pl-60{padding-left:15rem}.lg\\:pl-64{padding-left:16rem}.lg\\:pl-72{padding-left:18rem}.lg\\:pl-80{padding-left:20rem}.lg\\:pl-96{padding-left:24rem}.lg\\:pl-px{padding-left:1px}.lg\\:pl-0\\.5{padding-left:0.125rem}.lg\\:pl-1\\.5{padding-left:0.375rem}.lg\\:pl-2\\.5{padding-left:0.625rem}.lg\\:pl-3\\.5{padding-left:0.875rem}.lg\\:text-left{text-align:left}.lg\\:text-center{text-align:center}.lg\\:text-right{text-align:right}.lg\\:text-justify{text-align:justify}.lg\\:align-baseline{vertical-align:baseline}.lg\\:align-top{vertical-align:top}.lg\\:align-middle{vertical-align:middle}.lg\\:align-bottom{vertical-align:bottom}.lg\\:align-text-top{vertical-align:text-top}.lg\\:align-text-bottom{vertical-align:text-bottom}.lg\\:font-sans{font-family:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"}.lg\\:font-serif{font-family:ui-serif, Georgia, Cambria, \"Times New Roman\", Times, serif}.lg\\:font-mono{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace}.lg\\:text-xs{font-size:0.75rem;line-height:1rem}.lg\\:text-sm{font-size:0.875rem;line-height:1.25rem}.lg\\:text-base{font-size:1rem;line-height:1.5rem}.lg\\:text-lg{font-size:1.125rem;line-height:1.75rem}.lg\\:text-xl{font-size:1.25rem;line-height:1.75rem}.lg\\:text-2xl{font-size:1.5rem;line-height:2rem}.lg\\:text-3xl{font-size:1.875rem;line-height:2.25rem}.lg\\:text-4xl{font-size:2.25rem;line-height:2.5rem}.lg\\:text-5xl{font-size:3rem;line-height:1}.lg\\:text-6xl{font-size:3.75rem;line-height:1}.lg\\:text-7xl{font-size:4.5rem;line-height:1}.lg\\:text-8xl{font-size:6rem;line-height:1}.lg\\:text-9xl{font-size:8rem;line-height:1}.lg\\:font-thin{font-weight:100}.lg\\:font-extralight{font-weight:200}.lg\\:font-light{font-weight:300}.lg\\:font-normal{font-weight:400}.lg\\:font-medium{font-weight:500}.lg\\:font-semibold{font-weight:600}.lg\\:font-bold{font-weight:700}.lg\\:font-extrabold{font-weight:800}.lg\\:font-black{font-weight:900}.lg\\:uppercase{text-transform:uppercase}.lg\\:lowercase{text-transform:lowercase}.lg\\:capitalize{text-transform:capitalize}.lg\\:normal-case{text-transform:none}.lg\\:italic{font-style:italic}.lg\\:not-italic{font-style:normal}.lg\\:ordinal,.lg\\:slashed-zero,.lg\\:lining-nums,.lg\\:oldstyle-nums,.lg\\:proportional-nums,.lg\\:tabular-nums,.lg\\:diagonal-fractions,.lg\\:stacked-fractions{--tw-ordinal:var(--tw-empty,/*!*/ /*!*/);--tw-slashed-zero:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-figure:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-spacing:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-fraction:var(--tw-empty,/*!*/ /*!*/);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.lg\\:normal-nums{font-variant-numeric:normal}.lg\\:ordinal{--tw-ordinal:ordinal}.lg\\:slashed-zero{--tw-slashed-zero:slashed-zero}.lg\\:lining-nums{--tw-numeric-figure:lining-nums}.lg\\:oldstyle-nums{--tw-numeric-figure:oldstyle-nums}.lg\\:proportional-nums{--tw-numeric-spacing:proportional-nums}.lg\\:tabular-nums{--tw-numeric-spacing:tabular-nums}.lg\\:diagonal-fractions{--tw-numeric-fraction:diagonal-fractions}.lg\\:stacked-fractions{--tw-numeric-fraction:stacked-fractions}.lg\\:leading-3{line-height:.75rem}.lg\\:leading-4{line-height:1rem}.lg\\:leading-5{line-height:1.25rem}.lg\\:leading-6{line-height:1.5rem}.lg\\:leading-7{line-height:1.75rem}.lg\\:leading-8{line-height:2rem}.lg\\:leading-9{line-height:2.25rem}.lg\\:leading-10{line-height:2.5rem}.lg\\:leading-none{line-height:1}.lg\\:leading-tight{line-height:1.25}.lg\\:leading-snug{line-height:1.375}.lg\\:leading-normal{line-height:1.5}.lg\\:leading-relaxed{line-height:1.625}.lg\\:leading-loose{line-height:2}.lg\\:tracking-tighter{letter-spacing:-0.05em}.lg\\:tracking-tight{letter-spacing:-0.025em}.lg\\:tracking-normal{letter-spacing:0em}.lg\\:tracking-wide{letter-spacing:0.025em}.lg\\:tracking-wider{letter-spacing:0.05em}.lg\\:tracking-widest{letter-spacing:0.1em}.lg\\:text-transparent{color:transparent}.lg\\:text-current{color:currentColor}.lg\\:text-white{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.lg\\:text-lightgrey{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.lg\\:text-midgrey{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.lg\\:text-darkgrey{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.lg\\:text-grey{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.lg\\:text-black{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.lg\\:text-highlight{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.lg\\:text-highlight_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.lg\\:text-button_outline{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.lg\\:text-error{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.lg\\:text-text-light{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.lg\\:text-text-dimmed{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.lg\\:text-text-dark{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.lg\\:text-body-light{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.lg\\:text-body-dark{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.lg\\:text-button{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.lg\\:text-button_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.group:hover .lg\\:group-hover\\:text-transparent{color:transparent}.group:hover .lg\\:group-hover\\:text-current{color:currentColor}.group:hover .lg\\:group-hover\\:text-white{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .lg\\:group-hover\\:text-lightgrey{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.group:hover .lg\\:group-hover\\:text-midgrey{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .lg\\:group-hover\\:text-darkgrey{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.group:hover .lg\\:group-hover\\:text-grey{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.group:hover .lg\\:group-hover\\:text-black{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.group:hover .lg\\:group-hover\\:text-highlight{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.group:hover .lg\\:group-hover\\:text-highlight_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.group:hover .lg\\:group-hover\\:text-button_outline{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .lg\\:group-hover\\:text-error{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.group:hover .lg\\:group-hover\\:text-text-light{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.group:hover .lg\\:group-hover\\:text-text-dimmed{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .lg\\:group-hover\\:text-text-dark{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .lg\\:group-hover\\:text-body-light{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .lg\\:group-hover\\:text-body-dark{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.group:hover .lg\\:group-hover\\:text-button{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.group:hover .lg\\:group-hover\\:text-button_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.lg\\:focus-within\\:text-transparent:focus-within{color:transparent}.lg\\:focus-within\\:text-current:focus-within{color:currentColor}.lg\\:focus-within\\:text-white:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.lg\\:focus-within\\:text-lightgrey:focus-within{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.lg\\:focus-within\\:text-midgrey:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.lg\\:focus-within\\:text-darkgrey:focus-within{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.lg\\:focus-within\\:text-grey:focus-within{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.lg\\:focus-within\\:text-black:focus-within{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.lg\\:focus-within\\:text-highlight:focus-within{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.lg\\:focus-within\\:text-highlight_hover:focus-within{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.lg\\:focus-within\\:text-button_outline:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.lg\\:focus-within\\:text-error:focus-within{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.lg\\:focus-within\\:text-text-light:focus-within{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.lg\\:focus-within\\:text-text-dimmed:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.lg\\:focus-within\\:text-text-dark:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.lg\\:focus-within\\:text-body-light:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.lg\\:focus-within\\:text-body-dark:focus-within{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.lg\\:focus-within\\:text-button:focus-within{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.lg\\:focus-within\\:text-button_hover:focus-within{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.lg\\:hover\\:text-transparent:hover{color:transparent}.lg\\:hover\\:text-current:hover{color:currentColor}.lg\\:hover\\:text-white:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.lg\\:hover\\:text-lightgrey:hover{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.lg\\:hover\\:text-midgrey:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.lg\\:hover\\:text-darkgrey:hover{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.lg\\:hover\\:text-grey:hover{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.lg\\:hover\\:text-black:hover{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.lg\\:hover\\:text-highlight:hover{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.lg\\:hover\\:text-highlight_hover:hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.lg\\:hover\\:text-button_outline:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.lg\\:hover\\:text-error:hover{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.lg\\:hover\\:text-text-light:hover{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.lg\\:hover\\:text-text-dimmed:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.lg\\:hover\\:text-text-dark:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.lg\\:hover\\:text-body-light:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.lg\\:hover\\:text-body-dark:hover{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.lg\\:hover\\:text-button:hover{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.lg\\:hover\\:text-button_hover:hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.lg\\:focus\\:text-transparent:focus{color:transparent}.lg\\:focus\\:text-current:focus{color:currentColor}.lg\\:focus\\:text-white:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.lg\\:focus\\:text-lightgrey:focus{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.lg\\:focus\\:text-midgrey:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.lg\\:focus\\:text-darkgrey:focus{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.lg\\:focus\\:text-grey:focus{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.lg\\:focus\\:text-black:focus{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.lg\\:focus\\:text-highlight:focus{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.lg\\:focus\\:text-highlight_hover:focus{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.lg\\:focus\\:text-button_outline:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.lg\\:focus\\:text-error:focus{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.lg\\:focus\\:text-text-light:focus{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.lg\\:focus\\:text-text-dimmed:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.lg\\:focus\\:text-text-dark:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.lg\\:focus\\:text-body-light:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.lg\\:focus\\:text-body-dark:focus{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.lg\\:focus\\:text-button:focus{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.lg\\:focus\\:text-button_hover:focus{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}@media(prefers-color-scheme: dark){.lg\\:dark\\:text-transparent{color:transparent}.lg\\:dark\\:text-current{color:currentColor}.lg\\:dark\\:text-white{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.lg\\:dark\\:text-lightgrey{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.lg\\:dark\\:text-midgrey{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.lg\\:dark\\:text-darkgrey{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.lg\\:dark\\:text-grey{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.lg\\:dark\\:text-black{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.lg\\:dark\\:text-highlight{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.lg\\:dark\\:text-highlight_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.lg\\:dark\\:text-button_outline{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.lg\\:dark\\:text-error{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.lg\\:dark\\:text-text-light{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.lg\\:dark\\:text-text-dimmed{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.lg\\:dark\\:text-text-dark{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.lg\\:dark\\:text-body-light{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.lg\\:dark\\:text-body-dark{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.lg\\:dark\\:text-button{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.lg\\:dark\\:text-button_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.group:hover .lg\\:dark\\:group-hover\\:text-transparent{color:transparent}.group:hover .lg\\:dark\\:group-hover\\:text-current{color:currentColor}.group:hover .lg\\:dark\\:group-hover\\:text-white{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .lg\\:dark\\:group-hover\\:text-lightgrey{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.group:hover .lg\\:dark\\:group-hover\\:text-midgrey{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .lg\\:dark\\:group-hover\\:text-darkgrey{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.group:hover .lg\\:dark\\:group-hover\\:text-grey{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.group:hover .lg\\:dark\\:group-hover\\:text-black{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.group:hover .lg\\:dark\\:group-hover\\:text-highlight{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.group:hover .lg\\:dark\\:group-hover\\:text-highlight_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.group:hover .lg\\:dark\\:group-hover\\:text-button_outline{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .lg\\:dark\\:group-hover\\:text-error{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.group:hover .lg\\:dark\\:group-hover\\:text-text-light{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.group:hover .lg\\:dark\\:group-hover\\:text-text-dimmed{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .lg\\:dark\\:group-hover\\:text-text-dark{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .lg\\:dark\\:group-hover\\:text-body-light{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .lg\\:dark\\:group-hover\\:text-body-dark{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.group:hover .lg\\:dark\\:group-hover\\:text-button{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.group:hover .lg\\:dark\\:group-hover\\:text-button_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.lg\\:dark\\:focus-within\\:text-transparent:focus-within{color:transparent}.lg\\:dark\\:focus-within\\:text-current:focus-within{color:currentColor}.lg\\:dark\\:focus-within\\:text-white:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.lg\\:dark\\:focus-within\\:text-lightgrey:focus-within{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.lg\\:dark\\:focus-within\\:text-midgrey:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.lg\\:dark\\:focus-within\\:text-darkgrey:focus-within{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.lg\\:dark\\:focus-within\\:text-grey:focus-within{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.lg\\:dark\\:focus-within\\:text-black:focus-within{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.lg\\:dark\\:focus-within\\:text-highlight:focus-within{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.lg\\:dark\\:focus-within\\:text-highlight_hover:focus-within{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.lg\\:dark\\:focus-within\\:text-button_outline:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.lg\\:dark\\:focus-within\\:text-error:focus-within{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.lg\\:dark\\:focus-within\\:text-text-light:focus-within{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.lg\\:dark\\:focus-within\\:text-text-dimmed:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.lg\\:dark\\:focus-within\\:text-text-dark:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.lg\\:dark\\:focus-within\\:text-body-light:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.lg\\:dark\\:focus-within\\:text-body-dark:focus-within{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.lg\\:dark\\:focus-within\\:text-button:focus-within{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.lg\\:dark\\:focus-within\\:text-button_hover:focus-within{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.lg\\:dark\\:hover\\:text-transparent:hover{color:transparent}.lg\\:dark\\:hover\\:text-current:hover{color:currentColor}.lg\\:dark\\:hover\\:text-white:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.lg\\:dark\\:hover\\:text-lightgrey:hover{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.lg\\:dark\\:hover\\:text-midgrey:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.lg\\:dark\\:hover\\:text-darkgrey:hover{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.lg\\:dark\\:hover\\:text-grey:hover{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.lg\\:dark\\:hover\\:text-black:hover{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.lg\\:dark\\:hover\\:text-highlight:hover{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.lg\\:dark\\:hover\\:text-highlight_hover:hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.lg\\:dark\\:hover\\:text-button_outline:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.lg\\:dark\\:hover\\:text-error:hover{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.lg\\:dark\\:hover\\:text-text-light:hover{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.lg\\:dark\\:hover\\:text-text-dimmed:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.lg\\:dark\\:hover\\:text-text-dark:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.lg\\:dark\\:hover\\:text-body-light:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.lg\\:dark\\:hover\\:text-body-dark:hover{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.lg\\:dark\\:hover\\:text-button:hover{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.lg\\:dark\\:hover\\:text-button_hover:hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.lg\\:dark\\:focus\\:text-transparent:focus{color:transparent}.lg\\:dark\\:focus\\:text-current:focus{color:currentColor}.lg\\:dark\\:focus\\:text-white:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.lg\\:dark\\:focus\\:text-lightgrey:focus{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.lg\\:dark\\:focus\\:text-midgrey:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.lg\\:dark\\:focus\\:text-darkgrey:focus{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.lg\\:dark\\:focus\\:text-grey:focus{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.lg\\:dark\\:focus\\:text-black:focus{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.lg\\:dark\\:focus\\:text-highlight:focus{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.lg\\:dark\\:focus\\:text-highlight_hover:focus{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.lg\\:dark\\:focus\\:text-button_outline:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.lg\\:dark\\:focus\\:text-error:focus{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.lg\\:dark\\:focus\\:text-text-light:focus{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.lg\\:dark\\:focus\\:text-text-dimmed:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.lg\\:dark\\:focus\\:text-text-dark:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.lg\\:dark\\:focus\\:text-body-light:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.lg\\:dark\\:focus\\:text-body-dark:focus{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.lg\\:dark\\:focus\\:text-button:focus{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.lg\\:dark\\:focus\\:text-button_hover:focus{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}}.lg\\:text-opacity-0{--tw-text-opacity:0}.lg\\:text-opacity-5{--tw-text-opacity:0.05}.lg\\:text-opacity-10{--tw-text-opacity:0.1}.lg\\:text-opacity-20{--tw-text-opacity:0.2}.lg\\:text-opacity-25{--tw-text-opacity:0.25}.lg\\:text-opacity-30{--tw-text-opacity:0.3}.lg\\:text-opacity-40{--tw-text-opacity:0.4}.lg\\:text-opacity-50{--tw-text-opacity:0.5}.lg\\:text-opacity-60{--tw-text-opacity:0.6}.lg\\:text-opacity-70{--tw-text-opacity:0.7}.lg\\:text-opacity-75{--tw-text-opacity:0.75}.lg\\:text-opacity-80{--tw-text-opacity:0.8}.lg\\:text-opacity-90{--tw-text-opacity:0.9}.lg\\:text-opacity-95{--tw-text-opacity:0.95}.lg\\:text-opacity-100{--tw-text-opacity:1}.group:hover .lg\\:group-hover\\:text-opacity-0{--tw-text-opacity:0}.group:hover .lg\\:group-hover\\:text-opacity-5{--tw-text-opacity:0.05}.group:hover .lg\\:group-hover\\:text-opacity-10{--tw-text-opacity:0.1}.group:hover .lg\\:group-hover\\:text-opacity-20{--tw-text-opacity:0.2}.group:hover .lg\\:group-hover\\:text-opacity-25{--tw-text-opacity:0.25}.group:hover .lg\\:group-hover\\:text-opacity-30{--tw-text-opacity:0.3}.group:hover .lg\\:group-hover\\:text-opacity-40{--tw-text-opacity:0.4}.group:hover .lg\\:group-hover\\:text-opacity-50{--tw-text-opacity:0.5}.group:hover .lg\\:group-hover\\:text-opacity-60{--tw-text-opacity:0.6}.group:hover .lg\\:group-hover\\:text-opacity-70{--tw-text-opacity:0.7}.group:hover .lg\\:group-hover\\:text-opacity-75{--tw-text-opacity:0.75}.group:hover .lg\\:group-hover\\:text-opacity-80{--tw-text-opacity:0.8}.group:hover .lg\\:group-hover\\:text-opacity-90{--tw-text-opacity:0.9}.group:hover .lg\\:group-hover\\:text-opacity-95{--tw-text-opacity:0.95}.group:hover .lg\\:group-hover\\:text-opacity-100{--tw-text-opacity:1}.lg\\:focus-within\\:text-opacity-0:focus-within{--tw-text-opacity:0}.lg\\:focus-within\\:text-opacity-5:focus-within{--tw-text-opacity:0.05}.lg\\:focus-within\\:text-opacity-10:focus-within{--tw-text-opacity:0.1}.lg\\:focus-within\\:text-opacity-20:focus-within{--tw-text-opacity:0.2}.lg\\:focus-within\\:text-opacity-25:focus-within{--tw-text-opacity:0.25}.lg\\:focus-within\\:text-opacity-30:focus-within{--tw-text-opacity:0.3}.lg\\:focus-within\\:text-opacity-40:focus-within{--tw-text-opacity:0.4}.lg\\:focus-within\\:text-opacity-50:focus-within{--tw-text-opacity:0.5}.lg\\:focus-within\\:text-opacity-60:focus-within{--tw-text-opacity:0.6}.lg\\:focus-within\\:text-opacity-70:focus-within{--tw-text-opacity:0.7}.lg\\:focus-within\\:text-opacity-75:focus-within{--tw-text-opacity:0.75}.lg\\:focus-within\\:text-opacity-80:focus-within{--tw-text-opacity:0.8}.lg\\:focus-within\\:text-opacity-90:focus-within{--tw-text-opacity:0.9}.lg\\:focus-within\\:text-opacity-95:focus-within{--tw-text-opacity:0.95}.lg\\:focus-within\\:text-opacity-100:focus-within{--tw-text-opacity:1}.lg\\:hover\\:text-opacity-0:hover{--tw-text-opacity:0}.lg\\:hover\\:text-opacity-5:hover{--tw-text-opacity:0.05}.lg\\:hover\\:text-opacity-10:hover{--tw-text-opacity:0.1}.lg\\:hover\\:text-opacity-20:hover{--tw-text-opacity:0.2}.lg\\:hover\\:text-opacity-25:hover{--tw-text-opacity:0.25}.lg\\:hover\\:text-opacity-30:hover{--tw-text-opacity:0.3}.lg\\:hover\\:text-opacity-40:hover{--tw-text-opacity:0.4}.lg\\:hover\\:text-opacity-50:hover{--tw-text-opacity:0.5}.lg\\:hover\\:text-opacity-60:hover{--tw-text-opacity:0.6}.lg\\:hover\\:text-opacity-70:hover{--tw-text-opacity:0.7}.lg\\:hover\\:text-opacity-75:hover{--tw-text-opacity:0.75}.lg\\:hover\\:text-opacity-80:hover{--tw-text-opacity:0.8}.lg\\:hover\\:text-opacity-90:hover{--tw-text-opacity:0.9}.lg\\:hover\\:text-opacity-95:hover{--tw-text-opacity:0.95}.lg\\:hover\\:text-opacity-100:hover{--tw-text-opacity:1}.lg\\:focus\\:text-opacity-0:focus{--tw-text-opacity:0}.lg\\:focus\\:text-opacity-5:focus{--tw-text-opacity:0.05}.lg\\:focus\\:text-opacity-10:focus{--tw-text-opacity:0.1}.lg\\:focus\\:text-opacity-20:focus{--tw-text-opacity:0.2}.lg\\:focus\\:text-opacity-25:focus{--tw-text-opacity:0.25}.lg\\:focus\\:text-opacity-30:focus{--tw-text-opacity:0.3}.lg\\:focus\\:text-opacity-40:focus{--tw-text-opacity:0.4}.lg\\:focus\\:text-opacity-50:focus{--tw-text-opacity:0.5}.lg\\:focus\\:text-opacity-60:focus{--tw-text-opacity:0.6}.lg\\:focus\\:text-opacity-70:focus{--tw-text-opacity:0.7}.lg\\:focus\\:text-opacity-75:focus{--tw-text-opacity:0.75}.lg\\:focus\\:text-opacity-80:focus{--tw-text-opacity:0.8}.lg\\:focus\\:text-opacity-90:focus{--tw-text-opacity:0.9}.lg\\:focus\\:text-opacity-95:focus{--tw-text-opacity:0.95}.lg\\:focus\\:text-opacity-100:focus{--tw-text-opacity:1}@media(prefers-color-scheme: dark){.lg\\:dark\\:text-opacity-0{--tw-text-opacity:0}.lg\\:dark\\:text-opacity-5{--tw-text-opacity:0.05}.lg\\:dark\\:text-opacity-10{--tw-text-opacity:0.1}.lg\\:dark\\:text-opacity-20{--tw-text-opacity:0.2}.lg\\:dark\\:text-opacity-25{--tw-text-opacity:0.25}.lg\\:dark\\:text-opacity-30{--tw-text-opacity:0.3}.lg\\:dark\\:text-opacity-40{--tw-text-opacity:0.4}.lg\\:dark\\:text-opacity-50{--tw-text-opacity:0.5}.lg\\:dark\\:text-opacity-60{--tw-text-opacity:0.6}.lg\\:dark\\:text-opacity-70{--tw-text-opacity:0.7}.lg\\:dark\\:text-opacity-75{--tw-text-opacity:0.75}.lg\\:dark\\:text-opacity-80{--tw-text-opacity:0.8}.lg\\:dark\\:text-opacity-90{--tw-text-opacity:0.9}.lg\\:dark\\:text-opacity-95{--tw-text-opacity:0.95}.lg\\:dark\\:text-opacity-100{--tw-text-opacity:1}.group:hover .lg\\:dark\\:group-hover\\:text-opacity-0{--tw-text-opacity:0}.group:hover .lg\\:dark\\:group-hover\\:text-opacity-5{--tw-text-opacity:0.05}.group:hover .lg\\:dark\\:group-hover\\:text-opacity-10{--tw-text-opacity:0.1}.group:hover .lg\\:dark\\:group-hover\\:text-opacity-20{--tw-text-opacity:0.2}.group:hover .lg\\:dark\\:group-hover\\:text-opacity-25{--tw-text-opacity:0.25}.group:hover .lg\\:dark\\:group-hover\\:text-opacity-30{--tw-text-opacity:0.3}.group:hover .lg\\:dark\\:group-hover\\:text-opacity-40{--tw-text-opacity:0.4}.group:hover .lg\\:dark\\:group-hover\\:text-opacity-50{--tw-text-opacity:0.5}.group:hover .lg\\:dark\\:group-hover\\:text-opacity-60{--tw-text-opacity:0.6}.group:hover .lg\\:dark\\:group-hover\\:text-opacity-70{--tw-text-opacity:0.7}.group:hover .lg\\:dark\\:group-hover\\:text-opacity-75{--tw-text-opacity:0.75}.group:hover .lg\\:dark\\:group-hover\\:text-opacity-80{--tw-text-opacity:0.8}.group:hover .lg\\:dark\\:group-hover\\:text-opacity-90{--tw-text-opacity:0.9}.group:hover .lg\\:dark\\:group-hover\\:text-opacity-95{--tw-text-opacity:0.95}.group:hover .lg\\:dark\\:group-hover\\:text-opacity-100{--tw-text-opacity:1}.lg\\:dark\\:focus-within\\:text-opacity-0:focus-within{--tw-text-opacity:0}.lg\\:dark\\:focus-within\\:text-opacity-5:focus-within{--tw-text-opacity:0.05}.lg\\:dark\\:focus-within\\:text-opacity-10:focus-within{--tw-text-opacity:0.1}.lg\\:dark\\:focus-within\\:text-opacity-20:focus-within{--tw-text-opacity:0.2}.lg\\:dark\\:focus-within\\:text-opacity-25:focus-within{--tw-text-opacity:0.25}.lg\\:dark\\:focus-within\\:text-opacity-30:focus-within{--tw-text-opacity:0.3}.lg\\:dark\\:focus-within\\:text-opacity-40:focus-within{--tw-text-opacity:0.4}.lg\\:dark\\:focus-within\\:text-opacity-50:focus-within{--tw-text-opacity:0.5}.lg\\:dark\\:focus-within\\:text-opacity-60:focus-within{--tw-text-opacity:0.6}.lg\\:dark\\:focus-within\\:text-opacity-70:focus-within{--tw-text-opacity:0.7}.lg\\:dark\\:focus-within\\:text-opacity-75:focus-within{--tw-text-opacity:0.75}.lg\\:dark\\:focus-within\\:text-opacity-80:focus-within{--tw-text-opacity:0.8}.lg\\:dark\\:focus-within\\:text-opacity-90:focus-within{--tw-text-opacity:0.9}.lg\\:dark\\:focus-within\\:text-opacity-95:focus-within{--tw-text-opacity:0.95}.lg\\:dark\\:focus-within\\:text-opacity-100:focus-within{--tw-text-opacity:1}.lg\\:dark\\:hover\\:text-opacity-0:hover{--tw-text-opacity:0}.lg\\:dark\\:hover\\:text-opacity-5:hover{--tw-text-opacity:0.05}.lg\\:dark\\:hover\\:text-opacity-10:hover{--tw-text-opacity:0.1}.lg\\:dark\\:hover\\:text-opacity-20:hover{--tw-text-opacity:0.2}.lg\\:dark\\:hover\\:text-opacity-25:hover{--tw-text-opacity:0.25}.lg\\:dark\\:hover\\:text-opacity-30:hover{--tw-text-opacity:0.3}.lg\\:dark\\:hover\\:text-opacity-40:hover{--tw-text-opacity:0.4}.lg\\:dark\\:hover\\:text-opacity-50:hover{--tw-text-opacity:0.5}.lg\\:dark\\:hover\\:text-opacity-60:hover{--tw-text-opacity:0.6}.lg\\:dark\\:hover\\:text-opacity-70:hover{--tw-text-opacity:0.7}.lg\\:dark\\:hover\\:text-opacity-75:hover{--tw-text-opacity:0.75}.lg\\:dark\\:hover\\:text-opacity-80:hover{--tw-text-opacity:0.8}.lg\\:dark\\:hover\\:text-opacity-90:hover{--tw-text-opacity:0.9}.lg\\:dark\\:hover\\:text-opacity-95:hover{--tw-text-opacity:0.95}.lg\\:dark\\:hover\\:text-opacity-100:hover{--tw-text-opacity:1}.lg\\:dark\\:focus\\:text-opacity-0:focus{--tw-text-opacity:0}.lg\\:dark\\:focus\\:text-opacity-5:focus{--tw-text-opacity:0.05}.lg\\:dark\\:focus\\:text-opacity-10:focus{--tw-text-opacity:0.1}.lg\\:dark\\:focus\\:text-opacity-20:focus{--tw-text-opacity:0.2}.lg\\:dark\\:focus\\:text-opacity-25:focus{--tw-text-opacity:0.25}.lg\\:dark\\:focus\\:text-opacity-30:focus{--tw-text-opacity:0.3}.lg\\:dark\\:focus\\:text-opacity-40:focus{--tw-text-opacity:0.4}.lg\\:dark\\:focus\\:text-opacity-50:focus{--tw-text-opacity:0.5}.lg\\:dark\\:focus\\:text-opacity-60:focus{--tw-text-opacity:0.6}.lg\\:dark\\:focus\\:text-opacity-70:focus{--tw-text-opacity:0.7}.lg\\:dark\\:focus\\:text-opacity-75:focus{--tw-text-opacity:0.75}.lg\\:dark\\:focus\\:text-opacity-80:focus{--tw-text-opacity:0.8}.lg\\:dark\\:focus\\:text-opacity-90:focus{--tw-text-opacity:0.9}.lg\\:dark\\:focus\\:text-opacity-95:focus{--tw-text-opacity:0.95}.lg\\:dark\\:focus\\:text-opacity-100:focus{--tw-text-opacity:1}}.lg\\:underline{text-decoration:underline}.lg\\:line-through{text-decoration:line-through}.lg\\:no-underline{text-decoration:none}.group:hover .lg\\:group-hover\\:underline{text-decoration:underline}.group:hover .lg\\:group-hover\\:line-through{text-decoration:line-through}.group:hover .lg\\:group-hover\\:no-underline{text-decoration:none}.lg\\:focus-within\\:underline:focus-within{text-decoration:underline}.lg\\:focus-within\\:line-through:focus-within{text-decoration:line-through}.lg\\:focus-within\\:no-underline:focus-within{text-decoration:none}.lg\\:hover\\:underline:hover{text-decoration:underline}.lg\\:hover\\:line-through:hover{text-decoration:line-through}.lg\\:hover\\:no-underline:hover{text-decoration:none}.lg\\:focus\\:underline:focus{text-decoration:underline}.lg\\:focus\\:line-through:focus{text-decoration:line-through}.lg\\:focus\\:no-underline:focus{text-decoration:none}.lg\\:antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.lg\\:subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.lg\\:placeholder-transparent::placeholder{color:transparent}.lg\\:placeholder-current::placeholder{color:currentColor}.lg\\:placeholder-white::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.lg\\:placeholder-lightgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(247, 247, 247, var(--tw-placeholder-opacity))}.lg\\:placeholder-midgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.lg\\:placeholder-darkgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(127, 127, 127, var(--tw-placeholder-opacity))}.lg\\:placeholder-grey::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.lg\\:placeholder-black::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.lg\\:placeholder-highlight::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.lg\\:placeholder-highlight_hover::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.lg\\:placeholder-button_outline::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.lg\\:placeholder-error::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 69, 58, var(--tw-placeholder-opacity))}.lg\\:placeholder-text-light::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.lg\\:placeholder-text-dimmed::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.lg\\:placeholder-text-dark::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.lg\\:placeholder-body-light::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.lg\\:placeholder-body-dark::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.lg\\:placeholder-button::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.lg\\:placeholder-button_hover::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.lg\\:focus\\:placeholder-transparent:focus::placeholder{color:transparent}.lg\\:focus\\:placeholder-current:focus::placeholder{color:currentColor}.lg\\:focus\\:placeholder-white:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.lg\\:focus\\:placeholder-lightgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(247, 247, 247, var(--tw-placeholder-opacity))}.lg\\:focus\\:placeholder-midgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.lg\\:focus\\:placeholder-darkgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(127, 127, 127, var(--tw-placeholder-opacity))}.lg\\:focus\\:placeholder-grey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.lg\\:focus\\:placeholder-black:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.lg\\:focus\\:placeholder-highlight:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.lg\\:focus\\:placeholder-highlight_hover:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.lg\\:focus\\:placeholder-button_outline:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.lg\\:focus\\:placeholder-error:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 69, 58, var(--tw-placeholder-opacity))}.lg\\:focus\\:placeholder-text-light:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.lg\\:focus\\:placeholder-text-dimmed:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.lg\\:focus\\:placeholder-text-dark:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.lg\\:focus\\:placeholder-body-light:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.lg\\:focus\\:placeholder-body-dark:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.lg\\:focus\\:placeholder-button:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.lg\\:focus\\:placeholder-button_hover:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}@media(prefers-color-scheme: dark){.lg\\:dark\\:placeholder-transparent::placeholder{color:transparent}.lg\\:dark\\:placeholder-current::placeholder{color:currentColor}.lg\\:dark\\:placeholder-white::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.lg\\:dark\\:placeholder-lightgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(247, 247, 247, var(--tw-placeholder-opacity))}.lg\\:dark\\:placeholder-midgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.lg\\:dark\\:placeholder-darkgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(127, 127, 127, var(--tw-placeholder-opacity))}.lg\\:dark\\:placeholder-grey::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.lg\\:dark\\:placeholder-black::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.lg\\:dark\\:placeholder-highlight::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.lg\\:dark\\:placeholder-highlight_hover::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.lg\\:dark\\:placeholder-button_outline::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.lg\\:dark\\:placeholder-error::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 69, 58, var(--tw-placeholder-opacity))}.lg\\:dark\\:placeholder-text-light::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.lg\\:dark\\:placeholder-text-dimmed::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.lg\\:dark\\:placeholder-text-dark::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.lg\\:dark\\:placeholder-body-light::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.lg\\:dark\\:placeholder-body-dark::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.lg\\:dark\\:placeholder-button::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.lg\\:dark\\:placeholder-button_hover::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.lg\\:dark\\:focus\\:placeholder-transparent:focus::placeholder{color:transparent}.lg\\:dark\\:focus\\:placeholder-current:focus::placeholder{color:currentColor}.lg\\:dark\\:focus\\:placeholder-white:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.lg\\:dark\\:focus\\:placeholder-lightgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(247, 247, 247, var(--tw-placeholder-opacity))}.lg\\:dark\\:focus\\:placeholder-midgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.lg\\:dark\\:focus\\:placeholder-darkgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(127, 127, 127, var(--tw-placeholder-opacity))}.lg\\:dark\\:focus\\:placeholder-grey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.lg\\:dark\\:focus\\:placeholder-black:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.lg\\:dark\\:focus\\:placeholder-highlight:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.lg\\:dark\\:focus\\:placeholder-highlight_hover:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.lg\\:dark\\:focus\\:placeholder-button_outline:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.lg\\:dark\\:focus\\:placeholder-error:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 69, 58, var(--tw-placeholder-opacity))}.lg\\:dark\\:focus\\:placeholder-text-light:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.lg\\:dark\\:focus\\:placeholder-text-dimmed:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.lg\\:dark\\:focus\\:placeholder-text-dark:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.lg\\:dark\\:focus\\:placeholder-body-light:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.lg\\:dark\\:focus\\:placeholder-body-dark:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.lg\\:dark\\:focus\\:placeholder-button:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.lg\\:dark\\:focus\\:placeholder-button_hover:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}}.lg\\:placeholder-opacity-0::placeholder{--tw-placeholder-opacity:0}.lg\\:placeholder-opacity-5::placeholder{--tw-placeholder-opacity:0.05}.lg\\:placeholder-opacity-10::placeholder{--tw-placeholder-opacity:0.1}.lg\\:placeholder-opacity-20::placeholder{--tw-placeholder-opacity:0.2}.lg\\:placeholder-opacity-25::placeholder{--tw-placeholder-opacity:0.25}.lg\\:placeholder-opacity-30::placeholder{--tw-placeholder-opacity:0.3}.lg\\:placeholder-opacity-40::placeholder{--tw-placeholder-opacity:0.4}.lg\\:placeholder-opacity-50::placeholder{--tw-placeholder-opacity:0.5}.lg\\:placeholder-opacity-60::placeholder{--tw-placeholder-opacity:0.6}.lg\\:placeholder-opacity-70::placeholder{--tw-placeholder-opacity:0.7}.lg\\:placeholder-opacity-75::placeholder{--tw-placeholder-opacity:0.75}.lg\\:placeholder-opacity-80::placeholder{--tw-placeholder-opacity:0.8}.lg\\:placeholder-opacity-90::placeholder{--tw-placeholder-opacity:0.9}.lg\\:placeholder-opacity-95::placeholder{--tw-placeholder-opacity:0.95}.lg\\:placeholder-opacity-100::placeholder{--tw-placeholder-opacity:1}.lg\\:focus\\:placeholder-opacity-0:focus::placeholder{--tw-placeholder-opacity:0}.lg\\:focus\\:placeholder-opacity-5:focus::placeholder{--tw-placeholder-opacity:0.05}.lg\\:focus\\:placeholder-opacity-10:focus::placeholder{--tw-placeholder-opacity:0.1}.lg\\:focus\\:placeholder-opacity-20:focus::placeholder{--tw-placeholder-opacity:0.2}.lg\\:focus\\:placeholder-opacity-25:focus::placeholder{--tw-placeholder-opacity:0.25}.lg\\:focus\\:placeholder-opacity-30:focus::placeholder{--tw-placeholder-opacity:0.3}.lg\\:focus\\:placeholder-opacity-40:focus::placeholder{--tw-placeholder-opacity:0.4}.lg\\:focus\\:placeholder-opacity-50:focus::placeholder{--tw-placeholder-opacity:0.5}.lg\\:focus\\:placeholder-opacity-60:focus::placeholder{--tw-placeholder-opacity:0.6}.lg\\:focus\\:placeholder-opacity-70:focus::placeholder{--tw-placeholder-opacity:0.7}.lg\\:focus\\:placeholder-opacity-75:focus::placeholder{--tw-placeholder-opacity:0.75}.lg\\:focus\\:placeholder-opacity-80:focus::placeholder{--tw-placeholder-opacity:0.8}.lg\\:focus\\:placeholder-opacity-90:focus::placeholder{--tw-placeholder-opacity:0.9}.lg\\:focus\\:placeholder-opacity-95:focus::placeholder{--tw-placeholder-opacity:0.95}.lg\\:focus\\:placeholder-opacity-100:focus::placeholder{--tw-placeholder-opacity:1}@media(prefers-color-scheme: dark){.lg\\:dark\\:placeholder-opacity-0::placeholder{--tw-placeholder-opacity:0}.lg\\:dark\\:placeholder-opacity-5::placeholder{--tw-placeholder-opacity:0.05}.lg\\:dark\\:placeholder-opacity-10::placeholder{--tw-placeholder-opacity:0.1}.lg\\:dark\\:placeholder-opacity-20::placeholder{--tw-placeholder-opacity:0.2}.lg\\:dark\\:placeholder-opacity-25::placeholder{--tw-placeholder-opacity:0.25}.lg\\:dark\\:placeholder-opacity-30::placeholder{--tw-placeholder-opacity:0.3}.lg\\:dark\\:placeholder-opacity-40::placeholder{--tw-placeholder-opacity:0.4}.lg\\:dark\\:placeholder-opacity-50::placeholder{--tw-placeholder-opacity:0.5}.lg\\:dark\\:placeholder-opacity-60::placeholder{--tw-placeholder-opacity:0.6}.lg\\:dark\\:placeholder-opacity-70::placeholder{--tw-placeholder-opacity:0.7}.lg\\:dark\\:placeholder-opacity-75::placeholder{--tw-placeholder-opacity:0.75}.lg\\:dark\\:placeholder-opacity-80::placeholder{--tw-placeholder-opacity:0.8}.lg\\:dark\\:placeholder-opacity-90::placeholder{--tw-placeholder-opacity:0.9}.lg\\:dark\\:placeholder-opacity-95::placeholder{--tw-placeholder-opacity:0.95}.lg\\:dark\\:placeholder-opacity-100::placeholder{--tw-placeholder-opacity:1}.lg\\:dark\\:focus\\:placeholder-opacity-0:focus::placeholder{--tw-placeholder-opacity:0}.lg\\:dark\\:focus\\:placeholder-opacity-5:focus::placeholder{--tw-placeholder-opacity:0.05}.lg\\:dark\\:focus\\:placeholder-opacity-10:focus::placeholder{--tw-placeholder-opacity:0.1}.lg\\:dark\\:focus\\:placeholder-opacity-20:focus::placeholder{--tw-placeholder-opacity:0.2}.lg\\:dark\\:focus\\:placeholder-opacity-25:focus::placeholder{--tw-placeholder-opacity:0.25}.lg\\:dark\\:focus\\:placeholder-opacity-30:focus::placeholder{--tw-placeholder-opacity:0.3}.lg\\:dark\\:focus\\:placeholder-opacity-40:focus::placeholder{--tw-placeholder-opacity:0.4}.lg\\:dark\\:focus\\:placeholder-opacity-50:focus::placeholder{--tw-placeholder-opacity:0.5}.lg\\:dark\\:focus\\:placeholder-opacity-60:focus::placeholder{--tw-placeholder-opacity:0.6}.lg\\:dark\\:focus\\:placeholder-opacity-70:focus::placeholder{--tw-placeholder-opacity:0.7}.lg\\:dark\\:focus\\:placeholder-opacity-75:focus::placeholder{--tw-placeholder-opacity:0.75}.lg\\:dark\\:focus\\:placeholder-opacity-80:focus::placeholder{--tw-placeholder-opacity:0.8}.lg\\:dark\\:focus\\:placeholder-opacity-90:focus::placeholder{--tw-placeholder-opacity:0.9}.lg\\:dark\\:focus\\:placeholder-opacity-95:focus::placeholder{--tw-placeholder-opacity:0.95}.lg\\:dark\\:focus\\:placeholder-opacity-100:focus::placeholder{--tw-placeholder-opacity:1}}.lg\\:opacity-0{opacity:0}.lg\\:opacity-5{opacity:0.05}.lg\\:opacity-10{opacity:0.1}.lg\\:opacity-20{opacity:0.2}.lg\\:opacity-25{opacity:0.25}.lg\\:opacity-30{opacity:0.3}.lg\\:opacity-40{opacity:0.4}.lg\\:opacity-50{opacity:0.5}.lg\\:opacity-60{opacity:0.6}.lg\\:opacity-70{opacity:0.7}.lg\\:opacity-75{opacity:0.75}.lg\\:opacity-80{opacity:0.8}.lg\\:opacity-90{opacity:0.9}.lg\\:opacity-95{opacity:0.95}.lg\\:opacity-100{opacity:1}.group:hover .lg\\:group-hover\\:opacity-0{opacity:0}.group:hover .lg\\:group-hover\\:opacity-5{opacity:0.05}.group:hover .lg\\:group-hover\\:opacity-10{opacity:0.1}.group:hover .lg\\:group-hover\\:opacity-20{opacity:0.2}.group:hover .lg\\:group-hover\\:opacity-25{opacity:0.25}.group:hover .lg\\:group-hover\\:opacity-30{opacity:0.3}.group:hover .lg\\:group-hover\\:opacity-40{opacity:0.4}.group:hover .lg\\:group-hover\\:opacity-50{opacity:0.5}.group:hover .lg\\:group-hover\\:opacity-60{opacity:0.6}.group:hover .lg\\:group-hover\\:opacity-70{opacity:0.7}.group:hover .lg\\:group-hover\\:opacity-75{opacity:0.75}.group:hover .lg\\:group-hover\\:opacity-80{opacity:0.8}.group:hover .lg\\:group-hover\\:opacity-90{opacity:0.9}.group:hover .lg\\:group-hover\\:opacity-95{opacity:0.95}.group:hover .lg\\:group-hover\\:opacity-100{opacity:1}.lg\\:focus-within\\:opacity-0:focus-within{opacity:0}.lg\\:focus-within\\:opacity-5:focus-within{opacity:0.05}.lg\\:focus-within\\:opacity-10:focus-within{opacity:0.1}.lg\\:focus-within\\:opacity-20:focus-within{opacity:0.2}.lg\\:focus-within\\:opacity-25:focus-within{opacity:0.25}.lg\\:focus-within\\:opacity-30:focus-within{opacity:0.3}.lg\\:focus-within\\:opacity-40:focus-within{opacity:0.4}.lg\\:focus-within\\:opacity-50:focus-within{opacity:0.5}.lg\\:focus-within\\:opacity-60:focus-within{opacity:0.6}.lg\\:focus-within\\:opacity-70:focus-within{opacity:0.7}.lg\\:focus-within\\:opacity-75:focus-within{opacity:0.75}.lg\\:focus-within\\:opacity-80:focus-within{opacity:0.8}.lg\\:focus-within\\:opacity-90:focus-within{opacity:0.9}.lg\\:focus-within\\:opacity-95:focus-within{opacity:0.95}.lg\\:focus-within\\:opacity-100:focus-within{opacity:1}.lg\\:hover\\:opacity-0:hover{opacity:0}.lg\\:hover\\:opacity-5:hover{opacity:0.05}.lg\\:hover\\:opacity-10:hover{opacity:0.1}.lg\\:hover\\:opacity-20:hover{opacity:0.2}.lg\\:hover\\:opacity-25:hover{opacity:0.25}.lg\\:hover\\:opacity-30:hover{opacity:0.3}.lg\\:hover\\:opacity-40:hover{opacity:0.4}.lg\\:hover\\:opacity-50:hover{opacity:0.5}.lg\\:hover\\:opacity-60:hover{opacity:0.6}.lg\\:hover\\:opacity-70:hover{opacity:0.7}.lg\\:hover\\:opacity-75:hover{opacity:0.75}.lg\\:hover\\:opacity-80:hover{opacity:0.8}.lg\\:hover\\:opacity-90:hover{opacity:0.9}.lg\\:hover\\:opacity-95:hover{opacity:0.95}.lg\\:hover\\:opacity-100:hover{opacity:1}.lg\\:focus\\:opacity-0:focus{opacity:0}.lg\\:focus\\:opacity-5:focus{opacity:0.05}.lg\\:focus\\:opacity-10:focus{opacity:0.1}.lg\\:focus\\:opacity-20:focus{opacity:0.2}.lg\\:focus\\:opacity-25:focus{opacity:0.25}.lg\\:focus\\:opacity-30:focus{opacity:0.3}.lg\\:focus\\:opacity-40:focus{opacity:0.4}.lg\\:focus\\:opacity-50:focus{opacity:0.5}.lg\\:focus\\:opacity-60:focus{opacity:0.6}.lg\\:focus\\:opacity-70:focus{opacity:0.7}.lg\\:focus\\:opacity-75:focus{opacity:0.75}.lg\\:focus\\:opacity-80:focus{opacity:0.8}.lg\\:focus\\:opacity-90:focus{opacity:0.9}.lg\\:focus\\:opacity-95:focus{opacity:0.95}.lg\\:focus\\:opacity-100:focus{opacity:1}.lg\\:bg-blend-normal{background-blend-mode:normal}.lg\\:bg-blend-multiply{background-blend-mode:multiply}.lg\\:bg-blend-screen{background-blend-mode:screen}.lg\\:bg-blend-overlay{background-blend-mode:overlay}.lg\\:bg-blend-darken{background-blend-mode:darken}.lg\\:bg-blend-lighten{background-blend-mode:lighten}.lg\\:bg-blend-color-dodge{background-blend-mode:color-dodge}.lg\\:bg-blend-color-burn{background-blend-mode:color-burn}.lg\\:bg-blend-hard-light{background-blend-mode:hard-light}.lg\\:bg-blend-soft-light{background-blend-mode:soft-light}.lg\\:bg-blend-difference{background-blend-mode:difference}.lg\\:bg-blend-exclusion{background-blend-mode:exclusion}.lg\\:bg-blend-hue{background-blend-mode:hue}.lg\\:bg-blend-saturation{background-blend-mode:saturation}.lg\\:bg-blend-color{background-blend-mode:color}.lg\\:bg-blend-luminosity{background-blend-mode:luminosity}.lg\\:mix-blend-normal{mix-blend-mode:normal}.lg\\:mix-blend-multiply{mix-blend-mode:multiply}.lg\\:mix-blend-screen{mix-blend-mode:screen}.lg\\:mix-blend-overlay{mix-blend-mode:overlay}.lg\\:mix-blend-darken{mix-blend-mode:darken}.lg\\:mix-blend-lighten{mix-blend-mode:lighten}.lg\\:mix-blend-color-dodge{mix-blend-mode:color-dodge}.lg\\:mix-blend-color-burn{mix-blend-mode:color-burn}.lg\\:mix-blend-hard-light{mix-blend-mode:hard-light}.lg\\:mix-blend-soft-light{mix-blend-mode:soft-light}.lg\\:mix-blend-difference{mix-blend-mode:difference}.lg\\:mix-blend-exclusion{mix-blend-mode:exclusion}.lg\\:mix-blend-hue{mix-blend-mode:hue}.lg\\:mix-blend-saturation{mix-blend-mode:saturation}.lg\\:mix-blend-color{mix-blend-mode:color}.lg\\:mix-blend-luminosity{mix-blend-mode:luminosity}.lg\\:shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:shadow{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:shadow-md{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .lg\\:group-hover\\:shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .lg\\:group-hover\\:shadow{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .lg\\:group-hover\\:shadow-md{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .lg\\:group-hover\\:shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .lg\\:group-hover\\:shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .lg\\:group-hover\\:shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .lg\\:group-hover\\:shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .lg\\:group-hover\\:shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:focus-within\\:shadow-sm:focus-within{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:focus-within\\:shadow:focus-within{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:focus-within\\:shadow-md:focus-within{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:focus-within\\:shadow-lg:focus-within{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:focus-within\\:shadow-xl:focus-within{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:focus-within\\:shadow-2xl:focus-within{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:focus-within\\:shadow-inner:focus-within{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:focus-within\\:shadow-none:focus-within{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:hover\\:shadow-sm:hover{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:hover\\:shadow:hover{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:hover\\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:hover\\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:hover\\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:hover\\:shadow-2xl:hover{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:hover\\:shadow-inner:hover{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:hover\\:shadow-none:hover{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:focus\\:shadow-sm:focus{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:focus\\:shadow:focus{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:focus\\:shadow-md:focus{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:focus\\:shadow-lg:focus{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:focus\\:shadow-xl:focus{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:focus\\:shadow-2xl:focus{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:focus\\:shadow-inner:focus{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:focus\\:shadow-none:focus{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.lg\\:outline-none{outline:2px solid transparent;outline-offset:2px}.lg\\:outline-white{outline:2px dotted white;outline-offset:2px}.lg\\:outline-black{outline:2px dotted black;outline-offset:2px}.lg\\:focus-within\\:outline-none:focus-within{outline:2px solid transparent;outline-offset:2px}.lg\\:focus-within\\:outline-white:focus-within{outline:2px dotted white;outline-offset:2px}.lg\\:focus-within\\:outline-black:focus-within{outline:2px dotted black;outline-offset:2px}.lg\\:focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.lg\\:focus\\:outline-white:focus{outline:2px dotted white;outline-offset:2px}.lg\\:focus\\:outline-black:focus{outline:2px dotted black;outline-offset:2px}.lg\\:ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.lg\\:ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.lg\\:ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.lg\\:ring-4{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.lg\\:ring-8{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.lg\\:ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.lg\\:focus-within\\:ring-0:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.lg\\:focus-within\\:ring-1:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.lg\\:focus-within\\:ring-2:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.lg\\:focus-within\\:ring-4:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.lg\\:focus-within\\:ring-8:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.lg\\:focus-within\\:ring:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.lg\\:focus\\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.lg\\:focus\\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.lg\\:focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.lg\\:focus\\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.lg\\:focus\\:ring-8:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.lg\\:focus\\:ring:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.lg\\:ring-inset{--tw-ring-inset:inset}.lg\\:focus-within\\:ring-inset:focus-within{--tw-ring-inset:inset}.lg\\:focus\\:ring-inset:focus{--tw-ring-inset:inset}.lg\\:ring-transparent{--tw-ring-color:transparent}.lg\\:ring-current{--tw-ring-color:currentColor}.lg\\:ring-white{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.lg\\:ring-lightgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.lg\\:ring-midgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.lg\\:ring-darkgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.lg\\:ring-grey{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.lg\\:ring-black{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.lg\\:ring-highlight{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.lg\\:ring-highlight_hover{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.lg\\:ring-button_outline{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.lg\\:ring-error{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.lg\\:ring-text-light{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.lg\\:ring-text-dimmed{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.lg\\:ring-text-dark{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.lg\\:ring-body-light{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.lg\\:ring-body-dark{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.lg\\:ring-button{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.lg\\:ring-button_hover{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.lg\\:focus-within\\:ring-transparent:focus-within{--tw-ring-color:transparent}.lg\\:focus-within\\:ring-current:focus-within{--tw-ring-color:currentColor}.lg\\:focus-within\\:ring-white:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.lg\\:focus-within\\:ring-lightgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.lg\\:focus-within\\:ring-midgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.lg\\:focus-within\\:ring-darkgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.lg\\:focus-within\\:ring-grey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.lg\\:focus-within\\:ring-black:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.lg\\:focus-within\\:ring-highlight:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.lg\\:focus-within\\:ring-highlight_hover:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.lg\\:focus-within\\:ring-button_outline:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.lg\\:focus-within\\:ring-error:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.lg\\:focus-within\\:ring-text-light:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.lg\\:focus-within\\:ring-text-dimmed:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.lg\\:focus-within\\:ring-text-dark:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.lg\\:focus-within\\:ring-body-light:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.lg\\:focus-within\\:ring-body-dark:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.lg\\:focus-within\\:ring-button:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.lg\\:focus-within\\:ring-button_hover:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.lg\\:focus\\:ring-transparent:focus{--tw-ring-color:transparent}.lg\\:focus\\:ring-current:focus{--tw-ring-color:currentColor}.lg\\:focus\\:ring-white:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.lg\\:focus\\:ring-lightgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.lg\\:focus\\:ring-midgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.lg\\:focus\\:ring-darkgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.lg\\:focus\\:ring-grey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.lg\\:focus\\:ring-black:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.lg\\:focus\\:ring-highlight:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.lg\\:focus\\:ring-highlight_hover:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.lg\\:focus\\:ring-button_outline:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.lg\\:focus\\:ring-error:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.lg\\:focus\\:ring-text-light:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.lg\\:focus\\:ring-text-dimmed:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.lg\\:focus\\:ring-text-dark:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.lg\\:focus\\:ring-body-light:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.lg\\:focus\\:ring-body-dark:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.lg\\:focus\\:ring-button:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.lg\\:focus\\:ring-button_hover:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}@media(prefers-color-scheme: dark){.lg\\:dark\\:ring-transparent{--tw-ring-color:transparent}.lg\\:dark\\:ring-current{--tw-ring-color:currentColor}.lg\\:dark\\:ring-white{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.lg\\:dark\\:ring-lightgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.lg\\:dark\\:ring-midgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.lg\\:dark\\:ring-darkgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.lg\\:dark\\:ring-grey{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.lg\\:dark\\:ring-black{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.lg\\:dark\\:ring-highlight{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.lg\\:dark\\:ring-highlight_hover{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.lg\\:dark\\:ring-button_outline{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.lg\\:dark\\:ring-error{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.lg\\:dark\\:ring-text-light{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.lg\\:dark\\:ring-text-dimmed{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.lg\\:dark\\:ring-text-dark{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.lg\\:dark\\:ring-body-light{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.lg\\:dark\\:ring-body-dark{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.lg\\:dark\\:ring-button{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.lg\\:dark\\:ring-button_hover{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.lg\\:dark\\:focus-within\\:ring-transparent:focus-within{--tw-ring-color:transparent}.lg\\:dark\\:focus-within\\:ring-current:focus-within{--tw-ring-color:currentColor}.lg\\:dark\\:focus-within\\:ring-white:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.lg\\:dark\\:focus-within\\:ring-lightgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.lg\\:dark\\:focus-within\\:ring-midgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.lg\\:dark\\:focus-within\\:ring-darkgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.lg\\:dark\\:focus-within\\:ring-grey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.lg\\:dark\\:focus-within\\:ring-black:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.lg\\:dark\\:focus-within\\:ring-highlight:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.lg\\:dark\\:focus-within\\:ring-highlight_hover:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.lg\\:dark\\:focus-within\\:ring-button_outline:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.lg\\:dark\\:focus-within\\:ring-error:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.lg\\:dark\\:focus-within\\:ring-text-light:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.lg\\:dark\\:focus-within\\:ring-text-dimmed:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.lg\\:dark\\:focus-within\\:ring-text-dark:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.lg\\:dark\\:focus-within\\:ring-body-light:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.lg\\:dark\\:focus-within\\:ring-body-dark:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.lg\\:dark\\:focus-within\\:ring-button:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.lg\\:dark\\:focus-within\\:ring-button_hover:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.lg\\:dark\\:focus\\:ring-transparent:focus{--tw-ring-color:transparent}.lg\\:dark\\:focus\\:ring-current:focus{--tw-ring-color:currentColor}.lg\\:dark\\:focus\\:ring-white:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.lg\\:dark\\:focus\\:ring-lightgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.lg\\:dark\\:focus\\:ring-midgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.lg\\:dark\\:focus\\:ring-darkgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.lg\\:dark\\:focus\\:ring-grey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.lg\\:dark\\:focus\\:ring-black:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.lg\\:dark\\:focus\\:ring-highlight:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.lg\\:dark\\:focus\\:ring-highlight_hover:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.lg\\:dark\\:focus\\:ring-button_outline:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.lg\\:dark\\:focus\\:ring-error:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.lg\\:dark\\:focus\\:ring-text-light:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.lg\\:dark\\:focus\\:ring-text-dimmed:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.lg\\:dark\\:focus\\:ring-text-dark:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.lg\\:dark\\:focus\\:ring-body-light:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.lg\\:dark\\:focus\\:ring-body-dark:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.lg\\:dark\\:focus\\:ring-button:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.lg\\:dark\\:focus\\:ring-button_hover:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}}.lg\\:ring-opacity-0{--tw-ring-opacity:0}.lg\\:ring-opacity-5{--tw-ring-opacity:0.05}.lg\\:ring-opacity-10{--tw-ring-opacity:0.1}.lg\\:ring-opacity-20{--tw-ring-opacity:0.2}.lg\\:ring-opacity-25{--tw-ring-opacity:0.25}.lg\\:ring-opacity-30{--tw-ring-opacity:0.3}.lg\\:ring-opacity-40{--tw-ring-opacity:0.4}.lg\\:ring-opacity-50{--tw-ring-opacity:0.5}.lg\\:ring-opacity-60{--tw-ring-opacity:0.6}.lg\\:ring-opacity-70{--tw-ring-opacity:0.7}.lg\\:ring-opacity-75{--tw-ring-opacity:0.75}.lg\\:ring-opacity-80{--tw-ring-opacity:0.8}.lg\\:ring-opacity-90{--tw-ring-opacity:0.9}.lg\\:ring-opacity-95{--tw-ring-opacity:0.95}.lg\\:ring-opacity-100{--tw-ring-opacity:1}.lg\\:focus-within\\:ring-opacity-0:focus-within{--tw-ring-opacity:0}.lg\\:focus-within\\:ring-opacity-5:focus-within{--tw-ring-opacity:0.05}.lg\\:focus-within\\:ring-opacity-10:focus-within{--tw-ring-opacity:0.1}.lg\\:focus-within\\:ring-opacity-20:focus-within{--tw-ring-opacity:0.2}.lg\\:focus-within\\:ring-opacity-25:focus-within{--tw-ring-opacity:0.25}.lg\\:focus-within\\:ring-opacity-30:focus-within{--tw-ring-opacity:0.3}.lg\\:focus-within\\:ring-opacity-40:focus-within{--tw-ring-opacity:0.4}.lg\\:focus-within\\:ring-opacity-50:focus-within{--tw-ring-opacity:0.5}.lg\\:focus-within\\:ring-opacity-60:focus-within{--tw-ring-opacity:0.6}.lg\\:focus-within\\:ring-opacity-70:focus-within{--tw-ring-opacity:0.7}.lg\\:focus-within\\:ring-opacity-75:focus-within{--tw-ring-opacity:0.75}.lg\\:focus-within\\:ring-opacity-80:focus-within{--tw-ring-opacity:0.8}.lg\\:focus-within\\:ring-opacity-90:focus-within{--tw-ring-opacity:0.9}.lg\\:focus-within\\:ring-opacity-95:focus-within{--tw-ring-opacity:0.95}.lg\\:focus-within\\:ring-opacity-100:focus-within{--tw-ring-opacity:1}.lg\\:focus\\:ring-opacity-0:focus{--tw-ring-opacity:0}.lg\\:focus\\:ring-opacity-5:focus{--tw-ring-opacity:0.05}.lg\\:focus\\:ring-opacity-10:focus{--tw-ring-opacity:0.1}.lg\\:focus\\:ring-opacity-20:focus{--tw-ring-opacity:0.2}.lg\\:focus\\:ring-opacity-25:focus{--tw-ring-opacity:0.25}.lg\\:focus\\:ring-opacity-30:focus{--tw-ring-opacity:0.3}.lg\\:focus\\:ring-opacity-40:focus{--tw-ring-opacity:0.4}.lg\\:focus\\:ring-opacity-50:focus{--tw-ring-opacity:0.5}.lg\\:focus\\:ring-opacity-60:focus{--tw-ring-opacity:0.6}.lg\\:focus\\:ring-opacity-70:focus{--tw-ring-opacity:0.7}.lg\\:focus\\:ring-opacity-75:focus{--tw-ring-opacity:0.75}.lg\\:focus\\:ring-opacity-80:focus{--tw-ring-opacity:0.8}.lg\\:focus\\:ring-opacity-90:focus{--tw-ring-opacity:0.9}.lg\\:focus\\:ring-opacity-95:focus{--tw-ring-opacity:0.95}.lg\\:focus\\:ring-opacity-100:focus{--tw-ring-opacity:1}@media(prefers-color-scheme: dark){.lg\\:dark\\:ring-opacity-0{--tw-ring-opacity:0}.lg\\:dark\\:ring-opacity-5{--tw-ring-opacity:0.05}.lg\\:dark\\:ring-opacity-10{--tw-ring-opacity:0.1}.lg\\:dark\\:ring-opacity-20{--tw-ring-opacity:0.2}.lg\\:dark\\:ring-opacity-25{--tw-ring-opacity:0.25}.lg\\:dark\\:ring-opacity-30{--tw-ring-opacity:0.3}.lg\\:dark\\:ring-opacity-40{--tw-ring-opacity:0.4}.lg\\:dark\\:ring-opacity-50{--tw-ring-opacity:0.5}.lg\\:dark\\:ring-opacity-60{--tw-ring-opacity:0.6}.lg\\:dark\\:ring-opacity-70{--tw-ring-opacity:0.7}.lg\\:dark\\:ring-opacity-75{--tw-ring-opacity:0.75}.lg\\:dark\\:ring-opacity-80{--tw-ring-opacity:0.8}.lg\\:dark\\:ring-opacity-90{--tw-ring-opacity:0.9}.lg\\:dark\\:ring-opacity-95{--tw-ring-opacity:0.95}.lg\\:dark\\:ring-opacity-100{--tw-ring-opacity:1}.lg\\:dark\\:focus-within\\:ring-opacity-0:focus-within{--tw-ring-opacity:0}.lg\\:dark\\:focus-within\\:ring-opacity-5:focus-within{--tw-ring-opacity:0.05}.lg\\:dark\\:focus-within\\:ring-opacity-10:focus-within{--tw-ring-opacity:0.1}.lg\\:dark\\:focus-within\\:ring-opacity-20:focus-within{--tw-ring-opacity:0.2}.lg\\:dark\\:focus-within\\:ring-opacity-25:focus-within{--tw-ring-opacity:0.25}.lg\\:dark\\:focus-within\\:ring-opacity-30:focus-within{--tw-ring-opacity:0.3}.lg\\:dark\\:focus-within\\:ring-opacity-40:focus-within{--tw-ring-opacity:0.4}.lg\\:dark\\:focus-within\\:ring-opacity-50:focus-within{--tw-ring-opacity:0.5}.lg\\:dark\\:focus-within\\:ring-opacity-60:focus-within{--tw-ring-opacity:0.6}.lg\\:dark\\:focus-within\\:ring-opacity-70:focus-within{--tw-ring-opacity:0.7}.lg\\:dark\\:focus-within\\:ring-opacity-75:focus-within{--tw-ring-opacity:0.75}.lg\\:dark\\:focus-within\\:ring-opacity-80:focus-within{--tw-ring-opacity:0.8}.lg\\:dark\\:focus-within\\:ring-opacity-90:focus-within{--tw-ring-opacity:0.9}.lg\\:dark\\:focus-within\\:ring-opacity-95:focus-within{--tw-ring-opacity:0.95}.lg\\:dark\\:focus-within\\:ring-opacity-100:focus-within{--tw-ring-opacity:1}.lg\\:dark\\:focus\\:ring-opacity-0:focus{--tw-ring-opacity:0}.lg\\:dark\\:focus\\:ring-opacity-5:focus{--tw-ring-opacity:0.05}.lg\\:dark\\:focus\\:ring-opacity-10:focus{--tw-ring-opacity:0.1}.lg\\:dark\\:focus\\:ring-opacity-20:focus{--tw-ring-opacity:0.2}.lg\\:dark\\:focus\\:ring-opacity-25:focus{--tw-ring-opacity:0.25}.lg\\:dark\\:focus\\:ring-opacity-30:focus{--tw-ring-opacity:0.3}.lg\\:dark\\:focus\\:ring-opacity-40:focus{--tw-ring-opacity:0.4}.lg\\:dark\\:focus\\:ring-opacity-50:focus{--tw-ring-opacity:0.5}.lg\\:dark\\:focus\\:ring-opacity-60:focus{--tw-ring-opacity:0.6}.lg\\:dark\\:focus\\:ring-opacity-70:focus{--tw-ring-opacity:0.7}.lg\\:dark\\:focus\\:ring-opacity-75:focus{--tw-ring-opacity:0.75}.lg\\:dark\\:focus\\:ring-opacity-80:focus{--tw-ring-opacity:0.8}.lg\\:dark\\:focus\\:ring-opacity-90:focus{--tw-ring-opacity:0.9}.lg\\:dark\\:focus\\:ring-opacity-95:focus{--tw-ring-opacity:0.95}.lg\\:dark\\:focus\\:ring-opacity-100:focus{--tw-ring-opacity:1}}.lg\\:ring-offset-0{--tw-ring-offset-width:0px}.lg\\:ring-offset-1{--tw-ring-offset-width:1px}.lg\\:ring-offset-2{--tw-ring-offset-width:2px}.lg\\:ring-offset-4{--tw-ring-offset-width:4px}.lg\\:ring-offset-8{--tw-ring-offset-width:8px}.lg\\:focus-within\\:ring-offset-0:focus-within{--tw-ring-offset-width:0px}.lg\\:focus-within\\:ring-offset-1:focus-within{--tw-ring-offset-width:1px}.lg\\:focus-within\\:ring-offset-2:focus-within{--tw-ring-offset-width:2px}.lg\\:focus-within\\:ring-offset-4:focus-within{--tw-ring-offset-width:4px}.lg\\:focus-within\\:ring-offset-8:focus-within{--tw-ring-offset-width:8px}.lg\\:focus\\:ring-offset-0:focus{--tw-ring-offset-width:0px}.lg\\:focus\\:ring-offset-1:focus{--tw-ring-offset-width:1px}.lg\\:focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}.lg\\:focus\\:ring-offset-4:focus{--tw-ring-offset-width:4px}.lg\\:focus\\:ring-offset-8:focus{--tw-ring-offset-width:8px}.lg\\:ring-offset-transparent{--tw-ring-offset-color:transparent}.lg\\:ring-offset-current{--tw-ring-offset-color:currentColor}.lg\\:ring-offset-white{--tw-ring-offset-color:#fff}.lg\\:ring-offset-lightgrey{--tw-ring-offset-color:#F7F7F7}.lg\\:ring-offset-midgrey{--tw-ring-offset-color:#cfcfcf}.lg\\:ring-offset-darkgrey{--tw-ring-offset-color:#7f7f7f}.lg\\:ring-offset-grey{--tw-ring-offset-color:#1e1e1e}.lg\\:ring-offset-black{--tw-ring-offset-color:#0f0f0f}.lg\\:ring-offset-highlight{--tw-ring-offset-color:#0071e3}.lg\\:ring-offset-highlight_hover{--tw-ring-offset-color:#0077ed}.lg\\:ring-offset-button_outline{--tw-ring-offset-color:#cfcfcf}.lg\\:ring-offset-error{--tw-ring-offset-color:#ff453a}.lg\\:ring-offset-text-light{--tw-ring-offset-color:#0f0f0f}.lg\\:ring-offset-text-dimmed{--tw-ring-offset-color:#cfcfcf}.lg\\:ring-offset-text-dark{--tw-ring-offset-color:#fff}.lg\\:ring-offset-body-light{--tw-ring-offset-color:#fff}.lg\\:ring-offset-body-dark{--tw-ring-offset-color:#1e1e1e}.lg\\:ring-offset-button{--tw-ring-offset-color:#0071e3}.lg\\:ring-offset-button_hover{--tw-ring-offset-color:#0077ed}.lg\\:focus-within\\:ring-offset-transparent:focus-within{--tw-ring-offset-color:transparent}.lg\\:focus-within\\:ring-offset-current:focus-within{--tw-ring-offset-color:currentColor}.lg\\:focus-within\\:ring-offset-white:focus-within{--tw-ring-offset-color:#fff}.lg\\:focus-within\\:ring-offset-lightgrey:focus-within{--tw-ring-offset-color:#F7F7F7}.lg\\:focus-within\\:ring-offset-midgrey:focus-within{--tw-ring-offset-color:#cfcfcf}.lg\\:focus-within\\:ring-offset-darkgrey:focus-within{--tw-ring-offset-color:#7f7f7f}.lg\\:focus-within\\:ring-offset-grey:focus-within{--tw-ring-offset-color:#1e1e1e}.lg\\:focus-within\\:ring-offset-black:focus-within{--tw-ring-offset-color:#0f0f0f}.lg\\:focus-within\\:ring-offset-highlight:focus-within{--tw-ring-offset-color:#0071e3}.lg\\:focus-within\\:ring-offset-highlight_hover:focus-within{--tw-ring-offset-color:#0077ed}.lg\\:focus-within\\:ring-offset-button_outline:focus-within{--tw-ring-offset-color:#cfcfcf}.lg\\:focus-within\\:ring-offset-error:focus-within{--tw-ring-offset-color:#ff453a}.lg\\:focus-within\\:ring-offset-text-light:focus-within{--tw-ring-offset-color:#0f0f0f}.lg\\:focus-within\\:ring-offset-text-dimmed:focus-within{--tw-ring-offset-color:#cfcfcf}.lg\\:focus-within\\:ring-offset-text-dark:focus-within{--tw-ring-offset-color:#fff}.lg\\:focus-within\\:ring-offset-body-light:focus-within{--tw-ring-offset-color:#fff}.lg\\:focus-within\\:ring-offset-body-dark:focus-within{--tw-ring-offset-color:#1e1e1e}.lg\\:focus-within\\:ring-offset-button:focus-within{--tw-ring-offset-color:#0071e3}.lg\\:focus-within\\:ring-offset-button_hover:focus-within{--tw-ring-offset-color:#0077ed}.lg\\:focus\\:ring-offset-transparent:focus{--tw-ring-offset-color:transparent}.lg\\:focus\\:ring-offset-current:focus{--tw-ring-offset-color:currentColor}.lg\\:focus\\:ring-offset-white:focus{--tw-ring-offset-color:#fff}.lg\\:focus\\:ring-offset-lightgrey:focus{--tw-ring-offset-color:#F7F7F7}.lg\\:focus\\:ring-offset-midgrey:focus{--tw-ring-offset-color:#cfcfcf}.lg\\:focus\\:ring-offset-darkgrey:focus{--tw-ring-offset-color:#7f7f7f}.lg\\:focus\\:ring-offset-grey:focus{--tw-ring-offset-color:#1e1e1e}.lg\\:focus\\:ring-offset-black:focus{--tw-ring-offset-color:#0f0f0f}.lg\\:focus\\:ring-offset-highlight:focus{--tw-ring-offset-color:#0071e3}.lg\\:focus\\:ring-offset-highlight_hover:focus{--tw-ring-offset-color:#0077ed}.lg\\:focus\\:ring-offset-button_outline:focus{--tw-ring-offset-color:#cfcfcf}.lg\\:focus\\:ring-offset-error:focus{--tw-ring-offset-color:#ff453a}.lg\\:focus\\:ring-offset-text-light:focus{--tw-ring-offset-color:#0f0f0f}.lg\\:focus\\:ring-offset-text-dimmed:focus{--tw-ring-offset-color:#cfcfcf}.lg\\:focus\\:ring-offset-text-dark:focus{--tw-ring-offset-color:#fff}.lg\\:focus\\:ring-offset-body-light:focus{--tw-ring-offset-color:#fff}.lg\\:focus\\:ring-offset-body-dark:focus{--tw-ring-offset-color:#1e1e1e}.lg\\:focus\\:ring-offset-button:focus{--tw-ring-offset-color:#0071e3}.lg\\:focus\\:ring-offset-button_hover:focus{--tw-ring-offset-color:#0077ed}@media(prefers-color-scheme: dark){.lg\\:dark\\:ring-offset-transparent{--tw-ring-offset-color:transparent}.lg\\:dark\\:ring-offset-current{--tw-ring-offset-color:currentColor}.lg\\:dark\\:ring-offset-white{--tw-ring-offset-color:#fff}.lg\\:dark\\:ring-offset-lightgrey{--tw-ring-offset-color:#F7F7F7}.lg\\:dark\\:ring-offset-midgrey{--tw-ring-offset-color:#cfcfcf}.lg\\:dark\\:ring-offset-darkgrey{--tw-ring-offset-color:#7f7f7f}.lg\\:dark\\:ring-offset-grey{--tw-ring-offset-color:#1e1e1e}.lg\\:dark\\:ring-offset-black{--tw-ring-offset-color:#0f0f0f}.lg\\:dark\\:ring-offset-highlight{--tw-ring-offset-color:#0071e3}.lg\\:dark\\:ring-offset-highlight_hover{--tw-ring-offset-color:#0077ed}.lg\\:dark\\:ring-offset-button_outline{--tw-ring-offset-color:#cfcfcf}.lg\\:dark\\:ring-offset-error{--tw-ring-offset-color:#ff453a}.lg\\:dark\\:ring-offset-text-light{--tw-ring-offset-color:#0f0f0f}.lg\\:dark\\:ring-offset-text-dimmed{--tw-ring-offset-color:#cfcfcf}.lg\\:dark\\:ring-offset-text-dark{--tw-ring-offset-color:#fff}.lg\\:dark\\:ring-offset-body-light{--tw-ring-offset-color:#fff}.lg\\:dark\\:ring-offset-body-dark{--tw-ring-offset-color:#1e1e1e}.lg\\:dark\\:ring-offset-button{--tw-ring-offset-color:#0071e3}.lg\\:dark\\:ring-offset-button_hover{--tw-ring-offset-color:#0077ed}.lg\\:dark\\:focus-within\\:ring-offset-transparent:focus-within{--tw-ring-offset-color:transparent}.lg\\:dark\\:focus-within\\:ring-offset-current:focus-within{--tw-ring-offset-color:currentColor}.lg\\:dark\\:focus-within\\:ring-offset-white:focus-within{--tw-ring-offset-color:#fff}.lg\\:dark\\:focus-within\\:ring-offset-lightgrey:focus-within{--tw-ring-offset-color:#F7F7F7}.lg\\:dark\\:focus-within\\:ring-offset-midgrey:focus-within{--tw-ring-offset-color:#cfcfcf}.lg\\:dark\\:focus-within\\:ring-offset-darkgrey:focus-within{--tw-ring-offset-color:#7f7f7f}.lg\\:dark\\:focus-within\\:ring-offset-grey:focus-within{--tw-ring-offset-color:#1e1e1e}.lg\\:dark\\:focus-within\\:ring-offset-black:focus-within{--tw-ring-offset-color:#0f0f0f}.lg\\:dark\\:focus-within\\:ring-offset-highlight:focus-within{--tw-ring-offset-color:#0071e3}.lg\\:dark\\:focus-within\\:ring-offset-highlight_hover:focus-within{--tw-ring-offset-color:#0077ed}.lg\\:dark\\:focus-within\\:ring-offset-button_outline:focus-within{--tw-ring-offset-color:#cfcfcf}.lg\\:dark\\:focus-within\\:ring-offset-error:focus-within{--tw-ring-offset-color:#ff453a}.lg\\:dark\\:focus-within\\:ring-offset-text-light:focus-within{--tw-ring-offset-color:#0f0f0f}.lg\\:dark\\:focus-within\\:ring-offset-text-dimmed:focus-within{--tw-ring-offset-color:#cfcfcf}.lg\\:dark\\:focus-within\\:ring-offset-text-dark:focus-within{--tw-ring-offset-color:#fff}.lg\\:dark\\:focus-within\\:ring-offset-body-light:focus-within{--tw-ring-offset-color:#fff}.lg\\:dark\\:focus-within\\:ring-offset-body-dark:focus-within{--tw-ring-offset-color:#1e1e1e}.lg\\:dark\\:focus-within\\:ring-offset-button:focus-within{--tw-ring-offset-color:#0071e3}.lg\\:dark\\:focus-within\\:ring-offset-button_hover:focus-within{--tw-ring-offset-color:#0077ed}.lg\\:dark\\:focus\\:ring-offset-transparent:focus{--tw-ring-offset-color:transparent}.lg\\:dark\\:focus\\:ring-offset-current:focus{--tw-ring-offset-color:currentColor}.lg\\:dark\\:focus\\:ring-offset-white:focus{--tw-ring-offset-color:#fff}.lg\\:dark\\:focus\\:ring-offset-lightgrey:focus{--tw-ring-offset-color:#F7F7F7}.lg\\:dark\\:focus\\:ring-offset-midgrey:focus{--tw-ring-offset-color:#cfcfcf}.lg\\:dark\\:focus\\:ring-offset-darkgrey:focus{--tw-ring-offset-color:#7f7f7f}.lg\\:dark\\:focus\\:ring-offset-grey:focus{--tw-ring-offset-color:#1e1e1e}.lg\\:dark\\:focus\\:ring-offset-black:focus{--tw-ring-offset-color:#0f0f0f}.lg\\:dark\\:focus\\:ring-offset-highlight:focus{--tw-ring-offset-color:#0071e3}.lg\\:dark\\:focus\\:ring-offset-highlight_hover:focus{--tw-ring-offset-color:#0077ed}.lg\\:dark\\:focus\\:ring-offset-button_outline:focus{--tw-ring-offset-color:#cfcfcf}.lg\\:dark\\:focus\\:ring-offset-error:focus{--tw-ring-offset-color:#ff453a}.lg\\:dark\\:focus\\:ring-offset-text-light:focus{--tw-ring-offset-color:#0f0f0f}.lg\\:dark\\:focus\\:ring-offset-text-dimmed:focus{--tw-ring-offset-color:#cfcfcf}.lg\\:dark\\:focus\\:ring-offset-text-dark:focus{--tw-ring-offset-color:#fff}.lg\\:dark\\:focus\\:ring-offset-body-light:focus{--tw-ring-offset-color:#fff}.lg\\:dark\\:focus\\:ring-offset-body-dark:focus{--tw-ring-offset-color:#1e1e1e}.lg\\:dark\\:focus\\:ring-offset-button:focus{--tw-ring-offset-color:#0071e3}.lg\\:dark\\:focus\\:ring-offset-button_hover:focus{--tw-ring-offset-color:#0077ed}}.lg\\:filter{--tw-blur:var(--tw-empty,/*!*/ /*!*/);--tw-brightness:var(--tw-empty,/*!*/ /*!*/);--tw-contrast:var(--tw-empty,/*!*/ /*!*/);--tw-grayscale:var(--tw-empty,/*!*/ /*!*/);--tw-hue-rotate:var(--tw-empty,/*!*/ /*!*/);--tw-invert:var(--tw-empty,/*!*/ /*!*/);--tw-saturate:var(--tw-empty,/*!*/ /*!*/);--tw-sepia:var(--tw-empty,/*!*/ /*!*/);--tw-drop-shadow:var(--tw-empty,/*!*/ /*!*/);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.lg\\:filter-none{filter:none}.lg\\:blur-0{--tw-blur:blur(0)}.lg\\:blur-none{--tw-blur:blur(0)}.lg\\:blur-sm{--tw-blur:blur(4px)}.lg\\:blur{--tw-blur:blur(8px)}.lg\\:blur-md{--tw-blur:blur(12px)}.lg\\:blur-lg{--tw-blur:blur(16px)}.lg\\:blur-xl{--tw-blur:blur(24px)}.lg\\:blur-2xl{--tw-blur:blur(40px)}.lg\\:blur-3xl{--tw-blur:blur(64px)}.lg\\:brightness-0{--tw-brightness:brightness(0)}.lg\\:brightness-50{--tw-brightness:brightness(.5)}.lg\\:brightness-75{--tw-brightness:brightness(.75)}.lg\\:brightness-90{--tw-brightness:brightness(.9)}.lg\\:brightness-95{--tw-brightness:brightness(.95)}.lg\\:brightness-100{--tw-brightness:brightness(1)}.lg\\:brightness-105{--tw-brightness:brightness(1.05)}.lg\\:brightness-110{--tw-brightness:brightness(1.1)}.lg\\:brightness-125{--tw-brightness:brightness(1.25)}.lg\\:brightness-150{--tw-brightness:brightness(1.5)}.lg\\:brightness-200{--tw-brightness:brightness(2)}.lg\\:contrast-0{--tw-contrast:contrast(0)}.lg\\:contrast-50{--tw-contrast:contrast(.5)}.lg\\:contrast-75{--tw-contrast:contrast(.75)}.lg\\:contrast-100{--tw-contrast:contrast(1)}.lg\\:contrast-125{--tw-contrast:contrast(1.25)}.lg\\:contrast-150{--tw-contrast:contrast(1.5)}.lg\\:contrast-200{--tw-contrast:contrast(2)}.lg\\:drop-shadow-sm{--tw-drop-shadow:drop-shadow(0 1px 1px rgba(0,0,0,0.05))}.lg\\:drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1)) drop-shadow(0 1px 1px rgba(0, 0, 0, 0.06))}.lg\\:drop-shadow-md{--tw-drop-shadow:drop-shadow(0 4px 3px rgba(0, 0, 0, 0.07)) drop-shadow(0 2px 2px rgba(0, 0, 0, 0.06))}.lg\\:drop-shadow-lg{--tw-drop-shadow:drop-shadow(0 10px 8px rgba(0, 0, 0, 0.04)) drop-shadow(0 4px 3px rgba(0, 0, 0, 0.1))}.lg\\:drop-shadow-xl{--tw-drop-shadow:drop-shadow(0 20px 13px rgba(0, 0, 0, 0.03)) drop-shadow(0 8px 5px rgba(0, 0, 0, 0.08))}.lg\\:drop-shadow-2xl{--tw-drop-shadow:drop-shadow(0 25px 25px rgba(0, 0, 0, 0.15))}.lg\\:drop-shadow-none{--tw-drop-shadow:drop-shadow(0 0 #0000)}.lg\\:grayscale-0{--tw-grayscale:grayscale(0)}.lg\\:grayscale{--tw-grayscale:grayscale(100%)}.lg\\:hue-rotate-0{--tw-hue-rotate:hue-rotate(0deg)}.lg\\:hue-rotate-15{--tw-hue-rotate:hue-rotate(15deg)}.lg\\:hue-rotate-30{--tw-hue-rotate:hue-rotate(30deg)}.lg\\:hue-rotate-60{--tw-hue-rotate:hue-rotate(60deg)}.lg\\:hue-rotate-90{--tw-hue-rotate:hue-rotate(90deg)}.lg\\:hue-rotate-180{--tw-hue-rotate:hue-rotate(180deg)}.lg\\:-hue-rotate-180{--tw-hue-rotate:hue-rotate(-180deg)}.lg\\:-hue-rotate-90{--tw-hue-rotate:hue-rotate(-90deg)}.lg\\:-hue-rotate-60{--tw-hue-rotate:hue-rotate(-60deg)}.lg\\:-hue-rotate-30{--tw-hue-rotate:hue-rotate(-30deg)}.lg\\:-hue-rotate-15{--tw-hue-rotate:hue-rotate(-15deg)}.lg\\:invert-0{--tw-invert:invert(0)}.lg\\:invert{--tw-invert:invert(100%)}.lg\\:saturate-0{--tw-saturate:saturate(0)}.lg\\:saturate-50{--tw-saturate:saturate(.5)}.lg\\:saturate-100{--tw-saturate:saturate(1)}.lg\\:saturate-150{--tw-saturate:saturate(1.5)}.lg\\:saturate-200{--tw-saturate:saturate(2)}.lg\\:sepia-0{--tw-sepia:sepia(0)}.lg\\:sepia{--tw-sepia:sepia(100%)}.lg\\:backdrop-filter{--tw-backdrop-blur:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-brightness:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-contrast:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-grayscale:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-hue-rotate:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-invert:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-opacity:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-saturate:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-sepia:var(--tw-empty,/*!*/ /*!*/);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.lg\\:backdrop-filter-none{backdrop-filter:none}.lg\\:backdrop-blur-0{--tw-backdrop-blur:blur(0)}.lg\\:backdrop-blur-none{--tw-backdrop-blur:blur(0)}.lg\\:backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.lg\\:backdrop-blur{--tw-backdrop-blur:blur(8px)}.lg\\:backdrop-blur-md{--tw-backdrop-blur:blur(12px)}.lg\\:backdrop-blur-lg{--tw-backdrop-blur:blur(16px)}.lg\\:backdrop-blur-xl{--tw-backdrop-blur:blur(24px)}.lg\\:backdrop-blur-2xl{--tw-backdrop-blur:blur(40px)}.lg\\:backdrop-blur-3xl{--tw-backdrop-blur:blur(64px)}.lg\\:backdrop-brightness-0{--tw-backdrop-brightness:brightness(0)}.lg\\:backdrop-brightness-50{--tw-backdrop-brightness:brightness(.5)}.lg\\:backdrop-brightness-75{--tw-backdrop-brightness:brightness(.75)}.lg\\:backdrop-brightness-90{--tw-backdrop-brightness:brightness(.9)}.lg\\:backdrop-brightness-95{--tw-backdrop-brightness:brightness(.95)}.lg\\:backdrop-brightness-100{--tw-backdrop-brightness:brightness(1)}.lg\\:backdrop-brightness-105{--tw-backdrop-brightness:brightness(1.05)}.lg\\:backdrop-brightness-110{--tw-backdrop-brightness:brightness(1.1)}.lg\\:backdrop-brightness-125{--tw-backdrop-brightness:brightness(1.25)}.lg\\:backdrop-brightness-150{--tw-backdrop-brightness:brightness(1.5)}.lg\\:backdrop-brightness-200{--tw-backdrop-brightness:brightness(2)}.lg\\:backdrop-contrast-0{--tw-backdrop-contrast:contrast(0)}.lg\\:backdrop-contrast-50{--tw-backdrop-contrast:contrast(.5)}.lg\\:backdrop-contrast-75{--tw-backdrop-contrast:contrast(.75)}.lg\\:backdrop-contrast-100{--tw-backdrop-contrast:contrast(1)}.lg\\:backdrop-contrast-125{--tw-backdrop-contrast:contrast(1.25)}.lg\\:backdrop-contrast-150{--tw-backdrop-contrast:contrast(1.5)}.lg\\:backdrop-contrast-200{--tw-backdrop-contrast:contrast(2)}.lg\\:backdrop-grayscale-0{--tw-backdrop-grayscale:grayscale(0)}.lg\\:backdrop-grayscale{--tw-backdrop-grayscale:grayscale(100%)}.lg\\:backdrop-hue-rotate-0{--tw-backdrop-hue-rotate:hue-rotate(0deg)}.lg\\:backdrop-hue-rotate-15{--tw-backdrop-hue-rotate:hue-rotate(15deg)}.lg\\:backdrop-hue-rotate-30{--tw-backdrop-hue-rotate:hue-rotate(30deg)}.lg\\:backdrop-hue-rotate-60{--tw-backdrop-hue-rotate:hue-rotate(60deg)}.lg\\:backdrop-hue-rotate-90{--tw-backdrop-hue-rotate:hue-rotate(90deg)}.lg\\:backdrop-hue-rotate-180{--tw-backdrop-hue-rotate:hue-rotate(180deg)}.lg\\:-backdrop-hue-rotate-180{--tw-backdrop-hue-rotate:hue-rotate(-180deg)}.lg\\:-backdrop-hue-rotate-90{--tw-backdrop-hue-rotate:hue-rotate(-90deg)}.lg\\:-backdrop-hue-rotate-60{--tw-backdrop-hue-rotate:hue-rotate(-60deg)}.lg\\:-backdrop-hue-rotate-30{--tw-backdrop-hue-rotate:hue-rotate(-30deg)}.lg\\:-backdrop-hue-rotate-15{--tw-backdrop-hue-rotate:hue-rotate(-15deg)}.lg\\:backdrop-invert-0{--tw-backdrop-invert:invert(0)}.lg\\:backdrop-invert{--tw-backdrop-invert:invert(100%)}.lg\\:backdrop-opacity-0{--tw-backdrop-opacity:opacity(0)}.lg\\:backdrop-opacity-5{--tw-backdrop-opacity:opacity(0.05)}.lg\\:backdrop-opacity-10{--tw-backdrop-opacity:opacity(0.1)}.lg\\:backdrop-opacity-20{--tw-backdrop-opacity:opacity(0.2)}.lg\\:backdrop-opacity-25{--tw-backdrop-opacity:opacity(0.25)}.lg\\:backdrop-opacity-30{--tw-backdrop-opacity:opacity(0.3)}.lg\\:backdrop-opacity-40{--tw-backdrop-opacity:opacity(0.4)}.lg\\:backdrop-opacity-50{--tw-backdrop-opacity:opacity(0.5)}.lg\\:backdrop-opacity-60{--tw-backdrop-opacity:opacity(0.6)}.lg\\:backdrop-opacity-70{--tw-backdrop-opacity:opacity(0.7)}.lg\\:backdrop-opacity-75{--tw-backdrop-opacity:opacity(0.75)}.lg\\:backdrop-opacity-80{--tw-backdrop-opacity:opacity(0.8)}.lg\\:backdrop-opacity-90{--tw-backdrop-opacity:opacity(0.9)}.lg\\:backdrop-opacity-95{--tw-backdrop-opacity:opacity(0.95)}.lg\\:backdrop-opacity-100{--tw-backdrop-opacity:opacity(1)}.lg\\:backdrop-saturate-0{--tw-backdrop-saturate:saturate(0)}.lg\\:backdrop-saturate-50{--tw-backdrop-saturate:saturate(.5)}.lg\\:backdrop-saturate-100{--tw-backdrop-saturate:saturate(1)}.lg\\:backdrop-saturate-150{--tw-backdrop-saturate:saturate(1.5)}.lg\\:backdrop-saturate-200{--tw-backdrop-saturate:saturate(2)}.lg\\:backdrop-sepia-0{--tw-backdrop-sepia:sepia(0)}.lg\\:backdrop-sepia{--tw-backdrop-sepia:sepia(100%)}.lg\\:transition-none{transition-property:none}.lg\\:transition-all{transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.lg\\:transition{transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.lg\\:transition-colors{transition-property:background-color, border-color, color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.lg\\:transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.lg\\:transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.lg\\:transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.lg\\:delay-75{transition-delay:75ms}.lg\\:delay-100{transition-delay:100ms}.lg\\:delay-150{transition-delay:150ms}.lg\\:delay-200{transition-delay:200ms}.lg\\:delay-300{transition-delay:300ms}.lg\\:delay-500{transition-delay:500ms}.lg\\:delay-700{transition-delay:700ms}.lg\\:delay-1000{transition-delay:1000ms}.lg\\:duration-75{transition-duration:75ms}.lg\\:duration-100{transition-duration:100ms}.lg\\:duration-150{transition-duration:150ms}.lg\\:duration-200{transition-duration:200ms}.lg\\:duration-300{transition-duration:300ms}.lg\\:duration-500{transition-duration:500ms}.lg\\:duration-700{transition-duration:700ms}.lg\\:duration-1000{transition-duration:1000ms}.lg\\:ease-linear{transition-timing-function:linear}.lg\\:ease-in{transition-timing-function:cubic-bezier(0.4, 0, 1, 1)}.lg\\:ease-out{transition-timing-function:cubic-bezier(0, 0, 0.2, 1)}.lg\\:ease-in-out{transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}}@media(min-width: 1280px){.xl\\:container{width:100%}@media(min-width: 640px){.xl\\:container{max-width:640px}}@media(min-width: 768px){.xl\\:container{max-width:768px}}@media(min-width: 1024px){.xl\\:container{max-width:1024px}}@media(min-width: 1280px){.xl\\:container{max-width:1280px}}@media(min-width: 1536px){.xl\\:container{max-width:1536px}}.xl\\:sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.xl\\:not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.xl\\:focus-within\\:sr-only:focus-within{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.xl\\:focus-within\\:not-sr-only:focus-within{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.xl\\:focus\\:sr-only:focus{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.xl\\:focus\\:not-sr-only:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.xl\\:pointer-events-none{pointer-events:none}.xl\\:pointer-events-auto{pointer-events:auto}.xl\\:visible{visibility:visible}.xl\\:invisible{visibility:hidden}.xl\\:static{position:static}.xl\\:fixed{position:fixed}.xl\\:absolute{position:absolute}.xl\\:relative{position:relative}.xl\\:sticky{position:sticky}.xl\\:inset-0{top:0px;right:0px;bottom:0px;left:0px}.xl\\:inset-1{top:0.25rem;right:0.25rem;bottom:0.25rem;left:0.25rem}.xl\\:inset-2{top:0.5rem;right:0.5rem;bottom:0.5rem;left:0.5rem}.xl\\:inset-3{top:0.75rem;right:0.75rem;bottom:0.75rem;left:0.75rem}.xl\\:inset-4{top:1rem;right:1rem;bottom:1rem;left:1rem}.xl\\:inset-5{top:1.25rem;right:1.25rem;bottom:1.25rem;left:1.25rem}.xl\\:inset-6{top:1.5rem;right:1.5rem;bottom:1.5rem;left:1.5rem}.xl\\:inset-7{top:1.75rem;right:1.75rem;bottom:1.75rem;left:1.75rem}.xl\\:inset-8{top:2rem;right:2rem;bottom:2rem;left:2rem}.xl\\:inset-9{top:2.25rem;right:2.25rem;bottom:2.25rem;left:2.25rem}.xl\\:inset-10{top:2.5rem;right:2.5rem;bottom:2.5rem;left:2.5rem}.xl\\:inset-11{top:2.75rem;right:2.75rem;bottom:2.75rem;left:2.75rem}.xl\\:inset-12{top:3rem;right:3rem;bottom:3rem;left:3rem}.xl\\:inset-14{top:3.5rem;right:3.5rem;bottom:3.5rem;left:3.5rem}.xl\\:inset-16{top:4rem;right:4rem;bottom:4rem;left:4rem}.xl\\:inset-20{top:5rem;right:5rem;bottom:5rem;left:5rem}.xl\\:inset-24{top:6rem;right:6rem;bottom:6rem;left:6rem}.xl\\:inset-28{top:7rem;right:7rem;bottom:7rem;left:7rem}.xl\\:inset-32{top:8rem;right:8rem;bottom:8rem;left:8rem}.xl\\:inset-36{top:9rem;right:9rem;bottom:9rem;left:9rem}.xl\\:inset-40{top:10rem;right:10rem;bottom:10rem;left:10rem}.xl\\:inset-44{top:11rem;right:11rem;bottom:11rem;left:11rem}.xl\\:inset-48{top:12rem;right:12rem;bottom:12rem;left:12rem}.xl\\:inset-52{top:13rem;right:13rem;bottom:13rem;left:13rem}.xl\\:inset-56{top:14rem;right:14rem;bottom:14rem;left:14rem}.xl\\:inset-60{top:15rem;right:15rem;bottom:15rem;left:15rem}.xl\\:inset-64{top:16rem;right:16rem;bottom:16rem;left:16rem}.xl\\:inset-72{top:18rem;right:18rem;bottom:18rem;left:18rem}.xl\\:inset-80{top:20rem;right:20rem;bottom:20rem;left:20rem}.xl\\:inset-96{top:24rem;right:24rem;bottom:24rem;left:24rem}.xl\\:inset-auto{top:auto;right:auto;bottom:auto;left:auto}.xl\\:inset-px{top:1px;right:1px;bottom:1px;left:1px}.xl\\:inset-0\\.5{top:0.125rem;right:0.125rem;bottom:0.125rem;left:0.125rem}.xl\\:inset-1\\.5{top:0.375rem;right:0.375rem;bottom:0.375rem;left:0.375rem}.xl\\:inset-2\\.5{top:0.625rem;right:0.625rem;bottom:0.625rem;left:0.625rem}.xl\\:inset-3\\.5{top:0.875rem;right:0.875rem;bottom:0.875rem;left:0.875rem}.xl\\:-inset-0{top:0px;right:0px;bottom:0px;left:0px}.xl\\:-inset-1{top:-0.25rem;right:-0.25rem;bottom:-0.25rem;left:-0.25rem}.xl\\:-inset-2{top:-0.5rem;right:-0.5rem;bottom:-0.5rem;left:-0.5rem}.xl\\:-inset-3{top:-0.75rem;right:-0.75rem;bottom:-0.75rem;left:-0.75rem}.xl\\:-inset-4{top:-1rem;right:-1rem;bottom:-1rem;left:-1rem}.xl\\:-inset-5{top:-1.25rem;right:-1.25rem;bottom:-1.25rem;left:-1.25rem}.xl\\:-inset-6{top:-1.5rem;right:-1.5rem;bottom:-1.5rem;left:-1.5rem}.xl\\:-inset-7{top:-1.75rem;right:-1.75rem;bottom:-1.75rem;left:-1.75rem}.xl\\:-inset-8{top:-2rem;right:-2rem;bottom:-2rem;left:-2rem}.xl\\:-inset-9{top:-2.25rem;right:-2.25rem;bottom:-2.25rem;left:-2.25rem}.xl\\:-inset-10{top:-2.5rem;right:-2.5rem;bottom:-2.5rem;left:-2.5rem}.xl\\:-inset-11{top:-2.75rem;right:-2.75rem;bottom:-2.75rem;left:-2.75rem}.xl\\:-inset-12{top:-3rem;right:-3rem;bottom:-3rem;left:-3rem}.xl\\:-inset-14{top:-3.5rem;right:-3.5rem;bottom:-3.5rem;left:-3.5rem}.xl\\:-inset-16{top:-4rem;right:-4rem;bottom:-4rem;left:-4rem}.xl\\:-inset-20{top:-5rem;right:-5rem;bottom:-5rem;left:-5rem}.xl\\:-inset-24{top:-6rem;right:-6rem;bottom:-6rem;left:-6rem}.xl\\:-inset-28{top:-7rem;right:-7rem;bottom:-7rem;left:-7rem}.xl\\:-inset-32{top:-8rem;right:-8rem;bottom:-8rem;left:-8rem}.xl\\:-inset-36{top:-9rem;right:-9rem;bottom:-9rem;left:-9rem}.xl\\:-inset-40{top:-10rem;right:-10rem;bottom:-10rem;left:-10rem}.xl\\:-inset-44{top:-11rem;right:-11rem;bottom:-11rem;left:-11rem}.xl\\:-inset-48{top:-12rem;right:-12rem;bottom:-12rem;left:-12rem}.xl\\:-inset-52{top:-13rem;right:-13rem;bottom:-13rem;left:-13rem}.xl\\:-inset-56{top:-14rem;right:-14rem;bottom:-14rem;left:-14rem}.xl\\:-inset-60{top:-15rem;right:-15rem;bottom:-15rem;left:-15rem}.xl\\:-inset-64{top:-16rem;right:-16rem;bottom:-16rem;left:-16rem}.xl\\:-inset-72{top:-18rem;right:-18rem;bottom:-18rem;left:-18rem}.xl\\:-inset-80{top:-20rem;right:-20rem;bottom:-20rem;left:-20rem}.xl\\:-inset-96{top:-24rem;right:-24rem;bottom:-24rem;left:-24rem}.xl\\:-inset-px{top:-1px;right:-1px;bottom:-1px;left:-1px}.xl\\:-inset-0\\.5{top:-0.125rem;right:-0.125rem;bottom:-0.125rem;left:-0.125rem}.xl\\:-inset-1\\.5{top:-0.375rem;right:-0.375rem;bottom:-0.375rem;left:-0.375rem}.xl\\:-inset-2\\.5{top:-0.625rem;right:-0.625rem;bottom:-0.625rem;left:-0.625rem}.xl\\:-inset-3\\.5{top:-0.875rem;right:-0.875rem;bottom:-0.875rem;left:-0.875rem}.xl\\:inset-1\\/2{top:50%;right:50%;bottom:50%;left:50%}.xl\\:inset-1\\/3{top:33.333333%;right:33.333333%;bottom:33.333333%;left:33.333333%}.xl\\:inset-2\\/3{top:66.666667%;right:66.666667%;bottom:66.666667%;left:66.666667%}.xl\\:inset-1\\/4{top:25%;right:25%;bottom:25%;left:25%}.xl\\:inset-2\\/4{top:50%;right:50%;bottom:50%;left:50%}.xl\\:inset-3\\/4{top:75%;right:75%;bottom:75%;left:75%}.xl\\:inset-full{top:100%;right:100%;bottom:100%;left:100%}.xl\\:-inset-1\\/2{top:-50%;right:-50%;bottom:-50%;left:-50%}.xl\\:-inset-1\\/3{top:-33.333333%;right:-33.333333%;bottom:-33.333333%;left:-33.333333%}.xl\\:-inset-2\\/3{top:-66.666667%;right:-66.666667%;bottom:-66.666667%;left:-66.666667%}.xl\\:-inset-1\\/4{top:-25%;right:-25%;bottom:-25%;left:-25%}.xl\\:-inset-2\\/4{top:-50%;right:-50%;bottom:-50%;left:-50%}.xl\\:-inset-3\\/4{top:-75%;right:-75%;bottom:-75%;left:-75%}.xl\\:-inset-full{top:-100%;right:-100%;bottom:-100%;left:-100%}.xl\\:inset-x-0{left:0px;right:0px}.xl\\:inset-x-1{left:0.25rem;right:0.25rem}.xl\\:inset-x-2{left:0.5rem;right:0.5rem}.xl\\:inset-x-3{left:0.75rem;right:0.75rem}.xl\\:inset-x-4{left:1rem;right:1rem}.xl\\:inset-x-5{left:1.25rem;right:1.25rem}.xl\\:inset-x-6{left:1.5rem;right:1.5rem}.xl\\:inset-x-7{left:1.75rem;right:1.75rem}.xl\\:inset-x-8{left:2rem;right:2rem}.xl\\:inset-x-9{left:2.25rem;right:2.25rem}.xl\\:inset-x-10{left:2.5rem;right:2.5rem}.xl\\:inset-x-11{left:2.75rem;right:2.75rem}.xl\\:inset-x-12{left:3rem;right:3rem}.xl\\:inset-x-14{left:3.5rem;right:3.5rem}.xl\\:inset-x-16{left:4rem;right:4rem}.xl\\:inset-x-20{left:5rem;right:5rem}.xl\\:inset-x-24{left:6rem;right:6rem}.xl\\:inset-x-28{left:7rem;right:7rem}.xl\\:inset-x-32{left:8rem;right:8rem}.xl\\:inset-x-36{left:9rem;right:9rem}.xl\\:inset-x-40{left:10rem;right:10rem}.xl\\:inset-x-44{left:11rem;right:11rem}.xl\\:inset-x-48{left:12rem;right:12rem}.xl\\:inset-x-52{left:13rem;right:13rem}.xl\\:inset-x-56{left:14rem;right:14rem}.xl\\:inset-x-60{left:15rem;right:15rem}.xl\\:inset-x-64{left:16rem;right:16rem}.xl\\:inset-x-72{left:18rem;right:18rem}.xl\\:inset-x-80{left:20rem;right:20rem}.xl\\:inset-x-96{left:24rem;right:24rem}.xl\\:inset-x-auto{left:auto;right:auto}.xl\\:inset-x-px{left:1px;right:1px}.xl\\:inset-x-0\\.5{left:0.125rem;right:0.125rem}.xl\\:inset-x-1\\.5{left:0.375rem;right:0.375rem}.xl\\:inset-x-2\\.5{left:0.625rem;right:0.625rem}.xl\\:inset-x-3\\.5{left:0.875rem;right:0.875rem}.xl\\:-inset-x-0{left:0px;right:0px}.xl\\:-inset-x-1{left:-0.25rem;right:-0.25rem}.xl\\:-inset-x-2{left:-0.5rem;right:-0.5rem}.xl\\:-inset-x-3{left:-0.75rem;right:-0.75rem}.xl\\:-inset-x-4{left:-1rem;right:-1rem}.xl\\:-inset-x-5{left:-1.25rem;right:-1.25rem}.xl\\:-inset-x-6{left:-1.5rem;right:-1.5rem}.xl\\:-inset-x-7{left:-1.75rem;right:-1.75rem}.xl\\:-inset-x-8{left:-2rem;right:-2rem}.xl\\:-inset-x-9{left:-2.25rem;right:-2.25rem}.xl\\:-inset-x-10{left:-2.5rem;right:-2.5rem}.xl\\:-inset-x-11{left:-2.75rem;right:-2.75rem}.xl\\:-inset-x-12{left:-3rem;right:-3rem}.xl\\:-inset-x-14{left:-3.5rem;right:-3.5rem}.xl\\:-inset-x-16{left:-4rem;right:-4rem}.xl\\:-inset-x-20{left:-5rem;right:-5rem}.xl\\:-inset-x-24{left:-6rem;right:-6rem}.xl\\:-inset-x-28{left:-7rem;right:-7rem}.xl\\:-inset-x-32{left:-8rem;right:-8rem}.xl\\:-inset-x-36{left:-9rem;right:-9rem}.xl\\:-inset-x-40{left:-10rem;right:-10rem}.xl\\:-inset-x-44{left:-11rem;right:-11rem}.xl\\:-inset-x-48{left:-12rem;right:-12rem}.xl\\:-inset-x-52{left:-13rem;right:-13rem}.xl\\:-inset-x-56{left:-14rem;right:-14rem}.xl\\:-inset-x-60{left:-15rem;right:-15rem}.xl\\:-inset-x-64{left:-16rem;right:-16rem}.xl\\:-inset-x-72{left:-18rem;right:-18rem}.xl\\:-inset-x-80{left:-20rem;right:-20rem}.xl\\:-inset-x-96{left:-24rem;right:-24rem}.xl\\:-inset-x-px{left:-1px;right:-1px}.xl\\:-inset-x-0\\.5{left:-0.125rem;right:-0.125rem}.xl\\:-inset-x-1\\.5{left:-0.375rem;right:-0.375rem}.xl\\:-inset-x-2\\.5{left:-0.625rem;right:-0.625rem}.xl\\:-inset-x-3\\.5{left:-0.875rem;right:-0.875rem}.xl\\:inset-x-1\\/2{left:50%;right:50%}.xl\\:inset-x-1\\/3{left:33.333333%;right:33.333333%}.xl\\:inset-x-2\\/3{left:66.666667%;right:66.666667%}.xl\\:inset-x-1\\/4{left:25%;right:25%}.xl\\:inset-x-2\\/4{left:50%;right:50%}.xl\\:inset-x-3\\/4{left:75%;right:75%}.xl\\:inset-x-full{left:100%;right:100%}.xl\\:-inset-x-1\\/2{left:-50%;right:-50%}.xl\\:-inset-x-1\\/3{left:-33.333333%;right:-33.333333%}.xl\\:-inset-x-2\\/3{left:-66.666667%;right:-66.666667%}.xl\\:-inset-x-1\\/4{left:-25%;right:-25%}.xl\\:-inset-x-2\\/4{left:-50%;right:-50%}.xl\\:-inset-x-3\\/4{left:-75%;right:-75%}.xl\\:-inset-x-full{left:-100%;right:-100%}.xl\\:inset-y-0{top:0px;bottom:0px}.xl\\:inset-y-1{top:0.25rem;bottom:0.25rem}.xl\\:inset-y-2{top:0.5rem;bottom:0.5rem}.xl\\:inset-y-3{top:0.75rem;bottom:0.75rem}.xl\\:inset-y-4{top:1rem;bottom:1rem}.xl\\:inset-y-5{top:1.25rem;bottom:1.25rem}.xl\\:inset-y-6{top:1.5rem;bottom:1.5rem}.xl\\:inset-y-7{top:1.75rem;bottom:1.75rem}.xl\\:inset-y-8{top:2rem;bottom:2rem}.xl\\:inset-y-9{top:2.25rem;bottom:2.25rem}.xl\\:inset-y-10{top:2.5rem;bottom:2.5rem}.xl\\:inset-y-11{top:2.75rem;bottom:2.75rem}.xl\\:inset-y-12{top:3rem;bottom:3rem}.xl\\:inset-y-14{top:3.5rem;bottom:3.5rem}.xl\\:inset-y-16{top:4rem;bottom:4rem}.xl\\:inset-y-20{top:5rem;bottom:5rem}.xl\\:inset-y-24{top:6rem;bottom:6rem}.xl\\:inset-y-28{top:7rem;bottom:7rem}.xl\\:inset-y-32{top:8rem;bottom:8rem}.xl\\:inset-y-36{top:9rem;bottom:9rem}.xl\\:inset-y-40{top:10rem;bottom:10rem}.xl\\:inset-y-44{top:11rem;bottom:11rem}.xl\\:inset-y-48{top:12rem;bottom:12rem}.xl\\:inset-y-52{top:13rem;bottom:13rem}.xl\\:inset-y-56{top:14rem;bottom:14rem}.xl\\:inset-y-60{top:15rem;bottom:15rem}.xl\\:inset-y-64{top:16rem;bottom:16rem}.xl\\:inset-y-72{top:18rem;bottom:18rem}.xl\\:inset-y-80{top:20rem;bottom:20rem}.xl\\:inset-y-96{top:24rem;bottom:24rem}.xl\\:inset-y-auto{top:auto;bottom:auto}.xl\\:inset-y-px{top:1px;bottom:1px}.xl\\:inset-y-0\\.5{top:0.125rem;bottom:0.125rem}.xl\\:inset-y-1\\.5{top:0.375rem;bottom:0.375rem}.xl\\:inset-y-2\\.5{top:0.625rem;bottom:0.625rem}.xl\\:inset-y-3\\.5{top:0.875rem;bottom:0.875rem}.xl\\:-inset-y-0{top:0px;bottom:0px}.xl\\:-inset-y-1{top:-0.25rem;bottom:-0.25rem}.xl\\:-inset-y-2{top:-0.5rem;bottom:-0.5rem}.xl\\:-inset-y-3{top:-0.75rem;bottom:-0.75rem}.xl\\:-inset-y-4{top:-1rem;bottom:-1rem}.xl\\:-inset-y-5{top:-1.25rem;bottom:-1.25rem}.xl\\:-inset-y-6{top:-1.5rem;bottom:-1.5rem}.xl\\:-inset-y-7{top:-1.75rem;bottom:-1.75rem}.xl\\:-inset-y-8{top:-2rem;bottom:-2rem}.xl\\:-inset-y-9{top:-2.25rem;bottom:-2.25rem}.xl\\:-inset-y-10{top:-2.5rem;bottom:-2.5rem}.xl\\:-inset-y-11{top:-2.75rem;bottom:-2.75rem}.xl\\:-inset-y-12{top:-3rem;bottom:-3rem}.xl\\:-inset-y-14{top:-3.5rem;bottom:-3.5rem}.xl\\:-inset-y-16{top:-4rem;bottom:-4rem}.xl\\:-inset-y-20{top:-5rem;bottom:-5rem}.xl\\:-inset-y-24{top:-6rem;bottom:-6rem}.xl\\:-inset-y-28{top:-7rem;bottom:-7rem}.xl\\:-inset-y-32{top:-8rem;bottom:-8rem}.xl\\:-inset-y-36{top:-9rem;bottom:-9rem}.xl\\:-inset-y-40{top:-10rem;bottom:-10rem}.xl\\:-inset-y-44{top:-11rem;bottom:-11rem}.xl\\:-inset-y-48{top:-12rem;bottom:-12rem}.xl\\:-inset-y-52{top:-13rem;bottom:-13rem}.xl\\:-inset-y-56{top:-14rem;bottom:-14rem}.xl\\:-inset-y-60{top:-15rem;bottom:-15rem}.xl\\:-inset-y-64{top:-16rem;bottom:-16rem}.xl\\:-inset-y-72{top:-18rem;bottom:-18rem}.xl\\:-inset-y-80{top:-20rem;bottom:-20rem}.xl\\:-inset-y-96{top:-24rem;bottom:-24rem}.xl\\:-inset-y-px{top:-1px;bottom:-1px}.xl\\:-inset-y-0\\.5{top:-0.125rem;bottom:-0.125rem}.xl\\:-inset-y-1\\.5{top:-0.375rem;bottom:-0.375rem}.xl\\:-inset-y-2\\.5{top:-0.625rem;bottom:-0.625rem}.xl\\:-inset-y-3\\.5{top:-0.875rem;bottom:-0.875rem}.xl\\:inset-y-1\\/2{top:50%;bottom:50%}.xl\\:inset-y-1\\/3{top:33.333333%;bottom:33.333333%}.xl\\:inset-y-2\\/3{top:66.666667%;bottom:66.666667%}.xl\\:inset-y-1\\/4{top:25%;bottom:25%}.xl\\:inset-y-2\\/4{top:50%;bottom:50%}.xl\\:inset-y-3\\/4{top:75%;bottom:75%}.xl\\:inset-y-full{top:100%;bottom:100%}.xl\\:-inset-y-1\\/2{top:-50%;bottom:-50%}.xl\\:-inset-y-1\\/3{top:-33.333333%;bottom:-33.333333%}.xl\\:-inset-y-2\\/3{top:-66.666667%;bottom:-66.666667%}.xl\\:-inset-y-1\\/4{top:-25%;bottom:-25%}.xl\\:-inset-y-2\\/4{top:-50%;bottom:-50%}.xl\\:-inset-y-3\\/4{top:-75%;bottom:-75%}.xl\\:-inset-y-full{top:-100%;bottom:-100%}.xl\\:top-0{top:0px}.xl\\:top-1{top:0.25rem}.xl\\:top-2{top:0.5rem}.xl\\:top-3{top:0.75rem}.xl\\:top-4{top:1rem}.xl\\:top-5{top:1.25rem}.xl\\:top-6{top:1.5rem}.xl\\:top-7{top:1.75rem}.xl\\:top-8{top:2rem}.xl\\:top-9{top:2.25rem}.xl\\:top-10{top:2.5rem}.xl\\:top-11{top:2.75rem}.xl\\:top-12{top:3rem}.xl\\:top-14{top:3.5rem}.xl\\:top-16{top:4rem}.xl\\:top-20{top:5rem}.xl\\:top-24{top:6rem}.xl\\:top-28{top:7rem}.xl\\:top-32{top:8rem}.xl\\:top-36{top:9rem}.xl\\:top-40{top:10rem}.xl\\:top-44{top:11rem}.xl\\:top-48{top:12rem}.xl\\:top-52{top:13rem}.xl\\:top-56{top:14rem}.xl\\:top-60{top:15rem}.xl\\:top-64{top:16rem}.xl\\:top-72{top:18rem}.xl\\:top-80{top:20rem}.xl\\:top-96{top:24rem}.xl\\:top-auto{top:auto}.xl\\:top-px{top:1px}.xl\\:top-0\\.5{top:0.125rem}.xl\\:top-1\\.5{top:0.375rem}.xl\\:top-2\\.5{top:0.625rem}.xl\\:top-3\\.5{top:0.875rem}.xl\\:-top-0{top:0px}.xl\\:-top-1{top:-0.25rem}.xl\\:-top-2{top:-0.5rem}.xl\\:-top-3{top:-0.75rem}.xl\\:-top-4{top:-1rem}.xl\\:-top-5{top:-1.25rem}.xl\\:-top-6{top:-1.5rem}.xl\\:-top-7{top:-1.75rem}.xl\\:-top-8{top:-2rem}.xl\\:-top-9{top:-2.25rem}.xl\\:-top-10{top:-2.5rem}.xl\\:-top-11{top:-2.75rem}.xl\\:-top-12{top:-3rem}.xl\\:-top-14{top:-3.5rem}.xl\\:-top-16{top:-4rem}.xl\\:-top-20{top:-5rem}.xl\\:-top-24{top:-6rem}.xl\\:-top-28{top:-7rem}.xl\\:-top-32{top:-8rem}.xl\\:-top-36{top:-9rem}.xl\\:-top-40{top:-10rem}.xl\\:-top-44{top:-11rem}.xl\\:-top-48{top:-12rem}.xl\\:-top-52{top:-13rem}.xl\\:-top-56{top:-14rem}.xl\\:-top-60{top:-15rem}.xl\\:-top-64{top:-16rem}.xl\\:-top-72{top:-18rem}.xl\\:-top-80{top:-20rem}.xl\\:-top-96{top:-24rem}.xl\\:-top-px{top:-1px}.xl\\:-top-0\\.5{top:-0.125rem}.xl\\:-top-1\\.5{top:-0.375rem}.xl\\:-top-2\\.5{top:-0.625rem}.xl\\:-top-3\\.5{top:-0.875rem}.xl\\:top-1\\/2{top:50%}.xl\\:top-1\\/3{top:33.333333%}.xl\\:top-2\\/3{top:66.666667%}.xl\\:top-1\\/4{top:25%}.xl\\:top-2\\/4{top:50%}.xl\\:top-3\\/4{top:75%}.xl\\:top-full{top:100%}.xl\\:-top-1\\/2{top:-50%}.xl\\:-top-1\\/3{top:-33.333333%}.xl\\:-top-2\\/3{top:-66.666667%}.xl\\:-top-1\\/4{top:-25%}.xl\\:-top-2\\/4{top:-50%}.xl\\:-top-3\\/4{top:-75%}.xl\\:-top-full{top:-100%}.xl\\:right-0{right:0px}.xl\\:right-1{right:0.25rem}.xl\\:right-2{right:0.5rem}.xl\\:right-3{right:0.75rem}.xl\\:right-4{right:1rem}.xl\\:right-5{right:1.25rem}.xl\\:right-6{right:1.5rem}.xl\\:right-7{right:1.75rem}.xl\\:right-8{right:2rem}.xl\\:right-9{right:2.25rem}.xl\\:right-10{right:2.5rem}.xl\\:right-11{right:2.75rem}.xl\\:right-12{right:3rem}.xl\\:right-14{right:3.5rem}.xl\\:right-16{right:4rem}.xl\\:right-20{right:5rem}.xl\\:right-24{right:6rem}.xl\\:right-28{right:7rem}.xl\\:right-32{right:8rem}.xl\\:right-36{right:9rem}.xl\\:right-40{right:10rem}.xl\\:right-44{right:11rem}.xl\\:right-48{right:12rem}.xl\\:right-52{right:13rem}.xl\\:right-56{right:14rem}.xl\\:right-60{right:15rem}.xl\\:right-64{right:16rem}.xl\\:right-72{right:18rem}.xl\\:right-80{right:20rem}.xl\\:right-96{right:24rem}.xl\\:right-auto{right:auto}.xl\\:right-px{right:1px}.xl\\:right-0\\.5{right:0.125rem}.xl\\:right-1\\.5{right:0.375rem}.xl\\:right-2\\.5{right:0.625rem}.xl\\:right-3\\.5{right:0.875rem}.xl\\:-right-0{right:0px}.xl\\:-right-1{right:-0.25rem}.xl\\:-right-2{right:-0.5rem}.xl\\:-right-3{right:-0.75rem}.xl\\:-right-4{right:-1rem}.xl\\:-right-5{right:-1.25rem}.xl\\:-right-6{right:-1.5rem}.xl\\:-right-7{right:-1.75rem}.xl\\:-right-8{right:-2rem}.xl\\:-right-9{right:-2.25rem}.xl\\:-right-10{right:-2.5rem}.xl\\:-right-11{right:-2.75rem}.xl\\:-right-12{right:-3rem}.xl\\:-right-14{right:-3.5rem}.xl\\:-right-16{right:-4rem}.xl\\:-right-20{right:-5rem}.xl\\:-right-24{right:-6rem}.xl\\:-right-28{right:-7rem}.xl\\:-right-32{right:-8rem}.xl\\:-right-36{right:-9rem}.xl\\:-right-40{right:-10rem}.xl\\:-right-44{right:-11rem}.xl\\:-right-48{right:-12rem}.xl\\:-right-52{right:-13rem}.xl\\:-right-56{right:-14rem}.xl\\:-right-60{right:-15rem}.xl\\:-right-64{right:-16rem}.xl\\:-right-72{right:-18rem}.xl\\:-right-80{right:-20rem}.xl\\:-right-96{right:-24rem}.xl\\:-right-px{right:-1px}.xl\\:-right-0\\.5{right:-0.125rem}.xl\\:-right-1\\.5{right:-0.375rem}.xl\\:-right-2\\.5{right:-0.625rem}.xl\\:-right-3\\.5{right:-0.875rem}.xl\\:right-1\\/2{right:50%}.xl\\:right-1\\/3{right:33.333333%}.xl\\:right-2\\/3{right:66.666667%}.xl\\:right-1\\/4{right:25%}.xl\\:right-2\\/4{right:50%}.xl\\:right-3\\/4{right:75%}.xl\\:right-full{right:100%}.xl\\:-right-1\\/2{right:-50%}.xl\\:-right-1\\/3{right:-33.333333%}.xl\\:-right-2\\/3{right:-66.666667%}.xl\\:-right-1\\/4{right:-25%}.xl\\:-right-2\\/4{right:-50%}.xl\\:-right-3\\/4{right:-75%}.xl\\:-right-full{right:-100%}.xl\\:bottom-0{bottom:0px}.xl\\:bottom-1{bottom:0.25rem}.xl\\:bottom-2{bottom:0.5rem}.xl\\:bottom-3{bottom:0.75rem}.xl\\:bottom-4{bottom:1rem}.xl\\:bottom-5{bottom:1.25rem}.xl\\:bottom-6{bottom:1.5rem}.xl\\:bottom-7{bottom:1.75rem}.xl\\:bottom-8{bottom:2rem}.xl\\:bottom-9{bottom:2.25rem}.xl\\:bottom-10{bottom:2.5rem}.xl\\:bottom-11{bottom:2.75rem}.xl\\:bottom-12{bottom:3rem}.xl\\:bottom-14{bottom:3.5rem}.xl\\:bottom-16{bottom:4rem}.xl\\:bottom-20{bottom:5rem}.xl\\:bottom-24{bottom:6rem}.xl\\:bottom-28{bottom:7rem}.xl\\:bottom-32{bottom:8rem}.xl\\:bottom-36{bottom:9rem}.xl\\:bottom-40{bottom:10rem}.xl\\:bottom-44{bottom:11rem}.xl\\:bottom-48{bottom:12rem}.xl\\:bottom-52{bottom:13rem}.xl\\:bottom-56{bottom:14rem}.xl\\:bottom-60{bottom:15rem}.xl\\:bottom-64{bottom:16rem}.xl\\:bottom-72{bottom:18rem}.xl\\:bottom-80{bottom:20rem}.xl\\:bottom-96{bottom:24rem}.xl\\:bottom-auto{bottom:auto}.xl\\:bottom-px{bottom:1px}.xl\\:bottom-0\\.5{bottom:0.125rem}.xl\\:bottom-1\\.5{bottom:0.375rem}.xl\\:bottom-2\\.5{bottom:0.625rem}.xl\\:bottom-3\\.5{bottom:0.875rem}.xl\\:-bottom-0{bottom:0px}.xl\\:-bottom-1{bottom:-0.25rem}.xl\\:-bottom-2{bottom:-0.5rem}.xl\\:-bottom-3{bottom:-0.75rem}.xl\\:-bottom-4{bottom:-1rem}.xl\\:-bottom-5{bottom:-1.25rem}.xl\\:-bottom-6{bottom:-1.5rem}.xl\\:-bottom-7{bottom:-1.75rem}.xl\\:-bottom-8{bottom:-2rem}.xl\\:-bottom-9{bottom:-2.25rem}.xl\\:-bottom-10{bottom:-2.5rem}.xl\\:-bottom-11{bottom:-2.75rem}.xl\\:-bottom-12{bottom:-3rem}.xl\\:-bottom-14{bottom:-3.5rem}.xl\\:-bottom-16{bottom:-4rem}.xl\\:-bottom-20{bottom:-5rem}.xl\\:-bottom-24{bottom:-6rem}.xl\\:-bottom-28{bottom:-7rem}.xl\\:-bottom-32{bottom:-8rem}.xl\\:-bottom-36{bottom:-9rem}.xl\\:-bottom-40{bottom:-10rem}.xl\\:-bottom-44{bottom:-11rem}.xl\\:-bottom-48{bottom:-12rem}.xl\\:-bottom-52{bottom:-13rem}.xl\\:-bottom-56{bottom:-14rem}.xl\\:-bottom-60{bottom:-15rem}.xl\\:-bottom-64{bottom:-16rem}.xl\\:-bottom-72{bottom:-18rem}.xl\\:-bottom-80{bottom:-20rem}.xl\\:-bottom-96{bottom:-24rem}.xl\\:-bottom-px{bottom:-1px}.xl\\:-bottom-0\\.5{bottom:-0.125rem}.xl\\:-bottom-1\\.5{bottom:-0.375rem}.xl\\:-bottom-2\\.5{bottom:-0.625rem}.xl\\:-bottom-3\\.5{bottom:-0.875rem}.xl\\:bottom-1\\/2{bottom:50%}.xl\\:bottom-1\\/3{bottom:33.333333%}.xl\\:bottom-2\\/3{bottom:66.666667%}.xl\\:bottom-1\\/4{bottom:25%}.xl\\:bottom-2\\/4{bottom:50%}.xl\\:bottom-3\\/4{bottom:75%}.xl\\:bottom-full{bottom:100%}.xl\\:-bottom-1\\/2{bottom:-50%}.xl\\:-bottom-1\\/3{bottom:-33.333333%}.xl\\:-bottom-2\\/3{bottom:-66.666667%}.xl\\:-bottom-1\\/4{bottom:-25%}.xl\\:-bottom-2\\/4{bottom:-50%}.xl\\:-bottom-3\\/4{bottom:-75%}.xl\\:-bottom-full{bottom:-100%}.xl\\:left-0{left:0px}.xl\\:left-1{left:0.25rem}.xl\\:left-2{left:0.5rem}.xl\\:left-3{left:0.75rem}.xl\\:left-4{left:1rem}.xl\\:left-5{left:1.25rem}.xl\\:left-6{left:1.5rem}.xl\\:left-7{left:1.75rem}.xl\\:left-8{left:2rem}.xl\\:left-9{left:2.25rem}.xl\\:left-10{left:2.5rem}.xl\\:left-11{left:2.75rem}.xl\\:left-12{left:3rem}.xl\\:left-14{left:3.5rem}.xl\\:left-16{left:4rem}.xl\\:left-20{left:5rem}.xl\\:left-24{left:6rem}.xl\\:left-28{left:7rem}.xl\\:left-32{left:8rem}.xl\\:left-36{left:9rem}.xl\\:left-40{left:10rem}.xl\\:left-44{left:11rem}.xl\\:left-48{left:12rem}.xl\\:left-52{left:13rem}.xl\\:left-56{left:14rem}.xl\\:left-60{left:15rem}.xl\\:left-64{left:16rem}.xl\\:left-72{left:18rem}.xl\\:left-80{left:20rem}.xl\\:left-96{left:24rem}.xl\\:left-auto{left:auto}.xl\\:left-px{left:1px}.xl\\:left-0\\.5{left:0.125rem}.xl\\:left-1\\.5{left:0.375rem}.xl\\:left-2\\.5{left:0.625rem}.xl\\:left-3\\.5{left:0.875rem}.xl\\:-left-0{left:0px}.xl\\:-left-1{left:-0.25rem}.xl\\:-left-2{left:-0.5rem}.xl\\:-left-3{left:-0.75rem}.xl\\:-left-4{left:-1rem}.xl\\:-left-5{left:-1.25rem}.xl\\:-left-6{left:-1.5rem}.xl\\:-left-7{left:-1.75rem}.xl\\:-left-8{left:-2rem}.xl\\:-left-9{left:-2.25rem}.xl\\:-left-10{left:-2.5rem}.xl\\:-left-11{left:-2.75rem}.xl\\:-left-12{left:-3rem}.xl\\:-left-14{left:-3.5rem}.xl\\:-left-16{left:-4rem}.xl\\:-left-20{left:-5rem}.xl\\:-left-24{left:-6rem}.xl\\:-left-28{left:-7rem}.xl\\:-left-32{left:-8rem}.xl\\:-left-36{left:-9rem}.xl\\:-left-40{left:-10rem}.xl\\:-left-44{left:-11rem}.xl\\:-left-48{left:-12rem}.xl\\:-left-52{left:-13rem}.xl\\:-left-56{left:-14rem}.xl\\:-left-60{left:-15rem}.xl\\:-left-64{left:-16rem}.xl\\:-left-72{left:-18rem}.xl\\:-left-80{left:-20rem}.xl\\:-left-96{left:-24rem}.xl\\:-left-px{left:-1px}.xl\\:-left-0\\.5{left:-0.125rem}.xl\\:-left-1\\.5{left:-0.375rem}.xl\\:-left-2\\.5{left:-0.625rem}.xl\\:-left-3\\.5{left:-0.875rem}.xl\\:left-1\\/2{left:50%}.xl\\:left-1\\/3{left:33.333333%}.xl\\:left-2\\/3{left:66.666667%}.xl\\:left-1\\/4{left:25%}.xl\\:left-2\\/4{left:50%}.xl\\:left-3\\/4{left:75%}.xl\\:left-full{left:100%}.xl\\:-left-1\\/2{left:-50%}.xl\\:-left-1\\/3{left:-33.333333%}.xl\\:-left-2\\/3{left:-66.666667%}.xl\\:-left-1\\/4{left:-25%}.xl\\:-left-2\\/4{left:-50%}.xl\\:-left-3\\/4{left:-75%}.xl\\:-left-full{left:-100%}.xl\\:isolate{isolation:isolate}.xl\\:isolation-auto{isolation:auto}.xl\\:z-0{z-index:0}.xl\\:z-10{z-index:10}.xl\\:z-20{z-index:20}.xl\\:z-30{z-index:30}.xl\\:z-40{z-index:40}.xl\\:z-50{z-index:50}.xl\\:z-auto{z-index:auto}.xl\\:focus-within\\:z-0:focus-within{z-index:0}.xl\\:focus-within\\:z-10:focus-within{z-index:10}.xl\\:focus-within\\:z-20:focus-within{z-index:20}.xl\\:focus-within\\:z-30:focus-within{z-index:30}.xl\\:focus-within\\:z-40:focus-within{z-index:40}.xl\\:focus-within\\:z-50:focus-within{z-index:50}.xl\\:focus-within\\:z-auto:focus-within{z-index:auto}.xl\\:focus\\:z-0:focus{z-index:0}.xl\\:focus\\:z-10:focus{z-index:10}.xl\\:focus\\:z-20:focus{z-index:20}.xl\\:focus\\:z-30:focus{z-index:30}.xl\\:focus\\:z-40:focus{z-index:40}.xl\\:focus\\:z-50:focus{z-index:50}.xl\\:focus\\:z-auto:focus{z-index:auto}.xl\\:order-1{order:1}.xl\\:order-2{order:2}.xl\\:order-3{order:3}.xl\\:order-4{order:4}.xl\\:order-5{order:5}.xl\\:order-6{order:6}.xl\\:order-7{order:7}.xl\\:order-8{order:8}.xl\\:order-9{order:9}.xl\\:order-10{order:10}.xl\\:order-11{order:11}.xl\\:order-12{order:12}.xl\\:order-first{order:-9999}.xl\\:order-last{order:9999}.xl\\:order-none{order:0}.xl\\:col-auto{grid-column:auto}.xl\\:col-span-1{grid-column:span 1 / span 1}.xl\\:col-span-2{grid-column:span 2 / span 2}.xl\\:col-span-3{grid-column:span 3 / span 3}.xl\\:col-span-4{grid-column:span 4 / span 4}.xl\\:col-span-5{grid-column:span 5 / span 5}.xl\\:col-span-6{grid-column:span 6 / span 6}.xl\\:col-span-7{grid-column:span 7 / span 7}.xl\\:col-span-8{grid-column:span 8 / span 8}.xl\\:col-span-9{grid-column:span 9 / span 9}.xl\\:col-span-10{grid-column:span 10 / span 10}.xl\\:col-span-11{grid-column:span 11 / span 11}.xl\\:col-span-12{grid-column:span 12 / span 12}.xl\\:col-span-full{grid-column:1 / -1}.xl\\:col-start-1{grid-column-start:1}.xl\\:col-start-2{grid-column-start:2}.xl\\:col-start-3{grid-column-start:3}.xl\\:col-start-4{grid-column-start:4}.xl\\:col-start-5{grid-column-start:5}.xl\\:col-start-6{grid-column-start:6}.xl\\:col-start-7{grid-column-start:7}.xl\\:col-start-8{grid-column-start:8}.xl\\:col-start-9{grid-column-start:9}.xl\\:col-start-10{grid-column-start:10}.xl\\:col-start-11{grid-column-start:11}.xl\\:col-start-12{grid-column-start:12}.xl\\:col-start-13{grid-column-start:13}.xl\\:col-start-auto{grid-column-start:auto}.xl\\:col-end-1{grid-column-end:1}.xl\\:col-end-2{grid-column-end:2}.xl\\:col-end-3{grid-column-end:3}.xl\\:col-end-4{grid-column-end:4}.xl\\:col-end-5{grid-column-end:5}.xl\\:col-end-6{grid-column-end:6}.xl\\:col-end-7{grid-column-end:7}.xl\\:col-end-8{grid-column-end:8}.xl\\:col-end-9{grid-column-end:9}.xl\\:col-end-10{grid-column-end:10}.xl\\:col-end-11{grid-column-end:11}.xl\\:col-end-12{grid-column-end:12}.xl\\:col-end-13{grid-column-end:13}.xl\\:col-end-auto{grid-column-end:auto}.xl\\:row-auto{grid-row:auto}.xl\\:row-span-1{grid-row:span 1 / span 1}.xl\\:row-span-2{grid-row:span 2 / span 2}.xl\\:row-span-3{grid-row:span 3 / span 3}.xl\\:row-span-4{grid-row:span 4 / span 4}.xl\\:row-span-5{grid-row:span 5 / span 5}.xl\\:row-span-6{grid-row:span 6 / span 6}.xl\\:row-span-full{grid-row:1 / -1}.xl\\:row-start-1{grid-row-start:1}.xl\\:row-start-2{grid-row-start:2}.xl\\:row-start-3{grid-row-start:3}.xl\\:row-start-4{grid-row-start:4}.xl\\:row-start-5{grid-row-start:5}.xl\\:row-start-6{grid-row-start:6}.xl\\:row-start-7{grid-row-start:7}.xl\\:row-start-auto{grid-row-start:auto}.xl\\:row-end-1{grid-row-end:1}.xl\\:row-end-2{grid-row-end:2}.xl\\:row-end-3{grid-row-end:3}.xl\\:row-end-4{grid-row-end:4}.xl\\:row-end-5{grid-row-end:5}.xl\\:row-end-6{grid-row-end:6}.xl\\:row-end-7{grid-row-end:7}.xl\\:row-end-auto{grid-row-end:auto}.xl\\:float-right{float:right}.xl\\:float-left{float:left}.xl\\:float-none{float:none}.xl\\:clear-left{clear:left}.xl\\:clear-right{clear:right}.xl\\:clear-both{clear:both}.xl\\:clear-none{clear:none}.xl\\:m-0{margin:0px}.xl\\:m-1{margin:0.25rem}.xl\\:m-2{margin:0.5rem}.xl\\:m-3{margin:0.75rem}.xl\\:m-4{margin:1rem}.xl\\:m-5{margin:1.25rem}.xl\\:m-6{margin:1.5rem}.xl\\:m-7{margin:1.75rem}.xl\\:m-8{margin:2rem}.xl\\:m-9{margin:2.25rem}.xl\\:m-10{margin:2.5rem}.xl\\:m-11{margin:2.75rem}.xl\\:m-12{margin:3rem}.xl\\:m-14{margin:3.5rem}.xl\\:m-16{margin:4rem}.xl\\:m-20{margin:5rem}.xl\\:m-24{margin:6rem}.xl\\:m-28{margin:7rem}.xl\\:m-32{margin:8rem}.xl\\:m-36{margin:9rem}.xl\\:m-40{margin:10rem}.xl\\:m-44{margin:11rem}.xl\\:m-48{margin:12rem}.xl\\:m-52{margin:13rem}.xl\\:m-56{margin:14rem}.xl\\:m-60{margin:15rem}.xl\\:m-64{margin:16rem}.xl\\:m-72{margin:18rem}.xl\\:m-80{margin:20rem}.xl\\:m-96{margin:24rem}.xl\\:m-auto{margin:auto}.xl\\:m-px{margin:1px}.xl\\:m-0\\.5{margin:0.125rem}.xl\\:m-1\\.5{margin:0.375rem}.xl\\:m-2\\.5{margin:0.625rem}.xl\\:m-3\\.5{margin:0.875rem}.xl\\:-m-0{margin:0px}.xl\\:-m-1{margin:-0.25rem}.xl\\:-m-2{margin:-0.5rem}.xl\\:-m-3{margin:-0.75rem}.xl\\:-m-4{margin:-1rem}.xl\\:-m-5{margin:-1.25rem}.xl\\:-m-6{margin:-1.5rem}.xl\\:-m-7{margin:-1.75rem}.xl\\:-m-8{margin:-2rem}.xl\\:-m-9{margin:-2.25rem}.xl\\:-m-10{margin:-2.5rem}.xl\\:-m-11{margin:-2.75rem}.xl\\:-m-12{margin:-3rem}.xl\\:-m-14{margin:-3.5rem}.xl\\:-m-16{margin:-4rem}.xl\\:-m-20{margin:-5rem}.xl\\:-m-24{margin:-6rem}.xl\\:-m-28{margin:-7rem}.xl\\:-m-32{margin:-8rem}.xl\\:-m-36{margin:-9rem}.xl\\:-m-40{margin:-10rem}.xl\\:-m-44{margin:-11rem}.xl\\:-m-48{margin:-12rem}.xl\\:-m-52{margin:-13rem}.xl\\:-m-56{margin:-14rem}.xl\\:-m-60{margin:-15rem}.xl\\:-m-64{margin:-16rem}.xl\\:-m-72{margin:-18rem}.xl\\:-m-80{margin:-20rem}.xl\\:-m-96{margin:-24rem}.xl\\:-m-px{margin:-1px}.xl\\:-m-0\\.5{margin:-0.125rem}.xl\\:-m-1\\.5{margin:-0.375rem}.xl\\:-m-2\\.5{margin:-0.625rem}.xl\\:-m-3\\.5{margin:-0.875rem}.xl\\:mx-0{margin-left:0px;margin-right:0px}.xl\\:mx-1{margin-left:0.25rem;margin-right:0.25rem}.xl\\:mx-2{margin-left:0.5rem;margin-right:0.5rem}.xl\\:mx-3{margin-left:0.75rem;margin-right:0.75rem}.xl\\:mx-4{margin-left:1rem;margin-right:1rem}.xl\\:mx-5{margin-left:1.25rem;margin-right:1.25rem}.xl\\:mx-6{margin-left:1.5rem;margin-right:1.5rem}.xl\\:mx-7{margin-left:1.75rem;margin-right:1.75rem}.xl\\:mx-8{margin-left:2rem;margin-right:2rem}.xl\\:mx-9{margin-left:2.25rem;margin-right:2.25rem}.xl\\:mx-10{margin-left:2.5rem;margin-right:2.5rem}.xl\\:mx-11{margin-left:2.75rem;margin-right:2.75rem}.xl\\:mx-12{margin-left:3rem;margin-right:3rem}.xl\\:mx-14{margin-left:3.5rem;margin-right:3.5rem}.xl\\:mx-16{margin-left:4rem;margin-right:4rem}.xl\\:mx-20{margin-left:5rem;margin-right:5rem}.xl\\:mx-24{margin-left:6rem;margin-right:6rem}.xl\\:mx-28{margin-left:7rem;margin-right:7rem}.xl\\:mx-32{margin-left:8rem;margin-right:8rem}.xl\\:mx-36{margin-left:9rem;margin-right:9rem}.xl\\:mx-40{margin-left:10rem;margin-right:10rem}.xl\\:mx-44{margin-left:11rem;margin-right:11rem}.xl\\:mx-48{margin-left:12rem;margin-right:12rem}.xl\\:mx-52{margin-left:13rem;margin-right:13rem}.xl\\:mx-56{margin-left:14rem;margin-right:14rem}.xl\\:mx-60{margin-left:15rem;margin-right:15rem}.xl\\:mx-64{margin-left:16rem;margin-right:16rem}.xl\\:mx-72{margin-left:18rem;margin-right:18rem}.xl\\:mx-80{margin-left:20rem;margin-right:20rem}.xl\\:mx-96{margin-left:24rem;margin-right:24rem}.xl\\:mx-auto{margin-left:auto;margin-right:auto}.xl\\:mx-px{margin-left:1px;margin-right:1px}.xl\\:mx-0\\.5{margin-left:0.125rem;margin-right:0.125rem}.xl\\:mx-1\\.5{margin-left:0.375rem;margin-right:0.375rem}.xl\\:mx-2\\.5{margin-left:0.625rem;margin-right:0.625rem}.xl\\:mx-3\\.5{margin-left:0.875rem;margin-right:0.875rem}.xl\\:-mx-0{margin-left:0px;margin-right:0px}.xl\\:-mx-1{margin-left:-0.25rem;margin-right:-0.25rem}.xl\\:-mx-2{margin-left:-0.5rem;margin-right:-0.5rem}.xl\\:-mx-3{margin-left:-0.75rem;margin-right:-0.75rem}.xl\\:-mx-4{margin-left:-1rem;margin-right:-1rem}.xl\\:-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.xl\\:-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.xl\\:-mx-7{margin-left:-1.75rem;margin-right:-1.75rem}.xl\\:-mx-8{margin-left:-2rem;margin-right:-2rem}.xl\\:-mx-9{margin-left:-2.25rem;margin-right:-2.25rem}.xl\\:-mx-10{margin-left:-2.5rem;margin-right:-2.5rem}.xl\\:-mx-11{margin-left:-2.75rem;margin-right:-2.75rem}.xl\\:-mx-12{margin-left:-3rem;margin-right:-3rem}.xl\\:-mx-14{margin-left:-3.5rem;margin-right:-3.5rem}.xl\\:-mx-16{margin-left:-4rem;margin-right:-4rem}.xl\\:-mx-20{margin-left:-5rem;margin-right:-5rem}.xl\\:-mx-24{margin-left:-6rem;margin-right:-6rem}.xl\\:-mx-28{margin-left:-7rem;margin-right:-7rem}.xl\\:-mx-32{margin-left:-8rem;margin-right:-8rem}.xl\\:-mx-36{margin-left:-9rem;margin-right:-9rem}.xl\\:-mx-40{margin-left:-10rem;margin-right:-10rem}.xl\\:-mx-44{margin-left:-11rem;margin-right:-11rem}.xl\\:-mx-48{margin-left:-12rem;margin-right:-12rem}.xl\\:-mx-52{margin-left:-13rem;margin-right:-13rem}.xl\\:-mx-56{margin-left:-14rem;margin-right:-14rem}.xl\\:-mx-60{margin-left:-15rem;margin-right:-15rem}.xl\\:-mx-64{margin-left:-16rem;margin-right:-16rem}.xl\\:-mx-72{margin-left:-18rem;margin-right:-18rem}.xl\\:-mx-80{margin-left:-20rem;margin-right:-20rem}.xl\\:-mx-96{margin-left:-24rem;margin-right:-24rem}.xl\\:-mx-px{margin-left:-1px;margin-right:-1px}.xl\\:-mx-0\\.5{margin-left:-0.125rem;margin-right:-0.125rem}.xl\\:-mx-1\\.5{margin-left:-0.375rem;margin-right:-0.375rem}.xl\\:-mx-2\\.5{margin-left:-0.625rem;margin-right:-0.625rem}.xl\\:-mx-3\\.5{margin-left:-0.875rem;margin-right:-0.875rem}.xl\\:my-0{margin-top:0px;margin-bottom:0px}.xl\\:my-1{margin-top:0.25rem;margin-bottom:0.25rem}.xl\\:my-2{margin-top:0.5rem;margin-bottom:0.5rem}.xl\\:my-3{margin-top:0.75rem;margin-bottom:0.75rem}.xl\\:my-4{margin-top:1rem;margin-bottom:1rem}.xl\\:my-5{margin-top:1.25rem;margin-bottom:1.25rem}.xl\\:my-6{margin-top:1.5rem;margin-bottom:1.5rem}.xl\\:my-7{margin-top:1.75rem;margin-bottom:1.75rem}.xl\\:my-8{margin-top:2rem;margin-bottom:2rem}.xl\\:my-9{margin-top:2.25rem;margin-bottom:2.25rem}.xl\\:my-10{margin-top:2.5rem;margin-bottom:2.5rem}.xl\\:my-11{margin-top:2.75rem;margin-bottom:2.75rem}.xl\\:my-12{margin-top:3rem;margin-bottom:3rem}.xl\\:my-14{margin-top:3.5rem;margin-bottom:3.5rem}.xl\\:my-16{margin-top:4rem;margin-bottom:4rem}.xl\\:my-20{margin-top:5rem;margin-bottom:5rem}.xl\\:my-24{margin-top:6rem;margin-bottom:6rem}.xl\\:my-28{margin-top:7rem;margin-bottom:7rem}.xl\\:my-32{margin-top:8rem;margin-bottom:8rem}.xl\\:my-36{margin-top:9rem;margin-bottom:9rem}.xl\\:my-40{margin-top:10rem;margin-bottom:10rem}.xl\\:my-44{margin-top:11rem;margin-bottom:11rem}.xl\\:my-48{margin-top:12rem;margin-bottom:12rem}.xl\\:my-52{margin-top:13rem;margin-bottom:13rem}.xl\\:my-56{margin-top:14rem;margin-bottom:14rem}.xl\\:my-60{margin-top:15rem;margin-bottom:15rem}.xl\\:my-64{margin-top:16rem;margin-bottom:16rem}.xl\\:my-72{margin-top:18rem;margin-bottom:18rem}.xl\\:my-80{margin-top:20rem;margin-bottom:20rem}.xl\\:my-96{margin-top:24rem;margin-bottom:24rem}.xl\\:my-auto{margin-top:auto;margin-bottom:auto}.xl\\:my-px{margin-top:1px;margin-bottom:1px}.xl\\:my-0\\.5{margin-top:0.125rem;margin-bottom:0.125rem}.xl\\:my-1\\.5{margin-top:0.375rem;margin-bottom:0.375rem}.xl\\:my-2\\.5{margin-top:0.625rem;margin-bottom:0.625rem}.xl\\:my-3\\.5{margin-top:0.875rem;margin-bottom:0.875rem}.xl\\:-my-0{margin-top:0px;margin-bottom:0px}.xl\\:-my-1{margin-top:-0.25rem;margin-bottom:-0.25rem}.xl\\:-my-2{margin-top:-0.5rem;margin-bottom:-0.5rem}.xl\\:-my-3{margin-top:-0.75rem;margin-bottom:-0.75rem}.xl\\:-my-4{margin-top:-1rem;margin-bottom:-1rem}.xl\\:-my-5{margin-top:-1.25rem;margin-bottom:-1.25rem}.xl\\:-my-6{margin-top:-1.5rem;margin-bottom:-1.5rem}.xl\\:-my-7{margin-top:-1.75rem;margin-bottom:-1.75rem}.xl\\:-my-8{margin-top:-2rem;margin-bottom:-2rem}.xl\\:-my-9{margin-top:-2.25rem;margin-bottom:-2.25rem}.xl\\:-my-10{margin-top:-2.5rem;margin-bottom:-2.5rem}.xl\\:-my-11{margin-top:-2.75rem;margin-bottom:-2.75rem}.xl\\:-my-12{margin-top:-3rem;margin-bottom:-3rem}.xl\\:-my-14{margin-top:-3.5rem;margin-bottom:-3.5rem}.xl\\:-my-16{margin-top:-4rem;margin-bottom:-4rem}.xl\\:-my-20{margin-top:-5rem;margin-bottom:-5rem}.xl\\:-my-24{margin-top:-6rem;margin-bottom:-6rem}.xl\\:-my-28{margin-top:-7rem;margin-bottom:-7rem}.xl\\:-my-32{margin-top:-8rem;margin-bottom:-8rem}.xl\\:-my-36{margin-top:-9rem;margin-bottom:-9rem}.xl\\:-my-40{margin-top:-10rem;margin-bottom:-10rem}.xl\\:-my-44{margin-top:-11rem;margin-bottom:-11rem}.xl\\:-my-48{margin-top:-12rem;margin-bottom:-12rem}.xl\\:-my-52{margin-top:-13rem;margin-bottom:-13rem}.xl\\:-my-56{margin-top:-14rem;margin-bottom:-14rem}.xl\\:-my-60{margin-top:-15rem;margin-bottom:-15rem}.xl\\:-my-64{margin-top:-16rem;margin-bottom:-16rem}.xl\\:-my-72{margin-top:-18rem;margin-bottom:-18rem}.xl\\:-my-80{margin-top:-20rem;margin-bottom:-20rem}.xl\\:-my-96{margin-top:-24rem;margin-bottom:-24rem}.xl\\:-my-px{margin-top:-1px;margin-bottom:-1px}.xl\\:-my-0\\.5{margin-top:-0.125rem;margin-bottom:-0.125rem}.xl\\:-my-1\\.5{margin-top:-0.375rem;margin-bottom:-0.375rem}.xl\\:-my-2\\.5{margin-top:-0.625rem;margin-bottom:-0.625rem}.xl\\:-my-3\\.5{margin-top:-0.875rem;margin-bottom:-0.875rem}.xl\\:mt-0{margin-top:0px}.xl\\:mt-1{margin-top:0.25rem}.xl\\:mt-2{margin-top:0.5rem}.xl\\:mt-3{margin-top:0.75rem}.xl\\:mt-4{margin-top:1rem}.xl\\:mt-5{margin-top:1.25rem}.xl\\:mt-6{margin-top:1.5rem}.xl\\:mt-7{margin-top:1.75rem}.xl\\:mt-8{margin-top:2rem}.xl\\:mt-9{margin-top:2.25rem}.xl\\:mt-10{margin-top:2.5rem}.xl\\:mt-11{margin-top:2.75rem}.xl\\:mt-12{margin-top:3rem}.xl\\:mt-14{margin-top:3.5rem}.xl\\:mt-16{margin-top:4rem}.xl\\:mt-20{margin-top:5rem}.xl\\:mt-24{margin-top:6rem}.xl\\:mt-28{margin-top:7rem}.xl\\:mt-32{margin-top:8rem}.xl\\:mt-36{margin-top:9rem}.xl\\:mt-40{margin-top:10rem}.xl\\:mt-44{margin-top:11rem}.xl\\:mt-48{margin-top:12rem}.xl\\:mt-52{margin-top:13rem}.xl\\:mt-56{margin-top:14rem}.xl\\:mt-60{margin-top:15rem}.xl\\:mt-64{margin-top:16rem}.xl\\:mt-72{margin-top:18rem}.xl\\:mt-80{margin-top:20rem}.xl\\:mt-96{margin-top:24rem}.xl\\:mt-auto{margin-top:auto}.xl\\:mt-px{margin-top:1px}.xl\\:mt-0\\.5{margin-top:0.125rem}.xl\\:mt-1\\.5{margin-top:0.375rem}.xl\\:mt-2\\.5{margin-top:0.625rem}.xl\\:mt-3\\.5{margin-top:0.875rem}.xl\\:-mt-0{margin-top:0px}.xl\\:-mt-1{margin-top:-0.25rem}.xl\\:-mt-2{margin-top:-0.5rem}.xl\\:-mt-3{margin-top:-0.75rem}.xl\\:-mt-4{margin-top:-1rem}.xl\\:-mt-5{margin-top:-1.25rem}.xl\\:-mt-6{margin-top:-1.5rem}.xl\\:-mt-7{margin-top:-1.75rem}.xl\\:-mt-8{margin-top:-2rem}.xl\\:-mt-9{margin-top:-2.25rem}.xl\\:-mt-10{margin-top:-2.5rem}.xl\\:-mt-11{margin-top:-2.75rem}.xl\\:-mt-12{margin-top:-3rem}.xl\\:-mt-14{margin-top:-3.5rem}.xl\\:-mt-16{margin-top:-4rem}.xl\\:-mt-20{margin-top:-5rem}.xl\\:-mt-24{margin-top:-6rem}.xl\\:-mt-28{margin-top:-7rem}.xl\\:-mt-32{margin-top:-8rem}.xl\\:-mt-36{margin-top:-9rem}.xl\\:-mt-40{margin-top:-10rem}.xl\\:-mt-44{margin-top:-11rem}.xl\\:-mt-48{margin-top:-12rem}.xl\\:-mt-52{margin-top:-13rem}.xl\\:-mt-56{margin-top:-14rem}.xl\\:-mt-60{margin-top:-15rem}.xl\\:-mt-64{margin-top:-16rem}.xl\\:-mt-72{margin-top:-18rem}.xl\\:-mt-80{margin-top:-20rem}.xl\\:-mt-96{margin-top:-24rem}.xl\\:-mt-px{margin-top:-1px}.xl\\:-mt-0\\.5{margin-top:-0.125rem}.xl\\:-mt-1\\.5{margin-top:-0.375rem}.xl\\:-mt-2\\.5{margin-top:-0.625rem}.xl\\:-mt-3\\.5{margin-top:-0.875rem}.xl\\:mr-0{margin-right:0px}.xl\\:mr-1{margin-right:0.25rem}.xl\\:mr-2{margin-right:0.5rem}.xl\\:mr-3{margin-right:0.75rem}.xl\\:mr-4{margin-right:1rem}.xl\\:mr-5{margin-right:1.25rem}.xl\\:mr-6{margin-right:1.5rem}.xl\\:mr-7{margin-right:1.75rem}.xl\\:mr-8{margin-right:2rem}.xl\\:mr-9{margin-right:2.25rem}.xl\\:mr-10{margin-right:2.5rem}.xl\\:mr-11{margin-right:2.75rem}.xl\\:mr-12{margin-right:3rem}.xl\\:mr-14{margin-right:3.5rem}.xl\\:mr-16{margin-right:4rem}.xl\\:mr-20{margin-right:5rem}.xl\\:mr-24{margin-right:6rem}.xl\\:mr-28{margin-right:7rem}.xl\\:mr-32{margin-right:8rem}.xl\\:mr-36{margin-right:9rem}.xl\\:mr-40{margin-right:10rem}.xl\\:mr-44{margin-right:11rem}.xl\\:mr-48{margin-right:12rem}.xl\\:mr-52{margin-right:13rem}.xl\\:mr-56{margin-right:14rem}.xl\\:mr-60{margin-right:15rem}.xl\\:mr-64{margin-right:16rem}.xl\\:mr-72{margin-right:18rem}.xl\\:mr-80{margin-right:20rem}.xl\\:mr-96{margin-right:24rem}.xl\\:mr-auto{margin-right:auto}.xl\\:mr-px{margin-right:1px}.xl\\:mr-0\\.5{margin-right:0.125rem}.xl\\:mr-1\\.5{margin-right:0.375rem}.xl\\:mr-2\\.5{margin-right:0.625rem}.xl\\:mr-3\\.5{margin-right:0.875rem}.xl\\:-mr-0{margin-right:0px}.xl\\:-mr-1{margin-right:-0.25rem}.xl\\:-mr-2{margin-right:-0.5rem}.xl\\:-mr-3{margin-right:-0.75rem}.xl\\:-mr-4{margin-right:-1rem}.xl\\:-mr-5{margin-right:-1.25rem}.xl\\:-mr-6{margin-right:-1.5rem}.xl\\:-mr-7{margin-right:-1.75rem}.xl\\:-mr-8{margin-right:-2rem}.xl\\:-mr-9{margin-right:-2.25rem}.xl\\:-mr-10{margin-right:-2.5rem}.xl\\:-mr-11{margin-right:-2.75rem}.xl\\:-mr-12{margin-right:-3rem}.xl\\:-mr-14{margin-right:-3.5rem}.xl\\:-mr-16{margin-right:-4rem}.xl\\:-mr-20{margin-right:-5rem}.xl\\:-mr-24{margin-right:-6rem}.xl\\:-mr-28{margin-right:-7rem}.xl\\:-mr-32{margin-right:-8rem}.xl\\:-mr-36{margin-right:-9rem}.xl\\:-mr-40{margin-right:-10rem}.xl\\:-mr-44{margin-right:-11rem}.xl\\:-mr-48{margin-right:-12rem}.xl\\:-mr-52{margin-right:-13rem}.xl\\:-mr-56{margin-right:-14rem}.xl\\:-mr-60{margin-right:-15rem}.xl\\:-mr-64{margin-right:-16rem}.xl\\:-mr-72{margin-right:-18rem}.xl\\:-mr-80{margin-right:-20rem}.xl\\:-mr-96{margin-right:-24rem}.xl\\:-mr-px{margin-right:-1px}.xl\\:-mr-0\\.5{margin-right:-0.125rem}.xl\\:-mr-1\\.5{margin-right:-0.375rem}.xl\\:-mr-2\\.5{margin-right:-0.625rem}.xl\\:-mr-3\\.5{margin-right:-0.875rem}.xl\\:mb-0{margin-bottom:0px}.xl\\:mb-1{margin-bottom:0.25rem}.xl\\:mb-2{margin-bottom:0.5rem}.xl\\:mb-3{margin-bottom:0.75rem}.xl\\:mb-4{margin-bottom:1rem}.xl\\:mb-5{margin-bottom:1.25rem}.xl\\:mb-6{margin-bottom:1.5rem}.xl\\:mb-7{margin-bottom:1.75rem}.xl\\:mb-8{margin-bottom:2rem}.xl\\:mb-9{margin-bottom:2.25rem}.xl\\:mb-10{margin-bottom:2.5rem}.xl\\:mb-11{margin-bottom:2.75rem}.xl\\:mb-12{margin-bottom:3rem}.xl\\:mb-14{margin-bottom:3.5rem}.xl\\:mb-16{margin-bottom:4rem}.xl\\:mb-20{margin-bottom:5rem}.xl\\:mb-24{margin-bottom:6rem}.xl\\:mb-28{margin-bottom:7rem}.xl\\:mb-32{margin-bottom:8rem}.xl\\:mb-36{margin-bottom:9rem}.xl\\:mb-40{margin-bottom:10rem}.xl\\:mb-44{margin-bottom:11rem}.xl\\:mb-48{margin-bottom:12rem}.xl\\:mb-52{margin-bottom:13rem}.xl\\:mb-56{margin-bottom:14rem}.xl\\:mb-60{margin-bottom:15rem}.xl\\:mb-64{margin-bottom:16rem}.xl\\:mb-72{margin-bottom:18rem}.xl\\:mb-80{margin-bottom:20rem}.xl\\:mb-96{margin-bottom:24rem}.xl\\:mb-auto{margin-bottom:auto}.xl\\:mb-px{margin-bottom:1px}.xl\\:mb-0\\.5{margin-bottom:0.125rem}.xl\\:mb-1\\.5{margin-bottom:0.375rem}.xl\\:mb-2\\.5{margin-bottom:0.625rem}.xl\\:mb-3\\.5{margin-bottom:0.875rem}.xl\\:-mb-0{margin-bottom:0px}.xl\\:-mb-1{margin-bottom:-0.25rem}.xl\\:-mb-2{margin-bottom:-0.5rem}.xl\\:-mb-3{margin-bottom:-0.75rem}.xl\\:-mb-4{margin-bottom:-1rem}.xl\\:-mb-5{margin-bottom:-1.25rem}.xl\\:-mb-6{margin-bottom:-1.5rem}.xl\\:-mb-7{margin-bottom:-1.75rem}.xl\\:-mb-8{margin-bottom:-2rem}.xl\\:-mb-9{margin-bottom:-2.25rem}.xl\\:-mb-10{margin-bottom:-2.5rem}.xl\\:-mb-11{margin-bottom:-2.75rem}.xl\\:-mb-12{margin-bottom:-3rem}.xl\\:-mb-14{margin-bottom:-3.5rem}.xl\\:-mb-16{margin-bottom:-4rem}.xl\\:-mb-20{margin-bottom:-5rem}.xl\\:-mb-24{margin-bottom:-6rem}.xl\\:-mb-28{margin-bottom:-7rem}.xl\\:-mb-32{margin-bottom:-8rem}.xl\\:-mb-36{margin-bottom:-9rem}.xl\\:-mb-40{margin-bottom:-10rem}.xl\\:-mb-44{margin-bottom:-11rem}.xl\\:-mb-48{margin-bottom:-12rem}.xl\\:-mb-52{margin-bottom:-13rem}.xl\\:-mb-56{margin-bottom:-14rem}.xl\\:-mb-60{margin-bottom:-15rem}.xl\\:-mb-64{margin-bottom:-16rem}.xl\\:-mb-72{margin-bottom:-18rem}.xl\\:-mb-80{margin-bottom:-20rem}.xl\\:-mb-96{margin-bottom:-24rem}.xl\\:-mb-px{margin-bottom:-1px}.xl\\:-mb-0\\.5{margin-bottom:-0.125rem}.xl\\:-mb-1\\.5{margin-bottom:-0.375rem}.xl\\:-mb-2\\.5{margin-bottom:-0.625rem}.xl\\:-mb-3\\.5{margin-bottom:-0.875rem}.xl\\:ml-0{margin-left:0px}.xl\\:ml-1{margin-left:0.25rem}.xl\\:ml-2{margin-left:0.5rem}.xl\\:ml-3{margin-left:0.75rem}.xl\\:ml-4{margin-left:1rem}.xl\\:ml-5{margin-left:1.25rem}.xl\\:ml-6{margin-left:1.5rem}.xl\\:ml-7{margin-left:1.75rem}.xl\\:ml-8{margin-left:2rem}.xl\\:ml-9{margin-left:2.25rem}.xl\\:ml-10{margin-left:2.5rem}.xl\\:ml-11{margin-left:2.75rem}.xl\\:ml-12{margin-left:3rem}.xl\\:ml-14{margin-left:3.5rem}.xl\\:ml-16{margin-left:4rem}.xl\\:ml-20{margin-left:5rem}.xl\\:ml-24{margin-left:6rem}.xl\\:ml-28{margin-left:7rem}.xl\\:ml-32{margin-left:8rem}.xl\\:ml-36{margin-left:9rem}.xl\\:ml-40{margin-left:10rem}.xl\\:ml-44{margin-left:11rem}.xl\\:ml-48{margin-left:12rem}.xl\\:ml-52{margin-left:13rem}.xl\\:ml-56{margin-left:14rem}.xl\\:ml-60{margin-left:15rem}.xl\\:ml-64{margin-left:16rem}.xl\\:ml-72{margin-left:18rem}.xl\\:ml-80{margin-left:20rem}.xl\\:ml-96{margin-left:24rem}.xl\\:ml-auto{margin-left:auto}.xl\\:ml-px{margin-left:1px}.xl\\:ml-0\\.5{margin-left:0.125rem}.xl\\:ml-1\\.5{margin-left:0.375rem}.xl\\:ml-2\\.5{margin-left:0.625rem}.xl\\:ml-3\\.5{margin-left:0.875rem}.xl\\:-ml-0{margin-left:0px}.xl\\:-ml-1{margin-left:-0.25rem}.xl\\:-ml-2{margin-left:-0.5rem}.xl\\:-ml-3{margin-left:-0.75rem}.xl\\:-ml-4{margin-left:-1rem}.xl\\:-ml-5{margin-left:-1.25rem}.xl\\:-ml-6{margin-left:-1.5rem}.xl\\:-ml-7{margin-left:-1.75rem}.xl\\:-ml-8{margin-left:-2rem}.xl\\:-ml-9{margin-left:-2.25rem}.xl\\:-ml-10{margin-left:-2.5rem}.xl\\:-ml-11{margin-left:-2.75rem}.xl\\:-ml-12{margin-left:-3rem}.xl\\:-ml-14{margin-left:-3.5rem}.xl\\:-ml-16{margin-left:-4rem}.xl\\:-ml-20{margin-left:-5rem}.xl\\:-ml-24{margin-left:-6rem}.xl\\:-ml-28{margin-left:-7rem}.xl\\:-ml-32{margin-left:-8rem}.xl\\:-ml-36{margin-left:-9rem}.xl\\:-ml-40{margin-left:-10rem}.xl\\:-ml-44{margin-left:-11rem}.xl\\:-ml-48{margin-left:-12rem}.xl\\:-ml-52{margin-left:-13rem}.xl\\:-ml-56{margin-left:-14rem}.xl\\:-ml-60{margin-left:-15rem}.xl\\:-ml-64{margin-left:-16rem}.xl\\:-ml-72{margin-left:-18rem}.xl\\:-ml-80{margin-left:-20rem}.xl\\:-ml-96{margin-left:-24rem}.xl\\:-ml-px{margin-left:-1px}.xl\\:-ml-0\\.5{margin-left:-0.125rem}.xl\\:-ml-1\\.5{margin-left:-0.375rem}.xl\\:-ml-2\\.5{margin-left:-0.625rem}.xl\\:-ml-3\\.5{margin-left:-0.875rem}.xl\\:box-border{box-sizing:border-box}.xl\\:box-content{box-sizing:content-box}.xl\\:block{display:block}.xl\\:inline-block{display:inline-block}.xl\\:inline{display:inline}.xl\\:flex{display:flex}.xl\\:inline-flex{display:inline-flex}.xl\\:table{display:table}.xl\\:inline-table{display:inline-table}.xl\\:table-caption{display:table-caption}.xl\\:table-cell{display:table-cell}.xl\\:table-column{display:table-column}.xl\\:table-column-group{display:table-column-group}.xl\\:table-footer-group{display:table-footer-group}.xl\\:table-header-group{display:table-header-group}.xl\\:table-row-group{display:table-row-group}.xl\\:table-row{display:table-row}.xl\\:flow-root{display:flow-root}.xl\\:grid{display:grid}.xl\\:inline-grid{display:inline-grid}.xl\\:contents{display:contents}.xl\\:list-item{display:list-item}.xl\\:hidden{display:none}.xl\\:h-0{height:0px}.xl\\:h-1{height:0.25rem}.xl\\:h-2{height:0.5rem}.xl\\:h-3{height:0.75rem}.xl\\:h-4{height:1rem}.xl\\:h-5{height:1.25rem}.xl\\:h-6{height:1.5rem}.xl\\:h-7{height:1.75rem}.xl\\:h-8{height:2rem}.xl\\:h-9{height:2.25rem}.xl\\:h-10{height:2.5rem}.xl\\:h-11{height:2.75rem}.xl\\:h-12{height:3rem}.xl\\:h-14{height:3.5rem}.xl\\:h-16{height:4rem}.xl\\:h-20{height:5rem}.xl\\:h-24{height:6rem}.xl\\:h-28{height:7rem}.xl\\:h-32{height:8rem}.xl\\:h-36{height:9rem}.xl\\:h-40{height:10rem}.xl\\:h-44{height:11rem}.xl\\:h-48{height:12rem}.xl\\:h-52{height:13rem}.xl\\:h-56{height:14rem}.xl\\:h-60{height:15rem}.xl\\:h-64{height:16rem}.xl\\:h-72{height:18rem}.xl\\:h-80{height:20rem}.xl\\:h-96{height:24rem}.xl\\:h-auto{height:auto}.xl\\:h-px{height:1px}.xl\\:h-0\\.5{height:0.125rem}.xl\\:h-1\\.5{height:0.375rem}.xl\\:h-2\\.5{height:0.625rem}.xl\\:h-3\\.5{height:0.875rem}.xl\\:h-1\\/2{height:50%}.xl\\:h-1\\/3{height:33.333333%}.xl\\:h-2\\/3{height:66.666667%}.xl\\:h-1\\/4{height:25%}.xl\\:h-2\\/4{height:50%}.xl\\:h-3\\/4{height:75%}.xl\\:h-1\\/5{height:20%}.xl\\:h-2\\/5{height:40%}.xl\\:h-3\\/5{height:60%}.xl\\:h-4\\/5{height:80%}.xl\\:h-1\\/6{height:16.666667%}.xl\\:h-2\\/6{height:33.333333%}.xl\\:h-3\\/6{height:50%}.xl\\:h-4\\/6{height:66.666667%}.xl\\:h-5\\/6{height:83.333333%}.xl\\:h-full{height:100%}.xl\\:h-screen{height:100vh}.xl\\:h-XS{height:250px}.xl\\:h-S{height:500px}.xl\\:h-M{height:750px}.xl\\:h-L{height:1000px}.xl\\:h-XL{height:1250px}.xl\\:h-XXL{height:1500px}.xl\\:max-h-0{max-height:0px}.xl\\:max-h-1{max-height:0.25rem}.xl\\:max-h-2{max-height:0.5rem}.xl\\:max-h-3{max-height:0.75rem}.xl\\:max-h-4{max-height:1rem}.xl\\:max-h-5{max-height:1.25rem}.xl\\:max-h-6{max-height:1.5rem}.xl\\:max-h-7{max-height:1.75rem}.xl\\:max-h-8{max-height:2rem}.xl\\:max-h-9{max-height:2.25rem}.xl\\:max-h-10{max-height:2.5rem}.xl\\:max-h-11{max-height:2.75rem}.xl\\:max-h-12{max-height:3rem}.xl\\:max-h-14{max-height:3.5rem}.xl\\:max-h-16{max-height:4rem}.xl\\:max-h-20{max-height:5rem}.xl\\:max-h-24{max-height:6rem}.xl\\:max-h-28{max-height:7rem}.xl\\:max-h-32{max-height:8rem}.xl\\:max-h-36{max-height:9rem}.xl\\:max-h-40{max-height:10rem}.xl\\:max-h-44{max-height:11rem}.xl\\:max-h-48{max-height:12rem}.xl\\:max-h-52{max-height:13rem}.xl\\:max-h-56{max-height:14rem}.xl\\:max-h-60{max-height:15rem}.xl\\:max-h-64{max-height:16rem}.xl\\:max-h-72{max-height:18rem}.xl\\:max-h-80{max-height:20rem}.xl\\:max-h-96{max-height:24rem}.xl\\:max-h-px{max-height:1px}.xl\\:max-h-0\\.5{max-height:0.125rem}.xl\\:max-h-1\\.5{max-height:0.375rem}.xl\\:max-h-2\\.5{max-height:0.625rem}.xl\\:max-h-3\\.5{max-height:0.875rem}.xl\\:max-h-full{max-height:100%}.xl\\:max-h-screen{max-height:100vh}.xl\\:max-h-XS{max-height:250px}.xl\\:max-h-S{max-height:500px}.xl\\:max-h-M{max-height:750px}.xl\\:max-h-L{max-height:1000px}.xl\\:max-h-XL{max-height:1250px}.xl\\:max-h-XXL{max-height:1500px}.xl\\:min-h-0{min-height:0px}.xl\\:min-h-full{min-height:100%}.xl\\:min-h-screen{min-height:100vh}.xl\\:w-0{width:0px}.xl\\:w-1{width:0.25rem}.xl\\:w-2{width:0.5rem}.xl\\:w-3{width:0.75rem}.xl\\:w-4{width:1rem}.xl\\:w-5{width:1.25rem}.xl\\:w-6{width:1.5rem}.xl\\:w-7{width:1.75rem}.xl\\:w-8{width:2rem}.xl\\:w-9{width:2.25rem}.xl\\:w-10{width:2.5rem}.xl\\:w-11{width:2.75rem}.xl\\:w-12{width:3rem}.xl\\:w-14{width:3.5rem}.xl\\:w-16{width:4rem}.xl\\:w-20{width:5rem}.xl\\:w-24{width:6rem}.xl\\:w-28{width:7rem}.xl\\:w-32{width:8rem}.xl\\:w-36{width:9rem}.xl\\:w-40{width:10rem}.xl\\:w-44{width:11rem}.xl\\:w-48{width:12rem}.xl\\:w-52{width:13rem}.xl\\:w-56{width:14rem}.xl\\:w-60{width:15rem}.xl\\:w-64{width:16rem}.xl\\:w-72{width:18rem}.xl\\:w-80{width:20rem}.xl\\:w-96{width:24rem}.xl\\:w-auto{width:auto}.xl\\:w-px{width:1px}.xl\\:w-0\\.5{width:0.125rem}.xl\\:w-1\\.5{width:0.375rem}.xl\\:w-2\\.5{width:0.625rem}.xl\\:w-3\\.5{width:0.875rem}.xl\\:w-1\\/2{width:50%}.xl\\:w-1\\/3{width:33.333333%}.xl\\:w-2\\/3{width:66.666667%}.xl\\:w-1\\/4{width:25%}.xl\\:w-2\\/4{width:50%}.xl\\:w-3\\/4{width:75%}.xl\\:w-1\\/5{width:20%}.xl\\:w-2\\/5{width:40%}.xl\\:w-3\\/5{width:60%}.xl\\:w-4\\/5{width:80%}.xl\\:w-1\\/6{width:16.666667%}.xl\\:w-2\\/6{width:33.333333%}.xl\\:w-3\\/6{width:50%}.xl\\:w-4\\/6{width:66.666667%}.xl\\:w-5\\/6{width:83.333333%}.xl\\:w-1\\/12{width:8.333333%}.xl\\:w-2\\/12{width:16.666667%}.xl\\:w-3\\/12{width:25%}.xl\\:w-4\\/12{width:33.333333%}.xl\\:w-5\\/12{width:41.666667%}.xl\\:w-6\\/12{width:50%}.xl\\:w-7\\/12{width:58.333333%}.xl\\:w-8\\/12{width:66.666667%}.xl\\:w-9\\/12{width:75%}.xl\\:w-10\\/12{width:83.333333%}.xl\\:w-11\\/12{width:91.666667%}.xl\\:w-full{width:100%}.xl\\:w-screen{width:100vw}.xl\\:w-min{width:min-content}.xl\\:w-max{width:max-content}.xl\\:min-w-0{min-width:0px}.xl\\:min-w-full{min-width:100%}.xl\\:min-w-min{min-width:min-content}.xl\\:min-w-max{min-width:max-content}.xl\\:max-w-0{max-width:0rem}.xl\\:max-w-none{max-width:none}.xl\\:max-w-xs{max-width:20rem}.xl\\:max-w-sm{max-width:24rem}.xl\\:max-w-md{max-width:28rem}.xl\\:max-w-lg{max-width:32rem}.xl\\:max-w-xl{max-width:36rem}.xl\\:max-w-2xl{max-width:42rem}.xl\\:max-w-3xl{max-width:48rem}.xl\\:max-w-4xl{max-width:56rem}.xl\\:max-w-5xl{max-width:64rem}.xl\\:max-w-6xl{max-width:72rem}.xl\\:max-w-7xl{max-width:80rem}.xl\\:max-w-full{max-width:100%}.xl\\:max-w-min{max-width:min-content}.xl\\:max-w-max{max-width:max-content}.xl\\:max-w-prose{max-width:65ch}.xl\\:max-w-screen-sm{max-width:640px}.xl\\:max-w-screen-md{max-width:768px}.xl\\:max-w-screen-lg{max-width:1024px}.xl\\:max-w-screen-xl{max-width:1280px}.xl\\:max-w-screen-2xl{max-width:1536px}.xl\\:flex-1{flex:1 1 0%}.xl\\:flex-auto{flex:1 1 auto}.xl\\:flex-initial{flex:0 1 auto}.xl\\:flex-none{flex:none}.xl\\:flex-shrink-0{flex-shrink:0}.xl\\:flex-shrink{flex-shrink:1}.xl\\:flex-grow-0{flex-grow:0}.xl\\:flex-grow{flex-grow:1}.xl\\:table-auto{table-layout:auto}.xl\\:table-fixed{table-layout:fixed}.xl\\:border-collapse{border-collapse:collapse}.xl\\:border-separate{border-collapse:separate}.xl\\:origin-center{transform-origin:center}.xl\\:origin-top{transform-origin:top}.xl\\:origin-top-right{transform-origin:top right}.xl\\:origin-right{transform-origin:right}.xl\\:origin-bottom-right{transform-origin:bottom right}.xl\\:origin-bottom{transform-origin:bottom}.xl\\:origin-bottom-left{transform-origin:bottom left}.xl\\:origin-left{transform-origin:left}.xl\\:origin-top-left{transform-origin:top left}.xl\\:transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.xl\\:transform-gpu{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translate3d(var(--tw-translate-x), var(--tw-translate-y), 0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.xl\\:transform-none{transform:none}.xl\\:translate-x-0{--tw-translate-x:0px}.xl\\:translate-x-1{--tw-translate-x:0.25rem}.xl\\:translate-x-2{--tw-translate-x:0.5rem}.xl\\:translate-x-3{--tw-translate-x:0.75rem}.xl\\:translate-x-4{--tw-translate-x:1rem}.xl\\:translate-x-5{--tw-translate-x:1.25rem}.xl\\:translate-x-6{--tw-translate-x:1.5rem}.xl\\:translate-x-7{--tw-translate-x:1.75rem}.xl\\:translate-x-8{--tw-translate-x:2rem}.xl\\:translate-x-9{--tw-translate-x:2.25rem}.xl\\:translate-x-10{--tw-translate-x:2.5rem}.xl\\:translate-x-11{--tw-translate-x:2.75rem}.xl\\:translate-x-12{--tw-translate-x:3rem}.xl\\:translate-x-14{--tw-translate-x:3.5rem}.xl\\:translate-x-16{--tw-translate-x:4rem}.xl\\:translate-x-20{--tw-translate-x:5rem}.xl\\:translate-x-24{--tw-translate-x:6rem}.xl\\:translate-x-28{--tw-translate-x:7rem}.xl\\:translate-x-32{--tw-translate-x:8rem}.xl\\:translate-x-36{--tw-translate-x:9rem}.xl\\:translate-x-40{--tw-translate-x:10rem}.xl\\:translate-x-44{--tw-translate-x:11rem}.xl\\:translate-x-48{--tw-translate-x:12rem}.xl\\:translate-x-52{--tw-translate-x:13rem}.xl\\:translate-x-56{--tw-translate-x:14rem}.xl\\:translate-x-60{--tw-translate-x:15rem}.xl\\:translate-x-64{--tw-translate-x:16rem}.xl\\:translate-x-72{--tw-translate-x:18rem}.xl\\:translate-x-80{--tw-translate-x:20rem}.xl\\:translate-x-96{--tw-translate-x:24rem}.xl\\:translate-x-px{--tw-translate-x:1px}.xl\\:translate-x-0\\.5{--tw-translate-x:0.125rem}.xl\\:translate-x-1\\.5{--tw-translate-x:0.375rem}.xl\\:translate-x-2\\.5{--tw-translate-x:0.625rem}.xl\\:translate-x-3\\.5{--tw-translate-x:0.875rem}.xl\\:-translate-x-0{--tw-translate-x:0px}.xl\\:-translate-x-1{--tw-translate-x:-0.25rem}.xl\\:-translate-x-2{--tw-translate-x:-0.5rem}.xl\\:-translate-x-3{--tw-translate-x:-0.75rem}.xl\\:-translate-x-4{--tw-translate-x:-1rem}.xl\\:-translate-x-5{--tw-translate-x:-1.25rem}.xl\\:-translate-x-6{--tw-translate-x:-1.5rem}.xl\\:-translate-x-7{--tw-translate-x:-1.75rem}.xl\\:-translate-x-8{--tw-translate-x:-2rem}.xl\\:-translate-x-9{--tw-translate-x:-2.25rem}.xl\\:-translate-x-10{--tw-translate-x:-2.5rem}.xl\\:-translate-x-11{--tw-translate-x:-2.75rem}.xl\\:-translate-x-12{--tw-translate-x:-3rem}.xl\\:-translate-x-14{--tw-translate-x:-3.5rem}.xl\\:-translate-x-16{--tw-translate-x:-4rem}.xl\\:-translate-x-20{--tw-translate-x:-5rem}.xl\\:-translate-x-24{--tw-translate-x:-6rem}.xl\\:-translate-x-28{--tw-translate-x:-7rem}.xl\\:-translate-x-32{--tw-translate-x:-8rem}.xl\\:-translate-x-36{--tw-translate-x:-9rem}.xl\\:-translate-x-40{--tw-translate-x:-10rem}.xl\\:-translate-x-44{--tw-translate-x:-11rem}.xl\\:-translate-x-48{--tw-translate-x:-12rem}.xl\\:-translate-x-52{--tw-translate-x:-13rem}.xl\\:-translate-x-56{--tw-translate-x:-14rem}.xl\\:-translate-x-60{--tw-translate-x:-15rem}.xl\\:-translate-x-64{--tw-translate-x:-16rem}.xl\\:-translate-x-72{--tw-translate-x:-18rem}.xl\\:-translate-x-80{--tw-translate-x:-20rem}.xl\\:-translate-x-96{--tw-translate-x:-24rem}.xl\\:-translate-x-px{--tw-translate-x:-1px}.xl\\:-translate-x-0\\.5{--tw-translate-x:-0.125rem}.xl\\:-translate-x-1\\.5{--tw-translate-x:-0.375rem}.xl\\:-translate-x-2\\.5{--tw-translate-x:-0.625rem}.xl\\:-translate-x-3\\.5{--tw-translate-x:-0.875rem}.xl\\:translate-x-1\\/2{--tw-translate-x:50%}.xl\\:translate-x-1\\/3{--tw-translate-x:33.333333%}.xl\\:translate-x-2\\/3{--tw-translate-x:66.666667%}.xl\\:translate-x-1\\/4{--tw-translate-x:25%}.xl\\:translate-x-2\\/4{--tw-translate-x:50%}.xl\\:translate-x-3\\/4{--tw-translate-x:75%}.xl\\:translate-x-full{--tw-translate-x:100%}.xl\\:-translate-x-1\\/2{--tw-translate-x:-50%}.xl\\:-translate-x-1\\/3{--tw-translate-x:-33.333333%}.xl\\:-translate-x-2\\/3{--tw-translate-x:-66.666667%}.xl\\:-translate-x-1\\/4{--tw-translate-x:-25%}.xl\\:-translate-x-2\\/4{--tw-translate-x:-50%}.xl\\:-translate-x-3\\/4{--tw-translate-x:-75%}.xl\\:-translate-x-full{--tw-translate-x:-100%}.xl\\:translate-y-0{--tw-translate-y:0px}.xl\\:translate-y-1{--tw-translate-y:0.25rem}.xl\\:translate-y-2{--tw-translate-y:0.5rem}.xl\\:translate-y-3{--tw-translate-y:0.75rem}.xl\\:translate-y-4{--tw-translate-y:1rem}.xl\\:translate-y-5{--tw-translate-y:1.25rem}.xl\\:translate-y-6{--tw-translate-y:1.5rem}.xl\\:translate-y-7{--tw-translate-y:1.75rem}.xl\\:translate-y-8{--tw-translate-y:2rem}.xl\\:translate-y-9{--tw-translate-y:2.25rem}.xl\\:translate-y-10{--tw-translate-y:2.5rem}.xl\\:translate-y-11{--tw-translate-y:2.75rem}.xl\\:translate-y-12{--tw-translate-y:3rem}.xl\\:translate-y-14{--tw-translate-y:3.5rem}.xl\\:translate-y-16{--tw-translate-y:4rem}.xl\\:translate-y-20{--tw-translate-y:5rem}.xl\\:translate-y-24{--tw-translate-y:6rem}.xl\\:translate-y-28{--tw-translate-y:7rem}.xl\\:translate-y-32{--tw-translate-y:8rem}.xl\\:translate-y-36{--tw-translate-y:9rem}.xl\\:translate-y-40{--tw-translate-y:10rem}.xl\\:translate-y-44{--tw-translate-y:11rem}.xl\\:translate-y-48{--tw-translate-y:12rem}.xl\\:translate-y-52{--tw-translate-y:13rem}.xl\\:translate-y-56{--tw-translate-y:14rem}.xl\\:translate-y-60{--tw-translate-y:15rem}.xl\\:translate-y-64{--tw-translate-y:16rem}.xl\\:translate-y-72{--tw-translate-y:18rem}.xl\\:translate-y-80{--tw-translate-y:20rem}.xl\\:translate-y-96{--tw-translate-y:24rem}.xl\\:translate-y-px{--tw-translate-y:1px}.xl\\:translate-y-0\\.5{--tw-translate-y:0.125rem}.xl\\:translate-y-1\\.5{--tw-translate-y:0.375rem}.xl\\:translate-y-2\\.5{--tw-translate-y:0.625rem}.xl\\:translate-y-3\\.5{--tw-translate-y:0.875rem}.xl\\:-translate-y-0{--tw-translate-y:0px}.xl\\:-translate-y-1{--tw-translate-y:-0.25rem}.xl\\:-translate-y-2{--tw-translate-y:-0.5rem}.xl\\:-translate-y-3{--tw-translate-y:-0.75rem}.xl\\:-translate-y-4{--tw-translate-y:-1rem}.xl\\:-translate-y-5{--tw-translate-y:-1.25rem}.xl\\:-translate-y-6{--tw-translate-y:-1.5rem}.xl\\:-translate-y-7{--tw-translate-y:-1.75rem}.xl\\:-translate-y-8{--tw-translate-y:-2rem}.xl\\:-translate-y-9{--tw-translate-y:-2.25rem}.xl\\:-translate-y-10{--tw-translate-y:-2.5rem}.xl\\:-translate-y-11{--tw-translate-y:-2.75rem}.xl\\:-translate-y-12{--tw-translate-y:-3rem}.xl\\:-translate-y-14{--tw-translate-y:-3.5rem}.xl\\:-translate-y-16{--tw-translate-y:-4rem}.xl\\:-translate-y-20{--tw-translate-y:-5rem}.xl\\:-translate-y-24{--tw-translate-y:-6rem}.xl\\:-translate-y-28{--tw-translate-y:-7rem}.xl\\:-translate-y-32{--tw-translate-y:-8rem}.xl\\:-translate-y-36{--tw-translate-y:-9rem}.xl\\:-translate-y-40{--tw-translate-y:-10rem}.xl\\:-translate-y-44{--tw-translate-y:-11rem}.xl\\:-translate-y-48{--tw-translate-y:-12rem}.xl\\:-translate-y-52{--tw-translate-y:-13rem}.xl\\:-translate-y-56{--tw-translate-y:-14rem}.xl\\:-translate-y-60{--tw-translate-y:-15rem}.xl\\:-translate-y-64{--tw-translate-y:-16rem}.xl\\:-translate-y-72{--tw-translate-y:-18rem}.xl\\:-translate-y-80{--tw-translate-y:-20rem}.xl\\:-translate-y-96{--tw-translate-y:-24rem}.xl\\:-translate-y-px{--tw-translate-y:-1px}.xl\\:-translate-y-0\\.5{--tw-translate-y:-0.125rem}.xl\\:-translate-y-1\\.5{--tw-translate-y:-0.375rem}.xl\\:-translate-y-2\\.5{--tw-translate-y:-0.625rem}.xl\\:-translate-y-3\\.5{--tw-translate-y:-0.875rem}.xl\\:translate-y-1\\/2{--tw-translate-y:50%}.xl\\:translate-y-1\\/3{--tw-translate-y:33.333333%}.xl\\:translate-y-2\\/3{--tw-translate-y:66.666667%}.xl\\:translate-y-1\\/4{--tw-translate-y:25%}.xl\\:translate-y-2\\/4{--tw-translate-y:50%}.xl\\:translate-y-3\\/4{--tw-translate-y:75%}.xl\\:translate-y-full{--tw-translate-y:100%}.xl\\:-translate-y-1\\/2{--tw-translate-y:-50%}.xl\\:-translate-y-1\\/3{--tw-translate-y:-33.333333%}.xl\\:-translate-y-2\\/3{--tw-translate-y:-66.666667%}.xl\\:-translate-y-1\\/4{--tw-translate-y:-25%}.xl\\:-translate-y-2\\/4{--tw-translate-y:-50%}.xl\\:-translate-y-3\\/4{--tw-translate-y:-75%}.xl\\:-translate-y-full{--tw-translate-y:-100%}.xl\\:hover\\:translate-x-0:hover{--tw-translate-x:0px}.xl\\:hover\\:translate-x-1:hover{--tw-translate-x:0.25rem}.xl\\:hover\\:translate-x-2:hover{--tw-translate-x:0.5rem}.xl\\:hover\\:translate-x-3:hover{--tw-translate-x:0.75rem}.xl\\:hover\\:translate-x-4:hover{--tw-translate-x:1rem}.xl\\:hover\\:translate-x-5:hover{--tw-translate-x:1.25rem}.xl\\:hover\\:translate-x-6:hover{--tw-translate-x:1.5rem}.xl\\:hover\\:translate-x-7:hover{--tw-translate-x:1.75rem}.xl\\:hover\\:translate-x-8:hover{--tw-translate-x:2rem}.xl\\:hover\\:translate-x-9:hover{--tw-translate-x:2.25rem}.xl\\:hover\\:translate-x-10:hover{--tw-translate-x:2.5rem}.xl\\:hover\\:translate-x-11:hover{--tw-translate-x:2.75rem}.xl\\:hover\\:translate-x-12:hover{--tw-translate-x:3rem}.xl\\:hover\\:translate-x-14:hover{--tw-translate-x:3.5rem}.xl\\:hover\\:translate-x-16:hover{--tw-translate-x:4rem}.xl\\:hover\\:translate-x-20:hover{--tw-translate-x:5rem}.xl\\:hover\\:translate-x-24:hover{--tw-translate-x:6rem}.xl\\:hover\\:translate-x-28:hover{--tw-translate-x:7rem}.xl\\:hover\\:translate-x-32:hover{--tw-translate-x:8rem}.xl\\:hover\\:translate-x-36:hover{--tw-translate-x:9rem}.xl\\:hover\\:translate-x-40:hover{--tw-translate-x:10rem}.xl\\:hover\\:translate-x-44:hover{--tw-translate-x:11rem}.xl\\:hover\\:translate-x-48:hover{--tw-translate-x:12rem}.xl\\:hover\\:translate-x-52:hover{--tw-translate-x:13rem}.xl\\:hover\\:translate-x-56:hover{--tw-translate-x:14rem}.xl\\:hover\\:translate-x-60:hover{--tw-translate-x:15rem}.xl\\:hover\\:translate-x-64:hover{--tw-translate-x:16rem}.xl\\:hover\\:translate-x-72:hover{--tw-translate-x:18rem}.xl\\:hover\\:translate-x-80:hover{--tw-translate-x:20rem}.xl\\:hover\\:translate-x-96:hover{--tw-translate-x:24rem}.xl\\:hover\\:translate-x-px:hover{--tw-translate-x:1px}.xl\\:hover\\:translate-x-0\\.5:hover{--tw-translate-x:0.125rem}.xl\\:hover\\:translate-x-1\\.5:hover{--tw-translate-x:0.375rem}.xl\\:hover\\:translate-x-2\\.5:hover{--tw-translate-x:0.625rem}.xl\\:hover\\:translate-x-3\\.5:hover{--tw-translate-x:0.875rem}.xl\\:hover\\:-translate-x-0:hover{--tw-translate-x:0px}.xl\\:hover\\:-translate-x-1:hover{--tw-translate-x:-0.25rem}.xl\\:hover\\:-translate-x-2:hover{--tw-translate-x:-0.5rem}.xl\\:hover\\:-translate-x-3:hover{--tw-translate-x:-0.75rem}.xl\\:hover\\:-translate-x-4:hover{--tw-translate-x:-1rem}.xl\\:hover\\:-translate-x-5:hover{--tw-translate-x:-1.25rem}.xl\\:hover\\:-translate-x-6:hover{--tw-translate-x:-1.5rem}.xl\\:hover\\:-translate-x-7:hover{--tw-translate-x:-1.75rem}.xl\\:hover\\:-translate-x-8:hover{--tw-translate-x:-2rem}.xl\\:hover\\:-translate-x-9:hover{--tw-translate-x:-2.25rem}.xl\\:hover\\:-translate-x-10:hover{--tw-translate-x:-2.5rem}.xl\\:hover\\:-translate-x-11:hover{--tw-translate-x:-2.75rem}.xl\\:hover\\:-translate-x-12:hover{--tw-translate-x:-3rem}.xl\\:hover\\:-translate-x-14:hover{--tw-translate-x:-3.5rem}.xl\\:hover\\:-translate-x-16:hover{--tw-translate-x:-4rem}.xl\\:hover\\:-translate-x-20:hover{--tw-translate-x:-5rem}.xl\\:hover\\:-translate-x-24:hover{--tw-translate-x:-6rem}.xl\\:hover\\:-translate-x-28:hover{--tw-translate-x:-7rem}.xl\\:hover\\:-translate-x-32:hover{--tw-translate-x:-8rem}.xl\\:hover\\:-translate-x-36:hover{--tw-translate-x:-9rem}.xl\\:hover\\:-translate-x-40:hover{--tw-translate-x:-10rem}.xl\\:hover\\:-translate-x-44:hover{--tw-translate-x:-11rem}.xl\\:hover\\:-translate-x-48:hover{--tw-translate-x:-12rem}.xl\\:hover\\:-translate-x-52:hover{--tw-translate-x:-13rem}.xl\\:hover\\:-translate-x-56:hover{--tw-translate-x:-14rem}.xl\\:hover\\:-translate-x-60:hover{--tw-translate-x:-15rem}.xl\\:hover\\:-translate-x-64:hover{--tw-translate-x:-16rem}.xl\\:hover\\:-translate-x-72:hover{--tw-translate-x:-18rem}.xl\\:hover\\:-translate-x-80:hover{--tw-translate-x:-20rem}.xl\\:hover\\:-translate-x-96:hover{--tw-translate-x:-24rem}.xl\\:hover\\:-translate-x-px:hover{--tw-translate-x:-1px}.xl\\:hover\\:-translate-x-0\\.5:hover{--tw-translate-x:-0.125rem}.xl\\:hover\\:-translate-x-1\\.5:hover{--tw-translate-x:-0.375rem}.xl\\:hover\\:-translate-x-2\\.5:hover{--tw-translate-x:-0.625rem}.xl\\:hover\\:-translate-x-3\\.5:hover{--tw-translate-x:-0.875rem}.xl\\:hover\\:translate-x-1\\/2:hover{--tw-translate-x:50%}.xl\\:hover\\:translate-x-1\\/3:hover{--tw-translate-x:33.333333%}.xl\\:hover\\:translate-x-2\\/3:hover{--tw-translate-x:66.666667%}.xl\\:hover\\:translate-x-1\\/4:hover{--tw-translate-x:25%}.xl\\:hover\\:translate-x-2\\/4:hover{--tw-translate-x:50%}.xl\\:hover\\:translate-x-3\\/4:hover{--tw-translate-x:75%}.xl\\:hover\\:translate-x-full:hover{--tw-translate-x:100%}.xl\\:hover\\:-translate-x-1\\/2:hover{--tw-translate-x:-50%}.xl\\:hover\\:-translate-x-1\\/3:hover{--tw-translate-x:-33.333333%}.xl\\:hover\\:-translate-x-2\\/3:hover{--tw-translate-x:-66.666667%}.xl\\:hover\\:-translate-x-1\\/4:hover{--tw-translate-x:-25%}.xl\\:hover\\:-translate-x-2\\/4:hover{--tw-translate-x:-50%}.xl\\:hover\\:-translate-x-3\\/4:hover{--tw-translate-x:-75%}.xl\\:hover\\:-translate-x-full:hover{--tw-translate-x:-100%}.xl\\:hover\\:translate-y-0:hover{--tw-translate-y:0px}.xl\\:hover\\:translate-y-1:hover{--tw-translate-y:0.25rem}.xl\\:hover\\:translate-y-2:hover{--tw-translate-y:0.5rem}.xl\\:hover\\:translate-y-3:hover{--tw-translate-y:0.75rem}.xl\\:hover\\:translate-y-4:hover{--tw-translate-y:1rem}.xl\\:hover\\:translate-y-5:hover{--tw-translate-y:1.25rem}.xl\\:hover\\:translate-y-6:hover{--tw-translate-y:1.5rem}.xl\\:hover\\:translate-y-7:hover{--tw-translate-y:1.75rem}.xl\\:hover\\:translate-y-8:hover{--tw-translate-y:2rem}.xl\\:hover\\:translate-y-9:hover{--tw-translate-y:2.25rem}.xl\\:hover\\:translate-y-10:hover{--tw-translate-y:2.5rem}.xl\\:hover\\:translate-y-11:hover{--tw-translate-y:2.75rem}.xl\\:hover\\:translate-y-12:hover{--tw-translate-y:3rem}.xl\\:hover\\:translate-y-14:hover{--tw-translate-y:3.5rem}.xl\\:hover\\:translate-y-16:hover{--tw-translate-y:4rem}.xl\\:hover\\:translate-y-20:hover{--tw-translate-y:5rem}.xl\\:hover\\:translate-y-24:hover{--tw-translate-y:6rem}.xl\\:hover\\:translate-y-28:hover{--tw-translate-y:7rem}.xl\\:hover\\:translate-y-32:hover{--tw-translate-y:8rem}.xl\\:hover\\:translate-y-36:hover{--tw-translate-y:9rem}.xl\\:hover\\:translate-y-40:hover{--tw-translate-y:10rem}.xl\\:hover\\:translate-y-44:hover{--tw-translate-y:11rem}.xl\\:hover\\:translate-y-48:hover{--tw-translate-y:12rem}.xl\\:hover\\:translate-y-52:hover{--tw-translate-y:13rem}.xl\\:hover\\:translate-y-56:hover{--tw-translate-y:14rem}.xl\\:hover\\:translate-y-60:hover{--tw-translate-y:15rem}.xl\\:hover\\:translate-y-64:hover{--tw-translate-y:16rem}.xl\\:hover\\:translate-y-72:hover{--tw-translate-y:18rem}.xl\\:hover\\:translate-y-80:hover{--tw-translate-y:20rem}.xl\\:hover\\:translate-y-96:hover{--tw-translate-y:24rem}.xl\\:hover\\:translate-y-px:hover{--tw-translate-y:1px}.xl\\:hover\\:translate-y-0\\.5:hover{--tw-translate-y:0.125rem}.xl\\:hover\\:translate-y-1\\.5:hover{--tw-translate-y:0.375rem}.xl\\:hover\\:translate-y-2\\.5:hover{--tw-translate-y:0.625rem}.xl\\:hover\\:translate-y-3\\.5:hover{--tw-translate-y:0.875rem}.xl\\:hover\\:-translate-y-0:hover{--tw-translate-y:0px}.xl\\:hover\\:-translate-y-1:hover{--tw-translate-y:-0.25rem}.xl\\:hover\\:-translate-y-2:hover{--tw-translate-y:-0.5rem}.xl\\:hover\\:-translate-y-3:hover{--tw-translate-y:-0.75rem}.xl\\:hover\\:-translate-y-4:hover{--tw-translate-y:-1rem}.xl\\:hover\\:-translate-y-5:hover{--tw-translate-y:-1.25rem}.xl\\:hover\\:-translate-y-6:hover{--tw-translate-y:-1.5rem}.xl\\:hover\\:-translate-y-7:hover{--tw-translate-y:-1.75rem}.xl\\:hover\\:-translate-y-8:hover{--tw-translate-y:-2rem}.xl\\:hover\\:-translate-y-9:hover{--tw-translate-y:-2.25rem}.xl\\:hover\\:-translate-y-10:hover{--tw-translate-y:-2.5rem}.xl\\:hover\\:-translate-y-11:hover{--tw-translate-y:-2.75rem}.xl\\:hover\\:-translate-y-12:hover{--tw-translate-y:-3rem}.xl\\:hover\\:-translate-y-14:hover{--tw-translate-y:-3.5rem}.xl\\:hover\\:-translate-y-16:hover{--tw-translate-y:-4rem}.xl\\:hover\\:-translate-y-20:hover{--tw-translate-y:-5rem}.xl\\:hover\\:-translate-y-24:hover{--tw-translate-y:-6rem}.xl\\:hover\\:-translate-y-28:hover{--tw-translate-y:-7rem}.xl\\:hover\\:-translate-y-32:hover{--tw-translate-y:-8rem}.xl\\:hover\\:-translate-y-36:hover{--tw-translate-y:-9rem}.xl\\:hover\\:-translate-y-40:hover{--tw-translate-y:-10rem}.xl\\:hover\\:-translate-y-44:hover{--tw-translate-y:-11rem}.xl\\:hover\\:-translate-y-48:hover{--tw-translate-y:-12rem}.xl\\:hover\\:-translate-y-52:hover{--tw-translate-y:-13rem}.xl\\:hover\\:-translate-y-56:hover{--tw-translate-y:-14rem}.xl\\:hover\\:-translate-y-60:hover{--tw-translate-y:-15rem}.xl\\:hover\\:-translate-y-64:hover{--tw-translate-y:-16rem}.xl\\:hover\\:-translate-y-72:hover{--tw-translate-y:-18rem}.xl\\:hover\\:-translate-y-80:hover{--tw-translate-y:-20rem}.xl\\:hover\\:-translate-y-96:hover{--tw-translate-y:-24rem}.xl\\:hover\\:-translate-y-px:hover{--tw-translate-y:-1px}.xl\\:hover\\:-translate-y-0\\.5:hover{--tw-translate-y:-0.125rem}.xl\\:hover\\:-translate-y-1\\.5:hover{--tw-translate-y:-0.375rem}.xl\\:hover\\:-translate-y-2\\.5:hover{--tw-translate-y:-0.625rem}.xl\\:hover\\:-translate-y-3\\.5:hover{--tw-translate-y:-0.875rem}.xl\\:hover\\:translate-y-1\\/2:hover{--tw-translate-y:50%}.xl\\:hover\\:translate-y-1\\/3:hover{--tw-translate-y:33.333333%}.xl\\:hover\\:translate-y-2\\/3:hover{--tw-translate-y:66.666667%}.xl\\:hover\\:translate-y-1\\/4:hover{--tw-translate-y:25%}.xl\\:hover\\:translate-y-2\\/4:hover{--tw-translate-y:50%}.xl\\:hover\\:translate-y-3\\/4:hover{--tw-translate-y:75%}.xl\\:hover\\:translate-y-full:hover{--tw-translate-y:100%}.xl\\:hover\\:-translate-y-1\\/2:hover{--tw-translate-y:-50%}.xl\\:hover\\:-translate-y-1\\/3:hover{--tw-translate-y:-33.333333%}.xl\\:hover\\:-translate-y-2\\/3:hover{--tw-translate-y:-66.666667%}.xl\\:hover\\:-translate-y-1\\/4:hover{--tw-translate-y:-25%}.xl\\:hover\\:-translate-y-2\\/4:hover{--tw-translate-y:-50%}.xl\\:hover\\:-translate-y-3\\/4:hover{--tw-translate-y:-75%}.xl\\:hover\\:-translate-y-full:hover{--tw-translate-y:-100%}.xl\\:focus\\:translate-x-0:focus{--tw-translate-x:0px}.xl\\:focus\\:translate-x-1:focus{--tw-translate-x:0.25rem}.xl\\:focus\\:translate-x-2:focus{--tw-translate-x:0.5rem}.xl\\:focus\\:translate-x-3:focus{--tw-translate-x:0.75rem}.xl\\:focus\\:translate-x-4:focus{--tw-translate-x:1rem}.xl\\:focus\\:translate-x-5:focus{--tw-translate-x:1.25rem}.xl\\:focus\\:translate-x-6:focus{--tw-translate-x:1.5rem}.xl\\:focus\\:translate-x-7:focus{--tw-translate-x:1.75rem}.xl\\:focus\\:translate-x-8:focus{--tw-translate-x:2rem}.xl\\:focus\\:translate-x-9:focus{--tw-translate-x:2.25rem}.xl\\:focus\\:translate-x-10:focus{--tw-translate-x:2.5rem}.xl\\:focus\\:translate-x-11:focus{--tw-translate-x:2.75rem}.xl\\:focus\\:translate-x-12:focus{--tw-translate-x:3rem}.xl\\:focus\\:translate-x-14:focus{--tw-translate-x:3.5rem}.xl\\:focus\\:translate-x-16:focus{--tw-translate-x:4rem}.xl\\:focus\\:translate-x-20:focus{--tw-translate-x:5rem}.xl\\:focus\\:translate-x-24:focus{--tw-translate-x:6rem}.xl\\:focus\\:translate-x-28:focus{--tw-translate-x:7rem}.xl\\:focus\\:translate-x-32:focus{--tw-translate-x:8rem}.xl\\:focus\\:translate-x-36:focus{--tw-translate-x:9rem}.xl\\:focus\\:translate-x-40:focus{--tw-translate-x:10rem}.xl\\:focus\\:translate-x-44:focus{--tw-translate-x:11rem}.xl\\:focus\\:translate-x-48:focus{--tw-translate-x:12rem}.xl\\:focus\\:translate-x-52:focus{--tw-translate-x:13rem}.xl\\:focus\\:translate-x-56:focus{--tw-translate-x:14rem}.xl\\:focus\\:translate-x-60:focus{--tw-translate-x:15rem}.xl\\:focus\\:translate-x-64:focus{--tw-translate-x:16rem}.xl\\:focus\\:translate-x-72:focus{--tw-translate-x:18rem}.xl\\:focus\\:translate-x-80:focus{--tw-translate-x:20rem}.xl\\:focus\\:translate-x-96:focus{--tw-translate-x:24rem}.xl\\:focus\\:translate-x-px:focus{--tw-translate-x:1px}.xl\\:focus\\:translate-x-0\\.5:focus{--tw-translate-x:0.125rem}.xl\\:focus\\:translate-x-1\\.5:focus{--tw-translate-x:0.375rem}.xl\\:focus\\:translate-x-2\\.5:focus{--tw-translate-x:0.625rem}.xl\\:focus\\:translate-x-3\\.5:focus{--tw-translate-x:0.875rem}.xl\\:focus\\:-translate-x-0:focus{--tw-translate-x:0px}.xl\\:focus\\:-translate-x-1:focus{--tw-translate-x:-0.25rem}.xl\\:focus\\:-translate-x-2:focus{--tw-translate-x:-0.5rem}.xl\\:focus\\:-translate-x-3:focus{--tw-translate-x:-0.75rem}.xl\\:focus\\:-translate-x-4:focus{--tw-translate-x:-1rem}.xl\\:focus\\:-translate-x-5:focus{--tw-translate-x:-1.25rem}.xl\\:focus\\:-translate-x-6:focus{--tw-translate-x:-1.5rem}.xl\\:focus\\:-translate-x-7:focus{--tw-translate-x:-1.75rem}.xl\\:focus\\:-translate-x-8:focus{--tw-translate-x:-2rem}.xl\\:focus\\:-translate-x-9:focus{--tw-translate-x:-2.25rem}.xl\\:focus\\:-translate-x-10:focus{--tw-translate-x:-2.5rem}.xl\\:focus\\:-translate-x-11:focus{--tw-translate-x:-2.75rem}.xl\\:focus\\:-translate-x-12:focus{--tw-translate-x:-3rem}.xl\\:focus\\:-translate-x-14:focus{--tw-translate-x:-3.5rem}.xl\\:focus\\:-translate-x-16:focus{--tw-translate-x:-4rem}.xl\\:focus\\:-translate-x-20:focus{--tw-translate-x:-5rem}.xl\\:focus\\:-translate-x-24:focus{--tw-translate-x:-6rem}.xl\\:focus\\:-translate-x-28:focus{--tw-translate-x:-7rem}.xl\\:focus\\:-translate-x-32:focus{--tw-translate-x:-8rem}.xl\\:focus\\:-translate-x-36:focus{--tw-translate-x:-9rem}.xl\\:focus\\:-translate-x-40:focus{--tw-translate-x:-10rem}.xl\\:focus\\:-translate-x-44:focus{--tw-translate-x:-11rem}.xl\\:focus\\:-translate-x-48:focus{--tw-translate-x:-12rem}.xl\\:focus\\:-translate-x-52:focus{--tw-translate-x:-13rem}.xl\\:focus\\:-translate-x-56:focus{--tw-translate-x:-14rem}.xl\\:focus\\:-translate-x-60:focus{--tw-translate-x:-15rem}.xl\\:focus\\:-translate-x-64:focus{--tw-translate-x:-16rem}.xl\\:focus\\:-translate-x-72:focus{--tw-translate-x:-18rem}.xl\\:focus\\:-translate-x-80:focus{--tw-translate-x:-20rem}.xl\\:focus\\:-translate-x-96:focus{--tw-translate-x:-24rem}.xl\\:focus\\:-translate-x-px:focus{--tw-translate-x:-1px}.xl\\:focus\\:-translate-x-0\\.5:focus{--tw-translate-x:-0.125rem}.xl\\:focus\\:-translate-x-1\\.5:focus{--tw-translate-x:-0.375rem}.xl\\:focus\\:-translate-x-2\\.5:focus{--tw-translate-x:-0.625rem}.xl\\:focus\\:-translate-x-3\\.5:focus{--tw-translate-x:-0.875rem}.xl\\:focus\\:translate-x-1\\/2:focus{--tw-translate-x:50%}.xl\\:focus\\:translate-x-1\\/3:focus{--tw-translate-x:33.333333%}.xl\\:focus\\:translate-x-2\\/3:focus{--tw-translate-x:66.666667%}.xl\\:focus\\:translate-x-1\\/4:focus{--tw-translate-x:25%}.xl\\:focus\\:translate-x-2\\/4:focus{--tw-translate-x:50%}.xl\\:focus\\:translate-x-3\\/4:focus{--tw-translate-x:75%}.xl\\:focus\\:translate-x-full:focus{--tw-translate-x:100%}.xl\\:focus\\:-translate-x-1\\/2:focus{--tw-translate-x:-50%}.xl\\:focus\\:-translate-x-1\\/3:focus{--tw-translate-x:-33.333333%}.xl\\:focus\\:-translate-x-2\\/3:focus{--tw-translate-x:-66.666667%}.xl\\:focus\\:-translate-x-1\\/4:focus{--tw-translate-x:-25%}.xl\\:focus\\:-translate-x-2\\/4:focus{--tw-translate-x:-50%}.xl\\:focus\\:-translate-x-3\\/4:focus{--tw-translate-x:-75%}.xl\\:focus\\:-translate-x-full:focus{--tw-translate-x:-100%}.xl\\:focus\\:translate-y-0:focus{--tw-translate-y:0px}.xl\\:focus\\:translate-y-1:focus{--tw-translate-y:0.25rem}.xl\\:focus\\:translate-y-2:focus{--tw-translate-y:0.5rem}.xl\\:focus\\:translate-y-3:focus{--tw-translate-y:0.75rem}.xl\\:focus\\:translate-y-4:focus{--tw-translate-y:1rem}.xl\\:focus\\:translate-y-5:focus{--tw-translate-y:1.25rem}.xl\\:focus\\:translate-y-6:focus{--tw-translate-y:1.5rem}.xl\\:focus\\:translate-y-7:focus{--tw-translate-y:1.75rem}.xl\\:focus\\:translate-y-8:focus{--tw-translate-y:2rem}.xl\\:focus\\:translate-y-9:focus{--tw-translate-y:2.25rem}.xl\\:focus\\:translate-y-10:focus{--tw-translate-y:2.5rem}.xl\\:focus\\:translate-y-11:focus{--tw-translate-y:2.75rem}.xl\\:focus\\:translate-y-12:focus{--tw-translate-y:3rem}.xl\\:focus\\:translate-y-14:focus{--tw-translate-y:3.5rem}.xl\\:focus\\:translate-y-16:focus{--tw-translate-y:4rem}.xl\\:focus\\:translate-y-20:focus{--tw-translate-y:5rem}.xl\\:focus\\:translate-y-24:focus{--tw-translate-y:6rem}.xl\\:focus\\:translate-y-28:focus{--tw-translate-y:7rem}.xl\\:focus\\:translate-y-32:focus{--tw-translate-y:8rem}.xl\\:focus\\:translate-y-36:focus{--tw-translate-y:9rem}.xl\\:focus\\:translate-y-40:focus{--tw-translate-y:10rem}.xl\\:focus\\:translate-y-44:focus{--tw-translate-y:11rem}.xl\\:focus\\:translate-y-48:focus{--tw-translate-y:12rem}.xl\\:focus\\:translate-y-52:focus{--tw-translate-y:13rem}.xl\\:focus\\:translate-y-56:focus{--tw-translate-y:14rem}.xl\\:focus\\:translate-y-60:focus{--tw-translate-y:15rem}.xl\\:focus\\:translate-y-64:focus{--tw-translate-y:16rem}.xl\\:focus\\:translate-y-72:focus{--tw-translate-y:18rem}.xl\\:focus\\:translate-y-80:focus{--tw-translate-y:20rem}.xl\\:focus\\:translate-y-96:focus{--tw-translate-y:24rem}.xl\\:focus\\:translate-y-px:focus{--tw-translate-y:1px}.xl\\:focus\\:translate-y-0\\.5:focus{--tw-translate-y:0.125rem}.xl\\:focus\\:translate-y-1\\.5:focus{--tw-translate-y:0.375rem}.xl\\:focus\\:translate-y-2\\.5:focus{--tw-translate-y:0.625rem}.xl\\:focus\\:translate-y-3\\.5:focus{--tw-translate-y:0.875rem}.xl\\:focus\\:-translate-y-0:focus{--tw-translate-y:0px}.xl\\:focus\\:-translate-y-1:focus{--tw-translate-y:-0.25rem}.xl\\:focus\\:-translate-y-2:focus{--tw-translate-y:-0.5rem}.xl\\:focus\\:-translate-y-3:focus{--tw-translate-y:-0.75rem}.xl\\:focus\\:-translate-y-4:focus{--tw-translate-y:-1rem}.xl\\:focus\\:-translate-y-5:focus{--tw-translate-y:-1.25rem}.xl\\:focus\\:-translate-y-6:focus{--tw-translate-y:-1.5rem}.xl\\:focus\\:-translate-y-7:focus{--tw-translate-y:-1.75rem}.xl\\:focus\\:-translate-y-8:focus{--tw-translate-y:-2rem}.xl\\:focus\\:-translate-y-9:focus{--tw-translate-y:-2.25rem}.xl\\:focus\\:-translate-y-10:focus{--tw-translate-y:-2.5rem}.xl\\:focus\\:-translate-y-11:focus{--tw-translate-y:-2.75rem}.xl\\:focus\\:-translate-y-12:focus{--tw-translate-y:-3rem}.xl\\:focus\\:-translate-y-14:focus{--tw-translate-y:-3.5rem}.xl\\:focus\\:-translate-y-16:focus{--tw-translate-y:-4rem}.xl\\:focus\\:-translate-y-20:focus{--tw-translate-y:-5rem}.xl\\:focus\\:-translate-y-24:focus{--tw-translate-y:-6rem}.xl\\:focus\\:-translate-y-28:focus{--tw-translate-y:-7rem}.xl\\:focus\\:-translate-y-32:focus{--tw-translate-y:-8rem}.xl\\:focus\\:-translate-y-36:focus{--tw-translate-y:-9rem}.xl\\:focus\\:-translate-y-40:focus{--tw-translate-y:-10rem}.xl\\:focus\\:-translate-y-44:focus{--tw-translate-y:-11rem}.xl\\:focus\\:-translate-y-48:focus{--tw-translate-y:-12rem}.xl\\:focus\\:-translate-y-52:focus{--tw-translate-y:-13rem}.xl\\:focus\\:-translate-y-56:focus{--tw-translate-y:-14rem}.xl\\:focus\\:-translate-y-60:focus{--tw-translate-y:-15rem}.xl\\:focus\\:-translate-y-64:focus{--tw-translate-y:-16rem}.xl\\:focus\\:-translate-y-72:focus{--tw-translate-y:-18rem}.xl\\:focus\\:-translate-y-80:focus{--tw-translate-y:-20rem}.xl\\:focus\\:-translate-y-96:focus{--tw-translate-y:-24rem}.xl\\:focus\\:-translate-y-px:focus{--tw-translate-y:-1px}.xl\\:focus\\:-translate-y-0\\.5:focus{--tw-translate-y:-0.125rem}.xl\\:focus\\:-translate-y-1\\.5:focus{--tw-translate-y:-0.375rem}.xl\\:focus\\:-translate-y-2\\.5:focus{--tw-translate-y:-0.625rem}.xl\\:focus\\:-translate-y-3\\.5:focus{--tw-translate-y:-0.875rem}.xl\\:focus\\:translate-y-1\\/2:focus{--tw-translate-y:50%}.xl\\:focus\\:translate-y-1\\/3:focus{--tw-translate-y:33.333333%}.xl\\:focus\\:translate-y-2\\/3:focus{--tw-translate-y:66.666667%}.xl\\:focus\\:translate-y-1\\/4:focus{--tw-translate-y:25%}.xl\\:focus\\:translate-y-2\\/4:focus{--tw-translate-y:50%}.xl\\:focus\\:translate-y-3\\/4:focus{--tw-translate-y:75%}.xl\\:focus\\:translate-y-full:focus{--tw-translate-y:100%}.xl\\:focus\\:-translate-y-1\\/2:focus{--tw-translate-y:-50%}.xl\\:focus\\:-translate-y-1\\/3:focus{--tw-translate-y:-33.333333%}.xl\\:focus\\:-translate-y-2\\/3:focus{--tw-translate-y:-66.666667%}.xl\\:focus\\:-translate-y-1\\/4:focus{--tw-translate-y:-25%}.xl\\:focus\\:-translate-y-2\\/4:focus{--tw-translate-y:-50%}.xl\\:focus\\:-translate-y-3\\/4:focus{--tw-translate-y:-75%}.xl\\:focus\\:-translate-y-full:focus{--tw-translate-y:-100%}.xl\\:rotate-0{--tw-rotate:0deg}.xl\\:rotate-1{--tw-rotate:1deg}.xl\\:rotate-2{--tw-rotate:2deg}.xl\\:rotate-3{--tw-rotate:3deg}.xl\\:rotate-6{--tw-rotate:6deg}.xl\\:rotate-12{--tw-rotate:12deg}.xl\\:rotate-45{--tw-rotate:45deg}.xl\\:rotate-90{--tw-rotate:90deg}.xl\\:rotate-180{--tw-rotate:180deg}.xl\\:-rotate-180{--tw-rotate:-180deg}.xl\\:-rotate-90{--tw-rotate:-90deg}.xl\\:-rotate-45{--tw-rotate:-45deg}.xl\\:-rotate-12{--tw-rotate:-12deg}.xl\\:-rotate-6{--tw-rotate:-6deg}.xl\\:-rotate-3{--tw-rotate:-3deg}.xl\\:-rotate-2{--tw-rotate:-2deg}.xl\\:-rotate-1{--tw-rotate:-1deg}.xl\\:hover\\:rotate-0:hover{--tw-rotate:0deg}.xl\\:hover\\:rotate-1:hover{--tw-rotate:1deg}.xl\\:hover\\:rotate-2:hover{--tw-rotate:2deg}.xl\\:hover\\:rotate-3:hover{--tw-rotate:3deg}.xl\\:hover\\:rotate-6:hover{--tw-rotate:6deg}.xl\\:hover\\:rotate-12:hover{--tw-rotate:12deg}.xl\\:hover\\:rotate-45:hover{--tw-rotate:45deg}.xl\\:hover\\:rotate-90:hover{--tw-rotate:90deg}.xl\\:hover\\:rotate-180:hover{--tw-rotate:180deg}.xl\\:hover\\:-rotate-180:hover{--tw-rotate:-180deg}.xl\\:hover\\:-rotate-90:hover{--tw-rotate:-90deg}.xl\\:hover\\:-rotate-45:hover{--tw-rotate:-45deg}.xl\\:hover\\:-rotate-12:hover{--tw-rotate:-12deg}.xl\\:hover\\:-rotate-6:hover{--tw-rotate:-6deg}.xl\\:hover\\:-rotate-3:hover{--tw-rotate:-3deg}.xl\\:hover\\:-rotate-2:hover{--tw-rotate:-2deg}.xl\\:hover\\:-rotate-1:hover{--tw-rotate:-1deg}.xl\\:focus\\:rotate-0:focus{--tw-rotate:0deg}.xl\\:focus\\:rotate-1:focus{--tw-rotate:1deg}.xl\\:focus\\:rotate-2:focus{--tw-rotate:2deg}.xl\\:focus\\:rotate-3:focus{--tw-rotate:3deg}.xl\\:focus\\:rotate-6:focus{--tw-rotate:6deg}.xl\\:focus\\:rotate-12:focus{--tw-rotate:12deg}.xl\\:focus\\:rotate-45:focus{--tw-rotate:45deg}.xl\\:focus\\:rotate-90:focus{--tw-rotate:90deg}.xl\\:focus\\:rotate-180:focus{--tw-rotate:180deg}.xl\\:focus\\:-rotate-180:focus{--tw-rotate:-180deg}.xl\\:focus\\:-rotate-90:focus{--tw-rotate:-90deg}.xl\\:focus\\:-rotate-45:focus{--tw-rotate:-45deg}.xl\\:focus\\:-rotate-12:focus{--tw-rotate:-12deg}.xl\\:focus\\:-rotate-6:focus{--tw-rotate:-6deg}.xl\\:focus\\:-rotate-3:focus{--tw-rotate:-3deg}.xl\\:focus\\:-rotate-2:focus{--tw-rotate:-2deg}.xl\\:focus\\:-rotate-1:focus{--tw-rotate:-1deg}.xl\\:skew-x-0{--tw-skew-x:0deg}.xl\\:skew-x-1{--tw-skew-x:1deg}.xl\\:skew-x-2{--tw-skew-x:2deg}.xl\\:skew-x-3{--tw-skew-x:3deg}.xl\\:skew-x-6{--tw-skew-x:6deg}.xl\\:skew-x-12{--tw-skew-x:12deg}.xl\\:-skew-x-12{--tw-skew-x:-12deg}.xl\\:-skew-x-6{--tw-skew-x:-6deg}.xl\\:-skew-x-3{--tw-skew-x:-3deg}.xl\\:-skew-x-2{--tw-skew-x:-2deg}.xl\\:-skew-x-1{--tw-skew-x:-1deg}.xl\\:skew-y-0{--tw-skew-y:0deg}.xl\\:skew-y-1{--tw-skew-y:1deg}.xl\\:skew-y-2{--tw-skew-y:2deg}.xl\\:skew-y-3{--tw-skew-y:3deg}.xl\\:skew-y-6{--tw-skew-y:6deg}.xl\\:skew-y-12{--tw-skew-y:12deg}.xl\\:-skew-y-12{--tw-skew-y:-12deg}.xl\\:-skew-y-6{--tw-skew-y:-6deg}.xl\\:-skew-y-3{--tw-skew-y:-3deg}.xl\\:-skew-y-2{--tw-skew-y:-2deg}.xl\\:-skew-y-1{--tw-skew-y:-1deg}.xl\\:hover\\:skew-x-0:hover{--tw-skew-x:0deg}.xl\\:hover\\:skew-x-1:hover{--tw-skew-x:1deg}.xl\\:hover\\:skew-x-2:hover{--tw-skew-x:2deg}.xl\\:hover\\:skew-x-3:hover{--tw-skew-x:3deg}.xl\\:hover\\:skew-x-6:hover{--tw-skew-x:6deg}.xl\\:hover\\:skew-x-12:hover{--tw-skew-x:12deg}.xl\\:hover\\:-skew-x-12:hover{--tw-skew-x:-12deg}.xl\\:hover\\:-skew-x-6:hover{--tw-skew-x:-6deg}.xl\\:hover\\:-skew-x-3:hover{--tw-skew-x:-3deg}.xl\\:hover\\:-skew-x-2:hover{--tw-skew-x:-2deg}.xl\\:hover\\:-skew-x-1:hover{--tw-skew-x:-1deg}.xl\\:hover\\:skew-y-0:hover{--tw-skew-y:0deg}.xl\\:hover\\:skew-y-1:hover{--tw-skew-y:1deg}.xl\\:hover\\:skew-y-2:hover{--tw-skew-y:2deg}.xl\\:hover\\:skew-y-3:hover{--tw-skew-y:3deg}.xl\\:hover\\:skew-y-6:hover{--tw-skew-y:6deg}.xl\\:hover\\:skew-y-12:hover{--tw-skew-y:12deg}.xl\\:hover\\:-skew-y-12:hover{--tw-skew-y:-12deg}.xl\\:hover\\:-skew-y-6:hover{--tw-skew-y:-6deg}.xl\\:hover\\:-skew-y-3:hover{--tw-skew-y:-3deg}.xl\\:hover\\:-skew-y-2:hover{--tw-skew-y:-2deg}.xl\\:hover\\:-skew-y-1:hover{--tw-skew-y:-1deg}.xl\\:focus\\:skew-x-0:focus{--tw-skew-x:0deg}.xl\\:focus\\:skew-x-1:focus{--tw-skew-x:1deg}.xl\\:focus\\:skew-x-2:focus{--tw-skew-x:2deg}.xl\\:focus\\:skew-x-3:focus{--tw-skew-x:3deg}.xl\\:focus\\:skew-x-6:focus{--tw-skew-x:6deg}.xl\\:focus\\:skew-x-12:focus{--tw-skew-x:12deg}.xl\\:focus\\:-skew-x-12:focus{--tw-skew-x:-12deg}.xl\\:focus\\:-skew-x-6:focus{--tw-skew-x:-6deg}.xl\\:focus\\:-skew-x-3:focus{--tw-skew-x:-3deg}.xl\\:focus\\:-skew-x-2:focus{--tw-skew-x:-2deg}.xl\\:focus\\:-skew-x-1:focus{--tw-skew-x:-1deg}.xl\\:focus\\:skew-y-0:focus{--tw-skew-y:0deg}.xl\\:focus\\:skew-y-1:focus{--tw-skew-y:1deg}.xl\\:focus\\:skew-y-2:focus{--tw-skew-y:2deg}.xl\\:focus\\:skew-y-3:focus{--tw-skew-y:3deg}.xl\\:focus\\:skew-y-6:focus{--tw-skew-y:6deg}.xl\\:focus\\:skew-y-12:focus{--tw-skew-y:12deg}.xl\\:focus\\:-skew-y-12:focus{--tw-skew-y:-12deg}.xl\\:focus\\:-skew-y-6:focus{--tw-skew-y:-6deg}.xl\\:focus\\:-skew-y-3:focus{--tw-skew-y:-3deg}.xl\\:focus\\:-skew-y-2:focus{--tw-skew-y:-2deg}.xl\\:focus\\:-skew-y-1:focus{--tw-skew-y:-1deg}.xl\\:scale-0{--tw-scale-x:0;--tw-scale-y:0}.xl\\:scale-50{--tw-scale-x:.5;--tw-scale-y:.5}.xl\\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75}.xl\\:scale-90{--tw-scale-x:.9;--tw-scale-y:.9}.xl\\:scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.xl\\:scale-100{--tw-scale-x:1;--tw-scale-y:1}.xl\\:scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05}.xl\\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1}.xl\\:scale-125{--tw-scale-x:1.25;--tw-scale-y:1.25}.xl\\:scale-150{--tw-scale-x:1.5;--tw-scale-y:1.5}.xl\\:hover\\:scale-0:hover{--tw-scale-x:0;--tw-scale-y:0}.xl\\:hover\\:scale-50:hover{--tw-scale-x:.5;--tw-scale-y:.5}.xl\\:hover\\:scale-75:hover{--tw-scale-x:.75;--tw-scale-y:.75}.xl\\:hover\\:scale-90:hover{--tw-scale-x:.9;--tw-scale-y:.9}.xl\\:hover\\:scale-95:hover{--tw-scale-x:.95;--tw-scale-y:.95}.xl\\:hover\\:scale-100:hover{--tw-scale-x:1;--tw-scale-y:1}.xl\\:hover\\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.xl\\:hover\\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.xl\\:hover\\:scale-125:hover{--tw-scale-x:1.25;--tw-scale-y:1.25}.xl\\:hover\\:scale-150:hover{--tw-scale-x:1.5;--tw-scale-y:1.5}.xl\\:focus\\:scale-0:focus{--tw-scale-x:0;--tw-scale-y:0}.xl\\:focus\\:scale-50:focus{--tw-scale-x:.5;--tw-scale-y:.5}.xl\\:focus\\:scale-75:focus{--tw-scale-x:.75;--tw-scale-y:.75}.xl\\:focus\\:scale-90:focus{--tw-scale-x:.9;--tw-scale-y:.9}.xl\\:focus\\:scale-95:focus{--tw-scale-x:.95;--tw-scale-y:.95}.xl\\:focus\\:scale-100:focus{--tw-scale-x:1;--tw-scale-y:1}.xl\\:focus\\:scale-105:focus{--tw-scale-x:1.05;--tw-scale-y:1.05}.xl\\:focus\\:scale-110:focus{--tw-scale-x:1.1;--tw-scale-y:1.1}.xl\\:focus\\:scale-125:focus{--tw-scale-x:1.25;--tw-scale-y:1.25}.xl\\:focus\\:scale-150:focus{--tw-scale-x:1.5;--tw-scale-y:1.5}.xl\\:scale-x-0{--tw-scale-x:0}.xl\\:scale-x-50{--tw-scale-x:.5}.xl\\:scale-x-75{--tw-scale-x:.75}.xl\\:scale-x-90{--tw-scale-x:.9}.xl\\:scale-x-95{--tw-scale-x:.95}.xl\\:scale-x-100{--tw-scale-x:1}.xl\\:scale-x-105{--tw-scale-x:1.05}.xl\\:scale-x-110{--tw-scale-x:1.1}.xl\\:scale-x-125{--tw-scale-x:1.25}.xl\\:scale-x-150{--tw-scale-x:1.5}.xl\\:scale-y-0{--tw-scale-y:0}.xl\\:scale-y-50{--tw-scale-y:.5}.xl\\:scale-y-75{--tw-scale-y:.75}.xl\\:scale-y-90{--tw-scale-y:.9}.xl\\:scale-y-95{--tw-scale-y:.95}.xl\\:scale-y-100{--tw-scale-y:1}.xl\\:scale-y-105{--tw-scale-y:1.05}.xl\\:scale-y-110{--tw-scale-y:1.1}.xl\\:scale-y-125{--tw-scale-y:1.25}.xl\\:scale-y-150{--tw-scale-y:1.5}.xl\\:hover\\:scale-x-0:hover{--tw-scale-x:0}.xl\\:hover\\:scale-x-50:hover{--tw-scale-x:.5}.xl\\:hover\\:scale-x-75:hover{--tw-scale-x:.75}.xl\\:hover\\:scale-x-90:hover{--tw-scale-x:.9}.xl\\:hover\\:scale-x-95:hover{--tw-scale-x:.95}.xl\\:hover\\:scale-x-100:hover{--tw-scale-x:1}.xl\\:hover\\:scale-x-105:hover{--tw-scale-x:1.05}.xl\\:hover\\:scale-x-110:hover{--tw-scale-x:1.1}.xl\\:hover\\:scale-x-125:hover{--tw-scale-x:1.25}.xl\\:hover\\:scale-x-150:hover{--tw-scale-x:1.5}.xl\\:hover\\:scale-y-0:hover{--tw-scale-y:0}.xl\\:hover\\:scale-y-50:hover{--tw-scale-y:.5}.xl\\:hover\\:scale-y-75:hover{--tw-scale-y:.75}.xl\\:hover\\:scale-y-90:hover{--tw-scale-y:.9}.xl\\:hover\\:scale-y-95:hover{--tw-scale-y:.95}.xl\\:hover\\:scale-y-100:hover{--tw-scale-y:1}.xl\\:hover\\:scale-y-105:hover{--tw-scale-y:1.05}.xl\\:hover\\:scale-y-110:hover{--tw-scale-y:1.1}.xl\\:hover\\:scale-y-125:hover{--tw-scale-y:1.25}.xl\\:hover\\:scale-y-150:hover{--tw-scale-y:1.5}.xl\\:focus\\:scale-x-0:focus{--tw-scale-x:0}.xl\\:focus\\:scale-x-50:focus{--tw-scale-x:.5}.xl\\:focus\\:scale-x-75:focus{--tw-scale-x:.75}.xl\\:focus\\:scale-x-90:focus{--tw-scale-x:.9}.xl\\:focus\\:scale-x-95:focus{--tw-scale-x:.95}.xl\\:focus\\:scale-x-100:focus{--tw-scale-x:1}.xl\\:focus\\:scale-x-105:focus{--tw-scale-x:1.05}.xl\\:focus\\:scale-x-110:focus{--tw-scale-x:1.1}.xl\\:focus\\:scale-x-125:focus{--tw-scale-x:1.25}.xl\\:focus\\:scale-x-150:focus{--tw-scale-x:1.5}.xl\\:focus\\:scale-y-0:focus{--tw-scale-y:0}.xl\\:focus\\:scale-y-50:focus{--tw-scale-y:.5}.xl\\:focus\\:scale-y-75:focus{--tw-scale-y:.75}.xl\\:focus\\:scale-y-90:focus{--tw-scale-y:.9}.xl\\:focus\\:scale-y-95:focus{--tw-scale-y:.95}.xl\\:focus\\:scale-y-100:focus{--tw-scale-y:1}.xl\\:focus\\:scale-y-105:focus{--tw-scale-y:1.05}.xl\\:focus\\:scale-y-110:focus{--tw-scale-y:1.1}.xl\\:focus\\:scale-y-125:focus{--tw-scale-y:1.25}.xl\\:focus\\:scale-y-150:focus{--tw-scale-y:1.5}.xl\\:animate-none{animation:none}.xl\\:animate-spin{animation:spin 1s linear infinite}.xl\\:animate-ping{animation:ping 1s cubic-bezier(0, 0, 0.2, 1) infinite}.xl\\:animate-pulse{animation:pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite}.xl\\:animate-bounce{animation:bounce 1s infinite}.xl\\:cursor-auto{cursor:auto}.xl\\:cursor-default{cursor:default}.xl\\:cursor-pointer{cursor:pointer}.xl\\:cursor-wait{cursor:wait}.xl\\:cursor-text{cursor:text}.xl\\:cursor-move{cursor:move}.xl\\:cursor-help{cursor:help}.xl\\:cursor-not-allowed{cursor:not-allowed}.xl\\:select-none{-webkit-user-select:none;user-select:none}.xl\\:select-text{-webkit-user-select:text;user-select:text}.xl\\:select-all{-webkit-user-select:all;user-select:all}.xl\\:select-auto{-webkit-user-select:auto;user-select:auto}.xl\\:resize-none{resize:none}.xl\\:resize-y{resize:vertical}.xl\\:resize-x{resize:horizontal}.xl\\:resize{resize:both}.xl\\:list-inside{list-style-position:inside}.xl\\:list-outside{list-style-position:outside}.xl\\:list-none{list-style-type:none}.xl\\:list-disc{list-style-type:disc}.xl\\:list-decimal{list-style-type:decimal}.xl\\:appearance-none{appearance:none}.xl\\:auto-cols-auto{grid-auto-columns:auto}.xl\\:auto-cols-min{grid-auto-columns:min-content}.xl\\:auto-cols-max{grid-auto-columns:max-content}.xl\\:auto-cols-fr{grid-auto-columns:minmax(0, 1fr)}.xl\\:grid-flow-row{grid-auto-flow:row}.xl\\:grid-flow-col{grid-auto-flow:column}.xl\\:grid-flow-row-dense{grid-auto-flow:row dense}.xl\\:grid-flow-col-dense{grid-auto-flow:column dense}.xl\\:auto-rows-auto{grid-auto-rows:auto}.xl\\:auto-rows-min{grid-auto-rows:min-content}.xl\\:auto-rows-max{grid-auto-rows:max-content}.xl\\:auto-rows-fr{grid-auto-rows:minmax(0, 1fr)}.xl\\:grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}.xl\\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.xl\\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.xl\\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}.xl\\:grid-cols-5{grid-template-columns:repeat(5, minmax(0, 1fr))}.xl\\:grid-cols-6{grid-template-columns:repeat(6, minmax(0, 1fr))}.xl\\:grid-cols-7{grid-template-columns:repeat(7, minmax(0, 1fr))}.xl\\:grid-cols-8{grid-template-columns:repeat(8, minmax(0, 1fr))}.xl\\:grid-cols-9{grid-template-columns:repeat(9, minmax(0, 1fr))}.xl\\:grid-cols-10{grid-template-columns:repeat(10, minmax(0, 1fr))}.xl\\:grid-cols-11{grid-template-columns:repeat(11, minmax(0, 1fr))}.xl\\:grid-cols-12{grid-template-columns:repeat(12, minmax(0, 1fr))}.xl\\:grid-cols-none{grid-template-columns:none}.xl\\:grid-rows-1{grid-template-rows:repeat(1, minmax(0, 1fr))}.xl\\:grid-rows-2{grid-template-rows:repeat(2, minmax(0, 1fr))}.xl\\:grid-rows-3{grid-template-rows:repeat(3, minmax(0, 1fr))}.xl\\:grid-rows-4{grid-template-rows:repeat(4, minmax(0, 1fr))}.xl\\:grid-rows-5{grid-template-rows:repeat(5, minmax(0, 1fr))}.xl\\:grid-rows-6{grid-template-rows:repeat(6, minmax(0, 1fr))}.xl\\:grid-rows-none{grid-template-rows:none}.xl\\:flex-row{flex-direction:row}.xl\\:flex-row-reverse{flex-direction:row-reverse}.xl\\:flex-col{flex-direction:column}.xl\\:flex-col-reverse{flex-direction:column-reverse}.xl\\:flex-wrap{flex-wrap:wrap}.xl\\:flex-wrap-reverse{flex-wrap:wrap-reverse}.xl\\:flex-nowrap{flex-wrap:nowrap}.xl\\:place-content-center{place-content:center}.xl\\:place-content-start{place-content:start}.xl\\:place-content-end{place-content:end}.xl\\:place-content-between{place-content:space-between}.xl\\:place-content-around{place-content:space-around}.xl\\:place-content-evenly{place-content:space-evenly}.xl\\:place-content-stretch{place-content:stretch}.xl\\:place-items-start{place-items:start}.xl\\:place-items-end{place-items:end}.xl\\:place-items-center{place-items:center}.xl\\:place-items-stretch{place-items:stretch}.xl\\:content-center{align-content:center}.xl\\:content-start{align-content:flex-start}.xl\\:content-end{align-content:flex-end}.xl\\:content-between{align-content:space-between}.xl\\:content-around{align-content:space-around}.xl\\:content-evenly{align-content:space-evenly}.xl\\:items-start{align-items:flex-start}.xl\\:items-end{align-items:flex-end}.xl\\:items-center{align-items:center}.xl\\:items-baseline{align-items:baseline}.xl\\:items-stretch{align-items:stretch}.xl\\:justify-start{justify-content:flex-start}.xl\\:justify-end{justify-content:flex-end}.xl\\:justify-center{justify-content:center}.xl\\:justify-between{justify-content:space-between}.xl\\:justify-around{justify-content:space-around}.xl\\:justify-evenly{justify-content:space-evenly}.xl\\:justify-items-start{justify-items:start}.xl\\:justify-items-end{justify-items:end}.xl\\:justify-items-center{justify-items:center}.xl\\:justify-items-stretch{justify-items:stretch}.xl\\:gap-0{gap:0px}.xl\\:gap-1{gap:0.25rem}.xl\\:gap-2{gap:0.5rem}.xl\\:gap-3{gap:0.75rem}.xl\\:gap-4{gap:1rem}.xl\\:gap-5{gap:1.25rem}.xl\\:gap-6{gap:1.5rem}.xl\\:gap-7{gap:1.75rem}.xl\\:gap-8{gap:2rem}.xl\\:gap-9{gap:2.25rem}.xl\\:gap-10{gap:2.5rem}.xl\\:gap-11{gap:2.75rem}.xl\\:gap-12{gap:3rem}.xl\\:gap-14{gap:3.5rem}.xl\\:gap-16{gap:4rem}.xl\\:gap-20{gap:5rem}.xl\\:gap-24{gap:6rem}.xl\\:gap-28{gap:7rem}.xl\\:gap-32{gap:8rem}.xl\\:gap-36{gap:9rem}.xl\\:gap-40{gap:10rem}.xl\\:gap-44{gap:11rem}.xl\\:gap-48{gap:12rem}.xl\\:gap-52{gap:13rem}.xl\\:gap-56{gap:14rem}.xl\\:gap-60{gap:15rem}.xl\\:gap-64{gap:16rem}.xl\\:gap-72{gap:18rem}.xl\\:gap-80{gap:20rem}.xl\\:gap-96{gap:24rem}.xl\\:gap-px{gap:1px}.xl\\:gap-0\\.5{gap:0.125rem}.xl\\:gap-1\\.5{gap:0.375rem}.xl\\:gap-2\\.5{gap:0.625rem}.xl\\:gap-3\\.5{gap:0.875rem}.xl\\:gap-x-0{column-gap:0px}.xl\\:gap-x-1{column-gap:0.25rem}.xl\\:gap-x-2{column-gap:0.5rem}.xl\\:gap-x-3{column-gap:0.75rem}.xl\\:gap-x-4{column-gap:1rem}.xl\\:gap-x-5{column-gap:1.25rem}.xl\\:gap-x-6{column-gap:1.5rem}.xl\\:gap-x-7{column-gap:1.75rem}.xl\\:gap-x-8{column-gap:2rem}.xl\\:gap-x-9{column-gap:2.25rem}.xl\\:gap-x-10{column-gap:2.5rem}.xl\\:gap-x-11{column-gap:2.75rem}.xl\\:gap-x-12{column-gap:3rem}.xl\\:gap-x-14{column-gap:3.5rem}.xl\\:gap-x-16{column-gap:4rem}.xl\\:gap-x-20{column-gap:5rem}.xl\\:gap-x-24{column-gap:6rem}.xl\\:gap-x-28{column-gap:7rem}.xl\\:gap-x-32{column-gap:8rem}.xl\\:gap-x-36{column-gap:9rem}.xl\\:gap-x-40{column-gap:10rem}.xl\\:gap-x-44{column-gap:11rem}.xl\\:gap-x-48{column-gap:12rem}.xl\\:gap-x-52{column-gap:13rem}.xl\\:gap-x-56{column-gap:14rem}.xl\\:gap-x-60{column-gap:15rem}.xl\\:gap-x-64{column-gap:16rem}.xl\\:gap-x-72{column-gap:18rem}.xl\\:gap-x-80{column-gap:20rem}.xl\\:gap-x-96{column-gap:24rem}.xl\\:gap-x-px{column-gap:1px}.xl\\:gap-x-0\\.5{column-gap:0.125rem}.xl\\:gap-x-1\\.5{column-gap:0.375rem}.xl\\:gap-x-2\\.5{column-gap:0.625rem}.xl\\:gap-x-3\\.5{column-gap:0.875rem}.xl\\:gap-y-0{row-gap:0px}.xl\\:gap-y-1{row-gap:0.25rem}.xl\\:gap-y-2{row-gap:0.5rem}.xl\\:gap-y-3{row-gap:0.75rem}.xl\\:gap-y-4{row-gap:1rem}.xl\\:gap-y-5{row-gap:1.25rem}.xl\\:gap-y-6{row-gap:1.5rem}.xl\\:gap-y-7{row-gap:1.75rem}.xl\\:gap-y-8{row-gap:2rem}.xl\\:gap-y-9{row-gap:2.25rem}.xl\\:gap-y-10{row-gap:2.5rem}.xl\\:gap-y-11{row-gap:2.75rem}.xl\\:gap-y-12{row-gap:3rem}.xl\\:gap-y-14{row-gap:3.5rem}.xl\\:gap-y-16{row-gap:4rem}.xl\\:gap-y-20{row-gap:5rem}.xl\\:gap-y-24{row-gap:6rem}.xl\\:gap-y-28{row-gap:7rem}.xl\\:gap-y-32{row-gap:8rem}.xl\\:gap-y-36{row-gap:9rem}.xl\\:gap-y-40{row-gap:10rem}.xl\\:gap-y-44{row-gap:11rem}.xl\\:gap-y-48{row-gap:12rem}.xl\\:gap-y-52{row-gap:13rem}.xl\\:gap-y-56{row-gap:14rem}.xl\\:gap-y-60{row-gap:15rem}.xl\\:gap-y-64{row-gap:16rem}.xl\\:gap-y-72{row-gap:18rem}.xl\\:gap-y-80{row-gap:20rem}.xl\\:gap-y-96{row-gap:24rem}.xl\\:gap-y-px{row-gap:1px}.xl\\:gap-y-0\\.5{row-gap:0.125rem}.xl\\:gap-y-1\\.5{row-gap:0.375rem}.xl\\:gap-y-2\\.5{row-gap:0.625rem}.xl\\:gap-y-3\\.5{row-gap:0.875rem}.xl\\:space-x-0>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0px * var(--tw-space-x-reverse));margin-left:calc(0px * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.25rem * var(--tw-space-x-reverse));margin-left:calc(0.25rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.5rem * var(--tw-space-x-reverse));margin-left:calc(0.5rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.75rem * var(--tw-space-x-reverse));margin-left:calc(0.75rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.25rem * var(--tw-space-x-reverse));margin-left:calc(1.25rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.5rem * var(--tw-space-x-reverse));margin-left:calc(1.5rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-7>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.75rem * var(--tw-space-x-reverse));margin-left:calc(1.75rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2rem * var(--tw-space-x-reverse));margin-left:calc(2rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-9>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2.25rem * var(--tw-space-x-reverse));margin-left:calc(2.25rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-10>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2.5rem * var(--tw-space-x-reverse));margin-left:calc(2.5rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-11>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2.75rem * var(--tw-space-x-reverse));margin-left:calc(2.75rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-12>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(3rem * var(--tw-space-x-reverse));margin-left:calc(3rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-14>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(3.5rem * var(--tw-space-x-reverse));margin-left:calc(3.5rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-16>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(4rem * var(--tw-space-x-reverse));margin-left:calc(4rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-20>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(5rem * var(--tw-space-x-reverse));margin-left:calc(5rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-24>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(6rem * var(--tw-space-x-reverse));margin-left:calc(6rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-28>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(7rem * var(--tw-space-x-reverse));margin-left:calc(7rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-32>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(8rem * var(--tw-space-x-reverse));margin-left:calc(8rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-36>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(9rem * var(--tw-space-x-reverse));margin-left:calc(9rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-40>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(10rem * var(--tw-space-x-reverse));margin-left:calc(10rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-44>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(11rem * var(--tw-space-x-reverse));margin-left:calc(11rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-48>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(12rem * var(--tw-space-x-reverse));margin-left:calc(12rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-52>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(13rem * var(--tw-space-x-reverse));margin-left:calc(13rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-56>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(14rem * var(--tw-space-x-reverse));margin-left:calc(14rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-60>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(15rem * var(--tw-space-x-reverse));margin-left:calc(15rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-64>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(16rem * var(--tw-space-x-reverse));margin-left:calc(16rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-72>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(18rem * var(--tw-space-x-reverse));margin-left:calc(18rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-80>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(20rem * var(--tw-space-x-reverse));margin-left:calc(20rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-96>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(24rem * var(--tw-space-x-reverse));margin-left:calc(24rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1px * var(--tw-space-x-reverse));margin-left:calc(1px * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-0\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.125rem * var(--tw-space-x-reverse));margin-left:calc(0.125rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-1\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.375rem * var(--tw-space-x-reverse));margin-left:calc(0.375rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-2\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.625rem * var(--tw-space-x-reverse));margin-left:calc(0.625rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-x-3\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.875rem * var(--tw-space-x-reverse));margin-left:calc(0.875rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-0>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0px * var(--tw-space-x-reverse));margin-left:calc(0px * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.25rem * var(--tw-space-x-reverse));margin-left:calc(-0.25rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.5rem * var(--tw-space-x-reverse));margin-left:calc(-0.5rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.75rem * var(--tw-space-x-reverse));margin-left:calc(-0.75rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1rem * var(--tw-space-x-reverse));margin-left:calc(-1rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1.25rem * var(--tw-space-x-reverse));margin-left:calc(-1.25rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1.5rem * var(--tw-space-x-reverse));margin-left:calc(-1.5rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-7>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1.75rem * var(--tw-space-x-reverse));margin-left:calc(-1.75rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2rem * var(--tw-space-x-reverse));margin-left:calc(-2rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-9>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2.25rem * var(--tw-space-x-reverse));margin-left:calc(-2.25rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-10>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2.5rem * var(--tw-space-x-reverse));margin-left:calc(-2.5rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-11>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2.75rem * var(--tw-space-x-reverse));margin-left:calc(-2.75rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-12>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-3rem * var(--tw-space-x-reverse));margin-left:calc(-3rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-14>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-3.5rem * var(--tw-space-x-reverse));margin-left:calc(-3.5rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-16>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-4rem * var(--tw-space-x-reverse));margin-left:calc(-4rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-20>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-5rem * var(--tw-space-x-reverse));margin-left:calc(-5rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-24>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-6rem * var(--tw-space-x-reverse));margin-left:calc(-6rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-28>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-7rem * var(--tw-space-x-reverse));margin-left:calc(-7rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-32>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-8rem * var(--tw-space-x-reverse));margin-left:calc(-8rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-36>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-9rem * var(--tw-space-x-reverse));margin-left:calc(-9rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-40>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-10rem * var(--tw-space-x-reverse));margin-left:calc(-10rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-44>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-11rem * var(--tw-space-x-reverse));margin-left:calc(-11rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-48>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-12rem * var(--tw-space-x-reverse));margin-left:calc(-12rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-52>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-13rem * var(--tw-space-x-reverse));margin-left:calc(-13rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-56>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-14rem * var(--tw-space-x-reverse));margin-left:calc(-14rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-60>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-15rem * var(--tw-space-x-reverse));margin-left:calc(-15rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-64>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-16rem * var(--tw-space-x-reverse));margin-left:calc(-16rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-72>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-18rem * var(--tw-space-x-reverse));margin-left:calc(-18rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-80>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-20rem * var(--tw-space-x-reverse));margin-left:calc(-20rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-96>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-24rem * var(--tw-space-x-reverse));margin-left:calc(-24rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1px * var(--tw-space-x-reverse));margin-left:calc(-1px * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-0\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.125rem * var(--tw-space-x-reverse));margin-left:calc(-0.125rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-1\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.375rem * var(--tw-space-x-reverse));margin-left:calc(-0.375rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-2\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.625rem * var(--tw-space-x-reverse));margin-left:calc(-0.625rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:-space-x-3\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.875rem * var(--tw-space-x-reverse));margin-left:calc(-0.875rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.xl\\:space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.25rem * var(--tw-space-y-reverse))}.xl\\:space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.5rem * var(--tw-space-y-reverse))}.xl\\:space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.75rem * var(--tw-space-y-reverse))}.xl\\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.xl\\:space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.xl\\:space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.xl\\:space-y-7>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.75rem * var(--tw-space-y-reverse))}.xl\\:space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.xl\\:space-y-9>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.25rem * var(--tw-space-y-reverse))}.xl\\:space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.5rem * var(--tw-space-y-reverse))}.xl\\:space-y-11>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.75rem * var(--tw-space-y-reverse))}.xl\\:space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3rem * var(--tw-space-y-reverse))}.xl\\:space-y-14>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(3.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3.5rem * var(--tw-space-y-reverse))}.xl\\:space-y-16>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(4rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(4rem * var(--tw-space-y-reverse))}.xl\\:space-y-20>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(5rem * var(--tw-space-y-reverse))}.xl\\:space-y-24>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(6rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(6rem * var(--tw-space-y-reverse))}.xl\\:space-y-28>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(7rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(7rem * var(--tw-space-y-reverse))}.xl\\:space-y-32>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(8rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(8rem * var(--tw-space-y-reverse))}.xl\\:space-y-36>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(9rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(9rem * var(--tw-space-y-reverse))}.xl\\:space-y-40>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(10rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(10rem * var(--tw-space-y-reverse))}.xl\\:space-y-44>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(11rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(11rem * var(--tw-space-y-reverse))}.xl\\:space-y-48>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(12rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(12rem * var(--tw-space-y-reverse))}.xl\\:space-y-52>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(13rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(13rem * var(--tw-space-y-reverse))}.xl\\:space-y-56>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(14rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(14rem * var(--tw-space-y-reverse))}.xl\\:space-y-60>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(15rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(15rem * var(--tw-space-y-reverse))}.xl\\:space-y-64>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(16rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(16rem * var(--tw-space-y-reverse))}.xl\\:space-y-72>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(18rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(18rem * var(--tw-space-y-reverse))}.xl\\:space-y-80>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(20rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(20rem * var(--tw-space-y-reverse))}.xl\\:space-y-96>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(24rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(24rem * var(--tw-space-y-reverse))}.xl\\:space-y-px>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1px * var(--tw-space-y-reverse))}.xl\\:space-y-0\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.125rem * var(--tw-space-y-reverse))}.xl\\:space-y-1\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.375rem * var(--tw-space-y-reverse))}.xl\\:space-y-2\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.625rem * var(--tw-space-y-reverse))}.xl\\:space-y-3\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.875rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.875rem * var(--tw-space-y-reverse))}.xl\\:-space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.xl\\:-space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.25rem * var(--tw-space-y-reverse))}.xl\\:-space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.5rem * var(--tw-space-y-reverse))}.xl\\:-space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.75rem * var(--tw-space-y-reverse))}.xl\\:-space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1rem * var(--tw-space-y-reverse))}.xl\\:-space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1.25rem * var(--tw-space-y-reverse))}.xl\\:-space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1.5rem * var(--tw-space-y-reverse))}.xl\\:-space-y-7>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1.75rem * var(--tw-space-y-reverse))}.xl\\:-space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2rem * var(--tw-space-y-reverse))}.xl\\:-space-y-9>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2.25rem * var(--tw-space-y-reverse))}.xl\\:-space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2.5rem * var(--tw-space-y-reverse))}.xl\\:-space-y-11>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2.75rem * var(--tw-space-y-reverse))}.xl\\:-space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-3rem * var(--tw-space-y-reverse))}.xl\\:-space-y-14>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-3.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-3.5rem * var(--tw-space-y-reverse))}.xl\\:-space-y-16>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-4rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-4rem * var(--tw-space-y-reverse))}.xl\\:-space-y-20>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-5rem * var(--tw-space-y-reverse))}.xl\\:-space-y-24>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-6rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-6rem * var(--tw-space-y-reverse))}.xl\\:-space-y-28>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-7rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-7rem * var(--tw-space-y-reverse))}.xl\\:-space-y-32>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-8rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-8rem * var(--tw-space-y-reverse))}.xl\\:-space-y-36>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-9rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-9rem * var(--tw-space-y-reverse))}.xl\\:-space-y-40>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-10rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-10rem * var(--tw-space-y-reverse))}.xl\\:-space-y-44>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-11rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-11rem * var(--tw-space-y-reverse))}.xl\\:-space-y-48>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-12rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-12rem * var(--tw-space-y-reverse))}.xl\\:-space-y-52>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-13rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-13rem * var(--tw-space-y-reverse))}.xl\\:-space-y-56>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-14rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-14rem * var(--tw-space-y-reverse))}.xl\\:-space-y-60>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-15rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-15rem * var(--tw-space-y-reverse))}.xl\\:-space-y-64>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-16rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-16rem * var(--tw-space-y-reverse))}.xl\\:-space-y-72>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-18rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-18rem * var(--tw-space-y-reverse))}.xl\\:-space-y-80>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-20rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-20rem * var(--tw-space-y-reverse))}.xl\\:-space-y-96>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-24rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-24rem * var(--tw-space-y-reverse))}.xl\\:-space-y-px>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1px * var(--tw-space-y-reverse))}.xl\\:-space-y-0\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.125rem * var(--tw-space-y-reverse))}.xl\\:-space-y-1\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.375rem * var(--tw-space-y-reverse))}.xl\\:-space-y-2\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.625rem * var(--tw-space-y-reverse))}.xl\\:-space-y-3\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.875rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.875rem * var(--tw-space-y-reverse))}.xl\\:space-y-reverse>:not([hidden])~:not([hidden]){--tw-space-y-reverse:1}.xl\\:space-x-reverse>:not([hidden])~:not([hidden]){--tw-space-x-reverse:1}.xl\\:divide-x-0>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(0px * var(--tw-divide-x-reverse));border-left-width:calc(0px * calc(1 - var(--tw-divide-x-reverse)))}.xl\\:divide-x-2>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(2px * var(--tw-divide-x-reverse));border-left-width:calc(2px * calc(1 - var(--tw-divide-x-reverse)))}.xl\\:divide-x-4>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(4px * var(--tw-divide-x-reverse));border-left-width:calc(4px * calc(1 - var(--tw-divide-x-reverse)))}.xl\\:divide-x-8>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(8px * var(--tw-divide-x-reverse));border-left-width:calc(8px * calc(1 - var(--tw-divide-x-reverse)))}.xl\\:divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(1px * var(--tw-divide-x-reverse));border-left-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}.xl\\:divide-y-0>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(0px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(0px * var(--tw-divide-y-reverse))}.xl\\:divide-y-2>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(2px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(2px * var(--tw-divide-y-reverse))}.xl\\:divide-y-4>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(4px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(4px * var(--tw-divide-y-reverse))}.xl\\:divide-y-8>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(8px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(8px * var(--tw-divide-y-reverse))}.xl\\:divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.xl\\:divide-y-reverse>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:1}.xl\\:divide-x-reverse>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:1}.xl\\:divide-solid>:not([hidden])~:not([hidden]){border-style:solid}.xl\\:divide-dashed>:not([hidden])~:not([hidden]){border-style:dashed}.xl\\:divide-dotted>:not([hidden])~:not([hidden]){border-style:dotted}.xl\\:divide-double>:not([hidden])~:not([hidden]){border-style:double}.xl\\:divide-none>:not([hidden])~:not([hidden]){border-style:none}.xl\\:divide-transparent>:not([hidden])~:not([hidden]){border-color:transparent}.xl\\:divide-current>:not([hidden])~:not([hidden]){border-color:currentColor}.xl\\:divide-white>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.xl\\:divide-lightgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(247, 247, 247, var(--tw-divide-opacity))}.xl\\:divide-midgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.xl\\:divide-darkgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(127, 127, 127, var(--tw-divide-opacity))}.xl\\:divide-grey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(30, 30, 30, var(--tw-divide-opacity))}.xl\\:divide-black>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(15, 15, 15, var(--tw-divide-opacity))}.xl\\:divide-highlight>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 113, 227, var(--tw-divide-opacity))}.xl\\:divide-highlight_hover>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 119, 237, var(--tw-divide-opacity))}.xl\\:divide-button_outline>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.xl\\:divide-error>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 69, 58, var(--tw-divide-opacity))}.xl\\:divide-text-light>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(15, 15, 15, var(--tw-divide-opacity))}.xl\\:divide-text-dimmed>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.xl\\:divide-text-dark>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.xl\\:divide-body-light>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.xl\\:divide-body-dark>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(30, 30, 30, var(--tw-divide-opacity))}.xl\\:divide-button>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 113, 227, var(--tw-divide-opacity))}.xl\\:divide-button_hover>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 119, 237, var(--tw-divide-opacity))}@media(prefers-color-scheme: dark){.xl\\:dark\\:divide-transparent>:not([hidden])~:not([hidden]){border-color:transparent}.xl\\:dark\\:divide-current>:not([hidden])~:not([hidden]){border-color:currentColor}.xl\\:dark\\:divide-white>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.xl\\:dark\\:divide-lightgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(247, 247, 247, var(--tw-divide-opacity))}.xl\\:dark\\:divide-midgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.xl\\:dark\\:divide-darkgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(127, 127, 127, var(--tw-divide-opacity))}.xl\\:dark\\:divide-grey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(30, 30, 30, var(--tw-divide-opacity))}.xl\\:dark\\:divide-black>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(15, 15, 15, var(--tw-divide-opacity))}.xl\\:dark\\:divide-highlight>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 113, 227, var(--tw-divide-opacity))}.xl\\:dark\\:divide-highlight_hover>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 119, 237, var(--tw-divide-opacity))}.xl\\:dark\\:divide-button_outline>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.xl\\:dark\\:divide-error>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 69, 58, var(--tw-divide-opacity))}.xl\\:dark\\:divide-text-light>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(15, 15, 15, var(--tw-divide-opacity))}.xl\\:dark\\:divide-text-dimmed>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.xl\\:dark\\:divide-text-dark>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.xl\\:dark\\:divide-body-light>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.xl\\:dark\\:divide-body-dark>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(30, 30, 30, var(--tw-divide-opacity))}.xl\\:dark\\:divide-button>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 113, 227, var(--tw-divide-opacity))}.xl\\:dark\\:divide-button_hover>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 119, 237, var(--tw-divide-opacity))}}.xl\\:divide-opacity-0>:not([hidden])~:not([hidden]){--tw-divide-opacity:0}.xl\\:divide-opacity-5>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.05}.xl\\:divide-opacity-10>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.1}.xl\\:divide-opacity-20>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.2}.xl\\:divide-opacity-25>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.25}.xl\\:divide-opacity-30>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.3}.xl\\:divide-opacity-40>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.4}.xl\\:divide-opacity-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.5}.xl\\:divide-opacity-60>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.6}.xl\\:divide-opacity-70>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.7}.xl\\:divide-opacity-75>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.75}.xl\\:divide-opacity-80>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.8}.xl\\:divide-opacity-90>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.9}.xl\\:divide-opacity-95>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.95}.xl\\:divide-opacity-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1}@media(prefers-color-scheme: dark){.xl\\:dark\\:divide-opacity-0>:not([hidden])~:not([hidden]){--tw-divide-opacity:0}.xl\\:dark\\:divide-opacity-5>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.05}.xl\\:dark\\:divide-opacity-10>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.1}.xl\\:dark\\:divide-opacity-20>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.2}.xl\\:dark\\:divide-opacity-25>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.25}.xl\\:dark\\:divide-opacity-30>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.3}.xl\\:dark\\:divide-opacity-40>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.4}.xl\\:dark\\:divide-opacity-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.5}.xl\\:dark\\:divide-opacity-60>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.6}.xl\\:dark\\:divide-opacity-70>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.7}.xl\\:dark\\:divide-opacity-75>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.75}.xl\\:dark\\:divide-opacity-80>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.8}.xl\\:dark\\:divide-opacity-90>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.9}.xl\\:dark\\:divide-opacity-95>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.95}.xl\\:dark\\:divide-opacity-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1}}.xl\\:place-self-auto{place-self:auto}.xl\\:place-self-start{place-self:start}.xl\\:place-self-end{place-self:end}.xl\\:place-self-center{place-self:center}.xl\\:place-self-stretch{place-self:stretch}.xl\\:self-auto{align-self:auto}.xl\\:self-start{align-self:flex-start}.xl\\:self-end{align-self:flex-end}.xl\\:self-center{align-self:center}.xl\\:self-stretch{align-self:stretch}.xl\\:self-baseline{align-self:baseline}.xl\\:justify-self-auto{justify-self:auto}.xl\\:justify-self-start{justify-self:start}.xl\\:justify-self-end{justify-self:end}.xl\\:justify-self-center{justify-self:center}.xl\\:justify-self-stretch{justify-self:stretch}.xl\\:overflow-auto{overflow:auto}.xl\\:overflow-hidden{overflow:hidden}.xl\\:overflow-visible{overflow:visible}.xl\\:overflow-scroll{overflow:scroll}.xl\\:overflow-x-auto{overflow-x:auto}.xl\\:overflow-y-auto{overflow-y:auto}.xl\\:overflow-x-hidden{overflow-x:hidden}.xl\\:overflow-y-hidden{overflow-y:hidden}.xl\\:overflow-x-visible{overflow-x:visible}.xl\\:overflow-y-visible{overflow-y:visible}.xl\\:overflow-x-scroll{overflow-x:scroll}.xl\\:overflow-y-scroll{overflow-y:scroll}.xl\\:overscroll-auto{overscroll-behavior:auto}.xl\\:overscroll-contain{overscroll-behavior:contain}.xl\\:overscroll-none{overscroll-behavior:none}.xl\\:overscroll-y-auto{overscroll-behavior-y:auto}.xl\\:overscroll-y-contain{overscroll-behavior-y:contain}.xl\\:overscroll-y-none{overscroll-behavior-y:none}.xl\\:overscroll-x-auto{overscroll-behavior-x:auto}.xl\\:overscroll-x-contain{overscroll-behavior-x:contain}.xl\\:overscroll-x-none{overscroll-behavior-x:none}.xl\\:truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xl\\:overflow-ellipsis{text-overflow:ellipsis}.xl\\:overflow-clip{text-overflow:clip}.xl\\:whitespace-normal{white-space:normal}.xl\\:whitespace-nowrap{white-space:nowrap}.xl\\:whitespace-pre{white-space:pre}.xl\\:whitespace-pre-line{white-space:pre-line}.xl\\:whitespace-pre-wrap{white-space:pre-wrap}.xl\\:break-normal{overflow-wrap:normal;word-break:normal}.xl\\:break-words{overflow-wrap:break-word}.xl\\:break-all{word-break:break-all}.xl\\:rounded-none{border-radius:0px}.xl\\:rounded-sm{border-radius:0.125rem}.xl\\:rounded{border-radius:0.25rem}.xl\\:rounded-md{border-radius:0.375rem}.xl\\:rounded-lg{border-radius:0.5rem}.xl\\:rounded-xl{border-radius:0.75rem}.xl\\:rounded-2xl{border-radius:1rem}.xl\\:rounded-3xl{border-radius:1.5rem}.xl\\:rounded-full{border-radius:9999px}.xl\\:rounded-t-none{border-top-left-radius:0px;border-top-right-radius:0px}.xl\\:rounded-t-sm{border-top-left-radius:0.125rem;border-top-right-radius:0.125rem}.xl\\:rounded-t{border-top-left-radius:0.25rem;border-top-right-radius:0.25rem}.xl\\:rounded-t-md{border-top-left-radius:0.375rem;border-top-right-radius:0.375rem}.xl\\:rounded-t-lg{border-top-left-radius:0.5rem;border-top-right-radius:0.5rem}.xl\\:rounded-t-xl{border-top-left-radius:0.75rem;border-top-right-radius:0.75rem}.xl\\:rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.xl\\:rounded-t-3xl{border-top-left-radius:1.5rem;border-top-right-radius:1.5rem}.xl\\:rounded-t-full{border-top-left-radius:9999px;border-top-right-radius:9999px}.xl\\:rounded-r-none{border-top-right-radius:0px;border-bottom-right-radius:0px}.xl\\:rounded-r-sm{border-top-right-radius:0.125rem;border-bottom-right-radius:0.125rem}.xl\\:rounded-r{border-top-right-radius:0.25rem;border-bottom-right-radius:0.25rem}.xl\\:rounded-r-md{border-top-right-radius:0.375rem;border-bottom-right-radius:0.375rem}.xl\\:rounded-r-lg{border-top-right-radius:0.5rem;border-bottom-right-radius:0.5rem}.xl\\:rounded-r-xl{border-top-right-radius:0.75rem;border-bottom-right-radius:0.75rem}.xl\\:rounded-r-2xl{border-top-right-radius:1rem;border-bottom-right-radius:1rem}.xl\\:rounded-r-3xl{border-top-right-radius:1.5rem;border-bottom-right-radius:1.5rem}.xl\\:rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.xl\\:rounded-b-none{border-bottom-right-radius:0px;border-bottom-left-radius:0px}.xl\\:rounded-b-sm{border-bottom-right-radius:0.125rem;border-bottom-left-radius:0.125rem}.xl\\:rounded-b{border-bottom-right-radius:0.25rem;border-bottom-left-radius:0.25rem}.xl\\:rounded-b-md{border-bottom-right-radius:0.375rem;border-bottom-left-radius:0.375rem}.xl\\:rounded-b-lg{border-bottom-right-radius:0.5rem;border-bottom-left-radius:0.5rem}.xl\\:rounded-b-xl{border-bottom-right-radius:0.75rem;border-bottom-left-radius:0.75rem}.xl\\:rounded-b-2xl{border-bottom-right-radius:1rem;border-bottom-left-radius:1rem}.xl\\:rounded-b-3xl{border-bottom-right-radius:1.5rem;border-bottom-left-radius:1.5rem}.xl\\:rounded-b-full{border-bottom-right-radius:9999px;border-bottom-left-radius:9999px}.xl\\:rounded-l-none{border-top-left-radius:0px;border-bottom-left-radius:0px}.xl\\:rounded-l-sm{border-top-left-radius:0.125rem;border-bottom-left-radius:0.125rem}.xl\\:rounded-l{border-top-left-radius:0.25rem;border-bottom-left-radius:0.25rem}.xl\\:rounded-l-md{border-top-left-radius:0.375rem;border-bottom-left-radius:0.375rem}.xl\\:rounded-l-lg{border-top-left-radius:0.5rem;border-bottom-left-radius:0.5rem}.xl\\:rounded-l-xl{border-top-left-radius:0.75rem;border-bottom-left-radius:0.75rem}.xl\\:rounded-l-2xl{border-top-left-radius:1rem;border-bottom-left-radius:1rem}.xl\\:rounded-l-3xl{border-top-left-radius:1.5rem;border-bottom-left-radius:1.5rem}.xl\\:rounded-l-full{border-top-left-radius:9999px;border-bottom-left-radius:9999px}.xl\\:rounded-tl-none{border-top-left-radius:0px}.xl\\:rounded-tl-sm{border-top-left-radius:0.125rem}.xl\\:rounded-tl{border-top-left-radius:0.25rem}.xl\\:rounded-tl-md{border-top-left-radius:0.375rem}.xl\\:rounded-tl-lg{border-top-left-radius:0.5rem}.xl\\:rounded-tl-xl{border-top-left-radius:0.75rem}.xl\\:rounded-tl-2xl{border-top-left-radius:1rem}.xl\\:rounded-tl-3xl{border-top-left-radius:1.5rem}.xl\\:rounded-tl-full{border-top-left-radius:9999px}.xl\\:rounded-tr-none{border-top-right-radius:0px}.xl\\:rounded-tr-sm{border-top-right-radius:0.125rem}.xl\\:rounded-tr{border-top-right-radius:0.25rem}.xl\\:rounded-tr-md{border-top-right-radius:0.375rem}.xl\\:rounded-tr-lg{border-top-right-radius:0.5rem}.xl\\:rounded-tr-xl{border-top-right-radius:0.75rem}.xl\\:rounded-tr-2xl{border-top-right-radius:1rem}.xl\\:rounded-tr-3xl{border-top-right-radius:1.5rem}.xl\\:rounded-tr-full{border-top-right-radius:9999px}.xl\\:rounded-br-none{border-bottom-right-radius:0px}.xl\\:rounded-br-sm{border-bottom-right-radius:0.125rem}.xl\\:rounded-br{border-bottom-right-radius:0.25rem}.xl\\:rounded-br-md{border-bottom-right-radius:0.375rem}.xl\\:rounded-br-lg{border-bottom-right-radius:0.5rem}.xl\\:rounded-br-xl{border-bottom-right-radius:0.75rem}.xl\\:rounded-br-2xl{border-bottom-right-radius:1rem}.xl\\:rounded-br-3xl{border-bottom-right-radius:1.5rem}.xl\\:rounded-br-full{border-bottom-right-radius:9999px}.xl\\:rounded-bl-none{border-bottom-left-radius:0px}.xl\\:rounded-bl-sm{border-bottom-left-radius:0.125rem}.xl\\:rounded-bl{border-bottom-left-radius:0.25rem}.xl\\:rounded-bl-md{border-bottom-left-radius:0.375rem}.xl\\:rounded-bl-lg{border-bottom-left-radius:0.5rem}.xl\\:rounded-bl-xl{border-bottom-left-radius:0.75rem}.xl\\:rounded-bl-2xl{border-bottom-left-radius:1rem}.xl\\:rounded-bl-3xl{border-bottom-left-radius:1.5rem}.xl\\:rounded-bl-full{border-bottom-left-radius:9999px}.xl\\:border-0{border-width:0px}.xl\\:border-2{border-width:2px}.xl\\:border-4{border-width:4px}.xl\\:border-8{border-width:8px}.xl\\:border{border-width:1px}.xl\\:border-t-0{border-top-width:0px}.xl\\:border-t-2{border-top-width:2px}.xl\\:border-t-4{border-top-width:4px}.xl\\:border-t-8{border-top-width:8px}.xl\\:border-t{border-top-width:1px}.xl\\:border-r-0{border-right-width:0px}.xl\\:border-r-2{border-right-width:2px}.xl\\:border-r-4{border-right-width:4px}.xl\\:border-r-8{border-right-width:8px}.xl\\:border-r{border-right-width:1px}.xl\\:border-b-0{border-bottom-width:0px}.xl\\:border-b-2{border-bottom-width:2px}.xl\\:border-b-4{border-bottom-width:4px}.xl\\:border-b-8{border-bottom-width:8px}.xl\\:border-b{border-bottom-width:1px}.xl\\:border-l-0{border-left-width:0px}.xl\\:border-l-2{border-left-width:2px}.xl\\:border-l-4{border-left-width:4px}.xl\\:border-l-8{border-left-width:8px}.xl\\:border-l{border-left-width:1px}.xl\\:border-solid{border-style:solid}.xl\\:border-dashed{border-style:dashed}.xl\\:border-dotted{border-style:dotted}.xl\\:border-double{border-style:double}.xl\\:border-none{border-style:none}.xl\\:border-transparent{border-color:transparent}.xl\\:border-current{border-color:currentColor}.xl\\:border-white{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.xl\\:border-lightgrey{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.xl\\:border-midgrey{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.xl\\:border-darkgrey{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.xl\\:border-grey{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.xl\\:border-black{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.xl\\:border-highlight{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.xl\\:border-highlight_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.xl\\:border-button_outline{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.xl\\:border-error{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.xl\\:border-text-light{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.xl\\:border-text-dimmed{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.xl\\:border-text-dark{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.xl\\:border-body-light{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.xl\\:border-body-dark{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.xl\\:border-button{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.xl\\:border-button_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.group:hover .xl\\:group-hover\\:border-transparent{border-color:transparent}.group:hover .xl\\:group-hover\\:border-current{border-color:currentColor}.group:hover .xl\\:group-hover\\:border-white{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .xl\\:group-hover\\:border-lightgrey{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.group:hover .xl\\:group-hover\\:border-midgrey{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .xl\\:group-hover\\:border-darkgrey{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.group:hover .xl\\:group-hover\\:border-grey{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.group:hover .xl\\:group-hover\\:border-black{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.group:hover .xl\\:group-hover\\:border-highlight{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.group:hover .xl\\:group-hover\\:border-highlight_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.group:hover .xl\\:group-hover\\:border-button_outline{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .xl\\:group-hover\\:border-error{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.group:hover .xl\\:group-hover\\:border-text-light{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.group:hover .xl\\:group-hover\\:border-text-dimmed{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .xl\\:group-hover\\:border-text-dark{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .xl\\:group-hover\\:border-body-light{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .xl\\:group-hover\\:border-body-dark{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.group:hover .xl\\:group-hover\\:border-button{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.group:hover .xl\\:group-hover\\:border-button_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.xl\\:focus-within\\:border-transparent:focus-within{border-color:transparent}.xl\\:focus-within\\:border-current:focus-within{border-color:currentColor}.xl\\:focus-within\\:border-white:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.xl\\:focus-within\\:border-lightgrey:focus-within{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.xl\\:focus-within\\:border-midgrey:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.xl\\:focus-within\\:border-darkgrey:focus-within{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.xl\\:focus-within\\:border-grey:focus-within{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.xl\\:focus-within\\:border-black:focus-within{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.xl\\:focus-within\\:border-highlight:focus-within{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.xl\\:focus-within\\:border-highlight_hover:focus-within{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.xl\\:focus-within\\:border-button_outline:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.xl\\:focus-within\\:border-error:focus-within{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.xl\\:focus-within\\:border-text-light:focus-within{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.xl\\:focus-within\\:border-text-dimmed:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.xl\\:focus-within\\:border-text-dark:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.xl\\:focus-within\\:border-body-light:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.xl\\:focus-within\\:border-body-dark:focus-within{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.xl\\:focus-within\\:border-button:focus-within{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.xl\\:focus-within\\:border-button_hover:focus-within{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.xl\\:hover\\:border-transparent:hover{border-color:transparent}.xl\\:hover\\:border-current:hover{border-color:currentColor}.xl\\:hover\\:border-white:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.xl\\:hover\\:border-lightgrey:hover{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.xl\\:hover\\:border-midgrey:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.xl\\:hover\\:border-darkgrey:hover{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.xl\\:hover\\:border-grey:hover{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.xl\\:hover\\:border-black:hover{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.xl\\:hover\\:border-highlight:hover{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.xl\\:hover\\:border-highlight_hover:hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.xl\\:hover\\:border-button_outline:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.xl\\:hover\\:border-error:hover{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.xl\\:hover\\:border-text-light:hover{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.xl\\:hover\\:border-text-dimmed:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.xl\\:hover\\:border-text-dark:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.xl\\:hover\\:border-body-light:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.xl\\:hover\\:border-body-dark:hover{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.xl\\:hover\\:border-button:hover{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.xl\\:hover\\:border-button_hover:hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.xl\\:focus\\:border-transparent:focus{border-color:transparent}.xl\\:focus\\:border-current:focus{border-color:currentColor}.xl\\:focus\\:border-white:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.xl\\:focus\\:border-lightgrey:focus{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.xl\\:focus\\:border-midgrey:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.xl\\:focus\\:border-darkgrey:focus{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.xl\\:focus\\:border-grey:focus{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.xl\\:focus\\:border-black:focus{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.xl\\:focus\\:border-highlight:focus{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.xl\\:focus\\:border-highlight_hover:focus{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.xl\\:focus\\:border-button_outline:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.xl\\:focus\\:border-error:focus{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.xl\\:focus\\:border-text-light:focus{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.xl\\:focus\\:border-text-dimmed:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.xl\\:focus\\:border-text-dark:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.xl\\:focus\\:border-body-light:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.xl\\:focus\\:border-body-dark:focus{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.xl\\:focus\\:border-button:focus{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.xl\\:focus\\:border-button_hover:focus{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}@media(prefers-color-scheme: dark){.xl\\:dark\\:border-transparent{border-color:transparent}.xl\\:dark\\:border-current{border-color:currentColor}.xl\\:dark\\:border-white{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.xl\\:dark\\:border-lightgrey{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.xl\\:dark\\:border-midgrey{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.xl\\:dark\\:border-darkgrey{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.xl\\:dark\\:border-grey{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.xl\\:dark\\:border-black{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.xl\\:dark\\:border-highlight{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.xl\\:dark\\:border-highlight_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.xl\\:dark\\:border-button_outline{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.xl\\:dark\\:border-error{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.xl\\:dark\\:border-text-light{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.xl\\:dark\\:border-text-dimmed{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.xl\\:dark\\:border-text-dark{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.xl\\:dark\\:border-body-light{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.xl\\:dark\\:border-body-dark{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.xl\\:dark\\:border-button{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.xl\\:dark\\:border-button_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.group:hover .xl\\:dark\\:group-hover\\:border-transparent{border-color:transparent}.group:hover .xl\\:dark\\:group-hover\\:border-current{border-color:currentColor}.group:hover .xl\\:dark\\:group-hover\\:border-white{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .xl\\:dark\\:group-hover\\:border-lightgrey{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.group:hover .xl\\:dark\\:group-hover\\:border-midgrey{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .xl\\:dark\\:group-hover\\:border-darkgrey{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.group:hover .xl\\:dark\\:group-hover\\:border-grey{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.group:hover .xl\\:dark\\:group-hover\\:border-black{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.group:hover .xl\\:dark\\:group-hover\\:border-highlight{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.group:hover .xl\\:dark\\:group-hover\\:border-highlight_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.group:hover .xl\\:dark\\:group-hover\\:border-button_outline{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .xl\\:dark\\:group-hover\\:border-error{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.group:hover .xl\\:dark\\:group-hover\\:border-text-light{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.group:hover .xl\\:dark\\:group-hover\\:border-text-dimmed{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .xl\\:dark\\:group-hover\\:border-text-dark{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .xl\\:dark\\:group-hover\\:border-body-light{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .xl\\:dark\\:group-hover\\:border-body-dark{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.group:hover .xl\\:dark\\:group-hover\\:border-button{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.group:hover .xl\\:dark\\:group-hover\\:border-button_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.xl\\:dark\\:focus-within\\:border-transparent:focus-within{border-color:transparent}.xl\\:dark\\:focus-within\\:border-current:focus-within{border-color:currentColor}.xl\\:dark\\:focus-within\\:border-white:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.xl\\:dark\\:focus-within\\:border-lightgrey:focus-within{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.xl\\:dark\\:focus-within\\:border-midgrey:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.xl\\:dark\\:focus-within\\:border-darkgrey:focus-within{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.xl\\:dark\\:focus-within\\:border-grey:focus-within{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.xl\\:dark\\:focus-within\\:border-black:focus-within{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.xl\\:dark\\:focus-within\\:border-highlight:focus-within{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.xl\\:dark\\:focus-within\\:border-highlight_hover:focus-within{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.xl\\:dark\\:focus-within\\:border-button_outline:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.xl\\:dark\\:focus-within\\:border-error:focus-within{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.xl\\:dark\\:focus-within\\:border-text-light:focus-within{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.xl\\:dark\\:focus-within\\:border-text-dimmed:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.xl\\:dark\\:focus-within\\:border-text-dark:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.xl\\:dark\\:focus-within\\:border-body-light:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.xl\\:dark\\:focus-within\\:border-body-dark:focus-within{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.xl\\:dark\\:focus-within\\:border-button:focus-within{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.xl\\:dark\\:focus-within\\:border-button_hover:focus-within{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.xl\\:dark\\:hover\\:border-transparent:hover{border-color:transparent}.xl\\:dark\\:hover\\:border-current:hover{border-color:currentColor}.xl\\:dark\\:hover\\:border-white:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.xl\\:dark\\:hover\\:border-lightgrey:hover{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.xl\\:dark\\:hover\\:border-midgrey:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.xl\\:dark\\:hover\\:border-darkgrey:hover{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.xl\\:dark\\:hover\\:border-grey:hover{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.xl\\:dark\\:hover\\:border-black:hover{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.xl\\:dark\\:hover\\:border-highlight:hover{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.xl\\:dark\\:hover\\:border-highlight_hover:hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.xl\\:dark\\:hover\\:border-button_outline:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.xl\\:dark\\:hover\\:border-error:hover{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.xl\\:dark\\:hover\\:border-text-light:hover{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.xl\\:dark\\:hover\\:border-text-dimmed:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.xl\\:dark\\:hover\\:border-text-dark:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.xl\\:dark\\:hover\\:border-body-light:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.xl\\:dark\\:hover\\:border-body-dark:hover{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.xl\\:dark\\:hover\\:border-button:hover{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.xl\\:dark\\:hover\\:border-button_hover:hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.xl\\:dark\\:focus\\:border-transparent:focus{border-color:transparent}.xl\\:dark\\:focus\\:border-current:focus{border-color:currentColor}.xl\\:dark\\:focus\\:border-white:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.xl\\:dark\\:focus\\:border-lightgrey:focus{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.xl\\:dark\\:focus\\:border-midgrey:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.xl\\:dark\\:focus\\:border-darkgrey:focus{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.xl\\:dark\\:focus\\:border-grey:focus{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.xl\\:dark\\:focus\\:border-black:focus{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.xl\\:dark\\:focus\\:border-highlight:focus{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.xl\\:dark\\:focus\\:border-highlight_hover:focus{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.xl\\:dark\\:focus\\:border-button_outline:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.xl\\:dark\\:focus\\:border-error:focus{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.xl\\:dark\\:focus\\:border-text-light:focus{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.xl\\:dark\\:focus\\:border-text-dimmed:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.xl\\:dark\\:focus\\:border-text-dark:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.xl\\:dark\\:focus\\:border-body-light:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.xl\\:dark\\:focus\\:border-body-dark:focus{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.xl\\:dark\\:focus\\:border-button:focus{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.xl\\:dark\\:focus\\:border-button_hover:focus{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}}.xl\\:border-opacity-0{--tw-border-opacity:0}.xl\\:border-opacity-5{--tw-border-opacity:0.05}.xl\\:border-opacity-10{--tw-border-opacity:0.1}.xl\\:border-opacity-20{--tw-border-opacity:0.2}.xl\\:border-opacity-25{--tw-border-opacity:0.25}.xl\\:border-opacity-30{--tw-border-opacity:0.3}.xl\\:border-opacity-40{--tw-border-opacity:0.4}.xl\\:border-opacity-50{--tw-border-opacity:0.5}.xl\\:border-opacity-60{--tw-border-opacity:0.6}.xl\\:border-opacity-70{--tw-border-opacity:0.7}.xl\\:border-opacity-75{--tw-border-opacity:0.75}.xl\\:border-opacity-80{--tw-border-opacity:0.8}.xl\\:border-opacity-90{--tw-border-opacity:0.9}.xl\\:border-opacity-95{--tw-border-opacity:0.95}.xl\\:border-opacity-100{--tw-border-opacity:1}.group:hover .xl\\:group-hover\\:border-opacity-0{--tw-border-opacity:0}.group:hover .xl\\:group-hover\\:border-opacity-5{--tw-border-opacity:0.05}.group:hover .xl\\:group-hover\\:border-opacity-10{--tw-border-opacity:0.1}.group:hover .xl\\:group-hover\\:border-opacity-20{--tw-border-opacity:0.2}.group:hover .xl\\:group-hover\\:border-opacity-25{--tw-border-opacity:0.25}.group:hover .xl\\:group-hover\\:border-opacity-30{--tw-border-opacity:0.3}.group:hover .xl\\:group-hover\\:border-opacity-40{--tw-border-opacity:0.4}.group:hover .xl\\:group-hover\\:border-opacity-50{--tw-border-opacity:0.5}.group:hover .xl\\:group-hover\\:border-opacity-60{--tw-border-opacity:0.6}.group:hover .xl\\:group-hover\\:border-opacity-70{--tw-border-opacity:0.7}.group:hover .xl\\:group-hover\\:border-opacity-75{--tw-border-opacity:0.75}.group:hover .xl\\:group-hover\\:border-opacity-80{--tw-border-opacity:0.8}.group:hover .xl\\:group-hover\\:border-opacity-90{--tw-border-opacity:0.9}.group:hover .xl\\:group-hover\\:border-opacity-95{--tw-border-opacity:0.95}.group:hover .xl\\:group-hover\\:border-opacity-100{--tw-border-opacity:1}.xl\\:focus-within\\:border-opacity-0:focus-within{--tw-border-opacity:0}.xl\\:focus-within\\:border-opacity-5:focus-within{--tw-border-opacity:0.05}.xl\\:focus-within\\:border-opacity-10:focus-within{--tw-border-opacity:0.1}.xl\\:focus-within\\:border-opacity-20:focus-within{--tw-border-opacity:0.2}.xl\\:focus-within\\:border-opacity-25:focus-within{--tw-border-opacity:0.25}.xl\\:focus-within\\:border-opacity-30:focus-within{--tw-border-opacity:0.3}.xl\\:focus-within\\:border-opacity-40:focus-within{--tw-border-opacity:0.4}.xl\\:focus-within\\:border-opacity-50:focus-within{--tw-border-opacity:0.5}.xl\\:focus-within\\:border-opacity-60:focus-within{--tw-border-opacity:0.6}.xl\\:focus-within\\:border-opacity-70:focus-within{--tw-border-opacity:0.7}.xl\\:focus-within\\:border-opacity-75:focus-within{--tw-border-opacity:0.75}.xl\\:focus-within\\:border-opacity-80:focus-within{--tw-border-opacity:0.8}.xl\\:focus-within\\:border-opacity-90:focus-within{--tw-border-opacity:0.9}.xl\\:focus-within\\:border-opacity-95:focus-within{--tw-border-opacity:0.95}.xl\\:focus-within\\:border-opacity-100:focus-within{--tw-border-opacity:1}.xl\\:hover\\:border-opacity-0:hover{--tw-border-opacity:0}.xl\\:hover\\:border-opacity-5:hover{--tw-border-opacity:0.05}.xl\\:hover\\:border-opacity-10:hover{--tw-border-opacity:0.1}.xl\\:hover\\:border-opacity-20:hover{--tw-border-opacity:0.2}.xl\\:hover\\:border-opacity-25:hover{--tw-border-opacity:0.25}.xl\\:hover\\:border-opacity-30:hover{--tw-border-opacity:0.3}.xl\\:hover\\:border-opacity-40:hover{--tw-border-opacity:0.4}.xl\\:hover\\:border-opacity-50:hover{--tw-border-opacity:0.5}.xl\\:hover\\:border-opacity-60:hover{--tw-border-opacity:0.6}.xl\\:hover\\:border-opacity-70:hover{--tw-border-opacity:0.7}.xl\\:hover\\:border-opacity-75:hover{--tw-border-opacity:0.75}.xl\\:hover\\:border-opacity-80:hover{--tw-border-opacity:0.8}.xl\\:hover\\:border-opacity-90:hover{--tw-border-opacity:0.9}.xl\\:hover\\:border-opacity-95:hover{--tw-border-opacity:0.95}.xl\\:hover\\:border-opacity-100:hover{--tw-border-opacity:1}.xl\\:focus\\:border-opacity-0:focus{--tw-border-opacity:0}.xl\\:focus\\:border-opacity-5:focus{--tw-border-opacity:0.05}.xl\\:focus\\:border-opacity-10:focus{--tw-border-opacity:0.1}.xl\\:focus\\:border-opacity-20:focus{--tw-border-opacity:0.2}.xl\\:focus\\:border-opacity-25:focus{--tw-border-opacity:0.25}.xl\\:focus\\:border-opacity-30:focus{--tw-border-opacity:0.3}.xl\\:focus\\:border-opacity-40:focus{--tw-border-opacity:0.4}.xl\\:focus\\:border-opacity-50:focus{--tw-border-opacity:0.5}.xl\\:focus\\:border-opacity-60:focus{--tw-border-opacity:0.6}.xl\\:focus\\:border-opacity-70:focus{--tw-border-opacity:0.7}.xl\\:focus\\:border-opacity-75:focus{--tw-border-opacity:0.75}.xl\\:focus\\:border-opacity-80:focus{--tw-border-opacity:0.8}.xl\\:focus\\:border-opacity-90:focus{--tw-border-opacity:0.9}.xl\\:focus\\:border-opacity-95:focus{--tw-border-opacity:0.95}.xl\\:focus\\:border-opacity-100:focus{--tw-border-opacity:1}@media(prefers-color-scheme: dark){.xl\\:dark\\:border-opacity-0{--tw-border-opacity:0}.xl\\:dark\\:border-opacity-5{--tw-border-opacity:0.05}.xl\\:dark\\:border-opacity-10{--tw-border-opacity:0.1}.xl\\:dark\\:border-opacity-20{--tw-border-opacity:0.2}.xl\\:dark\\:border-opacity-25{--tw-border-opacity:0.25}.xl\\:dark\\:border-opacity-30{--tw-border-opacity:0.3}.xl\\:dark\\:border-opacity-40{--tw-border-opacity:0.4}.xl\\:dark\\:border-opacity-50{--tw-border-opacity:0.5}.xl\\:dark\\:border-opacity-60{--tw-border-opacity:0.6}.xl\\:dark\\:border-opacity-70{--tw-border-opacity:0.7}.xl\\:dark\\:border-opacity-75{--tw-border-opacity:0.75}.xl\\:dark\\:border-opacity-80{--tw-border-opacity:0.8}.xl\\:dark\\:border-opacity-90{--tw-border-opacity:0.9}.xl\\:dark\\:border-opacity-95{--tw-border-opacity:0.95}.xl\\:dark\\:border-opacity-100{--tw-border-opacity:1}.group:hover .xl\\:dark\\:group-hover\\:border-opacity-0{--tw-border-opacity:0}.group:hover .xl\\:dark\\:group-hover\\:border-opacity-5{--tw-border-opacity:0.05}.group:hover .xl\\:dark\\:group-hover\\:border-opacity-10{--tw-border-opacity:0.1}.group:hover .xl\\:dark\\:group-hover\\:border-opacity-20{--tw-border-opacity:0.2}.group:hover .xl\\:dark\\:group-hover\\:border-opacity-25{--tw-border-opacity:0.25}.group:hover .xl\\:dark\\:group-hover\\:border-opacity-30{--tw-border-opacity:0.3}.group:hover .xl\\:dark\\:group-hover\\:border-opacity-40{--tw-border-opacity:0.4}.group:hover .xl\\:dark\\:group-hover\\:border-opacity-50{--tw-border-opacity:0.5}.group:hover .xl\\:dark\\:group-hover\\:border-opacity-60{--tw-border-opacity:0.6}.group:hover .xl\\:dark\\:group-hover\\:border-opacity-70{--tw-border-opacity:0.7}.group:hover .xl\\:dark\\:group-hover\\:border-opacity-75{--tw-border-opacity:0.75}.group:hover .xl\\:dark\\:group-hover\\:border-opacity-80{--tw-border-opacity:0.8}.group:hover .xl\\:dark\\:group-hover\\:border-opacity-90{--tw-border-opacity:0.9}.group:hover .xl\\:dark\\:group-hover\\:border-opacity-95{--tw-border-opacity:0.95}.group:hover .xl\\:dark\\:group-hover\\:border-opacity-100{--tw-border-opacity:1}.xl\\:dark\\:focus-within\\:border-opacity-0:focus-within{--tw-border-opacity:0}.xl\\:dark\\:focus-within\\:border-opacity-5:focus-within{--tw-border-opacity:0.05}.xl\\:dark\\:focus-within\\:border-opacity-10:focus-within{--tw-border-opacity:0.1}.xl\\:dark\\:focus-within\\:border-opacity-20:focus-within{--tw-border-opacity:0.2}.xl\\:dark\\:focus-within\\:border-opacity-25:focus-within{--tw-border-opacity:0.25}.xl\\:dark\\:focus-within\\:border-opacity-30:focus-within{--tw-border-opacity:0.3}.xl\\:dark\\:focus-within\\:border-opacity-40:focus-within{--tw-border-opacity:0.4}.xl\\:dark\\:focus-within\\:border-opacity-50:focus-within{--tw-border-opacity:0.5}.xl\\:dark\\:focus-within\\:border-opacity-60:focus-within{--tw-border-opacity:0.6}.xl\\:dark\\:focus-within\\:border-opacity-70:focus-within{--tw-border-opacity:0.7}.xl\\:dark\\:focus-within\\:border-opacity-75:focus-within{--tw-border-opacity:0.75}.xl\\:dark\\:focus-within\\:border-opacity-80:focus-within{--tw-border-opacity:0.8}.xl\\:dark\\:focus-within\\:border-opacity-90:focus-within{--tw-border-opacity:0.9}.xl\\:dark\\:focus-within\\:border-opacity-95:focus-within{--tw-border-opacity:0.95}.xl\\:dark\\:focus-within\\:border-opacity-100:focus-within{--tw-border-opacity:1}.xl\\:dark\\:hover\\:border-opacity-0:hover{--tw-border-opacity:0}.xl\\:dark\\:hover\\:border-opacity-5:hover{--tw-border-opacity:0.05}.xl\\:dark\\:hover\\:border-opacity-10:hover{--tw-border-opacity:0.1}.xl\\:dark\\:hover\\:border-opacity-20:hover{--tw-border-opacity:0.2}.xl\\:dark\\:hover\\:border-opacity-25:hover{--tw-border-opacity:0.25}.xl\\:dark\\:hover\\:border-opacity-30:hover{--tw-border-opacity:0.3}.xl\\:dark\\:hover\\:border-opacity-40:hover{--tw-border-opacity:0.4}.xl\\:dark\\:hover\\:border-opacity-50:hover{--tw-border-opacity:0.5}.xl\\:dark\\:hover\\:border-opacity-60:hover{--tw-border-opacity:0.6}.xl\\:dark\\:hover\\:border-opacity-70:hover{--tw-border-opacity:0.7}.xl\\:dark\\:hover\\:border-opacity-75:hover{--tw-border-opacity:0.75}.xl\\:dark\\:hover\\:border-opacity-80:hover{--tw-border-opacity:0.8}.xl\\:dark\\:hover\\:border-opacity-90:hover{--tw-border-opacity:0.9}.xl\\:dark\\:hover\\:border-opacity-95:hover{--tw-border-opacity:0.95}.xl\\:dark\\:hover\\:border-opacity-100:hover{--tw-border-opacity:1}.xl\\:dark\\:focus\\:border-opacity-0:focus{--tw-border-opacity:0}.xl\\:dark\\:focus\\:border-opacity-5:focus{--tw-border-opacity:0.05}.xl\\:dark\\:focus\\:border-opacity-10:focus{--tw-border-opacity:0.1}.xl\\:dark\\:focus\\:border-opacity-20:focus{--tw-border-opacity:0.2}.xl\\:dark\\:focus\\:border-opacity-25:focus{--tw-border-opacity:0.25}.xl\\:dark\\:focus\\:border-opacity-30:focus{--tw-border-opacity:0.3}.xl\\:dark\\:focus\\:border-opacity-40:focus{--tw-border-opacity:0.4}.xl\\:dark\\:focus\\:border-opacity-50:focus{--tw-border-opacity:0.5}.xl\\:dark\\:focus\\:border-opacity-60:focus{--tw-border-opacity:0.6}.xl\\:dark\\:focus\\:border-opacity-70:focus{--tw-border-opacity:0.7}.xl\\:dark\\:focus\\:border-opacity-75:focus{--tw-border-opacity:0.75}.xl\\:dark\\:focus\\:border-opacity-80:focus{--tw-border-opacity:0.8}.xl\\:dark\\:focus\\:border-opacity-90:focus{--tw-border-opacity:0.9}.xl\\:dark\\:focus\\:border-opacity-95:focus{--tw-border-opacity:0.95}.xl\\:dark\\:focus\\:border-opacity-100:focus{--tw-border-opacity:1}}.xl\\:bg-transparent{background-color:transparent}.xl\\:bg-current{background-color:currentColor}.xl\\:bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.xl\\:bg-lightgrey{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.xl\\:bg-midgrey{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.xl\\:bg-darkgrey{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.xl\\:bg-grey{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.xl\\:bg-black{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.xl\\:bg-highlight{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.xl\\:bg-highlight_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.xl\\:bg-button_outline{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.xl\\:bg-error{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.xl\\:bg-text-light{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.xl\\:bg-text-dimmed{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.xl\\:bg-text-dark{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.xl\\:bg-body-light{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.xl\\:bg-body-dark{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.xl\\:bg-button{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.xl\\:bg-button_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.group:hover .xl\\:group-hover\\:bg-transparent{background-color:transparent}.group:hover .xl\\:group-hover\\:bg-current{background-color:currentColor}.group:hover .xl\\:group-hover\\:bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .xl\\:group-hover\\:bg-lightgrey{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.group:hover .xl\\:group-hover\\:bg-midgrey{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .xl\\:group-hover\\:bg-darkgrey{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.group:hover .xl\\:group-hover\\:bg-grey{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.group:hover .xl\\:group-hover\\:bg-black{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.group:hover .xl\\:group-hover\\:bg-highlight{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.group:hover .xl\\:group-hover\\:bg-highlight_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.group:hover .xl\\:group-hover\\:bg-button_outline{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .xl\\:group-hover\\:bg-error{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.group:hover .xl\\:group-hover\\:bg-text-light{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.group:hover .xl\\:group-hover\\:bg-text-dimmed{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .xl\\:group-hover\\:bg-text-dark{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .xl\\:group-hover\\:bg-body-light{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .xl\\:group-hover\\:bg-body-dark{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.group:hover .xl\\:group-hover\\:bg-button{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.group:hover .xl\\:group-hover\\:bg-button_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.xl\\:focus-within\\:bg-transparent:focus-within{background-color:transparent}.xl\\:focus-within\\:bg-current:focus-within{background-color:currentColor}.xl\\:focus-within\\:bg-white:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.xl\\:focus-within\\:bg-lightgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.xl\\:focus-within\\:bg-midgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.xl\\:focus-within\\:bg-darkgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.xl\\:focus-within\\:bg-grey:focus-within{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.xl\\:focus-within\\:bg-black:focus-within{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.xl\\:focus-within\\:bg-highlight:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.xl\\:focus-within\\:bg-highlight_hover:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.xl\\:focus-within\\:bg-button_outline:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.xl\\:focus-within\\:bg-error:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.xl\\:focus-within\\:bg-text-light:focus-within{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.xl\\:focus-within\\:bg-text-dimmed:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.xl\\:focus-within\\:bg-text-dark:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.xl\\:focus-within\\:bg-body-light:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.xl\\:focus-within\\:bg-body-dark:focus-within{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.xl\\:focus-within\\:bg-button:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.xl\\:focus-within\\:bg-button_hover:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.xl\\:hover\\:bg-transparent:hover{background-color:transparent}.xl\\:hover\\:bg-current:hover{background-color:currentColor}.xl\\:hover\\:bg-white:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.xl\\:hover\\:bg-lightgrey:hover{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.xl\\:hover\\:bg-midgrey:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.xl\\:hover\\:bg-darkgrey:hover{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.xl\\:hover\\:bg-grey:hover{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.xl\\:hover\\:bg-black:hover{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.xl\\:hover\\:bg-highlight:hover{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.xl\\:hover\\:bg-highlight_hover:hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.xl\\:hover\\:bg-button_outline:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.xl\\:hover\\:bg-error:hover{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.xl\\:hover\\:bg-text-light:hover{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.xl\\:hover\\:bg-text-dimmed:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.xl\\:hover\\:bg-text-dark:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.xl\\:hover\\:bg-body-light:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.xl\\:hover\\:bg-body-dark:hover{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.xl\\:hover\\:bg-button:hover{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.xl\\:hover\\:bg-button_hover:hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.xl\\:focus\\:bg-transparent:focus{background-color:transparent}.xl\\:focus\\:bg-current:focus{background-color:currentColor}.xl\\:focus\\:bg-white:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.xl\\:focus\\:bg-lightgrey:focus{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.xl\\:focus\\:bg-midgrey:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.xl\\:focus\\:bg-darkgrey:focus{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.xl\\:focus\\:bg-grey:focus{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.xl\\:focus\\:bg-black:focus{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.xl\\:focus\\:bg-highlight:focus{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.xl\\:focus\\:bg-highlight_hover:focus{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.xl\\:focus\\:bg-button_outline:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.xl\\:focus\\:bg-error:focus{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.xl\\:focus\\:bg-text-light:focus{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.xl\\:focus\\:bg-text-dimmed:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.xl\\:focus\\:bg-text-dark:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.xl\\:focus\\:bg-body-light:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.xl\\:focus\\:bg-body-dark:focus{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.xl\\:focus\\:bg-button:focus{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.xl\\:focus\\:bg-button_hover:focus{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}@media(prefers-color-scheme: dark){.xl\\:dark\\:bg-transparent{background-color:transparent}.xl\\:dark\\:bg-current{background-color:currentColor}.xl\\:dark\\:bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.xl\\:dark\\:bg-lightgrey{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.xl\\:dark\\:bg-midgrey{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.xl\\:dark\\:bg-darkgrey{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.xl\\:dark\\:bg-grey{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.xl\\:dark\\:bg-black{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.xl\\:dark\\:bg-highlight{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.xl\\:dark\\:bg-highlight_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.xl\\:dark\\:bg-button_outline{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.xl\\:dark\\:bg-error{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.xl\\:dark\\:bg-text-light{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.xl\\:dark\\:bg-text-dimmed{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.xl\\:dark\\:bg-text-dark{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.xl\\:dark\\:bg-body-light{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.xl\\:dark\\:bg-body-dark{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.xl\\:dark\\:bg-button{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.xl\\:dark\\:bg-button_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.group:hover .xl\\:dark\\:group-hover\\:bg-transparent{background-color:transparent}.group:hover .xl\\:dark\\:group-hover\\:bg-current{background-color:currentColor}.group:hover .xl\\:dark\\:group-hover\\:bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .xl\\:dark\\:group-hover\\:bg-lightgrey{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.group:hover .xl\\:dark\\:group-hover\\:bg-midgrey{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .xl\\:dark\\:group-hover\\:bg-darkgrey{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.group:hover .xl\\:dark\\:group-hover\\:bg-grey{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.group:hover .xl\\:dark\\:group-hover\\:bg-black{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.group:hover .xl\\:dark\\:group-hover\\:bg-highlight{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.group:hover .xl\\:dark\\:group-hover\\:bg-highlight_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.group:hover .xl\\:dark\\:group-hover\\:bg-button_outline{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .xl\\:dark\\:group-hover\\:bg-error{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.group:hover .xl\\:dark\\:group-hover\\:bg-text-light{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.group:hover .xl\\:dark\\:group-hover\\:bg-text-dimmed{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .xl\\:dark\\:group-hover\\:bg-text-dark{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .xl\\:dark\\:group-hover\\:bg-body-light{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .xl\\:dark\\:group-hover\\:bg-body-dark{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.group:hover .xl\\:dark\\:group-hover\\:bg-button{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.group:hover .xl\\:dark\\:group-hover\\:bg-button_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.xl\\:dark\\:focus-within\\:bg-transparent:focus-within{background-color:transparent}.xl\\:dark\\:focus-within\\:bg-current:focus-within{background-color:currentColor}.xl\\:dark\\:focus-within\\:bg-white:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.xl\\:dark\\:focus-within\\:bg-lightgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.xl\\:dark\\:focus-within\\:bg-midgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.xl\\:dark\\:focus-within\\:bg-darkgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.xl\\:dark\\:focus-within\\:bg-grey:focus-within{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.xl\\:dark\\:focus-within\\:bg-black:focus-within{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.xl\\:dark\\:focus-within\\:bg-highlight:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.xl\\:dark\\:focus-within\\:bg-highlight_hover:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.xl\\:dark\\:focus-within\\:bg-button_outline:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.xl\\:dark\\:focus-within\\:bg-error:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.xl\\:dark\\:focus-within\\:bg-text-light:focus-within{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.xl\\:dark\\:focus-within\\:bg-text-dimmed:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.xl\\:dark\\:focus-within\\:bg-text-dark:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.xl\\:dark\\:focus-within\\:bg-body-light:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.xl\\:dark\\:focus-within\\:bg-body-dark:focus-within{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.xl\\:dark\\:focus-within\\:bg-button:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.xl\\:dark\\:focus-within\\:bg-button_hover:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.xl\\:dark\\:hover\\:bg-transparent:hover{background-color:transparent}.xl\\:dark\\:hover\\:bg-current:hover{background-color:currentColor}.xl\\:dark\\:hover\\:bg-white:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.xl\\:dark\\:hover\\:bg-lightgrey:hover{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.xl\\:dark\\:hover\\:bg-midgrey:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.xl\\:dark\\:hover\\:bg-darkgrey:hover{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.xl\\:dark\\:hover\\:bg-grey:hover{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.xl\\:dark\\:hover\\:bg-black:hover{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.xl\\:dark\\:hover\\:bg-highlight:hover{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.xl\\:dark\\:hover\\:bg-highlight_hover:hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.xl\\:dark\\:hover\\:bg-button_outline:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.xl\\:dark\\:hover\\:bg-error:hover{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.xl\\:dark\\:hover\\:bg-text-light:hover{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.xl\\:dark\\:hover\\:bg-text-dimmed:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.xl\\:dark\\:hover\\:bg-text-dark:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.xl\\:dark\\:hover\\:bg-body-light:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.xl\\:dark\\:hover\\:bg-body-dark:hover{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.xl\\:dark\\:hover\\:bg-button:hover{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.xl\\:dark\\:hover\\:bg-button_hover:hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.xl\\:dark\\:focus\\:bg-transparent:focus{background-color:transparent}.xl\\:dark\\:focus\\:bg-current:focus{background-color:currentColor}.xl\\:dark\\:focus\\:bg-white:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.xl\\:dark\\:focus\\:bg-lightgrey:focus{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.xl\\:dark\\:focus\\:bg-midgrey:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.xl\\:dark\\:focus\\:bg-darkgrey:focus{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.xl\\:dark\\:focus\\:bg-grey:focus{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.xl\\:dark\\:focus\\:bg-black:focus{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.xl\\:dark\\:focus\\:bg-highlight:focus{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.xl\\:dark\\:focus\\:bg-highlight_hover:focus{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.xl\\:dark\\:focus\\:bg-button_outline:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.xl\\:dark\\:focus\\:bg-error:focus{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.xl\\:dark\\:focus\\:bg-text-light:focus{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.xl\\:dark\\:focus\\:bg-text-dimmed:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.xl\\:dark\\:focus\\:bg-text-dark:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.xl\\:dark\\:focus\\:bg-body-light:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.xl\\:dark\\:focus\\:bg-body-dark:focus{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.xl\\:dark\\:focus\\:bg-button:focus{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.xl\\:dark\\:focus\\:bg-button_hover:focus{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}}.xl\\:bg-opacity-0{--tw-bg-opacity:0}.xl\\:bg-opacity-5{--tw-bg-opacity:0.05}.xl\\:bg-opacity-10{--tw-bg-opacity:0.1}.xl\\:bg-opacity-20{--tw-bg-opacity:0.2}.xl\\:bg-opacity-25{--tw-bg-opacity:0.25}.xl\\:bg-opacity-30{--tw-bg-opacity:0.3}.xl\\:bg-opacity-40{--tw-bg-opacity:0.4}.xl\\:bg-opacity-50{--tw-bg-opacity:0.5}.xl\\:bg-opacity-60{--tw-bg-opacity:0.6}.xl\\:bg-opacity-70{--tw-bg-opacity:0.7}.xl\\:bg-opacity-75{--tw-bg-opacity:0.75}.xl\\:bg-opacity-80{--tw-bg-opacity:0.8}.xl\\:bg-opacity-90{--tw-bg-opacity:0.9}.xl\\:bg-opacity-95{--tw-bg-opacity:0.95}.xl\\:bg-opacity-100{--tw-bg-opacity:1}.group:hover .xl\\:group-hover\\:bg-opacity-0{--tw-bg-opacity:0}.group:hover .xl\\:group-hover\\:bg-opacity-5{--tw-bg-opacity:0.05}.group:hover .xl\\:group-hover\\:bg-opacity-10{--tw-bg-opacity:0.1}.group:hover .xl\\:group-hover\\:bg-opacity-20{--tw-bg-opacity:0.2}.group:hover .xl\\:group-hover\\:bg-opacity-25{--tw-bg-opacity:0.25}.group:hover .xl\\:group-hover\\:bg-opacity-30{--tw-bg-opacity:0.3}.group:hover .xl\\:group-hover\\:bg-opacity-40{--tw-bg-opacity:0.4}.group:hover .xl\\:group-hover\\:bg-opacity-50{--tw-bg-opacity:0.5}.group:hover .xl\\:group-hover\\:bg-opacity-60{--tw-bg-opacity:0.6}.group:hover .xl\\:group-hover\\:bg-opacity-70{--tw-bg-opacity:0.7}.group:hover .xl\\:group-hover\\:bg-opacity-75{--tw-bg-opacity:0.75}.group:hover .xl\\:group-hover\\:bg-opacity-80{--tw-bg-opacity:0.8}.group:hover .xl\\:group-hover\\:bg-opacity-90{--tw-bg-opacity:0.9}.group:hover .xl\\:group-hover\\:bg-opacity-95{--tw-bg-opacity:0.95}.group:hover .xl\\:group-hover\\:bg-opacity-100{--tw-bg-opacity:1}.xl\\:focus-within\\:bg-opacity-0:focus-within{--tw-bg-opacity:0}.xl\\:focus-within\\:bg-opacity-5:focus-within{--tw-bg-opacity:0.05}.xl\\:focus-within\\:bg-opacity-10:focus-within{--tw-bg-opacity:0.1}.xl\\:focus-within\\:bg-opacity-20:focus-within{--tw-bg-opacity:0.2}.xl\\:focus-within\\:bg-opacity-25:focus-within{--tw-bg-opacity:0.25}.xl\\:focus-within\\:bg-opacity-30:focus-within{--tw-bg-opacity:0.3}.xl\\:focus-within\\:bg-opacity-40:focus-within{--tw-bg-opacity:0.4}.xl\\:focus-within\\:bg-opacity-50:focus-within{--tw-bg-opacity:0.5}.xl\\:focus-within\\:bg-opacity-60:focus-within{--tw-bg-opacity:0.6}.xl\\:focus-within\\:bg-opacity-70:focus-within{--tw-bg-opacity:0.7}.xl\\:focus-within\\:bg-opacity-75:focus-within{--tw-bg-opacity:0.75}.xl\\:focus-within\\:bg-opacity-80:focus-within{--tw-bg-opacity:0.8}.xl\\:focus-within\\:bg-opacity-90:focus-within{--tw-bg-opacity:0.9}.xl\\:focus-within\\:bg-opacity-95:focus-within{--tw-bg-opacity:0.95}.xl\\:focus-within\\:bg-opacity-100:focus-within{--tw-bg-opacity:1}.xl\\:hover\\:bg-opacity-0:hover{--tw-bg-opacity:0}.xl\\:hover\\:bg-opacity-5:hover{--tw-bg-opacity:0.05}.xl\\:hover\\:bg-opacity-10:hover{--tw-bg-opacity:0.1}.xl\\:hover\\:bg-opacity-20:hover{--tw-bg-opacity:0.2}.xl\\:hover\\:bg-opacity-25:hover{--tw-bg-opacity:0.25}.xl\\:hover\\:bg-opacity-30:hover{--tw-bg-opacity:0.3}.xl\\:hover\\:bg-opacity-40:hover{--tw-bg-opacity:0.4}.xl\\:hover\\:bg-opacity-50:hover{--tw-bg-opacity:0.5}.xl\\:hover\\:bg-opacity-60:hover{--tw-bg-opacity:0.6}.xl\\:hover\\:bg-opacity-70:hover{--tw-bg-opacity:0.7}.xl\\:hover\\:bg-opacity-75:hover{--tw-bg-opacity:0.75}.xl\\:hover\\:bg-opacity-80:hover{--tw-bg-opacity:0.8}.xl\\:hover\\:bg-opacity-90:hover{--tw-bg-opacity:0.9}.xl\\:hover\\:bg-opacity-95:hover{--tw-bg-opacity:0.95}.xl\\:hover\\:bg-opacity-100:hover{--tw-bg-opacity:1}.xl\\:focus\\:bg-opacity-0:focus{--tw-bg-opacity:0}.xl\\:focus\\:bg-opacity-5:focus{--tw-bg-opacity:0.05}.xl\\:focus\\:bg-opacity-10:focus{--tw-bg-opacity:0.1}.xl\\:focus\\:bg-opacity-20:focus{--tw-bg-opacity:0.2}.xl\\:focus\\:bg-opacity-25:focus{--tw-bg-opacity:0.25}.xl\\:focus\\:bg-opacity-30:focus{--tw-bg-opacity:0.3}.xl\\:focus\\:bg-opacity-40:focus{--tw-bg-opacity:0.4}.xl\\:focus\\:bg-opacity-50:focus{--tw-bg-opacity:0.5}.xl\\:focus\\:bg-opacity-60:focus{--tw-bg-opacity:0.6}.xl\\:focus\\:bg-opacity-70:focus{--tw-bg-opacity:0.7}.xl\\:focus\\:bg-opacity-75:focus{--tw-bg-opacity:0.75}.xl\\:focus\\:bg-opacity-80:focus{--tw-bg-opacity:0.8}.xl\\:focus\\:bg-opacity-90:focus{--tw-bg-opacity:0.9}.xl\\:focus\\:bg-opacity-95:focus{--tw-bg-opacity:0.95}.xl\\:focus\\:bg-opacity-100:focus{--tw-bg-opacity:1}@media(prefers-color-scheme: dark){.xl\\:dark\\:bg-opacity-0{--tw-bg-opacity:0}.xl\\:dark\\:bg-opacity-5{--tw-bg-opacity:0.05}.xl\\:dark\\:bg-opacity-10{--tw-bg-opacity:0.1}.xl\\:dark\\:bg-opacity-20{--tw-bg-opacity:0.2}.xl\\:dark\\:bg-opacity-25{--tw-bg-opacity:0.25}.xl\\:dark\\:bg-opacity-30{--tw-bg-opacity:0.3}.xl\\:dark\\:bg-opacity-40{--tw-bg-opacity:0.4}.xl\\:dark\\:bg-opacity-50{--tw-bg-opacity:0.5}.xl\\:dark\\:bg-opacity-60{--tw-bg-opacity:0.6}.xl\\:dark\\:bg-opacity-70{--tw-bg-opacity:0.7}.xl\\:dark\\:bg-opacity-75{--tw-bg-opacity:0.75}.xl\\:dark\\:bg-opacity-80{--tw-bg-opacity:0.8}.xl\\:dark\\:bg-opacity-90{--tw-bg-opacity:0.9}.xl\\:dark\\:bg-opacity-95{--tw-bg-opacity:0.95}.xl\\:dark\\:bg-opacity-100{--tw-bg-opacity:1}.group:hover .xl\\:dark\\:group-hover\\:bg-opacity-0{--tw-bg-opacity:0}.group:hover .xl\\:dark\\:group-hover\\:bg-opacity-5{--tw-bg-opacity:0.05}.group:hover .xl\\:dark\\:group-hover\\:bg-opacity-10{--tw-bg-opacity:0.1}.group:hover .xl\\:dark\\:group-hover\\:bg-opacity-20{--tw-bg-opacity:0.2}.group:hover .xl\\:dark\\:group-hover\\:bg-opacity-25{--tw-bg-opacity:0.25}.group:hover .xl\\:dark\\:group-hover\\:bg-opacity-30{--tw-bg-opacity:0.3}.group:hover .xl\\:dark\\:group-hover\\:bg-opacity-40{--tw-bg-opacity:0.4}.group:hover .xl\\:dark\\:group-hover\\:bg-opacity-50{--tw-bg-opacity:0.5}.group:hover .xl\\:dark\\:group-hover\\:bg-opacity-60{--tw-bg-opacity:0.6}.group:hover .xl\\:dark\\:group-hover\\:bg-opacity-70{--tw-bg-opacity:0.7}.group:hover .xl\\:dark\\:group-hover\\:bg-opacity-75{--tw-bg-opacity:0.75}.group:hover .xl\\:dark\\:group-hover\\:bg-opacity-80{--tw-bg-opacity:0.8}.group:hover .xl\\:dark\\:group-hover\\:bg-opacity-90{--tw-bg-opacity:0.9}.group:hover .xl\\:dark\\:group-hover\\:bg-opacity-95{--tw-bg-opacity:0.95}.group:hover .xl\\:dark\\:group-hover\\:bg-opacity-100{--tw-bg-opacity:1}.xl\\:dark\\:focus-within\\:bg-opacity-0:focus-within{--tw-bg-opacity:0}.xl\\:dark\\:focus-within\\:bg-opacity-5:focus-within{--tw-bg-opacity:0.05}.xl\\:dark\\:focus-within\\:bg-opacity-10:focus-within{--tw-bg-opacity:0.1}.xl\\:dark\\:focus-within\\:bg-opacity-20:focus-within{--tw-bg-opacity:0.2}.xl\\:dark\\:focus-within\\:bg-opacity-25:focus-within{--tw-bg-opacity:0.25}.xl\\:dark\\:focus-within\\:bg-opacity-30:focus-within{--tw-bg-opacity:0.3}.xl\\:dark\\:focus-within\\:bg-opacity-40:focus-within{--tw-bg-opacity:0.4}.xl\\:dark\\:focus-within\\:bg-opacity-50:focus-within{--tw-bg-opacity:0.5}.xl\\:dark\\:focus-within\\:bg-opacity-60:focus-within{--tw-bg-opacity:0.6}.xl\\:dark\\:focus-within\\:bg-opacity-70:focus-within{--tw-bg-opacity:0.7}.xl\\:dark\\:focus-within\\:bg-opacity-75:focus-within{--tw-bg-opacity:0.75}.xl\\:dark\\:focus-within\\:bg-opacity-80:focus-within{--tw-bg-opacity:0.8}.xl\\:dark\\:focus-within\\:bg-opacity-90:focus-within{--tw-bg-opacity:0.9}.xl\\:dark\\:focus-within\\:bg-opacity-95:focus-within{--tw-bg-opacity:0.95}.xl\\:dark\\:focus-within\\:bg-opacity-100:focus-within{--tw-bg-opacity:1}.xl\\:dark\\:hover\\:bg-opacity-0:hover{--tw-bg-opacity:0}.xl\\:dark\\:hover\\:bg-opacity-5:hover{--tw-bg-opacity:0.05}.xl\\:dark\\:hover\\:bg-opacity-10:hover{--tw-bg-opacity:0.1}.xl\\:dark\\:hover\\:bg-opacity-20:hover{--tw-bg-opacity:0.2}.xl\\:dark\\:hover\\:bg-opacity-25:hover{--tw-bg-opacity:0.25}.xl\\:dark\\:hover\\:bg-opacity-30:hover{--tw-bg-opacity:0.3}.xl\\:dark\\:hover\\:bg-opacity-40:hover{--tw-bg-opacity:0.4}.xl\\:dark\\:hover\\:bg-opacity-50:hover{--tw-bg-opacity:0.5}.xl\\:dark\\:hover\\:bg-opacity-60:hover{--tw-bg-opacity:0.6}.xl\\:dark\\:hover\\:bg-opacity-70:hover{--tw-bg-opacity:0.7}.xl\\:dark\\:hover\\:bg-opacity-75:hover{--tw-bg-opacity:0.75}.xl\\:dark\\:hover\\:bg-opacity-80:hover{--tw-bg-opacity:0.8}.xl\\:dark\\:hover\\:bg-opacity-90:hover{--tw-bg-opacity:0.9}.xl\\:dark\\:hover\\:bg-opacity-95:hover{--tw-bg-opacity:0.95}.xl\\:dark\\:hover\\:bg-opacity-100:hover{--tw-bg-opacity:1}.xl\\:dark\\:focus\\:bg-opacity-0:focus{--tw-bg-opacity:0}.xl\\:dark\\:focus\\:bg-opacity-5:focus{--tw-bg-opacity:0.05}.xl\\:dark\\:focus\\:bg-opacity-10:focus{--tw-bg-opacity:0.1}.xl\\:dark\\:focus\\:bg-opacity-20:focus{--tw-bg-opacity:0.2}.xl\\:dark\\:focus\\:bg-opacity-25:focus{--tw-bg-opacity:0.25}.xl\\:dark\\:focus\\:bg-opacity-30:focus{--tw-bg-opacity:0.3}.xl\\:dark\\:focus\\:bg-opacity-40:focus{--tw-bg-opacity:0.4}.xl\\:dark\\:focus\\:bg-opacity-50:focus{--tw-bg-opacity:0.5}.xl\\:dark\\:focus\\:bg-opacity-60:focus{--tw-bg-opacity:0.6}.xl\\:dark\\:focus\\:bg-opacity-70:focus{--tw-bg-opacity:0.7}.xl\\:dark\\:focus\\:bg-opacity-75:focus{--tw-bg-opacity:0.75}.xl\\:dark\\:focus\\:bg-opacity-80:focus{--tw-bg-opacity:0.8}.xl\\:dark\\:focus\\:bg-opacity-90:focus{--tw-bg-opacity:0.9}.xl\\:dark\\:focus\\:bg-opacity-95:focus{--tw-bg-opacity:0.95}.xl\\:dark\\:focus\\:bg-opacity-100:focus{--tw-bg-opacity:1}}.xl\\:bg-none{background-image:none}.xl\\:bg-gradient-to-t{background-image:linear-gradient(to top, var(--tw-gradient-stops))}.xl\\:bg-gradient-to-tr{background-image:linear-gradient(to top right, var(--tw-gradient-stops))}.xl\\:bg-gradient-to-r{background-image:linear-gradient(to right, var(--tw-gradient-stops))}.xl\\:bg-gradient-to-br{background-image:linear-gradient(to bottom right, var(--tw-gradient-stops))}.xl\\:bg-gradient-to-b{background-image:linear-gradient(to bottom, var(--tw-gradient-stops))}.xl\\:bg-gradient-to-bl{background-image:linear-gradient(to bottom left, var(--tw-gradient-stops))}.xl\\:bg-gradient-to-l{background-image:linear-gradient(to left, var(--tw-gradient-stops))}.xl\\:bg-gradient-to-tl{background-image:linear-gradient(to top left, var(--tw-gradient-stops))}.xl\\:from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.xl\\:from-current{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:from-white{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:from-lightgrey{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.xl\\:from-midgrey{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:from-darkgrey{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.xl\\:from-grey{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.xl\\:from-black{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.xl\\:from-highlight{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.xl\\:from-highlight_hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.xl\\:from-button_outline{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:from-error{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.xl\\:from-text-light{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.xl\\:from-text-dimmed{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:from-text-dark{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:from-body-light{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:from-body-dark{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.xl\\:from-button{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.xl\\:from-button_hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.xl\\:hover\\:from-transparent:hover{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.xl\\:hover\\:from-current:hover{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:hover\\:from-white:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:hover\\:from-lightgrey:hover{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.xl\\:hover\\:from-midgrey:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:hover\\:from-darkgrey:hover{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.xl\\:hover\\:from-grey:hover{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.xl\\:hover\\:from-black:hover{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.xl\\:hover\\:from-highlight:hover{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.xl\\:hover\\:from-highlight_hover:hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.xl\\:hover\\:from-button_outline:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:hover\\:from-error:hover{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.xl\\:hover\\:from-text-light:hover{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.xl\\:hover\\:from-text-dimmed:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:hover\\:from-text-dark:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:hover\\:from-body-light:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:hover\\:from-body-dark:hover{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.xl\\:hover\\:from-button:hover{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.xl\\:hover\\:from-button_hover:hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.xl\\:focus\\:from-transparent:focus{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.xl\\:focus\\:from-current:focus{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:focus\\:from-white:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:focus\\:from-lightgrey:focus{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.xl\\:focus\\:from-midgrey:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:focus\\:from-darkgrey:focus{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.xl\\:focus\\:from-grey:focus{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.xl\\:focus\\:from-black:focus{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.xl\\:focus\\:from-highlight:focus{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.xl\\:focus\\:from-highlight_hover:focus{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.xl\\:focus\\:from-button_outline:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:focus\\:from-error:focus{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.xl\\:focus\\:from-text-light:focus{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.xl\\:focus\\:from-text-dimmed:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:focus\\:from-text-dark:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:focus\\:from-body-light:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:focus\\:from-body-dark:focus{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.xl\\:focus\\:from-button:focus{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.xl\\:focus\\:from-button_hover:focus{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}@media(prefers-color-scheme: dark){.xl\\:dark\\:from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.xl\\:dark\\:from-current{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:dark\\:from-white{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:dark\\:from-lightgrey{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.xl\\:dark\\:from-midgrey{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:dark\\:from-darkgrey{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.xl\\:dark\\:from-grey{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.xl\\:dark\\:from-black{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.xl\\:dark\\:from-highlight{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.xl\\:dark\\:from-highlight_hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.xl\\:dark\\:from-button_outline{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:dark\\:from-error{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.xl\\:dark\\:from-text-light{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.xl\\:dark\\:from-text-dimmed{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:dark\\:from-text-dark{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:dark\\:from-body-light{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:dark\\:from-body-dark{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.xl\\:dark\\:from-button{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.xl\\:dark\\:from-button_hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.xl\\:dark\\:hover\\:from-transparent:hover{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.xl\\:dark\\:hover\\:from-current:hover{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:dark\\:hover\\:from-white:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:dark\\:hover\\:from-lightgrey:hover{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.xl\\:dark\\:hover\\:from-midgrey:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:dark\\:hover\\:from-darkgrey:hover{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.xl\\:dark\\:hover\\:from-grey:hover{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.xl\\:dark\\:hover\\:from-black:hover{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.xl\\:dark\\:hover\\:from-highlight:hover{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.xl\\:dark\\:hover\\:from-highlight_hover:hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.xl\\:dark\\:hover\\:from-button_outline:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:dark\\:hover\\:from-error:hover{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.xl\\:dark\\:hover\\:from-text-light:hover{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.xl\\:dark\\:hover\\:from-text-dimmed:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:dark\\:hover\\:from-text-dark:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:dark\\:hover\\:from-body-light:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:dark\\:hover\\:from-body-dark:hover{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.xl\\:dark\\:hover\\:from-button:hover{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.xl\\:dark\\:hover\\:from-button_hover:hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.xl\\:dark\\:focus\\:from-transparent:focus{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.xl\\:dark\\:focus\\:from-current:focus{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:dark\\:focus\\:from-white:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:dark\\:focus\\:from-lightgrey:focus{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.xl\\:dark\\:focus\\:from-midgrey:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:dark\\:focus\\:from-darkgrey:focus{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.xl\\:dark\\:focus\\:from-grey:focus{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.xl\\:dark\\:focus\\:from-black:focus{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.xl\\:dark\\:focus\\:from-highlight:focus{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.xl\\:dark\\:focus\\:from-highlight_hover:focus{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.xl\\:dark\\:focus\\:from-button_outline:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:dark\\:focus\\:from-error:focus{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.xl\\:dark\\:focus\\:from-text-light:focus{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.xl\\:dark\\:focus\\:from-text-dimmed:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:dark\\:focus\\:from-text-dark:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:dark\\:focus\\:from-body-light:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:dark\\:focus\\:from-body-dark:focus{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.xl\\:dark\\:focus\\:from-button:focus{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.xl\\:dark\\:focus\\:from-button_hover:focus{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}}.xl\\:via-transparent{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.xl\\:via-current{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:via-white{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:via-lightgrey{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.xl\\:via-midgrey{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:via-darkgrey{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.xl\\:via-grey{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.xl\\:via-black{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.xl\\:via-highlight{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.xl\\:via-highlight_hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.xl\\:via-button_outline{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:via-error{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.xl\\:via-text-light{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.xl\\:via-text-dimmed{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:via-text-dark{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:via-body-light{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:via-body-dark{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.xl\\:via-button{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.xl\\:via-button_hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.xl\\:hover\\:via-transparent:hover{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.xl\\:hover\\:via-current:hover{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:hover\\:via-white:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:hover\\:via-lightgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.xl\\:hover\\:via-midgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:hover\\:via-darkgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.xl\\:hover\\:via-grey:hover{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.xl\\:hover\\:via-black:hover{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.xl\\:hover\\:via-highlight:hover{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.xl\\:hover\\:via-highlight_hover:hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.xl\\:hover\\:via-button_outline:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:hover\\:via-error:hover{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.xl\\:hover\\:via-text-light:hover{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.xl\\:hover\\:via-text-dimmed:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:hover\\:via-text-dark:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:hover\\:via-body-light:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:hover\\:via-body-dark:hover{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.xl\\:hover\\:via-button:hover{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.xl\\:hover\\:via-button_hover:hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.xl\\:focus\\:via-transparent:focus{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.xl\\:focus\\:via-current:focus{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:focus\\:via-white:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:focus\\:via-lightgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.xl\\:focus\\:via-midgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:focus\\:via-darkgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.xl\\:focus\\:via-grey:focus{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.xl\\:focus\\:via-black:focus{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.xl\\:focus\\:via-highlight:focus{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.xl\\:focus\\:via-highlight_hover:focus{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.xl\\:focus\\:via-button_outline:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:focus\\:via-error:focus{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.xl\\:focus\\:via-text-light:focus{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.xl\\:focus\\:via-text-dimmed:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:focus\\:via-text-dark:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:focus\\:via-body-light:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:focus\\:via-body-dark:focus{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.xl\\:focus\\:via-button:focus{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.xl\\:focus\\:via-button_hover:focus{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}@media(prefers-color-scheme: dark){.xl\\:dark\\:via-transparent{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.xl\\:dark\\:via-current{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:dark\\:via-white{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:dark\\:via-lightgrey{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.xl\\:dark\\:via-midgrey{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:dark\\:via-darkgrey{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.xl\\:dark\\:via-grey{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.xl\\:dark\\:via-black{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.xl\\:dark\\:via-highlight{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.xl\\:dark\\:via-highlight_hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.xl\\:dark\\:via-button_outline{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:dark\\:via-error{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.xl\\:dark\\:via-text-light{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.xl\\:dark\\:via-text-dimmed{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:dark\\:via-text-dark{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:dark\\:via-body-light{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:dark\\:via-body-dark{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.xl\\:dark\\:via-button{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.xl\\:dark\\:via-button_hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.xl\\:dark\\:hover\\:via-transparent:hover{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.xl\\:dark\\:hover\\:via-current:hover{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:dark\\:hover\\:via-white:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:dark\\:hover\\:via-lightgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.xl\\:dark\\:hover\\:via-midgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:dark\\:hover\\:via-darkgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.xl\\:dark\\:hover\\:via-grey:hover{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.xl\\:dark\\:hover\\:via-black:hover{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.xl\\:dark\\:hover\\:via-highlight:hover{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.xl\\:dark\\:hover\\:via-highlight_hover:hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.xl\\:dark\\:hover\\:via-button_outline:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:dark\\:hover\\:via-error:hover{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.xl\\:dark\\:hover\\:via-text-light:hover{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.xl\\:dark\\:hover\\:via-text-dimmed:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:dark\\:hover\\:via-text-dark:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:dark\\:hover\\:via-body-light:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:dark\\:hover\\:via-body-dark:hover{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.xl\\:dark\\:hover\\:via-button:hover{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.xl\\:dark\\:hover\\:via-button_hover:hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.xl\\:dark\\:focus\\:via-transparent:focus{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.xl\\:dark\\:focus\\:via-current:focus{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:dark\\:focus\\:via-white:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:dark\\:focus\\:via-lightgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.xl\\:dark\\:focus\\:via-midgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:dark\\:focus\\:via-darkgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.xl\\:dark\\:focus\\:via-grey:focus{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.xl\\:dark\\:focus\\:via-black:focus{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.xl\\:dark\\:focus\\:via-highlight:focus{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.xl\\:dark\\:focus\\:via-highlight_hover:focus{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.xl\\:dark\\:focus\\:via-button_outline:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:dark\\:focus\\:via-error:focus{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.xl\\:dark\\:focus\\:via-text-light:focus{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.xl\\:dark\\:focus\\:via-text-dimmed:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.xl\\:dark\\:focus\\:via-text-dark:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:dark\\:focus\\:via-body-light:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\\:dark\\:focus\\:via-body-dark:focus{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.xl\\:dark\\:focus\\:via-button:focus{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.xl\\:dark\\:focus\\:via-button_hover:focus{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}}.xl\\:to-transparent{--tw-gradient-to:transparent}.xl\\:to-current{--tw-gradient-to:currentColor}.xl\\:to-white{--tw-gradient-to:#fff}.xl\\:to-lightgrey{--tw-gradient-to:#F7F7F7}.xl\\:to-midgrey{--tw-gradient-to:#cfcfcf}.xl\\:to-darkgrey{--tw-gradient-to:#7f7f7f}.xl\\:to-grey{--tw-gradient-to:#1e1e1e}.xl\\:to-black{--tw-gradient-to:#0f0f0f}.xl\\:to-highlight{--tw-gradient-to:#0071e3}.xl\\:to-highlight_hover{--tw-gradient-to:#0077ed}.xl\\:to-button_outline{--tw-gradient-to:#cfcfcf}.xl\\:to-error{--tw-gradient-to:#ff453a}.xl\\:to-text-light{--tw-gradient-to:#0f0f0f}.xl\\:to-text-dimmed{--tw-gradient-to:#cfcfcf}.xl\\:to-text-dark{--tw-gradient-to:#fff}.xl\\:to-body-light{--tw-gradient-to:#fff}.xl\\:to-body-dark{--tw-gradient-to:#1e1e1e}.xl\\:to-button{--tw-gradient-to:#0071e3}.xl\\:to-button_hover{--tw-gradient-to:#0077ed}.xl\\:hover\\:to-transparent:hover{--tw-gradient-to:transparent}.xl\\:hover\\:to-current:hover{--tw-gradient-to:currentColor}.xl\\:hover\\:to-white:hover{--tw-gradient-to:#fff}.xl\\:hover\\:to-lightgrey:hover{--tw-gradient-to:#F7F7F7}.xl\\:hover\\:to-midgrey:hover{--tw-gradient-to:#cfcfcf}.xl\\:hover\\:to-darkgrey:hover{--tw-gradient-to:#7f7f7f}.xl\\:hover\\:to-grey:hover{--tw-gradient-to:#1e1e1e}.xl\\:hover\\:to-black:hover{--tw-gradient-to:#0f0f0f}.xl\\:hover\\:to-highlight:hover{--tw-gradient-to:#0071e3}.xl\\:hover\\:to-highlight_hover:hover{--tw-gradient-to:#0077ed}.xl\\:hover\\:to-button_outline:hover{--tw-gradient-to:#cfcfcf}.xl\\:hover\\:to-error:hover{--tw-gradient-to:#ff453a}.xl\\:hover\\:to-text-light:hover{--tw-gradient-to:#0f0f0f}.xl\\:hover\\:to-text-dimmed:hover{--tw-gradient-to:#cfcfcf}.xl\\:hover\\:to-text-dark:hover{--tw-gradient-to:#fff}.xl\\:hover\\:to-body-light:hover{--tw-gradient-to:#fff}.xl\\:hover\\:to-body-dark:hover{--tw-gradient-to:#1e1e1e}.xl\\:hover\\:to-button:hover{--tw-gradient-to:#0071e3}.xl\\:hover\\:to-button_hover:hover{--tw-gradient-to:#0077ed}.xl\\:focus\\:to-transparent:focus{--tw-gradient-to:transparent}.xl\\:focus\\:to-current:focus{--tw-gradient-to:currentColor}.xl\\:focus\\:to-white:focus{--tw-gradient-to:#fff}.xl\\:focus\\:to-lightgrey:focus{--tw-gradient-to:#F7F7F7}.xl\\:focus\\:to-midgrey:focus{--tw-gradient-to:#cfcfcf}.xl\\:focus\\:to-darkgrey:focus{--tw-gradient-to:#7f7f7f}.xl\\:focus\\:to-grey:focus{--tw-gradient-to:#1e1e1e}.xl\\:focus\\:to-black:focus{--tw-gradient-to:#0f0f0f}.xl\\:focus\\:to-highlight:focus{--tw-gradient-to:#0071e3}.xl\\:focus\\:to-highlight_hover:focus{--tw-gradient-to:#0077ed}.xl\\:focus\\:to-button_outline:focus{--tw-gradient-to:#cfcfcf}.xl\\:focus\\:to-error:focus{--tw-gradient-to:#ff453a}.xl\\:focus\\:to-text-light:focus{--tw-gradient-to:#0f0f0f}.xl\\:focus\\:to-text-dimmed:focus{--tw-gradient-to:#cfcfcf}.xl\\:focus\\:to-text-dark:focus{--tw-gradient-to:#fff}.xl\\:focus\\:to-body-light:focus{--tw-gradient-to:#fff}.xl\\:focus\\:to-body-dark:focus{--tw-gradient-to:#1e1e1e}.xl\\:focus\\:to-button:focus{--tw-gradient-to:#0071e3}.xl\\:focus\\:to-button_hover:focus{--tw-gradient-to:#0077ed}@media(prefers-color-scheme: dark){.xl\\:dark\\:to-transparent{--tw-gradient-to:transparent}.xl\\:dark\\:to-current{--tw-gradient-to:currentColor}.xl\\:dark\\:to-white{--tw-gradient-to:#fff}.xl\\:dark\\:to-lightgrey{--tw-gradient-to:#F7F7F7}.xl\\:dark\\:to-midgrey{--tw-gradient-to:#cfcfcf}.xl\\:dark\\:to-darkgrey{--tw-gradient-to:#7f7f7f}.xl\\:dark\\:to-grey{--tw-gradient-to:#1e1e1e}.xl\\:dark\\:to-black{--tw-gradient-to:#0f0f0f}.xl\\:dark\\:to-highlight{--tw-gradient-to:#0071e3}.xl\\:dark\\:to-highlight_hover{--tw-gradient-to:#0077ed}.xl\\:dark\\:to-button_outline{--tw-gradient-to:#cfcfcf}.xl\\:dark\\:to-error{--tw-gradient-to:#ff453a}.xl\\:dark\\:to-text-light{--tw-gradient-to:#0f0f0f}.xl\\:dark\\:to-text-dimmed{--tw-gradient-to:#cfcfcf}.xl\\:dark\\:to-text-dark{--tw-gradient-to:#fff}.xl\\:dark\\:to-body-light{--tw-gradient-to:#fff}.xl\\:dark\\:to-body-dark{--tw-gradient-to:#1e1e1e}.xl\\:dark\\:to-button{--tw-gradient-to:#0071e3}.xl\\:dark\\:to-button_hover{--tw-gradient-to:#0077ed}.xl\\:dark\\:hover\\:to-transparent:hover{--tw-gradient-to:transparent}.xl\\:dark\\:hover\\:to-current:hover{--tw-gradient-to:currentColor}.xl\\:dark\\:hover\\:to-white:hover{--tw-gradient-to:#fff}.xl\\:dark\\:hover\\:to-lightgrey:hover{--tw-gradient-to:#F7F7F7}.xl\\:dark\\:hover\\:to-midgrey:hover{--tw-gradient-to:#cfcfcf}.xl\\:dark\\:hover\\:to-darkgrey:hover{--tw-gradient-to:#7f7f7f}.xl\\:dark\\:hover\\:to-grey:hover{--tw-gradient-to:#1e1e1e}.xl\\:dark\\:hover\\:to-black:hover{--tw-gradient-to:#0f0f0f}.xl\\:dark\\:hover\\:to-highlight:hover{--tw-gradient-to:#0071e3}.xl\\:dark\\:hover\\:to-highlight_hover:hover{--tw-gradient-to:#0077ed}.xl\\:dark\\:hover\\:to-button_outline:hover{--tw-gradient-to:#cfcfcf}.xl\\:dark\\:hover\\:to-error:hover{--tw-gradient-to:#ff453a}.xl\\:dark\\:hover\\:to-text-light:hover{--tw-gradient-to:#0f0f0f}.xl\\:dark\\:hover\\:to-text-dimmed:hover{--tw-gradient-to:#cfcfcf}.xl\\:dark\\:hover\\:to-text-dark:hover{--tw-gradient-to:#fff}.xl\\:dark\\:hover\\:to-body-light:hover{--tw-gradient-to:#fff}.xl\\:dark\\:hover\\:to-body-dark:hover{--tw-gradient-to:#1e1e1e}.xl\\:dark\\:hover\\:to-button:hover{--tw-gradient-to:#0071e3}.xl\\:dark\\:hover\\:to-button_hover:hover{--tw-gradient-to:#0077ed}.xl\\:dark\\:focus\\:to-transparent:focus{--tw-gradient-to:transparent}.xl\\:dark\\:focus\\:to-current:focus{--tw-gradient-to:currentColor}.xl\\:dark\\:focus\\:to-white:focus{--tw-gradient-to:#fff}.xl\\:dark\\:focus\\:to-lightgrey:focus{--tw-gradient-to:#F7F7F7}.xl\\:dark\\:focus\\:to-midgrey:focus{--tw-gradient-to:#cfcfcf}.xl\\:dark\\:focus\\:to-darkgrey:focus{--tw-gradient-to:#7f7f7f}.xl\\:dark\\:focus\\:to-grey:focus{--tw-gradient-to:#1e1e1e}.xl\\:dark\\:focus\\:to-black:focus{--tw-gradient-to:#0f0f0f}.xl\\:dark\\:focus\\:to-highlight:focus{--tw-gradient-to:#0071e3}.xl\\:dark\\:focus\\:to-highlight_hover:focus{--tw-gradient-to:#0077ed}.xl\\:dark\\:focus\\:to-button_outline:focus{--tw-gradient-to:#cfcfcf}.xl\\:dark\\:focus\\:to-error:focus{--tw-gradient-to:#ff453a}.xl\\:dark\\:focus\\:to-text-light:focus{--tw-gradient-to:#0f0f0f}.xl\\:dark\\:focus\\:to-text-dimmed:focus{--tw-gradient-to:#cfcfcf}.xl\\:dark\\:focus\\:to-text-dark:focus{--tw-gradient-to:#fff}.xl\\:dark\\:focus\\:to-body-light:focus{--tw-gradient-to:#fff}.xl\\:dark\\:focus\\:to-body-dark:focus{--tw-gradient-to:#1e1e1e}.xl\\:dark\\:focus\\:to-button:focus{--tw-gradient-to:#0071e3}.xl\\:dark\\:focus\\:to-button_hover:focus{--tw-gradient-to:#0077ed}}.xl\\:decoration-slice{-webkit-box-decoration-break:slice;box-decoration-break:slice}.xl\\:decoration-clone{-webkit-box-decoration-break:clone;box-decoration-break:clone}.xl\\:bg-auto{background-size:auto}.xl\\:bg-cover{background-size:cover}.xl\\:bg-contain{background-size:contain}.xl\\:bg-fixed{background-attachment:fixed}.xl\\:bg-local{background-attachment:local}.xl\\:bg-scroll{background-attachment:scroll}.xl\\:bg-clip-border{background-clip:border-box}.xl\\:bg-clip-padding{background-clip:padding-box}.xl\\:bg-clip-content{background-clip:content-box}.xl\\:bg-clip-text{background-clip:text}.xl\\:bg-bottom{background-position:bottom}.xl\\:bg-center{background-position:center}.xl\\:bg-left{background-position:left}.xl\\:bg-left-bottom{background-position:left bottom}.xl\\:bg-left-top{background-position:left top}.xl\\:bg-right{background-position:right}.xl\\:bg-right-bottom{background-position:right bottom}.xl\\:bg-right-top{background-position:right top}.xl\\:bg-top{background-position:top}.xl\\:bg-repeat{background-repeat:repeat}.xl\\:bg-no-repeat{background-repeat:no-repeat}.xl\\:bg-repeat-x{background-repeat:repeat-x}.xl\\:bg-repeat-y{background-repeat:repeat-y}.xl\\:bg-repeat-round{background-repeat:round}.xl\\:bg-repeat-space{background-repeat:space}.xl\\:bg-origin-border{background-origin:border-box}.xl\\:bg-origin-padding{background-origin:padding-box}.xl\\:bg-origin-content{background-origin:content-box}.xl\\:fill-current{fill:currentColor}.xl\\:stroke-current{stroke:currentColor}.xl\\:stroke-0{stroke-width:0}.xl\\:stroke-1{stroke-width:1}.xl\\:stroke-2{stroke-width:2}.xl\\:object-contain{object-fit:contain}.xl\\:object-cover{object-fit:cover}.xl\\:object-fill{object-fit:fill}.xl\\:object-none{object-fit:none}.xl\\:object-scale-down{object-fit:scale-down}.xl\\:object-bottom{object-position:bottom}.xl\\:object-center{object-position:center}.xl\\:object-left{object-position:left}.xl\\:object-left-bottom{object-position:left bottom}.xl\\:object-left-top{object-position:left top}.xl\\:object-right{object-position:right}.xl\\:object-right-bottom{object-position:right bottom}.xl\\:object-right-top{object-position:right top}.xl\\:object-top{object-position:top}.xl\\:p-0{padding:0px}.xl\\:p-1{padding:0.25rem}.xl\\:p-2{padding:0.5rem}.xl\\:p-3{padding:0.75rem}.xl\\:p-4{padding:1rem}.xl\\:p-5{padding:1.25rem}.xl\\:p-6{padding:1.5rem}.xl\\:p-7{padding:1.75rem}.xl\\:p-8{padding:2rem}.xl\\:p-9{padding:2.25rem}.xl\\:p-10{padding:2.5rem}.xl\\:p-11{padding:2.75rem}.xl\\:p-12{padding:3rem}.xl\\:p-14{padding:3.5rem}.xl\\:p-16{padding:4rem}.xl\\:p-20{padding:5rem}.xl\\:p-24{padding:6rem}.xl\\:p-28{padding:7rem}.xl\\:p-32{padding:8rem}.xl\\:p-36{padding:9rem}.xl\\:p-40{padding:10rem}.xl\\:p-44{padding:11rem}.xl\\:p-48{padding:12rem}.xl\\:p-52{padding:13rem}.xl\\:p-56{padding:14rem}.xl\\:p-60{padding:15rem}.xl\\:p-64{padding:16rem}.xl\\:p-72{padding:18rem}.xl\\:p-80{padding:20rem}.xl\\:p-96{padding:24rem}.xl\\:p-px{padding:1px}.xl\\:p-0\\.5{padding:0.125rem}.xl\\:p-1\\.5{padding:0.375rem}.xl\\:p-2\\.5{padding:0.625rem}.xl\\:p-3\\.5{padding:0.875rem}.xl\\:px-0{padding-left:0px;padding-right:0px}.xl\\:px-1{padding-left:0.25rem;padding-right:0.25rem}.xl\\:px-2{padding-left:0.5rem;padding-right:0.5rem}.xl\\:px-3{padding-left:0.75rem;padding-right:0.75rem}.xl\\:px-4{padding-left:1rem;padding-right:1rem}.xl\\:px-5{padding-left:1.25rem;padding-right:1.25rem}.xl\\:px-6{padding-left:1.5rem;padding-right:1.5rem}.xl\\:px-7{padding-left:1.75rem;padding-right:1.75rem}.xl\\:px-8{padding-left:2rem;padding-right:2rem}.xl\\:px-9{padding-left:2.25rem;padding-right:2.25rem}.xl\\:px-10{padding-left:2.5rem;padding-right:2.5rem}.xl\\:px-11{padding-left:2.75rem;padding-right:2.75rem}.xl\\:px-12{padding-left:3rem;padding-right:3rem}.xl\\:px-14{padding-left:3.5rem;padding-right:3.5rem}.xl\\:px-16{padding-left:4rem;padding-right:4rem}.xl\\:px-20{padding-left:5rem;padding-right:5rem}.xl\\:px-24{padding-left:6rem;padding-right:6rem}.xl\\:px-28{padding-left:7rem;padding-right:7rem}.xl\\:px-32{padding-left:8rem;padding-right:8rem}.xl\\:px-36{padding-left:9rem;padding-right:9rem}.xl\\:px-40{padding-left:10rem;padding-right:10rem}.xl\\:px-44{padding-left:11rem;padding-right:11rem}.xl\\:px-48{padding-left:12rem;padding-right:12rem}.xl\\:px-52{padding-left:13rem;padding-right:13rem}.xl\\:px-56{padding-left:14rem;padding-right:14rem}.xl\\:px-60{padding-left:15rem;padding-right:15rem}.xl\\:px-64{padding-left:16rem;padding-right:16rem}.xl\\:px-72{padding-left:18rem;padding-right:18rem}.xl\\:px-80{padding-left:20rem;padding-right:20rem}.xl\\:px-96{padding-left:24rem;padding-right:24rem}.xl\\:px-px{padding-left:1px;padding-right:1px}.xl\\:px-0\\.5{padding-left:0.125rem;padding-right:0.125rem}.xl\\:px-1\\.5{padding-left:0.375rem;padding-right:0.375rem}.xl\\:px-2\\.5{padding-left:0.625rem;padding-right:0.625rem}.xl\\:px-3\\.5{padding-left:0.875rem;padding-right:0.875rem}.xl\\:py-0{padding-top:0px;padding-bottom:0px}.xl\\:py-1{padding-top:0.25rem;padding-bottom:0.25rem}.xl\\:py-2{padding-top:0.5rem;padding-bottom:0.5rem}.xl\\:py-3{padding-top:0.75rem;padding-bottom:0.75rem}.xl\\:py-4{padding-top:1rem;padding-bottom:1rem}.xl\\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.xl\\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.xl\\:py-7{padding-top:1.75rem;padding-bottom:1.75rem}.xl\\:py-8{padding-top:2rem;padding-bottom:2rem}.xl\\:py-9{padding-top:2.25rem;padding-bottom:2.25rem}.xl\\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.xl\\:py-11{padding-top:2.75rem;padding-bottom:2.75rem}.xl\\:py-12{padding-top:3rem;padding-bottom:3rem}.xl\\:py-14{padding-top:3.5rem;padding-bottom:3.5rem}.xl\\:py-16{padding-top:4rem;padding-bottom:4rem}.xl\\:py-20{padding-top:5rem;padding-bottom:5rem}.xl\\:py-24{padding-top:6rem;padding-bottom:6rem}.xl\\:py-28{padding-top:7rem;padding-bottom:7rem}.xl\\:py-32{padding-top:8rem;padding-bottom:8rem}.xl\\:py-36{padding-top:9rem;padding-bottom:9rem}.xl\\:py-40{padding-top:10rem;padding-bottom:10rem}.xl\\:py-44{padding-top:11rem;padding-bottom:11rem}.xl\\:py-48{padding-top:12rem;padding-bottom:12rem}.xl\\:py-52{padding-top:13rem;padding-bottom:13rem}.xl\\:py-56{padding-top:14rem;padding-bottom:14rem}.xl\\:py-60{padding-top:15rem;padding-bottom:15rem}.xl\\:py-64{padding-top:16rem;padding-bottom:16rem}.xl\\:py-72{padding-top:18rem;padding-bottom:18rem}.xl\\:py-80{padding-top:20rem;padding-bottom:20rem}.xl\\:py-96{padding-top:24rem;padding-bottom:24rem}.xl\\:py-px{padding-top:1px;padding-bottom:1px}.xl\\:py-0\\.5{padding-top:0.125rem;padding-bottom:0.125rem}.xl\\:py-1\\.5{padding-top:0.375rem;padding-bottom:0.375rem}.xl\\:py-2\\.5{padding-top:0.625rem;padding-bottom:0.625rem}.xl\\:py-3\\.5{padding-top:0.875rem;padding-bottom:0.875rem}.xl\\:pt-0{padding-top:0px}.xl\\:pt-1{padding-top:0.25rem}.xl\\:pt-2{padding-top:0.5rem}.xl\\:pt-3{padding-top:0.75rem}.xl\\:pt-4{padding-top:1rem}.xl\\:pt-5{padding-top:1.25rem}.xl\\:pt-6{padding-top:1.5rem}.xl\\:pt-7{padding-top:1.75rem}.xl\\:pt-8{padding-top:2rem}.xl\\:pt-9{padding-top:2.25rem}.xl\\:pt-10{padding-top:2.5rem}.xl\\:pt-11{padding-top:2.75rem}.xl\\:pt-12{padding-top:3rem}.xl\\:pt-14{padding-top:3.5rem}.xl\\:pt-16{padding-top:4rem}.xl\\:pt-20{padding-top:5rem}.xl\\:pt-24{padding-top:6rem}.xl\\:pt-28{padding-top:7rem}.xl\\:pt-32{padding-top:8rem}.xl\\:pt-36{padding-top:9rem}.xl\\:pt-40{padding-top:10rem}.xl\\:pt-44{padding-top:11rem}.xl\\:pt-48{padding-top:12rem}.xl\\:pt-52{padding-top:13rem}.xl\\:pt-56{padding-top:14rem}.xl\\:pt-60{padding-top:15rem}.xl\\:pt-64{padding-top:16rem}.xl\\:pt-72{padding-top:18rem}.xl\\:pt-80{padding-top:20rem}.xl\\:pt-96{padding-top:24rem}.xl\\:pt-px{padding-top:1px}.xl\\:pt-0\\.5{padding-top:0.125rem}.xl\\:pt-1\\.5{padding-top:0.375rem}.xl\\:pt-2\\.5{padding-top:0.625rem}.xl\\:pt-3\\.5{padding-top:0.875rem}.xl\\:pr-0{padding-right:0px}.xl\\:pr-1{padding-right:0.25rem}.xl\\:pr-2{padding-right:0.5rem}.xl\\:pr-3{padding-right:0.75rem}.xl\\:pr-4{padding-right:1rem}.xl\\:pr-5{padding-right:1.25rem}.xl\\:pr-6{padding-right:1.5rem}.xl\\:pr-7{padding-right:1.75rem}.xl\\:pr-8{padding-right:2rem}.xl\\:pr-9{padding-right:2.25rem}.xl\\:pr-10{padding-right:2.5rem}.xl\\:pr-11{padding-right:2.75rem}.xl\\:pr-12{padding-right:3rem}.xl\\:pr-14{padding-right:3.5rem}.xl\\:pr-16{padding-right:4rem}.xl\\:pr-20{padding-right:5rem}.xl\\:pr-24{padding-right:6rem}.xl\\:pr-28{padding-right:7rem}.xl\\:pr-32{padding-right:8rem}.xl\\:pr-36{padding-right:9rem}.xl\\:pr-40{padding-right:10rem}.xl\\:pr-44{padding-right:11rem}.xl\\:pr-48{padding-right:12rem}.xl\\:pr-52{padding-right:13rem}.xl\\:pr-56{padding-right:14rem}.xl\\:pr-60{padding-right:15rem}.xl\\:pr-64{padding-right:16rem}.xl\\:pr-72{padding-right:18rem}.xl\\:pr-80{padding-right:20rem}.xl\\:pr-96{padding-right:24rem}.xl\\:pr-px{padding-right:1px}.xl\\:pr-0\\.5{padding-right:0.125rem}.xl\\:pr-1\\.5{padding-right:0.375rem}.xl\\:pr-2\\.5{padding-right:0.625rem}.xl\\:pr-3\\.5{padding-right:0.875rem}.xl\\:pb-0{padding-bottom:0px}.xl\\:pb-1{padding-bottom:0.25rem}.xl\\:pb-2{padding-bottom:0.5rem}.xl\\:pb-3{padding-bottom:0.75rem}.xl\\:pb-4{padding-bottom:1rem}.xl\\:pb-5{padding-bottom:1.25rem}.xl\\:pb-6{padding-bottom:1.5rem}.xl\\:pb-7{padding-bottom:1.75rem}.xl\\:pb-8{padding-bottom:2rem}.xl\\:pb-9{padding-bottom:2.25rem}.xl\\:pb-10{padding-bottom:2.5rem}.xl\\:pb-11{padding-bottom:2.75rem}.xl\\:pb-12{padding-bottom:3rem}.xl\\:pb-14{padding-bottom:3.5rem}.xl\\:pb-16{padding-bottom:4rem}.xl\\:pb-20{padding-bottom:5rem}.xl\\:pb-24{padding-bottom:6rem}.xl\\:pb-28{padding-bottom:7rem}.xl\\:pb-32{padding-bottom:8rem}.xl\\:pb-36{padding-bottom:9rem}.xl\\:pb-40{padding-bottom:10rem}.xl\\:pb-44{padding-bottom:11rem}.xl\\:pb-48{padding-bottom:12rem}.xl\\:pb-52{padding-bottom:13rem}.xl\\:pb-56{padding-bottom:14rem}.xl\\:pb-60{padding-bottom:15rem}.xl\\:pb-64{padding-bottom:16rem}.xl\\:pb-72{padding-bottom:18rem}.xl\\:pb-80{padding-bottom:20rem}.xl\\:pb-96{padding-bottom:24rem}.xl\\:pb-px{padding-bottom:1px}.xl\\:pb-0\\.5{padding-bottom:0.125rem}.xl\\:pb-1\\.5{padding-bottom:0.375rem}.xl\\:pb-2\\.5{padding-bottom:0.625rem}.xl\\:pb-3\\.5{padding-bottom:0.875rem}.xl\\:pl-0{padding-left:0px}.xl\\:pl-1{padding-left:0.25rem}.xl\\:pl-2{padding-left:0.5rem}.xl\\:pl-3{padding-left:0.75rem}.xl\\:pl-4{padding-left:1rem}.xl\\:pl-5{padding-left:1.25rem}.xl\\:pl-6{padding-left:1.5rem}.xl\\:pl-7{padding-left:1.75rem}.xl\\:pl-8{padding-left:2rem}.xl\\:pl-9{padding-left:2.25rem}.xl\\:pl-10{padding-left:2.5rem}.xl\\:pl-11{padding-left:2.75rem}.xl\\:pl-12{padding-left:3rem}.xl\\:pl-14{padding-left:3.5rem}.xl\\:pl-16{padding-left:4rem}.xl\\:pl-20{padding-left:5rem}.xl\\:pl-24{padding-left:6rem}.xl\\:pl-28{padding-left:7rem}.xl\\:pl-32{padding-left:8rem}.xl\\:pl-36{padding-left:9rem}.xl\\:pl-40{padding-left:10rem}.xl\\:pl-44{padding-left:11rem}.xl\\:pl-48{padding-left:12rem}.xl\\:pl-52{padding-left:13rem}.xl\\:pl-56{padding-left:14rem}.xl\\:pl-60{padding-left:15rem}.xl\\:pl-64{padding-left:16rem}.xl\\:pl-72{padding-left:18rem}.xl\\:pl-80{padding-left:20rem}.xl\\:pl-96{padding-left:24rem}.xl\\:pl-px{padding-left:1px}.xl\\:pl-0\\.5{padding-left:0.125rem}.xl\\:pl-1\\.5{padding-left:0.375rem}.xl\\:pl-2\\.5{padding-left:0.625rem}.xl\\:pl-3\\.5{padding-left:0.875rem}.xl\\:text-left{text-align:left}.xl\\:text-center{text-align:center}.xl\\:text-right{text-align:right}.xl\\:text-justify{text-align:justify}.xl\\:align-baseline{vertical-align:baseline}.xl\\:align-top{vertical-align:top}.xl\\:align-middle{vertical-align:middle}.xl\\:align-bottom{vertical-align:bottom}.xl\\:align-text-top{vertical-align:text-top}.xl\\:align-text-bottom{vertical-align:text-bottom}.xl\\:font-sans{font-family:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"}.xl\\:font-serif{font-family:ui-serif, Georgia, Cambria, \"Times New Roman\", Times, serif}.xl\\:font-mono{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace}.xl\\:text-xs{font-size:0.75rem;line-height:1rem}.xl\\:text-sm{font-size:0.875rem;line-height:1.25rem}.xl\\:text-base{font-size:1rem;line-height:1.5rem}.xl\\:text-lg{font-size:1.125rem;line-height:1.75rem}.xl\\:text-xl{font-size:1.25rem;line-height:1.75rem}.xl\\:text-2xl{font-size:1.5rem;line-height:2rem}.xl\\:text-3xl{font-size:1.875rem;line-height:2.25rem}.xl\\:text-4xl{font-size:2.25rem;line-height:2.5rem}.xl\\:text-5xl{font-size:3rem;line-height:1}.xl\\:text-6xl{font-size:3.75rem;line-height:1}.xl\\:text-7xl{font-size:4.5rem;line-height:1}.xl\\:text-8xl{font-size:6rem;line-height:1}.xl\\:text-9xl{font-size:8rem;line-height:1}.xl\\:font-thin{font-weight:100}.xl\\:font-extralight{font-weight:200}.xl\\:font-light{font-weight:300}.xl\\:font-normal{font-weight:400}.xl\\:font-medium{font-weight:500}.xl\\:font-semibold{font-weight:600}.xl\\:font-bold{font-weight:700}.xl\\:font-extrabold{font-weight:800}.xl\\:font-black{font-weight:900}.xl\\:uppercase{text-transform:uppercase}.xl\\:lowercase{text-transform:lowercase}.xl\\:capitalize{text-transform:capitalize}.xl\\:normal-case{text-transform:none}.xl\\:italic{font-style:italic}.xl\\:not-italic{font-style:normal}.xl\\:ordinal,.xl\\:slashed-zero,.xl\\:lining-nums,.xl\\:oldstyle-nums,.xl\\:proportional-nums,.xl\\:tabular-nums,.xl\\:diagonal-fractions,.xl\\:stacked-fractions{--tw-ordinal:var(--tw-empty,/*!*/ /*!*/);--tw-slashed-zero:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-figure:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-spacing:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-fraction:var(--tw-empty,/*!*/ /*!*/);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.xl\\:normal-nums{font-variant-numeric:normal}.xl\\:ordinal{--tw-ordinal:ordinal}.xl\\:slashed-zero{--tw-slashed-zero:slashed-zero}.xl\\:lining-nums{--tw-numeric-figure:lining-nums}.xl\\:oldstyle-nums{--tw-numeric-figure:oldstyle-nums}.xl\\:proportional-nums{--tw-numeric-spacing:proportional-nums}.xl\\:tabular-nums{--tw-numeric-spacing:tabular-nums}.xl\\:diagonal-fractions{--tw-numeric-fraction:diagonal-fractions}.xl\\:stacked-fractions{--tw-numeric-fraction:stacked-fractions}.xl\\:leading-3{line-height:.75rem}.xl\\:leading-4{line-height:1rem}.xl\\:leading-5{line-height:1.25rem}.xl\\:leading-6{line-height:1.5rem}.xl\\:leading-7{line-height:1.75rem}.xl\\:leading-8{line-height:2rem}.xl\\:leading-9{line-height:2.25rem}.xl\\:leading-10{line-height:2.5rem}.xl\\:leading-none{line-height:1}.xl\\:leading-tight{line-height:1.25}.xl\\:leading-snug{line-height:1.375}.xl\\:leading-normal{line-height:1.5}.xl\\:leading-relaxed{line-height:1.625}.xl\\:leading-loose{line-height:2}.xl\\:tracking-tighter{letter-spacing:-0.05em}.xl\\:tracking-tight{letter-spacing:-0.025em}.xl\\:tracking-normal{letter-spacing:0em}.xl\\:tracking-wide{letter-spacing:0.025em}.xl\\:tracking-wider{letter-spacing:0.05em}.xl\\:tracking-widest{letter-spacing:0.1em}.xl\\:text-transparent{color:transparent}.xl\\:text-current{color:currentColor}.xl\\:text-white{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.xl\\:text-lightgrey{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.xl\\:text-midgrey{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.xl\\:text-darkgrey{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.xl\\:text-grey{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.xl\\:text-black{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.xl\\:text-highlight{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.xl\\:text-highlight_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.xl\\:text-button_outline{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.xl\\:text-error{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.xl\\:text-text-light{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.xl\\:text-text-dimmed{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.xl\\:text-text-dark{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.xl\\:text-body-light{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.xl\\:text-body-dark{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.xl\\:text-button{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.xl\\:text-button_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.group:hover .xl\\:group-hover\\:text-transparent{color:transparent}.group:hover .xl\\:group-hover\\:text-current{color:currentColor}.group:hover .xl\\:group-hover\\:text-white{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .xl\\:group-hover\\:text-lightgrey{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.group:hover .xl\\:group-hover\\:text-midgrey{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .xl\\:group-hover\\:text-darkgrey{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.group:hover .xl\\:group-hover\\:text-grey{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.group:hover .xl\\:group-hover\\:text-black{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.group:hover .xl\\:group-hover\\:text-highlight{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.group:hover .xl\\:group-hover\\:text-highlight_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.group:hover .xl\\:group-hover\\:text-button_outline{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .xl\\:group-hover\\:text-error{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.group:hover .xl\\:group-hover\\:text-text-light{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.group:hover .xl\\:group-hover\\:text-text-dimmed{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .xl\\:group-hover\\:text-text-dark{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .xl\\:group-hover\\:text-body-light{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .xl\\:group-hover\\:text-body-dark{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.group:hover .xl\\:group-hover\\:text-button{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.group:hover .xl\\:group-hover\\:text-button_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.xl\\:focus-within\\:text-transparent:focus-within{color:transparent}.xl\\:focus-within\\:text-current:focus-within{color:currentColor}.xl\\:focus-within\\:text-white:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.xl\\:focus-within\\:text-lightgrey:focus-within{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.xl\\:focus-within\\:text-midgrey:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.xl\\:focus-within\\:text-darkgrey:focus-within{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.xl\\:focus-within\\:text-grey:focus-within{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.xl\\:focus-within\\:text-black:focus-within{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.xl\\:focus-within\\:text-highlight:focus-within{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.xl\\:focus-within\\:text-highlight_hover:focus-within{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.xl\\:focus-within\\:text-button_outline:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.xl\\:focus-within\\:text-error:focus-within{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.xl\\:focus-within\\:text-text-light:focus-within{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.xl\\:focus-within\\:text-text-dimmed:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.xl\\:focus-within\\:text-text-dark:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.xl\\:focus-within\\:text-body-light:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.xl\\:focus-within\\:text-body-dark:focus-within{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.xl\\:focus-within\\:text-button:focus-within{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.xl\\:focus-within\\:text-button_hover:focus-within{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.xl\\:hover\\:text-transparent:hover{color:transparent}.xl\\:hover\\:text-current:hover{color:currentColor}.xl\\:hover\\:text-white:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.xl\\:hover\\:text-lightgrey:hover{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.xl\\:hover\\:text-midgrey:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.xl\\:hover\\:text-darkgrey:hover{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.xl\\:hover\\:text-grey:hover{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.xl\\:hover\\:text-black:hover{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.xl\\:hover\\:text-highlight:hover{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.xl\\:hover\\:text-highlight_hover:hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.xl\\:hover\\:text-button_outline:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.xl\\:hover\\:text-error:hover{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.xl\\:hover\\:text-text-light:hover{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.xl\\:hover\\:text-text-dimmed:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.xl\\:hover\\:text-text-dark:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.xl\\:hover\\:text-body-light:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.xl\\:hover\\:text-body-dark:hover{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.xl\\:hover\\:text-button:hover{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.xl\\:hover\\:text-button_hover:hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.xl\\:focus\\:text-transparent:focus{color:transparent}.xl\\:focus\\:text-current:focus{color:currentColor}.xl\\:focus\\:text-white:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.xl\\:focus\\:text-lightgrey:focus{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.xl\\:focus\\:text-midgrey:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.xl\\:focus\\:text-darkgrey:focus{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.xl\\:focus\\:text-grey:focus{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.xl\\:focus\\:text-black:focus{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.xl\\:focus\\:text-highlight:focus{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.xl\\:focus\\:text-highlight_hover:focus{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.xl\\:focus\\:text-button_outline:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.xl\\:focus\\:text-error:focus{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.xl\\:focus\\:text-text-light:focus{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.xl\\:focus\\:text-text-dimmed:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.xl\\:focus\\:text-text-dark:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.xl\\:focus\\:text-body-light:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.xl\\:focus\\:text-body-dark:focus{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.xl\\:focus\\:text-button:focus{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.xl\\:focus\\:text-button_hover:focus{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}@media(prefers-color-scheme: dark){.xl\\:dark\\:text-transparent{color:transparent}.xl\\:dark\\:text-current{color:currentColor}.xl\\:dark\\:text-white{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.xl\\:dark\\:text-lightgrey{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.xl\\:dark\\:text-midgrey{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.xl\\:dark\\:text-darkgrey{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.xl\\:dark\\:text-grey{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.xl\\:dark\\:text-black{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.xl\\:dark\\:text-highlight{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.xl\\:dark\\:text-highlight_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.xl\\:dark\\:text-button_outline{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.xl\\:dark\\:text-error{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.xl\\:dark\\:text-text-light{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.xl\\:dark\\:text-text-dimmed{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.xl\\:dark\\:text-text-dark{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.xl\\:dark\\:text-body-light{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.xl\\:dark\\:text-body-dark{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.xl\\:dark\\:text-button{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.xl\\:dark\\:text-button_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.group:hover .xl\\:dark\\:group-hover\\:text-transparent{color:transparent}.group:hover .xl\\:dark\\:group-hover\\:text-current{color:currentColor}.group:hover .xl\\:dark\\:group-hover\\:text-white{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .xl\\:dark\\:group-hover\\:text-lightgrey{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.group:hover .xl\\:dark\\:group-hover\\:text-midgrey{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .xl\\:dark\\:group-hover\\:text-darkgrey{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.group:hover .xl\\:dark\\:group-hover\\:text-grey{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.group:hover .xl\\:dark\\:group-hover\\:text-black{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.group:hover .xl\\:dark\\:group-hover\\:text-highlight{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.group:hover .xl\\:dark\\:group-hover\\:text-highlight_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.group:hover .xl\\:dark\\:group-hover\\:text-button_outline{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .xl\\:dark\\:group-hover\\:text-error{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.group:hover .xl\\:dark\\:group-hover\\:text-text-light{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.group:hover .xl\\:dark\\:group-hover\\:text-text-dimmed{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .xl\\:dark\\:group-hover\\:text-text-dark{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .xl\\:dark\\:group-hover\\:text-body-light{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .xl\\:dark\\:group-hover\\:text-body-dark{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.group:hover .xl\\:dark\\:group-hover\\:text-button{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.group:hover .xl\\:dark\\:group-hover\\:text-button_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.xl\\:dark\\:focus-within\\:text-transparent:focus-within{color:transparent}.xl\\:dark\\:focus-within\\:text-current:focus-within{color:currentColor}.xl\\:dark\\:focus-within\\:text-white:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.xl\\:dark\\:focus-within\\:text-lightgrey:focus-within{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.xl\\:dark\\:focus-within\\:text-midgrey:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.xl\\:dark\\:focus-within\\:text-darkgrey:focus-within{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.xl\\:dark\\:focus-within\\:text-grey:focus-within{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.xl\\:dark\\:focus-within\\:text-black:focus-within{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.xl\\:dark\\:focus-within\\:text-highlight:focus-within{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.xl\\:dark\\:focus-within\\:text-highlight_hover:focus-within{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.xl\\:dark\\:focus-within\\:text-button_outline:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.xl\\:dark\\:focus-within\\:text-error:focus-within{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.xl\\:dark\\:focus-within\\:text-text-light:focus-within{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.xl\\:dark\\:focus-within\\:text-text-dimmed:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.xl\\:dark\\:focus-within\\:text-text-dark:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.xl\\:dark\\:focus-within\\:text-body-light:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.xl\\:dark\\:focus-within\\:text-body-dark:focus-within{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.xl\\:dark\\:focus-within\\:text-button:focus-within{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.xl\\:dark\\:focus-within\\:text-button_hover:focus-within{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.xl\\:dark\\:hover\\:text-transparent:hover{color:transparent}.xl\\:dark\\:hover\\:text-current:hover{color:currentColor}.xl\\:dark\\:hover\\:text-white:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.xl\\:dark\\:hover\\:text-lightgrey:hover{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.xl\\:dark\\:hover\\:text-midgrey:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.xl\\:dark\\:hover\\:text-darkgrey:hover{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.xl\\:dark\\:hover\\:text-grey:hover{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.xl\\:dark\\:hover\\:text-black:hover{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.xl\\:dark\\:hover\\:text-highlight:hover{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.xl\\:dark\\:hover\\:text-highlight_hover:hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.xl\\:dark\\:hover\\:text-button_outline:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.xl\\:dark\\:hover\\:text-error:hover{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.xl\\:dark\\:hover\\:text-text-light:hover{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.xl\\:dark\\:hover\\:text-text-dimmed:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.xl\\:dark\\:hover\\:text-text-dark:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.xl\\:dark\\:hover\\:text-body-light:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.xl\\:dark\\:hover\\:text-body-dark:hover{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.xl\\:dark\\:hover\\:text-button:hover{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.xl\\:dark\\:hover\\:text-button_hover:hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.xl\\:dark\\:focus\\:text-transparent:focus{color:transparent}.xl\\:dark\\:focus\\:text-current:focus{color:currentColor}.xl\\:dark\\:focus\\:text-white:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.xl\\:dark\\:focus\\:text-lightgrey:focus{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.xl\\:dark\\:focus\\:text-midgrey:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.xl\\:dark\\:focus\\:text-darkgrey:focus{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.xl\\:dark\\:focus\\:text-grey:focus{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.xl\\:dark\\:focus\\:text-black:focus{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.xl\\:dark\\:focus\\:text-highlight:focus{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.xl\\:dark\\:focus\\:text-highlight_hover:focus{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.xl\\:dark\\:focus\\:text-button_outline:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.xl\\:dark\\:focus\\:text-error:focus{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.xl\\:dark\\:focus\\:text-text-light:focus{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.xl\\:dark\\:focus\\:text-text-dimmed:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.xl\\:dark\\:focus\\:text-text-dark:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.xl\\:dark\\:focus\\:text-body-light:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.xl\\:dark\\:focus\\:text-body-dark:focus{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.xl\\:dark\\:focus\\:text-button:focus{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.xl\\:dark\\:focus\\:text-button_hover:focus{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}}.xl\\:text-opacity-0{--tw-text-opacity:0}.xl\\:text-opacity-5{--tw-text-opacity:0.05}.xl\\:text-opacity-10{--tw-text-opacity:0.1}.xl\\:text-opacity-20{--tw-text-opacity:0.2}.xl\\:text-opacity-25{--tw-text-opacity:0.25}.xl\\:text-opacity-30{--tw-text-opacity:0.3}.xl\\:text-opacity-40{--tw-text-opacity:0.4}.xl\\:text-opacity-50{--tw-text-opacity:0.5}.xl\\:text-opacity-60{--tw-text-opacity:0.6}.xl\\:text-opacity-70{--tw-text-opacity:0.7}.xl\\:text-opacity-75{--tw-text-opacity:0.75}.xl\\:text-opacity-80{--tw-text-opacity:0.8}.xl\\:text-opacity-90{--tw-text-opacity:0.9}.xl\\:text-opacity-95{--tw-text-opacity:0.95}.xl\\:text-opacity-100{--tw-text-opacity:1}.group:hover .xl\\:group-hover\\:text-opacity-0{--tw-text-opacity:0}.group:hover .xl\\:group-hover\\:text-opacity-5{--tw-text-opacity:0.05}.group:hover .xl\\:group-hover\\:text-opacity-10{--tw-text-opacity:0.1}.group:hover .xl\\:group-hover\\:text-opacity-20{--tw-text-opacity:0.2}.group:hover .xl\\:group-hover\\:text-opacity-25{--tw-text-opacity:0.25}.group:hover .xl\\:group-hover\\:text-opacity-30{--tw-text-opacity:0.3}.group:hover .xl\\:group-hover\\:text-opacity-40{--tw-text-opacity:0.4}.group:hover .xl\\:group-hover\\:text-opacity-50{--tw-text-opacity:0.5}.group:hover .xl\\:group-hover\\:text-opacity-60{--tw-text-opacity:0.6}.group:hover .xl\\:group-hover\\:text-opacity-70{--tw-text-opacity:0.7}.group:hover .xl\\:group-hover\\:text-opacity-75{--tw-text-opacity:0.75}.group:hover .xl\\:group-hover\\:text-opacity-80{--tw-text-opacity:0.8}.group:hover .xl\\:group-hover\\:text-opacity-90{--tw-text-opacity:0.9}.group:hover .xl\\:group-hover\\:text-opacity-95{--tw-text-opacity:0.95}.group:hover .xl\\:group-hover\\:text-opacity-100{--tw-text-opacity:1}.xl\\:focus-within\\:text-opacity-0:focus-within{--tw-text-opacity:0}.xl\\:focus-within\\:text-opacity-5:focus-within{--tw-text-opacity:0.05}.xl\\:focus-within\\:text-opacity-10:focus-within{--tw-text-opacity:0.1}.xl\\:focus-within\\:text-opacity-20:focus-within{--tw-text-opacity:0.2}.xl\\:focus-within\\:text-opacity-25:focus-within{--tw-text-opacity:0.25}.xl\\:focus-within\\:text-opacity-30:focus-within{--tw-text-opacity:0.3}.xl\\:focus-within\\:text-opacity-40:focus-within{--tw-text-opacity:0.4}.xl\\:focus-within\\:text-opacity-50:focus-within{--tw-text-opacity:0.5}.xl\\:focus-within\\:text-opacity-60:focus-within{--tw-text-opacity:0.6}.xl\\:focus-within\\:text-opacity-70:focus-within{--tw-text-opacity:0.7}.xl\\:focus-within\\:text-opacity-75:focus-within{--tw-text-opacity:0.75}.xl\\:focus-within\\:text-opacity-80:focus-within{--tw-text-opacity:0.8}.xl\\:focus-within\\:text-opacity-90:focus-within{--tw-text-opacity:0.9}.xl\\:focus-within\\:text-opacity-95:focus-within{--tw-text-opacity:0.95}.xl\\:focus-within\\:text-opacity-100:focus-within{--tw-text-opacity:1}.xl\\:hover\\:text-opacity-0:hover{--tw-text-opacity:0}.xl\\:hover\\:text-opacity-5:hover{--tw-text-opacity:0.05}.xl\\:hover\\:text-opacity-10:hover{--tw-text-opacity:0.1}.xl\\:hover\\:text-opacity-20:hover{--tw-text-opacity:0.2}.xl\\:hover\\:text-opacity-25:hover{--tw-text-opacity:0.25}.xl\\:hover\\:text-opacity-30:hover{--tw-text-opacity:0.3}.xl\\:hover\\:text-opacity-40:hover{--tw-text-opacity:0.4}.xl\\:hover\\:text-opacity-50:hover{--tw-text-opacity:0.5}.xl\\:hover\\:text-opacity-60:hover{--tw-text-opacity:0.6}.xl\\:hover\\:text-opacity-70:hover{--tw-text-opacity:0.7}.xl\\:hover\\:text-opacity-75:hover{--tw-text-opacity:0.75}.xl\\:hover\\:text-opacity-80:hover{--tw-text-opacity:0.8}.xl\\:hover\\:text-opacity-90:hover{--tw-text-opacity:0.9}.xl\\:hover\\:text-opacity-95:hover{--tw-text-opacity:0.95}.xl\\:hover\\:text-opacity-100:hover{--tw-text-opacity:1}.xl\\:focus\\:text-opacity-0:focus{--tw-text-opacity:0}.xl\\:focus\\:text-opacity-5:focus{--tw-text-opacity:0.05}.xl\\:focus\\:text-opacity-10:focus{--tw-text-opacity:0.1}.xl\\:focus\\:text-opacity-20:focus{--tw-text-opacity:0.2}.xl\\:focus\\:text-opacity-25:focus{--tw-text-opacity:0.25}.xl\\:focus\\:text-opacity-30:focus{--tw-text-opacity:0.3}.xl\\:focus\\:text-opacity-40:focus{--tw-text-opacity:0.4}.xl\\:focus\\:text-opacity-50:focus{--tw-text-opacity:0.5}.xl\\:focus\\:text-opacity-60:focus{--tw-text-opacity:0.6}.xl\\:focus\\:text-opacity-70:focus{--tw-text-opacity:0.7}.xl\\:focus\\:text-opacity-75:focus{--tw-text-opacity:0.75}.xl\\:focus\\:text-opacity-80:focus{--tw-text-opacity:0.8}.xl\\:focus\\:text-opacity-90:focus{--tw-text-opacity:0.9}.xl\\:focus\\:text-opacity-95:focus{--tw-text-opacity:0.95}.xl\\:focus\\:text-opacity-100:focus{--tw-text-opacity:1}@media(prefers-color-scheme: dark){.xl\\:dark\\:text-opacity-0{--tw-text-opacity:0}.xl\\:dark\\:text-opacity-5{--tw-text-opacity:0.05}.xl\\:dark\\:text-opacity-10{--tw-text-opacity:0.1}.xl\\:dark\\:text-opacity-20{--tw-text-opacity:0.2}.xl\\:dark\\:text-opacity-25{--tw-text-opacity:0.25}.xl\\:dark\\:text-opacity-30{--tw-text-opacity:0.3}.xl\\:dark\\:text-opacity-40{--tw-text-opacity:0.4}.xl\\:dark\\:text-opacity-50{--tw-text-opacity:0.5}.xl\\:dark\\:text-opacity-60{--tw-text-opacity:0.6}.xl\\:dark\\:text-opacity-70{--tw-text-opacity:0.7}.xl\\:dark\\:text-opacity-75{--tw-text-opacity:0.75}.xl\\:dark\\:text-opacity-80{--tw-text-opacity:0.8}.xl\\:dark\\:text-opacity-90{--tw-text-opacity:0.9}.xl\\:dark\\:text-opacity-95{--tw-text-opacity:0.95}.xl\\:dark\\:text-opacity-100{--tw-text-opacity:1}.group:hover .xl\\:dark\\:group-hover\\:text-opacity-0{--tw-text-opacity:0}.group:hover .xl\\:dark\\:group-hover\\:text-opacity-5{--tw-text-opacity:0.05}.group:hover .xl\\:dark\\:group-hover\\:text-opacity-10{--tw-text-opacity:0.1}.group:hover .xl\\:dark\\:group-hover\\:text-opacity-20{--tw-text-opacity:0.2}.group:hover .xl\\:dark\\:group-hover\\:text-opacity-25{--tw-text-opacity:0.25}.group:hover .xl\\:dark\\:group-hover\\:text-opacity-30{--tw-text-opacity:0.3}.group:hover .xl\\:dark\\:group-hover\\:text-opacity-40{--tw-text-opacity:0.4}.group:hover .xl\\:dark\\:group-hover\\:text-opacity-50{--tw-text-opacity:0.5}.group:hover .xl\\:dark\\:group-hover\\:text-opacity-60{--tw-text-opacity:0.6}.group:hover .xl\\:dark\\:group-hover\\:text-opacity-70{--tw-text-opacity:0.7}.group:hover .xl\\:dark\\:group-hover\\:text-opacity-75{--tw-text-opacity:0.75}.group:hover .xl\\:dark\\:group-hover\\:text-opacity-80{--tw-text-opacity:0.8}.group:hover .xl\\:dark\\:group-hover\\:text-opacity-90{--tw-text-opacity:0.9}.group:hover .xl\\:dark\\:group-hover\\:text-opacity-95{--tw-text-opacity:0.95}.group:hover .xl\\:dark\\:group-hover\\:text-opacity-100{--tw-text-opacity:1}.xl\\:dark\\:focus-within\\:text-opacity-0:focus-within{--tw-text-opacity:0}.xl\\:dark\\:focus-within\\:text-opacity-5:focus-within{--tw-text-opacity:0.05}.xl\\:dark\\:focus-within\\:text-opacity-10:focus-within{--tw-text-opacity:0.1}.xl\\:dark\\:focus-within\\:text-opacity-20:focus-within{--tw-text-opacity:0.2}.xl\\:dark\\:focus-within\\:text-opacity-25:focus-within{--tw-text-opacity:0.25}.xl\\:dark\\:focus-within\\:text-opacity-30:focus-within{--tw-text-opacity:0.3}.xl\\:dark\\:focus-within\\:text-opacity-40:focus-within{--tw-text-opacity:0.4}.xl\\:dark\\:focus-within\\:text-opacity-50:focus-within{--tw-text-opacity:0.5}.xl\\:dark\\:focus-within\\:text-opacity-60:focus-within{--tw-text-opacity:0.6}.xl\\:dark\\:focus-within\\:text-opacity-70:focus-within{--tw-text-opacity:0.7}.xl\\:dark\\:focus-within\\:text-opacity-75:focus-within{--tw-text-opacity:0.75}.xl\\:dark\\:focus-within\\:text-opacity-80:focus-within{--tw-text-opacity:0.8}.xl\\:dark\\:focus-within\\:text-opacity-90:focus-within{--tw-text-opacity:0.9}.xl\\:dark\\:focus-within\\:text-opacity-95:focus-within{--tw-text-opacity:0.95}.xl\\:dark\\:focus-within\\:text-opacity-100:focus-within{--tw-text-opacity:1}.xl\\:dark\\:hover\\:text-opacity-0:hover{--tw-text-opacity:0}.xl\\:dark\\:hover\\:text-opacity-5:hover{--tw-text-opacity:0.05}.xl\\:dark\\:hover\\:text-opacity-10:hover{--tw-text-opacity:0.1}.xl\\:dark\\:hover\\:text-opacity-20:hover{--tw-text-opacity:0.2}.xl\\:dark\\:hover\\:text-opacity-25:hover{--tw-text-opacity:0.25}.xl\\:dark\\:hover\\:text-opacity-30:hover{--tw-text-opacity:0.3}.xl\\:dark\\:hover\\:text-opacity-40:hover{--tw-text-opacity:0.4}.xl\\:dark\\:hover\\:text-opacity-50:hover{--tw-text-opacity:0.5}.xl\\:dark\\:hover\\:text-opacity-60:hover{--tw-text-opacity:0.6}.xl\\:dark\\:hover\\:text-opacity-70:hover{--tw-text-opacity:0.7}.xl\\:dark\\:hover\\:text-opacity-75:hover{--tw-text-opacity:0.75}.xl\\:dark\\:hover\\:text-opacity-80:hover{--tw-text-opacity:0.8}.xl\\:dark\\:hover\\:text-opacity-90:hover{--tw-text-opacity:0.9}.xl\\:dark\\:hover\\:text-opacity-95:hover{--tw-text-opacity:0.95}.xl\\:dark\\:hover\\:text-opacity-100:hover{--tw-text-opacity:1}.xl\\:dark\\:focus\\:text-opacity-0:focus{--tw-text-opacity:0}.xl\\:dark\\:focus\\:text-opacity-5:focus{--tw-text-opacity:0.05}.xl\\:dark\\:focus\\:text-opacity-10:focus{--tw-text-opacity:0.1}.xl\\:dark\\:focus\\:text-opacity-20:focus{--tw-text-opacity:0.2}.xl\\:dark\\:focus\\:text-opacity-25:focus{--tw-text-opacity:0.25}.xl\\:dark\\:focus\\:text-opacity-30:focus{--tw-text-opacity:0.3}.xl\\:dark\\:focus\\:text-opacity-40:focus{--tw-text-opacity:0.4}.xl\\:dark\\:focus\\:text-opacity-50:focus{--tw-text-opacity:0.5}.xl\\:dark\\:focus\\:text-opacity-60:focus{--tw-text-opacity:0.6}.xl\\:dark\\:focus\\:text-opacity-70:focus{--tw-text-opacity:0.7}.xl\\:dark\\:focus\\:text-opacity-75:focus{--tw-text-opacity:0.75}.xl\\:dark\\:focus\\:text-opacity-80:focus{--tw-text-opacity:0.8}.xl\\:dark\\:focus\\:text-opacity-90:focus{--tw-text-opacity:0.9}.xl\\:dark\\:focus\\:text-opacity-95:focus{--tw-text-opacity:0.95}.xl\\:dark\\:focus\\:text-opacity-100:focus{--tw-text-opacity:1}}.xl\\:underline{text-decoration:underline}.xl\\:line-through{text-decoration:line-through}.xl\\:no-underline{text-decoration:none}.group:hover .xl\\:group-hover\\:underline{text-decoration:underline}.group:hover .xl\\:group-hover\\:line-through{text-decoration:line-through}.group:hover .xl\\:group-hover\\:no-underline{text-decoration:none}.xl\\:focus-within\\:underline:focus-within{text-decoration:underline}.xl\\:focus-within\\:line-through:focus-within{text-decoration:line-through}.xl\\:focus-within\\:no-underline:focus-within{text-decoration:none}.xl\\:hover\\:underline:hover{text-decoration:underline}.xl\\:hover\\:line-through:hover{text-decoration:line-through}.xl\\:hover\\:no-underline:hover{text-decoration:none}.xl\\:focus\\:underline:focus{text-decoration:underline}.xl\\:focus\\:line-through:focus{text-decoration:line-through}.xl\\:focus\\:no-underline:focus{text-decoration:none}.xl\\:antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.xl\\:subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.xl\\:placeholder-transparent::placeholder{color:transparent}.xl\\:placeholder-current::placeholder{color:currentColor}.xl\\:placeholder-white::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.xl\\:placeholder-lightgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(247, 247, 247, var(--tw-placeholder-opacity))}.xl\\:placeholder-midgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.xl\\:placeholder-darkgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(127, 127, 127, var(--tw-placeholder-opacity))}.xl\\:placeholder-grey::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.xl\\:placeholder-black::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.xl\\:placeholder-highlight::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.xl\\:placeholder-highlight_hover::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.xl\\:placeholder-button_outline::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.xl\\:placeholder-error::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 69, 58, var(--tw-placeholder-opacity))}.xl\\:placeholder-text-light::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.xl\\:placeholder-text-dimmed::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.xl\\:placeholder-text-dark::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.xl\\:placeholder-body-light::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.xl\\:placeholder-body-dark::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.xl\\:placeholder-button::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.xl\\:placeholder-button_hover::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.xl\\:focus\\:placeholder-transparent:focus::placeholder{color:transparent}.xl\\:focus\\:placeholder-current:focus::placeholder{color:currentColor}.xl\\:focus\\:placeholder-white:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.xl\\:focus\\:placeholder-lightgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(247, 247, 247, var(--tw-placeholder-opacity))}.xl\\:focus\\:placeholder-midgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.xl\\:focus\\:placeholder-darkgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(127, 127, 127, var(--tw-placeholder-opacity))}.xl\\:focus\\:placeholder-grey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.xl\\:focus\\:placeholder-black:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.xl\\:focus\\:placeholder-highlight:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.xl\\:focus\\:placeholder-highlight_hover:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.xl\\:focus\\:placeholder-button_outline:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.xl\\:focus\\:placeholder-error:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 69, 58, var(--tw-placeholder-opacity))}.xl\\:focus\\:placeholder-text-light:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.xl\\:focus\\:placeholder-text-dimmed:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.xl\\:focus\\:placeholder-text-dark:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.xl\\:focus\\:placeholder-body-light:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.xl\\:focus\\:placeholder-body-dark:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.xl\\:focus\\:placeholder-button:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.xl\\:focus\\:placeholder-button_hover:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}@media(prefers-color-scheme: dark){.xl\\:dark\\:placeholder-transparent::placeholder{color:transparent}.xl\\:dark\\:placeholder-current::placeholder{color:currentColor}.xl\\:dark\\:placeholder-white::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.xl\\:dark\\:placeholder-lightgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(247, 247, 247, var(--tw-placeholder-opacity))}.xl\\:dark\\:placeholder-midgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.xl\\:dark\\:placeholder-darkgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(127, 127, 127, var(--tw-placeholder-opacity))}.xl\\:dark\\:placeholder-grey::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.xl\\:dark\\:placeholder-black::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.xl\\:dark\\:placeholder-highlight::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.xl\\:dark\\:placeholder-highlight_hover::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.xl\\:dark\\:placeholder-button_outline::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.xl\\:dark\\:placeholder-error::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 69, 58, var(--tw-placeholder-opacity))}.xl\\:dark\\:placeholder-text-light::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.xl\\:dark\\:placeholder-text-dimmed::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.xl\\:dark\\:placeholder-text-dark::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.xl\\:dark\\:placeholder-body-light::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.xl\\:dark\\:placeholder-body-dark::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.xl\\:dark\\:placeholder-button::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.xl\\:dark\\:placeholder-button_hover::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.xl\\:dark\\:focus\\:placeholder-transparent:focus::placeholder{color:transparent}.xl\\:dark\\:focus\\:placeholder-current:focus::placeholder{color:currentColor}.xl\\:dark\\:focus\\:placeholder-white:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.xl\\:dark\\:focus\\:placeholder-lightgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(247, 247, 247, var(--tw-placeholder-opacity))}.xl\\:dark\\:focus\\:placeholder-midgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.xl\\:dark\\:focus\\:placeholder-darkgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(127, 127, 127, var(--tw-placeholder-opacity))}.xl\\:dark\\:focus\\:placeholder-grey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.xl\\:dark\\:focus\\:placeholder-black:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.xl\\:dark\\:focus\\:placeholder-highlight:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.xl\\:dark\\:focus\\:placeholder-highlight_hover:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.xl\\:dark\\:focus\\:placeholder-button_outline:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.xl\\:dark\\:focus\\:placeholder-error:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 69, 58, var(--tw-placeholder-opacity))}.xl\\:dark\\:focus\\:placeholder-text-light:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.xl\\:dark\\:focus\\:placeholder-text-dimmed:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.xl\\:dark\\:focus\\:placeholder-text-dark:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.xl\\:dark\\:focus\\:placeholder-body-light:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.xl\\:dark\\:focus\\:placeholder-body-dark:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.xl\\:dark\\:focus\\:placeholder-button:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.xl\\:dark\\:focus\\:placeholder-button_hover:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}}.xl\\:placeholder-opacity-0::placeholder{--tw-placeholder-opacity:0}.xl\\:placeholder-opacity-5::placeholder{--tw-placeholder-opacity:0.05}.xl\\:placeholder-opacity-10::placeholder{--tw-placeholder-opacity:0.1}.xl\\:placeholder-opacity-20::placeholder{--tw-placeholder-opacity:0.2}.xl\\:placeholder-opacity-25::placeholder{--tw-placeholder-opacity:0.25}.xl\\:placeholder-opacity-30::placeholder{--tw-placeholder-opacity:0.3}.xl\\:placeholder-opacity-40::placeholder{--tw-placeholder-opacity:0.4}.xl\\:placeholder-opacity-50::placeholder{--tw-placeholder-opacity:0.5}.xl\\:placeholder-opacity-60::placeholder{--tw-placeholder-opacity:0.6}.xl\\:placeholder-opacity-70::placeholder{--tw-placeholder-opacity:0.7}.xl\\:placeholder-opacity-75::placeholder{--tw-placeholder-opacity:0.75}.xl\\:placeholder-opacity-80::placeholder{--tw-placeholder-opacity:0.8}.xl\\:placeholder-opacity-90::placeholder{--tw-placeholder-opacity:0.9}.xl\\:placeholder-opacity-95::placeholder{--tw-placeholder-opacity:0.95}.xl\\:placeholder-opacity-100::placeholder{--tw-placeholder-opacity:1}.xl\\:focus\\:placeholder-opacity-0:focus::placeholder{--tw-placeholder-opacity:0}.xl\\:focus\\:placeholder-opacity-5:focus::placeholder{--tw-placeholder-opacity:0.05}.xl\\:focus\\:placeholder-opacity-10:focus::placeholder{--tw-placeholder-opacity:0.1}.xl\\:focus\\:placeholder-opacity-20:focus::placeholder{--tw-placeholder-opacity:0.2}.xl\\:focus\\:placeholder-opacity-25:focus::placeholder{--tw-placeholder-opacity:0.25}.xl\\:focus\\:placeholder-opacity-30:focus::placeholder{--tw-placeholder-opacity:0.3}.xl\\:focus\\:placeholder-opacity-40:focus::placeholder{--tw-placeholder-opacity:0.4}.xl\\:focus\\:placeholder-opacity-50:focus::placeholder{--tw-placeholder-opacity:0.5}.xl\\:focus\\:placeholder-opacity-60:focus::placeholder{--tw-placeholder-opacity:0.6}.xl\\:focus\\:placeholder-opacity-70:focus::placeholder{--tw-placeholder-opacity:0.7}.xl\\:focus\\:placeholder-opacity-75:focus::placeholder{--tw-placeholder-opacity:0.75}.xl\\:focus\\:placeholder-opacity-80:focus::placeholder{--tw-placeholder-opacity:0.8}.xl\\:focus\\:placeholder-opacity-90:focus::placeholder{--tw-placeholder-opacity:0.9}.xl\\:focus\\:placeholder-opacity-95:focus::placeholder{--tw-placeholder-opacity:0.95}.xl\\:focus\\:placeholder-opacity-100:focus::placeholder{--tw-placeholder-opacity:1}@media(prefers-color-scheme: dark){.xl\\:dark\\:placeholder-opacity-0::placeholder{--tw-placeholder-opacity:0}.xl\\:dark\\:placeholder-opacity-5::placeholder{--tw-placeholder-opacity:0.05}.xl\\:dark\\:placeholder-opacity-10::placeholder{--tw-placeholder-opacity:0.1}.xl\\:dark\\:placeholder-opacity-20::placeholder{--tw-placeholder-opacity:0.2}.xl\\:dark\\:placeholder-opacity-25::placeholder{--tw-placeholder-opacity:0.25}.xl\\:dark\\:placeholder-opacity-30::placeholder{--tw-placeholder-opacity:0.3}.xl\\:dark\\:placeholder-opacity-40::placeholder{--tw-placeholder-opacity:0.4}.xl\\:dark\\:placeholder-opacity-50::placeholder{--tw-placeholder-opacity:0.5}.xl\\:dark\\:placeholder-opacity-60::placeholder{--tw-placeholder-opacity:0.6}.xl\\:dark\\:placeholder-opacity-70::placeholder{--tw-placeholder-opacity:0.7}.xl\\:dark\\:placeholder-opacity-75::placeholder{--tw-placeholder-opacity:0.75}.xl\\:dark\\:placeholder-opacity-80::placeholder{--tw-placeholder-opacity:0.8}.xl\\:dark\\:placeholder-opacity-90::placeholder{--tw-placeholder-opacity:0.9}.xl\\:dark\\:placeholder-opacity-95::placeholder{--tw-placeholder-opacity:0.95}.xl\\:dark\\:placeholder-opacity-100::placeholder{--tw-placeholder-opacity:1}.xl\\:dark\\:focus\\:placeholder-opacity-0:focus::placeholder{--tw-placeholder-opacity:0}.xl\\:dark\\:focus\\:placeholder-opacity-5:focus::placeholder{--tw-placeholder-opacity:0.05}.xl\\:dark\\:focus\\:placeholder-opacity-10:focus::placeholder{--tw-placeholder-opacity:0.1}.xl\\:dark\\:focus\\:placeholder-opacity-20:focus::placeholder{--tw-placeholder-opacity:0.2}.xl\\:dark\\:focus\\:placeholder-opacity-25:focus::placeholder{--tw-placeholder-opacity:0.25}.xl\\:dark\\:focus\\:placeholder-opacity-30:focus::placeholder{--tw-placeholder-opacity:0.3}.xl\\:dark\\:focus\\:placeholder-opacity-40:focus::placeholder{--tw-placeholder-opacity:0.4}.xl\\:dark\\:focus\\:placeholder-opacity-50:focus::placeholder{--tw-placeholder-opacity:0.5}.xl\\:dark\\:focus\\:placeholder-opacity-60:focus::placeholder{--tw-placeholder-opacity:0.6}.xl\\:dark\\:focus\\:placeholder-opacity-70:focus::placeholder{--tw-placeholder-opacity:0.7}.xl\\:dark\\:focus\\:placeholder-opacity-75:focus::placeholder{--tw-placeholder-opacity:0.75}.xl\\:dark\\:focus\\:placeholder-opacity-80:focus::placeholder{--tw-placeholder-opacity:0.8}.xl\\:dark\\:focus\\:placeholder-opacity-90:focus::placeholder{--tw-placeholder-opacity:0.9}.xl\\:dark\\:focus\\:placeholder-opacity-95:focus::placeholder{--tw-placeholder-opacity:0.95}.xl\\:dark\\:focus\\:placeholder-opacity-100:focus::placeholder{--tw-placeholder-opacity:1}}.xl\\:opacity-0{opacity:0}.xl\\:opacity-5{opacity:0.05}.xl\\:opacity-10{opacity:0.1}.xl\\:opacity-20{opacity:0.2}.xl\\:opacity-25{opacity:0.25}.xl\\:opacity-30{opacity:0.3}.xl\\:opacity-40{opacity:0.4}.xl\\:opacity-50{opacity:0.5}.xl\\:opacity-60{opacity:0.6}.xl\\:opacity-70{opacity:0.7}.xl\\:opacity-75{opacity:0.75}.xl\\:opacity-80{opacity:0.8}.xl\\:opacity-90{opacity:0.9}.xl\\:opacity-95{opacity:0.95}.xl\\:opacity-100{opacity:1}.group:hover .xl\\:group-hover\\:opacity-0{opacity:0}.group:hover .xl\\:group-hover\\:opacity-5{opacity:0.05}.group:hover .xl\\:group-hover\\:opacity-10{opacity:0.1}.group:hover .xl\\:group-hover\\:opacity-20{opacity:0.2}.group:hover .xl\\:group-hover\\:opacity-25{opacity:0.25}.group:hover .xl\\:group-hover\\:opacity-30{opacity:0.3}.group:hover .xl\\:group-hover\\:opacity-40{opacity:0.4}.group:hover .xl\\:group-hover\\:opacity-50{opacity:0.5}.group:hover .xl\\:group-hover\\:opacity-60{opacity:0.6}.group:hover .xl\\:group-hover\\:opacity-70{opacity:0.7}.group:hover .xl\\:group-hover\\:opacity-75{opacity:0.75}.group:hover .xl\\:group-hover\\:opacity-80{opacity:0.8}.group:hover .xl\\:group-hover\\:opacity-90{opacity:0.9}.group:hover .xl\\:group-hover\\:opacity-95{opacity:0.95}.group:hover .xl\\:group-hover\\:opacity-100{opacity:1}.xl\\:focus-within\\:opacity-0:focus-within{opacity:0}.xl\\:focus-within\\:opacity-5:focus-within{opacity:0.05}.xl\\:focus-within\\:opacity-10:focus-within{opacity:0.1}.xl\\:focus-within\\:opacity-20:focus-within{opacity:0.2}.xl\\:focus-within\\:opacity-25:focus-within{opacity:0.25}.xl\\:focus-within\\:opacity-30:focus-within{opacity:0.3}.xl\\:focus-within\\:opacity-40:focus-within{opacity:0.4}.xl\\:focus-within\\:opacity-50:focus-within{opacity:0.5}.xl\\:focus-within\\:opacity-60:focus-within{opacity:0.6}.xl\\:focus-within\\:opacity-70:focus-within{opacity:0.7}.xl\\:focus-within\\:opacity-75:focus-within{opacity:0.75}.xl\\:focus-within\\:opacity-80:focus-within{opacity:0.8}.xl\\:focus-within\\:opacity-90:focus-within{opacity:0.9}.xl\\:focus-within\\:opacity-95:focus-within{opacity:0.95}.xl\\:focus-within\\:opacity-100:focus-within{opacity:1}.xl\\:hover\\:opacity-0:hover{opacity:0}.xl\\:hover\\:opacity-5:hover{opacity:0.05}.xl\\:hover\\:opacity-10:hover{opacity:0.1}.xl\\:hover\\:opacity-20:hover{opacity:0.2}.xl\\:hover\\:opacity-25:hover{opacity:0.25}.xl\\:hover\\:opacity-30:hover{opacity:0.3}.xl\\:hover\\:opacity-40:hover{opacity:0.4}.xl\\:hover\\:opacity-50:hover{opacity:0.5}.xl\\:hover\\:opacity-60:hover{opacity:0.6}.xl\\:hover\\:opacity-70:hover{opacity:0.7}.xl\\:hover\\:opacity-75:hover{opacity:0.75}.xl\\:hover\\:opacity-80:hover{opacity:0.8}.xl\\:hover\\:opacity-90:hover{opacity:0.9}.xl\\:hover\\:opacity-95:hover{opacity:0.95}.xl\\:hover\\:opacity-100:hover{opacity:1}.xl\\:focus\\:opacity-0:focus{opacity:0}.xl\\:focus\\:opacity-5:focus{opacity:0.05}.xl\\:focus\\:opacity-10:focus{opacity:0.1}.xl\\:focus\\:opacity-20:focus{opacity:0.2}.xl\\:focus\\:opacity-25:focus{opacity:0.25}.xl\\:focus\\:opacity-30:focus{opacity:0.3}.xl\\:focus\\:opacity-40:focus{opacity:0.4}.xl\\:focus\\:opacity-50:focus{opacity:0.5}.xl\\:focus\\:opacity-60:focus{opacity:0.6}.xl\\:focus\\:opacity-70:focus{opacity:0.7}.xl\\:focus\\:opacity-75:focus{opacity:0.75}.xl\\:focus\\:opacity-80:focus{opacity:0.8}.xl\\:focus\\:opacity-90:focus{opacity:0.9}.xl\\:focus\\:opacity-95:focus{opacity:0.95}.xl\\:focus\\:opacity-100:focus{opacity:1}.xl\\:bg-blend-normal{background-blend-mode:normal}.xl\\:bg-blend-multiply{background-blend-mode:multiply}.xl\\:bg-blend-screen{background-blend-mode:screen}.xl\\:bg-blend-overlay{background-blend-mode:overlay}.xl\\:bg-blend-darken{background-blend-mode:darken}.xl\\:bg-blend-lighten{background-blend-mode:lighten}.xl\\:bg-blend-color-dodge{background-blend-mode:color-dodge}.xl\\:bg-blend-color-burn{background-blend-mode:color-burn}.xl\\:bg-blend-hard-light{background-blend-mode:hard-light}.xl\\:bg-blend-soft-light{background-blend-mode:soft-light}.xl\\:bg-blend-difference{background-blend-mode:difference}.xl\\:bg-blend-exclusion{background-blend-mode:exclusion}.xl\\:bg-blend-hue{background-blend-mode:hue}.xl\\:bg-blend-saturation{background-blend-mode:saturation}.xl\\:bg-blend-color{background-blend-mode:color}.xl\\:bg-blend-luminosity{background-blend-mode:luminosity}.xl\\:mix-blend-normal{mix-blend-mode:normal}.xl\\:mix-blend-multiply{mix-blend-mode:multiply}.xl\\:mix-blend-screen{mix-blend-mode:screen}.xl\\:mix-blend-overlay{mix-blend-mode:overlay}.xl\\:mix-blend-darken{mix-blend-mode:darken}.xl\\:mix-blend-lighten{mix-blend-mode:lighten}.xl\\:mix-blend-color-dodge{mix-blend-mode:color-dodge}.xl\\:mix-blend-color-burn{mix-blend-mode:color-burn}.xl\\:mix-blend-hard-light{mix-blend-mode:hard-light}.xl\\:mix-blend-soft-light{mix-blend-mode:soft-light}.xl\\:mix-blend-difference{mix-blend-mode:difference}.xl\\:mix-blend-exclusion{mix-blend-mode:exclusion}.xl\\:mix-blend-hue{mix-blend-mode:hue}.xl\\:mix-blend-saturation{mix-blend-mode:saturation}.xl\\:mix-blend-color{mix-blend-mode:color}.xl\\:mix-blend-luminosity{mix-blend-mode:luminosity}.xl\\:shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:shadow{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:shadow-md{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .xl\\:group-hover\\:shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .xl\\:group-hover\\:shadow{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .xl\\:group-hover\\:shadow-md{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .xl\\:group-hover\\:shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .xl\\:group-hover\\:shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .xl\\:group-hover\\:shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .xl\\:group-hover\\:shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .xl\\:group-hover\\:shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:focus-within\\:shadow-sm:focus-within{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:focus-within\\:shadow:focus-within{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:focus-within\\:shadow-md:focus-within{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:focus-within\\:shadow-lg:focus-within{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:focus-within\\:shadow-xl:focus-within{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:focus-within\\:shadow-2xl:focus-within{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:focus-within\\:shadow-inner:focus-within{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:focus-within\\:shadow-none:focus-within{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:hover\\:shadow-sm:hover{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:hover\\:shadow:hover{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:hover\\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:hover\\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:hover\\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:hover\\:shadow-2xl:hover{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:hover\\:shadow-inner:hover{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:hover\\:shadow-none:hover{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:focus\\:shadow-sm:focus{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:focus\\:shadow:focus{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:focus\\:shadow-md:focus{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:focus\\:shadow-lg:focus{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:focus\\:shadow-xl:focus{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:focus\\:shadow-2xl:focus{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:focus\\:shadow-inner:focus{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:focus\\:shadow-none:focus{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.xl\\:outline-none{outline:2px solid transparent;outline-offset:2px}.xl\\:outline-white{outline:2px dotted white;outline-offset:2px}.xl\\:outline-black{outline:2px dotted black;outline-offset:2px}.xl\\:focus-within\\:outline-none:focus-within{outline:2px solid transparent;outline-offset:2px}.xl\\:focus-within\\:outline-white:focus-within{outline:2px dotted white;outline-offset:2px}.xl\\:focus-within\\:outline-black:focus-within{outline:2px dotted black;outline-offset:2px}.xl\\:focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.xl\\:focus\\:outline-white:focus{outline:2px dotted white;outline-offset:2px}.xl\\:focus\\:outline-black:focus{outline:2px dotted black;outline-offset:2px}.xl\\:ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.xl\\:ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.xl\\:ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.xl\\:ring-4{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.xl\\:ring-8{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.xl\\:ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.xl\\:focus-within\\:ring-0:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.xl\\:focus-within\\:ring-1:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.xl\\:focus-within\\:ring-2:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.xl\\:focus-within\\:ring-4:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.xl\\:focus-within\\:ring-8:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.xl\\:focus-within\\:ring:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.xl\\:focus\\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.xl\\:focus\\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.xl\\:focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.xl\\:focus\\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.xl\\:focus\\:ring-8:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.xl\\:focus\\:ring:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.xl\\:ring-inset{--tw-ring-inset:inset}.xl\\:focus-within\\:ring-inset:focus-within{--tw-ring-inset:inset}.xl\\:focus\\:ring-inset:focus{--tw-ring-inset:inset}.xl\\:ring-transparent{--tw-ring-color:transparent}.xl\\:ring-current{--tw-ring-color:currentColor}.xl\\:ring-white{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.xl\\:ring-lightgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.xl\\:ring-midgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.xl\\:ring-darkgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.xl\\:ring-grey{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.xl\\:ring-black{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.xl\\:ring-highlight{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.xl\\:ring-highlight_hover{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.xl\\:ring-button_outline{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.xl\\:ring-error{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.xl\\:ring-text-light{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.xl\\:ring-text-dimmed{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.xl\\:ring-text-dark{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.xl\\:ring-body-light{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.xl\\:ring-body-dark{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.xl\\:ring-button{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.xl\\:ring-button_hover{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.xl\\:focus-within\\:ring-transparent:focus-within{--tw-ring-color:transparent}.xl\\:focus-within\\:ring-current:focus-within{--tw-ring-color:currentColor}.xl\\:focus-within\\:ring-white:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.xl\\:focus-within\\:ring-lightgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.xl\\:focus-within\\:ring-midgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.xl\\:focus-within\\:ring-darkgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.xl\\:focus-within\\:ring-grey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.xl\\:focus-within\\:ring-black:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.xl\\:focus-within\\:ring-highlight:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.xl\\:focus-within\\:ring-highlight_hover:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.xl\\:focus-within\\:ring-button_outline:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.xl\\:focus-within\\:ring-error:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.xl\\:focus-within\\:ring-text-light:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.xl\\:focus-within\\:ring-text-dimmed:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.xl\\:focus-within\\:ring-text-dark:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.xl\\:focus-within\\:ring-body-light:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.xl\\:focus-within\\:ring-body-dark:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.xl\\:focus-within\\:ring-button:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.xl\\:focus-within\\:ring-button_hover:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.xl\\:focus\\:ring-transparent:focus{--tw-ring-color:transparent}.xl\\:focus\\:ring-current:focus{--tw-ring-color:currentColor}.xl\\:focus\\:ring-white:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.xl\\:focus\\:ring-lightgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.xl\\:focus\\:ring-midgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.xl\\:focus\\:ring-darkgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.xl\\:focus\\:ring-grey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.xl\\:focus\\:ring-black:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.xl\\:focus\\:ring-highlight:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.xl\\:focus\\:ring-highlight_hover:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.xl\\:focus\\:ring-button_outline:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.xl\\:focus\\:ring-error:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.xl\\:focus\\:ring-text-light:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.xl\\:focus\\:ring-text-dimmed:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.xl\\:focus\\:ring-text-dark:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.xl\\:focus\\:ring-body-light:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.xl\\:focus\\:ring-body-dark:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.xl\\:focus\\:ring-button:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.xl\\:focus\\:ring-button_hover:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}@media(prefers-color-scheme: dark){.xl\\:dark\\:ring-transparent{--tw-ring-color:transparent}.xl\\:dark\\:ring-current{--tw-ring-color:currentColor}.xl\\:dark\\:ring-white{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.xl\\:dark\\:ring-lightgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.xl\\:dark\\:ring-midgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.xl\\:dark\\:ring-darkgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.xl\\:dark\\:ring-grey{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.xl\\:dark\\:ring-black{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.xl\\:dark\\:ring-highlight{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.xl\\:dark\\:ring-highlight_hover{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.xl\\:dark\\:ring-button_outline{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.xl\\:dark\\:ring-error{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.xl\\:dark\\:ring-text-light{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.xl\\:dark\\:ring-text-dimmed{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.xl\\:dark\\:ring-text-dark{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.xl\\:dark\\:ring-body-light{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.xl\\:dark\\:ring-body-dark{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.xl\\:dark\\:ring-button{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.xl\\:dark\\:ring-button_hover{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.xl\\:dark\\:focus-within\\:ring-transparent:focus-within{--tw-ring-color:transparent}.xl\\:dark\\:focus-within\\:ring-current:focus-within{--tw-ring-color:currentColor}.xl\\:dark\\:focus-within\\:ring-white:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.xl\\:dark\\:focus-within\\:ring-lightgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.xl\\:dark\\:focus-within\\:ring-midgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.xl\\:dark\\:focus-within\\:ring-darkgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.xl\\:dark\\:focus-within\\:ring-grey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.xl\\:dark\\:focus-within\\:ring-black:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.xl\\:dark\\:focus-within\\:ring-highlight:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.xl\\:dark\\:focus-within\\:ring-highlight_hover:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.xl\\:dark\\:focus-within\\:ring-button_outline:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.xl\\:dark\\:focus-within\\:ring-error:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.xl\\:dark\\:focus-within\\:ring-text-light:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.xl\\:dark\\:focus-within\\:ring-text-dimmed:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.xl\\:dark\\:focus-within\\:ring-text-dark:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.xl\\:dark\\:focus-within\\:ring-body-light:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.xl\\:dark\\:focus-within\\:ring-body-dark:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.xl\\:dark\\:focus-within\\:ring-button:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.xl\\:dark\\:focus-within\\:ring-button_hover:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.xl\\:dark\\:focus\\:ring-transparent:focus{--tw-ring-color:transparent}.xl\\:dark\\:focus\\:ring-current:focus{--tw-ring-color:currentColor}.xl\\:dark\\:focus\\:ring-white:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.xl\\:dark\\:focus\\:ring-lightgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.xl\\:dark\\:focus\\:ring-midgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.xl\\:dark\\:focus\\:ring-darkgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.xl\\:dark\\:focus\\:ring-grey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.xl\\:dark\\:focus\\:ring-black:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.xl\\:dark\\:focus\\:ring-highlight:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.xl\\:dark\\:focus\\:ring-highlight_hover:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.xl\\:dark\\:focus\\:ring-button_outline:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.xl\\:dark\\:focus\\:ring-error:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.xl\\:dark\\:focus\\:ring-text-light:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.xl\\:dark\\:focus\\:ring-text-dimmed:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.xl\\:dark\\:focus\\:ring-text-dark:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.xl\\:dark\\:focus\\:ring-body-light:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.xl\\:dark\\:focus\\:ring-body-dark:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.xl\\:dark\\:focus\\:ring-button:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.xl\\:dark\\:focus\\:ring-button_hover:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}}.xl\\:ring-opacity-0{--tw-ring-opacity:0}.xl\\:ring-opacity-5{--tw-ring-opacity:0.05}.xl\\:ring-opacity-10{--tw-ring-opacity:0.1}.xl\\:ring-opacity-20{--tw-ring-opacity:0.2}.xl\\:ring-opacity-25{--tw-ring-opacity:0.25}.xl\\:ring-opacity-30{--tw-ring-opacity:0.3}.xl\\:ring-opacity-40{--tw-ring-opacity:0.4}.xl\\:ring-opacity-50{--tw-ring-opacity:0.5}.xl\\:ring-opacity-60{--tw-ring-opacity:0.6}.xl\\:ring-opacity-70{--tw-ring-opacity:0.7}.xl\\:ring-opacity-75{--tw-ring-opacity:0.75}.xl\\:ring-opacity-80{--tw-ring-opacity:0.8}.xl\\:ring-opacity-90{--tw-ring-opacity:0.9}.xl\\:ring-opacity-95{--tw-ring-opacity:0.95}.xl\\:ring-opacity-100{--tw-ring-opacity:1}.xl\\:focus-within\\:ring-opacity-0:focus-within{--tw-ring-opacity:0}.xl\\:focus-within\\:ring-opacity-5:focus-within{--tw-ring-opacity:0.05}.xl\\:focus-within\\:ring-opacity-10:focus-within{--tw-ring-opacity:0.1}.xl\\:focus-within\\:ring-opacity-20:focus-within{--tw-ring-opacity:0.2}.xl\\:focus-within\\:ring-opacity-25:focus-within{--tw-ring-opacity:0.25}.xl\\:focus-within\\:ring-opacity-30:focus-within{--tw-ring-opacity:0.3}.xl\\:focus-within\\:ring-opacity-40:focus-within{--tw-ring-opacity:0.4}.xl\\:focus-within\\:ring-opacity-50:focus-within{--tw-ring-opacity:0.5}.xl\\:focus-within\\:ring-opacity-60:focus-within{--tw-ring-opacity:0.6}.xl\\:focus-within\\:ring-opacity-70:focus-within{--tw-ring-opacity:0.7}.xl\\:focus-within\\:ring-opacity-75:focus-within{--tw-ring-opacity:0.75}.xl\\:focus-within\\:ring-opacity-80:focus-within{--tw-ring-opacity:0.8}.xl\\:focus-within\\:ring-opacity-90:focus-within{--tw-ring-opacity:0.9}.xl\\:focus-within\\:ring-opacity-95:focus-within{--tw-ring-opacity:0.95}.xl\\:focus-within\\:ring-opacity-100:focus-within{--tw-ring-opacity:1}.xl\\:focus\\:ring-opacity-0:focus{--tw-ring-opacity:0}.xl\\:focus\\:ring-opacity-5:focus{--tw-ring-opacity:0.05}.xl\\:focus\\:ring-opacity-10:focus{--tw-ring-opacity:0.1}.xl\\:focus\\:ring-opacity-20:focus{--tw-ring-opacity:0.2}.xl\\:focus\\:ring-opacity-25:focus{--tw-ring-opacity:0.25}.xl\\:focus\\:ring-opacity-30:focus{--tw-ring-opacity:0.3}.xl\\:focus\\:ring-opacity-40:focus{--tw-ring-opacity:0.4}.xl\\:focus\\:ring-opacity-50:focus{--tw-ring-opacity:0.5}.xl\\:focus\\:ring-opacity-60:focus{--tw-ring-opacity:0.6}.xl\\:focus\\:ring-opacity-70:focus{--tw-ring-opacity:0.7}.xl\\:focus\\:ring-opacity-75:focus{--tw-ring-opacity:0.75}.xl\\:focus\\:ring-opacity-80:focus{--tw-ring-opacity:0.8}.xl\\:focus\\:ring-opacity-90:focus{--tw-ring-opacity:0.9}.xl\\:focus\\:ring-opacity-95:focus{--tw-ring-opacity:0.95}.xl\\:focus\\:ring-opacity-100:focus{--tw-ring-opacity:1}@media(prefers-color-scheme: dark){.xl\\:dark\\:ring-opacity-0{--tw-ring-opacity:0}.xl\\:dark\\:ring-opacity-5{--tw-ring-opacity:0.05}.xl\\:dark\\:ring-opacity-10{--tw-ring-opacity:0.1}.xl\\:dark\\:ring-opacity-20{--tw-ring-opacity:0.2}.xl\\:dark\\:ring-opacity-25{--tw-ring-opacity:0.25}.xl\\:dark\\:ring-opacity-30{--tw-ring-opacity:0.3}.xl\\:dark\\:ring-opacity-40{--tw-ring-opacity:0.4}.xl\\:dark\\:ring-opacity-50{--tw-ring-opacity:0.5}.xl\\:dark\\:ring-opacity-60{--tw-ring-opacity:0.6}.xl\\:dark\\:ring-opacity-70{--tw-ring-opacity:0.7}.xl\\:dark\\:ring-opacity-75{--tw-ring-opacity:0.75}.xl\\:dark\\:ring-opacity-80{--tw-ring-opacity:0.8}.xl\\:dark\\:ring-opacity-90{--tw-ring-opacity:0.9}.xl\\:dark\\:ring-opacity-95{--tw-ring-opacity:0.95}.xl\\:dark\\:ring-opacity-100{--tw-ring-opacity:1}.xl\\:dark\\:focus-within\\:ring-opacity-0:focus-within{--tw-ring-opacity:0}.xl\\:dark\\:focus-within\\:ring-opacity-5:focus-within{--tw-ring-opacity:0.05}.xl\\:dark\\:focus-within\\:ring-opacity-10:focus-within{--tw-ring-opacity:0.1}.xl\\:dark\\:focus-within\\:ring-opacity-20:focus-within{--tw-ring-opacity:0.2}.xl\\:dark\\:focus-within\\:ring-opacity-25:focus-within{--tw-ring-opacity:0.25}.xl\\:dark\\:focus-within\\:ring-opacity-30:focus-within{--tw-ring-opacity:0.3}.xl\\:dark\\:focus-within\\:ring-opacity-40:focus-within{--tw-ring-opacity:0.4}.xl\\:dark\\:focus-within\\:ring-opacity-50:focus-within{--tw-ring-opacity:0.5}.xl\\:dark\\:focus-within\\:ring-opacity-60:focus-within{--tw-ring-opacity:0.6}.xl\\:dark\\:focus-within\\:ring-opacity-70:focus-within{--tw-ring-opacity:0.7}.xl\\:dark\\:focus-within\\:ring-opacity-75:focus-within{--tw-ring-opacity:0.75}.xl\\:dark\\:focus-within\\:ring-opacity-80:focus-within{--tw-ring-opacity:0.8}.xl\\:dark\\:focus-within\\:ring-opacity-90:focus-within{--tw-ring-opacity:0.9}.xl\\:dark\\:focus-within\\:ring-opacity-95:focus-within{--tw-ring-opacity:0.95}.xl\\:dark\\:focus-within\\:ring-opacity-100:focus-within{--tw-ring-opacity:1}.xl\\:dark\\:focus\\:ring-opacity-0:focus{--tw-ring-opacity:0}.xl\\:dark\\:focus\\:ring-opacity-5:focus{--tw-ring-opacity:0.05}.xl\\:dark\\:focus\\:ring-opacity-10:focus{--tw-ring-opacity:0.1}.xl\\:dark\\:focus\\:ring-opacity-20:focus{--tw-ring-opacity:0.2}.xl\\:dark\\:focus\\:ring-opacity-25:focus{--tw-ring-opacity:0.25}.xl\\:dark\\:focus\\:ring-opacity-30:focus{--tw-ring-opacity:0.3}.xl\\:dark\\:focus\\:ring-opacity-40:focus{--tw-ring-opacity:0.4}.xl\\:dark\\:focus\\:ring-opacity-50:focus{--tw-ring-opacity:0.5}.xl\\:dark\\:focus\\:ring-opacity-60:focus{--tw-ring-opacity:0.6}.xl\\:dark\\:focus\\:ring-opacity-70:focus{--tw-ring-opacity:0.7}.xl\\:dark\\:focus\\:ring-opacity-75:focus{--tw-ring-opacity:0.75}.xl\\:dark\\:focus\\:ring-opacity-80:focus{--tw-ring-opacity:0.8}.xl\\:dark\\:focus\\:ring-opacity-90:focus{--tw-ring-opacity:0.9}.xl\\:dark\\:focus\\:ring-opacity-95:focus{--tw-ring-opacity:0.95}.xl\\:dark\\:focus\\:ring-opacity-100:focus{--tw-ring-opacity:1}}.xl\\:ring-offset-0{--tw-ring-offset-width:0px}.xl\\:ring-offset-1{--tw-ring-offset-width:1px}.xl\\:ring-offset-2{--tw-ring-offset-width:2px}.xl\\:ring-offset-4{--tw-ring-offset-width:4px}.xl\\:ring-offset-8{--tw-ring-offset-width:8px}.xl\\:focus-within\\:ring-offset-0:focus-within{--tw-ring-offset-width:0px}.xl\\:focus-within\\:ring-offset-1:focus-within{--tw-ring-offset-width:1px}.xl\\:focus-within\\:ring-offset-2:focus-within{--tw-ring-offset-width:2px}.xl\\:focus-within\\:ring-offset-4:focus-within{--tw-ring-offset-width:4px}.xl\\:focus-within\\:ring-offset-8:focus-within{--tw-ring-offset-width:8px}.xl\\:focus\\:ring-offset-0:focus{--tw-ring-offset-width:0px}.xl\\:focus\\:ring-offset-1:focus{--tw-ring-offset-width:1px}.xl\\:focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}.xl\\:focus\\:ring-offset-4:focus{--tw-ring-offset-width:4px}.xl\\:focus\\:ring-offset-8:focus{--tw-ring-offset-width:8px}.xl\\:ring-offset-transparent{--tw-ring-offset-color:transparent}.xl\\:ring-offset-current{--tw-ring-offset-color:currentColor}.xl\\:ring-offset-white{--tw-ring-offset-color:#fff}.xl\\:ring-offset-lightgrey{--tw-ring-offset-color:#F7F7F7}.xl\\:ring-offset-midgrey{--tw-ring-offset-color:#cfcfcf}.xl\\:ring-offset-darkgrey{--tw-ring-offset-color:#7f7f7f}.xl\\:ring-offset-grey{--tw-ring-offset-color:#1e1e1e}.xl\\:ring-offset-black{--tw-ring-offset-color:#0f0f0f}.xl\\:ring-offset-highlight{--tw-ring-offset-color:#0071e3}.xl\\:ring-offset-highlight_hover{--tw-ring-offset-color:#0077ed}.xl\\:ring-offset-button_outline{--tw-ring-offset-color:#cfcfcf}.xl\\:ring-offset-error{--tw-ring-offset-color:#ff453a}.xl\\:ring-offset-text-light{--tw-ring-offset-color:#0f0f0f}.xl\\:ring-offset-text-dimmed{--tw-ring-offset-color:#cfcfcf}.xl\\:ring-offset-text-dark{--tw-ring-offset-color:#fff}.xl\\:ring-offset-body-light{--tw-ring-offset-color:#fff}.xl\\:ring-offset-body-dark{--tw-ring-offset-color:#1e1e1e}.xl\\:ring-offset-button{--tw-ring-offset-color:#0071e3}.xl\\:ring-offset-button_hover{--tw-ring-offset-color:#0077ed}.xl\\:focus-within\\:ring-offset-transparent:focus-within{--tw-ring-offset-color:transparent}.xl\\:focus-within\\:ring-offset-current:focus-within{--tw-ring-offset-color:currentColor}.xl\\:focus-within\\:ring-offset-white:focus-within{--tw-ring-offset-color:#fff}.xl\\:focus-within\\:ring-offset-lightgrey:focus-within{--tw-ring-offset-color:#F7F7F7}.xl\\:focus-within\\:ring-offset-midgrey:focus-within{--tw-ring-offset-color:#cfcfcf}.xl\\:focus-within\\:ring-offset-darkgrey:focus-within{--tw-ring-offset-color:#7f7f7f}.xl\\:focus-within\\:ring-offset-grey:focus-within{--tw-ring-offset-color:#1e1e1e}.xl\\:focus-within\\:ring-offset-black:focus-within{--tw-ring-offset-color:#0f0f0f}.xl\\:focus-within\\:ring-offset-highlight:focus-within{--tw-ring-offset-color:#0071e3}.xl\\:focus-within\\:ring-offset-highlight_hover:focus-within{--tw-ring-offset-color:#0077ed}.xl\\:focus-within\\:ring-offset-button_outline:focus-within{--tw-ring-offset-color:#cfcfcf}.xl\\:focus-within\\:ring-offset-error:focus-within{--tw-ring-offset-color:#ff453a}.xl\\:focus-within\\:ring-offset-text-light:focus-within{--tw-ring-offset-color:#0f0f0f}.xl\\:focus-within\\:ring-offset-text-dimmed:focus-within{--tw-ring-offset-color:#cfcfcf}.xl\\:focus-within\\:ring-offset-text-dark:focus-within{--tw-ring-offset-color:#fff}.xl\\:focus-within\\:ring-offset-body-light:focus-within{--tw-ring-offset-color:#fff}.xl\\:focus-within\\:ring-offset-body-dark:focus-within{--tw-ring-offset-color:#1e1e1e}.xl\\:focus-within\\:ring-offset-button:focus-within{--tw-ring-offset-color:#0071e3}.xl\\:focus-within\\:ring-offset-button_hover:focus-within{--tw-ring-offset-color:#0077ed}.xl\\:focus\\:ring-offset-transparent:focus{--tw-ring-offset-color:transparent}.xl\\:focus\\:ring-offset-current:focus{--tw-ring-offset-color:currentColor}.xl\\:focus\\:ring-offset-white:focus{--tw-ring-offset-color:#fff}.xl\\:focus\\:ring-offset-lightgrey:focus{--tw-ring-offset-color:#F7F7F7}.xl\\:focus\\:ring-offset-midgrey:focus{--tw-ring-offset-color:#cfcfcf}.xl\\:focus\\:ring-offset-darkgrey:focus{--tw-ring-offset-color:#7f7f7f}.xl\\:focus\\:ring-offset-grey:focus{--tw-ring-offset-color:#1e1e1e}.xl\\:focus\\:ring-offset-black:focus{--tw-ring-offset-color:#0f0f0f}.xl\\:focus\\:ring-offset-highlight:focus{--tw-ring-offset-color:#0071e3}.xl\\:focus\\:ring-offset-highlight_hover:focus{--tw-ring-offset-color:#0077ed}.xl\\:focus\\:ring-offset-button_outline:focus{--tw-ring-offset-color:#cfcfcf}.xl\\:focus\\:ring-offset-error:focus{--tw-ring-offset-color:#ff453a}.xl\\:focus\\:ring-offset-text-light:focus{--tw-ring-offset-color:#0f0f0f}.xl\\:focus\\:ring-offset-text-dimmed:focus{--tw-ring-offset-color:#cfcfcf}.xl\\:focus\\:ring-offset-text-dark:focus{--tw-ring-offset-color:#fff}.xl\\:focus\\:ring-offset-body-light:focus{--tw-ring-offset-color:#fff}.xl\\:focus\\:ring-offset-body-dark:focus{--tw-ring-offset-color:#1e1e1e}.xl\\:focus\\:ring-offset-button:focus{--tw-ring-offset-color:#0071e3}.xl\\:focus\\:ring-offset-button_hover:focus{--tw-ring-offset-color:#0077ed}@media(prefers-color-scheme: dark){.xl\\:dark\\:ring-offset-transparent{--tw-ring-offset-color:transparent}.xl\\:dark\\:ring-offset-current{--tw-ring-offset-color:currentColor}.xl\\:dark\\:ring-offset-white{--tw-ring-offset-color:#fff}.xl\\:dark\\:ring-offset-lightgrey{--tw-ring-offset-color:#F7F7F7}.xl\\:dark\\:ring-offset-midgrey{--tw-ring-offset-color:#cfcfcf}.xl\\:dark\\:ring-offset-darkgrey{--tw-ring-offset-color:#7f7f7f}.xl\\:dark\\:ring-offset-grey{--tw-ring-offset-color:#1e1e1e}.xl\\:dark\\:ring-offset-black{--tw-ring-offset-color:#0f0f0f}.xl\\:dark\\:ring-offset-highlight{--tw-ring-offset-color:#0071e3}.xl\\:dark\\:ring-offset-highlight_hover{--tw-ring-offset-color:#0077ed}.xl\\:dark\\:ring-offset-button_outline{--tw-ring-offset-color:#cfcfcf}.xl\\:dark\\:ring-offset-error{--tw-ring-offset-color:#ff453a}.xl\\:dark\\:ring-offset-text-light{--tw-ring-offset-color:#0f0f0f}.xl\\:dark\\:ring-offset-text-dimmed{--tw-ring-offset-color:#cfcfcf}.xl\\:dark\\:ring-offset-text-dark{--tw-ring-offset-color:#fff}.xl\\:dark\\:ring-offset-body-light{--tw-ring-offset-color:#fff}.xl\\:dark\\:ring-offset-body-dark{--tw-ring-offset-color:#1e1e1e}.xl\\:dark\\:ring-offset-button{--tw-ring-offset-color:#0071e3}.xl\\:dark\\:ring-offset-button_hover{--tw-ring-offset-color:#0077ed}.xl\\:dark\\:focus-within\\:ring-offset-transparent:focus-within{--tw-ring-offset-color:transparent}.xl\\:dark\\:focus-within\\:ring-offset-current:focus-within{--tw-ring-offset-color:currentColor}.xl\\:dark\\:focus-within\\:ring-offset-white:focus-within{--tw-ring-offset-color:#fff}.xl\\:dark\\:focus-within\\:ring-offset-lightgrey:focus-within{--tw-ring-offset-color:#F7F7F7}.xl\\:dark\\:focus-within\\:ring-offset-midgrey:focus-within{--tw-ring-offset-color:#cfcfcf}.xl\\:dark\\:focus-within\\:ring-offset-darkgrey:focus-within{--tw-ring-offset-color:#7f7f7f}.xl\\:dark\\:focus-within\\:ring-offset-grey:focus-within{--tw-ring-offset-color:#1e1e1e}.xl\\:dark\\:focus-within\\:ring-offset-black:focus-within{--tw-ring-offset-color:#0f0f0f}.xl\\:dark\\:focus-within\\:ring-offset-highlight:focus-within{--tw-ring-offset-color:#0071e3}.xl\\:dark\\:focus-within\\:ring-offset-highlight_hover:focus-within{--tw-ring-offset-color:#0077ed}.xl\\:dark\\:focus-within\\:ring-offset-button_outline:focus-within{--tw-ring-offset-color:#cfcfcf}.xl\\:dark\\:focus-within\\:ring-offset-error:focus-within{--tw-ring-offset-color:#ff453a}.xl\\:dark\\:focus-within\\:ring-offset-text-light:focus-within{--tw-ring-offset-color:#0f0f0f}.xl\\:dark\\:focus-within\\:ring-offset-text-dimmed:focus-within{--tw-ring-offset-color:#cfcfcf}.xl\\:dark\\:focus-within\\:ring-offset-text-dark:focus-within{--tw-ring-offset-color:#fff}.xl\\:dark\\:focus-within\\:ring-offset-body-light:focus-within{--tw-ring-offset-color:#fff}.xl\\:dark\\:focus-within\\:ring-offset-body-dark:focus-within{--tw-ring-offset-color:#1e1e1e}.xl\\:dark\\:focus-within\\:ring-offset-button:focus-within{--tw-ring-offset-color:#0071e3}.xl\\:dark\\:focus-within\\:ring-offset-button_hover:focus-within{--tw-ring-offset-color:#0077ed}.xl\\:dark\\:focus\\:ring-offset-transparent:focus{--tw-ring-offset-color:transparent}.xl\\:dark\\:focus\\:ring-offset-current:focus{--tw-ring-offset-color:currentColor}.xl\\:dark\\:focus\\:ring-offset-white:focus{--tw-ring-offset-color:#fff}.xl\\:dark\\:focus\\:ring-offset-lightgrey:focus{--tw-ring-offset-color:#F7F7F7}.xl\\:dark\\:focus\\:ring-offset-midgrey:focus{--tw-ring-offset-color:#cfcfcf}.xl\\:dark\\:focus\\:ring-offset-darkgrey:focus{--tw-ring-offset-color:#7f7f7f}.xl\\:dark\\:focus\\:ring-offset-grey:focus{--tw-ring-offset-color:#1e1e1e}.xl\\:dark\\:focus\\:ring-offset-black:focus{--tw-ring-offset-color:#0f0f0f}.xl\\:dark\\:focus\\:ring-offset-highlight:focus{--tw-ring-offset-color:#0071e3}.xl\\:dark\\:focus\\:ring-offset-highlight_hover:focus{--tw-ring-offset-color:#0077ed}.xl\\:dark\\:focus\\:ring-offset-button_outline:focus{--tw-ring-offset-color:#cfcfcf}.xl\\:dark\\:focus\\:ring-offset-error:focus{--tw-ring-offset-color:#ff453a}.xl\\:dark\\:focus\\:ring-offset-text-light:focus{--tw-ring-offset-color:#0f0f0f}.xl\\:dark\\:focus\\:ring-offset-text-dimmed:focus{--tw-ring-offset-color:#cfcfcf}.xl\\:dark\\:focus\\:ring-offset-text-dark:focus{--tw-ring-offset-color:#fff}.xl\\:dark\\:focus\\:ring-offset-body-light:focus{--tw-ring-offset-color:#fff}.xl\\:dark\\:focus\\:ring-offset-body-dark:focus{--tw-ring-offset-color:#1e1e1e}.xl\\:dark\\:focus\\:ring-offset-button:focus{--tw-ring-offset-color:#0071e3}.xl\\:dark\\:focus\\:ring-offset-button_hover:focus{--tw-ring-offset-color:#0077ed}}.xl\\:filter{--tw-blur:var(--tw-empty,/*!*/ /*!*/);--tw-brightness:var(--tw-empty,/*!*/ /*!*/);--tw-contrast:var(--tw-empty,/*!*/ /*!*/);--tw-grayscale:var(--tw-empty,/*!*/ /*!*/);--tw-hue-rotate:var(--tw-empty,/*!*/ /*!*/);--tw-invert:var(--tw-empty,/*!*/ /*!*/);--tw-saturate:var(--tw-empty,/*!*/ /*!*/);--tw-sepia:var(--tw-empty,/*!*/ /*!*/);--tw-drop-shadow:var(--tw-empty,/*!*/ /*!*/);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.xl\\:filter-none{filter:none}.xl\\:blur-0{--tw-blur:blur(0)}.xl\\:blur-none{--tw-blur:blur(0)}.xl\\:blur-sm{--tw-blur:blur(4px)}.xl\\:blur{--tw-blur:blur(8px)}.xl\\:blur-md{--tw-blur:blur(12px)}.xl\\:blur-lg{--tw-blur:blur(16px)}.xl\\:blur-xl{--tw-blur:blur(24px)}.xl\\:blur-2xl{--tw-blur:blur(40px)}.xl\\:blur-3xl{--tw-blur:blur(64px)}.xl\\:brightness-0{--tw-brightness:brightness(0)}.xl\\:brightness-50{--tw-brightness:brightness(.5)}.xl\\:brightness-75{--tw-brightness:brightness(.75)}.xl\\:brightness-90{--tw-brightness:brightness(.9)}.xl\\:brightness-95{--tw-brightness:brightness(.95)}.xl\\:brightness-100{--tw-brightness:brightness(1)}.xl\\:brightness-105{--tw-brightness:brightness(1.05)}.xl\\:brightness-110{--tw-brightness:brightness(1.1)}.xl\\:brightness-125{--tw-brightness:brightness(1.25)}.xl\\:brightness-150{--tw-brightness:brightness(1.5)}.xl\\:brightness-200{--tw-brightness:brightness(2)}.xl\\:contrast-0{--tw-contrast:contrast(0)}.xl\\:contrast-50{--tw-contrast:contrast(.5)}.xl\\:contrast-75{--tw-contrast:contrast(.75)}.xl\\:contrast-100{--tw-contrast:contrast(1)}.xl\\:contrast-125{--tw-contrast:contrast(1.25)}.xl\\:contrast-150{--tw-contrast:contrast(1.5)}.xl\\:contrast-200{--tw-contrast:contrast(2)}.xl\\:drop-shadow-sm{--tw-drop-shadow:drop-shadow(0 1px 1px rgba(0,0,0,0.05))}.xl\\:drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1)) drop-shadow(0 1px 1px rgba(0, 0, 0, 0.06))}.xl\\:drop-shadow-md{--tw-drop-shadow:drop-shadow(0 4px 3px rgba(0, 0, 0, 0.07)) drop-shadow(0 2px 2px rgba(0, 0, 0, 0.06))}.xl\\:drop-shadow-lg{--tw-drop-shadow:drop-shadow(0 10px 8px rgba(0, 0, 0, 0.04)) drop-shadow(0 4px 3px rgba(0, 0, 0, 0.1))}.xl\\:drop-shadow-xl{--tw-drop-shadow:drop-shadow(0 20px 13px rgba(0, 0, 0, 0.03)) drop-shadow(0 8px 5px rgba(0, 0, 0, 0.08))}.xl\\:drop-shadow-2xl{--tw-drop-shadow:drop-shadow(0 25px 25px rgba(0, 0, 0, 0.15))}.xl\\:drop-shadow-none{--tw-drop-shadow:drop-shadow(0 0 #0000)}.xl\\:grayscale-0{--tw-grayscale:grayscale(0)}.xl\\:grayscale{--tw-grayscale:grayscale(100%)}.xl\\:hue-rotate-0{--tw-hue-rotate:hue-rotate(0deg)}.xl\\:hue-rotate-15{--tw-hue-rotate:hue-rotate(15deg)}.xl\\:hue-rotate-30{--tw-hue-rotate:hue-rotate(30deg)}.xl\\:hue-rotate-60{--tw-hue-rotate:hue-rotate(60deg)}.xl\\:hue-rotate-90{--tw-hue-rotate:hue-rotate(90deg)}.xl\\:hue-rotate-180{--tw-hue-rotate:hue-rotate(180deg)}.xl\\:-hue-rotate-180{--tw-hue-rotate:hue-rotate(-180deg)}.xl\\:-hue-rotate-90{--tw-hue-rotate:hue-rotate(-90deg)}.xl\\:-hue-rotate-60{--tw-hue-rotate:hue-rotate(-60deg)}.xl\\:-hue-rotate-30{--tw-hue-rotate:hue-rotate(-30deg)}.xl\\:-hue-rotate-15{--tw-hue-rotate:hue-rotate(-15deg)}.xl\\:invert-0{--tw-invert:invert(0)}.xl\\:invert{--tw-invert:invert(100%)}.xl\\:saturate-0{--tw-saturate:saturate(0)}.xl\\:saturate-50{--tw-saturate:saturate(.5)}.xl\\:saturate-100{--tw-saturate:saturate(1)}.xl\\:saturate-150{--tw-saturate:saturate(1.5)}.xl\\:saturate-200{--tw-saturate:saturate(2)}.xl\\:sepia-0{--tw-sepia:sepia(0)}.xl\\:sepia{--tw-sepia:sepia(100%)}.xl\\:backdrop-filter{--tw-backdrop-blur:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-brightness:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-contrast:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-grayscale:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-hue-rotate:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-invert:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-opacity:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-saturate:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-sepia:var(--tw-empty,/*!*/ /*!*/);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.xl\\:backdrop-filter-none{backdrop-filter:none}.xl\\:backdrop-blur-0{--tw-backdrop-blur:blur(0)}.xl\\:backdrop-blur-none{--tw-backdrop-blur:blur(0)}.xl\\:backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.xl\\:backdrop-blur{--tw-backdrop-blur:blur(8px)}.xl\\:backdrop-blur-md{--tw-backdrop-blur:blur(12px)}.xl\\:backdrop-blur-lg{--tw-backdrop-blur:blur(16px)}.xl\\:backdrop-blur-xl{--tw-backdrop-blur:blur(24px)}.xl\\:backdrop-blur-2xl{--tw-backdrop-blur:blur(40px)}.xl\\:backdrop-blur-3xl{--tw-backdrop-blur:blur(64px)}.xl\\:backdrop-brightness-0{--tw-backdrop-brightness:brightness(0)}.xl\\:backdrop-brightness-50{--tw-backdrop-brightness:brightness(.5)}.xl\\:backdrop-brightness-75{--tw-backdrop-brightness:brightness(.75)}.xl\\:backdrop-brightness-90{--tw-backdrop-brightness:brightness(.9)}.xl\\:backdrop-brightness-95{--tw-backdrop-brightness:brightness(.95)}.xl\\:backdrop-brightness-100{--tw-backdrop-brightness:brightness(1)}.xl\\:backdrop-brightness-105{--tw-backdrop-brightness:brightness(1.05)}.xl\\:backdrop-brightness-110{--tw-backdrop-brightness:brightness(1.1)}.xl\\:backdrop-brightness-125{--tw-backdrop-brightness:brightness(1.25)}.xl\\:backdrop-brightness-150{--tw-backdrop-brightness:brightness(1.5)}.xl\\:backdrop-brightness-200{--tw-backdrop-brightness:brightness(2)}.xl\\:backdrop-contrast-0{--tw-backdrop-contrast:contrast(0)}.xl\\:backdrop-contrast-50{--tw-backdrop-contrast:contrast(.5)}.xl\\:backdrop-contrast-75{--tw-backdrop-contrast:contrast(.75)}.xl\\:backdrop-contrast-100{--tw-backdrop-contrast:contrast(1)}.xl\\:backdrop-contrast-125{--tw-backdrop-contrast:contrast(1.25)}.xl\\:backdrop-contrast-150{--tw-backdrop-contrast:contrast(1.5)}.xl\\:backdrop-contrast-200{--tw-backdrop-contrast:contrast(2)}.xl\\:backdrop-grayscale-0{--tw-backdrop-grayscale:grayscale(0)}.xl\\:backdrop-grayscale{--tw-backdrop-grayscale:grayscale(100%)}.xl\\:backdrop-hue-rotate-0{--tw-backdrop-hue-rotate:hue-rotate(0deg)}.xl\\:backdrop-hue-rotate-15{--tw-backdrop-hue-rotate:hue-rotate(15deg)}.xl\\:backdrop-hue-rotate-30{--tw-backdrop-hue-rotate:hue-rotate(30deg)}.xl\\:backdrop-hue-rotate-60{--tw-backdrop-hue-rotate:hue-rotate(60deg)}.xl\\:backdrop-hue-rotate-90{--tw-backdrop-hue-rotate:hue-rotate(90deg)}.xl\\:backdrop-hue-rotate-180{--tw-backdrop-hue-rotate:hue-rotate(180deg)}.xl\\:-backdrop-hue-rotate-180{--tw-backdrop-hue-rotate:hue-rotate(-180deg)}.xl\\:-backdrop-hue-rotate-90{--tw-backdrop-hue-rotate:hue-rotate(-90deg)}.xl\\:-backdrop-hue-rotate-60{--tw-backdrop-hue-rotate:hue-rotate(-60deg)}.xl\\:-backdrop-hue-rotate-30{--tw-backdrop-hue-rotate:hue-rotate(-30deg)}.xl\\:-backdrop-hue-rotate-15{--tw-backdrop-hue-rotate:hue-rotate(-15deg)}.xl\\:backdrop-invert-0{--tw-backdrop-invert:invert(0)}.xl\\:backdrop-invert{--tw-backdrop-invert:invert(100%)}.xl\\:backdrop-opacity-0{--tw-backdrop-opacity:opacity(0)}.xl\\:backdrop-opacity-5{--tw-backdrop-opacity:opacity(0.05)}.xl\\:backdrop-opacity-10{--tw-backdrop-opacity:opacity(0.1)}.xl\\:backdrop-opacity-20{--tw-backdrop-opacity:opacity(0.2)}.xl\\:backdrop-opacity-25{--tw-backdrop-opacity:opacity(0.25)}.xl\\:backdrop-opacity-30{--tw-backdrop-opacity:opacity(0.3)}.xl\\:backdrop-opacity-40{--tw-backdrop-opacity:opacity(0.4)}.xl\\:backdrop-opacity-50{--tw-backdrop-opacity:opacity(0.5)}.xl\\:backdrop-opacity-60{--tw-backdrop-opacity:opacity(0.6)}.xl\\:backdrop-opacity-70{--tw-backdrop-opacity:opacity(0.7)}.xl\\:backdrop-opacity-75{--tw-backdrop-opacity:opacity(0.75)}.xl\\:backdrop-opacity-80{--tw-backdrop-opacity:opacity(0.8)}.xl\\:backdrop-opacity-90{--tw-backdrop-opacity:opacity(0.9)}.xl\\:backdrop-opacity-95{--tw-backdrop-opacity:opacity(0.95)}.xl\\:backdrop-opacity-100{--tw-backdrop-opacity:opacity(1)}.xl\\:backdrop-saturate-0{--tw-backdrop-saturate:saturate(0)}.xl\\:backdrop-saturate-50{--tw-backdrop-saturate:saturate(.5)}.xl\\:backdrop-saturate-100{--tw-backdrop-saturate:saturate(1)}.xl\\:backdrop-saturate-150{--tw-backdrop-saturate:saturate(1.5)}.xl\\:backdrop-saturate-200{--tw-backdrop-saturate:saturate(2)}.xl\\:backdrop-sepia-0{--tw-backdrop-sepia:sepia(0)}.xl\\:backdrop-sepia{--tw-backdrop-sepia:sepia(100%)}.xl\\:transition-none{transition-property:none}.xl\\:transition-all{transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.xl\\:transition{transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.xl\\:transition-colors{transition-property:background-color, border-color, color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.xl\\:transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.xl\\:transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.xl\\:transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.xl\\:delay-75{transition-delay:75ms}.xl\\:delay-100{transition-delay:100ms}.xl\\:delay-150{transition-delay:150ms}.xl\\:delay-200{transition-delay:200ms}.xl\\:delay-300{transition-delay:300ms}.xl\\:delay-500{transition-delay:500ms}.xl\\:delay-700{transition-delay:700ms}.xl\\:delay-1000{transition-delay:1000ms}.xl\\:duration-75{transition-duration:75ms}.xl\\:duration-100{transition-duration:100ms}.xl\\:duration-150{transition-duration:150ms}.xl\\:duration-200{transition-duration:200ms}.xl\\:duration-300{transition-duration:300ms}.xl\\:duration-500{transition-duration:500ms}.xl\\:duration-700{transition-duration:700ms}.xl\\:duration-1000{transition-duration:1000ms}.xl\\:ease-linear{transition-timing-function:linear}.xl\\:ease-in{transition-timing-function:cubic-bezier(0.4, 0, 1, 1)}.xl\\:ease-out{transition-timing-function:cubic-bezier(0, 0, 0.2, 1)}.xl\\:ease-in-out{transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}}@media(min-width: 1536px){.\\32xl\\:container{width:100%}@media(min-width: 640px){.\\32xl\\:container{max-width:640px}}@media(min-width: 768px){.\\32xl\\:container{max-width:768px}}@media(min-width: 1024px){.\\32xl\\:container{max-width:1024px}}@media(min-width: 1280px){.\\32xl\\:container{max-width:1280px}}@media(min-width: 1536px){.\\32xl\\:container{max-width:1536px}}.\\32xl\\:sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.\\32xl\\:not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.\\32xl\\:focus-within\\:sr-only:focus-within{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.\\32xl\\:focus-within\\:not-sr-only:focus-within{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.\\32xl\\:focus\\:sr-only:focus{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.\\32xl\\:focus\\:not-sr-only:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.\\32xl\\:pointer-events-none{pointer-events:none}.\\32xl\\:pointer-events-auto{pointer-events:auto}.\\32xl\\:visible{visibility:visible}.\\32xl\\:invisible{visibility:hidden}.\\32xl\\:static{position:static}.\\32xl\\:fixed{position:fixed}.\\32xl\\:absolute{position:absolute}.\\32xl\\:relative{position:relative}.\\32xl\\:sticky{position:sticky}.\\32xl\\:inset-0{top:0px;right:0px;bottom:0px;left:0px}.\\32xl\\:inset-1{top:0.25rem;right:0.25rem;bottom:0.25rem;left:0.25rem}.\\32xl\\:inset-2{top:0.5rem;right:0.5rem;bottom:0.5rem;left:0.5rem}.\\32xl\\:inset-3{top:0.75rem;right:0.75rem;bottom:0.75rem;left:0.75rem}.\\32xl\\:inset-4{top:1rem;right:1rem;bottom:1rem;left:1rem}.\\32xl\\:inset-5{top:1.25rem;right:1.25rem;bottom:1.25rem;left:1.25rem}.\\32xl\\:inset-6{top:1.5rem;right:1.5rem;bottom:1.5rem;left:1.5rem}.\\32xl\\:inset-7{top:1.75rem;right:1.75rem;bottom:1.75rem;left:1.75rem}.\\32xl\\:inset-8{top:2rem;right:2rem;bottom:2rem;left:2rem}.\\32xl\\:inset-9{top:2.25rem;right:2.25rem;bottom:2.25rem;left:2.25rem}.\\32xl\\:inset-10{top:2.5rem;right:2.5rem;bottom:2.5rem;left:2.5rem}.\\32xl\\:inset-11{top:2.75rem;right:2.75rem;bottom:2.75rem;left:2.75rem}.\\32xl\\:inset-12{top:3rem;right:3rem;bottom:3rem;left:3rem}.\\32xl\\:inset-14{top:3.5rem;right:3.5rem;bottom:3.5rem;left:3.5rem}.\\32xl\\:inset-16{top:4rem;right:4rem;bottom:4rem;left:4rem}.\\32xl\\:inset-20{top:5rem;right:5rem;bottom:5rem;left:5rem}.\\32xl\\:inset-24{top:6rem;right:6rem;bottom:6rem;left:6rem}.\\32xl\\:inset-28{top:7rem;right:7rem;bottom:7rem;left:7rem}.\\32xl\\:inset-32{top:8rem;right:8rem;bottom:8rem;left:8rem}.\\32xl\\:inset-36{top:9rem;right:9rem;bottom:9rem;left:9rem}.\\32xl\\:inset-40{top:10rem;right:10rem;bottom:10rem;left:10rem}.\\32xl\\:inset-44{top:11rem;right:11rem;bottom:11rem;left:11rem}.\\32xl\\:inset-48{top:12rem;right:12rem;bottom:12rem;left:12rem}.\\32xl\\:inset-52{top:13rem;right:13rem;bottom:13rem;left:13rem}.\\32xl\\:inset-56{top:14rem;right:14rem;bottom:14rem;left:14rem}.\\32xl\\:inset-60{top:15rem;right:15rem;bottom:15rem;left:15rem}.\\32xl\\:inset-64{top:16rem;right:16rem;bottom:16rem;left:16rem}.\\32xl\\:inset-72{top:18rem;right:18rem;bottom:18rem;left:18rem}.\\32xl\\:inset-80{top:20rem;right:20rem;bottom:20rem;left:20rem}.\\32xl\\:inset-96{top:24rem;right:24rem;bottom:24rem;left:24rem}.\\32xl\\:inset-auto{top:auto;right:auto;bottom:auto;left:auto}.\\32xl\\:inset-px{top:1px;right:1px;bottom:1px;left:1px}.\\32xl\\:inset-0\\.5{top:0.125rem;right:0.125rem;bottom:0.125rem;left:0.125rem}.\\32xl\\:inset-1\\.5{top:0.375rem;right:0.375rem;bottom:0.375rem;left:0.375rem}.\\32xl\\:inset-2\\.5{top:0.625rem;right:0.625rem;bottom:0.625rem;left:0.625rem}.\\32xl\\:inset-3\\.5{top:0.875rem;right:0.875rem;bottom:0.875rem;left:0.875rem}.\\32xl\\:-inset-0{top:0px;right:0px;bottom:0px;left:0px}.\\32xl\\:-inset-1{top:-0.25rem;right:-0.25rem;bottom:-0.25rem;left:-0.25rem}.\\32xl\\:-inset-2{top:-0.5rem;right:-0.5rem;bottom:-0.5rem;left:-0.5rem}.\\32xl\\:-inset-3{top:-0.75rem;right:-0.75rem;bottom:-0.75rem;left:-0.75rem}.\\32xl\\:-inset-4{top:-1rem;right:-1rem;bottom:-1rem;left:-1rem}.\\32xl\\:-inset-5{top:-1.25rem;right:-1.25rem;bottom:-1.25rem;left:-1.25rem}.\\32xl\\:-inset-6{top:-1.5rem;right:-1.5rem;bottom:-1.5rem;left:-1.5rem}.\\32xl\\:-inset-7{top:-1.75rem;right:-1.75rem;bottom:-1.75rem;left:-1.75rem}.\\32xl\\:-inset-8{top:-2rem;right:-2rem;bottom:-2rem;left:-2rem}.\\32xl\\:-inset-9{top:-2.25rem;right:-2.25rem;bottom:-2.25rem;left:-2.25rem}.\\32xl\\:-inset-10{top:-2.5rem;right:-2.5rem;bottom:-2.5rem;left:-2.5rem}.\\32xl\\:-inset-11{top:-2.75rem;right:-2.75rem;bottom:-2.75rem;left:-2.75rem}.\\32xl\\:-inset-12{top:-3rem;right:-3rem;bottom:-3rem;left:-3rem}.\\32xl\\:-inset-14{top:-3.5rem;right:-3.5rem;bottom:-3.5rem;left:-3.5rem}.\\32xl\\:-inset-16{top:-4rem;right:-4rem;bottom:-4rem;left:-4rem}.\\32xl\\:-inset-20{top:-5rem;right:-5rem;bottom:-5rem;left:-5rem}.\\32xl\\:-inset-24{top:-6rem;right:-6rem;bottom:-6rem;left:-6rem}.\\32xl\\:-inset-28{top:-7rem;right:-7rem;bottom:-7rem;left:-7rem}.\\32xl\\:-inset-32{top:-8rem;right:-8rem;bottom:-8rem;left:-8rem}.\\32xl\\:-inset-36{top:-9rem;right:-9rem;bottom:-9rem;left:-9rem}.\\32xl\\:-inset-40{top:-10rem;right:-10rem;bottom:-10rem;left:-10rem}.\\32xl\\:-inset-44{top:-11rem;right:-11rem;bottom:-11rem;left:-11rem}.\\32xl\\:-inset-48{top:-12rem;right:-12rem;bottom:-12rem;left:-12rem}.\\32xl\\:-inset-52{top:-13rem;right:-13rem;bottom:-13rem;left:-13rem}.\\32xl\\:-inset-56{top:-14rem;right:-14rem;bottom:-14rem;left:-14rem}.\\32xl\\:-inset-60{top:-15rem;right:-15rem;bottom:-15rem;left:-15rem}.\\32xl\\:-inset-64{top:-16rem;right:-16rem;bottom:-16rem;left:-16rem}.\\32xl\\:-inset-72{top:-18rem;right:-18rem;bottom:-18rem;left:-18rem}.\\32xl\\:-inset-80{top:-20rem;right:-20rem;bottom:-20rem;left:-20rem}.\\32xl\\:-inset-96{top:-24rem;right:-24rem;bottom:-24rem;left:-24rem}.\\32xl\\:-inset-px{top:-1px;right:-1px;bottom:-1px;left:-1px}.\\32xl\\:-inset-0\\.5{top:-0.125rem;right:-0.125rem;bottom:-0.125rem;left:-0.125rem}.\\32xl\\:-inset-1\\.5{top:-0.375rem;right:-0.375rem;bottom:-0.375rem;left:-0.375rem}.\\32xl\\:-inset-2\\.5{top:-0.625rem;right:-0.625rem;bottom:-0.625rem;left:-0.625rem}.\\32xl\\:-inset-3\\.5{top:-0.875rem;right:-0.875rem;bottom:-0.875rem;left:-0.875rem}.\\32xl\\:inset-1\\/2{top:50%;right:50%;bottom:50%;left:50%}.\\32xl\\:inset-1\\/3{top:33.333333%;right:33.333333%;bottom:33.333333%;left:33.333333%}.\\32xl\\:inset-2\\/3{top:66.666667%;right:66.666667%;bottom:66.666667%;left:66.666667%}.\\32xl\\:inset-1\\/4{top:25%;right:25%;bottom:25%;left:25%}.\\32xl\\:inset-2\\/4{top:50%;right:50%;bottom:50%;left:50%}.\\32xl\\:inset-3\\/4{top:75%;right:75%;bottom:75%;left:75%}.\\32xl\\:inset-full{top:100%;right:100%;bottom:100%;left:100%}.\\32xl\\:-inset-1\\/2{top:-50%;right:-50%;bottom:-50%;left:-50%}.\\32xl\\:-inset-1\\/3{top:-33.333333%;right:-33.333333%;bottom:-33.333333%;left:-33.333333%}.\\32xl\\:-inset-2\\/3{top:-66.666667%;right:-66.666667%;bottom:-66.666667%;left:-66.666667%}.\\32xl\\:-inset-1\\/4{top:-25%;right:-25%;bottom:-25%;left:-25%}.\\32xl\\:-inset-2\\/4{top:-50%;right:-50%;bottom:-50%;left:-50%}.\\32xl\\:-inset-3\\/4{top:-75%;right:-75%;bottom:-75%;left:-75%}.\\32xl\\:-inset-full{top:-100%;right:-100%;bottom:-100%;left:-100%}.\\32xl\\:inset-x-0{left:0px;right:0px}.\\32xl\\:inset-x-1{left:0.25rem;right:0.25rem}.\\32xl\\:inset-x-2{left:0.5rem;right:0.5rem}.\\32xl\\:inset-x-3{left:0.75rem;right:0.75rem}.\\32xl\\:inset-x-4{left:1rem;right:1rem}.\\32xl\\:inset-x-5{left:1.25rem;right:1.25rem}.\\32xl\\:inset-x-6{left:1.5rem;right:1.5rem}.\\32xl\\:inset-x-7{left:1.75rem;right:1.75rem}.\\32xl\\:inset-x-8{left:2rem;right:2rem}.\\32xl\\:inset-x-9{left:2.25rem;right:2.25rem}.\\32xl\\:inset-x-10{left:2.5rem;right:2.5rem}.\\32xl\\:inset-x-11{left:2.75rem;right:2.75rem}.\\32xl\\:inset-x-12{left:3rem;right:3rem}.\\32xl\\:inset-x-14{left:3.5rem;right:3.5rem}.\\32xl\\:inset-x-16{left:4rem;right:4rem}.\\32xl\\:inset-x-20{left:5rem;right:5rem}.\\32xl\\:inset-x-24{left:6rem;right:6rem}.\\32xl\\:inset-x-28{left:7rem;right:7rem}.\\32xl\\:inset-x-32{left:8rem;right:8rem}.\\32xl\\:inset-x-36{left:9rem;right:9rem}.\\32xl\\:inset-x-40{left:10rem;right:10rem}.\\32xl\\:inset-x-44{left:11rem;right:11rem}.\\32xl\\:inset-x-48{left:12rem;right:12rem}.\\32xl\\:inset-x-52{left:13rem;right:13rem}.\\32xl\\:inset-x-56{left:14rem;right:14rem}.\\32xl\\:inset-x-60{left:15rem;right:15rem}.\\32xl\\:inset-x-64{left:16rem;right:16rem}.\\32xl\\:inset-x-72{left:18rem;right:18rem}.\\32xl\\:inset-x-80{left:20rem;right:20rem}.\\32xl\\:inset-x-96{left:24rem;right:24rem}.\\32xl\\:inset-x-auto{left:auto;right:auto}.\\32xl\\:inset-x-px{left:1px;right:1px}.\\32xl\\:inset-x-0\\.5{left:0.125rem;right:0.125rem}.\\32xl\\:inset-x-1\\.5{left:0.375rem;right:0.375rem}.\\32xl\\:inset-x-2\\.5{left:0.625rem;right:0.625rem}.\\32xl\\:inset-x-3\\.5{left:0.875rem;right:0.875rem}.\\32xl\\:-inset-x-0{left:0px;right:0px}.\\32xl\\:-inset-x-1{left:-0.25rem;right:-0.25rem}.\\32xl\\:-inset-x-2{left:-0.5rem;right:-0.5rem}.\\32xl\\:-inset-x-3{left:-0.75rem;right:-0.75rem}.\\32xl\\:-inset-x-4{left:-1rem;right:-1rem}.\\32xl\\:-inset-x-5{left:-1.25rem;right:-1.25rem}.\\32xl\\:-inset-x-6{left:-1.5rem;right:-1.5rem}.\\32xl\\:-inset-x-7{left:-1.75rem;right:-1.75rem}.\\32xl\\:-inset-x-8{left:-2rem;right:-2rem}.\\32xl\\:-inset-x-9{left:-2.25rem;right:-2.25rem}.\\32xl\\:-inset-x-10{left:-2.5rem;right:-2.5rem}.\\32xl\\:-inset-x-11{left:-2.75rem;right:-2.75rem}.\\32xl\\:-inset-x-12{left:-3rem;right:-3rem}.\\32xl\\:-inset-x-14{left:-3.5rem;right:-3.5rem}.\\32xl\\:-inset-x-16{left:-4rem;right:-4rem}.\\32xl\\:-inset-x-20{left:-5rem;right:-5rem}.\\32xl\\:-inset-x-24{left:-6rem;right:-6rem}.\\32xl\\:-inset-x-28{left:-7rem;right:-7rem}.\\32xl\\:-inset-x-32{left:-8rem;right:-8rem}.\\32xl\\:-inset-x-36{left:-9rem;right:-9rem}.\\32xl\\:-inset-x-40{left:-10rem;right:-10rem}.\\32xl\\:-inset-x-44{left:-11rem;right:-11rem}.\\32xl\\:-inset-x-48{left:-12rem;right:-12rem}.\\32xl\\:-inset-x-52{left:-13rem;right:-13rem}.\\32xl\\:-inset-x-56{left:-14rem;right:-14rem}.\\32xl\\:-inset-x-60{left:-15rem;right:-15rem}.\\32xl\\:-inset-x-64{left:-16rem;right:-16rem}.\\32xl\\:-inset-x-72{left:-18rem;right:-18rem}.\\32xl\\:-inset-x-80{left:-20rem;right:-20rem}.\\32xl\\:-inset-x-96{left:-24rem;right:-24rem}.\\32xl\\:-inset-x-px{left:-1px;right:-1px}.\\32xl\\:-inset-x-0\\.5{left:-0.125rem;right:-0.125rem}.\\32xl\\:-inset-x-1\\.5{left:-0.375rem;right:-0.375rem}.\\32xl\\:-inset-x-2\\.5{left:-0.625rem;right:-0.625rem}.\\32xl\\:-inset-x-3\\.5{left:-0.875rem;right:-0.875rem}.\\32xl\\:inset-x-1\\/2{left:50%;right:50%}.\\32xl\\:inset-x-1\\/3{left:33.333333%;right:33.333333%}.\\32xl\\:inset-x-2\\/3{left:66.666667%;right:66.666667%}.\\32xl\\:inset-x-1\\/4{left:25%;right:25%}.\\32xl\\:inset-x-2\\/4{left:50%;right:50%}.\\32xl\\:inset-x-3\\/4{left:75%;right:75%}.\\32xl\\:inset-x-full{left:100%;right:100%}.\\32xl\\:-inset-x-1\\/2{left:-50%;right:-50%}.\\32xl\\:-inset-x-1\\/3{left:-33.333333%;right:-33.333333%}.\\32xl\\:-inset-x-2\\/3{left:-66.666667%;right:-66.666667%}.\\32xl\\:-inset-x-1\\/4{left:-25%;right:-25%}.\\32xl\\:-inset-x-2\\/4{left:-50%;right:-50%}.\\32xl\\:-inset-x-3\\/4{left:-75%;right:-75%}.\\32xl\\:-inset-x-full{left:-100%;right:-100%}.\\32xl\\:inset-y-0{top:0px;bottom:0px}.\\32xl\\:inset-y-1{top:0.25rem;bottom:0.25rem}.\\32xl\\:inset-y-2{top:0.5rem;bottom:0.5rem}.\\32xl\\:inset-y-3{top:0.75rem;bottom:0.75rem}.\\32xl\\:inset-y-4{top:1rem;bottom:1rem}.\\32xl\\:inset-y-5{top:1.25rem;bottom:1.25rem}.\\32xl\\:inset-y-6{top:1.5rem;bottom:1.5rem}.\\32xl\\:inset-y-7{top:1.75rem;bottom:1.75rem}.\\32xl\\:inset-y-8{top:2rem;bottom:2rem}.\\32xl\\:inset-y-9{top:2.25rem;bottom:2.25rem}.\\32xl\\:inset-y-10{top:2.5rem;bottom:2.5rem}.\\32xl\\:inset-y-11{top:2.75rem;bottom:2.75rem}.\\32xl\\:inset-y-12{top:3rem;bottom:3rem}.\\32xl\\:inset-y-14{top:3.5rem;bottom:3.5rem}.\\32xl\\:inset-y-16{top:4rem;bottom:4rem}.\\32xl\\:inset-y-20{top:5rem;bottom:5rem}.\\32xl\\:inset-y-24{top:6rem;bottom:6rem}.\\32xl\\:inset-y-28{top:7rem;bottom:7rem}.\\32xl\\:inset-y-32{top:8rem;bottom:8rem}.\\32xl\\:inset-y-36{top:9rem;bottom:9rem}.\\32xl\\:inset-y-40{top:10rem;bottom:10rem}.\\32xl\\:inset-y-44{top:11rem;bottom:11rem}.\\32xl\\:inset-y-48{top:12rem;bottom:12rem}.\\32xl\\:inset-y-52{top:13rem;bottom:13rem}.\\32xl\\:inset-y-56{top:14rem;bottom:14rem}.\\32xl\\:inset-y-60{top:15rem;bottom:15rem}.\\32xl\\:inset-y-64{top:16rem;bottom:16rem}.\\32xl\\:inset-y-72{top:18rem;bottom:18rem}.\\32xl\\:inset-y-80{top:20rem;bottom:20rem}.\\32xl\\:inset-y-96{top:24rem;bottom:24rem}.\\32xl\\:inset-y-auto{top:auto;bottom:auto}.\\32xl\\:inset-y-px{top:1px;bottom:1px}.\\32xl\\:inset-y-0\\.5{top:0.125rem;bottom:0.125rem}.\\32xl\\:inset-y-1\\.5{top:0.375rem;bottom:0.375rem}.\\32xl\\:inset-y-2\\.5{top:0.625rem;bottom:0.625rem}.\\32xl\\:inset-y-3\\.5{top:0.875rem;bottom:0.875rem}.\\32xl\\:-inset-y-0{top:0px;bottom:0px}.\\32xl\\:-inset-y-1{top:-0.25rem;bottom:-0.25rem}.\\32xl\\:-inset-y-2{top:-0.5rem;bottom:-0.5rem}.\\32xl\\:-inset-y-3{top:-0.75rem;bottom:-0.75rem}.\\32xl\\:-inset-y-4{top:-1rem;bottom:-1rem}.\\32xl\\:-inset-y-5{top:-1.25rem;bottom:-1.25rem}.\\32xl\\:-inset-y-6{top:-1.5rem;bottom:-1.5rem}.\\32xl\\:-inset-y-7{top:-1.75rem;bottom:-1.75rem}.\\32xl\\:-inset-y-8{top:-2rem;bottom:-2rem}.\\32xl\\:-inset-y-9{top:-2.25rem;bottom:-2.25rem}.\\32xl\\:-inset-y-10{top:-2.5rem;bottom:-2.5rem}.\\32xl\\:-inset-y-11{top:-2.75rem;bottom:-2.75rem}.\\32xl\\:-inset-y-12{top:-3rem;bottom:-3rem}.\\32xl\\:-inset-y-14{top:-3.5rem;bottom:-3.5rem}.\\32xl\\:-inset-y-16{top:-4rem;bottom:-4rem}.\\32xl\\:-inset-y-20{top:-5rem;bottom:-5rem}.\\32xl\\:-inset-y-24{top:-6rem;bottom:-6rem}.\\32xl\\:-inset-y-28{top:-7rem;bottom:-7rem}.\\32xl\\:-inset-y-32{top:-8rem;bottom:-8rem}.\\32xl\\:-inset-y-36{top:-9rem;bottom:-9rem}.\\32xl\\:-inset-y-40{top:-10rem;bottom:-10rem}.\\32xl\\:-inset-y-44{top:-11rem;bottom:-11rem}.\\32xl\\:-inset-y-48{top:-12rem;bottom:-12rem}.\\32xl\\:-inset-y-52{top:-13rem;bottom:-13rem}.\\32xl\\:-inset-y-56{top:-14rem;bottom:-14rem}.\\32xl\\:-inset-y-60{top:-15rem;bottom:-15rem}.\\32xl\\:-inset-y-64{top:-16rem;bottom:-16rem}.\\32xl\\:-inset-y-72{top:-18rem;bottom:-18rem}.\\32xl\\:-inset-y-80{top:-20rem;bottom:-20rem}.\\32xl\\:-inset-y-96{top:-24rem;bottom:-24rem}.\\32xl\\:-inset-y-px{top:-1px;bottom:-1px}.\\32xl\\:-inset-y-0\\.5{top:-0.125rem;bottom:-0.125rem}.\\32xl\\:-inset-y-1\\.5{top:-0.375rem;bottom:-0.375rem}.\\32xl\\:-inset-y-2\\.5{top:-0.625rem;bottom:-0.625rem}.\\32xl\\:-inset-y-3\\.5{top:-0.875rem;bottom:-0.875rem}.\\32xl\\:inset-y-1\\/2{top:50%;bottom:50%}.\\32xl\\:inset-y-1\\/3{top:33.333333%;bottom:33.333333%}.\\32xl\\:inset-y-2\\/3{top:66.666667%;bottom:66.666667%}.\\32xl\\:inset-y-1\\/4{top:25%;bottom:25%}.\\32xl\\:inset-y-2\\/4{top:50%;bottom:50%}.\\32xl\\:inset-y-3\\/4{top:75%;bottom:75%}.\\32xl\\:inset-y-full{top:100%;bottom:100%}.\\32xl\\:-inset-y-1\\/2{top:-50%;bottom:-50%}.\\32xl\\:-inset-y-1\\/3{top:-33.333333%;bottom:-33.333333%}.\\32xl\\:-inset-y-2\\/3{top:-66.666667%;bottom:-66.666667%}.\\32xl\\:-inset-y-1\\/4{top:-25%;bottom:-25%}.\\32xl\\:-inset-y-2\\/4{top:-50%;bottom:-50%}.\\32xl\\:-inset-y-3\\/4{top:-75%;bottom:-75%}.\\32xl\\:-inset-y-full{top:-100%;bottom:-100%}.\\32xl\\:top-0{top:0px}.\\32xl\\:top-1{top:0.25rem}.\\32xl\\:top-2{top:0.5rem}.\\32xl\\:top-3{top:0.75rem}.\\32xl\\:top-4{top:1rem}.\\32xl\\:top-5{top:1.25rem}.\\32xl\\:top-6{top:1.5rem}.\\32xl\\:top-7{top:1.75rem}.\\32xl\\:top-8{top:2rem}.\\32xl\\:top-9{top:2.25rem}.\\32xl\\:top-10{top:2.5rem}.\\32xl\\:top-11{top:2.75rem}.\\32xl\\:top-12{top:3rem}.\\32xl\\:top-14{top:3.5rem}.\\32xl\\:top-16{top:4rem}.\\32xl\\:top-20{top:5rem}.\\32xl\\:top-24{top:6rem}.\\32xl\\:top-28{top:7rem}.\\32xl\\:top-32{top:8rem}.\\32xl\\:top-36{top:9rem}.\\32xl\\:top-40{top:10rem}.\\32xl\\:top-44{top:11rem}.\\32xl\\:top-48{top:12rem}.\\32xl\\:top-52{top:13rem}.\\32xl\\:top-56{top:14rem}.\\32xl\\:top-60{top:15rem}.\\32xl\\:top-64{top:16rem}.\\32xl\\:top-72{top:18rem}.\\32xl\\:top-80{top:20rem}.\\32xl\\:top-96{top:24rem}.\\32xl\\:top-auto{top:auto}.\\32xl\\:top-px{top:1px}.\\32xl\\:top-0\\.5{top:0.125rem}.\\32xl\\:top-1\\.5{top:0.375rem}.\\32xl\\:top-2\\.5{top:0.625rem}.\\32xl\\:top-3\\.5{top:0.875rem}.\\32xl\\:-top-0{top:0px}.\\32xl\\:-top-1{top:-0.25rem}.\\32xl\\:-top-2{top:-0.5rem}.\\32xl\\:-top-3{top:-0.75rem}.\\32xl\\:-top-4{top:-1rem}.\\32xl\\:-top-5{top:-1.25rem}.\\32xl\\:-top-6{top:-1.5rem}.\\32xl\\:-top-7{top:-1.75rem}.\\32xl\\:-top-8{top:-2rem}.\\32xl\\:-top-9{top:-2.25rem}.\\32xl\\:-top-10{top:-2.5rem}.\\32xl\\:-top-11{top:-2.75rem}.\\32xl\\:-top-12{top:-3rem}.\\32xl\\:-top-14{top:-3.5rem}.\\32xl\\:-top-16{top:-4rem}.\\32xl\\:-top-20{top:-5rem}.\\32xl\\:-top-24{top:-6rem}.\\32xl\\:-top-28{top:-7rem}.\\32xl\\:-top-32{top:-8rem}.\\32xl\\:-top-36{top:-9rem}.\\32xl\\:-top-40{top:-10rem}.\\32xl\\:-top-44{top:-11rem}.\\32xl\\:-top-48{top:-12rem}.\\32xl\\:-top-52{top:-13rem}.\\32xl\\:-top-56{top:-14rem}.\\32xl\\:-top-60{top:-15rem}.\\32xl\\:-top-64{top:-16rem}.\\32xl\\:-top-72{top:-18rem}.\\32xl\\:-top-80{top:-20rem}.\\32xl\\:-top-96{top:-24rem}.\\32xl\\:-top-px{top:-1px}.\\32xl\\:-top-0\\.5{top:-0.125rem}.\\32xl\\:-top-1\\.5{top:-0.375rem}.\\32xl\\:-top-2\\.5{top:-0.625rem}.\\32xl\\:-top-3\\.5{top:-0.875rem}.\\32xl\\:top-1\\/2{top:50%}.\\32xl\\:top-1\\/3{top:33.333333%}.\\32xl\\:top-2\\/3{top:66.666667%}.\\32xl\\:top-1\\/4{top:25%}.\\32xl\\:top-2\\/4{top:50%}.\\32xl\\:top-3\\/4{top:75%}.\\32xl\\:top-full{top:100%}.\\32xl\\:-top-1\\/2{top:-50%}.\\32xl\\:-top-1\\/3{top:-33.333333%}.\\32xl\\:-top-2\\/3{top:-66.666667%}.\\32xl\\:-top-1\\/4{top:-25%}.\\32xl\\:-top-2\\/4{top:-50%}.\\32xl\\:-top-3\\/4{top:-75%}.\\32xl\\:-top-full{top:-100%}.\\32xl\\:right-0{right:0px}.\\32xl\\:right-1{right:0.25rem}.\\32xl\\:right-2{right:0.5rem}.\\32xl\\:right-3{right:0.75rem}.\\32xl\\:right-4{right:1rem}.\\32xl\\:right-5{right:1.25rem}.\\32xl\\:right-6{right:1.5rem}.\\32xl\\:right-7{right:1.75rem}.\\32xl\\:right-8{right:2rem}.\\32xl\\:right-9{right:2.25rem}.\\32xl\\:right-10{right:2.5rem}.\\32xl\\:right-11{right:2.75rem}.\\32xl\\:right-12{right:3rem}.\\32xl\\:right-14{right:3.5rem}.\\32xl\\:right-16{right:4rem}.\\32xl\\:right-20{right:5rem}.\\32xl\\:right-24{right:6rem}.\\32xl\\:right-28{right:7rem}.\\32xl\\:right-32{right:8rem}.\\32xl\\:right-36{right:9rem}.\\32xl\\:right-40{right:10rem}.\\32xl\\:right-44{right:11rem}.\\32xl\\:right-48{right:12rem}.\\32xl\\:right-52{right:13rem}.\\32xl\\:right-56{right:14rem}.\\32xl\\:right-60{right:15rem}.\\32xl\\:right-64{right:16rem}.\\32xl\\:right-72{right:18rem}.\\32xl\\:right-80{right:20rem}.\\32xl\\:right-96{right:24rem}.\\32xl\\:right-auto{right:auto}.\\32xl\\:right-px{right:1px}.\\32xl\\:right-0\\.5{right:0.125rem}.\\32xl\\:right-1\\.5{right:0.375rem}.\\32xl\\:right-2\\.5{right:0.625rem}.\\32xl\\:right-3\\.5{right:0.875rem}.\\32xl\\:-right-0{right:0px}.\\32xl\\:-right-1{right:-0.25rem}.\\32xl\\:-right-2{right:-0.5rem}.\\32xl\\:-right-3{right:-0.75rem}.\\32xl\\:-right-4{right:-1rem}.\\32xl\\:-right-5{right:-1.25rem}.\\32xl\\:-right-6{right:-1.5rem}.\\32xl\\:-right-7{right:-1.75rem}.\\32xl\\:-right-8{right:-2rem}.\\32xl\\:-right-9{right:-2.25rem}.\\32xl\\:-right-10{right:-2.5rem}.\\32xl\\:-right-11{right:-2.75rem}.\\32xl\\:-right-12{right:-3rem}.\\32xl\\:-right-14{right:-3.5rem}.\\32xl\\:-right-16{right:-4rem}.\\32xl\\:-right-20{right:-5rem}.\\32xl\\:-right-24{right:-6rem}.\\32xl\\:-right-28{right:-7rem}.\\32xl\\:-right-32{right:-8rem}.\\32xl\\:-right-36{right:-9rem}.\\32xl\\:-right-40{right:-10rem}.\\32xl\\:-right-44{right:-11rem}.\\32xl\\:-right-48{right:-12rem}.\\32xl\\:-right-52{right:-13rem}.\\32xl\\:-right-56{right:-14rem}.\\32xl\\:-right-60{right:-15rem}.\\32xl\\:-right-64{right:-16rem}.\\32xl\\:-right-72{right:-18rem}.\\32xl\\:-right-80{right:-20rem}.\\32xl\\:-right-96{right:-24rem}.\\32xl\\:-right-px{right:-1px}.\\32xl\\:-right-0\\.5{right:-0.125rem}.\\32xl\\:-right-1\\.5{right:-0.375rem}.\\32xl\\:-right-2\\.5{right:-0.625rem}.\\32xl\\:-right-3\\.5{right:-0.875rem}.\\32xl\\:right-1\\/2{right:50%}.\\32xl\\:right-1\\/3{right:33.333333%}.\\32xl\\:right-2\\/3{right:66.666667%}.\\32xl\\:right-1\\/4{right:25%}.\\32xl\\:right-2\\/4{right:50%}.\\32xl\\:right-3\\/4{right:75%}.\\32xl\\:right-full{right:100%}.\\32xl\\:-right-1\\/2{right:-50%}.\\32xl\\:-right-1\\/3{right:-33.333333%}.\\32xl\\:-right-2\\/3{right:-66.666667%}.\\32xl\\:-right-1\\/4{right:-25%}.\\32xl\\:-right-2\\/4{right:-50%}.\\32xl\\:-right-3\\/4{right:-75%}.\\32xl\\:-right-full{right:-100%}.\\32xl\\:bottom-0{bottom:0px}.\\32xl\\:bottom-1{bottom:0.25rem}.\\32xl\\:bottom-2{bottom:0.5rem}.\\32xl\\:bottom-3{bottom:0.75rem}.\\32xl\\:bottom-4{bottom:1rem}.\\32xl\\:bottom-5{bottom:1.25rem}.\\32xl\\:bottom-6{bottom:1.5rem}.\\32xl\\:bottom-7{bottom:1.75rem}.\\32xl\\:bottom-8{bottom:2rem}.\\32xl\\:bottom-9{bottom:2.25rem}.\\32xl\\:bottom-10{bottom:2.5rem}.\\32xl\\:bottom-11{bottom:2.75rem}.\\32xl\\:bottom-12{bottom:3rem}.\\32xl\\:bottom-14{bottom:3.5rem}.\\32xl\\:bottom-16{bottom:4rem}.\\32xl\\:bottom-20{bottom:5rem}.\\32xl\\:bottom-24{bottom:6rem}.\\32xl\\:bottom-28{bottom:7rem}.\\32xl\\:bottom-32{bottom:8rem}.\\32xl\\:bottom-36{bottom:9rem}.\\32xl\\:bottom-40{bottom:10rem}.\\32xl\\:bottom-44{bottom:11rem}.\\32xl\\:bottom-48{bottom:12rem}.\\32xl\\:bottom-52{bottom:13rem}.\\32xl\\:bottom-56{bottom:14rem}.\\32xl\\:bottom-60{bottom:15rem}.\\32xl\\:bottom-64{bottom:16rem}.\\32xl\\:bottom-72{bottom:18rem}.\\32xl\\:bottom-80{bottom:20rem}.\\32xl\\:bottom-96{bottom:24rem}.\\32xl\\:bottom-auto{bottom:auto}.\\32xl\\:bottom-px{bottom:1px}.\\32xl\\:bottom-0\\.5{bottom:0.125rem}.\\32xl\\:bottom-1\\.5{bottom:0.375rem}.\\32xl\\:bottom-2\\.5{bottom:0.625rem}.\\32xl\\:bottom-3\\.5{bottom:0.875rem}.\\32xl\\:-bottom-0{bottom:0px}.\\32xl\\:-bottom-1{bottom:-0.25rem}.\\32xl\\:-bottom-2{bottom:-0.5rem}.\\32xl\\:-bottom-3{bottom:-0.75rem}.\\32xl\\:-bottom-4{bottom:-1rem}.\\32xl\\:-bottom-5{bottom:-1.25rem}.\\32xl\\:-bottom-6{bottom:-1.5rem}.\\32xl\\:-bottom-7{bottom:-1.75rem}.\\32xl\\:-bottom-8{bottom:-2rem}.\\32xl\\:-bottom-9{bottom:-2.25rem}.\\32xl\\:-bottom-10{bottom:-2.5rem}.\\32xl\\:-bottom-11{bottom:-2.75rem}.\\32xl\\:-bottom-12{bottom:-3rem}.\\32xl\\:-bottom-14{bottom:-3.5rem}.\\32xl\\:-bottom-16{bottom:-4rem}.\\32xl\\:-bottom-20{bottom:-5rem}.\\32xl\\:-bottom-24{bottom:-6rem}.\\32xl\\:-bottom-28{bottom:-7rem}.\\32xl\\:-bottom-32{bottom:-8rem}.\\32xl\\:-bottom-36{bottom:-9rem}.\\32xl\\:-bottom-40{bottom:-10rem}.\\32xl\\:-bottom-44{bottom:-11rem}.\\32xl\\:-bottom-48{bottom:-12rem}.\\32xl\\:-bottom-52{bottom:-13rem}.\\32xl\\:-bottom-56{bottom:-14rem}.\\32xl\\:-bottom-60{bottom:-15rem}.\\32xl\\:-bottom-64{bottom:-16rem}.\\32xl\\:-bottom-72{bottom:-18rem}.\\32xl\\:-bottom-80{bottom:-20rem}.\\32xl\\:-bottom-96{bottom:-24rem}.\\32xl\\:-bottom-px{bottom:-1px}.\\32xl\\:-bottom-0\\.5{bottom:-0.125rem}.\\32xl\\:-bottom-1\\.5{bottom:-0.375rem}.\\32xl\\:-bottom-2\\.5{bottom:-0.625rem}.\\32xl\\:-bottom-3\\.5{bottom:-0.875rem}.\\32xl\\:bottom-1\\/2{bottom:50%}.\\32xl\\:bottom-1\\/3{bottom:33.333333%}.\\32xl\\:bottom-2\\/3{bottom:66.666667%}.\\32xl\\:bottom-1\\/4{bottom:25%}.\\32xl\\:bottom-2\\/4{bottom:50%}.\\32xl\\:bottom-3\\/4{bottom:75%}.\\32xl\\:bottom-full{bottom:100%}.\\32xl\\:-bottom-1\\/2{bottom:-50%}.\\32xl\\:-bottom-1\\/3{bottom:-33.333333%}.\\32xl\\:-bottom-2\\/3{bottom:-66.666667%}.\\32xl\\:-bottom-1\\/4{bottom:-25%}.\\32xl\\:-bottom-2\\/4{bottom:-50%}.\\32xl\\:-bottom-3\\/4{bottom:-75%}.\\32xl\\:-bottom-full{bottom:-100%}.\\32xl\\:left-0{left:0px}.\\32xl\\:left-1{left:0.25rem}.\\32xl\\:left-2{left:0.5rem}.\\32xl\\:left-3{left:0.75rem}.\\32xl\\:left-4{left:1rem}.\\32xl\\:left-5{left:1.25rem}.\\32xl\\:left-6{left:1.5rem}.\\32xl\\:left-7{left:1.75rem}.\\32xl\\:left-8{left:2rem}.\\32xl\\:left-9{left:2.25rem}.\\32xl\\:left-10{left:2.5rem}.\\32xl\\:left-11{left:2.75rem}.\\32xl\\:left-12{left:3rem}.\\32xl\\:left-14{left:3.5rem}.\\32xl\\:left-16{left:4rem}.\\32xl\\:left-20{left:5rem}.\\32xl\\:left-24{left:6rem}.\\32xl\\:left-28{left:7rem}.\\32xl\\:left-32{left:8rem}.\\32xl\\:left-36{left:9rem}.\\32xl\\:left-40{left:10rem}.\\32xl\\:left-44{left:11rem}.\\32xl\\:left-48{left:12rem}.\\32xl\\:left-52{left:13rem}.\\32xl\\:left-56{left:14rem}.\\32xl\\:left-60{left:15rem}.\\32xl\\:left-64{left:16rem}.\\32xl\\:left-72{left:18rem}.\\32xl\\:left-80{left:20rem}.\\32xl\\:left-96{left:24rem}.\\32xl\\:left-auto{left:auto}.\\32xl\\:left-px{left:1px}.\\32xl\\:left-0\\.5{left:0.125rem}.\\32xl\\:left-1\\.5{left:0.375rem}.\\32xl\\:left-2\\.5{left:0.625rem}.\\32xl\\:left-3\\.5{left:0.875rem}.\\32xl\\:-left-0{left:0px}.\\32xl\\:-left-1{left:-0.25rem}.\\32xl\\:-left-2{left:-0.5rem}.\\32xl\\:-left-3{left:-0.75rem}.\\32xl\\:-left-4{left:-1rem}.\\32xl\\:-left-5{left:-1.25rem}.\\32xl\\:-left-6{left:-1.5rem}.\\32xl\\:-left-7{left:-1.75rem}.\\32xl\\:-left-8{left:-2rem}.\\32xl\\:-left-9{left:-2.25rem}.\\32xl\\:-left-10{left:-2.5rem}.\\32xl\\:-left-11{left:-2.75rem}.\\32xl\\:-left-12{left:-3rem}.\\32xl\\:-left-14{left:-3.5rem}.\\32xl\\:-left-16{left:-4rem}.\\32xl\\:-left-20{left:-5rem}.\\32xl\\:-left-24{left:-6rem}.\\32xl\\:-left-28{left:-7rem}.\\32xl\\:-left-32{left:-8rem}.\\32xl\\:-left-36{left:-9rem}.\\32xl\\:-left-40{left:-10rem}.\\32xl\\:-left-44{left:-11rem}.\\32xl\\:-left-48{left:-12rem}.\\32xl\\:-left-52{left:-13rem}.\\32xl\\:-left-56{left:-14rem}.\\32xl\\:-left-60{left:-15rem}.\\32xl\\:-left-64{left:-16rem}.\\32xl\\:-left-72{left:-18rem}.\\32xl\\:-left-80{left:-20rem}.\\32xl\\:-left-96{left:-24rem}.\\32xl\\:-left-px{left:-1px}.\\32xl\\:-left-0\\.5{left:-0.125rem}.\\32xl\\:-left-1\\.5{left:-0.375rem}.\\32xl\\:-left-2\\.5{left:-0.625rem}.\\32xl\\:-left-3\\.5{left:-0.875rem}.\\32xl\\:left-1\\/2{left:50%}.\\32xl\\:left-1\\/3{left:33.333333%}.\\32xl\\:left-2\\/3{left:66.666667%}.\\32xl\\:left-1\\/4{left:25%}.\\32xl\\:left-2\\/4{left:50%}.\\32xl\\:left-3\\/4{left:75%}.\\32xl\\:left-full{left:100%}.\\32xl\\:-left-1\\/2{left:-50%}.\\32xl\\:-left-1\\/3{left:-33.333333%}.\\32xl\\:-left-2\\/3{left:-66.666667%}.\\32xl\\:-left-1\\/4{left:-25%}.\\32xl\\:-left-2\\/4{left:-50%}.\\32xl\\:-left-3\\/4{left:-75%}.\\32xl\\:-left-full{left:-100%}.\\32xl\\:isolate{isolation:isolate}.\\32xl\\:isolation-auto{isolation:auto}.\\32xl\\:z-0{z-index:0}.\\32xl\\:z-10{z-index:10}.\\32xl\\:z-20{z-index:20}.\\32xl\\:z-30{z-index:30}.\\32xl\\:z-40{z-index:40}.\\32xl\\:z-50{z-index:50}.\\32xl\\:z-auto{z-index:auto}.\\32xl\\:focus-within\\:z-0:focus-within{z-index:0}.\\32xl\\:focus-within\\:z-10:focus-within{z-index:10}.\\32xl\\:focus-within\\:z-20:focus-within{z-index:20}.\\32xl\\:focus-within\\:z-30:focus-within{z-index:30}.\\32xl\\:focus-within\\:z-40:focus-within{z-index:40}.\\32xl\\:focus-within\\:z-50:focus-within{z-index:50}.\\32xl\\:focus-within\\:z-auto:focus-within{z-index:auto}.\\32xl\\:focus\\:z-0:focus{z-index:0}.\\32xl\\:focus\\:z-10:focus{z-index:10}.\\32xl\\:focus\\:z-20:focus{z-index:20}.\\32xl\\:focus\\:z-30:focus{z-index:30}.\\32xl\\:focus\\:z-40:focus{z-index:40}.\\32xl\\:focus\\:z-50:focus{z-index:50}.\\32xl\\:focus\\:z-auto:focus{z-index:auto}.\\32xl\\:order-1{order:1}.\\32xl\\:order-2{order:2}.\\32xl\\:order-3{order:3}.\\32xl\\:order-4{order:4}.\\32xl\\:order-5{order:5}.\\32xl\\:order-6{order:6}.\\32xl\\:order-7{order:7}.\\32xl\\:order-8{order:8}.\\32xl\\:order-9{order:9}.\\32xl\\:order-10{order:10}.\\32xl\\:order-11{order:11}.\\32xl\\:order-12{order:12}.\\32xl\\:order-first{order:-9999}.\\32xl\\:order-last{order:9999}.\\32xl\\:order-none{order:0}.\\32xl\\:col-auto{grid-column:auto}.\\32xl\\:col-span-1{grid-column:span 1 / span 1}.\\32xl\\:col-span-2{grid-column:span 2 / span 2}.\\32xl\\:col-span-3{grid-column:span 3 / span 3}.\\32xl\\:col-span-4{grid-column:span 4 / span 4}.\\32xl\\:col-span-5{grid-column:span 5 / span 5}.\\32xl\\:col-span-6{grid-column:span 6 / span 6}.\\32xl\\:col-span-7{grid-column:span 7 / span 7}.\\32xl\\:col-span-8{grid-column:span 8 / span 8}.\\32xl\\:col-span-9{grid-column:span 9 / span 9}.\\32xl\\:col-span-10{grid-column:span 10 / span 10}.\\32xl\\:col-span-11{grid-column:span 11 / span 11}.\\32xl\\:col-span-12{grid-column:span 12 / span 12}.\\32xl\\:col-span-full{grid-column:1 / -1}.\\32xl\\:col-start-1{grid-column-start:1}.\\32xl\\:col-start-2{grid-column-start:2}.\\32xl\\:col-start-3{grid-column-start:3}.\\32xl\\:col-start-4{grid-column-start:4}.\\32xl\\:col-start-5{grid-column-start:5}.\\32xl\\:col-start-6{grid-column-start:6}.\\32xl\\:col-start-7{grid-column-start:7}.\\32xl\\:col-start-8{grid-column-start:8}.\\32xl\\:col-start-9{grid-column-start:9}.\\32xl\\:col-start-10{grid-column-start:10}.\\32xl\\:col-start-11{grid-column-start:11}.\\32xl\\:col-start-12{grid-column-start:12}.\\32xl\\:col-start-13{grid-column-start:13}.\\32xl\\:col-start-auto{grid-column-start:auto}.\\32xl\\:col-end-1{grid-column-end:1}.\\32xl\\:col-end-2{grid-column-end:2}.\\32xl\\:col-end-3{grid-column-end:3}.\\32xl\\:col-end-4{grid-column-end:4}.\\32xl\\:col-end-5{grid-column-end:5}.\\32xl\\:col-end-6{grid-column-end:6}.\\32xl\\:col-end-7{grid-column-end:7}.\\32xl\\:col-end-8{grid-column-end:8}.\\32xl\\:col-end-9{grid-column-end:9}.\\32xl\\:col-end-10{grid-column-end:10}.\\32xl\\:col-end-11{grid-column-end:11}.\\32xl\\:col-end-12{grid-column-end:12}.\\32xl\\:col-end-13{grid-column-end:13}.\\32xl\\:col-end-auto{grid-column-end:auto}.\\32xl\\:row-auto{grid-row:auto}.\\32xl\\:row-span-1{grid-row:span 1 / span 1}.\\32xl\\:row-span-2{grid-row:span 2 / span 2}.\\32xl\\:row-span-3{grid-row:span 3 / span 3}.\\32xl\\:row-span-4{grid-row:span 4 / span 4}.\\32xl\\:row-span-5{grid-row:span 5 / span 5}.\\32xl\\:row-span-6{grid-row:span 6 / span 6}.\\32xl\\:row-span-full{grid-row:1 / -1}.\\32xl\\:row-start-1{grid-row-start:1}.\\32xl\\:row-start-2{grid-row-start:2}.\\32xl\\:row-start-3{grid-row-start:3}.\\32xl\\:row-start-4{grid-row-start:4}.\\32xl\\:row-start-5{grid-row-start:5}.\\32xl\\:row-start-6{grid-row-start:6}.\\32xl\\:row-start-7{grid-row-start:7}.\\32xl\\:row-start-auto{grid-row-start:auto}.\\32xl\\:row-end-1{grid-row-end:1}.\\32xl\\:row-end-2{grid-row-end:2}.\\32xl\\:row-end-3{grid-row-end:3}.\\32xl\\:row-end-4{grid-row-end:4}.\\32xl\\:row-end-5{grid-row-end:5}.\\32xl\\:row-end-6{grid-row-end:6}.\\32xl\\:row-end-7{grid-row-end:7}.\\32xl\\:row-end-auto{grid-row-end:auto}.\\32xl\\:float-right{float:right}.\\32xl\\:float-left{float:left}.\\32xl\\:float-none{float:none}.\\32xl\\:clear-left{clear:left}.\\32xl\\:clear-right{clear:right}.\\32xl\\:clear-both{clear:both}.\\32xl\\:clear-none{clear:none}.\\32xl\\:m-0{margin:0px}.\\32xl\\:m-1{margin:0.25rem}.\\32xl\\:m-2{margin:0.5rem}.\\32xl\\:m-3{margin:0.75rem}.\\32xl\\:m-4{margin:1rem}.\\32xl\\:m-5{margin:1.25rem}.\\32xl\\:m-6{margin:1.5rem}.\\32xl\\:m-7{margin:1.75rem}.\\32xl\\:m-8{margin:2rem}.\\32xl\\:m-9{margin:2.25rem}.\\32xl\\:m-10{margin:2.5rem}.\\32xl\\:m-11{margin:2.75rem}.\\32xl\\:m-12{margin:3rem}.\\32xl\\:m-14{margin:3.5rem}.\\32xl\\:m-16{margin:4rem}.\\32xl\\:m-20{margin:5rem}.\\32xl\\:m-24{margin:6rem}.\\32xl\\:m-28{margin:7rem}.\\32xl\\:m-32{margin:8rem}.\\32xl\\:m-36{margin:9rem}.\\32xl\\:m-40{margin:10rem}.\\32xl\\:m-44{margin:11rem}.\\32xl\\:m-48{margin:12rem}.\\32xl\\:m-52{margin:13rem}.\\32xl\\:m-56{margin:14rem}.\\32xl\\:m-60{margin:15rem}.\\32xl\\:m-64{margin:16rem}.\\32xl\\:m-72{margin:18rem}.\\32xl\\:m-80{margin:20rem}.\\32xl\\:m-96{margin:24rem}.\\32xl\\:m-auto{margin:auto}.\\32xl\\:m-px{margin:1px}.\\32xl\\:m-0\\.5{margin:0.125rem}.\\32xl\\:m-1\\.5{margin:0.375rem}.\\32xl\\:m-2\\.5{margin:0.625rem}.\\32xl\\:m-3\\.5{margin:0.875rem}.\\32xl\\:-m-0{margin:0px}.\\32xl\\:-m-1{margin:-0.25rem}.\\32xl\\:-m-2{margin:-0.5rem}.\\32xl\\:-m-3{margin:-0.75rem}.\\32xl\\:-m-4{margin:-1rem}.\\32xl\\:-m-5{margin:-1.25rem}.\\32xl\\:-m-6{margin:-1.5rem}.\\32xl\\:-m-7{margin:-1.75rem}.\\32xl\\:-m-8{margin:-2rem}.\\32xl\\:-m-9{margin:-2.25rem}.\\32xl\\:-m-10{margin:-2.5rem}.\\32xl\\:-m-11{margin:-2.75rem}.\\32xl\\:-m-12{margin:-3rem}.\\32xl\\:-m-14{margin:-3.5rem}.\\32xl\\:-m-16{margin:-4rem}.\\32xl\\:-m-20{margin:-5rem}.\\32xl\\:-m-24{margin:-6rem}.\\32xl\\:-m-28{margin:-7rem}.\\32xl\\:-m-32{margin:-8rem}.\\32xl\\:-m-36{margin:-9rem}.\\32xl\\:-m-40{margin:-10rem}.\\32xl\\:-m-44{margin:-11rem}.\\32xl\\:-m-48{margin:-12rem}.\\32xl\\:-m-52{margin:-13rem}.\\32xl\\:-m-56{margin:-14rem}.\\32xl\\:-m-60{margin:-15rem}.\\32xl\\:-m-64{margin:-16rem}.\\32xl\\:-m-72{margin:-18rem}.\\32xl\\:-m-80{margin:-20rem}.\\32xl\\:-m-96{margin:-24rem}.\\32xl\\:-m-px{margin:-1px}.\\32xl\\:-m-0\\.5{margin:-0.125rem}.\\32xl\\:-m-1\\.5{margin:-0.375rem}.\\32xl\\:-m-2\\.5{margin:-0.625rem}.\\32xl\\:-m-3\\.5{margin:-0.875rem}.\\32xl\\:mx-0{margin-left:0px;margin-right:0px}.\\32xl\\:mx-1{margin-left:0.25rem;margin-right:0.25rem}.\\32xl\\:mx-2{margin-left:0.5rem;margin-right:0.5rem}.\\32xl\\:mx-3{margin-left:0.75rem;margin-right:0.75rem}.\\32xl\\:mx-4{margin-left:1rem;margin-right:1rem}.\\32xl\\:mx-5{margin-left:1.25rem;margin-right:1.25rem}.\\32xl\\:mx-6{margin-left:1.5rem;margin-right:1.5rem}.\\32xl\\:mx-7{margin-left:1.75rem;margin-right:1.75rem}.\\32xl\\:mx-8{margin-left:2rem;margin-right:2rem}.\\32xl\\:mx-9{margin-left:2.25rem;margin-right:2.25rem}.\\32xl\\:mx-10{margin-left:2.5rem;margin-right:2.5rem}.\\32xl\\:mx-11{margin-left:2.75rem;margin-right:2.75rem}.\\32xl\\:mx-12{margin-left:3rem;margin-right:3rem}.\\32xl\\:mx-14{margin-left:3.5rem;margin-right:3.5rem}.\\32xl\\:mx-16{margin-left:4rem;margin-right:4rem}.\\32xl\\:mx-20{margin-left:5rem;margin-right:5rem}.\\32xl\\:mx-24{margin-left:6rem;margin-right:6rem}.\\32xl\\:mx-28{margin-left:7rem;margin-right:7rem}.\\32xl\\:mx-32{margin-left:8rem;margin-right:8rem}.\\32xl\\:mx-36{margin-left:9rem;margin-right:9rem}.\\32xl\\:mx-40{margin-left:10rem;margin-right:10rem}.\\32xl\\:mx-44{margin-left:11rem;margin-right:11rem}.\\32xl\\:mx-48{margin-left:12rem;margin-right:12rem}.\\32xl\\:mx-52{margin-left:13rem;margin-right:13rem}.\\32xl\\:mx-56{margin-left:14rem;margin-right:14rem}.\\32xl\\:mx-60{margin-left:15rem;margin-right:15rem}.\\32xl\\:mx-64{margin-left:16rem;margin-right:16rem}.\\32xl\\:mx-72{margin-left:18rem;margin-right:18rem}.\\32xl\\:mx-80{margin-left:20rem;margin-right:20rem}.\\32xl\\:mx-96{margin-left:24rem;margin-right:24rem}.\\32xl\\:mx-auto{margin-left:auto;margin-right:auto}.\\32xl\\:mx-px{margin-left:1px;margin-right:1px}.\\32xl\\:mx-0\\.5{margin-left:0.125rem;margin-right:0.125rem}.\\32xl\\:mx-1\\.5{margin-left:0.375rem;margin-right:0.375rem}.\\32xl\\:mx-2\\.5{margin-left:0.625rem;margin-right:0.625rem}.\\32xl\\:mx-3\\.5{margin-left:0.875rem;margin-right:0.875rem}.\\32xl\\:-mx-0{margin-left:0px;margin-right:0px}.\\32xl\\:-mx-1{margin-left:-0.25rem;margin-right:-0.25rem}.\\32xl\\:-mx-2{margin-left:-0.5rem;margin-right:-0.5rem}.\\32xl\\:-mx-3{margin-left:-0.75rem;margin-right:-0.75rem}.\\32xl\\:-mx-4{margin-left:-1rem;margin-right:-1rem}.\\32xl\\:-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.\\32xl\\:-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.\\32xl\\:-mx-7{margin-left:-1.75rem;margin-right:-1.75rem}.\\32xl\\:-mx-8{margin-left:-2rem;margin-right:-2rem}.\\32xl\\:-mx-9{margin-left:-2.25rem;margin-right:-2.25rem}.\\32xl\\:-mx-10{margin-left:-2.5rem;margin-right:-2.5rem}.\\32xl\\:-mx-11{margin-left:-2.75rem;margin-right:-2.75rem}.\\32xl\\:-mx-12{margin-left:-3rem;margin-right:-3rem}.\\32xl\\:-mx-14{margin-left:-3.5rem;margin-right:-3.5rem}.\\32xl\\:-mx-16{margin-left:-4rem;margin-right:-4rem}.\\32xl\\:-mx-20{margin-left:-5rem;margin-right:-5rem}.\\32xl\\:-mx-24{margin-left:-6rem;margin-right:-6rem}.\\32xl\\:-mx-28{margin-left:-7rem;margin-right:-7rem}.\\32xl\\:-mx-32{margin-left:-8rem;margin-right:-8rem}.\\32xl\\:-mx-36{margin-left:-9rem;margin-right:-9rem}.\\32xl\\:-mx-40{margin-left:-10rem;margin-right:-10rem}.\\32xl\\:-mx-44{margin-left:-11rem;margin-right:-11rem}.\\32xl\\:-mx-48{margin-left:-12rem;margin-right:-12rem}.\\32xl\\:-mx-52{margin-left:-13rem;margin-right:-13rem}.\\32xl\\:-mx-56{margin-left:-14rem;margin-right:-14rem}.\\32xl\\:-mx-60{margin-left:-15rem;margin-right:-15rem}.\\32xl\\:-mx-64{margin-left:-16rem;margin-right:-16rem}.\\32xl\\:-mx-72{margin-left:-18rem;margin-right:-18rem}.\\32xl\\:-mx-80{margin-left:-20rem;margin-right:-20rem}.\\32xl\\:-mx-96{margin-left:-24rem;margin-right:-24rem}.\\32xl\\:-mx-px{margin-left:-1px;margin-right:-1px}.\\32xl\\:-mx-0\\.5{margin-left:-0.125rem;margin-right:-0.125rem}.\\32xl\\:-mx-1\\.5{margin-left:-0.375rem;margin-right:-0.375rem}.\\32xl\\:-mx-2\\.5{margin-left:-0.625rem;margin-right:-0.625rem}.\\32xl\\:-mx-3\\.5{margin-left:-0.875rem;margin-right:-0.875rem}.\\32xl\\:my-0{margin-top:0px;margin-bottom:0px}.\\32xl\\:my-1{margin-top:0.25rem;margin-bottom:0.25rem}.\\32xl\\:my-2{margin-top:0.5rem;margin-bottom:0.5rem}.\\32xl\\:my-3{margin-top:0.75rem;margin-bottom:0.75rem}.\\32xl\\:my-4{margin-top:1rem;margin-bottom:1rem}.\\32xl\\:my-5{margin-top:1.25rem;margin-bottom:1.25rem}.\\32xl\\:my-6{margin-top:1.5rem;margin-bottom:1.5rem}.\\32xl\\:my-7{margin-top:1.75rem;margin-bottom:1.75rem}.\\32xl\\:my-8{margin-top:2rem;margin-bottom:2rem}.\\32xl\\:my-9{margin-top:2.25rem;margin-bottom:2.25rem}.\\32xl\\:my-10{margin-top:2.5rem;margin-bottom:2.5rem}.\\32xl\\:my-11{margin-top:2.75rem;margin-bottom:2.75rem}.\\32xl\\:my-12{margin-top:3rem;margin-bottom:3rem}.\\32xl\\:my-14{margin-top:3.5rem;margin-bottom:3.5rem}.\\32xl\\:my-16{margin-top:4rem;margin-bottom:4rem}.\\32xl\\:my-20{margin-top:5rem;margin-bottom:5rem}.\\32xl\\:my-24{margin-top:6rem;margin-bottom:6rem}.\\32xl\\:my-28{margin-top:7rem;margin-bottom:7rem}.\\32xl\\:my-32{margin-top:8rem;margin-bottom:8rem}.\\32xl\\:my-36{margin-top:9rem;margin-bottom:9rem}.\\32xl\\:my-40{margin-top:10rem;margin-bottom:10rem}.\\32xl\\:my-44{margin-top:11rem;margin-bottom:11rem}.\\32xl\\:my-48{margin-top:12rem;margin-bottom:12rem}.\\32xl\\:my-52{margin-top:13rem;margin-bottom:13rem}.\\32xl\\:my-56{margin-top:14rem;margin-bottom:14rem}.\\32xl\\:my-60{margin-top:15rem;margin-bottom:15rem}.\\32xl\\:my-64{margin-top:16rem;margin-bottom:16rem}.\\32xl\\:my-72{margin-top:18rem;margin-bottom:18rem}.\\32xl\\:my-80{margin-top:20rem;margin-bottom:20rem}.\\32xl\\:my-96{margin-top:24rem;margin-bottom:24rem}.\\32xl\\:my-auto{margin-top:auto;margin-bottom:auto}.\\32xl\\:my-px{margin-top:1px;margin-bottom:1px}.\\32xl\\:my-0\\.5{margin-top:0.125rem;margin-bottom:0.125rem}.\\32xl\\:my-1\\.5{margin-top:0.375rem;margin-bottom:0.375rem}.\\32xl\\:my-2\\.5{margin-top:0.625rem;margin-bottom:0.625rem}.\\32xl\\:my-3\\.5{margin-top:0.875rem;margin-bottom:0.875rem}.\\32xl\\:-my-0{margin-top:0px;margin-bottom:0px}.\\32xl\\:-my-1{margin-top:-0.25rem;margin-bottom:-0.25rem}.\\32xl\\:-my-2{margin-top:-0.5rem;margin-bottom:-0.5rem}.\\32xl\\:-my-3{margin-top:-0.75rem;margin-bottom:-0.75rem}.\\32xl\\:-my-4{margin-top:-1rem;margin-bottom:-1rem}.\\32xl\\:-my-5{margin-top:-1.25rem;margin-bottom:-1.25rem}.\\32xl\\:-my-6{margin-top:-1.5rem;margin-bottom:-1.5rem}.\\32xl\\:-my-7{margin-top:-1.75rem;margin-bottom:-1.75rem}.\\32xl\\:-my-8{margin-top:-2rem;margin-bottom:-2rem}.\\32xl\\:-my-9{margin-top:-2.25rem;margin-bottom:-2.25rem}.\\32xl\\:-my-10{margin-top:-2.5rem;margin-bottom:-2.5rem}.\\32xl\\:-my-11{margin-top:-2.75rem;margin-bottom:-2.75rem}.\\32xl\\:-my-12{margin-top:-3rem;margin-bottom:-3rem}.\\32xl\\:-my-14{margin-top:-3.5rem;margin-bottom:-3.5rem}.\\32xl\\:-my-16{margin-top:-4rem;margin-bottom:-4rem}.\\32xl\\:-my-20{margin-top:-5rem;margin-bottom:-5rem}.\\32xl\\:-my-24{margin-top:-6rem;margin-bottom:-6rem}.\\32xl\\:-my-28{margin-top:-7rem;margin-bottom:-7rem}.\\32xl\\:-my-32{margin-top:-8rem;margin-bottom:-8rem}.\\32xl\\:-my-36{margin-top:-9rem;margin-bottom:-9rem}.\\32xl\\:-my-40{margin-top:-10rem;margin-bottom:-10rem}.\\32xl\\:-my-44{margin-top:-11rem;margin-bottom:-11rem}.\\32xl\\:-my-48{margin-top:-12rem;margin-bottom:-12rem}.\\32xl\\:-my-52{margin-top:-13rem;margin-bottom:-13rem}.\\32xl\\:-my-56{margin-top:-14rem;margin-bottom:-14rem}.\\32xl\\:-my-60{margin-top:-15rem;margin-bottom:-15rem}.\\32xl\\:-my-64{margin-top:-16rem;margin-bottom:-16rem}.\\32xl\\:-my-72{margin-top:-18rem;margin-bottom:-18rem}.\\32xl\\:-my-80{margin-top:-20rem;margin-bottom:-20rem}.\\32xl\\:-my-96{margin-top:-24rem;margin-bottom:-24rem}.\\32xl\\:-my-px{margin-top:-1px;margin-bottom:-1px}.\\32xl\\:-my-0\\.5{margin-top:-0.125rem;margin-bottom:-0.125rem}.\\32xl\\:-my-1\\.5{margin-top:-0.375rem;margin-bottom:-0.375rem}.\\32xl\\:-my-2\\.5{margin-top:-0.625rem;margin-bottom:-0.625rem}.\\32xl\\:-my-3\\.5{margin-top:-0.875rem;margin-bottom:-0.875rem}.\\32xl\\:mt-0{margin-top:0px}.\\32xl\\:mt-1{margin-top:0.25rem}.\\32xl\\:mt-2{margin-top:0.5rem}.\\32xl\\:mt-3{margin-top:0.75rem}.\\32xl\\:mt-4{margin-top:1rem}.\\32xl\\:mt-5{margin-top:1.25rem}.\\32xl\\:mt-6{margin-top:1.5rem}.\\32xl\\:mt-7{margin-top:1.75rem}.\\32xl\\:mt-8{margin-top:2rem}.\\32xl\\:mt-9{margin-top:2.25rem}.\\32xl\\:mt-10{margin-top:2.5rem}.\\32xl\\:mt-11{margin-top:2.75rem}.\\32xl\\:mt-12{margin-top:3rem}.\\32xl\\:mt-14{margin-top:3.5rem}.\\32xl\\:mt-16{margin-top:4rem}.\\32xl\\:mt-20{margin-top:5rem}.\\32xl\\:mt-24{margin-top:6rem}.\\32xl\\:mt-28{margin-top:7rem}.\\32xl\\:mt-32{margin-top:8rem}.\\32xl\\:mt-36{margin-top:9rem}.\\32xl\\:mt-40{margin-top:10rem}.\\32xl\\:mt-44{margin-top:11rem}.\\32xl\\:mt-48{margin-top:12rem}.\\32xl\\:mt-52{margin-top:13rem}.\\32xl\\:mt-56{margin-top:14rem}.\\32xl\\:mt-60{margin-top:15rem}.\\32xl\\:mt-64{margin-top:16rem}.\\32xl\\:mt-72{margin-top:18rem}.\\32xl\\:mt-80{margin-top:20rem}.\\32xl\\:mt-96{margin-top:24rem}.\\32xl\\:mt-auto{margin-top:auto}.\\32xl\\:mt-px{margin-top:1px}.\\32xl\\:mt-0\\.5{margin-top:0.125rem}.\\32xl\\:mt-1\\.5{margin-top:0.375rem}.\\32xl\\:mt-2\\.5{margin-top:0.625rem}.\\32xl\\:mt-3\\.5{margin-top:0.875rem}.\\32xl\\:-mt-0{margin-top:0px}.\\32xl\\:-mt-1{margin-top:-0.25rem}.\\32xl\\:-mt-2{margin-top:-0.5rem}.\\32xl\\:-mt-3{margin-top:-0.75rem}.\\32xl\\:-mt-4{margin-top:-1rem}.\\32xl\\:-mt-5{margin-top:-1.25rem}.\\32xl\\:-mt-6{margin-top:-1.5rem}.\\32xl\\:-mt-7{margin-top:-1.75rem}.\\32xl\\:-mt-8{margin-top:-2rem}.\\32xl\\:-mt-9{margin-top:-2.25rem}.\\32xl\\:-mt-10{margin-top:-2.5rem}.\\32xl\\:-mt-11{margin-top:-2.75rem}.\\32xl\\:-mt-12{margin-top:-3rem}.\\32xl\\:-mt-14{margin-top:-3.5rem}.\\32xl\\:-mt-16{margin-top:-4rem}.\\32xl\\:-mt-20{margin-top:-5rem}.\\32xl\\:-mt-24{margin-top:-6rem}.\\32xl\\:-mt-28{margin-top:-7rem}.\\32xl\\:-mt-32{margin-top:-8rem}.\\32xl\\:-mt-36{margin-top:-9rem}.\\32xl\\:-mt-40{margin-top:-10rem}.\\32xl\\:-mt-44{margin-top:-11rem}.\\32xl\\:-mt-48{margin-top:-12rem}.\\32xl\\:-mt-52{margin-top:-13rem}.\\32xl\\:-mt-56{margin-top:-14rem}.\\32xl\\:-mt-60{margin-top:-15rem}.\\32xl\\:-mt-64{margin-top:-16rem}.\\32xl\\:-mt-72{margin-top:-18rem}.\\32xl\\:-mt-80{margin-top:-20rem}.\\32xl\\:-mt-96{margin-top:-24rem}.\\32xl\\:-mt-px{margin-top:-1px}.\\32xl\\:-mt-0\\.5{margin-top:-0.125rem}.\\32xl\\:-mt-1\\.5{margin-top:-0.375rem}.\\32xl\\:-mt-2\\.5{margin-top:-0.625rem}.\\32xl\\:-mt-3\\.5{margin-top:-0.875rem}.\\32xl\\:mr-0{margin-right:0px}.\\32xl\\:mr-1{margin-right:0.25rem}.\\32xl\\:mr-2{margin-right:0.5rem}.\\32xl\\:mr-3{margin-right:0.75rem}.\\32xl\\:mr-4{margin-right:1rem}.\\32xl\\:mr-5{margin-right:1.25rem}.\\32xl\\:mr-6{margin-right:1.5rem}.\\32xl\\:mr-7{margin-right:1.75rem}.\\32xl\\:mr-8{margin-right:2rem}.\\32xl\\:mr-9{margin-right:2.25rem}.\\32xl\\:mr-10{margin-right:2.5rem}.\\32xl\\:mr-11{margin-right:2.75rem}.\\32xl\\:mr-12{margin-right:3rem}.\\32xl\\:mr-14{margin-right:3.5rem}.\\32xl\\:mr-16{margin-right:4rem}.\\32xl\\:mr-20{margin-right:5rem}.\\32xl\\:mr-24{margin-right:6rem}.\\32xl\\:mr-28{margin-right:7rem}.\\32xl\\:mr-32{margin-right:8rem}.\\32xl\\:mr-36{margin-right:9rem}.\\32xl\\:mr-40{margin-right:10rem}.\\32xl\\:mr-44{margin-right:11rem}.\\32xl\\:mr-48{margin-right:12rem}.\\32xl\\:mr-52{margin-right:13rem}.\\32xl\\:mr-56{margin-right:14rem}.\\32xl\\:mr-60{margin-right:15rem}.\\32xl\\:mr-64{margin-right:16rem}.\\32xl\\:mr-72{margin-right:18rem}.\\32xl\\:mr-80{margin-right:20rem}.\\32xl\\:mr-96{margin-right:24rem}.\\32xl\\:mr-auto{margin-right:auto}.\\32xl\\:mr-px{margin-right:1px}.\\32xl\\:mr-0\\.5{margin-right:0.125rem}.\\32xl\\:mr-1\\.5{margin-right:0.375rem}.\\32xl\\:mr-2\\.5{margin-right:0.625rem}.\\32xl\\:mr-3\\.5{margin-right:0.875rem}.\\32xl\\:-mr-0{margin-right:0px}.\\32xl\\:-mr-1{margin-right:-0.25rem}.\\32xl\\:-mr-2{margin-right:-0.5rem}.\\32xl\\:-mr-3{margin-right:-0.75rem}.\\32xl\\:-mr-4{margin-right:-1rem}.\\32xl\\:-mr-5{margin-right:-1.25rem}.\\32xl\\:-mr-6{margin-right:-1.5rem}.\\32xl\\:-mr-7{margin-right:-1.75rem}.\\32xl\\:-mr-8{margin-right:-2rem}.\\32xl\\:-mr-9{margin-right:-2.25rem}.\\32xl\\:-mr-10{margin-right:-2.5rem}.\\32xl\\:-mr-11{margin-right:-2.75rem}.\\32xl\\:-mr-12{margin-right:-3rem}.\\32xl\\:-mr-14{margin-right:-3.5rem}.\\32xl\\:-mr-16{margin-right:-4rem}.\\32xl\\:-mr-20{margin-right:-5rem}.\\32xl\\:-mr-24{margin-right:-6rem}.\\32xl\\:-mr-28{margin-right:-7rem}.\\32xl\\:-mr-32{margin-right:-8rem}.\\32xl\\:-mr-36{margin-right:-9rem}.\\32xl\\:-mr-40{margin-right:-10rem}.\\32xl\\:-mr-44{margin-right:-11rem}.\\32xl\\:-mr-48{margin-right:-12rem}.\\32xl\\:-mr-52{margin-right:-13rem}.\\32xl\\:-mr-56{margin-right:-14rem}.\\32xl\\:-mr-60{margin-right:-15rem}.\\32xl\\:-mr-64{margin-right:-16rem}.\\32xl\\:-mr-72{margin-right:-18rem}.\\32xl\\:-mr-80{margin-right:-20rem}.\\32xl\\:-mr-96{margin-right:-24rem}.\\32xl\\:-mr-px{margin-right:-1px}.\\32xl\\:-mr-0\\.5{margin-right:-0.125rem}.\\32xl\\:-mr-1\\.5{margin-right:-0.375rem}.\\32xl\\:-mr-2\\.5{margin-right:-0.625rem}.\\32xl\\:-mr-3\\.5{margin-right:-0.875rem}.\\32xl\\:mb-0{margin-bottom:0px}.\\32xl\\:mb-1{margin-bottom:0.25rem}.\\32xl\\:mb-2{margin-bottom:0.5rem}.\\32xl\\:mb-3{margin-bottom:0.75rem}.\\32xl\\:mb-4{margin-bottom:1rem}.\\32xl\\:mb-5{margin-bottom:1.25rem}.\\32xl\\:mb-6{margin-bottom:1.5rem}.\\32xl\\:mb-7{margin-bottom:1.75rem}.\\32xl\\:mb-8{margin-bottom:2rem}.\\32xl\\:mb-9{margin-bottom:2.25rem}.\\32xl\\:mb-10{margin-bottom:2.5rem}.\\32xl\\:mb-11{margin-bottom:2.75rem}.\\32xl\\:mb-12{margin-bottom:3rem}.\\32xl\\:mb-14{margin-bottom:3.5rem}.\\32xl\\:mb-16{margin-bottom:4rem}.\\32xl\\:mb-20{margin-bottom:5rem}.\\32xl\\:mb-24{margin-bottom:6rem}.\\32xl\\:mb-28{margin-bottom:7rem}.\\32xl\\:mb-32{margin-bottom:8rem}.\\32xl\\:mb-36{margin-bottom:9rem}.\\32xl\\:mb-40{margin-bottom:10rem}.\\32xl\\:mb-44{margin-bottom:11rem}.\\32xl\\:mb-48{margin-bottom:12rem}.\\32xl\\:mb-52{margin-bottom:13rem}.\\32xl\\:mb-56{margin-bottom:14rem}.\\32xl\\:mb-60{margin-bottom:15rem}.\\32xl\\:mb-64{margin-bottom:16rem}.\\32xl\\:mb-72{margin-bottom:18rem}.\\32xl\\:mb-80{margin-bottom:20rem}.\\32xl\\:mb-96{margin-bottom:24rem}.\\32xl\\:mb-auto{margin-bottom:auto}.\\32xl\\:mb-px{margin-bottom:1px}.\\32xl\\:mb-0\\.5{margin-bottom:0.125rem}.\\32xl\\:mb-1\\.5{margin-bottom:0.375rem}.\\32xl\\:mb-2\\.5{margin-bottom:0.625rem}.\\32xl\\:mb-3\\.5{margin-bottom:0.875rem}.\\32xl\\:-mb-0{margin-bottom:0px}.\\32xl\\:-mb-1{margin-bottom:-0.25rem}.\\32xl\\:-mb-2{margin-bottom:-0.5rem}.\\32xl\\:-mb-3{margin-bottom:-0.75rem}.\\32xl\\:-mb-4{margin-bottom:-1rem}.\\32xl\\:-mb-5{margin-bottom:-1.25rem}.\\32xl\\:-mb-6{margin-bottom:-1.5rem}.\\32xl\\:-mb-7{margin-bottom:-1.75rem}.\\32xl\\:-mb-8{margin-bottom:-2rem}.\\32xl\\:-mb-9{margin-bottom:-2.25rem}.\\32xl\\:-mb-10{margin-bottom:-2.5rem}.\\32xl\\:-mb-11{margin-bottom:-2.75rem}.\\32xl\\:-mb-12{margin-bottom:-3rem}.\\32xl\\:-mb-14{margin-bottom:-3.5rem}.\\32xl\\:-mb-16{margin-bottom:-4rem}.\\32xl\\:-mb-20{margin-bottom:-5rem}.\\32xl\\:-mb-24{margin-bottom:-6rem}.\\32xl\\:-mb-28{margin-bottom:-7rem}.\\32xl\\:-mb-32{margin-bottom:-8rem}.\\32xl\\:-mb-36{margin-bottom:-9rem}.\\32xl\\:-mb-40{margin-bottom:-10rem}.\\32xl\\:-mb-44{margin-bottom:-11rem}.\\32xl\\:-mb-48{margin-bottom:-12rem}.\\32xl\\:-mb-52{margin-bottom:-13rem}.\\32xl\\:-mb-56{margin-bottom:-14rem}.\\32xl\\:-mb-60{margin-bottom:-15rem}.\\32xl\\:-mb-64{margin-bottom:-16rem}.\\32xl\\:-mb-72{margin-bottom:-18rem}.\\32xl\\:-mb-80{margin-bottom:-20rem}.\\32xl\\:-mb-96{margin-bottom:-24rem}.\\32xl\\:-mb-px{margin-bottom:-1px}.\\32xl\\:-mb-0\\.5{margin-bottom:-0.125rem}.\\32xl\\:-mb-1\\.5{margin-bottom:-0.375rem}.\\32xl\\:-mb-2\\.5{margin-bottom:-0.625rem}.\\32xl\\:-mb-3\\.5{margin-bottom:-0.875rem}.\\32xl\\:ml-0{margin-left:0px}.\\32xl\\:ml-1{margin-left:0.25rem}.\\32xl\\:ml-2{margin-left:0.5rem}.\\32xl\\:ml-3{margin-left:0.75rem}.\\32xl\\:ml-4{margin-left:1rem}.\\32xl\\:ml-5{margin-left:1.25rem}.\\32xl\\:ml-6{margin-left:1.5rem}.\\32xl\\:ml-7{margin-left:1.75rem}.\\32xl\\:ml-8{margin-left:2rem}.\\32xl\\:ml-9{margin-left:2.25rem}.\\32xl\\:ml-10{margin-left:2.5rem}.\\32xl\\:ml-11{margin-left:2.75rem}.\\32xl\\:ml-12{margin-left:3rem}.\\32xl\\:ml-14{margin-left:3.5rem}.\\32xl\\:ml-16{margin-left:4rem}.\\32xl\\:ml-20{margin-left:5rem}.\\32xl\\:ml-24{margin-left:6rem}.\\32xl\\:ml-28{margin-left:7rem}.\\32xl\\:ml-32{margin-left:8rem}.\\32xl\\:ml-36{margin-left:9rem}.\\32xl\\:ml-40{margin-left:10rem}.\\32xl\\:ml-44{margin-left:11rem}.\\32xl\\:ml-48{margin-left:12rem}.\\32xl\\:ml-52{margin-left:13rem}.\\32xl\\:ml-56{margin-left:14rem}.\\32xl\\:ml-60{margin-left:15rem}.\\32xl\\:ml-64{margin-left:16rem}.\\32xl\\:ml-72{margin-left:18rem}.\\32xl\\:ml-80{margin-left:20rem}.\\32xl\\:ml-96{margin-left:24rem}.\\32xl\\:ml-auto{margin-left:auto}.\\32xl\\:ml-px{margin-left:1px}.\\32xl\\:ml-0\\.5{margin-left:0.125rem}.\\32xl\\:ml-1\\.5{margin-left:0.375rem}.\\32xl\\:ml-2\\.5{margin-left:0.625rem}.\\32xl\\:ml-3\\.5{margin-left:0.875rem}.\\32xl\\:-ml-0{margin-left:0px}.\\32xl\\:-ml-1{margin-left:-0.25rem}.\\32xl\\:-ml-2{margin-left:-0.5rem}.\\32xl\\:-ml-3{margin-left:-0.75rem}.\\32xl\\:-ml-4{margin-left:-1rem}.\\32xl\\:-ml-5{margin-left:-1.25rem}.\\32xl\\:-ml-6{margin-left:-1.5rem}.\\32xl\\:-ml-7{margin-left:-1.75rem}.\\32xl\\:-ml-8{margin-left:-2rem}.\\32xl\\:-ml-9{margin-left:-2.25rem}.\\32xl\\:-ml-10{margin-left:-2.5rem}.\\32xl\\:-ml-11{margin-left:-2.75rem}.\\32xl\\:-ml-12{margin-left:-3rem}.\\32xl\\:-ml-14{margin-left:-3.5rem}.\\32xl\\:-ml-16{margin-left:-4rem}.\\32xl\\:-ml-20{margin-left:-5rem}.\\32xl\\:-ml-24{margin-left:-6rem}.\\32xl\\:-ml-28{margin-left:-7rem}.\\32xl\\:-ml-32{margin-left:-8rem}.\\32xl\\:-ml-36{margin-left:-9rem}.\\32xl\\:-ml-40{margin-left:-10rem}.\\32xl\\:-ml-44{margin-left:-11rem}.\\32xl\\:-ml-48{margin-left:-12rem}.\\32xl\\:-ml-52{margin-left:-13rem}.\\32xl\\:-ml-56{margin-left:-14rem}.\\32xl\\:-ml-60{margin-left:-15rem}.\\32xl\\:-ml-64{margin-left:-16rem}.\\32xl\\:-ml-72{margin-left:-18rem}.\\32xl\\:-ml-80{margin-left:-20rem}.\\32xl\\:-ml-96{margin-left:-24rem}.\\32xl\\:-ml-px{margin-left:-1px}.\\32xl\\:-ml-0\\.5{margin-left:-0.125rem}.\\32xl\\:-ml-1\\.5{margin-left:-0.375rem}.\\32xl\\:-ml-2\\.5{margin-left:-0.625rem}.\\32xl\\:-ml-3\\.5{margin-left:-0.875rem}.\\32xl\\:box-border{box-sizing:border-box}.\\32xl\\:box-content{box-sizing:content-box}.\\32xl\\:block{display:block}.\\32xl\\:inline-block{display:inline-block}.\\32xl\\:inline{display:inline}.\\32xl\\:flex{display:flex}.\\32xl\\:inline-flex{display:inline-flex}.\\32xl\\:table{display:table}.\\32xl\\:inline-table{display:inline-table}.\\32xl\\:table-caption{display:table-caption}.\\32xl\\:table-cell{display:table-cell}.\\32xl\\:table-column{display:table-column}.\\32xl\\:table-column-group{display:table-column-group}.\\32xl\\:table-footer-group{display:table-footer-group}.\\32xl\\:table-header-group{display:table-header-group}.\\32xl\\:table-row-group{display:table-row-group}.\\32xl\\:table-row{display:table-row}.\\32xl\\:flow-root{display:flow-root}.\\32xl\\:grid{display:grid}.\\32xl\\:inline-grid{display:inline-grid}.\\32xl\\:contents{display:contents}.\\32xl\\:list-item{display:list-item}.\\32xl\\:hidden{display:none}.\\32xl\\:h-0{height:0px}.\\32xl\\:h-1{height:0.25rem}.\\32xl\\:h-2{height:0.5rem}.\\32xl\\:h-3{height:0.75rem}.\\32xl\\:h-4{height:1rem}.\\32xl\\:h-5{height:1.25rem}.\\32xl\\:h-6{height:1.5rem}.\\32xl\\:h-7{height:1.75rem}.\\32xl\\:h-8{height:2rem}.\\32xl\\:h-9{height:2.25rem}.\\32xl\\:h-10{height:2.5rem}.\\32xl\\:h-11{height:2.75rem}.\\32xl\\:h-12{height:3rem}.\\32xl\\:h-14{height:3.5rem}.\\32xl\\:h-16{height:4rem}.\\32xl\\:h-20{height:5rem}.\\32xl\\:h-24{height:6rem}.\\32xl\\:h-28{height:7rem}.\\32xl\\:h-32{height:8rem}.\\32xl\\:h-36{height:9rem}.\\32xl\\:h-40{height:10rem}.\\32xl\\:h-44{height:11rem}.\\32xl\\:h-48{height:12rem}.\\32xl\\:h-52{height:13rem}.\\32xl\\:h-56{height:14rem}.\\32xl\\:h-60{height:15rem}.\\32xl\\:h-64{height:16rem}.\\32xl\\:h-72{height:18rem}.\\32xl\\:h-80{height:20rem}.\\32xl\\:h-96{height:24rem}.\\32xl\\:h-auto{height:auto}.\\32xl\\:h-px{height:1px}.\\32xl\\:h-0\\.5{height:0.125rem}.\\32xl\\:h-1\\.5{height:0.375rem}.\\32xl\\:h-2\\.5{height:0.625rem}.\\32xl\\:h-3\\.5{height:0.875rem}.\\32xl\\:h-1\\/2{height:50%}.\\32xl\\:h-1\\/3{height:33.333333%}.\\32xl\\:h-2\\/3{height:66.666667%}.\\32xl\\:h-1\\/4{height:25%}.\\32xl\\:h-2\\/4{height:50%}.\\32xl\\:h-3\\/4{height:75%}.\\32xl\\:h-1\\/5{height:20%}.\\32xl\\:h-2\\/5{height:40%}.\\32xl\\:h-3\\/5{height:60%}.\\32xl\\:h-4\\/5{height:80%}.\\32xl\\:h-1\\/6{height:16.666667%}.\\32xl\\:h-2\\/6{height:33.333333%}.\\32xl\\:h-3\\/6{height:50%}.\\32xl\\:h-4\\/6{height:66.666667%}.\\32xl\\:h-5\\/6{height:83.333333%}.\\32xl\\:h-full{height:100%}.\\32xl\\:h-screen{height:100vh}.\\32xl\\:h-XS{height:250px}.\\32xl\\:h-S{height:500px}.\\32xl\\:h-M{height:750px}.\\32xl\\:h-L{height:1000px}.\\32xl\\:h-XL{height:1250px}.\\32xl\\:h-XXL{height:1500px}.\\32xl\\:max-h-0{max-height:0px}.\\32xl\\:max-h-1{max-height:0.25rem}.\\32xl\\:max-h-2{max-height:0.5rem}.\\32xl\\:max-h-3{max-height:0.75rem}.\\32xl\\:max-h-4{max-height:1rem}.\\32xl\\:max-h-5{max-height:1.25rem}.\\32xl\\:max-h-6{max-height:1.5rem}.\\32xl\\:max-h-7{max-height:1.75rem}.\\32xl\\:max-h-8{max-height:2rem}.\\32xl\\:max-h-9{max-height:2.25rem}.\\32xl\\:max-h-10{max-height:2.5rem}.\\32xl\\:max-h-11{max-height:2.75rem}.\\32xl\\:max-h-12{max-height:3rem}.\\32xl\\:max-h-14{max-height:3.5rem}.\\32xl\\:max-h-16{max-height:4rem}.\\32xl\\:max-h-20{max-height:5rem}.\\32xl\\:max-h-24{max-height:6rem}.\\32xl\\:max-h-28{max-height:7rem}.\\32xl\\:max-h-32{max-height:8rem}.\\32xl\\:max-h-36{max-height:9rem}.\\32xl\\:max-h-40{max-height:10rem}.\\32xl\\:max-h-44{max-height:11rem}.\\32xl\\:max-h-48{max-height:12rem}.\\32xl\\:max-h-52{max-height:13rem}.\\32xl\\:max-h-56{max-height:14rem}.\\32xl\\:max-h-60{max-height:15rem}.\\32xl\\:max-h-64{max-height:16rem}.\\32xl\\:max-h-72{max-height:18rem}.\\32xl\\:max-h-80{max-height:20rem}.\\32xl\\:max-h-96{max-height:24rem}.\\32xl\\:max-h-px{max-height:1px}.\\32xl\\:max-h-0\\.5{max-height:0.125rem}.\\32xl\\:max-h-1\\.5{max-height:0.375rem}.\\32xl\\:max-h-2\\.5{max-height:0.625rem}.\\32xl\\:max-h-3\\.5{max-height:0.875rem}.\\32xl\\:max-h-full{max-height:100%}.\\32xl\\:max-h-screen{max-height:100vh}.\\32xl\\:max-h-XS{max-height:250px}.\\32xl\\:max-h-S{max-height:500px}.\\32xl\\:max-h-M{max-height:750px}.\\32xl\\:max-h-L{max-height:1000px}.\\32xl\\:max-h-XL{max-height:1250px}.\\32xl\\:max-h-XXL{max-height:1500px}.\\32xl\\:min-h-0{min-height:0px}.\\32xl\\:min-h-full{min-height:100%}.\\32xl\\:min-h-screen{min-height:100vh}.\\32xl\\:w-0{width:0px}.\\32xl\\:w-1{width:0.25rem}.\\32xl\\:w-2{width:0.5rem}.\\32xl\\:w-3{width:0.75rem}.\\32xl\\:w-4{width:1rem}.\\32xl\\:w-5{width:1.25rem}.\\32xl\\:w-6{width:1.5rem}.\\32xl\\:w-7{width:1.75rem}.\\32xl\\:w-8{width:2rem}.\\32xl\\:w-9{width:2.25rem}.\\32xl\\:w-10{width:2.5rem}.\\32xl\\:w-11{width:2.75rem}.\\32xl\\:w-12{width:3rem}.\\32xl\\:w-14{width:3.5rem}.\\32xl\\:w-16{width:4rem}.\\32xl\\:w-20{width:5rem}.\\32xl\\:w-24{width:6rem}.\\32xl\\:w-28{width:7rem}.\\32xl\\:w-32{width:8rem}.\\32xl\\:w-36{width:9rem}.\\32xl\\:w-40{width:10rem}.\\32xl\\:w-44{width:11rem}.\\32xl\\:w-48{width:12rem}.\\32xl\\:w-52{width:13rem}.\\32xl\\:w-56{width:14rem}.\\32xl\\:w-60{width:15rem}.\\32xl\\:w-64{width:16rem}.\\32xl\\:w-72{width:18rem}.\\32xl\\:w-80{width:20rem}.\\32xl\\:w-96{width:24rem}.\\32xl\\:w-auto{width:auto}.\\32xl\\:w-px{width:1px}.\\32xl\\:w-0\\.5{width:0.125rem}.\\32xl\\:w-1\\.5{width:0.375rem}.\\32xl\\:w-2\\.5{width:0.625rem}.\\32xl\\:w-3\\.5{width:0.875rem}.\\32xl\\:w-1\\/2{width:50%}.\\32xl\\:w-1\\/3{width:33.333333%}.\\32xl\\:w-2\\/3{width:66.666667%}.\\32xl\\:w-1\\/4{width:25%}.\\32xl\\:w-2\\/4{width:50%}.\\32xl\\:w-3\\/4{width:75%}.\\32xl\\:w-1\\/5{width:20%}.\\32xl\\:w-2\\/5{width:40%}.\\32xl\\:w-3\\/5{width:60%}.\\32xl\\:w-4\\/5{width:80%}.\\32xl\\:w-1\\/6{width:16.666667%}.\\32xl\\:w-2\\/6{width:33.333333%}.\\32xl\\:w-3\\/6{width:50%}.\\32xl\\:w-4\\/6{width:66.666667%}.\\32xl\\:w-5\\/6{width:83.333333%}.\\32xl\\:w-1\\/12{width:8.333333%}.\\32xl\\:w-2\\/12{width:16.666667%}.\\32xl\\:w-3\\/12{width:25%}.\\32xl\\:w-4\\/12{width:33.333333%}.\\32xl\\:w-5\\/12{width:41.666667%}.\\32xl\\:w-6\\/12{width:50%}.\\32xl\\:w-7\\/12{width:58.333333%}.\\32xl\\:w-8\\/12{width:66.666667%}.\\32xl\\:w-9\\/12{width:75%}.\\32xl\\:w-10\\/12{width:83.333333%}.\\32xl\\:w-11\\/12{width:91.666667%}.\\32xl\\:w-full{width:100%}.\\32xl\\:w-screen{width:100vw}.\\32xl\\:w-min{width:min-content}.\\32xl\\:w-max{width:max-content}.\\32xl\\:min-w-0{min-width:0px}.\\32xl\\:min-w-full{min-width:100%}.\\32xl\\:min-w-min{min-width:min-content}.\\32xl\\:min-w-max{min-width:max-content}.\\32xl\\:max-w-0{max-width:0rem}.\\32xl\\:max-w-none{max-width:none}.\\32xl\\:max-w-xs{max-width:20rem}.\\32xl\\:max-w-sm{max-width:24rem}.\\32xl\\:max-w-md{max-width:28rem}.\\32xl\\:max-w-lg{max-width:32rem}.\\32xl\\:max-w-xl{max-width:36rem}.\\32xl\\:max-w-2xl{max-width:42rem}.\\32xl\\:max-w-3xl{max-width:48rem}.\\32xl\\:max-w-4xl{max-width:56rem}.\\32xl\\:max-w-5xl{max-width:64rem}.\\32xl\\:max-w-6xl{max-width:72rem}.\\32xl\\:max-w-7xl{max-width:80rem}.\\32xl\\:max-w-full{max-width:100%}.\\32xl\\:max-w-min{max-width:min-content}.\\32xl\\:max-w-max{max-width:max-content}.\\32xl\\:max-w-prose{max-width:65ch}.\\32xl\\:max-w-screen-sm{max-width:640px}.\\32xl\\:max-w-screen-md{max-width:768px}.\\32xl\\:max-w-screen-lg{max-width:1024px}.\\32xl\\:max-w-screen-xl{max-width:1280px}.\\32xl\\:max-w-screen-2xl{max-width:1536px}.\\32xl\\:flex-1{flex:1 1 0%}.\\32xl\\:flex-auto{flex:1 1 auto}.\\32xl\\:flex-initial{flex:0 1 auto}.\\32xl\\:flex-none{flex:none}.\\32xl\\:flex-shrink-0{flex-shrink:0}.\\32xl\\:flex-shrink{flex-shrink:1}.\\32xl\\:flex-grow-0{flex-grow:0}.\\32xl\\:flex-grow{flex-grow:1}.\\32xl\\:table-auto{table-layout:auto}.\\32xl\\:table-fixed{table-layout:fixed}.\\32xl\\:border-collapse{border-collapse:collapse}.\\32xl\\:border-separate{border-collapse:separate}.\\32xl\\:origin-center{transform-origin:center}.\\32xl\\:origin-top{transform-origin:top}.\\32xl\\:origin-top-right{transform-origin:top right}.\\32xl\\:origin-right{transform-origin:right}.\\32xl\\:origin-bottom-right{transform-origin:bottom right}.\\32xl\\:origin-bottom{transform-origin:bottom}.\\32xl\\:origin-bottom-left{transform-origin:bottom left}.\\32xl\\:origin-left{transform-origin:left}.\\32xl\\:origin-top-left{transform-origin:top left}.\\32xl\\:transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\\32xl\\:transform-gpu{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translate3d(var(--tw-translate-x), var(--tw-translate-y), 0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\\32xl\\:transform-none{transform:none}.\\32xl\\:translate-x-0{--tw-translate-x:0px}.\\32xl\\:translate-x-1{--tw-translate-x:0.25rem}.\\32xl\\:translate-x-2{--tw-translate-x:0.5rem}.\\32xl\\:translate-x-3{--tw-translate-x:0.75rem}.\\32xl\\:translate-x-4{--tw-translate-x:1rem}.\\32xl\\:translate-x-5{--tw-translate-x:1.25rem}.\\32xl\\:translate-x-6{--tw-translate-x:1.5rem}.\\32xl\\:translate-x-7{--tw-translate-x:1.75rem}.\\32xl\\:translate-x-8{--tw-translate-x:2rem}.\\32xl\\:translate-x-9{--tw-translate-x:2.25rem}.\\32xl\\:translate-x-10{--tw-translate-x:2.5rem}.\\32xl\\:translate-x-11{--tw-translate-x:2.75rem}.\\32xl\\:translate-x-12{--tw-translate-x:3rem}.\\32xl\\:translate-x-14{--tw-translate-x:3.5rem}.\\32xl\\:translate-x-16{--tw-translate-x:4rem}.\\32xl\\:translate-x-20{--tw-translate-x:5rem}.\\32xl\\:translate-x-24{--tw-translate-x:6rem}.\\32xl\\:translate-x-28{--tw-translate-x:7rem}.\\32xl\\:translate-x-32{--tw-translate-x:8rem}.\\32xl\\:translate-x-36{--tw-translate-x:9rem}.\\32xl\\:translate-x-40{--tw-translate-x:10rem}.\\32xl\\:translate-x-44{--tw-translate-x:11rem}.\\32xl\\:translate-x-48{--tw-translate-x:12rem}.\\32xl\\:translate-x-52{--tw-translate-x:13rem}.\\32xl\\:translate-x-56{--tw-translate-x:14rem}.\\32xl\\:translate-x-60{--tw-translate-x:15rem}.\\32xl\\:translate-x-64{--tw-translate-x:16rem}.\\32xl\\:translate-x-72{--tw-translate-x:18rem}.\\32xl\\:translate-x-80{--tw-translate-x:20rem}.\\32xl\\:translate-x-96{--tw-translate-x:24rem}.\\32xl\\:translate-x-px{--tw-translate-x:1px}.\\32xl\\:translate-x-0\\.5{--tw-translate-x:0.125rem}.\\32xl\\:translate-x-1\\.5{--tw-translate-x:0.375rem}.\\32xl\\:translate-x-2\\.5{--tw-translate-x:0.625rem}.\\32xl\\:translate-x-3\\.5{--tw-translate-x:0.875rem}.\\32xl\\:-translate-x-0{--tw-translate-x:0px}.\\32xl\\:-translate-x-1{--tw-translate-x:-0.25rem}.\\32xl\\:-translate-x-2{--tw-translate-x:-0.5rem}.\\32xl\\:-translate-x-3{--tw-translate-x:-0.75rem}.\\32xl\\:-translate-x-4{--tw-translate-x:-1rem}.\\32xl\\:-translate-x-5{--tw-translate-x:-1.25rem}.\\32xl\\:-translate-x-6{--tw-translate-x:-1.5rem}.\\32xl\\:-translate-x-7{--tw-translate-x:-1.75rem}.\\32xl\\:-translate-x-8{--tw-translate-x:-2rem}.\\32xl\\:-translate-x-9{--tw-translate-x:-2.25rem}.\\32xl\\:-translate-x-10{--tw-translate-x:-2.5rem}.\\32xl\\:-translate-x-11{--tw-translate-x:-2.75rem}.\\32xl\\:-translate-x-12{--tw-translate-x:-3rem}.\\32xl\\:-translate-x-14{--tw-translate-x:-3.5rem}.\\32xl\\:-translate-x-16{--tw-translate-x:-4rem}.\\32xl\\:-translate-x-20{--tw-translate-x:-5rem}.\\32xl\\:-translate-x-24{--tw-translate-x:-6rem}.\\32xl\\:-translate-x-28{--tw-translate-x:-7rem}.\\32xl\\:-translate-x-32{--tw-translate-x:-8rem}.\\32xl\\:-translate-x-36{--tw-translate-x:-9rem}.\\32xl\\:-translate-x-40{--tw-translate-x:-10rem}.\\32xl\\:-translate-x-44{--tw-translate-x:-11rem}.\\32xl\\:-translate-x-48{--tw-translate-x:-12rem}.\\32xl\\:-translate-x-52{--tw-translate-x:-13rem}.\\32xl\\:-translate-x-56{--tw-translate-x:-14rem}.\\32xl\\:-translate-x-60{--tw-translate-x:-15rem}.\\32xl\\:-translate-x-64{--tw-translate-x:-16rem}.\\32xl\\:-translate-x-72{--tw-translate-x:-18rem}.\\32xl\\:-translate-x-80{--tw-translate-x:-20rem}.\\32xl\\:-translate-x-96{--tw-translate-x:-24rem}.\\32xl\\:-translate-x-px{--tw-translate-x:-1px}.\\32xl\\:-translate-x-0\\.5{--tw-translate-x:-0.125rem}.\\32xl\\:-translate-x-1\\.5{--tw-translate-x:-0.375rem}.\\32xl\\:-translate-x-2\\.5{--tw-translate-x:-0.625rem}.\\32xl\\:-translate-x-3\\.5{--tw-translate-x:-0.875rem}.\\32xl\\:translate-x-1\\/2{--tw-translate-x:50%}.\\32xl\\:translate-x-1\\/3{--tw-translate-x:33.333333%}.\\32xl\\:translate-x-2\\/3{--tw-translate-x:66.666667%}.\\32xl\\:translate-x-1\\/4{--tw-translate-x:25%}.\\32xl\\:translate-x-2\\/4{--tw-translate-x:50%}.\\32xl\\:translate-x-3\\/4{--tw-translate-x:75%}.\\32xl\\:translate-x-full{--tw-translate-x:100%}.\\32xl\\:-translate-x-1\\/2{--tw-translate-x:-50%}.\\32xl\\:-translate-x-1\\/3{--tw-translate-x:-33.333333%}.\\32xl\\:-translate-x-2\\/3{--tw-translate-x:-66.666667%}.\\32xl\\:-translate-x-1\\/4{--tw-translate-x:-25%}.\\32xl\\:-translate-x-2\\/4{--tw-translate-x:-50%}.\\32xl\\:-translate-x-3\\/4{--tw-translate-x:-75%}.\\32xl\\:-translate-x-full{--tw-translate-x:-100%}.\\32xl\\:translate-y-0{--tw-translate-y:0px}.\\32xl\\:translate-y-1{--tw-translate-y:0.25rem}.\\32xl\\:translate-y-2{--tw-translate-y:0.5rem}.\\32xl\\:translate-y-3{--tw-translate-y:0.75rem}.\\32xl\\:translate-y-4{--tw-translate-y:1rem}.\\32xl\\:translate-y-5{--tw-translate-y:1.25rem}.\\32xl\\:translate-y-6{--tw-translate-y:1.5rem}.\\32xl\\:translate-y-7{--tw-translate-y:1.75rem}.\\32xl\\:translate-y-8{--tw-translate-y:2rem}.\\32xl\\:translate-y-9{--tw-translate-y:2.25rem}.\\32xl\\:translate-y-10{--tw-translate-y:2.5rem}.\\32xl\\:translate-y-11{--tw-translate-y:2.75rem}.\\32xl\\:translate-y-12{--tw-translate-y:3rem}.\\32xl\\:translate-y-14{--tw-translate-y:3.5rem}.\\32xl\\:translate-y-16{--tw-translate-y:4rem}.\\32xl\\:translate-y-20{--tw-translate-y:5rem}.\\32xl\\:translate-y-24{--tw-translate-y:6rem}.\\32xl\\:translate-y-28{--tw-translate-y:7rem}.\\32xl\\:translate-y-32{--tw-translate-y:8rem}.\\32xl\\:translate-y-36{--tw-translate-y:9rem}.\\32xl\\:translate-y-40{--tw-translate-y:10rem}.\\32xl\\:translate-y-44{--tw-translate-y:11rem}.\\32xl\\:translate-y-48{--tw-translate-y:12rem}.\\32xl\\:translate-y-52{--tw-translate-y:13rem}.\\32xl\\:translate-y-56{--tw-translate-y:14rem}.\\32xl\\:translate-y-60{--tw-translate-y:15rem}.\\32xl\\:translate-y-64{--tw-translate-y:16rem}.\\32xl\\:translate-y-72{--tw-translate-y:18rem}.\\32xl\\:translate-y-80{--tw-translate-y:20rem}.\\32xl\\:translate-y-96{--tw-translate-y:24rem}.\\32xl\\:translate-y-px{--tw-translate-y:1px}.\\32xl\\:translate-y-0\\.5{--tw-translate-y:0.125rem}.\\32xl\\:translate-y-1\\.5{--tw-translate-y:0.375rem}.\\32xl\\:translate-y-2\\.5{--tw-translate-y:0.625rem}.\\32xl\\:translate-y-3\\.5{--tw-translate-y:0.875rem}.\\32xl\\:-translate-y-0{--tw-translate-y:0px}.\\32xl\\:-translate-y-1{--tw-translate-y:-0.25rem}.\\32xl\\:-translate-y-2{--tw-translate-y:-0.5rem}.\\32xl\\:-translate-y-3{--tw-translate-y:-0.75rem}.\\32xl\\:-translate-y-4{--tw-translate-y:-1rem}.\\32xl\\:-translate-y-5{--tw-translate-y:-1.25rem}.\\32xl\\:-translate-y-6{--tw-translate-y:-1.5rem}.\\32xl\\:-translate-y-7{--tw-translate-y:-1.75rem}.\\32xl\\:-translate-y-8{--tw-translate-y:-2rem}.\\32xl\\:-translate-y-9{--tw-translate-y:-2.25rem}.\\32xl\\:-translate-y-10{--tw-translate-y:-2.5rem}.\\32xl\\:-translate-y-11{--tw-translate-y:-2.75rem}.\\32xl\\:-translate-y-12{--tw-translate-y:-3rem}.\\32xl\\:-translate-y-14{--tw-translate-y:-3.5rem}.\\32xl\\:-translate-y-16{--tw-translate-y:-4rem}.\\32xl\\:-translate-y-20{--tw-translate-y:-5rem}.\\32xl\\:-translate-y-24{--tw-translate-y:-6rem}.\\32xl\\:-translate-y-28{--tw-translate-y:-7rem}.\\32xl\\:-translate-y-32{--tw-translate-y:-8rem}.\\32xl\\:-translate-y-36{--tw-translate-y:-9rem}.\\32xl\\:-translate-y-40{--tw-translate-y:-10rem}.\\32xl\\:-translate-y-44{--tw-translate-y:-11rem}.\\32xl\\:-translate-y-48{--tw-translate-y:-12rem}.\\32xl\\:-translate-y-52{--tw-translate-y:-13rem}.\\32xl\\:-translate-y-56{--tw-translate-y:-14rem}.\\32xl\\:-translate-y-60{--tw-translate-y:-15rem}.\\32xl\\:-translate-y-64{--tw-translate-y:-16rem}.\\32xl\\:-translate-y-72{--tw-translate-y:-18rem}.\\32xl\\:-translate-y-80{--tw-translate-y:-20rem}.\\32xl\\:-translate-y-96{--tw-translate-y:-24rem}.\\32xl\\:-translate-y-px{--tw-translate-y:-1px}.\\32xl\\:-translate-y-0\\.5{--tw-translate-y:-0.125rem}.\\32xl\\:-translate-y-1\\.5{--tw-translate-y:-0.375rem}.\\32xl\\:-translate-y-2\\.5{--tw-translate-y:-0.625rem}.\\32xl\\:-translate-y-3\\.5{--tw-translate-y:-0.875rem}.\\32xl\\:translate-y-1\\/2{--tw-translate-y:50%}.\\32xl\\:translate-y-1\\/3{--tw-translate-y:33.333333%}.\\32xl\\:translate-y-2\\/3{--tw-translate-y:66.666667%}.\\32xl\\:translate-y-1\\/4{--tw-translate-y:25%}.\\32xl\\:translate-y-2\\/4{--tw-translate-y:50%}.\\32xl\\:translate-y-3\\/4{--tw-translate-y:75%}.\\32xl\\:translate-y-full{--tw-translate-y:100%}.\\32xl\\:-translate-y-1\\/2{--tw-translate-y:-50%}.\\32xl\\:-translate-y-1\\/3{--tw-translate-y:-33.333333%}.\\32xl\\:-translate-y-2\\/3{--tw-translate-y:-66.666667%}.\\32xl\\:-translate-y-1\\/4{--tw-translate-y:-25%}.\\32xl\\:-translate-y-2\\/4{--tw-translate-y:-50%}.\\32xl\\:-translate-y-3\\/4{--tw-translate-y:-75%}.\\32xl\\:-translate-y-full{--tw-translate-y:-100%}.\\32xl\\:hover\\:translate-x-0:hover{--tw-translate-x:0px}.\\32xl\\:hover\\:translate-x-1:hover{--tw-translate-x:0.25rem}.\\32xl\\:hover\\:translate-x-2:hover{--tw-translate-x:0.5rem}.\\32xl\\:hover\\:translate-x-3:hover{--tw-translate-x:0.75rem}.\\32xl\\:hover\\:translate-x-4:hover{--tw-translate-x:1rem}.\\32xl\\:hover\\:translate-x-5:hover{--tw-translate-x:1.25rem}.\\32xl\\:hover\\:translate-x-6:hover{--tw-translate-x:1.5rem}.\\32xl\\:hover\\:translate-x-7:hover{--tw-translate-x:1.75rem}.\\32xl\\:hover\\:translate-x-8:hover{--tw-translate-x:2rem}.\\32xl\\:hover\\:translate-x-9:hover{--tw-translate-x:2.25rem}.\\32xl\\:hover\\:translate-x-10:hover{--tw-translate-x:2.5rem}.\\32xl\\:hover\\:translate-x-11:hover{--tw-translate-x:2.75rem}.\\32xl\\:hover\\:translate-x-12:hover{--tw-translate-x:3rem}.\\32xl\\:hover\\:translate-x-14:hover{--tw-translate-x:3.5rem}.\\32xl\\:hover\\:translate-x-16:hover{--tw-translate-x:4rem}.\\32xl\\:hover\\:translate-x-20:hover{--tw-translate-x:5rem}.\\32xl\\:hover\\:translate-x-24:hover{--tw-translate-x:6rem}.\\32xl\\:hover\\:translate-x-28:hover{--tw-translate-x:7rem}.\\32xl\\:hover\\:translate-x-32:hover{--tw-translate-x:8rem}.\\32xl\\:hover\\:translate-x-36:hover{--tw-translate-x:9rem}.\\32xl\\:hover\\:translate-x-40:hover{--tw-translate-x:10rem}.\\32xl\\:hover\\:translate-x-44:hover{--tw-translate-x:11rem}.\\32xl\\:hover\\:translate-x-48:hover{--tw-translate-x:12rem}.\\32xl\\:hover\\:translate-x-52:hover{--tw-translate-x:13rem}.\\32xl\\:hover\\:translate-x-56:hover{--tw-translate-x:14rem}.\\32xl\\:hover\\:translate-x-60:hover{--tw-translate-x:15rem}.\\32xl\\:hover\\:translate-x-64:hover{--tw-translate-x:16rem}.\\32xl\\:hover\\:translate-x-72:hover{--tw-translate-x:18rem}.\\32xl\\:hover\\:translate-x-80:hover{--tw-translate-x:20rem}.\\32xl\\:hover\\:translate-x-96:hover{--tw-translate-x:24rem}.\\32xl\\:hover\\:translate-x-px:hover{--tw-translate-x:1px}.\\32xl\\:hover\\:translate-x-0\\.5:hover{--tw-translate-x:0.125rem}.\\32xl\\:hover\\:translate-x-1\\.5:hover{--tw-translate-x:0.375rem}.\\32xl\\:hover\\:translate-x-2\\.5:hover{--tw-translate-x:0.625rem}.\\32xl\\:hover\\:translate-x-3\\.5:hover{--tw-translate-x:0.875rem}.\\32xl\\:hover\\:-translate-x-0:hover{--tw-translate-x:0px}.\\32xl\\:hover\\:-translate-x-1:hover{--tw-translate-x:-0.25rem}.\\32xl\\:hover\\:-translate-x-2:hover{--tw-translate-x:-0.5rem}.\\32xl\\:hover\\:-translate-x-3:hover{--tw-translate-x:-0.75rem}.\\32xl\\:hover\\:-translate-x-4:hover{--tw-translate-x:-1rem}.\\32xl\\:hover\\:-translate-x-5:hover{--tw-translate-x:-1.25rem}.\\32xl\\:hover\\:-translate-x-6:hover{--tw-translate-x:-1.5rem}.\\32xl\\:hover\\:-translate-x-7:hover{--tw-translate-x:-1.75rem}.\\32xl\\:hover\\:-translate-x-8:hover{--tw-translate-x:-2rem}.\\32xl\\:hover\\:-translate-x-9:hover{--tw-translate-x:-2.25rem}.\\32xl\\:hover\\:-translate-x-10:hover{--tw-translate-x:-2.5rem}.\\32xl\\:hover\\:-translate-x-11:hover{--tw-translate-x:-2.75rem}.\\32xl\\:hover\\:-translate-x-12:hover{--tw-translate-x:-3rem}.\\32xl\\:hover\\:-translate-x-14:hover{--tw-translate-x:-3.5rem}.\\32xl\\:hover\\:-translate-x-16:hover{--tw-translate-x:-4rem}.\\32xl\\:hover\\:-translate-x-20:hover{--tw-translate-x:-5rem}.\\32xl\\:hover\\:-translate-x-24:hover{--tw-translate-x:-6rem}.\\32xl\\:hover\\:-translate-x-28:hover{--tw-translate-x:-7rem}.\\32xl\\:hover\\:-translate-x-32:hover{--tw-translate-x:-8rem}.\\32xl\\:hover\\:-translate-x-36:hover{--tw-translate-x:-9rem}.\\32xl\\:hover\\:-translate-x-40:hover{--tw-translate-x:-10rem}.\\32xl\\:hover\\:-translate-x-44:hover{--tw-translate-x:-11rem}.\\32xl\\:hover\\:-translate-x-48:hover{--tw-translate-x:-12rem}.\\32xl\\:hover\\:-translate-x-52:hover{--tw-translate-x:-13rem}.\\32xl\\:hover\\:-translate-x-56:hover{--tw-translate-x:-14rem}.\\32xl\\:hover\\:-translate-x-60:hover{--tw-translate-x:-15rem}.\\32xl\\:hover\\:-translate-x-64:hover{--tw-translate-x:-16rem}.\\32xl\\:hover\\:-translate-x-72:hover{--tw-translate-x:-18rem}.\\32xl\\:hover\\:-translate-x-80:hover{--tw-translate-x:-20rem}.\\32xl\\:hover\\:-translate-x-96:hover{--tw-translate-x:-24rem}.\\32xl\\:hover\\:-translate-x-px:hover{--tw-translate-x:-1px}.\\32xl\\:hover\\:-translate-x-0\\.5:hover{--tw-translate-x:-0.125rem}.\\32xl\\:hover\\:-translate-x-1\\.5:hover{--tw-translate-x:-0.375rem}.\\32xl\\:hover\\:-translate-x-2\\.5:hover{--tw-translate-x:-0.625rem}.\\32xl\\:hover\\:-translate-x-3\\.5:hover{--tw-translate-x:-0.875rem}.\\32xl\\:hover\\:translate-x-1\\/2:hover{--tw-translate-x:50%}.\\32xl\\:hover\\:translate-x-1\\/3:hover{--tw-translate-x:33.333333%}.\\32xl\\:hover\\:translate-x-2\\/3:hover{--tw-translate-x:66.666667%}.\\32xl\\:hover\\:translate-x-1\\/4:hover{--tw-translate-x:25%}.\\32xl\\:hover\\:translate-x-2\\/4:hover{--tw-translate-x:50%}.\\32xl\\:hover\\:translate-x-3\\/4:hover{--tw-translate-x:75%}.\\32xl\\:hover\\:translate-x-full:hover{--tw-translate-x:100%}.\\32xl\\:hover\\:-translate-x-1\\/2:hover{--tw-translate-x:-50%}.\\32xl\\:hover\\:-translate-x-1\\/3:hover{--tw-translate-x:-33.333333%}.\\32xl\\:hover\\:-translate-x-2\\/3:hover{--tw-translate-x:-66.666667%}.\\32xl\\:hover\\:-translate-x-1\\/4:hover{--tw-translate-x:-25%}.\\32xl\\:hover\\:-translate-x-2\\/4:hover{--tw-translate-x:-50%}.\\32xl\\:hover\\:-translate-x-3\\/4:hover{--tw-translate-x:-75%}.\\32xl\\:hover\\:-translate-x-full:hover{--tw-translate-x:-100%}.\\32xl\\:hover\\:translate-y-0:hover{--tw-translate-y:0px}.\\32xl\\:hover\\:translate-y-1:hover{--tw-translate-y:0.25rem}.\\32xl\\:hover\\:translate-y-2:hover{--tw-translate-y:0.5rem}.\\32xl\\:hover\\:translate-y-3:hover{--tw-translate-y:0.75rem}.\\32xl\\:hover\\:translate-y-4:hover{--tw-translate-y:1rem}.\\32xl\\:hover\\:translate-y-5:hover{--tw-translate-y:1.25rem}.\\32xl\\:hover\\:translate-y-6:hover{--tw-translate-y:1.5rem}.\\32xl\\:hover\\:translate-y-7:hover{--tw-translate-y:1.75rem}.\\32xl\\:hover\\:translate-y-8:hover{--tw-translate-y:2rem}.\\32xl\\:hover\\:translate-y-9:hover{--tw-translate-y:2.25rem}.\\32xl\\:hover\\:translate-y-10:hover{--tw-translate-y:2.5rem}.\\32xl\\:hover\\:translate-y-11:hover{--tw-translate-y:2.75rem}.\\32xl\\:hover\\:translate-y-12:hover{--tw-translate-y:3rem}.\\32xl\\:hover\\:translate-y-14:hover{--tw-translate-y:3.5rem}.\\32xl\\:hover\\:translate-y-16:hover{--tw-translate-y:4rem}.\\32xl\\:hover\\:translate-y-20:hover{--tw-translate-y:5rem}.\\32xl\\:hover\\:translate-y-24:hover{--tw-translate-y:6rem}.\\32xl\\:hover\\:translate-y-28:hover{--tw-translate-y:7rem}.\\32xl\\:hover\\:translate-y-32:hover{--tw-translate-y:8rem}.\\32xl\\:hover\\:translate-y-36:hover{--tw-translate-y:9rem}.\\32xl\\:hover\\:translate-y-40:hover{--tw-translate-y:10rem}.\\32xl\\:hover\\:translate-y-44:hover{--tw-translate-y:11rem}.\\32xl\\:hover\\:translate-y-48:hover{--tw-translate-y:12rem}.\\32xl\\:hover\\:translate-y-52:hover{--tw-translate-y:13rem}.\\32xl\\:hover\\:translate-y-56:hover{--tw-translate-y:14rem}.\\32xl\\:hover\\:translate-y-60:hover{--tw-translate-y:15rem}.\\32xl\\:hover\\:translate-y-64:hover{--tw-translate-y:16rem}.\\32xl\\:hover\\:translate-y-72:hover{--tw-translate-y:18rem}.\\32xl\\:hover\\:translate-y-80:hover{--tw-translate-y:20rem}.\\32xl\\:hover\\:translate-y-96:hover{--tw-translate-y:24rem}.\\32xl\\:hover\\:translate-y-px:hover{--tw-translate-y:1px}.\\32xl\\:hover\\:translate-y-0\\.5:hover{--tw-translate-y:0.125rem}.\\32xl\\:hover\\:translate-y-1\\.5:hover{--tw-translate-y:0.375rem}.\\32xl\\:hover\\:translate-y-2\\.5:hover{--tw-translate-y:0.625rem}.\\32xl\\:hover\\:translate-y-3\\.5:hover{--tw-translate-y:0.875rem}.\\32xl\\:hover\\:-translate-y-0:hover{--tw-translate-y:0px}.\\32xl\\:hover\\:-translate-y-1:hover{--tw-translate-y:-0.25rem}.\\32xl\\:hover\\:-translate-y-2:hover{--tw-translate-y:-0.5rem}.\\32xl\\:hover\\:-translate-y-3:hover{--tw-translate-y:-0.75rem}.\\32xl\\:hover\\:-translate-y-4:hover{--tw-translate-y:-1rem}.\\32xl\\:hover\\:-translate-y-5:hover{--tw-translate-y:-1.25rem}.\\32xl\\:hover\\:-translate-y-6:hover{--tw-translate-y:-1.5rem}.\\32xl\\:hover\\:-translate-y-7:hover{--tw-translate-y:-1.75rem}.\\32xl\\:hover\\:-translate-y-8:hover{--tw-translate-y:-2rem}.\\32xl\\:hover\\:-translate-y-9:hover{--tw-translate-y:-2.25rem}.\\32xl\\:hover\\:-translate-y-10:hover{--tw-translate-y:-2.5rem}.\\32xl\\:hover\\:-translate-y-11:hover{--tw-translate-y:-2.75rem}.\\32xl\\:hover\\:-translate-y-12:hover{--tw-translate-y:-3rem}.\\32xl\\:hover\\:-translate-y-14:hover{--tw-translate-y:-3.5rem}.\\32xl\\:hover\\:-translate-y-16:hover{--tw-translate-y:-4rem}.\\32xl\\:hover\\:-translate-y-20:hover{--tw-translate-y:-5rem}.\\32xl\\:hover\\:-translate-y-24:hover{--tw-translate-y:-6rem}.\\32xl\\:hover\\:-translate-y-28:hover{--tw-translate-y:-7rem}.\\32xl\\:hover\\:-translate-y-32:hover{--tw-translate-y:-8rem}.\\32xl\\:hover\\:-translate-y-36:hover{--tw-translate-y:-9rem}.\\32xl\\:hover\\:-translate-y-40:hover{--tw-translate-y:-10rem}.\\32xl\\:hover\\:-translate-y-44:hover{--tw-translate-y:-11rem}.\\32xl\\:hover\\:-translate-y-48:hover{--tw-translate-y:-12rem}.\\32xl\\:hover\\:-translate-y-52:hover{--tw-translate-y:-13rem}.\\32xl\\:hover\\:-translate-y-56:hover{--tw-translate-y:-14rem}.\\32xl\\:hover\\:-translate-y-60:hover{--tw-translate-y:-15rem}.\\32xl\\:hover\\:-translate-y-64:hover{--tw-translate-y:-16rem}.\\32xl\\:hover\\:-translate-y-72:hover{--tw-translate-y:-18rem}.\\32xl\\:hover\\:-translate-y-80:hover{--tw-translate-y:-20rem}.\\32xl\\:hover\\:-translate-y-96:hover{--tw-translate-y:-24rem}.\\32xl\\:hover\\:-translate-y-px:hover{--tw-translate-y:-1px}.\\32xl\\:hover\\:-translate-y-0\\.5:hover{--tw-translate-y:-0.125rem}.\\32xl\\:hover\\:-translate-y-1\\.5:hover{--tw-translate-y:-0.375rem}.\\32xl\\:hover\\:-translate-y-2\\.5:hover{--tw-translate-y:-0.625rem}.\\32xl\\:hover\\:-translate-y-3\\.5:hover{--tw-translate-y:-0.875rem}.\\32xl\\:hover\\:translate-y-1\\/2:hover{--tw-translate-y:50%}.\\32xl\\:hover\\:translate-y-1\\/3:hover{--tw-translate-y:33.333333%}.\\32xl\\:hover\\:translate-y-2\\/3:hover{--tw-translate-y:66.666667%}.\\32xl\\:hover\\:translate-y-1\\/4:hover{--tw-translate-y:25%}.\\32xl\\:hover\\:translate-y-2\\/4:hover{--tw-translate-y:50%}.\\32xl\\:hover\\:translate-y-3\\/4:hover{--tw-translate-y:75%}.\\32xl\\:hover\\:translate-y-full:hover{--tw-translate-y:100%}.\\32xl\\:hover\\:-translate-y-1\\/2:hover{--tw-translate-y:-50%}.\\32xl\\:hover\\:-translate-y-1\\/3:hover{--tw-translate-y:-33.333333%}.\\32xl\\:hover\\:-translate-y-2\\/3:hover{--tw-translate-y:-66.666667%}.\\32xl\\:hover\\:-translate-y-1\\/4:hover{--tw-translate-y:-25%}.\\32xl\\:hover\\:-translate-y-2\\/4:hover{--tw-translate-y:-50%}.\\32xl\\:hover\\:-translate-y-3\\/4:hover{--tw-translate-y:-75%}.\\32xl\\:hover\\:-translate-y-full:hover{--tw-translate-y:-100%}.\\32xl\\:focus\\:translate-x-0:focus{--tw-translate-x:0px}.\\32xl\\:focus\\:translate-x-1:focus{--tw-translate-x:0.25rem}.\\32xl\\:focus\\:translate-x-2:focus{--tw-translate-x:0.5rem}.\\32xl\\:focus\\:translate-x-3:focus{--tw-translate-x:0.75rem}.\\32xl\\:focus\\:translate-x-4:focus{--tw-translate-x:1rem}.\\32xl\\:focus\\:translate-x-5:focus{--tw-translate-x:1.25rem}.\\32xl\\:focus\\:translate-x-6:focus{--tw-translate-x:1.5rem}.\\32xl\\:focus\\:translate-x-7:focus{--tw-translate-x:1.75rem}.\\32xl\\:focus\\:translate-x-8:focus{--tw-translate-x:2rem}.\\32xl\\:focus\\:translate-x-9:focus{--tw-translate-x:2.25rem}.\\32xl\\:focus\\:translate-x-10:focus{--tw-translate-x:2.5rem}.\\32xl\\:focus\\:translate-x-11:focus{--tw-translate-x:2.75rem}.\\32xl\\:focus\\:translate-x-12:focus{--tw-translate-x:3rem}.\\32xl\\:focus\\:translate-x-14:focus{--tw-translate-x:3.5rem}.\\32xl\\:focus\\:translate-x-16:focus{--tw-translate-x:4rem}.\\32xl\\:focus\\:translate-x-20:focus{--tw-translate-x:5rem}.\\32xl\\:focus\\:translate-x-24:focus{--tw-translate-x:6rem}.\\32xl\\:focus\\:translate-x-28:focus{--tw-translate-x:7rem}.\\32xl\\:focus\\:translate-x-32:focus{--tw-translate-x:8rem}.\\32xl\\:focus\\:translate-x-36:focus{--tw-translate-x:9rem}.\\32xl\\:focus\\:translate-x-40:focus{--tw-translate-x:10rem}.\\32xl\\:focus\\:translate-x-44:focus{--tw-translate-x:11rem}.\\32xl\\:focus\\:translate-x-48:focus{--tw-translate-x:12rem}.\\32xl\\:focus\\:translate-x-52:focus{--tw-translate-x:13rem}.\\32xl\\:focus\\:translate-x-56:focus{--tw-translate-x:14rem}.\\32xl\\:focus\\:translate-x-60:focus{--tw-translate-x:15rem}.\\32xl\\:focus\\:translate-x-64:focus{--tw-translate-x:16rem}.\\32xl\\:focus\\:translate-x-72:focus{--tw-translate-x:18rem}.\\32xl\\:focus\\:translate-x-80:focus{--tw-translate-x:20rem}.\\32xl\\:focus\\:translate-x-96:focus{--tw-translate-x:24rem}.\\32xl\\:focus\\:translate-x-px:focus{--tw-translate-x:1px}.\\32xl\\:focus\\:translate-x-0\\.5:focus{--tw-translate-x:0.125rem}.\\32xl\\:focus\\:translate-x-1\\.5:focus{--tw-translate-x:0.375rem}.\\32xl\\:focus\\:translate-x-2\\.5:focus{--tw-translate-x:0.625rem}.\\32xl\\:focus\\:translate-x-3\\.5:focus{--tw-translate-x:0.875rem}.\\32xl\\:focus\\:-translate-x-0:focus{--tw-translate-x:0px}.\\32xl\\:focus\\:-translate-x-1:focus{--tw-translate-x:-0.25rem}.\\32xl\\:focus\\:-translate-x-2:focus{--tw-translate-x:-0.5rem}.\\32xl\\:focus\\:-translate-x-3:focus{--tw-translate-x:-0.75rem}.\\32xl\\:focus\\:-translate-x-4:focus{--tw-translate-x:-1rem}.\\32xl\\:focus\\:-translate-x-5:focus{--tw-translate-x:-1.25rem}.\\32xl\\:focus\\:-translate-x-6:focus{--tw-translate-x:-1.5rem}.\\32xl\\:focus\\:-translate-x-7:focus{--tw-translate-x:-1.75rem}.\\32xl\\:focus\\:-translate-x-8:focus{--tw-translate-x:-2rem}.\\32xl\\:focus\\:-translate-x-9:focus{--tw-translate-x:-2.25rem}.\\32xl\\:focus\\:-translate-x-10:focus{--tw-translate-x:-2.5rem}.\\32xl\\:focus\\:-translate-x-11:focus{--tw-translate-x:-2.75rem}.\\32xl\\:focus\\:-translate-x-12:focus{--tw-translate-x:-3rem}.\\32xl\\:focus\\:-translate-x-14:focus{--tw-translate-x:-3.5rem}.\\32xl\\:focus\\:-translate-x-16:focus{--tw-translate-x:-4rem}.\\32xl\\:focus\\:-translate-x-20:focus{--tw-translate-x:-5rem}.\\32xl\\:focus\\:-translate-x-24:focus{--tw-translate-x:-6rem}.\\32xl\\:focus\\:-translate-x-28:focus{--tw-translate-x:-7rem}.\\32xl\\:focus\\:-translate-x-32:focus{--tw-translate-x:-8rem}.\\32xl\\:focus\\:-translate-x-36:focus{--tw-translate-x:-9rem}.\\32xl\\:focus\\:-translate-x-40:focus{--tw-translate-x:-10rem}.\\32xl\\:focus\\:-translate-x-44:focus{--tw-translate-x:-11rem}.\\32xl\\:focus\\:-translate-x-48:focus{--tw-translate-x:-12rem}.\\32xl\\:focus\\:-translate-x-52:focus{--tw-translate-x:-13rem}.\\32xl\\:focus\\:-translate-x-56:focus{--tw-translate-x:-14rem}.\\32xl\\:focus\\:-translate-x-60:focus{--tw-translate-x:-15rem}.\\32xl\\:focus\\:-translate-x-64:focus{--tw-translate-x:-16rem}.\\32xl\\:focus\\:-translate-x-72:focus{--tw-translate-x:-18rem}.\\32xl\\:focus\\:-translate-x-80:focus{--tw-translate-x:-20rem}.\\32xl\\:focus\\:-translate-x-96:focus{--tw-translate-x:-24rem}.\\32xl\\:focus\\:-translate-x-px:focus{--tw-translate-x:-1px}.\\32xl\\:focus\\:-translate-x-0\\.5:focus{--tw-translate-x:-0.125rem}.\\32xl\\:focus\\:-translate-x-1\\.5:focus{--tw-translate-x:-0.375rem}.\\32xl\\:focus\\:-translate-x-2\\.5:focus{--tw-translate-x:-0.625rem}.\\32xl\\:focus\\:-translate-x-3\\.5:focus{--tw-translate-x:-0.875rem}.\\32xl\\:focus\\:translate-x-1\\/2:focus{--tw-translate-x:50%}.\\32xl\\:focus\\:translate-x-1\\/3:focus{--tw-translate-x:33.333333%}.\\32xl\\:focus\\:translate-x-2\\/3:focus{--tw-translate-x:66.666667%}.\\32xl\\:focus\\:translate-x-1\\/4:focus{--tw-translate-x:25%}.\\32xl\\:focus\\:translate-x-2\\/4:focus{--tw-translate-x:50%}.\\32xl\\:focus\\:translate-x-3\\/4:focus{--tw-translate-x:75%}.\\32xl\\:focus\\:translate-x-full:focus{--tw-translate-x:100%}.\\32xl\\:focus\\:-translate-x-1\\/2:focus{--tw-translate-x:-50%}.\\32xl\\:focus\\:-translate-x-1\\/3:focus{--tw-translate-x:-33.333333%}.\\32xl\\:focus\\:-translate-x-2\\/3:focus{--tw-translate-x:-66.666667%}.\\32xl\\:focus\\:-translate-x-1\\/4:focus{--tw-translate-x:-25%}.\\32xl\\:focus\\:-translate-x-2\\/4:focus{--tw-translate-x:-50%}.\\32xl\\:focus\\:-translate-x-3\\/4:focus{--tw-translate-x:-75%}.\\32xl\\:focus\\:-translate-x-full:focus{--tw-translate-x:-100%}.\\32xl\\:focus\\:translate-y-0:focus{--tw-translate-y:0px}.\\32xl\\:focus\\:translate-y-1:focus{--tw-translate-y:0.25rem}.\\32xl\\:focus\\:translate-y-2:focus{--tw-translate-y:0.5rem}.\\32xl\\:focus\\:translate-y-3:focus{--tw-translate-y:0.75rem}.\\32xl\\:focus\\:translate-y-4:focus{--tw-translate-y:1rem}.\\32xl\\:focus\\:translate-y-5:focus{--tw-translate-y:1.25rem}.\\32xl\\:focus\\:translate-y-6:focus{--tw-translate-y:1.5rem}.\\32xl\\:focus\\:translate-y-7:focus{--tw-translate-y:1.75rem}.\\32xl\\:focus\\:translate-y-8:focus{--tw-translate-y:2rem}.\\32xl\\:focus\\:translate-y-9:focus{--tw-translate-y:2.25rem}.\\32xl\\:focus\\:translate-y-10:focus{--tw-translate-y:2.5rem}.\\32xl\\:focus\\:translate-y-11:focus{--tw-translate-y:2.75rem}.\\32xl\\:focus\\:translate-y-12:focus{--tw-translate-y:3rem}.\\32xl\\:focus\\:translate-y-14:focus{--tw-translate-y:3.5rem}.\\32xl\\:focus\\:translate-y-16:focus{--tw-translate-y:4rem}.\\32xl\\:focus\\:translate-y-20:focus{--tw-translate-y:5rem}.\\32xl\\:focus\\:translate-y-24:focus{--tw-translate-y:6rem}.\\32xl\\:focus\\:translate-y-28:focus{--tw-translate-y:7rem}.\\32xl\\:focus\\:translate-y-32:focus{--tw-translate-y:8rem}.\\32xl\\:focus\\:translate-y-36:focus{--tw-translate-y:9rem}.\\32xl\\:focus\\:translate-y-40:focus{--tw-translate-y:10rem}.\\32xl\\:focus\\:translate-y-44:focus{--tw-translate-y:11rem}.\\32xl\\:focus\\:translate-y-48:focus{--tw-translate-y:12rem}.\\32xl\\:focus\\:translate-y-52:focus{--tw-translate-y:13rem}.\\32xl\\:focus\\:translate-y-56:focus{--tw-translate-y:14rem}.\\32xl\\:focus\\:translate-y-60:focus{--tw-translate-y:15rem}.\\32xl\\:focus\\:translate-y-64:focus{--tw-translate-y:16rem}.\\32xl\\:focus\\:translate-y-72:focus{--tw-translate-y:18rem}.\\32xl\\:focus\\:translate-y-80:focus{--tw-translate-y:20rem}.\\32xl\\:focus\\:translate-y-96:focus{--tw-translate-y:24rem}.\\32xl\\:focus\\:translate-y-px:focus{--tw-translate-y:1px}.\\32xl\\:focus\\:translate-y-0\\.5:focus{--tw-translate-y:0.125rem}.\\32xl\\:focus\\:translate-y-1\\.5:focus{--tw-translate-y:0.375rem}.\\32xl\\:focus\\:translate-y-2\\.5:focus{--tw-translate-y:0.625rem}.\\32xl\\:focus\\:translate-y-3\\.5:focus{--tw-translate-y:0.875rem}.\\32xl\\:focus\\:-translate-y-0:focus{--tw-translate-y:0px}.\\32xl\\:focus\\:-translate-y-1:focus{--tw-translate-y:-0.25rem}.\\32xl\\:focus\\:-translate-y-2:focus{--tw-translate-y:-0.5rem}.\\32xl\\:focus\\:-translate-y-3:focus{--tw-translate-y:-0.75rem}.\\32xl\\:focus\\:-translate-y-4:focus{--tw-translate-y:-1rem}.\\32xl\\:focus\\:-translate-y-5:focus{--tw-translate-y:-1.25rem}.\\32xl\\:focus\\:-translate-y-6:focus{--tw-translate-y:-1.5rem}.\\32xl\\:focus\\:-translate-y-7:focus{--tw-translate-y:-1.75rem}.\\32xl\\:focus\\:-translate-y-8:focus{--tw-translate-y:-2rem}.\\32xl\\:focus\\:-translate-y-9:focus{--tw-translate-y:-2.25rem}.\\32xl\\:focus\\:-translate-y-10:focus{--tw-translate-y:-2.5rem}.\\32xl\\:focus\\:-translate-y-11:focus{--tw-translate-y:-2.75rem}.\\32xl\\:focus\\:-translate-y-12:focus{--tw-translate-y:-3rem}.\\32xl\\:focus\\:-translate-y-14:focus{--tw-translate-y:-3.5rem}.\\32xl\\:focus\\:-translate-y-16:focus{--tw-translate-y:-4rem}.\\32xl\\:focus\\:-translate-y-20:focus{--tw-translate-y:-5rem}.\\32xl\\:focus\\:-translate-y-24:focus{--tw-translate-y:-6rem}.\\32xl\\:focus\\:-translate-y-28:focus{--tw-translate-y:-7rem}.\\32xl\\:focus\\:-translate-y-32:focus{--tw-translate-y:-8rem}.\\32xl\\:focus\\:-translate-y-36:focus{--tw-translate-y:-9rem}.\\32xl\\:focus\\:-translate-y-40:focus{--tw-translate-y:-10rem}.\\32xl\\:focus\\:-translate-y-44:focus{--tw-translate-y:-11rem}.\\32xl\\:focus\\:-translate-y-48:focus{--tw-translate-y:-12rem}.\\32xl\\:focus\\:-translate-y-52:focus{--tw-translate-y:-13rem}.\\32xl\\:focus\\:-translate-y-56:focus{--tw-translate-y:-14rem}.\\32xl\\:focus\\:-translate-y-60:focus{--tw-translate-y:-15rem}.\\32xl\\:focus\\:-translate-y-64:focus{--tw-translate-y:-16rem}.\\32xl\\:focus\\:-translate-y-72:focus{--tw-translate-y:-18rem}.\\32xl\\:focus\\:-translate-y-80:focus{--tw-translate-y:-20rem}.\\32xl\\:focus\\:-translate-y-96:focus{--tw-translate-y:-24rem}.\\32xl\\:focus\\:-translate-y-px:focus{--tw-translate-y:-1px}.\\32xl\\:focus\\:-translate-y-0\\.5:focus{--tw-translate-y:-0.125rem}.\\32xl\\:focus\\:-translate-y-1\\.5:focus{--tw-translate-y:-0.375rem}.\\32xl\\:focus\\:-translate-y-2\\.5:focus{--tw-translate-y:-0.625rem}.\\32xl\\:focus\\:-translate-y-3\\.5:focus{--tw-translate-y:-0.875rem}.\\32xl\\:focus\\:translate-y-1\\/2:focus{--tw-translate-y:50%}.\\32xl\\:focus\\:translate-y-1\\/3:focus{--tw-translate-y:33.333333%}.\\32xl\\:focus\\:translate-y-2\\/3:focus{--tw-translate-y:66.666667%}.\\32xl\\:focus\\:translate-y-1\\/4:focus{--tw-translate-y:25%}.\\32xl\\:focus\\:translate-y-2\\/4:focus{--tw-translate-y:50%}.\\32xl\\:focus\\:translate-y-3\\/4:focus{--tw-translate-y:75%}.\\32xl\\:focus\\:translate-y-full:focus{--tw-translate-y:100%}.\\32xl\\:focus\\:-translate-y-1\\/2:focus{--tw-translate-y:-50%}.\\32xl\\:focus\\:-translate-y-1\\/3:focus{--tw-translate-y:-33.333333%}.\\32xl\\:focus\\:-translate-y-2\\/3:focus{--tw-translate-y:-66.666667%}.\\32xl\\:focus\\:-translate-y-1\\/4:focus{--tw-translate-y:-25%}.\\32xl\\:focus\\:-translate-y-2\\/4:focus{--tw-translate-y:-50%}.\\32xl\\:focus\\:-translate-y-3\\/4:focus{--tw-translate-y:-75%}.\\32xl\\:focus\\:-translate-y-full:focus{--tw-translate-y:-100%}.\\32xl\\:rotate-0{--tw-rotate:0deg}.\\32xl\\:rotate-1{--tw-rotate:1deg}.\\32xl\\:rotate-2{--tw-rotate:2deg}.\\32xl\\:rotate-3{--tw-rotate:3deg}.\\32xl\\:rotate-6{--tw-rotate:6deg}.\\32xl\\:rotate-12{--tw-rotate:12deg}.\\32xl\\:rotate-45{--tw-rotate:45deg}.\\32xl\\:rotate-90{--tw-rotate:90deg}.\\32xl\\:rotate-180{--tw-rotate:180deg}.\\32xl\\:-rotate-180{--tw-rotate:-180deg}.\\32xl\\:-rotate-90{--tw-rotate:-90deg}.\\32xl\\:-rotate-45{--tw-rotate:-45deg}.\\32xl\\:-rotate-12{--tw-rotate:-12deg}.\\32xl\\:-rotate-6{--tw-rotate:-6deg}.\\32xl\\:-rotate-3{--tw-rotate:-3deg}.\\32xl\\:-rotate-2{--tw-rotate:-2deg}.\\32xl\\:-rotate-1{--tw-rotate:-1deg}.\\32xl\\:hover\\:rotate-0:hover{--tw-rotate:0deg}.\\32xl\\:hover\\:rotate-1:hover{--tw-rotate:1deg}.\\32xl\\:hover\\:rotate-2:hover{--tw-rotate:2deg}.\\32xl\\:hover\\:rotate-3:hover{--tw-rotate:3deg}.\\32xl\\:hover\\:rotate-6:hover{--tw-rotate:6deg}.\\32xl\\:hover\\:rotate-12:hover{--tw-rotate:12deg}.\\32xl\\:hover\\:rotate-45:hover{--tw-rotate:45deg}.\\32xl\\:hover\\:rotate-90:hover{--tw-rotate:90deg}.\\32xl\\:hover\\:rotate-180:hover{--tw-rotate:180deg}.\\32xl\\:hover\\:-rotate-180:hover{--tw-rotate:-180deg}.\\32xl\\:hover\\:-rotate-90:hover{--tw-rotate:-90deg}.\\32xl\\:hover\\:-rotate-45:hover{--tw-rotate:-45deg}.\\32xl\\:hover\\:-rotate-12:hover{--tw-rotate:-12deg}.\\32xl\\:hover\\:-rotate-6:hover{--tw-rotate:-6deg}.\\32xl\\:hover\\:-rotate-3:hover{--tw-rotate:-3deg}.\\32xl\\:hover\\:-rotate-2:hover{--tw-rotate:-2deg}.\\32xl\\:hover\\:-rotate-1:hover{--tw-rotate:-1deg}.\\32xl\\:focus\\:rotate-0:focus{--tw-rotate:0deg}.\\32xl\\:focus\\:rotate-1:focus{--tw-rotate:1deg}.\\32xl\\:focus\\:rotate-2:focus{--tw-rotate:2deg}.\\32xl\\:focus\\:rotate-3:focus{--tw-rotate:3deg}.\\32xl\\:focus\\:rotate-6:focus{--tw-rotate:6deg}.\\32xl\\:focus\\:rotate-12:focus{--tw-rotate:12deg}.\\32xl\\:focus\\:rotate-45:focus{--tw-rotate:45deg}.\\32xl\\:focus\\:rotate-90:focus{--tw-rotate:90deg}.\\32xl\\:focus\\:rotate-180:focus{--tw-rotate:180deg}.\\32xl\\:focus\\:-rotate-180:focus{--tw-rotate:-180deg}.\\32xl\\:focus\\:-rotate-90:focus{--tw-rotate:-90deg}.\\32xl\\:focus\\:-rotate-45:focus{--tw-rotate:-45deg}.\\32xl\\:focus\\:-rotate-12:focus{--tw-rotate:-12deg}.\\32xl\\:focus\\:-rotate-6:focus{--tw-rotate:-6deg}.\\32xl\\:focus\\:-rotate-3:focus{--tw-rotate:-3deg}.\\32xl\\:focus\\:-rotate-2:focus{--tw-rotate:-2deg}.\\32xl\\:focus\\:-rotate-1:focus{--tw-rotate:-1deg}.\\32xl\\:skew-x-0{--tw-skew-x:0deg}.\\32xl\\:skew-x-1{--tw-skew-x:1deg}.\\32xl\\:skew-x-2{--tw-skew-x:2deg}.\\32xl\\:skew-x-3{--tw-skew-x:3deg}.\\32xl\\:skew-x-6{--tw-skew-x:6deg}.\\32xl\\:skew-x-12{--tw-skew-x:12deg}.\\32xl\\:-skew-x-12{--tw-skew-x:-12deg}.\\32xl\\:-skew-x-6{--tw-skew-x:-6deg}.\\32xl\\:-skew-x-3{--tw-skew-x:-3deg}.\\32xl\\:-skew-x-2{--tw-skew-x:-2deg}.\\32xl\\:-skew-x-1{--tw-skew-x:-1deg}.\\32xl\\:skew-y-0{--tw-skew-y:0deg}.\\32xl\\:skew-y-1{--tw-skew-y:1deg}.\\32xl\\:skew-y-2{--tw-skew-y:2deg}.\\32xl\\:skew-y-3{--tw-skew-y:3deg}.\\32xl\\:skew-y-6{--tw-skew-y:6deg}.\\32xl\\:skew-y-12{--tw-skew-y:12deg}.\\32xl\\:-skew-y-12{--tw-skew-y:-12deg}.\\32xl\\:-skew-y-6{--tw-skew-y:-6deg}.\\32xl\\:-skew-y-3{--tw-skew-y:-3deg}.\\32xl\\:-skew-y-2{--tw-skew-y:-2deg}.\\32xl\\:-skew-y-1{--tw-skew-y:-1deg}.\\32xl\\:hover\\:skew-x-0:hover{--tw-skew-x:0deg}.\\32xl\\:hover\\:skew-x-1:hover{--tw-skew-x:1deg}.\\32xl\\:hover\\:skew-x-2:hover{--tw-skew-x:2deg}.\\32xl\\:hover\\:skew-x-3:hover{--tw-skew-x:3deg}.\\32xl\\:hover\\:skew-x-6:hover{--tw-skew-x:6deg}.\\32xl\\:hover\\:skew-x-12:hover{--tw-skew-x:12deg}.\\32xl\\:hover\\:-skew-x-12:hover{--tw-skew-x:-12deg}.\\32xl\\:hover\\:-skew-x-6:hover{--tw-skew-x:-6deg}.\\32xl\\:hover\\:-skew-x-3:hover{--tw-skew-x:-3deg}.\\32xl\\:hover\\:-skew-x-2:hover{--tw-skew-x:-2deg}.\\32xl\\:hover\\:-skew-x-1:hover{--tw-skew-x:-1deg}.\\32xl\\:hover\\:skew-y-0:hover{--tw-skew-y:0deg}.\\32xl\\:hover\\:skew-y-1:hover{--tw-skew-y:1deg}.\\32xl\\:hover\\:skew-y-2:hover{--tw-skew-y:2deg}.\\32xl\\:hover\\:skew-y-3:hover{--tw-skew-y:3deg}.\\32xl\\:hover\\:skew-y-6:hover{--tw-skew-y:6deg}.\\32xl\\:hover\\:skew-y-12:hover{--tw-skew-y:12deg}.\\32xl\\:hover\\:-skew-y-12:hover{--tw-skew-y:-12deg}.\\32xl\\:hover\\:-skew-y-6:hover{--tw-skew-y:-6deg}.\\32xl\\:hover\\:-skew-y-3:hover{--tw-skew-y:-3deg}.\\32xl\\:hover\\:-skew-y-2:hover{--tw-skew-y:-2deg}.\\32xl\\:hover\\:-skew-y-1:hover{--tw-skew-y:-1deg}.\\32xl\\:focus\\:skew-x-0:focus{--tw-skew-x:0deg}.\\32xl\\:focus\\:skew-x-1:focus{--tw-skew-x:1deg}.\\32xl\\:focus\\:skew-x-2:focus{--tw-skew-x:2deg}.\\32xl\\:focus\\:skew-x-3:focus{--tw-skew-x:3deg}.\\32xl\\:focus\\:skew-x-6:focus{--tw-skew-x:6deg}.\\32xl\\:focus\\:skew-x-12:focus{--tw-skew-x:12deg}.\\32xl\\:focus\\:-skew-x-12:focus{--tw-skew-x:-12deg}.\\32xl\\:focus\\:-skew-x-6:focus{--tw-skew-x:-6deg}.\\32xl\\:focus\\:-skew-x-3:focus{--tw-skew-x:-3deg}.\\32xl\\:focus\\:-skew-x-2:focus{--tw-skew-x:-2deg}.\\32xl\\:focus\\:-skew-x-1:focus{--tw-skew-x:-1deg}.\\32xl\\:focus\\:skew-y-0:focus{--tw-skew-y:0deg}.\\32xl\\:focus\\:skew-y-1:focus{--tw-skew-y:1deg}.\\32xl\\:focus\\:skew-y-2:focus{--tw-skew-y:2deg}.\\32xl\\:focus\\:skew-y-3:focus{--tw-skew-y:3deg}.\\32xl\\:focus\\:skew-y-6:focus{--tw-skew-y:6deg}.\\32xl\\:focus\\:skew-y-12:focus{--tw-skew-y:12deg}.\\32xl\\:focus\\:-skew-y-12:focus{--tw-skew-y:-12deg}.\\32xl\\:focus\\:-skew-y-6:focus{--tw-skew-y:-6deg}.\\32xl\\:focus\\:-skew-y-3:focus{--tw-skew-y:-3deg}.\\32xl\\:focus\\:-skew-y-2:focus{--tw-skew-y:-2deg}.\\32xl\\:focus\\:-skew-y-1:focus{--tw-skew-y:-1deg}.\\32xl\\:scale-0{--tw-scale-x:0;--tw-scale-y:0}.\\32xl\\:scale-50{--tw-scale-x:.5;--tw-scale-y:.5}.\\32xl\\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75}.\\32xl\\:scale-90{--tw-scale-x:.9;--tw-scale-y:.9}.\\32xl\\:scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.\\32xl\\:scale-100{--tw-scale-x:1;--tw-scale-y:1}.\\32xl\\:scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05}.\\32xl\\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1}.\\32xl\\:scale-125{--tw-scale-x:1.25;--tw-scale-y:1.25}.\\32xl\\:scale-150{--tw-scale-x:1.5;--tw-scale-y:1.5}.\\32xl\\:hover\\:scale-0:hover{--tw-scale-x:0;--tw-scale-y:0}.\\32xl\\:hover\\:scale-50:hover{--tw-scale-x:.5;--tw-scale-y:.5}.\\32xl\\:hover\\:scale-75:hover{--tw-scale-x:.75;--tw-scale-y:.75}.\\32xl\\:hover\\:scale-90:hover{--tw-scale-x:.9;--tw-scale-y:.9}.\\32xl\\:hover\\:scale-95:hover{--tw-scale-x:.95;--tw-scale-y:.95}.\\32xl\\:hover\\:scale-100:hover{--tw-scale-x:1;--tw-scale-y:1}.\\32xl\\:hover\\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.\\32xl\\:hover\\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.\\32xl\\:hover\\:scale-125:hover{--tw-scale-x:1.25;--tw-scale-y:1.25}.\\32xl\\:hover\\:scale-150:hover{--tw-scale-x:1.5;--tw-scale-y:1.5}.\\32xl\\:focus\\:scale-0:focus{--tw-scale-x:0;--tw-scale-y:0}.\\32xl\\:focus\\:scale-50:focus{--tw-scale-x:.5;--tw-scale-y:.5}.\\32xl\\:focus\\:scale-75:focus{--tw-scale-x:.75;--tw-scale-y:.75}.\\32xl\\:focus\\:scale-90:focus{--tw-scale-x:.9;--tw-scale-y:.9}.\\32xl\\:focus\\:scale-95:focus{--tw-scale-x:.95;--tw-scale-y:.95}.\\32xl\\:focus\\:scale-100:focus{--tw-scale-x:1;--tw-scale-y:1}.\\32xl\\:focus\\:scale-105:focus{--tw-scale-x:1.05;--tw-scale-y:1.05}.\\32xl\\:focus\\:scale-110:focus{--tw-scale-x:1.1;--tw-scale-y:1.1}.\\32xl\\:focus\\:scale-125:focus{--tw-scale-x:1.25;--tw-scale-y:1.25}.\\32xl\\:focus\\:scale-150:focus{--tw-scale-x:1.5;--tw-scale-y:1.5}.\\32xl\\:scale-x-0{--tw-scale-x:0}.\\32xl\\:scale-x-50{--tw-scale-x:.5}.\\32xl\\:scale-x-75{--tw-scale-x:.75}.\\32xl\\:scale-x-90{--tw-scale-x:.9}.\\32xl\\:scale-x-95{--tw-scale-x:.95}.\\32xl\\:scale-x-100{--tw-scale-x:1}.\\32xl\\:scale-x-105{--tw-scale-x:1.05}.\\32xl\\:scale-x-110{--tw-scale-x:1.1}.\\32xl\\:scale-x-125{--tw-scale-x:1.25}.\\32xl\\:scale-x-150{--tw-scale-x:1.5}.\\32xl\\:scale-y-0{--tw-scale-y:0}.\\32xl\\:scale-y-50{--tw-scale-y:.5}.\\32xl\\:scale-y-75{--tw-scale-y:.75}.\\32xl\\:scale-y-90{--tw-scale-y:.9}.\\32xl\\:scale-y-95{--tw-scale-y:.95}.\\32xl\\:scale-y-100{--tw-scale-y:1}.\\32xl\\:scale-y-105{--tw-scale-y:1.05}.\\32xl\\:scale-y-110{--tw-scale-y:1.1}.\\32xl\\:scale-y-125{--tw-scale-y:1.25}.\\32xl\\:scale-y-150{--tw-scale-y:1.5}.\\32xl\\:hover\\:scale-x-0:hover{--tw-scale-x:0}.\\32xl\\:hover\\:scale-x-50:hover{--tw-scale-x:.5}.\\32xl\\:hover\\:scale-x-75:hover{--tw-scale-x:.75}.\\32xl\\:hover\\:scale-x-90:hover{--tw-scale-x:.9}.\\32xl\\:hover\\:scale-x-95:hover{--tw-scale-x:.95}.\\32xl\\:hover\\:scale-x-100:hover{--tw-scale-x:1}.\\32xl\\:hover\\:scale-x-105:hover{--tw-scale-x:1.05}.\\32xl\\:hover\\:scale-x-110:hover{--tw-scale-x:1.1}.\\32xl\\:hover\\:scale-x-125:hover{--tw-scale-x:1.25}.\\32xl\\:hover\\:scale-x-150:hover{--tw-scale-x:1.5}.\\32xl\\:hover\\:scale-y-0:hover{--tw-scale-y:0}.\\32xl\\:hover\\:scale-y-50:hover{--tw-scale-y:.5}.\\32xl\\:hover\\:scale-y-75:hover{--tw-scale-y:.75}.\\32xl\\:hover\\:scale-y-90:hover{--tw-scale-y:.9}.\\32xl\\:hover\\:scale-y-95:hover{--tw-scale-y:.95}.\\32xl\\:hover\\:scale-y-100:hover{--tw-scale-y:1}.\\32xl\\:hover\\:scale-y-105:hover{--tw-scale-y:1.05}.\\32xl\\:hover\\:scale-y-110:hover{--tw-scale-y:1.1}.\\32xl\\:hover\\:scale-y-125:hover{--tw-scale-y:1.25}.\\32xl\\:hover\\:scale-y-150:hover{--tw-scale-y:1.5}.\\32xl\\:focus\\:scale-x-0:focus{--tw-scale-x:0}.\\32xl\\:focus\\:scale-x-50:focus{--tw-scale-x:.5}.\\32xl\\:focus\\:scale-x-75:focus{--tw-scale-x:.75}.\\32xl\\:focus\\:scale-x-90:focus{--tw-scale-x:.9}.\\32xl\\:focus\\:scale-x-95:focus{--tw-scale-x:.95}.\\32xl\\:focus\\:scale-x-100:focus{--tw-scale-x:1}.\\32xl\\:focus\\:scale-x-105:focus{--tw-scale-x:1.05}.\\32xl\\:focus\\:scale-x-110:focus{--tw-scale-x:1.1}.\\32xl\\:focus\\:scale-x-125:focus{--tw-scale-x:1.25}.\\32xl\\:focus\\:scale-x-150:focus{--tw-scale-x:1.5}.\\32xl\\:focus\\:scale-y-0:focus{--tw-scale-y:0}.\\32xl\\:focus\\:scale-y-50:focus{--tw-scale-y:.5}.\\32xl\\:focus\\:scale-y-75:focus{--tw-scale-y:.75}.\\32xl\\:focus\\:scale-y-90:focus{--tw-scale-y:.9}.\\32xl\\:focus\\:scale-y-95:focus{--tw-scale-y:.95}.\\32xl\\:focus\\:scale-y-100:focus{--tw-scale-y:1}.\\32xl\\:focus\\:scale-y-105:focus{--tw-scale-y:1.05}.\\32xl\\:focus\\:scale-y-110:focus{--tw-scale-y:1.1}.\\32xl\\:focus\\:scale-y-125:focus{--tw-scale-y:1.25}.\\32xl\\:focus\\:scale-y-150:focus{--tw-scale-y:1.5}.\\32xl\\:animate-none{animation:none}.\\32xl\\:animate-spin{animation:spin 1s linear infinite}.\\32xl\\:animate-ping{animation:ping 1s cubic-bezier(0, 0, 0.2, 1) infinite}.\\32xl\\:animate-pulse{animation:pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite}.\\32xl\\:animate-bounce{animation:bounce 1s infinite}.\\32xl\\:cursor-auto{cursor:auto}.\\32xl\\:cursor-default{cursor:default}.\\32xl\\:cursor-pointer{cursor:pointer}.\\32xl\\:cursor-wait{cursor:wait}.\\32xl\\:cursor-text{cursor:text}.\\32xl\\:cursor-move{cursor:move}.\\32xl\\:cursor-help{cursor:help}.\\32xl\\:cursor-not-allowed{cursor:not-allowed}.\\32xl\\:select-none{-webkit-user-select:none;user-select:none}.\\32xl\\:select-text{-webkit-user-select:text;user-select:text}.\\32xl\\:select-all{-webkit-user-select:all;user-select:all}.\\32xl\\:select-auto{-webkit-user-select:auto;user-select:auto}.\\32xl\\:resize-none{resize:none}.\\32xl\\:resize-y{resize:vertical}.\\32xl\\:resize-x{resize:horizontal}.\\32xl\\:resize{resize:both}.\\32xl\\:list-inside{list-style-position:inside}.\\32xl\\:list-outside{list-style-position:outside}.\\32xl\\:list-none{list-style-type:none}.\\32xl\\:list-disc{list-style-type:disc}.\\32xl\\:list-decimal{list-style-type:decimal}.\\32xl\\:appearance-none{appearance:none}.\\32xl\\:auto-cols-auto{grid-auto-columns:auto}.\\32xl\\:auto-cols-min{grid-auto-columns:min-content}.\\32xl\\:auto-cols-max{grid-auto-columns:max-content}.\\32xl\\:auto-cols-fr{grid-auto-columns:minmax(0, 1fr)}.\\32xl\\:grid-flow-row{grid-auto-flow:row}.\\32xl\\:grid-flow-col{grid-auto-flow:column}.\\32xl\\:grid-flow-row-dense{grid-auto-flow:row dense}.\\32xl\\:grid-flow-col-dense{grid-auto-flow:column dense}.\\32xl\\:auto-rows-auto{grid-auto-rows:auto}.\\32xl\\:auto-rows-min{grid-auto-rows:min-content}.\\32xl\\:auto-rows-max{grid-auto-rows:max-content}.\\32xl\\:auto-rows-fr{grid-auto-rows:minmax(0, 1fr)}.\\32xl\\:grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}.\\32xl\\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.\\32xl\\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.\\32xl\\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}.\\32xl\\:grid-cols-5{grid-template-columns:repeat(5, minmax(0, 1fr))}.\\32xl\\:grid-cols-6{grid-template-columns:repeat(6, minmax(0, 1fr))}.\\32xl\\:grid-cols-7{grid-template-columns:repeat(7, minmax(0, 1fr))}.\\32xl\\:grid-cols-8{grid-template-columns:repeat(8, minmax(0, 1fr))}.\\32xl\\:grid-cols-9{grid-template-columns:repeat(9, minmax(0, 1fr))}.\\32xl\\:grid-cols-10{grid-template-columns:repeat(10, minmax(0, 1fr))}.\\32xl\\:grid-cols-11{grid-template-columns:repeat(11, minmax(0, 1fr))}.\\32xl\\:grid-cols-12{grid-template-columns:repeat(12, minmax(0, 1fr))}.\\32xl\\:grid-cols-none{grid-template-columns:none}.\\32xl\\:grid-rows-1{grid-template-rows:repeat(1, minmax(0, 1fr))}.\\32xl\\:grid-rows-2{grid-template-rows:repeat(2, minmax(0, 1fr))}.\\32xl\\:grid-rows-3{grid-template-rows:repeat(3, minmax(0, 1fr))}.\\32xl\\:grid-rows-4{grid-template-rows:repeat(4, minmax(0, 1fr))}.\\32xl\\:grid-rows-5{grid-template-rows:repeat(5, minmax(0, 1fr))}.\\32xl\\:grid-rows-6{grid-template-rows:repeat(6, minmax(0, 1fr))}.\\32xl\\:grid-rows-none{grid-template-rows:none}.\\32xl\\:flex-row{flex-direction:row}.\\32xl\\:flex-row-reverse{flex-direction:row-reverse}.\\32xl\\:flex-col{flex-direction:column}.\\32xl\\:flex-col-reverse{flex-direction:column-reverse}.\\32xl\\:flex-wrap{flex-wrap:wrap}.\\32xl\\:flex-wrap-reverse{flex-wrap:wrap-reverse}.\\32xl\\:flex-nowrap{flex-wrap:nowrap}.\\32xl\\:place-content-center{place-content:center}.\\32xl\\:place-content-start{place-content:start}.\\32xl\\:place-content-end{place-content:end}.\\32xl\\:place-content-between{place-content:space-between}.\\32xl\\:place-content-around{place-content:space-around}.\\32xl\\:place-content-evenly{place-content:space-evenly}.\\32xl\\:place-content-stretch{place-content:stretch}.\\32xl\\:place-items-start{place-items:start}.\\32xl\\:place-items-end{place-items:end}.\\32xl\\:place-items-center{place-items:center}.\\32xl\\:place-items-stretch{place-items:stretch}.\\32xl\\:content-center{align-content:center}.\\32xl\\:content-start{align-content:flex-start}.\\32xl\\:content-end{align-content:flex-end}.\\32xl\\:content-between{align-content:space-between}.\\32xl\\:content-around{align-content:space-around}.\\32xl\\:content-evenly{align-content:space-evenly}.\\32xl\\:items-start{align-items:flex-start}.\\32xl\\:items-end{align-items:flex-end}.\\32xl\\:items-center{align-items:center}.\\32xl\\:items-baseline{align-items:baseline}.\\32xl\\:items-stretch{align-items:stretch}.\\32xl\\:justify-start{justify-content:flex-start}.\\32xl\\:justify-end{justify-content:flex-end}.\\32xl\\:justify-center{justify-content:center}.\\32xl\\:justify-between{justify-content:space-between}.\\32xl\\:justify-around{justify-content:space-around}.\\32xl\\:justify-evenly{justify-content:space-evenly}.\\32xl\\:justify-items-start{justify-items:start}.\\32xl\\:justify-items-end{justify-items:end}.\\32xl\\:justify-items-center{justify-items:center}.\\32xl\\:justify-items-stretch{justify-items:stretch}.\\32xl\\:gap-0{gap:0px}.\\32xl\\:gap-1{gap:0.25rem}.\\32xl\\:gap-2{gap:0.5rem}.\\32xl\\:gap-3{gap:0.75rem}.\\32xl\\:gap-4{gap:1rem}.\\32xl\\:gap-5{gap:1.25rem}.\\32xl\\:gap-6{gap:1.5rem}.\\32xl\\:gap-7{gap:1.75rem}.\\32xl\\:gap-8{gap:2rem}.\\32xl\\:gap-9{gap:2.25rem}.\\32xl\\:gap-10{gap:2.5rem}.\\32xl\\:gap-11{gap:2.75rem}.\\32xl\\:gap-12{gap:3rem}.\\32xl\\:gap-14{gap:3.5rem}.\\32xl\\:gap-16{gap:4rem}.\\32xl\\:gap-20{gap:5rem}.\\32xl\\:gap-24{gap:6rem}.\\32xl\\:gap-28{gap:7rem}.\\32xl\\:gap-32{gap:8rem}.\\32xl\\:gap-36{gap:9rem}.\\32xl\\:gap-40{gap:10rem}.\\32xl\\:gap-44{gap:11rem}.\\32xl\\:gap-48{gap:12rem}.\\32xl\\:gap-52{gap:13rem}.\\32xl\\:gap-56{gap:14rem}.\\32xl\\:gap-60{gap:15rem}.\\32xl\\:gap-64{gap:16rem}.\\32xl\\:gap-72{gap:18rem}.\\32xl\\:gap-80{gap:20rem}.\\32xl\\:gap-96{gap:24rem}.\\32xl\\:gap-px{gap:1px}.\\32xl\\:gap-0\\.5{gap:0.125rem}.\\32xl\\:gap-1\\.5{gap:0.375rem}.\\32xl\\:gap-2\\.5{gap:0.625rem}.\\32xl\\:gap-3\\.5{gap:0.875rem}.\\32xl\\:gap-x-0{column-gap:0px}.\\32xl\\:gap-x-1{column-gap:0.25rem}.\\32xl\\:gap-x-2{column-gap:0.5rem}.\\32xl\\:gap-x-3{column-gap:0.75rem}.\\32xl\\:gap-x-4{column-gap:1rem}.\\32xl\\:gap-x-5{column-gap:1.25rem}.\\32xl\\:gap-x-6{column-gap:1.5rem}.\\32xl\\:gap-x-7{column-gap:1.75rem}.\\32xl\\:gap-x-8{column-gap:2rem}.\\32xl\\:gap-x-9{column-gap:2.25rem}.\\32xl\\:gap-x-10{column-gap:2.5rem}.\\32xl\\:gap-x-11{column-gap:2.75rem}.\\32xl\\:gap-x-12{column-gap:3rem}.\\32xl\\:gap-x-14{column-gap:3.5rem}.\\32xl\\:gap-x-16{column-gap:4rem}.\\32xl\\:gap-x-20{column-gap:5rem}.\\32xl\\:gap-x-24{column-gap:6rem}.\\32xl\\:gap-x-28{column-gap:7rem}.\\32xl\\:gap-x-32{column-gap:8rem}.\\32xl\\:gap-x-36{column-gap:9rem}.\\32xl\\:gap-x-40{column-gap:10rem}.\\32xl\\:gap-x-44{column-gap:11rem}.\\32xl\\:gap-x-48{column-gap:12rem}.\\32xl\\:gap-x-52{column-gap:13rem}.\\32xl\\:gap-x-56{column-gap:14rem}.\\32xl\\:gap-x-60{column-gap:15rem}.\\32xl\\:gap-x-64{column-gap:16rem}.\\32xl\\:gap-x-72{column-gap:18rem}.\\32xl\\:gap-x-80{column-gap:20rem}.\\32xl\\:gap-x-96{column-gap:24rem}.\\32xl\\:gap-x-px{column-gap:1px}.\\32xl\\:gap-x-0\\.5{column-gap:0.125rem}.\\32xl\\:gap-x-1\\.5{column-gap:0.375rem}.\\32xl\\:gap-x-2\\.5{column-gap:0.625rem}.\\32xl\\:gap-x-3\\.5{column-gap:0.875rem}.\\32xl\\:gap-y-0{row-gap:0px}.\\32xl\\:gap-y-1{row-gap:0.25rem}.\\32xl\\:gap-y-2{row-gap:0.5rem}.\\32xl\\:gap-y-3{row-gap:0.75rem}.\\32xl\\:gap-y-4{row-gap:1rem}.\\32xl\\:gap-y-5{row-gap:1.25rem}.\\32xl\\:gap-y-6{row-gap:1.5rem}.\\32xl\\:gap-y-7{row-gap:1.75rem}.\\32xl\\:gap-y-8{row-gap:2rem}.\\32xl\\:gap-y-9{row-gap:2.25rem}.\\32xl\\:gap-y-10{row-gap:2.5rem}.\\32xl\\:gap-y-11{row-gap:2.75rem}.\\32xl\\:gap-y-12{row-gap:3rem}.\\32xl\\:gap-y-14{row-gap:3.5rem}.\\32xl\\:gap-y-16{row-gap:4rem}.\\32xl\\:gap-y-20{row-gap:5rem}.\\32xl\\:gap-y-24{row-gap:6rem}.\\32xl\\:gap-y-28{row-gap:7rem}.\\32xl\\:gap-y-32{row-gap:8rem}.\\32xl\\:gap-y-36{row-gap:9rem}.\\32xl\\:gap-y-40{row-gap:10rem}.\\32xl\\:gap-y-44{row-gap:11rem}.\\32xl\\:gap-y-48{row-gap:12rem}.\\32xl\\:gap-y-52{row-gap:13rem}.\\32xl\\:gap-y-56{row-gap:14rem}.\\32xl\\:gap-y-60{row-gap:15rem}.\\32xl\\:gap-y-64{row-gap:16rem}.\\32xl\\:gap-y-72{row-gap:18rem}.\\32xl\\:gap-y-80{row-gap:20rem}.\\32xl\\:gap-y-96{row-gap:24rem}.\\32xl\\:gap-y-px{row-gap:1px}.\\32xl\\:gap-y-0\\.5{row-gap:0.125rem}.\\32xl\\:gap-y-1\\.5{row-gap:0.375rem}.\\32xl\\:gap-y-2\\.5{row-gap:0.625rem}.\\32xl\\:gap-y-3\\.5{row-gap:0.875rem}.\\32xl\\:space-x-0>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0px * var(--tw-space-x-reverse));margin-left:calc(0px * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.25rem * var(--tw-space-x-reverse));margin-left:calc(0.25rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.5rem * var(--tw-space-x-reverse));margin-left:calc(0.5rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.75rem * var(--tw-space-x-reverse));margin-left:calc(0.75rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.25rem * var(--tw-space-x-reverse));margin-left:calc(1.25rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.5rem * var(--tw-space-x-reverse));margin-left:calc(1.5rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-7>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.75rem * var(--tw-space-x-reverse));margin-left:calc(1.75rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2rem * var(--tw-space-x-reverse));margin-left:calc(2rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-9>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2.25rem * var(--tw-space-x-reverse));margin-left:calc(2.25rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-10>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2.5rem * var(--tw-space-x-reverse));margin-left:calc(2.5rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-11>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2.75rem * var(--tw-space-x-reverse));margin-left:calc(2.75rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-12>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(3rem * var(--tw-space-x-reverse));margin-left:calc(3rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-14>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(3.5rem * var(--tw-space-x-reverse));margin-left:calc(3.5rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-16>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(4rem * var(--tw-space-x-reverse));margin-left:calc(4rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-20>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(5rem * var(--tw-space-x-reverse));margin-left:calc(5rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-24>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(6rem * var(--tw-space-x-reverse));margin-left:calc(6rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-28>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(7rem * var(--tw-space-x-reverse));margin-left:calc(7rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-32>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(8rem * var(--tw-space-x-reverse));margin-left:calc(8rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-36>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(9rem * var(--tw-space-x-reverse));margin-left:calc(9rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-40>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(10rem * var(--tw-space-x-reverse));margin-left:calc(10rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-44>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(11rem * var(--tw-space-x-reverse));margin-left:calc(11rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-48>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(12rem * var(--tw-space-x-reverse));margin-left:calc(12rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-52>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(13rem * var(--tw-space-x-reverse));margin-left:calc(13rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-56>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(14rem * var(--tw-space-x-reverse));margin-left:calc(14rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-60>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(15rem * var(--tw-space-x-reverse));margin-left:calc(15rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-64>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(16rem * var(--tw-space-x-reverse));margin-left:calc(16rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-72>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(18rem * var(--tw-space-x-reverse));margin-left:calc(18rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-80>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(20rem * var(--tw-space-x-reverse));margin-left:calc(20rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-96>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(24rem * var(--tw-space-x-reverse));margin-left:calc(24rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1px * var(--tw-space-x-reverse));margin-left:calc(1px * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-0\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.125rem * var(--tw-space-x-reverse));margin-left:calc(0.125rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-1\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.375rem * var(--tw-space-x-reverse));margin-left:calc(0.375rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-2\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.625rem * var(--tw-space-x-reverse));margin-left:calc(0.625rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-x-3\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.875rem * var(--tw-space-x-reverse));margin-left:calc(0.875rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-0>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0px * var(--tw-space-x-reverse));margin-left:calc(0px * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.25rem * var(--tw-space-x-reverse));margin-left:calc(-0.25rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.5rem * var(--tw-space-x-reverse));margin-left:calc(-0.5rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.75rem * var(--tw-space-x-reverse));margin-left:calc(-0.75rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1rem * var(--tw-space-x-reverse));margin-left:calc(-1rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1.25rem * var(--tw-space-x-reverse));margin-left:calc(-1.25rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1.5rem * var(--tw-space-x-reverse));margin-left:calc(-1.5rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-7>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1.75rem * var(--tw-space-x-reverse));margin-left:calc(-1.75rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2rem * var(--tw-space-x-reverse));margin-left:calc(-2rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-9>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2.25rem * var(--tw-space-x-reverse));margin-left:calc(-2.25rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-10>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2.5rem * var(--tw-space-x-reverse));margin-left:calc(-2.5rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-11>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2.75rem * var(--tw-space-x-reverse));margin-left:calc(-2.75rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-12>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-3rem * var(--tw-space-x-reverse));margin-left:calc(-3rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-14>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-3.5rem * var(--tw-space-x-reverse));margin-left:calc(-3.5rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-16>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-4rem * var(--tw-space-x-reverse));margin-left:calc(-4rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-20>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-5rem * var(--tw-space-x-reverse));margin-left:calc(-5rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-24>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-6rem * var(--tw-space-x-reverse));margin-left:calc(-6rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-28>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-7rem * var(--tw-space-x-reverse));margin-left:calc(-7rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-32>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-8rem * var(--tw-space-x-reverse));margin-left:calc(-8rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-36>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-9rem * var(--tw-space-x-reverse));margin-left:calc(-9rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-40>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-10rem * var(--tw-space-x-reverse));margin-left:calc(-10rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-44>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-11rem * var(--tw-space-x-reverse));margin-left:calc(-11rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-48>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-12rem * var(--tw-space-x-reverse));margin-left:calc(-12rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-52>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-13rem * var(--tw-space-x-reverse));margin-left:calc(-13rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-56>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-14rem * var(--tw-space-x-reverse));margin-left:calc(-14rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-60>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-15rem * var(--tw-space-x-reverse));margin-left:calc(-15rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-64>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-16rem * var(--tw-space-x-reverse));margin-left:calc(-16rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-72>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-18rem * var(--tw-space-x-reverse));margin-left:calc(-18rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-80>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-20rem * var(--tw-space-x-reverse));margin-left:calc(-20rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-96>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-24rem * var(--tw-space-x-reverse));margin-left:calc(-24rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1px * var(--tw-space-x-reverse));margin-left:calc(-1px * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-0\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.125rem * var(--tw-space-x-reverse));margin-left:calc(-0.125rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-1\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.375rem * var(--tw-space-x-reverse));margin-left:calc(-0.375rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-2\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.625rem * var(--tw-space-x-reverse));margin-left:calc(-0.625rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:-space-x-3\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-0.875rem * var(--tw-space-x-reverse));margin-left:calc(-0.875rem * calc(1 - var(--tw-space-x-reverse)))}.\\32xl\\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.\\32xl\\:space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.25rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.5rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.75rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-7>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.75rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-9>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.25rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.5rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-11>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.75rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-14>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(3.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3.5rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-16>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(4rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(4rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-20>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(5rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-24>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(6rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(6rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-28>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(7rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(7rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-32>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(8rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(8rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-36>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(9rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(9rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-40>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(10rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(10rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-44>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(11rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(11rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-48>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(12rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(12rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-52>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(13rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(13rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-56>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(14rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(14rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-60>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(15rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(15rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-64>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(16rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(16rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-72>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(18rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(18rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-80>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(20rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(20rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-96>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(24rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(24rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-px>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1px * var(--tw-space-y-reverse))}.\\32xl\\:space-y-0\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.125rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-1\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.375rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-2\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.625rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-3\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.875rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.875rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.25rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.5rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.75rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1.25rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1.5rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-7>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1.75rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-9>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2.25rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2.5rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-11>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2.75rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-3rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-14>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-3.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-3.5rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-16>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-4rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-4rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-20>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-5rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-24>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-6rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-6rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-28>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-7rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-7rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-32>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-8rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-8rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-36>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-9rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-9rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-40>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-10rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-10rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-44>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-11rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-11rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-48>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-12rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-12rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-52>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-13rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-13rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-56>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-14rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-14rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-60>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-15rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-15rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-64>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-16rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-16rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-72>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-18rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-18rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-80>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-20rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-20rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-96>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-24rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-24rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-px>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1px * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-0\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.125rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-1\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.375rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-2\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.625rem * var(--tw-space-y-reverse))}.\\32xl\\:-space-y-3\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-0.875rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-0.875rem * var(--tw-space-y-reverse))}.\\32xl\\:space-y-reverse>:not([hidden])~:not([hidden]){--tw-space-y-reverse:1}.\\32xl\\:space-x-reverse>:not([hidden])~:not([hidden]){--tw-space-x-reverse:1}.\\32xl\\:divide-x-0>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(0px * var(--tw-divide-x-reverse));border-left-width:calc(0px * calc(1 - var(--tw-divide-x-reverse)))}.\\32xl\\:divide-x-2>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(2px * var(--tw-divide-x-reverse));border-left-width:calc(2px * calc(1 - var(--tw-divide-x-reverse)))}.\\32xl\\:divide-x-4>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(4px * var(--tw-divide-x-reverse));border-left-width:calc(4px * calc(1 - var(--tw-divide-x-reverse)))}.\\32xl\\:divide-x-8>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(8px * var(--tw-divide-x-reverse));border-left-width:calc(8px * calc(1 - var(--tw-divide-x-reverse)))}.\\32xl\\:divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(1px * var(--tw-divide-x-reverse));border-left-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}.\\32xl\\:divide-y-0>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(0px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(0px * var(--tw-divide-y-reverse))}.\\32xl\\:divide-y-2>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(2px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(2px * var(--tw-divide-y-reverse))}.\\32xl\\:divide-y-4>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(4px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(4px * var(--tw-divide-y-reverse))}.\\32xl\\:divide-y-8>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(8px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(8px * var(--tw-divide-y-reverse))}.\\32xl\\:divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.\\32xl\\:divide-y-reverse>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:1}.\\32xl\\:divide-x-reverse>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:1}.\\32xl\\:divide-solid>:not([hidden])~:not([hidden]){border-style:solid}.\\32xl\\:divide-dashed>:not([hidden])~:not([hidden]){border-style:dashed}.\\32xl\\:divide-dotted>:not([hidden])~:not([hidden]){border-style:dotted}.\\32xl\\:divide-double>:not([hidden])~:not([hidden]){border-style:double}.\\32xl\\:divide-none>:not([hidden])~:not([hidden]){border-style:none}.\\32xl\\:divide-transparent>:not([hidden])~:not([hidden]){border-color:transparent}.\\32xl\\:divide-current>:not([hidden])~:not([hidden]){border-color:currentColor}.\\32xl\\:divide-white>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.\\32xl\\:divide-lightgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(247, 247, 247, var(--tw-divide-opacity))}.\\32xl\\:divide-midgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.\\32xl\\:divide-darkgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(127, 127, 127, var(--tw-divide-opacity))}.\\32xl\\:divide-grey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(30, 30, 30, var(--tw-divide-opacity))}.\\32xl\\:divide-black>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(15, 15, 15, var(--tw-divide-opacity))}.\\32xl\\:divide-highlight>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 113, 227, var(--tw-divide-opacity))}.\\32xl\\:divide-highlight_hover>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 119, 237, var(--tw-divide-opacity))}.\\32xl\\:divide-button_outline>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.\\32xl\\:divide-error>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 69, 58, var(--tw-divide-opacity))}.\\32xl\\:divide-text-light>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(15, 15, 15, var(--tw-divide-opacity))}.\\32xl\\:divide-text-dimmed>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.\\32xl\\:divide-text-dark>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.\\32xl\\:divide-body-light>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.\\32xl\\:divide-body-dark>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(30, 30, 30, var(--tw-divide-opacity))}.\\32xl\\:divide-button>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 113, 227, var(--tw-divide-opacity))}.\\32xl\\:divide-button_hover>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 119, 237, var(--tw-divide-opacity))}@media(prefers-color-scheme: dark){.\\32xl\\:dark\\:divide-transparent>:not([hidden])~:not([hidden]){border-color:transparent}.\\32xl\\:dark\\:divide-current>:not([hidden])~:not([hidden]){border-color:currentColor}.\\32xl\\:dark\\:divide-white>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.\\32xl\\:dark\\:divide-lightgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(247, 247, 247, var(--tw-divide-opacity))}.\\32xl\\:dark\\:divide-midgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.\\32xl\\:dark\\:divide-darkgrey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(127, 127, 127, var(--tw-divide-opacity))}.\\32xl\\:dark\\:divide-grey>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(30, 30, 30, var(--tw-divide-opacity))}.\\32xl\\:dark\\:divide-black>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(15, 15, 15, var(--tw-divide-opacity))}.\\32xl\\:dark\\:divide-highlight>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 113, 227, var(--tw-divide-opacity))}.\\32xl\\:dark\\:divide-highlight_hover>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 119, 237, var(--tw-divide-opacity))}.\\32xl\\:dark\\:divide-button_outline>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.\\32xl\\:dark\\:divide-error>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 69, 58, var(--tw-divide-opacity))}.\\32xl\\:dark\\:divide-text-light>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(15, 15, 15, var(--tw-divide-opacity))}.\\32xl\\:dark\\:divide-text-dimmed>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(207, 207, 207, var(--tw-divide-opacity))}.\\32xl\\:dark\\:divide-text-dark>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.\\32xl\\:dark\\:divide-body-light>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255, 255, 255, var(--tw-divide-opacity))}.\\32xl\\:dark\\:divide-body-dark>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(30, 30, 30, var(--tw-divide-opacity))}.\\32xl\\:dark\\:divide-button>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 113, 227, var(--tw-divide-opacity))}.\\32xl\\:dark\\:divide-button_hover>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0, 119, 237, var(--tw-divide-opacity))}}.\\32xl\\:divide-opacity-0>:not([hidden])~:not([hidden]){--tw-divide-opacity:0}.\\32xl\\:divide-opacity-5>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.05}.\\32xl\\:divide-opacity-10>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.1}.\\32xl\\:divide-opacity-20>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.2}.\\32xl\\:divide-opacity-25>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.25}.\\32xl\\:divide-opacity-30>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.3}.\\32xl\\:divide-opacity-40>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.4}.\\32xl\\:divide-opacity-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.5}.\\32xl\\:divide-opacity-60>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.6}.\\32xl\\:divide-opacity-70>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.7}.\\32xl\\:divide-opacity-75>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.75}.\\32xl\\:divide-opacity-80>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.8}.\\32xl\\:divide-opacity-90>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.9}.\\32xl\\:divide-opacity-95>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.95}.\\32xl\\:divide-opacity-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1}@media(prefers-color-scheme: dark){.\\32xl\\:dark\\:divide-opacity-0>:not([hidden])~:not([hidden]){--tw-divide-opacity:0}.\\32xl\\:dark\\:divide-opacity-5>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.05}.\\32xl\\:dark\\:divide-opacity-10>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.1}.\\32xl\\:dark\\:divide-opacity-20>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.2}.\\32xl\\:dark\\:divide-opacity-25>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.25}.\\32xl\\:dark\\:divide-opacity-30>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.3}.\\32xl\\:dark\\:divide-opacity-40>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.4}.\\32xl\\:dark\\:divide-opacity-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.5}.\\32xl\\:dark\\:divide-opacity-60>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.6}.\\32xl\\:dark\\:divide-opacity-70>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.7}.\\32xl\\:dark\\:divide-opacity-75>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.75}.\\32xl\\:dark\\:divide-opacity-80>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.8}.\\32xl\\:dark\\:divide-opacity-90>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.9}.\\32xl\\:dark\\:divide-opacity-95>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.95}.\\32xl\\:dark\\:divide-opacity-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1}}.\\32xl\\:place-self-auto{place-self:auto}.\\32xl\\:place-self-start{place-self:start}.\\32xl\\:place-self-end{place-self:end}.\\32xl\\:place-self-center{place-self:center}.\\32xl\\:place-self-stretch{place-self:stretch}.\\32xl\\:self-auto{align-self:auto}.\\32xl\\:self-start{align-self:flex-start}.\\32xl\\:self-end{align-self:flex-end}.\\32xl\\:self-center{align-self:center}.\\32xl\\:self-stretch{align-self:stretch}.\\32xl\\:self-baseline{align-self:baseline}.\\32xl\\:justify-self-auto{justify-self:auto}.\\32xl\\:justify-self-start{justify-self:start}.\\32xl\\:justify-self-end{justify-self:end}.\\32xl\\:justify-self-center{justify-self:center}.\\32xl\\:justify-self-stretch{justify-self:stretch}.\\32xl\\:overflow-auto{overflow:auto}.\\32xl\\:overflow-hidden{overflow:hidden}.\\32xl\\:overflow-visible{overflow:visible}.\\32xl\\:overflow-scroll{overflow:scroll}.\\32xl\\:overflow-x-auto{overflow-x:auto}.\\32xl\\:overflow-y-auto{overflow-y:auto}.\\32xl\\:overflow-x-hidden{overflow-x:hidden}.\\32xl\\:overflow-y-hidden{overflow-y:hidden}.\\32xl\\:overflow-x-visible{overflow-x:visible}.\\32xl\\:overflow-y-visible{overflow-y:visible}.\\32xl\\:overflow-x-scroll{overflow-x:scroll}.\\32xl\\:overflow-y-scroll{overflow-y:scroll}.\\32xl\\:overscroll-auto{overscroll-behavior:auto}.\\32xl\\:overscroll-contain{overscroll-behavior:contain}.\\32xl\\:overscroll-none{overscroll-behavior:none}.\\32xl\\:overscroll-y-auto{overscroll-behavior-y:auto}.\\32xl\\:overscroll-y-contain{overscroll-behavior-y:contain}.\\32xl\\:overscroll-y-none{overscroll-behavior-y:none}.\\32xl\\:overscroll-x-auto{overscroll-behavior-x:auto}.\\32xl\\:overscroll-x-contain{overscroll-behavior-x:contain}.\\32xl\\:overscroll-x-none{overscroll-behavior-x:none}.\\32xl\\:truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.\\32xl\\:overflow-ellipsis{text-overflow:ellipsis}.\\32xl\\:overflow-clip{text-overflow:clip}.\\32xl\\:whitespace-normal{white-space:normal}.\\32xl\\:whitespace-nowrap{white-space:nowrap}.\\32xl\\:whitespace-pre{white-space:pre}.\\32xl\\:whitespace-pre-line{white-space:pre-line}.\\32xl\\:whitespace-pre-wrap{white-space:pre-wrap}.\\32xl\\:break-normal{overflow-wrap:normal;word-break:normal}.\\32xl\\:break-words{overflow-wrap:break-word}.\\32xl\\:break-all{word-break:break-all}.\\32xl\\:rounded-none{border-radius:0px}.\\32xl\\:rounded-sm{border-radius:0.125rem}.\\32xl\\:rounded{border-radius:0.25rem}.\\32xl\\:rounded-md{border-radius:0.375rem}.\\32xl\\:rounded-lg{border-radius:0.5rem}.\\32xl\\:rounded-xl{border-radius:0.75rem}.\\32xl\\:rounded-2xl{border-radius:1rem}.\\32xl\\:rounded-3xl{border-radius:1.5rem}.\\32xl\\:rounded-full{border-radius:9999px}.\\32xl\\:rounded-t-none{border-top-left-radius:0px;border-top-right-radius:0px}.\\32xl\\:rounded-t-sm{border-top-left-radius:0.125rem;border-top-right-radius:0.125rem}.\\32xl\\:rounded-t{border-top-left-radius:0.25rem;border-top-right-radius:0.25rem}.\\32xl\\:rounded-t-md{border-top-left-radius:0.375rem;border-top-right-radius:0.375rem}.\\32xl\\:rounded-t-lg{border-top-left-radius:0.5rem;border-top-right-radius:0.5rem}.\\32xl\\:rounded-t-xl{border-top-left-radius:0.75rem;border-top-right-radius:0.75rem}.\\32xl\\:rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.\\32xl\\:rounded-t-3xl{border-top-left-radius:1.5rem;border-top-right-radius:1.5rem}.\\32xl\\:rounded-t-full{border-top-left-radius:9999px;border-top-right-radius:9999px}.\\32xl\\:rounded-r-none{border-top-right-radius:0px;border-bottom-right-radius:0px}.\\32xl\\:rounded-r-sm{border-top-right-radius:0.125rem;border-bottom-right-radius:0.125rem}.\\32xl\\:rounded-r{border-top-right-radius:0.25rem;border-bottom-right-radius:0.25rem}.\\32xl\\:rounded-r-md{border-top-right-radius:0.375rem;border-bottom-right-radius:0.375rem}.\\32xl\\:rounded-r-lg{border-top-right-radius:0.5rem;border-bottom-right-radius:0.5rem}.\\32xl\\:rounded-r-xl{border-top-right-radius:0.75rem;border-bottom-right-radius:0.75rem}.\\32xl\\:rounded-r-2xl{border-top-right-radius:1rem;border-bottom-right-radius:1rem}.\\32xl\\:rounded-r-3xl{border-top-right-radius:1.5rem;border-bottom-right-radius:1.5rem}.\\32xl\\:rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.\\32xl\\:rounded-b-none{border-bottom-right-radius:0px;border-bottom-left-radius:0px}.\\32xl\\:rounded-b-sm{border-bottom-right-radius:0.125rem;border-bottom-left-radius:0.125rem}.\\32xl\\:rounded-b{border-bottom-right-radius:0.25rem;border-bottom-left-radius:0.25rem}.\\32xl\\:rounded-b-md{border-bottom-right-radius:0.375rem;border-bottom-left-radius:0.375rem}.\\32xl\\:rounded-b-lg{border-bottom-right-radius:0.5rem;border-bottom-left-radius:0.5rem}.\\32xl\\:rounded-b-xl{border-bottom-right-radius:0.75rem;border-bottom-left-radius:0.75rem}.\\32xl\\:rounded-b-2xl{border-bottom-right-radius:1rem;border-bottom-left-radius:1rem}.\\32xl\\:rounded-b-3xl{border-bottom-right-radius:1.5rem;border-bottom-left-radius:1.5rem}.\\32xl\\:rounded-b-full{border-bottom-right-radius:9999px;border-bottom-left-radius:9999px}.\\32xl\\:rounded-l-none{border-top-left-radius:0px;border-bottom-left-radius:0px}.\\32xl\\:rounded-l-sm{border-top-left-radius:0.125rem;border-bottom-left-radius:0.125rem}.\\32xl\\:rounded-l{border-top-left-radius:0.25rem;border-bottom-left-radius:0.25rem}.\\32xl\\:rounded-l-md{border-top-left-radius:0.375rem;border-bottom-left-radius:0.375rem}.\\32xl\\:rounded-l-lg{border-top-left-radius:0.5rem;border-bottom-left-radius:0.5rem}.\\32xl\\:rounded-l-xl{border-top-left-radius:0.75rem;border-bottom-left-radius:0.75rem}.\\32xl\\:rounded-l-2xl{border-top-left-radius:1rem;border-bottom-left-radius:1rem}.\\32xl\\:rounded-l-3xl{border-top-left-radius:1.5rem;border-bottom-left-radius:1.5rem}.\\32xl\\:rounded-l-full{border-top-left-radius:9999px;border-bottom-left-radius:9999px}.\\32xl\\:rounded-tl-none{border-top-left-radius:0px}.\\32xl\\:rounded-tl-sm{border-top-left-radius:0.125rem}.\\32xl\\:rounded-tl{border-top-left-radius:0.25rem}.\\32xl\\:rounded-tl-md{border-top-left-radius:0.375rem}.\\32xl\\:rounded-tl-lg{border-top-left-radius:0.5rem}.\\32xl\\:rounded-tl-xl{border-top-left-radius:0.75rem}.\\32xl\\:rounded-tl-2xl{border-top-left-radius:1rem}.\\32xl\\:rounded-tl-3xl{border-top-left-radius:1.5rem}.\\32xl\\:rounded-tl-full{border-top-left-radius:9999px}.\\32xl\\:rounded-tr-none{border-top-right-radius:0px}.\\32xl\\:rounded-tr-sm{border-top-right-radius:0.125rem}.\\32xl\\:rounded-tr{border-top-right-radius:0.25rem}.\\32xl\\:rounded-tr-md{border-top-right-radius:0.375rem}.\\32xl\\:rounded-tr-lg{border-top-right-radius:0.5rem}.\\32xl\\:rounded-tr-xl{border-top-right-radius:0.75rem}.\\32xl\\:rounded-tr-2xl{border-top-right-radius:1rem}.\\32xl\\:rounded-tr-3xl{border-top-right-radius:1.5rem}.\\32xl\\:rounded-tr-full{border-top-right-radius:9999px}.\\32xl\\:rounded-br-none{border-bottom-right-radius:0px}.\\32xl\\:rounded-br-sm{border-bottom-right-radius:0.125rem}.\\32xl\\:rounded-br{border-bottom-right-radius:0.25rem}.\\32xl\\:rounded-br-md{border-bottom-right-radius:0.375rem}.\\32xl\\:rounded-br-lg{border-bottom-right-radius:0.5rem}.\\32xl\\:rounded-br-xl{border-bottom-right-radius:0.75rem}.\\32xl\\:rounded-br-2xl{border-bottom-right-radius:1rem}.\\32xl\\:rounded-br-3xl{border-bottom-right-radius:1.5rem}.\\32xl\\:rounded-br-full{border-bottom-right-radius:9999px}.\\32xl\\:rounded-bl-none{border-bottom-left-radius:0px}.\\32xl\\:rounded-bl-sm{border-bottom-left-radius:0.125rem}.\\32xl\\:rounded-bl{border-bottom-left-radius:0.25rem}.\\32xl\\:rounded-bl-md{border-bottom-left-radius:0.375rem}.\\32xl\\:rounded-bl-lg{border-bottom-left-radius:0.5rem}.\\32xl\\:rounded-bl-xl{border-bottom-left-radius:0.75rem}.\\32xl\\:rounded-bl-2xl{border-bottom-left-radius:1rem}.\\32xl\\:rounded-bl-3xl{border-bottom-left-radius:1.5rem}.\\32xl\\:rounded-bl-full{border-bottom-left-radius:9999px}.\\32xl\\:border-0{border-width:0px}.\\32xl\\:border-2{border-width:2px}.\\32xl\\:border-4{border-width:4px}.\\32xl\\:border-8{border-width:8px}.\\32xl\\:border{border-width:1px}.\\32xl\\:border-t-0{border-top-width:0px}.\\32xl\\:border-t-2{border-top-width:2px}.\\32xl\\:border-t-4{border-top-width:4px}.\\32xl\\:border-t-8{border-top-width:8px}.\\32xl\\:border-t{border-top-width:1px}.\\32xl\\:border-r-0{border-right-width:0px}.\\32xl\\:border-r-2{border-right-width:2px}.\\32xl\\:border-r-4{border-right-width:4px}.\\32xl\\:border-r-8{border-right-width:8px}.\\32xl\\:border-r{border-right-width:1px}.\\32xl\\:border-b-0{border-bottom-width:0px}.\\32xl\\:border-b-2{border-bottom-width:2px}.\\32xl\\:border-b-4{border-bottom-width:4px}.\\32xl\\:border-b-8{border-bottom-width:8px}.\\32xl\\:border-b{border-bottom-width:1px}.\\32xl\\:border-l-0{border-left-width:0px}.\\32xl\\:border-l-2{border-left-width:2px}.\\32xl\\:border-l-4{border-left-width:4px}.\\32xl\\:border-l-8{border-left-width:8px}.\\32xl\\:border-l{border-left-width:1px}.\\32xl\\:border-solid{border-style:solid}.\\32xl\\:border-dashed{border-style:dashed}.\\32xl\\:border-dotted{border-style:dotted}.\\32xl\\:border-double{border-style:double}.\\32xl\\:border-none{border-style:none}.\\32xl\\:border-transparent{border-color:transparent}.\\32xl\\:border-current{border-color:currentColor}.\\32xl\\:border-white{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.\\32xl\\:border-lightgrey{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.\\32xl\\:border-midgrey{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.\\32xl\\:border-darkgrey{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.\\32xl\\:border-grey{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.\\32xl\\:border-black{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.\\32xl\\:border-highlight{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.\\32xl\\:border-highlight_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.\\32xl\\:border-button_outline{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.\\32xl\\:border-error{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.\\32xl\\:border-text-light{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.\\32xl\\:border-text-dimmed{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.\\32xl\\:border-text-dark{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.\\32xl\\:border-body-light{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.\\32xl\\:border-body-dark{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.\\32xl\\:border-button{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.\\32xl\\:border-button_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.group:hover .\\32xl\\:group-hover\\:border-transparent{border-color:transparent}.group:hover .\\32xl\\:group-hover\\:border-current{border-color:currentColor}.group:hover .\\32xl\\:group-hover\\:border-white{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .\\32xl\\:group-hover\\:border-lightgrey{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.group:hover .\\32xl\\:group-hover\\:border-midgrey{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .\\32xl\\:group-hover\\:border-darkgrey{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.group:hover .\\32xl\\:group-hover\\:border-grey{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.group:hover .\\32xl\\:group-hover\\:border-black{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.group:hover .\\32xl\\:group-hover\\:border-highlight{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.group:hover .\\32xl\\:group-hover\\:border-highlight_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.group:hover .\\32xl\\:group-hover\\:border-button_outline{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .\\32xl\\:group-hover\\:border-error{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.group:hover .\\32xl\\:group-hover\\:border-text-light{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.group:hover .\\32xl\\:group-hover\\:border-text-dimmed{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .\\32xl\\:group-hover\\:border-text-dark{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .\\32xl\\:group-hover\\:border-body-light{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .\\32xl\\:group-hover\\:border-body-dark{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.group:hover .\\32xl\\:group-hover\\:border-button{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.group:hover .\\32xl\\:group-hover\\:border-button_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.\\32xl\\:focus-within\\:border-transparent:focus-within{border-color:transparent}.\\32xl\\:focus-within\\:border-current:focus-within{border-color:currentColor}.\\32xl\\:focus-within\\:border-white:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.\\32xl\\:focus-within\\:border-lightgrey:focus-within{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.\\32xl\\:focus-within\\:border-midgrey:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.\\32xl\\:focus-within\\:border-darkgrey:focus-within{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.\\32xl\\:focus-within\\:border-grey:focus-within{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.\\32xl\\:focus-within\\:border-black:focus-within{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.\\32xl\\:focus-within\\:border-highlight:focus-within{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.\\32xl\\:focus-within\\:border-highlight_hover:focus-within{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.\\32xl\\:focus-within\\:border-button_outline:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.\\32xl\\:focus-within\\:border-error:focus-within{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.\\32xl\\:focus-within\\:border-text-light:focus-within{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.\\32xl\\:focus-within\\:border-text-dimmed:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.\\32xl\\:focus-within\\:border-text-dark:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.\\32xl\\:focus-within\\:border-body-light:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.\\32xl\\:focus-within\\:border-body-dark:focus-within{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.\\32xl\\:focus-within\\:border-button:focus-within{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.\\32xl\\:focus-within\\:border-button_hover:focus-within{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.\\32xl\\:hover\\:border-transparent:hover{border-color:transparent}.\\32xl\\:hover\\:border-current:hover{border-color:currentColor}.\\32xl\\:hover\\:border-white:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.\\32xl\\:hover\\:border-lightgrey:hover{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.\\32xl\\:hover\\:border-midgrey:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.\\32xl\\:hover\\:border-darkgrey:hover{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.\\32xl\\:hover\\:border-grey:hover{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.\\32xl\\:hover\\:border-black:hover{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.\\32xl\\:hover\\:border-highlight:hover{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.\\32xl\\:hover\\:border-highlight_hover:hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.\\32xl\\:hover\\:border-button_outline:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.\\32xl\\:hover\\:border-error:hover{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.\\32xl\\:hover\\:border-text-light:hover{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.\\32xl\\:hover\\:border-text-dimmed:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.\\32xl\\:hover\\:border-text-dark:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.\\32xl\\:hover\\:border-body-light:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.\\32xl\\:hover\\:border-body-dark:hover{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.\\32xl\\:hover\\:border-button:hover{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.\\32xl\\:hover\\:border-button_hover:hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.\\32xl\\:focus\\:border-transparent:focus{border-color:transparent}.\\32xl\\:focus\\:border-current:focus{border-color:currentColor}.\\32xl\\:focus\\:border-white:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.\\32xl\\:focus\\:border-lightgrey:focus{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.\\32xl\\:focus\\:border-midgrey:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.\\32xl\\:focus\\:border-darkgrey:focus{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.\\32xl\\:focus\\:border-grey:focus{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.\\32xl\\:focus\\:border-black:focus{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.\\32xl\\:focus\\:border-highlight:focus{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.\\32xl\\:focus\\:border-highlight_hover:focus{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.\\32xl\\:focus\\:border-button_outline:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.\\32xl\\:focus\\:border-error:focus{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.\\32xl\\:focus\\:border-text-light:focus{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.\\32xl\\:focus\\:border-text-dimmed:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.\\32xl\\:focus\\:border-text-dark:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.\\32xl\\:focus\\:border-body-light:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.\\32xl\\:focus\\:border-body-dark:focus{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.\\32xl\\:focus\\:border-button:focus{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.\\32xl\\:focus\\:border-button_hover:focus{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}@media(prefers-color-scheme: dark){.\\32xl\\:dark\\:border-transparent{border-color:transparent}.\\32xl\\:dark\\:border-current{border-color:currentColor}.\\32xl\\:dark\\:border-white{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.\\32xl\\:dark\\:border-lightgrey{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.\\32xl\\:dark\\:border-midgrey{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.\\32xl\\:dark\\:border-darkgrey{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.\\32xl\\:dark\\:border-grey{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.\\32xl\\:dark\\:border-black{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.\\32xl\\:dark\\:border-highlight{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.\\32xl\\:dark\\:border-highlight_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.\\32xl\\:dark\\:border-button_outline{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.\\32xl\\:dark\\:border-error{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.\\32xl\\:dark\\:border-text-light{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.\\32xl\\:dark\\:border-text-dimmed{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.\\32xl\\:dark\\:border-text-dark{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.\\32xl\\:dark\\:border-body-light{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.\\32xl\\:dark\\:border-body-dark{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.\\32xl\\:dark\\:border-button{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.\\32xl\\:dark\\:border-button_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:border-transparent{border-color:transparent}.group:hover .\\32xl\\:dark\\:group-hover\\:border-current{border-color:currentColor}.group:hover .\\32xl\\:dark\\:group-hover\\:border-white{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:border-lightgrey{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:border-midgrey{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:border-darkgrey{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:border-grey{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:border-black{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:border-highlight{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:border-highlight_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:border-button_outline{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:border-error{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:border-text-light{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:border-text-dimmed{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:border-text-dark{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:border-body-light{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:border-body-dark{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:border-button{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:border-button_hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus-within\\:border-transparent:focus-within{border-color:transparent}.\\32xl\\:dark\\:focus-within\\:border-current:focus-within{border-color:currentColor}.\\32xl\\:dark\\:focus-within\\:border-white:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus-within\\:border-lightgrey:focus-within{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus-within\\:border-midgrey:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus-within\\:border-darkgrey:focus-within{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus-within\\:border-grey:focus-within{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus-within\\:border-black:focus-within{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus-within\\:border-highlight:focus-within{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus-within\\:border-highlight_hover:focus-within{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus-within\\:border-button_outline:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus-within\\:border-error:focus-within{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus-within\\:border-text-light:focus-within{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus-within\\:border-text-dimmed:focus-within{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus-within\\:border-text-dark:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus-within\\:border-body-light:focus-within{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus-within\\:border-body-dark:focus-within{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus-within\\:border-button:focus-within{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus-within\\:border-button_hover:focus-within{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.\\32xl\\:dark\\:hover\\:border-transparent:hover{border-color:transparent}.\\32xl\\:dark\\:hover\\:border-current:hover{border-color:currentColor}.\\32xl\\:dark\\:hover\\:border-white:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.\\32xl\\:dark\\:hover\\:border-lightgrey:hover{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.\\32xl\\:dark\\:hover\\:border-midgrey:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.\\32xl\\:dark\\:hover\\:border-darkgrey:hover{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.\\32xl\\:dark\\:hover\\:border-grey:hover{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.\\32xl\\:dark\\:hover\\:border-black:hover{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.\\32xl\\:dark\\:hover\\:border-highlight:hover{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.\\32xl\\:dark\\:hover\\:border-highlight_hover:hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.\\32xl\\:dark\\:hover\\:border-button_outline:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.\\32xl\\:dark\\:hover\\:border-error:hover{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.\\32xl\\:dark\\:hover\\:border-text-light:hover{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.\\32xl\\:dark\\:hover\\:border-text-dimmed:hover{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.\\32xl\\:dark\\:hover\\:border-text-dark:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.\\32xl\\:dark\\:hover\\:border-body-light:hover{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.\\32xl\\:dark\\:hover\\:border-body-dark:hover{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.\\32xl\\:dark\\:hover\\:border-button:hover{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.\\32xl\\:dark\\:hover\\:border-button_hover:hover{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus\\:border-transparent:focus{border-color:transparent}.\\32xl\\:dark\\:focus\\:border-current:focus{border-color:currentColor}.\\32xl\\:dark\\:focus\\:border-white:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus\\:border-lightgrey:focus{--tw-border-opacity:1;border-color:rgba(247, 247, 247, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus\\:border-midgrey:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus\\:border-darkgrey:focus{--tw-border-opacity:1;border-color:rgba(127, 127, 127, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus\\:border-grey:focus{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus\\:border-black:focus{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus\\:border-highlight:focus{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus\\:border-highlight_hover:focus{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus\\:border-button_outline:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus\\:border-error:focus{--tw-border-opacity:1;border-color:rgba(255, 69, 58, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus\\:border-text-light:focus{--tw-border-opacity:1;border-color:rgba(15, 15, 15, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus\\:border-text-dimmed:focus{--tw-border-opacity:1;border-color:rgba(207, 207, 207, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus\\:border-text-dark:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus\\:border-body-light:focus{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus\\:border-body-dark:focus{--tw-border-opacity:1;border-color:rgba(30, 30, 30, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus\\:border-button:focus{--tw-border-opacity:1;border-color:rgba(0, 113, 227, var(--tw-border-opacity))}.\\32xl\\:dark\\:focus\\:border-button_hover:focus{--tw-border-opacity:1;border-color:rgba(0, 119, 237, var(--tw-border-opacity))}}.\\32xl\\:border-opacity-0{--tw-border-opacity:0}.\\32xl\\:border-opacity-5{--tw-border-opacity:0.05}.\\32xl\\:border-opacity-10{--tw-border-opacity:0.1}.\\32xl\\:border-opacity-20{--tw-border-opacity:0.2}.\\32xl\\:border-opacity-25{--tw-border-opacity:0.25}.\\32xl\\:border-opacity-30{--tw-border-opacity:0.3}.\\32xl\\:border-opacity-40{--tw-border-opacity:0.4}.\\32xl\\:border-opacity-50{--tw-border-opacity:0.5}.\\32xl\\:border-opacity-60{--tw-border-opacity:0.6}.\\32xl\\:border-opacity-70{--tw-border-opacity:0.7}.\\32xl\\:border-opacity-75{--tw-border-opacity:0.75}.\\32xl\\:border-opacity-80{--tw-border-opacity:0.8}.\\32xl\\:border-opacity-90{--tw-border-opacity:0.9}.\\32xl\\:border-opacity-95{--tw-border-opacity:0.95}.\\32xl\\:border-opacity-100{--tw-border-opacity:1}.group:hover .\\32xl\\:group-hover\\:border-opacity-0{--tw-border-opacity:0}.group:hover .\\32xl\\:group-hover\\:border-opacity-5{--tw-border-opacity:0.05}.group:hover .\\32xl\\:group-hover\\:border-opacity-10{--tw-border-opacity:0.1}.group:hover .\\32xl\\:group-hover\\:border-opacity-20{--tw-border-opacity:0.2}.group:hover .\\32xl\\:group-hover\\:border-opacity-25{--tw-border-opacity:0.25}.group:hover .\\32xl\\:group-hover\\:border-opacity-30{--tw-border-opacity:0.3}.group:hover .\\32xl\\:group-hover\\:border-opacity-40{--tw-border-opacity:0.4}.group:hover .\\32xl\\:group-hover\\:border-opacity-50{--tw-border-opacity:0.5}.group:hover .\\32xl\\:group-hover\\:border-opacity-60{--tw-border-opacity:0.6}.group:hover .\\32xl\\:group-hover\\:border-opacity-70{--tw-border-opacity:0.7}.group:hover .\\32xl\\:group-hover\\:border-opacity-75{--tw-border-opacity:0.75}.group:hover .\\32xl\\:group-hover\\:border-opacity-80{--tw-border-opacity:0.8}.group:hover .\\32xl\\:group-hover\\:border-opacity-90{--tw-border-opacity:0.9}.group:hover .\\32xl\\:group-hover\\:border-opacity-95{--tw-border-opacity:0.95}.group:hover .\\32xl\\:group-hover\\:border-opacity-100{--tw-border-opacity:1}.\\32xl\\:focus-within\\:border-opacity-0:focus-within{--tw-border-opacity:0}.\\32xl\\:focus-within\\:border-opacity-5:focus-within{--tw-border-opacity:0.05}.\\32xl\\:focus-within\\:border-opacity-10:focus-within{--tw-border-opacity:0.1}.\\32xl\\:focus-within\\:border-opacity-20:focus-within{--tw-border-opacity:0.2}.\\32xl\\:focus-within\\:border-opacity-25:focus-within{--tw-border-opacity:0.25}.\\32xl\\:focus-within\\:border-opacity-30:focus-within{--tw-border-opacity:0.3}.\\32xl\\:focus-within\\:border-opacity-40:focus-within{--tw-border-opacity:0.4}.\\32xl\\:focus-within\\:border-opacity-50:focus-within{--tw-border-opacity:0.5}.\\32xl\\:focus-within\\:border-opacity-60:focus-within{--tw-border-opacity:0.6}.\\32xl\\:focus-within\\:border-opacity-70:focus-within{--tw-border-opacity:0.7}.\\32xl\\:focus-within\\:border-opacity-75:focus-within{--tw-border-opacity:0.75}.\\32xl\\:focus-within\\:border-opacity-80:focus-within{--tw-border-opacity:0.8}.\\32xl\\:focus-within\\:border-opacity-90:focus-within{--tw-border-opacity:0.9}.\\32xl\\:focus-within\\:border-opacity-95:focus-within{--tw-border-opacity:0.95}.\\32xl\\:focus-within\\:border-opacity-100:focus-within{--tw-border-opacity:1}.\\32xl\\:hover\\:border-opacity-0:hover{--tw-border-opacity:0}.\\32xl\\:hover\\:border-opacity-5:hover{--tw-border-opacity:0.05}.\\32xl\\:hover\\:border-opacity-10:hover{--tw-border-opacity:0.1}.\\32xl\\:hover\\:border-opacity-20:hover{--tw-border-opacity:0.2}.\\32xl\\:hover\\:border-opacity-25:hover{--tw-border-opacity:0.25}.\\32xl\\:hover\\:border-opacity-30:hover{--tw-border-opacity:0.3}.\\32xl\\:hover\\:border-opacity-40:hover{--tw-border-opacity:0.4}.\\32xl\\:hover\\:border-opacity-50:hover{--tw-border-opacity:0.5}.\\32xl\\:hover\\:border-opacity-60:hover{--tw-border-opacity:0.6}.\\32xl\\:hover\\:border-opacity-70:hover{--tw-border-opacity:0.7}.\\32xl\\:hover\\:border-opacity-75:hover{--tw-border-opacity:0.75}.\\32xl\\:hover\\:border-opacity-80:hover{--tw-border-opacity:0.8}.\\32xl\\:hover\\:border-opacity-90:hover{--tw-border-opacity:0.9}.\\32xl\\:hover\\:border-opacity-95:hover{--tw-border-opacity:0.95}.\\32xl\\:hover\\:border-opacity-100:hover{--tw-border-opacity:1}.\\32xl\\:focus\\:border-opacity-0:focus{--tw-border-opacity:0}.\\32xl\\:focus\\:border-opacity-5:focus{--tw-border-opacity:0.05}.\\32xl\\:focus\\:border-opacity-10:focus{--tw-border-opacity:0.1}.\\32xl\\:focus\\:border-opacity-20:focus{--tw-border-opacity:0.2}.\\32xl\\:focus\\:border-opacity-25:focus{--tw-border-opacity:0.25}.\\32xl\\:focus\\:border-opacity-30:focus{--tw-border-opacity:0.3}.\\32xl\\:focus\\:border-opacity-40:focus{--tw-border-opacity:0.4}.\\32xl\\:focus\\:border-opacity-50:focus{--tw-border-opacity:0.5}.\\32xl\\:focus\\:border-opacity-60:focus{--tw-border-opacity:0.6}.\\32xl\\:focus\\:border-opacity-70:focus{--tw-border-opacity:0.7}.\\32xl\\:focus\\:border-opacity-75:focus{--tw-border-opacity:0.75}.\\32xl\\:focus\\:border-opacity-80:focus{--tw-border-opacity:0.8}.\\32xl\\:focus\\:border-opacity-90:focus{--tw-border-opacity:0.9}.\\32xl\\:focus\\:border-opacity-95:focus{--tw-border-opacity:0.95}.\\32xl\\:focus\\:border-opacity-100:focus{--tw-border-opacity:1}@media(prefers-color-scheme: dark){.\\32xl\\:dark\\:border-opacity-0{--tw-border-opacity:0}.\\32xl\\:dark\\:border-opacity-5{--tw-border-opacity:0.05}.\\32xl\\:dark\\:border-opacity-10{--tw-border-opacity:0.1}.\\32xl\\:dark\\:border-opacity-20{--tw-border-opacity:0.2}.\\32xl\\:dark\\:border-opacity-25{--tw-border-opacity:0.25}.\\32xl\\:dark\\:border-opacity-30{--tw-border-opacity:0.3}.\\32xl\\:dark\\:border-opacity-40{--tw-border-opacity:0.4}.\\32xl\\:dark\\:border-opacity-50{--tw-border-opacity:0.5}.\\32xl\\:dark\\:border-opacity-60{--tw-border-opacity:0.6}.\\32xl\\:dark\\:border-opacity-70{--tw-border-opacity:0.7}.\\32xl\\:dark\\:border-opacity-75{--tw-border-opacity:0.75}.\\32xl\\:dark\\:border-opacity-80{--tw-border-opacity:0.8}.\\32xl\\:dark\\:border-opacity-90{--tw-border-opacity:0.9}.\\32xl\\:dark\\:border-opacity-95{--tw-border-opacity:0.95}.\\32xl\\:dark\\:border-opacity-100{--tw-border-opacity:1}.group:hover .\\32xl\\:dark\\:group-hover\\:border-opacity-0{--tw-border-opacity:0}.group:hover .\\32xl\\:dark\\:group-hover\\:border-opacity-5{--tw-border-opacity:0.05}.group:hover .\\32xl\\:dark\\:group-hover\\:border-opacity-10{--tw-border-opacity:0.1}.group:hover .\\32xl\\:dark\\:group-hover\\:border-opacity-20{--tw-border-opacity:0.2}.group:hover .\\32xl\\:dark\\:group-hover\\:border-opacity-25{--tw-border-opacity:0.25}.group:hover .\\32xl\\:dark\\:group-hover\\:border-opacity-30{--tw-border-opacity:0.3}.group:hover .\\32xl\\:dark\\:group-hover\\:border-opacity-40{--tw-border-opacity:0.4}.group:hover .\\32xl\\:dark\\:group-hover\\:border-opacity-50{--tw-border-opacity:0.5}.group:hover .\\32xl\\:dark\\:group-hover\\:border-opacity-60{--tw-border-opacity:0.6}.group:hover .\\32xl\\:dark\\:group-hover\\:border-opacity-70{--tw-border-opacity:0.7}.group:hover .\\32xl\\:dark\\:group-hover\\:border-opacity-75{--tw-border-opacity:0.75}.group:hover .\\32xl\\:dark\\:group-hover\\:border-opacity-80{--tw-border-opacity:0.8}.group:hover .\\32xl\\:dark\\:group-hover\\:border-opacity-90{--tw-border-opacity:0.9}.group:hover .\\32xl\\:dark\\:group-hover\\:border-opacity-95{--tw-border-opacity:0.95}.group:hover .\\32xl\\:dark\\:group-hover\\:border-opacity-100{--tw-border-opacity:1}.\\32xl\\:dark\\:focus-within\\:border-opacity-0:focus-within{--tw-border-opacity:0}.\\32xl\\:dark\\:focus-within\\:border-opacity-5:focus-within{--tw-border-opacity:0.05}.\\32xl\\:dark\\:focus-within\\:border-opacity-10:focus-within{--tw-border-opacity:0.1}.\\32xl\\:dark\\:focus-within\\:border-opacity-20:focus-within{--tw-border-opacity:0.2}.\\32xl\\:dark\\:focus-within\\:border-opacity-25:focus-within{--tw-border-opacity:0.25}.\\32xl\\:dark\\:focus-within\\:border-opacity-30:focus-within{--tw-border-opacity:0.3}.\\32xl\\:dark\\:focus-within\\:border-opacity-40:focus-within{--tw-border-opacity:0.4}.\\32xl\\:dark\\:focus-within\\:border-opacity-50:focus-within{--tw-border-opacity:0.5}.\\32xl\\:dark\\:focus-within\\:border-opacity-60:focus-within{--tw-border-opacity:0.6}.\\32xl\\:dark\\:focus-within\\:border-opacity-70:focus-within{--tw-border-opacity:0.7}.\\32xl\\:dark\\:focus-within\\:border-opacity-75:focus-within{--tw-border-opacity:0.75}.\\32xl\\:dark\\:focus-within\\:border-opacity-80:focus-within{--tw-border-opacity:0.8}.\\32xl\\:dark\\:focus-within\\:border-opacity-90:focus-within{--tw-border-opacity:0.9}.\\32xl\\:dark\\:focus-within\\:border-opacity-95:focus-within{--tw-border-opacity:0.95}.\\32xl\\:dark\\:focus-within\\:border-opacity-100:focus-within{--tw-border-opacity:1}.\\32xl\\:dark\\:hover\\:border-opacity-0:hover{--tw-border-opacity:0}.\\32xl\\:dark\\:hover\\:border-opacity-5:hover{--tw-border-opacity:0.05}.\\32xl\\:dark\\:hover\\:border-opacity-10:hover{--tw-border-opacity:0.1}.\\32xl\\:dark\\:hover\\:border-opacity-20:hover{--tw-border-opacity:0.2}.\\32xl\\:dark\\:hover\\:border-opacity-25:hover{--tw-border-opacity:0.25}.\\32xl\\:dark\\:hover\\:border-opacity-30:hover{--tw-border-opacity:0.3}.\\32xl\\:dark\\:hover\\:border-opacity-40:hover{--tw-border-opacity:0.4}.\\32xl\\:dark\\:hover\\:border-opacity-50:hover{--tw-border-opacity:0.5}.\\32xl\\:dark\\:hover\\:border-opacity-60:hover{--tw-border-opacity:0.6}.\\32xl\\:dark\\:hover\\:border-opacity-70:hover{--tw-border-opacity:0.7}.\\32xl\\:dark\\:hover\\:border-opacity-75:hover{--tw-border-opacity:0.75}.\\32xl\\:dark\\:hover\\:border-opacity-80:hover{--tw-border-opacity:0.8}.\\32xl\\:dark\\:hover\\:border-opacity-90:hover{--tw-border-opacity:0.9}.\\32xl\\:dark\\:hover\\:border-opacity-95:hover{--tw-border-opacity:0.95}.\\32xl\\:dark\\:hover\\:border-opacity-100:hover{--tw-border-opacity:1}.\\32xl\\:dark\\:focus\\:border-opacity-0:focus{--tw-border-opacity:0}.\\32xl\\:dark\\:focus\\:border-opacity-5:focus{--tw-border-opacity:0.05}.\\32xl\\:dark\\:focus\\:border-opacity-10:focus{--tw-border-opacity:0.1}.\\32xl\\:dark\\:focus\\:border-opacity-20:focus{--tw-border-opacity:0.2}.\\32xl\\:dark\\:focus\\:border-opacity-25:focus{--tw-border-opacity:0.25}.\\32xl\\:dark\\:focus\\:border-opacity-30:focus{--tw-border-opacity:0.3}.\\32xl\\:dark\\:focus\\:border-opacity-40:focus{--tw-border-opacity:0.4}.\\32xl\\:dark\\:focus\\:border-opacity-50:focus{--tw-border-opacity:0.5}.\\32xl\\:dark\\:focus\\:border-opacity-60:focus{--tw-border-opacity:0.6}.\\32xl\\:dark\\:focus\\:border-opacity-70:focus{--tw-border-opacity:0.7}.\\32xl\\:dark\\:focus\\:border-opacity-75:focus{--tw-border-opacity:0.75}.\\32xl\\:dark\\:focus\\:border-opacity-80:focus{--tw-border-opacity:0.8}.\\32xl\\:dark\\:focus\\:border-opacity-90:focus{--tw-border-opacity:0.9}.\\32xl\\:dark\\:focus\\:border-opacity-95:focus{--tw-border-opacity:0.95}.\\32xl\\:dark\\:focus\\:border-opacity-100:focus{--tw-border-opacity:1}}.\\32xl\\:bg-transparent{background-color:transparent}.\\32xl\\:bg-current{background-color:currentColor}.\\32xl\\:bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.\\32xl\\:bg-lightgrey{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.\\32xl\\:bg-midgrey{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.\\32xl\\:bg-darkgrey{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.\\32xl\\:bg-grey{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.\\32xl\\:bg-black{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.\\32xl\\:bg-highlight{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.\\32xl\\:bg-highlight_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.\\32xl\\:bg-button_outline{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.\\32xl\\:bg-error{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.\\32xl\\:bg-text-light{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.\\32xl\\:bg-text-dimmed{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.\\32xl\\:bg-text-dark{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.\\32xl\\:bg-body-light{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.\\32xl\\:bg-body-dark{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.\\32xl\\:bg-button{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.\\32xl\\:bg-button_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.group:hover .\\32xl\\:group-hover\\:bg-transparent{background-color:transparent}.group:hover .\\32xl\\:group-hover\\:bg-current{background-color:currentColor}.group:hover .\\32xl\\:group-hover\\:bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .\\32xl\\:group-hover\\:bg-lightgrey{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.group:hover .\\32xl\\:group-hover\\:bg-midgrey{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .\\32xl\\:group-hover\\:bg-darkgrey{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.group:hover .\\32xl\\:group-hover\\:bg-grey{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.group:hover .\\32xl\\:group-hover\\:bg-black{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.group:hover .\\32xl\\:group-hover\\:bg-highlight{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.group:hover .\\32xl\\:group-hover\\:bg-highlight_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.group:hover .\\32xl\\:group-hover\\:bg-button_outline{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .\\32xl\\:group-hover\\:bg-error{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.group:hover .\\32xl\\:group-hover\\:bg-text-light{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.group:hover .\\32xl\\:group-hover\\:bg-text-dimmed{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .\\32xl\\:group-hover\\:bg-text-dark{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .\\32xl\\:group-hover\\:bg-body-light{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .\\32xl\\:group-hover\\:bg-body-dark{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.group:hover .\\32xl\\:group-hover\\:bg-button{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.group:hover .\\32xl\\:group-hover\\:bg-button_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.\\32xl\\:focus-within\\:bg-transparent:focus-within{background-color:transparent}.\\32xl\\:focus-within\\:bg-current:focus-within{background-color:currentColor}.\\32xl\\:focus-within\\:bg-white:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.\\32xl\\:focus-within\\:bg-lightgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.\\32xl\\:focus-within\\:bg-midgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.\\32xl\\:focus-within\\:bg-darkgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.\\32xl\\:focus-within\\:bg-grey:focus-within{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.\\32xl\\:focus-within\\:bg-black:focus-within{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.\\32xl\\:focus-within\\:bg-highlight:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.\\32xl\\:focus-within\\:bg-highlight_hover:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.\\32xl\\:focus-within\\:bg-button_outline:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.\\32xl\\:focus-within\\:bg-error:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.\\32xl\\:focus-within\\:bg-text-light:focus-within{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.\\32xl\\:focus-within\\:bg-text-dimmed:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.\\32xl\\:focus-within\\:bg-text-dark:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.\\32xl\\:focus-within\\:bg-body-light:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.\\32xl\\:focus-within\\:bg-body-dark:focus-within{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.\\32xl\\:focus-within\\:bg-button:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.\\32xl\\:focus-within\\:bg-button_hover:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.\\32xl\\:hover\\:bg-transparent:hover{background-color:transparent}.\\32xl\\:hover\\:bg-current:hover{background-color:currentColor}.\\32xl\\:hover\\:bg-white:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.\\32xl\\:hover\\:bg-lightgrey:hover{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.\\32xl\\:hover\\:bg-midgrey:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.\\32xl\\:hover\\:bg-darkgrey:hover{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.\\32xl\\:hover\\:bg-grey:hover{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.\\32xl\\:hover\\:bg-black:hover{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.\\32xl\\:hover\\:bg-highlight:hover{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.\\32xl\\:hover\\:bg-highlight_hover:hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.\\32xl\\:hover\\:bg-button_outline:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.\\32xl\\:hover\\:bg-error:hover{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.\\32xl\\:hover\\:bg-text-light:hover{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.\\32xl\\:hover\\:bg-text-dimmed:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.\\32xl\\:hover\\:bg-text-dark:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.\\32xl\\:hover\\:bg-body-light:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.\\32xl\\:hover\\:bg-body-dark:hover{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.\\32xl\\:hover\\:bg-button:hover{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.\\32xl\\:hover\\:bg-button_hover:hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.\\32xl\\:focus\\:bg-transparent:focus{background-color:transparent}.\\32xl\\:focus\\:bg-current:focus{background-color:currentColor}.\\32xl\\:focus\\:bg-white:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.\\32xl\\:focus\\:bg-lightgrey:focus{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.\\32xl\\:focus\\:bg-midgrey:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.\\32xl\\:focus\\:bg-darkgrey:focus{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.\\32xl\\:focus\\:bg-grey:focus{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.\\32xl\\:focus\\:bg-black:focus{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.\\32xl\\:focus\\:bg-highlight:focus{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.\\32xl\\:focus\\:bg-highlight_hover:focus{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.\\32xl\\:focus\\:bg-button_outline:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.\\32xl\\:focus\\:bg-error:focus{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.\\32xl\\:focus\\:bg-text-light:focus{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.\\32xl\\:focus\\:bg-text-dimmed:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.\\32xl\\:focus\\:bg-text-dark:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.\\32xl\\:focus\\:bg-body-light:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.\\32xl\\:focus\\:bg-body-dark:focus{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.\\32xl\\:focus\\:bg-button:focus{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.\\32xl\\:focus\\:bg-button_hover:focus{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}@media(prefers-color-scheme: dark){.\\32xl\\:dark\\:bg-transparent{background-color:transparent}.\\32xl\\:dark\\:bg-current{background-color:currentColor}.\\32xl\\:dark\\:bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.\\32xl\\:dark\\:bg-lightgrey{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.\\32xl\\:dark\\:bg-midgrey{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.\\32xl\\:dark\\:bg-darkgrey{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.\\32xl\\:dark\\:bg-grey{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.\\32xl\\:dark\\:bg-black{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.\\32xl\\:dark\\:bg-highlight{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.\\32xl\\:dark\\:bg-highlight_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.\\32xl\\:dark\\:bg-button_outline{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.\\32xl\\:dark\\:bg-error{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.\\32xl\\:dark\\:bg-text-light{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.\\32xl\\:dark\\:bg-text-dimmed{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.\\32xl\\:dark\\:bg-text-dark{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.\\32xl\\:dark\\:bg-body-light{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.\\32xl\\:dark\\:bg-body-dark{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.\\32xl\\:dark\\:bg-button{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.\\32xl\\:dark\\:bg-button_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-transparent{background-color:transparent}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-current{background-color:currentColor}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-lightgrey{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-midgrey{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-darkgrey{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-grey{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-black{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-highlight{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-highlight_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-button_outline{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-error{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-text-light{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-text-dimmed{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-text-dark{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-body-light{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-body-dark{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-button{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-button_hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus-within\\:bg-transparent:focus-within{background-color:transparent}.\\32xl\\:dark\\:focus-within\\:bg-current:focus-within{background-color:currentColor}.\\32xl\\:dark\\:focus-within\\:bg-white:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus-within\\:bg-lightgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus-within\\:bg-midgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus-within\\:bg-darkgrey:focus-within{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus-within\\:bg-grey:focus-within{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus-within\\:bg-black:focus-within{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus-within\\:bg-highlight:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus-within\\:bg-highlight_hover:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus-within\\:bg-button_outline:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus-within\\:bg-error:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus-within\\:bg-text-light:focus-within{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus-within\\:bg-text-dimmed:focus-within{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus-within\\:bg-text-dark:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus-within\\:bg-body-light:focus-within{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus-within\\:bg-body-dark:focus-within{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus-within\\:bg-button:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus-within\\:bg-button_hover:focus-within{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.\\32xl\\:dark\\:hover\\:bg-transparent:hover{background-color:transparent}.\\32xl\\:dark\\:hover\\:bg-current:hover{background-color:currentColor}.\\32xl\\:dark\\:hover\\:bg-white:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.\\32xl\\:dark\\:hover\\:bg-lightgrey:hover{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.\\32xl\\:dark\\:hover\\:bg-midgrey:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.\\32xl\\:dark\\:hover\\:bg-darkgrey:hover{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.\\32xl\\:dark\\:hover\\:bg-grey:hover{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.\\32xl\\:dark\\:hover\\:bg-black:hover{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.\\32xl\\:dark\\:hover\\:bg-highlight:hover{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.\\32xl\\:dark\\:hover\\:bg-highlight_hover:hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.\\32xl\\:dark\\:hover\\:bg-button_outline:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.\\32xl\\:dark\\:hover\\:bg-error:hover{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.\\32xl\\:dark\\:hover\\:bg-text-light:hover{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.\\32xl\\:dark\\:hover\\:bg-text-dimmed:hover{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.\\32xl\\:dark\\:hover\\:bg-text-dark:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.\\32xl\\:dark\\:hover\\:bg-body-light:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.\\32xl\\:dark\\:hover\\:bg-body-dark:hover{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.\\32xl\\:dark\\:hover\\:bg-button:hover{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.\\32xl\\:dark\\:hover\\:bg-button_hover:hover{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus\\:bg-transparent:focus{background-color:transparent}.\\32xl\\:dark\\:focus\\:bg-current:focus{background-color:currentColor}.\\32xl\\:dark\\:focus\\:bg-white:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus\\:bg-lightgrey:focus{--tw-bg-opacity:1;background-color:rgba(247, 247, 247, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus\\:bg-midgrey:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus\\:bg-darkgrey:focus{--tw-bg-opacity:1;background-color:rgba(127, 127, 127, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus\\:bg-grey:focus{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus\\:bg-black:focus{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus\\:bg-highlight:focus{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus\\:bg-highlight_hover:focus{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus\\:bg-button_outline:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus\\:bg-error:focus{--tw-bg-opacity:1;background-color:rgba(255, 69, 58, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus\\:bg-text-light:focus{--tw-bg-opacity:1;background-color:rgba(15, 15, 15, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus\\:bg-text-dimmed:focus{--tw-bg-opacity:1;background-color:rgba(207, 207, 207, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus\\:bg-text-dark:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus\\:bg-body-light:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus\\:bg-body-dark:focus{--tw-bg-opacity:1;background-color:rgba(30, 30, 30, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus\\:bg-button:focus{--tw-bg-opacity:1;background-color:rgba(0, 113, 227, var(--tw-bg-opacity))}.\\32xl\\:dark\\:focus\\:bg-button_hover:focus{--tw-bg-opacity:1;background-color:rgba(0, 119, 237, var(--tw-bg-opacity))}}.\\32xl\\:bg-opacity-0{--tw-bg-opacity:0}.\\32xl\\:bg-opacity-5{--tw-bg-opacity:0.05}.\\32xl\\:bg-opacity-10{--tw-bg-opacity:0.1}.\\32xl\\:bg-opacity-20{--tw-bg-opacity:0.2}.\\32xl\\:bg-opacity-25{--tw-bg-opacity:0.25}.\\32xl\\:bg-opacity-30{--tw-bg-opacity:0.3}.\\32xl\\:bg-opacity-40{--tw-bg-opacity:0.4}.\\32xl\\:bg-opacity-50{--tw-bg-opacity:0.5}.\\32xl\\:bg-opacity-60{--tw-bg-opacity:0.6}.\\32xl\\:bg-opacity-70{--tw-bg-opacity:0.7}.\\32xl\\:bg-opacity-75{--tw-bg-opacity:0.75}.\\32xl\\:bg-opacity-80{--tw-bg-opacity:0.8}.\\32xl\\:bg-opacity-90{--tw-bg-opacity:0.9}.\\32xl\\:bg-opacity-95{--tw-bg-opacity:0.95}.\\32xl\\:bg-opacity-100{--tw-bg-opacity:1}.group:hover .\\32xl\\:group-hover\\:bg-opacity-0{--tw-bg-opacity:0}.group:hover .\\32xl\\:group-hover\\:bg-opacity-5{--tw-bg-opacity:0.05}.group:hover .\\32xl\\:group-hover\\:bg-opacity-10{--tw-bg-opacity:0.1}.group:hover .\\32xl\\:group-hover\\:bg-opacity-20{--tw-bg-opacity:0.2}.group:hover .\\32xl\\:group-hover\\:bg-opacity-25{--tw-bg-opacity:0.25}.group:hover .\\32xl\\:group-hover\\:bg-opacity-30{--tw-bg-opacity:0.3}.group:hover .\\32xl\\:group-hover\\:bg-opacity-40{--tw-bg-opacity:0.4}.group:hover .\\32xl\\:group-hover\\:bg-opacity-50{--tw-bg-opacity:0.5}.group:hover .\\32xl\\:group-hover\\:bg-opacity-60{--tw-bg-opacity:0.6}.group:hover .\\32xl\\:group-hover\\:bg-opacity-70{--tw-bg-opacity:0.7}.group:hover .\\32xl\\:group-hover\\:bg-opacity-75{--tw-bg-opacity:0.75}.group:hover .\\32xl\\:group-hover\\:bg-opacity-80{--tw-bg-opacity:0.8}.group:hover .\\32xl\\:group-hover\\:bg-opacity-90{--tw-bg-opacity:0.9}.group:hover .\\32xl\\:group-hover\\:bg-opacity-95{--tw-bg-opacity:0.95}.group:hover .\\32xl\\:group-hover\\:bg-opacity-100{--tw-bg-opacity:1}.\\32xl\\:focus-within\\:bg-opacity-0:focus-within{--tw-bg-opacity:0}.\\32xl\\:focus-within\\:bg-opacity-5:focus-within{--tw-bg-opacity:0.05}.\\32xl\\:focus-within\\:bg-opacity-10:focus-within{--tw-bg-opacity:0.1}.\\32xl\\:focus-within\\:bg-opacity-20:focus-within{--tw-bg-opacity:0.2}.\\32xl\\:focus-within\\:bg-opacity-25:focus-within{--tw-bg-opacity:0.25}.\\32xl\\:focus-within\\:bg-opacity-30:focus-within{--tw-bg-opacity:0.3}.\\32xl\\:focus-within\\:bg-opacity-40:focus-within{--tw-bg-opacity:0.4}.\\32xl\\:focus-within\\:bg-opacity-50:focus-within{--tw-bg-opacity:0.5}.\\32xl\\:focus-within\\:bg-opacity-60:focus-within{--tw-bg-opacity:0.6}.\\32xl\\:focus-within\\:bg-opacity-70:focus-within{--tw-bg-opacity:0.7}.\\32xl\\:focus-within\\:bg-opacity-75:focus-within{--tw-bg-opacity:0.75}.\\32xl\\:focus-within\\:bg-opacity-80:focus-within{--tw-bg-opacity:0.8}.\\32xl\\:focus-within\\:bg-opacity-90:focus-within{--tw-bg-opacity:0.9}.\\32xl\\:focus-within\\:bg-opacity-95:focus-within{--tw-bg-opacity:0.95}.\\32xl\\:focus-within\\:bg-opacity-100:focus-within{--tw-bg-opacity:1}.\\32xl\\:hover\\:bg-opacity-0:hover{--tw-bg-opacity:0}.\\32xl\\:hover\\:bg-opacity-5:hover{--tw-bg-opacity:0.05}.\\32xl\\:hover\\:bg-opacity-10:hover{--tw-bg-opacity:0.1}.\\32xl\\:hover\\:bg-opacity-20:hover{--tw-bg-opacity:0.2}.\\32xl\\:hover\\:bg-opacity-25:hover{--tw-bg-opacity:0.25}.\\32xl\\:hover\\:bg-opacity-30:hover{--tw-bg-opacity:0.3}.\\32xl\\:hover\\:bg-opacity-40:hover{--tw-bg-opacity:0.4}.\\32xl\\:hover\\:bg-opacity-50:hover{--tw-bg-opacity:0.5}.\\32xl\\:hover\\:bg-opacity-60:hover{--tw-bg-opacity:0.6}.\\32xl\\:hover\\:bg-opacity-70:hover{--tw-bg-opacity:0.7}.\\32xl\\:hover\\:bg-opacity-75:hover{--tw-bg-opacity:0.75}.\\32xl\\:hover\\:bg-opacity-80:hover{--tw-bg-opacity:0.8}.\\32xl\\:hover\\:bg-opacity-90:hover{--tw-bg-opacity:0.9}.\\32xl\\:hover\\:bg-opacity-95:hover{--tw-bg-opacity:0.95}.\\32xl\\:hover\\:bg-opacity-100:hover{--tw-bg-opacity:1}.\\32xl\\:focus\\:bg-opacity-0:focus{--tw-bg-opacity:0}.\\32xl\\:focus\\:bg-opacity-5:focus{--tw-bg-opacity:0.05}.\\32xl\\:focus\\:bg-opacity-10:focus{--tw-bg-opacity:0.1}.\\32xl\\:focus\\:bg-opacity-20:focus{--tw-bg-opacity:0.2}.\\32xl\\:focus\\:bg-opacity-25:focus{--tw-bg-opacity:0.25}.\\32xl\\:focus\\:bg-opacity-30:focus{--tw-bg-opacity:0.3}.\\32xl\\:focus\\:bg-opacity-40:focus{--tw-bg-opacity:0.4}.\\32xl\\:focus\\:bg-opacity-50:focus{--tw-bg-opacity:0.5}.\\32xl\\:focus\\:bg-opacity-60:focus{--tw-bg-opacity:0.6}.\\32xl\\:focus\\:bg-opacity-70:focus{--tw-bg-opacity:0.7}.\\32xl\\:focus\\:bg-opacity-75:focus{--tw-bg-opacity:0.75}.\\32xl\\:focus\\:bg-opacity-80:focus{--tw-bg-opacity:0.8}.\\32xl\\:focus\\:bg-opacity-90:focus{--tw-bg-opacity:0.9}.\\32xl\\:focus\\:bg-opacity-95:focus{--tw-bg-opacity:0.95}.\\32xl\\:focus\\:bg-opacity-100:focus{--tw-bg-opacity:1}@media(prefers-color-scheme: dark){.\\32xl\\:dark\\:bg-opacity-0{--tw-bg-opacity:0}.\\32xl\\:dark\\:bg-opacity-5{--tw-bg-opacity:0.05}.\\32xl\\:dark\\:bg-opacity-10{--tw-bg-opacity:0.1}.\\32xl\\:dark\\:bg-opacity-20{--tw-bg-opacity:0.2}.\\32xl\\:dark\\:bg-opacity-25{--tw-bg-opacity:0.25}.\\32xl\\:dark\\:bg-opacity-30{--tw-bg-opacity:0.3}.\\32xl\\:dark\\:bg-opacity-40{--tw-bg-opacity:0.4}.\\32xl\\:dark\\:bg-opacity-50{--tw-bg-opacity:0.5}.\\32xl\\:dark\\:bg-opacity-60{--tw-bg-opacity:0.6}.\\32xl\\:dark\\:bg-opacity-70{--tw-bg-opacity:0.7}.\\32xl\\:dark\\:bg-opacity-75{--tw-bg-opacity:0.75}.\\32xl\\:dark\\:bg-opacity-80{--tw-bg-opacity:0.8}.\\32xl\\:dark\\:bg-opacity-90{--tw-bg-opacity:0.9}.\\32xl\\:dark\\:bg-opacity-95{--tw-bg-opacity:0.95}.\\32xl\\:dark\\:bg-opacity-100{--tw-bg-opacity:1}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-opacity-0{--tw-bg-opacity:0}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-opacity-5{--tw-bg-opacity:0.05}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-opacity-10{--tw-bg-opacity:0.1}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-opacity-20{--tw-bg-opacity:0.2}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-opacity-25{--tw-bg-opacity:0.25}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-opacity-30{--tw-bg-opacity:0.3}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-opacity-40{--tw-bg-opacity:0.4}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-opacity-50{--tw-bg-opacity:0.5}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-opacity-60{--tw-bg-opacity:0.6}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-opacity-70{--tw-bg-opacity:0.7}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-opacity-75{--tw-bg-opacity:0.75}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-opacity-80{--tw-bg-opacity:0.8}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-opacity-90{--tw-bg-opacity:0.9}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-opacity-95{--tw-bg-opacity:0.95}.group:hover .\\32xl\\:dark\\:group-hover\\:bg-opacity-100{--tw-bg-opacity:1}.\\32xl\\:dark\\:focus-within\\:bg-opacity-0:focus-within{--tw-bg-opacity:0}.\\32xl\\:dark\\:focus-within\\:bg-opacity-5:focus-within{--tw-bg-opacity:0.05}.\\32xl\\:dark\\:focus-within\\:bg-opacity-10:focus-within{--tw-bg-opacity:0.1}.\\32xl\\:dark\\:focus-within\\:bg-opacity-20:focus-within{--tw-bg-opacity:0.2}.\\32xl\\:dark\\:focus-within\\:bg-opacity-25:focus-within{--tw-bg-opacity:0.25}.\\32xl\\:dark\\:focus-within\\:bg-opacity-30:focus-within{--tw-bg-opacity:0.3}.\\32xl\\:dark\\:focus-within\\:bg-opacity-40:focus-within{--tw-bg-opacity:0.4}.\\32xl\\:dark\\:focus-within\\:bg-opacity-50:focus-within{--tw-bg-opacity:0.5}.\\32xl\\:dark\\:focus-within\\:bg-opacity-60:focus-within{--tw-bg-opacity:0.6}.\\32xl\\:dark\\:focus-within\\:bg-opacity-70:focus-within{--tw-bg-opacity:0.7}.\\32xl\\:dark\\:focus-within\\:bg-opacity-75:focus-within{--tw-bg-opacity:0.75}.\\32xl\\:dark\\:focus-within\\:bg-opacity-80:focus-within{--tw-bg-opacity:0.8}.\\32xl\\:dark\\:focus-within\\:bg-opacity-90:focus-within{--tw-bg-opacity:0.9}.\\32xl\\:dark\\:focus-within\\:bg-opacity-95:focus-within{--tw-bg-opacity:0.95}.\\32xl\\:dark\\:focus-within\\:bg-opacity-100:focus-within{--tw-bg-opacity:1}.\\32xl\\:dark\\:hover\\:bg-opacity-0:hover{--tw-bg-opacity:0}.\\32xl\\:dark\\:hover\\:bg-opacity-5:hover{--tw-bg-opacity:0.05}.\\32xl\\:dark\\:hover\\:bg-opacity-10:hover{--tw-bg-opacity:0.1}.\\32xl\\:dark\\:hover\\:bg-opacity-20:hover{--tw-bg-opacity:0.2}.\\32xl\\:dark\\:hover\\:bg-opacity-25:hover{--tw-bg-opacity:0.25}.\\32xl\\:dark\\:hover\\:bg-opacity-30:hover{--tw-bg-opacity:0.3}.\\32xl\\:dark\\:hover\\:bg-opacity-40:hover{--tw-bg-opacity:0.4}.\\32xl\\:dark\\:hover\\:bg-opacity-50:hover{--tw-bg-opacity:0.5}.\\32xl\\:dark\\:hover\\:bg-opacity-60:hover{--tw-bg-opacity:0.6}.\\32xl\\:dark\\:hover\\:bg-opacity-70:hover{--tw-bg-opacity:0.7}.\\32xl\\:dark\\:hover\\:bg-opacity-75:hover{--tw-bg-opacity:0.75}.\\32xl\\:dark\\:hover\\:bg-opacity-80:hover{--tw-bg-opacity:0.8}.\\32xl\\:dark\\:hover\\:bg-opacity-90:hover{--tw-bg-opacity:0.9}.\\32xl\\:dark\\:hover\\:bg-opacity-95:hover{--tw-bg-opacity:0.95}.\\32xl\\:dark\\:hover\\:bg-opacity-100:hover{--tw-bg-opacity:1}.\\32xl\\:dark\\:focus\\:bg-opacity-0:focus{--tw-bg-opacity:0}.\\32xl\\:dark\\:focus\\:bg-opacity-5:focus{--tw-bg-opacity:0.05}.\\32xl\\:dark\\:focus\\:bg-opacity-10:focus{--tw-bg-opacity:0.1}.\\32xl\\:dark\\:focus\\:bg-opacity-20:focus{--tw-bg-opacity:0.2}.\\32xl\\:dark\\:focus\\:bg-opacity-25:focus{--tw-bg-opacity:0.25}.\\32xl\\:dark\\:focus\\:bg-opacity-30:focus{--tw-bg-opacity:0.3}.\\32xl\\:dark\\:focus\\:bg-opacity-40:focus{--tw-bg-opacity:0.4}.\\32xl\\:dark\\:focus\\:bg-opacity-50:focus{--tw-bg-opacity:0.5}.\\32xl\\:dark\\:focus\\:bg-opacity-60:focus{--tw-bg-opacity:0.6}.\\32xl\\:dark\\:focus\\:bg-opacity-70:focus{--tw-bg-opacity:0.7}.\\32xl\\:dark\\:focus\\:bg-opacity-75:focus{--tw-bg-opacity:0.75}.\\32xl\\:dark\\:focus\\:bg-opacity-80:focus{--tw-bg-opacity:0.8}.\\32xl\\:dark\\:focus\\:bg-opacity-90:focus{--tw-bg-opacity:0.9}.\\32xl\\:dark\\:focus\\:bg-opacity-95:focus{--tw-bg-opacity:0.95}.\\32xl\\:dark\\:focus\\:bg-opacity-100:focus{--tw-bg-opacity:1}}.\\32xl\\:bg-none{background-image:none}.\\32xl\\:bg-gradient-to-t{background-image:linear-gradient(to top, var(--tw-gradient-stops))}.\\32xl\\:bg-gradient-to-tr{background-image:linear-gradient(to top right, var(--tw-gradient-stops))}.\\32xl\\:bg-gradient-to-r{background-image:linear-gradient(to right, var(--tw-gradient-stops))}.\\32xl\\:bg-gradient-to-br{background-image:linear-gradient(to bottom right, var(--tw-gradient-stops))}.\\32xl\\:bg-gradient-to-b{background-image:linear-gradient(to bottom, var(--tw-gradient-stops))}.\\32xl\\:bg-gradient-to-bl{background-image:linear-gradient(to bottom left, var(--tw-gradient-stops))}.\\32xl\\:bg-gradient-to-l{background-image:linear-gradient(to left, var(--tw-gradient-stops))}.\\32xl\\:bg-gradient-to-tl{background-image:linear-gradient(to top left, var(--tw-gradient-stops))}.\\32xl\\:from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.\\32xl\\:from-current{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:from-white{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:from-lightgrey{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.\\32xl\\:from-midgrey{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:from-darkgrey{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.\\32xl\\:from-grey{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.\\32xl\\:from-black{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.\\32xl\\:from-highlight{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.\\32xl\\:from-highlight_hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.\\32xl\\:from-button_outline{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:from-error{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.\\32xl\\:from-text-light{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.\\32xl\\:from-text-dimmed{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:from-text-dark{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:from-body-light{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:from-body-dark{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.\\32xl\\:from-button{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.\\32xl\\:from-button_hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.\\32xl\\:hover\\:from-transparent:hover{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.\\32xl\\:hover\\:from-current:hover{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:hover\\:from-white:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:hover\\:from-lightgrey:hover{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.\\32xl\\:hover\\:from-midgrey:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:hover\\:from-darkgrey:hover{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.\\32xl\\:hover\\:from-grey:hover{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.\\32xl\\:hover\\:from-black:hover{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.\\32xl\\:hover\\:from-highlight:hover{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.\\32xl\\:hover\\:from-highlight_hover:hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.\\32xl\\:hover\\:from-button_outline:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:hover\\:from-error:hover{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.\\32xl\\:hover\\:from-text-light:hover{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.\\32xl\\:hover\\:from-text-dimmed:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:hover\\:from-text-dark:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:hover\\:from-body-light:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:hover\\:from-body-dark:hover{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.\\32xl\\:hover\\:from-button:hover{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.\\32xl\\:hover\\:from-button_hover:hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.\\32xl\\:focus\\:from-transparent:focus{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.\\32xl\\:focus\\:from-current:focus{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:focus\\:from-white:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:focus\\:from-lightgrey:focus{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.\\32xl\\:focus\\:from-midgrey:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:focus\\:from-darkgrey:focus{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.\\32xl\\:focus\\:from-grey:focus{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.\\32xl\\:focus\\:from-black:focus{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.\\32xl\\:focus\\:from-highlight:focus{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.\\32xl\\:focus\\:from-highlight_hover:focus{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.\\32xl\\:focus\\:from-button_outline:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:focus\\:from-error:focus{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.\\32xl\\:focus\\:from-text-light:focus{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.\\32xl\\:focus\\:from-text-dimmed:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:focus\\:from-text-dark:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:focus\\:from-body-light:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:focus\\:from-body-dark:focus{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.\\32xl\\:focus\\:from-button:focus{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.\\32xl\\:focus\\:from-button_hover:focus{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}@media(prefers-color-scheme: dark){.\\32xl\\:dark\\:from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.\\32xl\\:dark\\:from-current{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:dark\\:from-white{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:dark\\:from-lightgrey{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.\\32xl\\:dark\\:from-midgrey{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:dark\\:from-darkgrey{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.\\32xl\\:dark\\:from-grey{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.\\32xl\\:dark\\:from-black{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.\\32xl\\:dark\\:from-highlight{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.\\32xl\\:dark\\:from-highlight_hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.\\32xl\\:dark\\:from-button_outline{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:dark\\:from-error{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.\\32xl\\:dark\\:from-text-light{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.\\32xl\\:dark\\:from-text-dimmed{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:dark\\:from-text-dark{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:dark\\:from-body-light{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:dark\\:from-body-dark{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.\\32xl\\:dark\\:from-button{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.\\32xl\\:dark\\:from-button_hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.\\32xl\\:dark\\:hover\\:from-transparent:hover{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.\\32xl\\:dark\\:hover\\:from-current:hover{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:dark\\:hover\\:from-white:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:dark\\:hover\\:from-lightgrey:hover{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.\\32xl\\:dark\\:hover\\:from-midgrey:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:dark\\:hover\\:from-darkgrey:hover{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.\\32xl\\:dark\\:hover\\:from-grey:hover{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.\\32xl\\:dark\\:hover\\:from-black:hover{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.\\32xl\\:dark\\:hover\\:from-highlight:hover{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.\\32xl\\:dark\\:hover\\:from-highlight_hover:hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.\\32xl\\:dark\\:hover\\:from-button_outline:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:dark\\:hover\\:from-error:hover{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.\\32xl\\:dark\\:hover\\:from-text-light:hover{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.\\32xl\\:dark\\:hover\\:from-text-dimmed:hover{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:dark\\:hover\\:from-text-dark:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:dark\\:hover\\:from-body-light:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:dark\\:hover\\:from-body-dark:hover{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.\\32xl\\:dark\\:hover\\:from-button:hover{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.\\32xl\\:dark\\:hover\\:from-button_hover:hover{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.\\32xl\\:dark\\:focus\\:from-transparent:focus{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0))}.\\32xl\\:dark\\:focus\\:from-current:focus{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:dark\\:focus\\:from-white:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:dark\\:focus\\:from-lightgrey:focus{--tw-gradient-from:#F7F7F7;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(247, 247, 247, 0))}.\\32xl\\:dark\\:focus\\:from-midgrey:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:dark\\:focus\\:from-darkgrey:focus{--tw-gradient-from:#7f7f7f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(127, 127, 127, 0))}.\\32xl\\:dark\\:focus\\:from-grey:focus{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.\\32xl\\:dark\\:focus\\:from-black:focus{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.\\32xl\\:dark\\:focus\\:from-highlight:focus{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.\\32xl\\:dark\\:focus\\:from-highlight_hover:focus{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}.\\32xl\\:dark\\:focus\\:from-button_outline:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:dark\\:focus\\:from-error:focus{--tw-gradient-from:#ff453a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 69, 58, 0))}.\\32xl\\:dark\\:focus\\:from-text-light:focus{--tw-gradient-from:#0f0f0f;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 15, 15, 0))}.\\32xl\\:dark\\:focus\\:from-text-dimmed:focus{--tw-gradient-from:#cfcfcf;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:dark\\:focus\\:from-text-dark:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:dark\\:focus\\:from-body-light:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:dark\\:focus\\:from-body-dark:focus{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(30, 30, 30, 0))}.\\32xl\\:dark\\:focus\\:from-button:focus{--tw-gradient-from:#0071e3;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 113, 227, 0))}.\\32xl\\:dark\\:focus\\:from-button_hover:focus{--tw-gradient-from:#0077ed;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 119, 237, 0))}}.\\32xl\\:via-transparent{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.\\32xl\\:via-current{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:via-white{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:via-lightgrey{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.\\32xl\\:via-midgrey{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:via-darkgrey{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.\\32xl\\:via-grey{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.\\32xl\\:via-black{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.\\32xl\\:via-highlight{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.\\32xl\\:via-highlight_hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.\\32xl\\:via-button_outline{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:via-error{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.\\32xl\\:via-text-light{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.\\32xl\\:via-text-dimmed{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:via-text-dark{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:via-body-light{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:via-body-dark{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.\\32xl\\:via-button{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.\\32xl\\:via-button_hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.\\32xl\\:hover\\:via-transparent:hover{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.\\32xl\\:hover\\:via-current:hover{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:hover\\:via-white:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:hover\\:via-lightgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.\\32xl\\:hover\\:via-midgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:hover\\:via-darkgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.\\32xl\\:hover\\:via-grey:hover{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.\\32xl\\:hover\\:via-black:hover{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.\\32xl\\:hover\\:via-highlight:hover{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.\\32xl\\:hover\\:via-highlight_hover:hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.\\32xl\\:hover\\:via-button_outline:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:hover\\:via-error:hover{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.\\32xl\\:hover\\:via-text-light:hover{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.\\32xl\\:hover\\:via-text-dimmed:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:hover\\:via-text-dark:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:hover\\:via-body-light:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:hover\\:via-body-dark:hover{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.\\32xl\\:hover\\:via-button:hover{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.\\32xl\\:hover\\:via-button_hover:hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.\\32xl\\:focus\\:via-transparent:focus{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.\\32xl\\:focus\\:via-current:focus{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:focus\\:via-white:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:focus\\:via-lightgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.\\32xl\\:focus\\:via-midgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:focus\\:via-darkgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.\\32xl\\:focus\\:via-grey:focus{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.\\32xl\\:focus\\:via-black:focus{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.\\32xl\\:focus\\:via-highlight:focus{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.\\32xl\\:focus\\:via-highlight_hover:focus{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.\\32xl\\:focus\\:via-button_outline:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:focus\\:via-error:focus{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.\\32xl\\:focus\\:via-text-light:focus{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.\\32xl\\:focus\\:via-text-dimmed:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:focus\\:via-text-dark:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:focus\\:via-body-light:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:focus\\:via-body-dark:focus{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.\\32xl\\:focus\\:via-button:focus{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.\\32xl\\:focus\\:via-button_hover:focus{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}@media(prefers-color-scheme: dark){.\\32xl\\:dark\\:via-transparent{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.\\32xl\\:dark\\:via-current{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:dark\\:via-white{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:dark\\:via-lightgrey{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.\\32xl\\:dark\\:via-midgrey{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:dark\\:via-darkgrey{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.\\32xl\\:dark\\:via-grey{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.\\32xl\\:dark\\:via-black{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.\\32xl\\:dark\\:via-highlight{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.\\32xl\\:dark\\:via-highlight_hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.\\32xl\\:dark\\:via-button_outline{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:dark\\:via-error{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.\\32xl\\:dark\\:via-text-light{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.\\32xl\\:dark\\:via-text-dimmed{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:dark\\:via-text-dark{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:dark\\:via-body-light{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:dark\\:via-body-dark{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.\\32xl\\:dark\\:via-button{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.\\32xl\\:dark\\:via-button_hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.\\32xl\\:dark\\:hover\\:via-transparent:hover{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.\\32xl\\:dark\\:hover\\:via-current:hover{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:dark\\:hover\\:via-white:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:dark\\:hover\\:via-lightgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.\\32xl\\:dark\\:hover\\:via-midgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:dark\\:hover\\:via-darkgrey:hover{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.\\32xl\\:dark\\:hover\\:via-grey:hover{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.\\32xl\\:dark\\:hover\\:via-black:hover{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.\\32xl\\:dark\\:hover\\:via-highlight:hover{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.\\32xl\\:dark\\:hover\\:via-highlight_hover:hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.\\32xl\\:dark\\:hover\\:via-button_outline:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:dark\\:hover\\:via-error:hover{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.\\32xl\\:dark\\:hover\\:via-text-light:hover{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.\\32xl\\:dark\\:hover\\:via-text-dimmed:hover{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:dark\\:hover\\:via-text-dark:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:dark\\:hover\\:via-body-light:hover{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:dark\\:hover\\:via-body-dark:hover{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.\\32xl\\:dark\\:hover\\:via-button:hover{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.\\32xl\\:dark\\:hover\\:via-button_hover:hover{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.\\32xl\\:dark\\:focus\\:via-transparent:focus{--tw-gradient-stops:var(--tw-gradient-from), transparent, var(--tw-gradient-to, rgba(0, 0, 0, 0))}.\\32xl\\:dark\\:focus\\:via-current:focus{--tw-gradient-stops:var(--tw-gradient-from), currentColor, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:dark\\:focus\\:via-white:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:dark\\:focus\\:via-lightgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #F7F7F7, var(--tw-gradient-to, rgba(247, 247, 247, 0))}.\\32xl\\:dark\\:focus\\:via-midgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:dark\\:focus\\:via-darkgrey:focus{--tw-gradient-stops:var(--tw-gradient-from), #7f7f7f, var(--tw-gradient-to, rgba(127, 127, 127, 0))}.\\32xl\\:dark\\:focus\\:via-grey:focus{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.\\32xl\\:dark\\:focus\\:via-black:focus{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.\\32xl\\:dark\\:focus\\:via-highlight:focus{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.\\32xl\\:dark\\:focus\\:via-highlight_hover:focus{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}.\\32xl\\:dark\\:focus\\:via-button_outline:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:dark\\:focus\\:via-error:focus{--tw-gradient-stops:var(--tw-gradient-from), #ff453a, var(--tw-gradient-to, rgba(255, 69, 58, 0))}.\\32xl\\:dark\\:focus\\:via-text-light:focus{--tw-gradient-stops:var(--tw-gradient-from), #0f0f0f, var(--tw-gradient-to, rgba(15, 15, 15, 0))}.\\32xl\\:dark\\:focus\\:via-text-dimmed:focus{--tw-gradient-stops:var(--tw-gradient-from), #cfcfcf, var(--tw-gradient-to, rgba(207, 207, 207, 0))}.\\32xl\\:dark\\:focus\\:via-text-dark:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:dark\\:focus\\:via-body-light:focus{--tw-gradient-stops:var(--tw-gradient-from), #fff, var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\\32xl\\:dark\\:focus\\:via-body-dark:focus{--tw-gradient-stops:var(--tw-gradient-from), #1e1e1e, var(--tw-gradient-to, rgba(30, 30, 30, 0))}.\\32xl\\:dark\\:focus\\:via-button:focus{--tw-gradient-stops:var(--tw-gradient-from), #0071e3, var(--tw-gradient-to, rgba(0, 113, 227, 0))}.\\32xl\\:dark\\:focus\\:via-button_hover:focus{--tw-gradient-stops:var(--tw-gradient-from), #0077ed, var(--tw-gradient-to, rgba(0, 119, 237, 0))}}.\\32xl\\:to-transparent{--tw-gradient-to:transparent}.\\32xl\\:to-current{--tw-gradient-to:currentColor}.\\32xl\\:to-white{--tw-gradient-to:#fff}.\\32xl\\:to-lightgrey{--tw-gradient-to:#F7F7F7}.\\32xl\\:to-midgrey{--tw-gradient-to:#cfcfcf}.\\32xl\\:to-darkgrey{--tw-gradient-to:#7f7f7f}.\\32xl\\:to-grey{--tw-gradient-to:#1e1e1e}.\\32xl\\:to-black{--tw-gradient-to:#0f0f0f}.\\32xl\\:to-highlight{--tw-gradient-to:#0071e3}.\\32xl\\:to-highlight_hover{--tw-gradient-to:#0077ed}.\\32xl\\:to-button_outline{--tw-gradient-to:#cfcfcf}.\\32xl\\:to-error{--tw-gradient-to:#ff453a}.\\32xl\\:to-text-light{--tw-gradient-to:#0f0f0f}.\\32xl\\:to-text-dimmed{--tw-gradient-to:#cfcfcf}.\\32xl\\:to-text-dark{--tw-gradient-to:#fff}.\\32xl\\:to-body-light{--tw-gradient-to:#fff}.\\32xl\\:to-body-dark{--tw-gradient-to:#1e1e1e}.\\32xl\\:to-button{--tw-gradient-to:#0071e3}.\\32xl\\:to-button_hover{--tw-gradient-to:#0077ed}.\\32xl\\:hover\\:to-transparent:hover{--tw-gradient-to:transparent}.\\32xl\\:hover\\:to-current:hover{--tw-gradient-to:currentColor}.\\32xl\\:hover\\:to-white:hover{--tw-gradient-to:#fff}.\\32xl\\:hover\\:to-lightgrey:hover{--tw-gradient-to:#F7F7F7}.\\32xl\\:hover\\:to-midgrey:hover{--tw-gradient-to:#cfcfcf}.\\32xl\\:hover\\:to-darkgrey:hover{--tw-gradient-to:#7f7f7f}.\\32xl\\:hover\\:to-grey:hover{--tw-gradient-to:#1e1e1e}.\\32xl\\:hover\\:to-black:hover{--tw-gradient-to:#0f0f0f}.\\32xl\\:hover\\:to-highlight:hover{--tw-gradient-to:#0071e3}.\\32xl\\:hover\\:to-highlight_hover:hover{--tw-gradient-to:#0077ed}.\\32xl\\:hover\\:to-button_outline:hover{--tw-gradient-to:#cfcfcf}.\\32xl\\:hover\\:to-error:hover{--tw-gradient-to:#ff453a}.\\32xl\\:hover\\:to-text-light:hover{--tw-gradient-to:#0f0f0f}.\\32xl\\:hover\\:to-text-dimmed:hover{--tw-gradient-to:#cfcfcf}.\\32xl\\:hover\\:to-text-dark:hover{--tw-gradient-to:#fff}.\\32xl\\:hover\\:to-body-light:hover{--tw-gradient-to:#fff}.\\32xl\\:hover\\:to-body-dark:hover{--tw-gradient-to:#1e1e1e}.\\32xl\\:hover\\:to-button:hover{--tw-gradient-to:#0071e3}.\\32xl\\:hover\\:to-button_hover:hover{--tw-gradient-to:#0077ed}.\\32xl\\:focus\\:to-transparent:focus{--tw-gradient-to:transparent}.\\32xl\\:focus\\:to-current:focus{--tw-gradient-to:currentColor}.\\32xl\\:focus\\:to-white:focus{--tw-gradient-to:#fff}.\\32xl\\:focus\\:to-lightgrey:focus{--tw-gradient-to:#F7F7F7}.\\32xl\\:focus\\:to-midgrey:focus{--tw-gradient-to:#cfcfcf}.\\32xl\\:focus\\:to-darkgrey:focus{--tw-gradient-to:#7f7f7f}.\\32xl\\:focus\\:to-grey:focus{--tw-gradient-to:#1e1e1e}.\\32xl\\:focus\\:to-black:focus{--tw-gradient-to:#0f0f0f}.\\32xl\\:focus\\:to-highlight:focus{--tw-gradient-to:#0071e3}.\\32xl\\:focus\\:to-highlight_hover:focus{--tw-gradient-to:#0077ed}.\\32xl\\:focus\\:to-button_outline:focus{--tw-gradient-to:#cfcfcf}.\\32xl\\:focus\\:to-error:focus{--tw-gradient-to:#ff453a}.\\32xl\\:focus\\:to-text-light:focus{--tw-gradient-to:#0f0f0f}.\\32xl\\:focus\\:to-text-dimmed:focus{--tw-gradient-to:#cfcfcf}.\\32xl\\:focus\\:to-text-dark:focus{--tw-gradient-to:#fff}.\\32xl\\:focus\\:to-body-light:focus{--tw-gradient-to:#fff}.\\32xl\\:focus\\:to-body-dark:focus{--tw-gradient-to:#1e1e1e}.\\32xl\\:focus\\:to-button:focus{--tw-gradient-to:#0071e3}.\\32xl\\:focus\\:to-button_hover:focus{--tw-gradient-to:#0077ed}@media(prefers-color-scheme: dark){.\\32xl\\:dark\\:to-transparent{--tw-gradient-to:transparent}.\\32xl\\:dark\\:to-current{--tw-gradient-to:currentColor}.\\32xl\\:dark\\:to-white{--tw-gradient-to:#fff}.\\32xl\\:dark\\:to-lightgrey{--tw-gradient-to:#F7F7F7}.\\32xl\\:dark\\:to-midgrey{--tw-gradient-to:#cfcfcf}.\\32xl\\:dark\\:to-darkgrey{--tw-gradient-to:#7f7f7f}.\\32xl\\:dark\\:to-grey{--tw-gradient-to:#1e1e1e}.\\32xl\\:dark\\:to-black{--tw-gradient-to:#0f0f0f}.\\32xl\\:dark\\:to-highlight{--tw-gradient-to:#0071e3}.\\32xl\\:dark\\:to-highlight_hover{--tw-gradient-to:#0077ed}.\\32xl\\:dark\\:to-button_outline{--tw-gradient-to:#cfcfcf}.\\32xl\\:dark\\:to-error{--tw-gradient-to:#ff453a}.\\32xl\\:dark\\:to-text-light{--tw-gradient-to:#0f0f0f}.\\32xl\\:dark\\:to-text-dimmed{--tw-gradient-to:#cfcfcf}.\\32xl\\:dark\\:to-text-dark{--tw-gradient-to:#fff}.\\32xl\\:dark\\:to-body-light{--tw-gradient-to:#fff}.\\32xl\\:dark\\:to-body-dark{--tw-gradient-to:#1e1e1e}.\\32xl\\:dark\\:to-button{--tw-gradient-to:#0071e3}.\\32xl\\:dark\\:to-button_hover{--tw-gradient-to:#0077ed}.\\32xl\\:dark\\:hover\\:to-transparent:hover{--tw-gradient-to:transparent}.\\32xl\\:dark\\:hover\\:to-current:hover{--tw-gradient-to:currentColor}.\\32xl\\:dark\\:hover\\:to-white:hover{--tw-gradient-to:#fff}.\\32xl\\:dark\\:hover\\:to-lightgrey:hover{--tw-gradient-to:#F7F7F7}.\\32xl\\:dark\\:hover\\:to-midgrey:hover{--tw-gradient-to:#cfcfcf}.\\32xl\\:dark\\:hover\\:to-darkgrey:hover{--tw-gradient-to:#7f7f7f}.\\32xl\\:dark\\:hover\\:to-grey:hover{--tw-gradient-to:#1e1e1e}.\\32xl\\:dark\\:hover\\:to-black:hover{--tw-gradient-to:#0f0f0f}.\\32xl\\:dark\\:hover\\:to-highlight:hover{--tw-gradient-to:#0071e3}.\\32xl\\:dark\\:hover\\:to-highlight_hover:hover{--tw-gradient-to:#0077ed}.\\32xl\\:dark\\:hover\\:to-button_outline:hover{--tw-gradient-to:#cfcfcf}.\\32xl\\:dark\\:hover\\:to-error:hover{--tw-gradient-to:#ff453a}.\\32xl\\:dark\\:hover\\:to-text-light:hover{--tw-gradient-to:#0f0f0f}.\\32xl\\:dark\\:hover\\:to-text-dimmed:hover{--tw-gradient-to:#cfcfcf}.\\32xl\\:dark\\:hover\\:to-text-dark:hover{--tw-gradient-to:#fff}.\\32xl\\:dark\\:hover\\:to-body-light:hover{--tw-gradient-to:#fff}.\\32xl\\:dark\\:hover\\:to-body-dark:hover{--tw-gradient-to:#1e1e1e}.\\32xl\\:dark\\:hover\\:to-button:hover{--tw-gradient-to:#0071e3}.\\32xl\\:dark\\:hover\\:to-button_hover:hover{--tw-gradient-to:#0077ed}.\\32xl\\:dark\\:focus\\:to-transparent:focus{--tw-gradient-to:transparent}.\\32xl\\:dark\\:focus\\:to-current:focus{--tw-gradient-to:currentColor}.\\32xl\\:dark\\:focus\\:to-white:focus{--tw-gradient-to:#fff}.\\32xl\\:dark\\:focus\\:to-lightgrey:focus{--tw-gradient-to:#F7F7F7}.\\32xl\\:dark\\:focus\\:to-midgrey:focus{--tw-gradient-to:#cfcfcf}.\\32xl\\:dark\\:focus\\:to-darkgrey:focus{--tw-gradient-to:#7f7f7f}.\\32xl\\:dark\\:focus\\:to-grey:focus{--tw-gradient-to:#1e1e1e}.\\32xl\\:dark\\:focus\\:to-black:focus{--tw-gradient-to:#0f0f0f}.\\32xl\\:dark\\:focus\\:to-highlight:focus{--tw-gradient-to:#0071e3}.\\32xl\\:dark\\:focus\\:to-highlight_hover:focus{--tw-gradient-to:#0077ed}.\\32xl\\:dark\\:focus\\:to-button_outline:focus{--tw-gradient-to:#cfcfcf}.\\32xl\\:dark\\:focus\\:to-error:focus{--tw-gradient-to:#ff453a}.\\32xl\\:dark\\:focus\\:to-text-light:focus{--tw-gradient-to:#0f0f0f}.\\32xl\\:dark\\:focus\\:to-text-dimmed:focus{--tw-gradient-to:#cfcfcf}.\\32xl\\:dark\\:focus\\:to-text-dark:focus{--tw-gradient-to:#fff}.\\32xl\\:dark\\:focus\\:to-body-light:focus{--tw-gradient-to:#fff}.\\32xl\\:dark\\:focus\\:to-body-dark:focus{--tw-gradient-to:#1e1e1e}.\\32xl\\:dark\\:focus\\:to-button:focus{--tw-gradient-to:#0071e3}.\\32xl\\:dark\\:focus\\:to-button_hover:focus{--tw-gradient-to:#0077ed}}.\\32xl\\:decoration-slice{-webkit-box-decoration-break:slice;box-decoration-break:slice}.\\32xl\\:decoration-clone{-webkit-box-decoration-break:clone;box-decoration-break:clone}.\\32xl\\:bg-auto{background-size:auto}.\\32xl\\:bg-cover{background-size:cover}.\\32xl\\:bg-contain{background-size:contain}.\\32xl\\:bg-fixed{background-attachment:fixed}.\\32xl\\:bg-local{background-attachment:local}.\\32xl\\:bg-scroll{background-attachment:scroll}.\\32xl\\:bg-clip-border{background-clip:border-box}.\\32xl\\:bg-clip-padding{background-clip:padding-box}.\\32xl\\:bg-clip-content{background-clip:content-box}.\\32xl\\:bg-clip-text{background-clip:text}.\\32xl\\:bg-bottom{background-position:bottom}.\\32xl\\:bg-center{background-position:center}.\\32xl\\:bg-left{background-position:left}.\\32xl\\:bg-left-bottom{background-position:left bottom}.\\32xl\\:bg-left-top{background-position:left top}.\\32xl\\:bg-right{background-position:right}.\\32xl\\:bg-right-bottom{background-position:right bottom}.\\32xl\\:bg-right-top{background-position:right top}.\\32xl\\:bg-top{background-position:top}.\\32xl\\:bg-repeat{background-repeat:repeat}.\\32xl\\:bg-no-repeat{background-repeat:no-repeat}.\\32xl\\:bg-repeat-x{background-repeat:repeat-x}.\\32xl\\:bg-repeat-y{background-repeat:repeat-y}.\\32xl\\:bg-repeat-round{background-repeat:round}.\\32xl\\:bg-repeat-space{background-repeat:space}.\\32xl\\:bg-origin-border{background-origin:border-box}.\\32xl\\:bg-origin-padding{background-origin:padding-box}.\\32xl\\:bg-origin-content{background-origin:content-box}.\\32xl\\:fill-current{fill:currentColor}.\\32xl\\:stroke-current{stroke:currentColor}.\\32xl\\:stroke-0{stroke-width:0}.\\32xl\\:stroke-1{stroke-width:1}.\\32xl\\:stroke-2{stroke-width:2}.\\32xl\\:object-contain{object-fit:contain}.\\32xl\\:object-cover{object-fit:cover}.\\32xl\\:object-fill{object-fit:fill}.\\32xl\\:object-none{object-fit:none}.\\32xl\\:object-scale-down{object-fit:scale-down}.\\32xl\\:object-bottom{object-position:bottom}.\\32xl\\:object-center{object-position:center}.\\32xl\\:object-left{object-position:left}.\\32xl\\:object-left-bottom{object-position:left bottom}.\\32xl\\:object-left-top{object-position:left top}.\\32xl\\:object-right{object-position:right}.\\32xl\\:object-right-bottom{object-position:right bottom}.\\32xl\\:object-right-top{object-position:right top}.\\32xl\\:object-top{object-position:top}.\\32xl\\:p-0{padding:0px}.\\32xl\\:p-1{padding:0.25rem}.\\32xl\\:p-2{padding:0.5rem}.\\32xl\\:p-3{padding:0.75rem}.\\32xl\\:p-4{padding:1rem}.\\32xl\\:p-5{padding:1.25rem}.\\32xl\\:p-6{padding:1.5rem}.\\32xl\\:p-7{padding:1.75rem}.\\32xl\\:p-8{padding:2rem}.\\32xl\\:p-9{padding:2.25rem}.\\32xl\\:p-10{padding:2.5rem}.\\32xl\\:p-11{padding:2.75rem}.\\32xl\\:p-12{padding:3rem}.\\32xl\\:p-14{padding:3.5rem}.\\32xl\\:p-16{padding:4rem}.\\32xl\\:p-20{padding:5rem}.\\32xl\\:p-24{padding:6rem}.\\32xl\\:p-28{padding:7rem}.\\32xl\\:p-32{padding:8rem}.\\32xl\\:p-36{padding:9rem}.\\32xl\\:p-40{padding:10rem}.\\32xl\\:p-44{padding:11rem}.\\32xl\\:p-48{padding:12rem}.\\32xl\\:p-52{padding:13rem}.\\32xl\\:p-56{padding:14rem}.\\32xl\\:p-60{padding:15rem}.\\32xl\\:p-64{padding:16rem}.\\32xl\\:p-72{padding:18rem}.\\32xl\\:p-80{padding:20rem}.\\32xl\\:p-96{padding:24rem}.\\32xl\\:p-px{padding:1px}.\\32xl\\:p-0\\.5{padding:0.125rem}.\\32xl\\:p-1\\.5{padding:0.375rem}.\\32xl\\:p-2\\.5{padding:0.625rem}.\\32xl\\:p-3\\.5{padding:0.875rem}.\\32xl\\:px-0{padding-left:0px;padding-right:0px}.\\32xl\\:px-1{padding-left:0.25rem;padding-right:0.25rem}.\\32xl\\:px-2{padding-left:0.5rem;padding-right:0.5rem}.\\32xl\\:px-3{padding-left:0.75rem;padding-right:0.75rem}.\\32xl\\:px-4{padding-left:1rem;padding-right:1rem}.\\32xl\\:px-5{padding-left:1.25rem;padding-right:1.25rem}.\\32xl\\:px-6{padding-left:1.5rem;padding-right:1.5rem}.\\32xl\\:px-7{padding-left:1.75rem;padding-right:1.75rem}.\\32xl\\:px-8{padding-left:2rem;padding-right:2rem}.\\32xl\\:px-9{padding-left:2.25rem;padding-right:2.25rem}.\\32xl\\:px-10{padding-left:2.5rem;padding-right:2.5rem}.\\32xl\\:px-11{padding-left:2.75rem;padding-right:2.75rem}.\\32xl\\:px-12{padding-left:3rem;padding-right:3rem}.\\32xl\\:px-14{padding-left:3.5rem;padding-right:3.5rem}.\\32xl\\:px-16{padding-left:4rem;padding-right:4rem}.\\32xl\\:px-20{padding-left:5rem;padding-right:5rem}.\\32xl\\:px-24{padding-left:6rem;padding-right:6rem}.\\32xl\\:px-28{padding-left:7rem;padding-right:7rem}.\\32xl\\:px-32{padding-left:8rem;padding-right:8rem}.\\32xl\\:px-36{padding-left:9rem;padding-right:9rem}.\\32xl\\:px-40{padding-left:10rem;padding-right:10rem}.\\32xl\\:px-44{padding-left:11rem;padding-right:11rem}.\\32xl\\:px-48{padding-left:12rem;padding-right:12rem}.\\32xl\\:px-52{padding-left:13rem;padding-right:13rem}.\\32xl\\:px-56{padding-left:14rem;padding-right:14rem}.\\32xl\\:px-60{padding-left:15rem;padding-right:15rem}.\\32xl\\:px-64{padding-left:16rem;padding-right:16rem}.\\32xl\\:px-72{padding-left:18rem;padding-right:18rem}.\\32xl\\:px-80{padding-left:20rem;padding-right:20rem}.\\32xl\\:px-96{padding-left:24rem;padding-right:24rem}.\\32xl\\:px-px{padding-left:1px;padding-right:1px}.\\32xl\\:px-0\\.5{padding-left:0.125rem;padding-right:0.125rem}.\\32xl\\:px-1\\.5{padding-left:0.375rem;padding-right:0.375rem}.\\32xl\\:px-2\\.5{padding-left:0.625rem;padding-right:0.625rem}.\\32xl\\:px-3\\.5{padding-left:0.875rem;padding-right:0.875rem}.\\32xl\\:py-0{padding-top:0px;padding-bottom:0px}.\\32xl\\:py-1{padding-top:0.25rem;padding-bottom:0.25rem}.\\32xl\\:py-2{padding-top:0.5rem;padding-bottom:0.5rem}.\\32xl\\:py-3{padding-top:0.75rem;padding-bottom:0.75rem}.\\32xl\\:py-4{padding-top:1rem;padding-bottom:1rem}.\\32xl\\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.\\32xl\\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.\\32xl\\:py-7{padding-top:1.75rem;padding-bottom:1.75rem}.\\32xl\\:py-8{padding-top:2rem;padding-bottom:2rem}.\\32xl\\:py-9{padding-top:2.25rem;padding-bottom:2.25rem}.\\32xl\\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.\\32xl\\:py-11{padding-top:2.75rem;padding-bottom:2.75rem}.\\32xl\\:py-12{padding-top:3rem;padding-bottom:3rem}.\\32xl\\:py-14{padding-top:3.5rem;padding-bottom:3.5rem}.\\32xl\\:py-16{padding-top:4rem;padding-bottom:4rem}.\\32xl\\:py-20{padding-top:5rem;padding-bottom:5rem}.\\32xl\\:py-24{padding-top:6rem;padding-bottom:6rem}.\\32xl\\:py-28{padding-top:7rem;padding-bottom:7rem}.\\32xl\\:py-32{padding-top:8rem;padding-bottom:8rem}.\\32xl\\:py-36{padding-top:9rem;padding-bottom:9rem}.\\32xl\\:py-40{padding-top:10rem;padding-bottom:10rem}.\\32xl\\:py-44{padding-top:11rem;padding-bottom:11rem}.\\32xl\\:py-48{padding-top:12rem;padding-bottom:12rem}.\\32xl\\:py-52{padding-top:13rem;padding-bottom:13rem}.\\32xl\\:py-56{padding-top:14rem;padding-bottom:14rem}.\\32xl\\:py-60{padding-top:15rem;padding-bottom:15rem}.\\32xl\\:py-64{padding-top:16rem;padding-bottom:16rem}.\\32xl\\:py-72{padding-top:18rem;padding-bottom:18rem}.\\32xl\\:py-80{padding-top:20rem;padding-bottom:20rem}.\\32xl\\:py-96{padding-top:24rem;padding-bottom:24rem}.\\32xl\\:py-px{padding-top:1px;padding-bottom:1px}.\\32xl\\:py-0\\.5{padding-top:0.125rem;padding-bottom:0.125rem}.\\32xl\\:py-1\\.5{padding-top:0.375rem;padding-bottom:0.375rem}.\\32xl\\:py-2\\.5{padding-top:0.625rem;padding-bottom:0.625rem}.\\32xl\\:py-3\\.5{padding-top:0.875rem;padding-bottom:0.875rem}.\\32xl\\:pt-0{padding-top:0px}.\\32xl\\:pt-1{padding-top:0.25rem}.\\32xl\\:pt-2{padding-top:0.5rem}.\\32xl\\:pt-3{padding-top:0.75rem}.\\32xl\\:pt-4{padding-top:1rem}.\\32xl\\:pt-5{padding-top:1.25rem}.\\32xl\\:pt-6{padding-top:1.5rem}.\\32xl\\:pt-7{padding-top:1.75rem}.\\32xl\\:pt-8{padding-top:2rem}.\\32xl\\:pt-9{padding-top:2.25rem}.\\32xl\\:pt-10{padding-top:2.5rem}.\\32xl\\:pt-11{padding-top:2.75rem}.\\32xl\\:pt-12{padding-top:3rem}.\\32xl\\:pt-14{padding-top:3.5rem}.\\32xl\\:pt-16{padding-top:4rem}.\\32xl\\:pt-20{padding-top:5rem}.\\32xl\\:pt-24{padding-top:6rem}.\\32xl\\:pt-28{padding-top:7rem}.\\32xl\\:pt-32{padding-top:8rem}.\\32xl\\:pt-36{padding-top:9rem}.\\32xl\\:pt-40{padding-top:10rem}.\\32xl\\:pt-44{padding-top:11rem}.\\32xl\\:pt-48{padding-top:12rem}.\\32xl\\:pt-52{padding-top:13rem}.\\32xl\\:pt-56{padding-top:14rem}.\\32xl\\:pt-60{padding-top:15rem}.\\32xl\\:pt-64{padding-top:16rem}.\\32xl\\:pt-72{padding-top:18rem}.\\32xl\\:pt-80{padding-top:20rem}.\\32xl\\:pt-96{padding-top:24rem}.\\32xl\\:pt-px{padding-top:1px}.\\32xl\\:pt-0\\.5{padding-top:0.125rem}.\\32xl\\:pt-1\\.5{padding-top:0.375rem}.\\32xl\\:pt-2\\.5{padding-top:0.625rem}.\\32xl\\:pt-3\\.5{padding-top:0.875rem}.\\32xl\\:pr-0{padding-right:0px}.\\32xl\\:pr-1{padding-right:0.25rem}.\\32xl\\:pr-2{padding-right:0.5rem}.\\32xl\\:pr-3{padding-right:0.75rem}.\\32xl\\:pr-4{padding-right:1rem}.\\32xl\\:pr-5{padding-right:1.25rem}.\\32xl\\:pr-6{padding-right:1.5rem}.\\32xl\\:pr-7{padding-right:1.75rem}.\\32xl\\:pr-8{padding-right:2rem}.\\32xl\\:pr-9{padding-right:2.25rem}.\\32xl\\:pr-10{padding-right:2.5rem}.\\32xl\\:pr-11{padding-right:2.75rem}.\\32xl\\:pr-12{padding-right:3rem}.\\32xl\\:pr-14{padding-right:3.5rem}.\\32xl\\:pr-16{padding-right:4rem}.\\32xl\\:pr-20{padding-right:5rem}.\\32xl\\:pr-24{padding-right:6rem}.\\32xl\\:pr-28{padding-right:7rem}.\\32xl\\:pr-32{padding-right:8rem}.\\32xl\\:pr-36{padding-right:9rem}.\\32xl\\:pr-40{padding-right:10rem}.\\32xl\\:pr-44{padding-right:11rem}.\\32xl\\:pr-48{padding-right:12rem}.\\32xl\\:pr-52{padding-right:13rem}.\\32xl\\:pr-56{padding-right:14rem}.\\32xl\\:pr-60{padding-right:15rem}.\\32xl\\:pr-64{padding-right:16rem}.\\32xl\\:pr-72{padding-right:18rem}.\\32xl\\:pr-80{padding-right:20rem}.\\32xl\\:pr-96{padding-right:24rem}.\\32xl\\:pr-px{padding-right:1px}.\\32xl\\:pr-0\\.5{padding-right:0.125rem}.\\32xl\\:pr-1\\.5{padding-right:0.375rem}.\\32xl\\:pr-2\\.5{padding-right:0.625rem}.\\32xl\\:pr-3\\.5{padding-right:0.875rem}.\\32xl\\:pb-0{padding-bottom:0px}.\\32xl\\:pb-1{padding-bottom:0.25rem}.\\32xl\\:pb-2{padding-bottom:0.5rem}.\\32xl\\:pb-3{padding-bottom:0.75rem}.\\32xl\\:pb-4{padding-bottom:1rem}.\\32xl\\:pb-5{padding-bottom:1.25rem}.\\32xl\\:pb-6{padding-bottom:1.5rem}.\\32xl\\:pb-7{padding-bottom:1.75rem}.\\32xl\\:pb-8{padding-bottom:2rem}.\\32xl\\:pb-9{padding-bottom:2.25rem}.\\32xl\\:pb-10{padding-bottom:2.5rem}.\\32xl\\:pb-11{padding-bottom:2.75rem}.\\32xl\\:pb-12{padding-bottom:3rem}.\\32xl\\:pb-14{padding-bottom:3.5rem}.\\32xl\\:pb-16{padding-bottom:4rem}.\\32xl\\:pb-20{padding-bottom:5rem}.\\32xl\\:pb-24{padding-bottom:6rem}.\\32xl\\:pb-28{padding-bottom:7rem}.\\32xl\\:pb-32{padding-bottom:8rem}.\\32xl\\:pb-36{padding-bottom:9rem}.\\32xl\\:pb-40{padding-bottom:10rem}.\\32xl\\:pb-44{padding-bottom:11rem}.\\32xl\\:pb-48{padding-bottom:12rem}.\\32xl\\:pb-52{padding-bottom:13rem}.\\32xl\\:pb-56{padding-bottom:14rem}.\\32xl\\:pb-60{padding-bottom:15rem}.\\32xl\\:pb-64{padding-bottom:16rem}.\\32xl\\:pb-72{padding-bottom:18rem}.\\32xl\\:pb-80{padding-bottom:20rem}.\\32xl\\:pb-96{padding-bottom:24rem}.\\32xl\\:pb-px{padding-bottom:1px}.\\32xl\\:pb-0\\.5{padding-bottom:0.125rem}.\\32xl\\:pb-1\\.5{padding-bottom:0.375rem}.\\32xl\\:pb-2\\.5{padding-bottom:0.625rem}.\\32xl\\:pb-3\\.5{padding-bottom:0.875rem}.\\32xl\\:pl-0{padding-left:0px}.\\32xl\\:pl-1{padding-left:0.25rem}.\\32xl\\:pl-2{padding-left:0.5rem}.\\32xl\\:pl-3{padding-left:0.75rem}.\\32xl\\:pl-4{padding-left:1rem}.\\32xl\\:pl-5{padding-left:1.25rem}.\\32xl\\:pl-6{padding-left:1.5rem}.\\32xl\\:pl-7{padding-left:1.75rem}.\\32xl\\:pl-8{padding-left:2rem}.\\32xl\\:pl-9{padding-left:2.25rem}.\\32xl\\:pl-10{padding-left:2.5rem}.\\32xl\\:pl-11{padding-left:2.75rem}.\\32xl\\:pl-12{padding-left:3rem}.\\32xl\\:pl-14{padding-left:3.5rem}.\\32xl\\:pl-16{padding-left:4rem}.\\32xl\\:pl-20{padding-left:5rem}.\\32xl\\:pl-24{padding-left:6rem}.\\32xl\\:pl-28{padding-left:7rem}.\\32xl\\:pl-32{padding-left:8rem}.\\32xl\\:pl-36{padding-left:9rem}.\\32xl\\:pl-40{padding-left:10rem}.\\32xl\\:pl-44{padding-left:11rem}.\\32xl\\:pl-48{padding-left:12rem}.\\32xl\\:pl-52{padding-left:13rem}.\\32xl\\:pl-56{padding-left:14rem}.\\32xl\\:pl-60{padding-left:15rem}.\\32xl\\:pl-64{padding-left:16rem}.\\32xl\\:pl-72{padding-left:18rem}.\\32xl\\:pl-80{padding-left:20rem}.\\32xl\\:pl-96{padding-left:24rem}.\\32xl\\:pl-px{padding-left:1px}.\\32xl\\:pl-0\\.5{padding-left:0.125rem}.\\32xl\\:pl-1\\.5{padding-left:0.375rem}.\\32xl\\:pl-2\\.5{padding-left:0.625rem}.\\32xl\\:pl-3\\.5{padding-left:0.875rem}.\\32xl\\:text-left{text-align:left}.\\32xl\\:text-center{text-align:center}.\\32xl\\:text-right{text-align:right}.\\32xl\\:text-justify{text-align:justify}.\\32xl\\:align-baseline{vertical-align:baseline}.\\32xl\\:align-top{vertical-align:top}.\\32xl\\:align-middle{vertical-align:middle}.\\32xl\\:align-bottom{vertical-align:bottom}.\\32xl\\:align-text-top{vertical-align:text-top}.\\32xl\\:align-text-bottom{vertical-align:text-bottom}.\\32xl\\:font-sans{font-family:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"}.\\32xl\\:font-serif{font-family:ui-serif, Georgia, Cambria, \"Times New Roman\", Times, serif}.\\32xl\\:font-mono{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace}.\\32xl\\:text-xs{font-size:0.75rem;line-height:1rem}.\\32xl\\:text-sm{font-size:0.875rem;line-height:1.25rem}.\\32xl\\:text-base{font-size:1rem;line-height:1.5rem}.\\32xl\\:text-lg{font-size:1.125rem;line-height:1.75rem}.\\32xl\\:text-xl{font-size:1.25rem;line-height:1.75rem}.\\32xl\\:text-2xl{font-size:1.5rem;line-height:2rem}.\\32xl\\:text-3xl{font-size:1.875rem;line-height:2.25rem}.\\32xl\\:text-4xl{font-size:2.25rem;line-height:2.5rem}.\\32xl\\:text-5xl{font-size:3rem;line-height:1}.\\32xl\\:text-6xl{font-size:3.75rem;line-height:1}.\\32xl\\:text-7xl{font-size:4.5rem;line-height:1}.\\32xl\\:text-8xl{font-size:6rem;line-height:1}.\\32xl\\:text-9xl{font-size:8rem;line-height:1}.\\32xl\\:font-thin{font-weight:100}.\\32xl\\:font-extralight{font-weight:200}.\\32xl\\:font-light{font-weight:300}.\\32xl\\:font-normal{font-weight:400}.\\32xl\\:font-medium{font-weight:500}.\\32xl\\:font-semibold{font-weight:600}.\\32xl\\:font-bold{font-weight:700}.\\32xl\\:font-extrabold{font-weight:800}.\\32xl\\:font-black{font-weight:900}.\\32xl\\:uppercase{text-transform:uppercase}.\\32xl\\:lowercase{text-transform:lowercase}.\\32xl\\:capitalize{text-transform:capitalize}.\\32xl\\:normal-case{text-transform:none}.\\32xl\\:italic{font-style:italic}.\\32xl\\:not-italic{font-style:normal}.\\32xl\\:ordinal,.\\32xl\\:slashed-zero,.\\32xl\\:lining-nums,.\\32xl\\:oldstyle-nums,.\\32xl\\:proportional-nums,.\\32xl\\:tabular-nums,.\\32xl\\:diagonal-fractions,.\\32xl\\:stacked-fractions{--tw-ordinal:var(--tw-empty,/*!*/ /*!*/);--tw-slashed-zero:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-figure:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-spacing:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-fraction:var(--tw-empty,/*!*/ /*!*/);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.\\32xl\\:normal-nums{font-variant-numeric:normal}.\\32xl\\:ordinal{--tw-ordinal:ordinal}.\\32xl\\:slashed-zero{--tw-slashed-zero:slashed-zero}.\\32xl\\:lining-nums{--tw-numeric-figure:lining-nums}.\\32xl\\:oldstyle-nums{--tw-numeric-figure:oldstyle-nums}.\\32xl\\:proportional-nums{--tw-numeric-spacing:proportional-nums}.\\32xl\\:tabular-nums{--tw-numeric-spacing:tabular-nums}.\\32xl\\:diagonal-fractions{--tw-numeric-fraction:diagonal-fractions}.\\32xl\\:stacked-fractions{--tw-numeric-fraction:stacked-fractions}.\\32xl\\:leading-3{line-height:.75rem}.\\32xl\\:leading-4{line-height:1rem}.\\32xl\\:leading-5{line-height:1.25rem}.\\32xl\\:leading-6{line-height:1.5rem}.\\32xl\\:leading-7{line-height:1.75rem}.\\32xl\\:leading-8{line-height:2rem}.\\32xl\\:leading-9{line-height:2.25rem}.\\32xl\\:leading-10{line-height:2.5rem}.\\32xl\\:leading-none{line-height:1}.\\32xl\\:leading-tight{line-height:1.25}.\\32xl\\:leading-snug{line-height:1.375}.\\32xl\\:leading-normal{line-height:1.5}.\\32xl\\:leading-relaxed{line-height:1.625}.\\32xl\\:leading-loose{line-height:2}.\\32xl\\:tracking-tighter{letter-spacing:-0.05em}.\\32xl\\:tracking-tight{letter-spacing:-0.025em}.\\32xl\\:tracking-normal{letter-spacing:0em}.\\32xl\\:tracking-wide{letter-spacing:0.025em}.\\32xl\\:tracking-wider{letter-spacing:0.05em}.\\32xl\\:tracking-widest{letter-spacing:0.1em}.\\32xl\\:text-transparent{color:transparent}.\\32xl\\:text-current{color:currentColor}.\\32xl\\:text-white{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.\\32xl\\:text-lightgrey{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.\\32xl\\:text-midgrey{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.\\32xl\\:text-darkgrey{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.\\32xl\\:text-grey{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.\\32xl\\:text-black{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.\\32xl\\:text-highlight{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.\\32xl\\:text-highlight_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.\\32xl\\:text-button_outline{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.\\32xl\\:text-error{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.\\32xl\\:text-text-light{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.\\32xl\\:text-text-dimmed{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.\\32xl\\:text-text-dark{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.\\32xl\\:text-body-light{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.\\32xl\\:text-body-dark{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.\\32xl\\:text-button{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.\\32xl\\:text-button_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.group:hover .\\32xl\\:group-hover\\:text-transparent{color:transparent}.group:hover .\\32xl\\:group-hover\\:text-current{color:currentColor}.group:hover .\\32xl\\:group-hover\\:text-white{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .\\32xl\\:group-hover\\:text-lightgrey{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.group:hover .\\32xl\\:group-hover\\:text-midgrey{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .\\32xl\\:group-hover\\:text-darkgrey{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.group:hover .\\32xl\\:group-hover\\:text-grey{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.group:hover .\\32xl\\:group-hover\\:text-black{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.group:hover .\\32xl\\:group-hover\\:text-highlight{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.group:hover .\\32xl\\:group-hover\\:text-highlight_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.group:hover .\\32xl\\:group-hover\\:text-button_outline{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .\\32xl\\:group-hover\\:text-error{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.group:hover .\\32xl\\:group-hover\\:text-text-light{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.group:hover .\\32xl\\:group-hover\\:text-text-dimmed{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .\\32xl\\:group-hover\\:text-text-dark{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .\\32xl\\:group-hover\\:text-body-light{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .\\32xl\\:group-hover\\:text-body-dark{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.group:hover .\\32xl\\:group-hover\\:text-button{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.group:hover .\\32xl\\:group-hover\\:text-button_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.\\32xl\\:focus-within\\:text-transparent:focus-within{color:transparent}.\\32xl\\:focus-within\\:text-current:focus-within{color:currentColor}.\\32xl\\:focus-within\\:text-white:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.\\32xl\\:focus-within\\:text-lightgrey:focus-within{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.\\32xl\\:focus-within\\:text-midgrey:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.\\32xl\\:focus-within\\:text-darkgrey:focus-within{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.\\32xl\\:focus-within\\:text-grey:focus-within{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.\\32xl\\:focus-within\\:text-black:focus-within{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.\\32xl\\:focus-within\\:text-highlight:focus-within{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.\\32xl\\:focus-within\\:text-highlight_hover:focus-within{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.\\32xl\\:focus-within\\:text-button_outline:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.\\32xl\\:focus-within\\:text-error:focus-within{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.\\32xl\\:focus-within\\:text-text-light:focus-within{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.\\32xl\\:focus-within\\:text-text-dimmed:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.\\32xl\\:focus-within\\:text-text-dark:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.\\32xl\\:focus-within\\:text-body-light:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.\\32xl\\:focus-within\\:text-body-dark:focus-within{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.\\32xl\\:focus-within\\:text-button:focus-within{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.\\32xl\\:focus-within\\:text-button_hover:focus-within{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.\\32xl\\:hover\\:text-transparent:hover{color:transparent}.\\32xl\\:hover\\:text-current:hover{color:currentColor}.\\32xl\\:hover\\:text-white:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.\\32xl\\:hover\\:text-lightgrey:hover{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.\\32xl\\:hover\\:text-midgrey:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.\\32xl\\:hover\\:text-darkgrey:hover{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.\\32xl\\:hover\\:text-grey:hover{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.\\32xl\\:hover\\:text-black:hover{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.\\32xl\\:hover\\:text-highlight:hover{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.\\32xl\\:hover\\:text-highlight_hover:hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.\\32xl\\:hover\\:text-button_outline:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.\\32xl\\:hover\\:text-error:hover{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.\\32xl\\:hover\\:text-text-light:hover{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.\\32xl\\:hover\\:text-text-dimmed:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.\\32xl\\:hover\\:text-text-dark:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.\\32xl\\:hover\\:text-body-light:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.\\32xl\\:hover\\:text-body-dark:hover{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.\\32xl\\:hover\\:text-button:hover{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.\\32xl\\:hover\\:text-button_hover:hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.\\32xl\\:focus\\:text-transparent:focus{color:transparent}.\\32xl\\:focus\\:text-current:focus{color:currentColor}.\\32xl\\:focus\\:text-white:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.\\32xl\\:focus\\:text-lightgrey:focus{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.\\32xl\\:focus\\:text-midgrey:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.\\32xl\\:focus\\:text-darkgrey:focus{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.\\32xl\\:focus\\:text-grey:focus{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.\\32xl\\:focus\\:text-black:focus{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.\\32xl\\:focus\\:text-highlight:focus{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.\\32xl\\:focus\\:text-highlight_hover:focus{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.\\32xl\\:focus\\:text-button_outline:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.\\32xl\\:focus\\:text-error:focus{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.\\32xl\\:focus\\:text-text-light:focus{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.\\32xl\\:focus\\:text-text-dimmed:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.\\32xl\\:focus\\:text-text-dark:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.\\32xl\\:focus\\:text-body-light:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.\\32xl\\:focus\\:text-body-dark:focus{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.\\32xl\\:focus\\:text-button:focus{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.\\32xl\\:focus\\:text-button_hover:focus{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}@media(prefers-color-scheme: dark){.\\32xl\\:dark\\:text-transparent{color:transparent}.\\32xl\\:dark\\:text-current{color:currentColor}.\\32xl\\:dark\\:text-white{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.\\32xl\\:dark\\:text-lightgrey{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.\\32xl\\:dark\\:text-midgrey{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.\\32xl\\:dark\\:text-darkgrey{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.\\32xl\\:dark\\:text-grey{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.\\32xl\\:dark\\:text-black{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.\\32xl\\:dark\\:text-highlight{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.\\32xl\\:dark\\:text-highlight_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.\\32xl\\:dark\\:text-button_outline{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.\\32xl\\:dark\\:text-error{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.\\32xl\\:dark\\:text-text-light{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.\\32xl\\:dark\\:text-text-dimmed{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.\\32xl\\:dark\\:text-text-dark{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.\\32xl\\:dark\\:text-body-light{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.\\32xl\\:dark\\:text-body-dark{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.\\32xl\\:dark\\:text-button{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.\\32xl\\:dark\\:text-button_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:text-transparent{color:transparent}.group:hover .\\32xl\\:dark\\:group-hover\\:text-current{color:currentColor}.group:hover .\\32xl\\:dark\\:group-hover\\:text-white{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:text-lightgrey{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:text-midgrey{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:text-darkgrey{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:text-grey{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:text-black{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:text-highlight{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:text-highlight_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:text-button_outline{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:text-error{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:text-text-light{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:text-text-dimmed{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:text-text-dark{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:text-body-light{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:text-body-dark{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:text-button{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.group:hover .\\32xl\\:dark\\:group-hover\\:text-button_hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus-within\\:text-transparent:focus-within{color:transparent}.\\32xl\\:dark\\:focus-within\\:text-current:focus-within{color:currentColor}.\\32xl\\:dark\\:focus-within\\:text-white:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus-within\\:text-lightgrey:focus-within{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus-within\\:text-midgrey:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus-within\\:text-darkgrey:focus-within{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus-within\\:text-grey:focus-within{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus-within\\:text-black:focus-within{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus-within\\:text-highlight:focus-within{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus-within\\:text-highlight_hover:focus-within{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus-within\\:text-button_outline:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus-within\\:text-error:focus-within{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus-within\\:text-text-light:focus-within{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus-within\\:text-text-dimmed:focus-within{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus-within\\:text-text-dark:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus-within\\:text-body-light:focus-within{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus-within\\:text-body-dark:focus-within{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus-within\\:text-button:focus-within{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus-within\\:text-button_hover:focus-within{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.\\32xl\\:dark\\:hover\\:text-transparent:hover{color:transparent}.\\32xl\\:dark\\:hover\\:text-current:hover{color:currentColor}.\\32xl\\:dark\\:hover\\:text-white:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.\\32xl\\:dark\\:hover\\:text-lightgrey:hover{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.\\32xl\\:dark\\:hover\\:text-midgrey:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.\\32xl\\:dark\\:hover\\:text-darkgrey:hover{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.\\32xl\\:dark\\:hover\\:text-grey:hover{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.\\32xl\\:dark\\:hover\\:text-black:hover{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.\\32xl\\:dark\\:hover\\:text-highlight:hover{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.\\32xl\\:dark\\:hover\\:text-highlight_hover:hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.\\32xl\\:dark\\:hover\\:text-button_outline:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.\\32xl\\:dark\\:hover\\:text-error:hover{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.\\32xl\\:dark\\:hover\\:text-text-light:hover{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.\\32xl\\:dark\\:hover\\:text-text-dimmed:hover{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.\\32xl\\:dark\\:hover\\:text-text-dark:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.\\32xl\\:dark\\:hover\\:text-body-light:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.\\32xl\\:dark\\:hover\\:text-body-dark:hover{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.\\32xl\\:dark\\:hover\\:text-button:hover{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.\\32xl\\:dark\\:hover\\:text-button_hover:hover{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus\\:text-transparent:focus{color:transparent}.\\32xl\\:dark\\:focus\\:text-current:focus{color:currentColor}.\\32xl\\:dark\\:focus\\:text-white:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus\\:text-lightgrey:focus{--tw-text-opacity:1;color:rgba(247, 247, 247, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus\\:text-midgrey:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus\\:text-darkgrey:focus{--tw-text-opacity:1;color:rgba(127, 127, 127, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus\\:text-grey:focus{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus\\:text-black:focus{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus\\:text-highlight:focus{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus\\:text-highlight_hover:focus{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus\\:text-button_outline:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus\\:text-error:focus{--tw-text-opacity:1;color:rgba(255, 69, 58, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus\\:text-text-light:focus{--tw-text-opacity:1;color:rgba(15, 15, 15, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus\\:text-text-dimmed:focus{--tw-text-opacity:1;color:rgba(207, 207, 207, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus\\:text-text-dark:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus\\:text-body-light:focus{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus\\:text-body-dark:focus{--tw-text-opacity:1;color:rgba(30, 30, 30, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus\\:text-button:focus{--tw-text-opacity:1;color:rgba(0, 113, 227, var(--tw-text-opacity))}.\\32xl\\:dark\\:focus\\:text-button_hover:focus{--tw-text-opacity:1;color:rgba(0, 119, 237, var(--tw-text-opacity))}}.\\32xl\\:text-opacity-0{--tw-text-opacity:0}.\\32xl\\:text-opacity-5{--tw-text-opacity:0.05}.\\32xl\\:text-opacity-10{--tw-text-opacity:0.1}.\\32xl\\:text-opacity-20{--tw-text-opacity:0.2}.\\32xl\\:text-opacity-25{--tw-text-opacity:0.25}.\\32xl\\:text-opacity-30{--tw-text-opacity:0.3}.\\32xl\\:text-opacity-40{--tw-text-opacity:0.4}.\\32xl\\:text-opacity-50{--tw-text-opacity:0.5}.\\32xl\\:text-opacity-60{--tw-text-opacity:0.6}.\\32xl\\:text-opacity-70{--tw-text-opacity:0.7}.\\32xl\\:text-opacity-75{--tw-text-opacity:0.75}.\\32xl\\:text-opacity-80{--tw-text-opacity:0.8}.\\32xl\\:text-opacity-90{--tw-text-opacity:0.9}.\\32xl\\:text-opacity-95{--tw-text-opacity:0.95}.\\32xl\\:text-opacity-100{--tw-text-opacity:1}.group:hover .\\32xl\\:group-hover\\:text-opacity-0{--tw-text-opacity:0}.group:hover .\\32xl\\:group-hover\\:text-opacity-5{--tw-text-opacity:0.05}.group:hover .\\32xl\\:group-hover\\:text-opacity-10{--tw-text-opacity:0.1}.group:hover .\\32xl\\:group-hover\\:text-opacity-20{--tw-text-opacity:0.2}.group:hover .\\32xl\\:group-hover\\:text-opacity-25{--tw-text-opacity:0.25}.group:hover .\\32xl\\:group-hover\\:text-opacity-30{--tw-text-opacity:0.3}.group:hover .\\32xl\\:group-hover\\:text-opacity-40{--tw-text-opacity:0.4}.group:hover .\\32xl\\:group-hover\\:text-opacity-50{--tw-text-opacity:0.5}.group:hover .\\32xl\\:group-hover\\:text-opacity-60{--tw-text-opacity:0.6}.group:hover .\\32xl\\:group-hover\\:text-opacity-70{--tw-text-opacity:0.7}.group:hover .\\32xl\\:group-hover\\:text-opacity-75{--tw-text-opacity:0.75}.group:hover .\\32xl\\:group-hover\\:text-opacity-80{--tw-text-opacity:0.8}.group:hover .\\32xl\\:group-hover\\:text-opacity-90{--tw-text-opacity:0.9}.group:hover .\\32xl\\:group-hover\\:text-opacity-95{--tw-text-opacity:0.95}.group:hover .\\32xl\\:group-hover\\:text-opacity-100{--tw-text-opacity:1}.\\32xl\\:focus-within\\:text-opacity-0:focus-within{--tw-text-opacity:0}.\\32xl\\:focus-within\\:text-opacity-5:focus-within{--tw-text-opacity:0.05}.\\32xl\\:focus-within\\:text-opacity-10:focus-within{--tw-text-opacity:0.1}.\\32xl\\:focus-within\\:text-opacity-20:focus-within{--tw-text-opacity:0.2}.\\32xl\\:focus-within\\:text-opacity-25:focus-within{--tw-text-opacity:0.25}.\\32xl\\:focus-within\\:text-opacity-30:focus-within{--tw-text-opacity:0.3}.\\32xl\\:focus-within\\:text-opacity-40:focus-within{--tw-text-opacity:0.4}.\\32xl\\:focus-within\\:text-opacity-50:focus-within{--tw-text-opacity:0.5}.\\32xl\\:focus-within\\:text-opacity-60:focus-within{--tw-text-opacity:0.6}.\\32xl\\:focus-within\\:text-opacity-70:focus-within{--tw-text-opacity:0.7}.\\32xl\\:focus-within\\:text-opacity-75:focus-within{--tw-text-opacity:0.75}.\\32xl\\:focus-within\\:text-opacity-80:focus-within{--tw-text-opacity:0.8}.\\32xl\\:focus-within\\:text-opacity-90:focus-within{--tw-text-opacity:0.9}.\\32xl\\:focus-within\\:text-opacity-95:focus-within{--tw-text-opacity:0.95}.\\32xl\\:focus-within\\:text-opacity-100:focus-within{--tw-text-opacity:1}.\\32xl\\:hover\\:text-opacity-0:hover{--tw-text-opacity:0}.\\32xl\\:hover\\:text-opacity-5:hover{--tw-text-opacity:0.05}.\\32xl\\:hover\\:text-opacity-10:hover{--tw-text-opacity:0.1}.\\32xl\\:hover\\:text-opacity-20:hover{--tw-text-opacity:0.2}.\\32xl\\:hover\\:text-opacity-25:hover{--tw-text-opacity:0.25}.\\32xl\\:hover\\:text-opacity-30:hover{--tw-text-opacity:0.3}.\\32xl\\:hover\\:text-opacity-40:hover{--tw-text-opacity:0.4}.\\32xl\\:hover\\:text-opacity-50:hover{--tw-text-opacity:0.5}.\\32xl\\:hover\\:text-opacity-60:hover{--tw-text-opacity:0.6}.\\32xl\\:hover\\:text-opacity-70:hover{--tw-text-opacity:0.7}.\\32xl\\:hover\\:text-opacity-75:hover{--tw-text-opacity:0.75}.\\32xl\\:hover\\:text-opacity-80:hover{--tw-text-opacity:0.8}.\\32xl\\:hover\\:text-opacity-90:hover{--tw-text-opacity:0.9}.\\32xl\\:hover\\:text-opacity-95:hover{--tw-text-opacity:0.95}.\\32xl\\:hover\\:text-opacity-100:hover{--tw-text-opacity:1}.\\32xl\\:focus\\:text-opacity-0:focus{--tw-text-opacity:0}.\\32xl\\:focus\\:text-opacity-5:focus{--tw-text-opacity:0.05}.\\32xl\\:focus\\:text-opacity-10:focus{--tw-text-opacity:0.1}.\\32xl\\:focus\\:text-opacity-20:focus{--tw-text-opacity:0.2}.\\32xl\\:focus\\:text-opacity-25:focus{--tw-text-opacity:0.25}.\\32xl\\:focus\\:text-opacity-30:focus{--tw-text-opacity:0.3}.\\32xl\\:focus\\:text-opacity-40:focus{--tw-text-opacity:0.4}.\\32xl\\:focus\\:text-opacity-50:focus{--tw-text-opacity:0.5}.\\32xl\\:focus\\:text-opacity-60:focus{--tw-text-opacity:0.6}.\\32xl\\:focus\\:text-opacity-70:focus{--tw-text-opacity:0.7}.\\32xl\\:focus\\:text-opacity-75:focus{--tw-text-opacity:0.75}.\\32xl\\:focus\\:text-opacity-80:focus{--tw-text-opacity:0.8}.\\32xl\\:focus\\:text-opacity-90:focus{--tw-text-opacity:0.9}.\\32xl\\:focus\\:text-opacity-95:focus{--tw-text-opacity:0.95}.\\32xl\\:focus\\:text-opacity-100:focus{--tw-text-opacity:1}@media(prefers-color-scheme: dark){.\\32xl\\:dark\\:text-opacity-0{--tw-text-opacity:0}.\\32xl\\:dark\\:text-opacity-5{--tw-text-opacity:0.05}.\\32xl\\:dark\\:text-opacity-10{--tw-text-opacity:0.1}.\\32xl\\:dark\\:text-opacity-20{--tw-text-opacity:0.2}.\\32xl\\:dark\\:text-opacity-25{--tw-text-opacity:0.25}.\\32xl\\:dark\\:text-opacity-30{--tw-text-opacity:0.3}.\\32xl\\:dark\\:text-opacity-40{--tw-text-opacity:0.4}.\\32xl\\:dark\\:text-opacity-50{--tw-text-opacity:0.5}.\\32xl\\:dark\\:text-opacity-60{--tw-text-opacity:0.6}.\\32xl\\:dark\\:text-opacity-70{--tw-text-opacity:0.7}.\\32xl\\:dark\\:text-opacity-75{--tw-text-opacity:0.75}.\\32xl\\:dark\\:text-opacity-80{--tw-text-opacity:0.8}.\\32xl\\:dark\\:text-opacity-90{--tw-text-opacity:0.9}.\\32xl\\:dark\\:text-opacity-95{--tw-text-opacity:0.95}.\\32xl\\:dark\\:text-opacity-100{--tw-text-opacity:1}.group:hover .\\32xl\\:dark\\:group-hover\\:text-opacity-0{--tw-text-opacity:0}.group:hover .\\32xl\\:dark\\:group-hover\\:text-opacity-5{--tw-text-opacity:0.05}.group:hover .\\32xl\\:dark\\:group-hover\\:text-opacity-10{--tw-text-opacity:0.1}.group:hover .\\32xl\\:dark\\:group-hover\\:text-opacity-20{--tw-text-opacity:0.2}.group:hover .\\32xl\\:dark\\:group-hover\\:text-opacity-25{--tw-text-opacity:0.25}.group:hover .\\32xl\\:dark\\:group-hover\\:text-opacity-30{--tw-text-opacity:0.3}.group:hover .\\32xl\\:dark\\:group-hover\\:text-opacity-40{--tw-text-opacity:0.4}.group:hover .\\32xl\\:dark\\:group-hover\\:text-opacity-50{--tw-text-opacity:0.5}.group:hover .\\32xl\\:dark\\:group-hover\\:text-opacity-60{--tw-text-opacity:0.6}.group:hover .\\32xl\\:dark\\:group-hover\\:text-opacity-70{--tw-text-opacity:0.7}.group:hover .\\32xl\\:dark\\:group-hover\\:text-opacity-75{--tw-text-opacity:0.75}.group:hover .\\32xl\\:dark\\:group-hover\\:text-opacity-80{--tw-text-opacity:0.8}.group:hover .\\32xl\\:dark\\:group-hover\\:text-opacity-90{--tw-text-opacity:0.9}.group:hover .\\32xl\\:dark\\:group-hover\\:text-opacity-95{--tw-text-opacity:0.95}.group:hover .\\32xl\\:dark\\:group-hover\\:text-opacity-100{--tw-text-opacity:1}.\\32xl\\:dark\\:focus-within\\:text-opacity-0:focus-within{--tw-text-opacity:0}.\\32xl\\:dark\\:focus-within\\:text-opacity-5:focus-within{--tw-text-opacity:0.05}.\\32xl\\:dark\\:focus-within\\:text-opacity-10:focus-within{--tw-text-opacity:0.1}.\\32xl\\:dark\\:focus-within\\:text-opacity-20:focus-within{--tw-text-opacity:0.2}.\\32xl\\:dark\\:focus-within\\:text-opacity-25:focus-within{--tw-text-opacity:0.25}.\\32xl\\:dark\\:focus-within\\:text-opacity-30:focus-within{--tw-text-opacity:0.3}.\\32xl\\:dark\\:focus-within\\:text-opacity-40:focus-within{--tw-text-opacity:0.4}.\\32xl\\:dark\\:focus-within\\:text-opacity-50:focus-within{--tw-text-opacity:0.5}.\\32xl\\:dark\\:focus-within\\:text-opacity-60:focus-within{--tw-text-opacity:0.6}.\\32xl\\:dark\\:focus-within\\:text-opacity-70:focus-within{--tw-text-opacity:0.7}.\\32xl\\:dark\\:focus-within\\:text-opacity-75:focus-within{--tw-text-opacity:0.75}.\\32xl\\:dark\\:focus-within\\:text-opacity-80:focus-within{--tw-text-opacity:0.8}.\\32xl\\:dark\\:focus-within\\:text-opacity-90:focus-within{--tw-text-opacity:0.9}.\\32xl\\:dark\\:focus-within\\:text-opacity-95:focus-within{--tw-text-opacity:0.95}.\\32xl\\:dark\\:focus-within\\:text-opacity-100:focus-within{--tw-text-opacity:1}.\\32xl\\:dark\\:hover\\:text-opacity-0:hover{--tw-text-opacity:0}.\\32xl\\:dark\\:hover\\:text-opacity-5:hover{--tw-text-opacity:0.05}.\\32xl\\:dark\\:hover\\:text-opacity-10:hover{--tw-text-opacity:0.1}.\\32xl\\:dark\\:hover\\:text-opacity-20:hover{--tw-text-opacity:0.2}.\\32xl\\:dark\\:hover\\:text-opacity-25:hover{--tw-text-opacity:0.25}.\\32xl\\:dark\\:hover\\:text-opacity-30:hover{--tw-text-opacity:0.3}.\\32xl\\:dark\\:hover\\:text-opacity-40:hover{--tw-text-opacity:0.4}.\\32xl\\:dark\\:hover\\:text-opacity-50:hover{--tw-text-opacity:0.5}.\\32xl\\:dark\\:hover\\:text-opacity-60:hover{--tw-text-opacity:0.6}.\\32xl\\:dark\\:hover\\:text-opacity-70:hover{--tw-text-opacity:0.7}.\\32xl\\:dark\\:hover\\:text-opacity-75:hover{--tw-text-opacity:0.75}.\\32xl\\:dark\\:hover\\:text-opacity-80:hover{--tw-text-opacity:0.8}.\\32xl\\:dark\\:hover\\:text-opacity-90:hover{--tw-text-opacity:0.9}.\\32xl\\:dark\\:hover\\:text-opacity-95:hover{--tw-text-opacity:0.95}.\\32xl\\:dark\\:hover\\:text-opacity-100:hover{--tw-text-opacity:1}.\\32xl\\:dark\\:focus\\:text-opacity-0:focus{--tw-text-opacity:0}.\\32xl\\:dark\\:focus\\:text-opacity-5:focus{--tw-text-opacity:0.05}.\\32xl\\:dark\\:focus\\:text-opacity-10:focus{--tw-text-opacity:0.1}.\\32xl\\:dark\\:focus\\:text-opacity-20:focus{--tw-text-opacity:0.2}.\\32xl\\:dark\\:focus\\:text-opacity-25:focus{--tw-text-opacity:0.25}.\\32xl\\:dark\\:focus\\:text-opacity-30:focus{--tw-text-opacity:0.3}.\\32xl\\:dark\\:focus\\:text-opacity-40:focus{--tw-text-opacity:0.4}.\\32xl\\:dark\\:focus\\:text-opacity-50:focus{--tw-text-opacity:0.5}.\\32xl\\:dark\\:focus\\:text-opacity-60:focus{--tw-text-opacity:0.6}.\\32xl\\:dark\\:focus\\:text-opacity-70:focus{--tw-text-opacity:0.7}.\\32xl\\:dark\\:focus\\:text-opacity-75:focus{--tw-text-opacity:0.75}.\\32xl\\:dark\\:focus\\:text-opacity-80:focus{--tw-text-opacity:0.8}.\\32xl\\:dark\\:focus\\:text-opacity-90:focus{--tw-text-opacity:0.9}.\\32xl\\:dark\\:focus\\:text-opacity-95:focus{--tw-text-opacity:0.95}.\\32xl\\:dark\\:focus\\:text-opacity-100:focus{--tw-text-opacity:1}}.\\32xl\\:underline{text-decoration:underline}.\\32xl\\:line-through{text-decoration:line-through}.\\32xl\\:no-underline{text-decoration:none}.group:hover .\\32xl\\:group-hover\\:underline{text-decoration:underline}.group:hover .\\32xl\\:group-hover\\:line-through{text-decoration:line-through}.group:hover .\\32xl\\:group-hover\\:no-underline{text-decoration:none}.\\32xl\\:focus-within\\:underline:focus-within{text-decoration:underline}.\\32xl\\:focus-within\\:line-through:focus-within{text-decoration:line-through}.\\32xl\\:focus-within\\:no-underline:focus-within{text-decoration:none}.\\32xl\\:hover\\:underline:hover{text-decoration:underline}.\\32xl\\:hover\\:line-through:hover{text-decoration:line-through}.\\32xl\\:hover\\:no-underline:hover{text-decoration:none}.\\32xl\\:focus\\:underline:focus{text-decoration:underline}.\\32xl\\:focus\\:line-through:focus{text-decoration:line-through}.\\32xl\\:focus\\:no-underline:focus{text-decoration:none}.\\32xl\\:antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.\\32xl\\:subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.\\32xl\\:placeholder-transparent::placeholder{color:transparent}.\\32xl\\:placeholder-current::placeholder{color:currentColor}.\\32xl\\:placeholder-white::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.\\32xl\\:placeholder-lightgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(247, 247, 247, var(--tw-placeholder-opacity))}.\\32xl\\:placeholder-midgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.\\32xl\\:placeholder-darkgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(127, 127, 127, var(--tw-placeholder-opacity))}.\\32xl\\:placeholder-grey::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.\\32xl\\:placeholder-black::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.\\32xl\\:placeholder-highlight::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.\\32xl\\:placeholder-highlight_hover::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.\\32xl\\:placeholder-button_outline::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.\\32xl\\:placeholder-error::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 69, 58, var(--tw-placeholder-opacity))}.\\32xl\\:placeholder-text-light::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.\\32xl\\:placeholder-text-dimmed::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.\\32xl\\:placeholder-text-dark::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.\\32xl\\:placeholder-body-light::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.\\32xl\\:placeholder-body-dark::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.\\32xl\\:placeholder-button::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.\\32xl\\:placeholder-button_hover::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.\\32xl\\:focus\\:placeholder-transparent:focus::placeholder{color:transparent}.\\32xl\\:focus\\:placeholder-current:focus::placeholder{color:currentColor}.\\32xl\\:focus\\:placeholder-white:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.\\32xl\\:focus\\:placeholder-lightgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(247, 247, 247, var(--tw-placeholder-opacity))}.\\32xl\\:focus\\:placeholder-midgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.\\32xl\\:focus\\:placeholder-darkgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(127, 127, 127, var(--tw-placeholder-opacity))}.\\32xl\\:focus\\:placeholder-grey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.\\32xl\\:focus\\:placeholder-black:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.\\32xl\\:focus\\:placeholder-highlight:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.\\32xl\\:focus\\:placeholder-highlight_hover:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.\\32xl\\:focus\\:placeholder-button_outline:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.\\32xl\\:focus\\:placeholder-error:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 69, 58, var(--tw-placeholder-opacity))}.\\32xl\\:focus\\:placeholder-text-light:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.\\32xl\\:focus\\:placeholder-text-dimmed:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.\\32xl\\:focus\\:placeholder-text-dark:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.\\32xl\\:focus\\:placeholder-body-light:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.\\32xl\\:focus\\:placeholder-body-dark:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.\\32xl\\:focus\\:placeholder-button:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.\\32xl\\:focus\\:placeholder-button_hover:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}@media(prefers-color-scheme: dark){.\\32xl\\:dark\\:placeholder-transparent::placeholder{color:transparent}.\\32xl\\:dark\\:placeholder-current::placeholder{color:currentColor}.\\32xl\\:dark\\:placeholder-white::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:placeholder-lightgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(247, 247, 247, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:placeholder-midgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:placeholder-darkgrey::placeholder{--tw-placeholder-opacity:1;color:rgba(127, 127, 127, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:placeholder-grey::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:placeholder-black::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:placeholder-highlight::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:placeholder-highlight_hover::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:placeholder-button_outline::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:placeholder-error::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 69, 58, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:placeholder-text-light::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:placeholder-text-dimmed::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:placeholder-text-dark::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:placeholder-body-light::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:placeholder-body-dark::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:placeholder-button::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:placeholder-button_hover::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:focus\\:placeholder-transparent:focus::placeholder{color:transparent}.\\32xl\\:dark\\:focus\\:placeholder-current:focus::placeholder{color:currentColor}.\\32xl\\:dark\\:focus\\:placeholder-white:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:focus\\:placeholder-lightgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(247, 247, 247, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:focus\\:placeholder-midgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:focus\\:placeholder-darkgrey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(127, 127, 127, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:focus\\:placeholder-grey:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:focus\\:placeholder-black:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:focus\\:placeholder-highlight:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:focus\\:placeholder-highlight_hover:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:focus\\:placeholder-button_outline:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:focus\\:placeholder-error:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 69, 58, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:focus\\:placeholder-text-light:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(15, 15, 15, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:focus\\:placeholder-text-dimmed:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(207, 207, 207, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:focus\\:placeholder-text-dark:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:focus\\:placeholder-body-light:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:focus\\:placeholder-body-dark:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(30, 30, 30, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:focus\\:placeholder-button:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 113, 227, var(--tw-placeholder-opacity))}.\\32xl\\:dark\\:focus\\:placeholder-button_hover:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0, 119, 237, var(--tw-placeholder-opacity))}}.\\32xl\\:placeholder-opacity-0::placeholder{--tw-placeholder-opacity:0}.\\32xl\\:placeholder-opacity-5::placeholder{--tw-placeholder-opacity:0.05}.\\32xl\\:placeholder-opacity-10::placeholder{--tw-placeholder-opacity:0.1}.\\32xl\\:placeholder-opacity-20::placeholder{--tw-placeholder-opacity:0.2}.\\32xl\\:placeholder-opacity-25::placeholder{--tw-placeholder-opacity:0.25}.\\32xl\\:placeholder-opacity-30::placeholder{--tw-placeholder-opacity:0.3}.\\32xl\\:placeholder-opacity-40::placeholder{--tw-placeholder-opacity:0.4}.\\32xl\\:placeholder-opacity-50::placeholder{--tw-placeholder-opacity:0.5}.\\32xl\\:placeholder-opacity-60::placeholder{--tw-placeholder-opacity:0.6}.\\32xl\\:placeholder-opacity-70::placeholder{--tw-placeholder-opacity:0.7}.\\32xl\\:placeholder-opacity-75::placeholder{--tw-placeholder-opacity:0.75}.\\32xl\\:placeholder-opacity-80::placeholder{--tw-placeholder-opacity:0.8}.\\32xl\\:placeholder-opacity-90::placeholder{--tw-placeholder-opacity:0.9}.\\32xl\\:placeholder-opacity-95::placeholder{--tw-placeholder-opacity:0.95}.\\32xl\\:placeholder-opacity-100::placeholder{--tw-placeholder-opacity:1}.\\32xl\\:focus\\:placeholder-opacity-0:focus::placeholder{--tw-placeholder-opacity:0}.\\32xl\\:focus\\:placeholder-opacity-5:focus::placeholder{--tw-placeholder-opacity:0.05}.\\32xl\\:focus\\:placeholder-opacity-10:focus::placeholder{--tw-placeholder-opacity:0.1}.\\32xl\\:focus\\:placeholder-opacity-20:focus::placeholder{--tw-placeholder-opacity:0.2}.\\32xl\\:focus\\:placeholder-opacity-25:focus::placeholder{--tw-placeholder-opacity:0.25}.\\32xl\\:focus\\:placeholder-opacity-30:focus::placeholder{--tw-placeholder-opacity:0.3}.\\32xl\\:focus\\:placeholder-opacity-40:focus::placeholder{--tw-placeholder-opacity:0.4}.\\32xl\\:focus\\:placeholder-opacity-50:focus::placeholder{--tw-placeholder-opacity:0.5}.\\32xl\\:focus\\:placeholder-opacity-60:focus::placeholder{--tw-placeholder-opacity:0.6}.\\32xl\\:focus\\:placeholder-opacity-70:focus::placeholder{--tw-placeholder-opacity:0.7}.\\32xl\\:focus\\:placeholder-opacity-75:focus::placeholder{--tw-placeholder-opacity:0.75}.\\32xl\\:focus\\:placeholder-opacity-80:focus::placeholder{--tw-placeholder-opacity:0.8}.\\32xl\\:focus\\:placeholder-opacity-90:focus::placeholder{--tw-placeholder-opacity:0.9}.\\32xl\\:focus\\:placeholder-opacity-95:focus::placeholder{--tw-placeholder-opacity:0.95}.\\32xl\\:focus\\:placeholder-opacity-100:focus::placeholder{--tw-placeholder-opacity:1}@media(prefers-color-scheme: dark){.\\32xl\\:dark\\:placeholder-opacity-0::placeholder{--tw-placeholder-opacity:0}.\\32xl\\:dark\\:placeholder-opacity-5::placeholder{--tw-placeholder-opacity:0.05}.\\32xl\\:dark\\:placeholder-opacity-10::placeholder{--tw-placeholder-opacity:0.1}.\\32xl\\:dark\\:placeholder-opacity-20::placeholder{--tw-placeholder-opacity:0.2}.\\32xl\\:dark\\:placeholder-opacity-25::placeholder{--tw-placeholder-opacity:0.25}.\\32xl\\:dark\\:placeholder-opacity-30::placeholder{--tw-placeholder-opacity:0.3}.\\32xl\\:dark\\:placeholder-opacity-40::placeholder{--tw-placeholder-opacity:0.4}.\\32xl\\:dark\\:placeholder-opacity-50::placeholder{--tw-placeholder-opacity:0.5}.\\32xl\\:dark\\:placeholder-opacity-60::placeholder{--tw-placeholder-opacity:0.6}.\\32xl\\:dark\\:placeholder-opacity-70::placeholder{--tw-placeholder-opacity:0.7}.\\32xl\\:dark\\:placeholder-opacity-75::placeholder{--tw-placeholder-opacity:0.75}.\\32xl\\:dark\\:placeholder-opacity-80::placeholder{--tw-placeholder-opacity:0.8}.\\32xl\\:dark\\:placeholder-opacity-90::placeholder{--tw-placeholder-opacity:0.9}.\\32xl\\:dark\\:placeholder-opacity-95::placeholder{--tw-placeholder-opacity:0.95}.\\32xl\\:dark\\:placeholder-opacity-100::placeholder{--tw-placeholder-opacity:1}.\\32xl\\:dark\\:focus\\:placeholder-opacity-0:focus::placeholder{--tw-placeholder-opacity:0}.\\32xl\\:dark\\:focus\\:placeholder-opacity-5:focus::placeholder{--tw-placeholder-opacity:0.05}.\\32xl\\:dark\\:focus\\:placeholder-opacity-10:focus::placeholder{--tw-placeholder-opacity:0.1}.\\32xl\\:dark\\:focus\\:placeholder-opacity-20:focus::placeholder{--tw-placeholder-opacity:0.2}.\\32xl\\:dark\\:focus\\:placeholder-opacity-25:focus::placeholder{--tw-placeholder-opacity:0.25}.\\32xl\\:dark\\:focus\\:placeholder-opacity-30:focus::placeholder{--tw-placeholder-opacity:0.3}.\\32xl\\:dark\\:focus\\:placeholder-opacity-40:focus::placeholder{--tw-placeholder-opacity:0.4}.\\32xl\\:dark\\:focus\\:placeholder-opacity-50:focus::placeholder{--tw-placeholder-opacity:0.5}.\\32xl\\:dark\\:focus\\:placeholder-opacity-60:focus::placeholder{--tw-placeholder-opacity:0.6}.\\32xl\\:dark\\:focus\\:placeholder-opacity-70:focus::placeholder{--tw-placeholder-opacity:0.7}.\\32xl\\:dark\\:focus\\:placeholder-opacity-75:focus::placeholder{--tw-placeholder-opacity:0.75}.\\32xl\\:dark\\:focus\\:placeholder-opacity-80:focus::placeholder{--tw-placeholder-opacity:0.8}.\\32xl\\:dark\\:focus\\:placeholder-opacity-90:focus::placeholder{--tw-placeholder-opacity:0.9}.\\32xl\\:dark\\:focus\\:placeholder-opacity-95:focus::placeholder{--tw-placeholder-opacity:0.95}.\\32xl\\:dark\\:focus\\:placeholder-opacity-100:focus::placeholder{--tw-placeholder-opacity:1}}.\\32xl\\:opacity-0{opacity:0}.\\32xl\\:opacity-5{opacity:0.05}.\\32xl\\:opacity-10{opacity:0.1}.\\32xl\\:opacity-20{opacity:0.2}.\\32xl\\:opacity-25{opacity:0.25}.\\32xl\\:opacity-30{opacity:0.3}.\\32xl\\:opacity-40{opacity:0.4}.\\32xl\\:opacity-50{opacity:0.5}.\\32xl\\:opacity-60{opacity:0.6}.\\32xl\\:opacity-70{opacity:0.7}.\\32xl\\:opacity-75{opacity:0.75}.\\32xl\\:opacity-80{opacity:0.8}.\\32xl\\:opacity-90{opacity:0.9}.\\32xl\\:opacity-95{opacity:0.95}.\\32xl\\:opacity-100{opacity:1}.group:hover .\\32xl\\:group-hover\\:opacity-0{opacity:0}.group:hover .\\32xl\\:group-hover\\:opacity-5{opacity:0.05}.group:hover .\\32xl\\:group-hover\\:opacity-10{opacity:0.1}.group:hover .\\32xl\\:group-hover\\:opacity-20{opacity:0.2}.group:hover .\\32xl\\:group-hover\\:opacity-25{opacity:0.25}.group:hover .\\32xl\\:group-hover\\:opacity-30{opacity:0.3}.group:hover .\\32xl\\:group-hover\\:opacity-40{opacity:0.4}.group:hover .\\32xl\\:group-hover\\:opacity-50{opacity:0.5}.group:hover .\\32xl\\:group-hover\\:opacity-60{opacity:0.6}.group:hover .\\32xl\\:group-hover\\:opacity-70{opacity:0.7}.group:hover .\\32xl\\:group-hover\\:opacity-75{opacity:0.75}.group:hover .\\32xl\\:group-hover\\:opacity-80{opacity:0.8}.group:hover .\\32xl\\:group-hover\\:opacity-90{opacity:0.9}.group:hover .\\32xl\\:group-hover\\:opacity-95{opacity:0.95}.group:hover .\\32xl\\:group-hover\\:opacity-100{opacity:1}.\\32xl\\:focus-within\\:opacity-0:focus-within{opacity:0}.\\32xl\\:focus-within\\:opacity-5:focus-within{opacity:0.05}.\\32xl\\:focus-within\\:opacity-10:focus-within{opacity:0.1}.\\32xl\\:focus-within\\:opacity-20:focus-within{opacity:0.2}.\\32xl\\:focus-within\\:opacity-25:focus-within{opacity:0.25}.\\32xl\\:focus-within\\:opacity-30:focus-within{opacity:0.3}.\\32xl\\:focus-within\\:opacity-40:focus-within{opacity:0.4}.\\32xl\\:focus-within\\:opacity-50:focus-within{opacity:0.5}.\\32xl\\:focus-within\\:opacity-60:focus-within{opacity:0.6}.\\32xl\\:focus-within\\:opacity-70:focus-within{opacity:0.7}.\\32xl\\:focus-within\\:opacity-75:focus-within{opacity:0.75}.\\32xl\\:focus-within\\:opacity-80:focus-within{opacity:0.8}.\\32xl\\:focus-within\\:opacity-90:focus-within{opacity:0.9}.\\32xl\\:focus-within\\:opacity-95:focus-within{opacity:0.95}.\\32xl\\:focus-within\\:opacity-100:focus-within{opacity:1}.\\32xl\\:hover\\:opacity-0:hover{opacity:0}.\\32xl\\:hover\\:opacity-5:hover{opacity:0.05}.\\32xl\\:hover\\:opacity-10:hover{opacity:0.1}.\\32xl\\:hover\\:opacity-20:hover{opacity:0.2}.\\32xl\\:hover\\:opacity-25:hover{opacity:0.25}.\\32xl\\:hover\\:opacity-30:hover{opacity:0.3}.\\32xl\\:hover\\:opacity-40:hover{opacity:0.4}.\\32xl\\:hover\\:opacity-50:hover{opacity:0.5}.\\32xl\\:hover\\:opacity-60:hover{opacity:0.6}.\\32xl\\:hover\\:opacity-70:hover{opacity:0.7}.\\32xl\\:hover\\:opacity-75:hover{opacity:0.75}.\\32xl\\:hover\\:opacity-80:hover{opacity:0.8}.\\32xl\\:hover\\:opacity-90:hover{opacity:0.9}.\\32xl\\:hover\\:opacity-95:hover{opacity:0.95}.\\32xl\\:hover\\:opacity-100:hover{opacity:1}.\\32xl\\:focus\\:opacity-0:focus{opacity:0}.\\32xl\\:focus\\:opacity-5:focus{opacity:0.05}.\\32xl\\:focus\\:opacity-10:focus{opacity:0.1}.\\32xl\\:focus\\:opacity-20:focus{opacity:0.2}.\\32xl\\:focus\\:opacity-25:focus{opacity:0.25}.\\32xl\\:focus\\:opacity-30:focus{opacity:0.3}.\\32xl\\:focus\\:opacity-40:focus{opacity:0.4}.\\32xl\\:focus\\:opacity-50:focus{opacity:0.5}.\\32xl\\:focus\\:opacity-60:focus{opacity:0.6}.\\32xl\\:focus\\:opacity-70:focus{opacity:0.7}.\\32xl\\:focus\\:opacity-75:focus{opacity:0.75}.\\32xl\\:focus\\:opacity-80:focus{opacity:0.8}.\\32xl\\:focus\\:opacity-90:focus{opacity:0.9}.\\32xl\\:focus\\:opacity-95:focus{opacity:0.95}.\\32xl\\:focus\\:opacity-100:focus{opacity:1}.\\32xl\\:bg-blend-normal{background-blend-mode:normal}.\\32xl\\:bg-blend-multiply{background-blend-mode:multiply}.\\32xl\\:bg-blend-screen{background-blend-mode:screen}.\\32xl\\:bg-blend-overlay{background-blend-mode:overlay}.\\32xl\\:bg-blend-darken{background-blend-mode:darken}.\\32xl\\:bg-blend-lighten{background-blend-mode:lighten}.\\32xl\\:bg-blend-color-dodge{background-blend-mode:color-dodge}.\\32xl\\:bg-blend-color-burn{background-blend-mode:color-burn}.\\32xl\\:bg-blend-hard-light{background-blend-mode:hard-light}.\\32xl\\:bg-blend-soft-light{background-blend-mode:soft-light}.\\32xl\\:bg-blend-difference{background-blend-mode:difference}.\\32xl\\:bg-blend-exclusion{background-blend-mode:exclusion}.\\32xl\\:bg-blend-hue{background-blend-mode:hue}.\\32xl\\:bg-blend-saturation{background-blend-mode:saturation}.\\32xl\\:bg-blend-color{background-blend-mode:color}.\\32xl\\:bg-blend-luminosity{background-blend-mode:luminosity}.\\32xl\\:mix-blend-normal{mix-blend-mode:normal}.\\32xl\\:mix-blend-multiply{mix-blend-mode:multiply}.\\32xl\\:mix-blend-screen{mix-blend-mode:screen}.\\32xl\\:mix-blend-overlay{mix-blend-mode:overlay}.\\32xl\\:mix-blend-darken{mix-blend-mode:darken}.\\32xl\\:mix-blend-lighten{mix-blend-mode:lighten}.\\32xl\\:mix-blend-color-dodge{mix-blend-mode:color-dodge}.\\32xl\\:mix-blend-color-burn{mix-blend-mode:color-burn}.\\32xl\\:mix-blend-hard-light{mix-blend-mode:hard-light}.\\32xl\\:mix-blend-soft-light{mix-blend-mode:soft-light}.\\32xl\\:mix-blend-difference{mix-blend-mode:difference}.\\32xl\\:mix-blend-exclusion{mix-blend-mode:exclusion}.\\32xl\\:mix-blend-hue{mix-blend-mode:hue}.\\32xl\\:mix-blend-saturation{mix-blend-mode:saturation}.\\32xl\\:mix-blend-color{mix-blend-mode:color}.\\32xl\\:mix-blend-luminosity{mix-blend-mode:luminosity}.\\32xl\\:shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:shadow{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:shadow-md{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .\\32xl\\:group-hover\\:shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .\\32xl\\:group-hover\\:shadow{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .\\32xl\\:group-hover\\:shadow-md{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .\\32xl\\:group-hover\\:shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .\\32xl\\:group-hover\\:shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .\\32xl\\:group-hover\\:shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .\\32xl\\:group-hover\\:shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.group:hover .\\32xl\\:group-hover\\:shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:focus-within\\:shadow-sm:focus-within{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:focus-within\\:shadow:focus-within{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:focus-within\\:shadow-md:focus-within{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:focus-within\\:shadow-lg:focus-within{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:focus-within\\:shadow-xl:focus-within{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:focus-within\\:shadow-2xl:focus-within{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:focus-within\\:shadow-inner:focus-within{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:focus-within\\:shadow-none:focus-within{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:hover\\:shadow-sm:hover{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:hover\\:shadow:hover{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:hover\\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:hover\\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:hover\\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:hover\\:shadow-2xl:hover{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:hover\\:shadow-inner:hover{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:hover\\:shadow-none:hover{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:focus\\:shadow-sm:focus{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:focus\\:shadow:focus{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:focus\\:shadow-md:focus{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:focus\\:shadow-lg:focus{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:focus\\:shadow-xl:focus{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:focus\\:shadow-2xl:focus{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:focus\\:shadow-inner:focus{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:focus\\:shadow-none:focus{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.\\32xl\\:outline-none{outline:2px solid transparent;outline-offset:2px}.\\32xl\\:outline-white{outline:2px dotted white;outline-offset:2px}.\\32xl\\:outline-black{outline:2px dotted black;outline-offset:2px}.\\32xl\\:focus-within\\:outline-none:focus-within{outline:2px solid transparent;outline-offset:2px}.\\32xl\\:focus-within\\:outline-white:focus-within{outline:2px dotted white;outline-offset:2px}.\\32xl\\:focus-within\\:outline-black:focus-within{outline:2px dotted black;outline-offset:2px}.\\32xl\\:focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.\\32xl\\:focus\\:outline-white:focus{outline:2px dotted white;outline-offset:2px}.\\32xl\\:focus\\:outline-black:focus{outline:2px dotted black;outline-offset:2px}.\\32xl\\:ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.\\32xl\\:ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.\\32xl\\:ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.\\32xl\\:ring-4{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.\\32xl\\:ring-8{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.\\32xl\\:ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.\\32xl\\:focus-within\\:ring-0:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.\\32xl\\:focus-within\\:ring-1:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.\\32xl\\:focus-within\\:ring-2:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.\\32xl\\:focus-within\\:ring-4:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.\\32xl\\:focus-within\\:ring-8:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.\\32xl\\:focus-within\\:ring:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.\\32xl\\:focus\\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.\\32xl\\:focus\\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.\\32xl\\:focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.\\32xl\\:focus\\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.\\32xl\\:focus\\:ring-8:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.\\32xl\\:focus\\:ring:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.\\32xl\\:ring-inset{--tw-ring-inset:inset}.\\32xl\\:focus-within\\:ring-inset:focus-within{--tw-ring-inset:inset}.\\32xl\\:focus\\:ring-inset:focus{--tw-ring-inset:inset}.\\32xl\\:ring-transparent{--tw-ring-color:transparent}.\\32xl\\:ring-current{--tw-ring-color:currentColor}.\\32xl\\:ring-white{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.\\32xl\\:ring-lightgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.\\32xl\\:ring-midgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.\\32xl\\:ring-darkgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.\\32xl\\:ring-grey{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.\\32xl\\:ring-black{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.\\32xl\\:ring-highlight{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.\\32xl\\:ring-highlight_hover{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.\\32xl\\:ring-button_outline{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.\\32xl\\:ring-error{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.\\32xl\\:ring-text-light{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.\\32xl\\:ring-text-dimmed{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.\\32xl\\:ring-text-dark{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.\\32xl\\:ring-body-light{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.\\32xl\\:ring-body-dark{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.\\32xl\\:ring-button{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.\\32xl\\:ring-button_hover{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.\\32xl\\:focus-within\\:ring-transparent:focus-within{--tw-ring-color:transparent}.\\32xl\\:focus-within\\:ring-current:focus-within{--tw-ring-color:currentColor}.\\32xl\\:focus-within\\:ring-white:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.\\32xl\\:focus-within\\:ring-lightgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.\\32xl\\:focus-within\\:ring-midgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.\\32xl\\:focus-within\\:ring-darkgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.\\32xl\\:focus-within\\:ring-grey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.\\32xl\\:focus-within\\:ring-black:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.\\32xl\\:focus-within\\:ring-highlight:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.\\32xl\\:focus-within\\:ring-highlight_hover:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.\\32xl\\:focus-within\\:ring-button_outline:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.\\32xl\\:focus-within\\:ring-error:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.\\32xl\\:focus-within\\:ring-text-light:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.\\32xl\\:focus-within\\:ring-text-dimmed:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.\\32xl\\:focus-within\\:ring-text-dark:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.\\32xl\\:focus-within\\:ring-body-light:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.\\32xl\\:focus-within\\:ring-body-dark:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.\\32xl\\:focus-within\\:ring-button:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.\\32xl\\:focus-within\\:ring-button_hover:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.\\32xl\\:focus\\:ring-transparent:focus{--tw-ring-color:transparent}.\\32xl\\:focus\\:ring-current:focus{--tw-ring-color:currentColor}.\\32xl\\:focus\\:ring-white:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.\\32xl\\:focus\\:ring-lightgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.\\32xl\\:focus\\:ring-midgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.\\32xl\\:focus\\:ring-darkgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.\\32xl\\:focus\\:ring-grey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.\\32xl\\:focus\\:ring-black:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.\\32xl\\:focus\\:ring-highlight:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.\\32xl\\:focus\\:ring-highlight_hover:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.\\32xl\\:focus\\:ring-button_outline:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.\\32xl\\:focus\\:ring-error:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.\\32xl\\:focus\\:ring-text-light:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.\\32xl\\:focus\\:ring-text-dimmed:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.\\32xl\\:focus\\:ring-text-dark:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.\\32xl\\:focus\\:ring-body-light:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.\\32xl\\:focus\\:ring-body-dark:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.\\32xl\\:focus\\:ring-button:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.\\32xl\\:focus\\:ring-button_hover:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}@media(prefers-color-scheme: dark){.\\32xl\\:dark\\:ring-transparent{--tw-ring-color:transparent}.\\32xl\\:dark\\:ring-current{--tw-ring-color:currentColor}.\\32xl\\:dark\\:ring-white{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.\\32xl\\:dark\\:ring-lightgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.\\32xl\\:dark\\:ring-midgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.\\32xl\\:dark\\:ring-darkgrey{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.\\32xl\\:dark\\:ring-grey{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.\\32xl\\:dark\\:ring-black{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.\\32xl\\:dark\\:ring-highlight{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.\\32xl\\:dark\\:ring-highlight_hover{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.\\32xl\\:dark\\:ring-button_outline{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.\\32xl\\:dark\\:ring-error{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.\\32xl\\:dark\\:ring-text-light{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.\\32xl\\:dark\\:ring-text-dimmed{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.\\32xl\\:dark\\:ring-text-dark{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.\\32xl\\:dark\\:ring-body-light{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.\\32xl\\:dark\\:ring-body-dark{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.\\32xl\\:dark\\:ring-button{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.\\32xl\\:dark\\:ring-button_hover{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus-within\\:ring-transparent:focus-within{--tw-ring-color:transparent}.\\32xl\\:dark\\:focus-within\\:ring-current:focus-within{--tw-ring-color:currentColor}.\\32xl\\:dark\\:focus-within\\:ring-white:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus-within\\:ring-lightgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus-within\\:ring-midgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus-within\\:ring-darkgrey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus-within\\:ring-grey:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus-within\\:ring-black:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus-within\\:ring-highlight:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus-within\\:ring-highlight_hover:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus-within\\:ring-button_outline:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus-within\\:ring-error:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus-within\\:ring-text-light:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus-within\\:ring-text-dimmed:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus-within\\:ring-text-dark:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus-within\\:ring-body-light:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus-within\\:ring-body-dark:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus-within\\:ring-button:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus-within\\:ring-button_hover:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus\\:ring-transparent:focus{--tw-ring-color:transparent}.\\32xl\\:dark\\:focus\\:ring-current:focus{--tw-ring-color:currentColor}.\\32xl\\:dark\\:focus\\:ring-white:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus\\:ring-lightgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(247, 247, 247, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus\\:ring-midgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus\\:ring-darkgrey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 127, 127, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus\\:ring-grey:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus\\:ring-black:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus\\:ring-highlight:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus\\:ring-highlight_hover:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus\\:ring-button_outline:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus\\:ring-error:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 69, 58, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus\\:ring-text-light:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(15, 15, 15, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus\\:ring-text-dimmed:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(207, 207, 207, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus\\:ring-text-dark:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus\\:ring-body-light:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus\\:ring-body-dark:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 30, 30, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus\\:ring-button:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 113, 227, var(--tw-ring-opacity))}.\\32xl\\:dark\\:focus\\:ring-button_hover:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 119, 237, var(--tw-ring-opacity))}}.\\32xl\\:ring-opacity-0{--tw-ring-opacity:0}.\\32xl\\:ring-opacity-5{--tw-ring-opacity:0.05}.\\32xl\\:ring-opacity-10{--tw-ring-opacity:0.1}.\\32xl\\:ring-opacity-20{--tw-ring-opacity:0.2}.\\32xl\\:ring-opacity-25{--tw-ring-opacity:0.25}.\\32xl\\:ring-opacity-30{--tw-ring-opacity:0.3}.\\32xl\\:ring-opacity-40{--tw-ring-opacity:0.4}.\\32xl\\:ring-opacity-50{--tw-ring-opacity:0.5}.\\32xl\\:ring-opacity-60{--tw-ring-opacity:0.6}.\\32xl\\:ring-opacity-70{--tw-ring-opacity:0.7}.\\32xl\\:ring-opacity-75{--tw-ring-opacity:0.75}.\\32xl\\:ring-opacity-80{--tw-ring-opacity:0.8}.\\32xl\\:ring-opacity-90{--tw-ring-opacity:0.9}.\\32xl\\:ring-opacity-95{--tw-ring-opacity:0.95}.\\32xl\\:ring-opacity-100{--tw-ring-opacity:1}.\\32xl\\:focus-within\\:ring-opacity-0:focus-within{--tw-ring-opacity:0}.\\32xl\\:focus-within\\:ring-opacity-5:focus-within{--tw-ring-opacity:0.05}.\\32xl\\:focus-within\\:ring-opacity-10:focus-within{--tw-ring-opacity:0.1}.\\32xl\\:focus-within\\:ring-opacity-20:focus-within{--tw-ring-opacity:0.2}.\\32xl\\:focus-within\\:ring-opacity-25:focus-within{--tw-ring-opacity:0.25}.\\32xl\\:focus-within\\:ring-opacity-30:focus-within{--tw-ring-opacity:0.3}.\\32xl\\:focus-within\\:ring-opacity-40:focus-within{--tw-ring-opacity:0.4}.\\32xl\\:focus-within\\:ring-opacity-50:focus-within{--tw-ring-opacity:0.5}.\\32xl\\:focus-within\\:ring-opacity-60:focus-within{--tw-ring-opacity:0.6}.\\32xl\\:focus-within\\:ring-opacity-70:focus-within{--tw-ring-opacity:0.7}.\\32xl\\:focus-within\\:ring-opacity-75:focus-within{--tw-ring-opacity:0.75}.\\32xl\\:focus-within\\:ring-opacity-80:focus-within{--tw-ring-opacity:0.8}.\\32xl\\:focus-within\\:ring-opacity-90:focus-within{--tw-ring-opacity:0.9}.\\32xl\\:focus-within\\:ring-opacity-95:focus-within{--tw-ring-opacity:0.95}.\\32xl\\:focus-within\\:ring-opacity-100:focus-within{--tw-ring-opacity:1}.\\32xl\\:focus\\:ring-opacity-0:focus{--tw-ring-opacity:0}.\\32xl\\:focus\\:ring-opacity-5:focus{--tw-ring-opacity:0.05}.\\32xl\\:focus\\:ring-opacity-10:focus{--tw-ring-opacity:0.1}.\\32xl\\:focus\\:ring-opacity-20:focus{--tw-ring-opacity:0.2}.\\32xl\\:focus\\:ring-opacity-25:focus{--tw-ring-opacity:0.25}.\\32xl\\:focus\\:ring-opacity-30:focus{--tw-ring-opacity:0.3}.\\32xl\\:focus\\:ring-opacity-40:focus{--tw-ring-opacity:0.4}.\\32xl\\:focus\\:ring-opacity-50:focus{--tw-ring-opacity:0.5}.\\32xl\\:focus\\:ring-opacity-60:focus{--tw-ring-opacity:0.6}.\\32xl\\:focus\\:ring-opacity-70:focus{--tw-ring-opacity:0.7}.\\32xl\\:focus\\:ring-opacity-75:focus{--tw-ring-opacity:0.75}.\\32xl\\:focus\\:ring-opacity-80:focus{--tw-ring-opacity:0.8}.\\32xl\\:focus\\:ring-opacity-90:focus{--tw-ring-opacity:0.9}.\\32xl\\:focus\\:ring-opacity-95:focus{--tw-ring-opacity:0.95}.\\32xl\\:focus\\:ring-opacity-100:focus{--tw-ring-opacity:1}@media(prefers-color-scheme: dark){.\\32xl\\:dark\\:ring-opacity-0{--tw-ring-opacity:0}.\\32xl\\:dark\\:ring-opacity-5{--tw-ring-opacity:0.05}.\\32xl\\:dark\\:ring-opacity-10{--tw-ring-opacity:0.1}.\\32xl\\:dark\\:ring-opacity-20{--tw-ring-opacity:0.2}.\\32xl\\:dark\\:ring-opacity-25{--tw-ring-opacity:0.25}.\\32xl\\:dark\\:ring-opacity-30{--tw-ring-opacity:0.3}.\\32xl\\:dark\\:ring-opacity-40{--tw-ring-opacity:0.4}.\\32xl\\:dark\\:ring-opacity-50{--tw-ring-opacity:0.5}.\\32xl\\:dark\\:ring-opacity-60{--tw-ring-opacity:0.6}.\\32xl\\:dark\\:ring-opacity-70{--tw-ring-opacity:0.7}.\\32xl\\:dark\\:ring-opacity-75{--tw-ring-opacity:0.75}.\\32xl\\:dark\\:ring-opacity-80{--tw-ring-opacity:0.8}.\\32xl\\:dark\\:ring-opacity-90{--tw-ring-opacity:0.9}.\\32xl\\:dark\\:ring-opacity-95{--tw-ring-opacity:0.95}.\\32xl\\:dark\\:ring-opacity-100{--tw-ring-opacity:1}.\\32xl\\:dark\\:focus-within\\:ring-opacity-0:focus-within{--tw-ring-opacity:0}.\\32xl\\:dark\\:focus-within\\:ring-opacity-5:focus-within{--tw-ring-opacity:0.05}.\\32xl\\:dark\\:focus-within\\:ring-opacity-10:focus-within{--tw-ring-opacity:0.1}.\\32xl\\:dark\\:focus-within\\:ring-opacity-20:focus-within{--tw-ring-opacity:0.2}.\\32xl\\:dark\\:focus-within\\:ring-opacity-25:focus-within{--tw-ring-opacity:0.25}.\\32xl\\:dark\\:focus-within\\:ring-opacity-30:focus-within{--tw-ring-opacity:0.3}.\\32xl\\:dark\\:focus-within\\:ring-opacity-40:focus-within{--tw-ring-opacity:0.4}.\\32xl\\:dark\\:focus-within\\:ring-opacity-50:focus-within{--tw-ring-opacity:0.5}.\\32xl\\:dark\\:focus-within\\:ring-opacity-60:focus-within{--tw-ring-opacity:0.6}.\\32xl\\:dark\\:focus-within\\:ring-opacity-70:focus-within{--tw-ring-opacity:0.7}.\\32xl\\:dark\\:focus-within\\:ring-opacity-75:focus-within{--tw-ring-opacity:0.75}.\\32xl\\:dark\\:focus-within\\:ring-opacity-80:focus-within{--tw-ring-opacity:0.8}.\\32xl\\:dark\\:focus-within\\:ring-opacity-90:focus-within{--tw-ring-opacity:0.9}.\\32xl\\:dark\\:focus-within\\:ring-opacity-95:focus-within{--tw-ring-opacity:0.95}.\\32xl\\:dark\\:focus-within\\:ring-opacity-100:focus-within{--tw-ring-opacity:1}.\\32xl\\:dark\\:focus\\:ring-opacity-0:focus{--tw-ring-opacity:0}.\\32xl\\:dark\\:focus\\:ring-opacity-5:focus{--tw-ring-opacity:0.05}.\\32xl\\:dark\\:focus\\:ring-opacity-10:focus{--tw-ring-opacity:0.1}.\\32xl\\:dark\\:focus\\:ring-opacity-20:focus{--tw-ring-opacity:0.2}.\\32xl\\:dark\\:focus\\:ring-opacity-25:focus{--tw-ring-opacity:0.25}.\\32xl\\:dark\\:focus\\:ring-opacity-30:focus{--tw-ring-opacity:0.3}.\\32xl\\:dark\\:focus\\:ring-opacity-40:focus{--tw-ring-opacity:0.4}.\\32xl\\:dark\\:focus\\:ring-opacity-50:focus{--tw-ring-opacity:0.5}.\\32xl\\:dark\\:focus\\:ring-opacity-60:focus{--tw-ring-opacity:0.6}.\\32xl\\:dark\\:focus\\:ring-opacity-70:focus{--tw-ring-opacity:0.7}.\\32xl\\:dark\\:focus\\:ring-opacity-75:focus{--tw-ring-opacity:0.75}.\\32xl\\:dark\\:focus\\:ring-opacity-80:focus{--tw-ring-opacity:0.8}.\\32xl\\:dark\\:focus\\:ring-opacity-90:focus{--tw-ring-opacity:0.9}.\\32xl\\:dark\\:focus\\:ring-opacity-95:focus{--tw-ring-opacity:0.95}.\\32xl\\:dark\\:focus\\:ring-opacity-100:focus{--tw-ring-opacity:1}}.\\32xl\\:ring-offset-0{--tw-ring-offset-width:0px}.\\32xl\\:ring-offset-1{--tw-ring-offset-width:1px}.\\32xl\\:ring-offset-2{--tw-ring-offset-width:2px}.\\32xl\\:ring-offset-4{--tw-ring-offset-width:4px}.\\32xl\\:ring-offset-8{--tw-ring-offset-width:8px}.\\32xl\\:focus-within\\:ring-offset-0:focus-within{--tw-ring-offset-width:0px}.\\32xl\\:focus-within\\:ring-offset-1:focus-within{--tw-ring-offset-width:1px}.\\32xl\\:focus-within\\:ring-offset-2:focus-within{--tw-ring-offset-width:2px}.\\32xl\\:focus-within\\:ring-offset-4:focus-within{--tw-ring-offset-width:4px}.\\32xl\\:focus-within\\:ring-offset-8:focus-within{--tw-ring-offset-width:8px}.\\32xl\\:focus\\:ring-offset-0:focus{--tw-ring-offset-width:0px}.\\32xl\\:focus\\:ring-offset-1:focus{--tw-ring-offset-width:1px}.\\32xl\\:focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}.\\32xl\\:focus\\:ring-offset-4:focus{--tw-ring-offset-width:4px}.\\32xl\\:focus\\:ring-offset-8:focus{--tw-ring-offset-width:8px}.\\32xl\\:ring-offset-transparent{--tw-ring-offset-color:transparent}.\\32xl\\:ring-offset-current{--tw-ring-offset-color:currentColor}.\\32xl\\:ring-offset-white{--tw-ring-offset-color:#fff}.\\32xl\\:ring-offset-lightgrey{--tw-ring-offset-color:#F7F7F7}.\\32xl\\:ring-offset-midgrey{--tw-ring-offset-color:#cfcfcf}.\\32xl\\:ring-offset-darkgrey{--tw-ring-offset-color:#7f7f7f}.\\32xl\\:ring-offset-grey{--tw-ring-offset-color:#1e1e1e}.\\32xl\\:ring-offset-black{--tw-ring-offset-color:#0f0f0f}.\\32xl\\:ring-offset-highlight{--tw-ring-offset-color:#0071e3}.\\32xl\\:ring-offset-highlight_hover{--tw-ring-offset-color:#0077ed}.\\32xl\\:ring-offset-button_outline{--tw-ring-offset-color:#cfcfcf}.\\32xl\\:ring-offset-error{--tw-ring-offset-color:#ff453a}.\\32xl\\:ring-offset-text-light{--tw-ring-offset-color:#0f0f0f}.\\32xl\\:ring-offset-text-dimmed{--tw-ring-offset-color:#cfcfcf}.\\32xl\\:ring-offset-text-dark{--tw-ring-offset-color:#fff}.\\32xl\\:ring-offset-body-light{--tw-ring-offset-color:#fff}.\\32xl\\:ring-offset-body-dark{--tw-ring-offset-color:#1e1e1e}.\\32xl\\:ring-offset-button{--tw-ring-offset-color:#0071e3}.\\32xl\\:ring-offset-button_hover{--tw-ring-offset-color:#0077ed}.\\32xl\\:focus-within\\:ring-offset-transparent:focus-within{--tw-ring-offset-color:transparent}.\\32xl\\:focus-within\\:ring-offset-current:focus-within{--tw-ring-offset-color:currentColor}.\\32xl\\:focus-within\\:ring-offset-white:focus-within{--tw-ring-offset-color:#fff}.\\32xl\\:focus-within\\:ring-offset-lightgrey:focus-within{--tw-ring-offset-color:#F7F7F7}.\\32xl\\:focus-within\\:ring-offset-midgrey:focus-within{--tw-ring-offset-color:#cfcfcf}.\\32xl\\:focus-within\\:ring-offset-darkgrey:focus-within{--tw-ring-offset-color:#7f7f7f}.\\32xl\\:focus-within\\:ring-offset-grey:focus-within{--tw-ring-offset-color:#1e1e1e}.\\32xl\\:focus-within\\:ring-offset-black:focus-within{--tw-ring-offset-color:#0f0f0f}.\\32xl\\:focus-within\\:ring-offset-highlight:focus-within{--tw-ring-offset-color:#0071e3}.\\32xl\\:focus-within\\:ring-offset-highlight_hover:focus-within{--tw-ring-offset-color:#0077ed}.\\32xl\\:focus-within\\:ring-offset-button_outline:focus-within{--tw-ring-offset-color:#cfcfcf}.\\32xl\\:focus-within\\:ring-offset-error:focus-within{--tw-ring-offset-color:#ff453a}.\\32xl\\:focus-within\\:ring-offset-text-light:focus-within{--tw-ring-offset-color:#0f0f0f}.\\32xl\\:focus-within\\:ring-offset-text-dimmed:focus-within{--tw-ring-offset-color:#cfcfcf}.\\32xl\\:focus-within\\:ring-offset-text-dark:focus-within{--tw-ring-offset-color:#fff}.\\32xl\\:focus-within\\:ring-offset-body-light:focus-within{--tw-ring-offset-color:#fff}.\\32xl\\:focus-within\\:ring-offset-body-dark:focus-within{--tw-ring-offset-color:#1e1e1e}.\\32xl\\:focus-within\\:ring-offset-button:focus-within{--tw-ring-offset-color:#0071e3}.\\32xl\\:focus-within\\:ring-offset-button_hover:focus-within{--tw-ring-offset-color:#0077ed}.\\32xl\\:focus\\:ring-offset-transparent:focus{--tw-ring-offset-color:transparent}.\\32xl\\:focus\\:ring-offset-current:focus{--tw-ring-offset-color:currentColor}.\\32xl\\:focus\\:ring-offset-white:focus{--tw-ring-offset-color:#fff}.\\32xl\\:focus\\:ring-offset-lightgrey:focus{--tw-ring-offset-color:#F7F7F7}.\\32xl\\:focus\\:ring-offset-midgrey:focus{--tw-ring-offset-color:#cfcfcf}.\\32xl\\:focus\\:ring-offset-darkgrey:focus{--tw-ring-offset-color:#7f7f7f}.\\32xl\\:focus\\:ring-offset-grey:focus{--tw-ring-offset-color:#1e1e1e}.\\32xl\\:focus\\:ring-offset-black:focus{--tw-ring-offset-color:#0f0f0f}.\\32xl\\:focus\\:ring-offset-highlight:focus{--tw-ring-offset-color:#0071e3}.\\32xl\\:focus\\:ring-offset-highlight_hover:focus{--tw-ring-offset-color:#0077ed}.\\32xl\\:focus\\:ring-offset-button_outline:focus{--tw-ring-offset-color:#cfcfcf}.\\32xl\\:focus\\:ring-offset-error:focus{--tw-ring-offset-color:#ff453a}.\\32xl\\:focus\\:ring-offset-text-light:focus{--tw-ring-offset-color:#0f0f0f}.\\32xl\\:focus\\:ring-offset-text-dimmed:focus{--tw-ring-offset-color:#cfcfcf}.\\32xl\\:focus\\:ring-offset-text-dark:focus{--tw-ring-offset-color:#fff}.\\32xl\\:focus\\:ring-offset-body-light:focus{--tw-ring-offset-color:#fff}.\\32xl\\:focus\\:ring-offset-body-dark:focus{--tw-ring-offset-color:#1e1e1e}.\\32xl\\:focus\\:ring-offset-button:focus{--tw-ring-offset-color:#0071e3}.\\32xl\\:focus\\:ring-offset-button_hover:focus{--tw-ring-offset-color:#0077ed}@media(prefers-color-scheme: dark){.\\32xl\\:dark\\:ring-offset-transparent{--tw-ring-offset-color:transparent}.\\32xl\\:dark\\:ring-offset-current{--tw-ring-offset-color:currentColor}.\\32xl\\:dark\\:ring-offset-white{--tw-ring-offset-color:#fff}.\\32xl\\:dark\\:ring-offset-lightgrey{--tw-ring-offset-color:#F7F7F7}.\\32xl\\:dark\\:ring-offset-midgrey{--tw-ring-offset-color:#cfcfcf}.\\32xl\\:dark\\:ring-offset-darkgrey{--tw-ring-offset-color:#7f7f7f}.\\32xl\\:dark\\:ring-offset-grey{--tw-ring-offset-color:#1e1e1e}.\\32xl\\:dark\\:ring-offset-black{--tw-ring-offset-color:#0f0f0f}.\\32xl\\:dark\\:ring-offset-highlight{--tw-ring-offset-color:#0071e3}.\\32xl\\:dark\\:ring-offset-highlight_hover{--tw-ring-offset-color:#0077ed}.\\32xl\\:dark\\:ring-offset-button_outline{--tw-ring-offset-color:#cfcfcf}.\\32xl\\:dark\\:ring-offset-error{--tw-ring-offset-color:#ff453a}.\\32xl\\:dark\\:ring-offset-text-light{--tw-ring-offset-color:#0f0f0f}.\\32xl\\:dark\\:ring-offset-text-dimmed{--tw-ring-offset-color:#cfcfcf}.\\32xl\\:dark\\:ring-offset-text-dark{--tw-ring-offset-color:#fff}.\\32xl\\:dark\\:ring-offset-body-light{--tw-ring-offset-color:#fff}.\\32xl\\:dark\\:ring-offset-body-dark{--tw-ring-offset-color:#1e1e1e}.\\32xl\\:dark\\:ring-offset-button{--tw-ring-offset-color:#0071e3}.\\32xl\\:dark\\:ring-offset-button_hover{--tw-ring-offset-color:#0077ed}.\\32xl\\:dark\\:focus-within\\:ring-offset-transparent:focus-within{--tw-ring-offset-color:transparent}.\\32xl\\:dark\\:focus-within\\:ring-offset-current:focus-within{--tw-ring-offset-color:currentColor}.\\32xl\\:dark\\:focus-within\\:ring-offset-white:focus-within{--tw-ring-offset-color:#fff}.\\32xl\\:dark\\:focus-within\\:ring-offset-lightgrey:focus-within{--tw-ring-offset-color:#F7F7F7}.\\32xl\\:dark\\:focus-within\\:ring-offset-midgrey:focus-within{--tw-ring-offset-color:#cfcfcf}.\\32xl\\:dark\\:focus-within\\:ring-offset-darkgrey:focus-within{--tw-ring-offset-color:#7f7f7f}.\\32xl\\:dark\\:focus-within\\:ring-offset-grey:focus-within{--tw-ring-offset-color:#1e1e1e}.\\32xl\\:dark\\:focus-within\\:ring-offset-black:focus-within{--tw-ring-offset-color:#0f0f0f}.\\32xl\\:dark\\:focus-within\\:ring-offset-highlight:focus-within{--tw-ring-offset-color:#0071e3}.\\32xl\\:dark\\:focus-within\\:ring-offset-highlight_hover:focus-within{--tw-ring-offset-color:#0077ed}.\\32xl\\:dark\\:focus-within\\:ring-offset-button_outline:focus-within{--tw-ring-offset-color:#cfcfcf}.\\32xl\\:dark\\:focus-within\\:ring-offset-error:focus-within{--tw-ring-offset-color:#ff453a}.\\32xl\\:dark\\:focus-within\\:ring-offset-text-light:focus-within{--tw-ring-offset-color:#0f0f0f}.\\32xl\\:dark\\:focus-within\\:ring-offset-text-dimmed:focus-within{--tw-ring-offset-color:#cfcfcf}.\\32xl\\:dark\\:focus-within\\:ring-offset-text-dark:focus-within{--tw-ring-offset-color:#fff}.\\32xl\\:dark\\:focus-within\\:ring-offset-body-light:focus-within{--tw-ring-offset-color:#fff}.\\32xl\\:dark\\:focus-within\\:ring-offset-body-dark:focus-within{--tw-ring-offset-color:#1e1e1e}.\\32xl\\:dark\\:focus-within\\:ring-offset-button:focus-within{--tw-ring-offset-color:#0071e3}.\\32xl\\:dark\\:focus-within\\:ring-offset-button_hover:focus-within{--tw-ring-offset-color:#0077ed}.\\32xl\\:dark\\:focus\\:ring-offset-transparent:focus{--tw-ring-offset-color:transparent}.\\32xl\\:dark\\:focus\\:ring-offset-current:focus{--tw-ring-offset-color:currentColor}.\\32xl\\:dark\\:focus\\:ring-offset-white:focus{--tw-ring-offset-color:#fff}.\\32xl\\:dark\\:focus\\:ring-offset-lightgrey:focus{--tw-ring-offset-color:#F7F7F7}.\\32xl\\:dark\\:focus\\:ring-offset-midgrey:focus{--tw-ring-offset-color:#cfcfcf}.\\32xl\\:dark\\:focus\\:ring-offset-darkgrey:focus{--tw-ring-offset-color:#7f7f7f}.\\32xl\\:dark\\:focus\\:ring-offset-grey:focus{--tw-ring-offset-color:#1e1e1e}.\\32xl\\:dark\\:focus\\:ring-offset-black:focus{--tw-ring-offset-color:#0f0f0f}.\\32xl\\:dark\\:focus\\:ring-offset-highlight:focus{--tw-ring-offset-color:#0071e3}.\\32xl\\:dark\\:focus\\:ring-offset-highlight_hover:focus{--tw-ring-offset-color:#0077ed}.\\32xl\\:dark\\:focus\\:ring-offset-button_outline:focus{--tw-ring-offset-color:#cfcfcf}.\\32xl\\:dark\\:focus\\:ring-offset-error:focus{--tw-ring-offset-color:#ff453a}.\\32xl\\:dark\\:focus\\:ring-offset-text-light:focus{--tw-ring-offset-color:#0f0f0f}.\\32xl\\:dark\\:focus\\:ring-offset-text-dimmed:focus{--tw-ring-offset-color:#cfcfcf}.\\32xl\\:dark\\:focus\\:ring-offset-text-dark:focus{--tw-ring-offset-color:#fff}.\\32xl\\:dark\\:focus\\:ring-offset-body-light:focus{--tw-ring-offset-color:#fff}.\\32xl\\:dark\\:focus\\:ring-offset-body-dark:focus{--tw-ring-offset-color:#1e1e1e}.\\32xl\\:dark\\:focus\\:ring-offset-button:focus{--tw-ring-offset-color:#0071e3}.\\32xl\\:dark\\:focus\\:ring-offset-button_hover:focus{--tw-ring-offset-color:#0077ed}}.\\32xl\\:filter{--tw-blur:var(--tw-empty,/*!*/ /*!*/);--tw-brightness:var(--tw-empty,/*!*/ /*!*/);--tw-contrast:var(--tw-empty,/*!*/ /*!*/);--tw-grayscale:var(--tw-empty,/*!*/ /*!*/);--tw-hue-rotate:var(--tw-empty,/*!*/ /*!*/);--tw-invert:var(--tw-empty,/*!*/ /*!*/);--tw-saturate:var(--tw-empty,/*!*/ /*!*/);--tw-sepia:var(--tw-empty,/*!*/ /*!*/);--tw-drop-shadow:var(--tw-empty,/*!*/ /*!*/);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.\\32xl\\:filter-none{filter:none}.\\32xl\\:blur-0{--tw-blur:blur(0)}.\\32xl\\:blur-none{--tw-blur:blur(0)}.\\32xl\\:blur-sm{--tw-blur:blur(4px)}.\\32xl\\:blur{--tw-blur:blur(8px)}.\\32xl\\:blur-md{--tw-blur:blur(12px)}.\\32xl\\:blur-lg{--tw-blur:blur(16px)}.\\32xl\\:blur-xl{--tw-blur:blur(24px)}.\\32xl\\:blur-2xl{--tw-blur:blur(40px)}.\\32xl\\:blur-3xl{--tw-blur:blur(64px)}.\\32xl\\:brightness-0{--tw-brightness:brightness(0)}.\\32xl\\:brightness-50{--tw-brightness:brightness(.5)}.\\32xl\\:brightness-75{--tw-brightness:brightness(.75)}.\\32xl\\:brightness-90{--tw-brightness:brightness(.9)}.\\32xl\\:brightness-95{--tw-brightness:brightness(.95)}.\\32xl\\:brightness-100{--tw-brightness:brightness(1)}.\\32xl\\:brightness-105{--tw-brightness:brightness(1.05)}.\\32xl\\:brightness-110{--tw-brightness:brightness(1.1)}.\\32xl\\:brightness-125{--tw-brightness:brightness(1.25)}.\\32xl\\:brightness-150{--tw-brightness:brightness(1.5)}.\\32xl\\:brightness-200{--tw-brightness:brightness(2)}.\\32xl\\:contrast-0{--tw-contrast:contrast(0)}.\\32xl\\:contrast-50{--tw-contrast:contrast(.5)}.\\32xl\\:contrast-75{--tw-contrast:contrast(.75)}.\\32xl\\:contrast-100{--tw-contrast:contrast(1)}.\\32xl\\:contrast-125{--tw-contrast:contrast(1.25)}.\\32xl\\:contrast-150{--tw-contrast:contrast(1.5)}.\\32xl\\:contrast-200{--tw-contrast:contrast(2)}.\\32xl\\:drop-shadow-sm{--tw-drop-shadow:drop-shadow(0 1px 1px rgba(0,0,0,0.05))}.\\32xl\\:drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1)) drop-shadow(0 1px 1px rgba(0, 0, 0, 0.06))}.\\32xl\\:drop-shadow-md{--tw-drop-shadow:drop-shadow(0 4px 3px rgba(0, 0, 0, 0.07)) drop-shadow(0 2px 2px rgba(0, 0, 0, 0.06))}.\\32xl\\:drop-shadow-lg{--tw-drop-shadow:drop-shadow(0 10px 8px rgba(0, 0, 0, 0.04)) drop-shadow(0 4px 3px rgba(0, 0, 0, 0.1))}.\\32xl\\:drop-shadow-xl{--tw-drop-shadow:drop-shadow(0 20px 13px rgba(0, 0, 0, 0.03)) drop-shadow(0 8px 5px rgba(0, 0, 0, 0.08))}.\\32xl\\:drop-shadow-2xl{--tw-drop-shadow:drop-shadow(0 25px 25px rgba(0, 0, 0, 0.15))}.\\32xl\\:drop-shadow-none{--tw-drop-shadow:drop-shadow(0 0 #0000)}.\\32xl\\:grayscale-0{--tw-grayscale:grayscale(0)}.\\32xl\\:grayscale{--tw-grayscale:grayscale(100%)}.\\32xl\\:hue-rotate-0{--tw-hue-rotate:hue-rotate(0deg)}.\\32xl\\:hue-rotate-15{--tw-hue-rotate:hue-rotate(15deg)}.\\32xl\\:hue-rotate-30{--tw-hue-rotate:hue-rotate(30deg)}.\\32xl\\:hue-rotate-60{--tw-hue-rotate:hue-rotate(60deg)}.\\32xl\\:hue-rotate-90{--tw-hue-rotate:hue-rotate(90deg)}.\\32xl\\:hue-rotate-180{--tw-hue-rotate:hue-rotate(180deg)}.\\32xl\\:-hue-rotate-180{--tw-hue-rotate:hue-rotate(-180deg)}.\\32xl\\:-hue-rotate-90{--tw-hue-rotate:hue-rotate(-90deg)}.\\32xl\\:-hue-rotate-60{--tw-hue-rotate:hue-rotate(-60deg)}.\\32xl\\:-hue-rotate-30{--tw-hue-rotate:hue-rotate(-30deg)}.\\32xl\\:-hue-rotate-15{--tw-hue-rotate:hue-rotate(-15deg)}.\\32xl\\:invert-0{--tw-invert:invert(0)}.\\32xl\\:invert{--tw-invert:invert(100%)}.\\32xl\\:saturate-0{--tw-saturate:saturate(0)}.\\32xl\\:saturate-50{--tw-saturate:saturate(.5)}.\\32xl\\:saturate-100{--tw-saturate:saturate(1)}.\\32xl\\:saturate-150{--tw-saturate:saturate(1.5)}.\\32xl\\:saturate-200{--tw-saturate:saturate(2)}.\\32xl\\:sepia-0{--tw-sepia:sepia(0)}.\\32xl\\:sepia{--tw-sepia:sepia(100%)}.\\32xl\\:backdrop-filter{--tw-backdrop-blur:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-brightness:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-contrast:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-grayscale:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-hue-rotate:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-invert:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-opacity:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-saturate:var(--tw-empty,/*!*/ /*!*/);--tw-backdrop-sepia:var(--tw-empty,/*!*/ /*!*/);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.\\32xl\\:backdrop-filter-none{backdrop-filter:none}.\\32xl\\:backdrop-blur-0{--tw-backdrop-blur:blur(0)}.\\32xl\\:backdrop-blur-none{--tw-backdrop-blur:blur(0)}.\\32xl\\:backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.\\32xl\\:backdrop-blur{--tw-backdrop-blur:blur(8px)}.\\32xl\\:backdrop-blur-md{--tw-backdrop-blur:blur(12px)}.\\32xl\\:backdrop-blur-lg{--tw-backdrop-blur:blur(16px)}.\\32xl\\:backdrop-blur-xl{--tw-backdrop-blur:blur(24px)}.\\32xl\\:backdrop-blur-2xl{--tw-backdrop-blur:blur(40px)}.\\32xl\\:backdrop-blur-3xl{--tw-backdrop-blur:blur(64px)}.\\32xl\\:backdrop-brightness-0{--tw-backdrop-brightness:brightness(0)}.\\32xl\\:backdrop-brightness-50{--tw-backdrop-brightness:brightness(.5)}.\\32xl\\:backdrop-brightness-75{--tw-backdrop-brightness:brightness(.75)}.\\32xl\\:backdrop-brightness-90{--tw-backdrop-brightness:brightness(.9)}.\\32xl\\:backdrop-brightness-95{--tw-backdrop-brightness:brightness(.95)}.\\32xl\\:backdrop-brightness-100{--tw-backdrop-brightness:brightness(1)}.\\32xl\\:backdrop-brightness-105{--tw-backdrop-brightness:brightness(1.05)}.\\32xl\\:backdrop-brightness-110{--tw-backdrop-brightness:brightness(1.1)}.\\32xl\\:backdrop-brightness-125{--tw-backdrop-brightness:brightness(1.25)}.\\32xl\\:backdrop-brightness-150{--tw-backdrop-brightness:brightness(1.5)}.\\32xl\\:backdrop-brightness-200{--tw-backdrop-brightness:brightness(2)}.\\32xl\\:backdrop-contrast-0{--tw-backdrop-contrast:contrast(0)}.\\32xl\\:backdrop-contrast-50{--tw-backdrop-contrast:contrast(.5)}.\\32xl\\:backdrop-contrast-75{--tw-backdrop-contrast:contrast(.75)}.\\32xl\\:backdrop-contrast-100{--tw-backdrop-contrast:contrast(1)}.\\32xl\\:backdrop-contrast-125{--tw-backdrop-contrast:contrast(1.25)}.\\32xl\\:backdrop-contrast-150{--tw-backdrop-contrast:contrast(1.5)}.\\32xl\\:backdrop-contrast-200{--tw-backdrop-contrast:contrast(2)}.\\32xl\\:backdrop-grayscale-0{--tw-backdrop-grayscale:grayscale(0)}.\\32xl\\:backdrop-grayscale{--tw-backdrop-grayscale:grayscale(100%)}.\\32xl\\:backdrop-hue-rotate-0{--tw-backdrop-hue-rotate:hue-rotate(0deg)}.\\32xl\\:backdrop-hue-rotate-15{--tw-backdrop-hue-rotate:hue-rotate(15deg)}.\\32xl\\:backdrop-hue-rotate-30{--tw-backdrop-hue-rotate:hue-rotate(30deg)}.\\32xl\\:backdrop-hue-rotate-60{--tw-backdrop-hue-rotate:hue-rotate(60deg)}.\\32xl\\:backdrop-hue-rotate-90{--tw-backdrop-hue-rotate:hue-rotate(90deg)}.\\32xl\\:backdrop-hue-rotate-180{--tw-backdrop-hue-rotate:hue-rotate(180deg)}.\\32xl\\:-backdrop-hue-rotate-180{--tw-backdrop-hue-rotate:hue-rotate(-180deg)}.\\32xl\\:-backdrop-hue-rotate-90{--tw-backdrop-hue-rotate:hue-rotate(-90deg)}.\\32xl\\:-backdrop-hue-rotate-60{--tw-backdrop-hue-rotate:hue-rotate(-60deg)}.\\32xl\\:-backdrop-hue-rotate-30{--tw-backdrop-hue-rotate:hue-rotate(-30deg)}.\\32xl\\:-backdrop-hue-rotate-15{--tw-backdrop-hue-rotate:hue-rotate(-15deg)}.\\32xl\\:backdrop-invert-0{--tw-backdrop-invert:invert(0)}.\\32xl\\:backdrop-invert{--tw-backdrop-invert:invert(100%)}.\\32xl\\:backdrop-opacity-0{--tw-backdrop-opacity:opacity(0)}.\\32xl\\:backdrop-opacity-5{--tw-backdrop-opacity:opacity(0.05)}.\\32xl\\:backdrop-opacity-10{--tw-backdrop-opacity:opacity(0.1)}.\\32xl\\:backdrop-opacity-20{--tw-backdrop-opacity:opacity(0.2)}.\\32xl\\:backdrop-opacity-25{--tw-backdrop-opacity:opacity(0.25)}.\\32xl\\:backdrop-opacity-30{--tw-backdrop-opacity:opacity(0.3)}.\\32xl\\:backdrop-opacity-40{--tw-backdrop-opacity:opacity(0.4)}.\\32xl\\:backdrop-opacity-50{--tw-backdrop-opacity:opacity(0.5)}.\\32xl\\:backdrop-opacity-60{--tw-backdrop-opacity:opacity(0.6)}.\\32xl\\:backdrop-opacity-70{--tw-backdrop-opacity:opacity(0.7)}.\\32xl\\:backdrop-opacity-75{--tw-backdrop-opacity:opacity(0.75)}.\\32xl\\:backdrop-opacity-80{--tw-backdrop-opacity:opacity(0.8)}.\\32xl\\:backdrop-opacity-90{--tw-backdrop-opacity:opacity(0.9)}.\\32xl\\:backdrop-opacity-95{--tw-backdrop-opacity:opacity(0.95)}.\\32xl\\:backdrop-opacity-100{--tw-backdrop-opacity:opacity(1)}.\\32xl\\:backdrop-saturate-0{--tw-backdrop-saturate:saturate(0)}.\\32xl\\:backdrop-saturate-50{--tw-backdrop-saturate:saturate(.5)}.\\32xl\\:backdrop-saturate-100{--tw-backdrop-saturate:saturate(1)}.\\32xl\\:backdrop-saturate-150{--tw-backdrop-saturate:saturate(1.5)}.\\32xl\\:backdrop-saturate-200{--tw-backdrop-saturate:saturate(2)}.\\32xl\\:backdrop-sepia-0{--tw-backdrop-sepia:sepia(0)}.\\32xl\\:backdrop-sepia{--tw-backdrop-sepia:sepia(100%)}.\\32xl\\:transition-none{transition-property:none}.\\32xl\\:transition-all{transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.\\32xl\\:transition{transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.\\32xl\\:transition-colors{transition-property:background-color, border-color, color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.\\32xl\\:transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.\\32xl\\:transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.\\32xl\\:transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.\\32xl\\:delay-75{transition-delay:75ms}.\\32xl\\:delay-100{transition-delay:100ms}.\\32xl\\:delay-150{transition-delay:150ms}.\\32xl\\:delay-200{transition-delay:200ms}.\\32xl\\:delay-300{transition-delay:300ms}.\\32xl\\:delay-500{transition-delay:500ms}.\\32xl\\:delay-700{transition-delay:700ms}.\\32xl\\:delay-1000{transition-delay:1000ms}.\\32xl\\:duration-75{transition-duration:75ms}.\\32xl\\:duration-100{transition-duration:100ms}.\\32xl\\:duration-150{transition-duration:150ms}.\\32xl\\:duration-200{transition-duration:200ms}.\\32xl\\:duration-300{transition-duration:300ms}.\\32xl\\:duration-500{transition-duration:500ms}.\\32xl\\:duration-700{transition-duration:700ms}.\\32xl\\:duration-1000{transition-duration:1000ms}.\\32xl\\:ease-linear{transition-timing-function:linear}.\\32xl\\:ease-in{transition-timing-function:cubic-bezier(0.4, 0, 1, 1)}.\\32xl\\:ease-out{transition-timing-function:cubic-bezier(0, 0, 0.2, 1)}.\\32xl\\:ease-in-out{transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}}");
}

// (183:0) {:else}
function StandaloneApp_svelte_create_else_block_1(ctx) {
	let div1;
	let appheader;
	let t0;
	let div0;
	let current;
	appheader = new AppHeader_svelte({});

	return {
		c() {
			div1 = internal_element("div");
			create_component(appheader.$$.fragment);
			t0 = space();
			div0 = internal_element("div");
			div0.textContent = "No widget data to display.";
			attr(div0, "class", "flex flex-col h-screen p-4");
			attr(div1, "class", "flex flex-col h-screen");
		},
		m(target, anchor) {
			insert(target, div1, anchor);
			mount_component(appheader, div1, null);
			append(div1, t0);
			append(div1, div0);
			current = true;
		},
		p: noop,
		i(local) {
			if (current) return;
			transition_in(appheader.$$.fragment, local);
			current = true;
		},
		o(local) {
			transition_out(appheader.$$.fragment, local);
			current = false;
		},
		d(detaching) {
			if (detaching) detach(div1);
			destroy_component(appheader);
		}
	};
}

// (178:18) 
function StandaloneApp_svelte_create_if_block_2(ctx) {
	let div1;
	let appheader;
	let t0;
	let div0;
	let current;
	appheader = new AppHeader_svelte({});

	return {
		c() {
			div1 = internal_element("div");
			create_component(appheader.$$.fragment);
			t0 = space();
			div0 = internal_element("div");
			div0.textContent = "Loading widget data.";
			attr(div0, "class", "flex flex-col h-screen p-4");
			attr(div1, "class", "flex flex-col h-screen");
		},
		m(target, anchor) {
			insert(target, div1, anchor);
			mount_component(appheader, div1, null);
			append(div1, t0);
			append(div1, div0);
			current = true;
		},
		p: noop,
		i(local) {
			if (current) return;
			transition_in(appheader.$$.fragment, local);
			current = true;
		},
		o(local) {
			transition_out(appheader.$$.fragment, local);
			current = false;
		},
		d(detaching) {
			if (detaching) detach(div1);
			destroy_component(appheader);
		}
	};
}

// (129:0) {#if widgetInfo !== undefined}
function StandaloneApp_svelte_create_if_block(ctx) {
	let div2;
	let appheader;
	let t0;
	let div1;
	let main;
	let current_block_type_index;
	let if_block;
	let t1;
	let div0;
	let toolbar;
	let current;

	appheader = new AppHeader_svelte({
			props: {
				experiment: /*widgetInfo*/ ctx[1].experiment,
				pages: /*pages*/ ctx[3],
				selectedPage: /*selectedPage*/ ctx[2]
			}
		});

	appheader.$on("click", /*pageSelected*/ ctx[5]);
	const if_block_creators = [StandaloneApp_svelte_create_if_block_1, StandaloneApp_svelte_create_else_block];
	const if_blocks = [];

	function select_block_type_1(ctx, dirty) {
		if (/*selectedPage*/ ctx[2] !== undefined && /*widgetInfo*/ ctx[1].pages[/*selectedPage*/ ctx[2]] !== undefined) return 0;
		return 1;
	}

	current_block_type_index = select_block_type_1(ctx, -1);
	if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx);

	toolbar = new Toolbar_svelte({
			props: {
				filter: stores_filter,
				filterError: filterError,
				table: stores_table,
				canvasSpec: canvasSpec,
				groupColumns: groupColumns,
				groupNames: groupNames,
				groupedTables: groupedTables,
				filteredTable: filteredTable,
				selected: selected,
				tooltip: tooltip,
				widgetSpecs: widgetSpecs,
				notebook: false
			}
		});

	return {
		c() {
			div2 = internal_element("div");
			create_component(appheader.$$.fragment);
			t0 = space();
			div1 = internal_element("div");
			main = internal_element("main");
			if_block.c();
			t1 = space();
			div0 = internal_element("div");
			create_component(toolbar.$$.fragment);
			attr(main, "class", "p-2 flex-1 overflow-y-auto bg-body-light text-text-light");
			attr(div0, "class", "border-midgrey border-l-2 bg-lightgrey overflow-hidden");
			attr(div1, "class", "flex flex-grow overflow-auto");
			attr(div2, "class", "flex flex-col");
			set_style(div2, "height", "100%");
		},
		m(target, anchor) {
			insert(target, div2, anchor);
			mount_component(appheader, div2, null);
			append(div2, t0);
			append(div2, div1);
			append(div1, main);
			if_blocks[current_block_type_index].m(main, null);
			append(div1, t1);
			append(div1, div0);
			mount_component(toolbar, div0, null);
			current = true;
		},
		p(ctx, dirty) {
			const appheader_changes = {};
			if (dirty & /*widgetInfo*/ 2) appheader_changes.experiment = /*widgetInfo*/ ctx[1].experiment;
			if (dirty & /*pages*/ 8) appheader_changes.pages = /*pages*/ ctx[3];
			if (dirty & /*selectedPage*/ 4) appheader_changes.selectedPage = /*selectedPage*/ ctx[2];
			appheader.$set(appheader_changes);
			let previous_block_index = current_block_type_index;
			current_block_type_index = select_block_type_1(ctx, dirty);

			if (current_block_type_index === previous_block_index) {
				if_blocks[current_block_type_index].p(ctx, dirty);
			} else {
				group_outros();

				transition_out(if_blocks[previous_block_index], 1, 1, () => {
					if_blocks[previous_block_index] = null;
				});

				check_outros();
				if_block = if_blocks[current_block_type_index];

				if (!if_block) {
					if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx);
					if_block.c();
				} else {
					if_block.p(ctx, dirty);
				}

				transition_in(if_block, 1);
				if_block.m(main, null);
			}
		},
		i(local) {
			if (current) return;
			transition_in(appheader.$$.fragment, local);
			transition_in(if_block);
			transition_in(toolbar.$$.fragment, local);
			current = true;
		},
		o(local) {
			transition_out(appheader.$$.fragment, local);
			transition_out(if_block);
			transition_out(toolbar.$$.fragment, local);
			current = false;
		},
		d(detaching) {
			if (detaching) detach(div2);
			destroy_component(appheader);
			if_blocks[current_block_type_index].d();
			destroy_component(toolbar);
		}
	};
}

// (156:8) {:else}
function StandaloneApp_svelte_create_else_block(ctx) {
	let t;

	return {
		c() {
			t = internal_text("No page to display.");
		},
		m(target, anchor) {
			insert(target, t, anchor);
		},
		p: noop,
		i: noop,
		o: noop,
		d(detaching) {
			if (detaching) detach(t);
		}
	};
}

// (139:8) {#if selectedPage !== undefined && widgetInfo.pages[selectedPage] !== undefined}
function StandaloneApp_svelte_create_if_block_1(ctx) {
	let standalonepage;
	let current;

	standalonepage = new StandalonePage_svelte({
			props: {
				widgets: /*widgetInfo*/ ctx[1].pages[/*selectedPage*/ ctx[2]],
				filter: stores_filter,
				filterError: filterError,
				table: stores_table,
				canvasSpec: canvasSpec,
				groupColumns: groupColumns,
				groupNames: groupNames,
				groupedTables: groupedTables,
				filteredTable: filteredTable,
				selected: selected,
				tooltip: tooltip,
				components: /*components*/ ctx[0],
				storybook,
				widgetSpecs: widgetSpecs
			}
		});

	return {
		c() {
			create_component(standalonepage.$$.fragment);
		},
		m(target, anchor) {
			mount_component(standalonepage, target, anchor);
			current = true;
		},
		p(ctx, dirty) {
			const standalonepage_changes = {};
			if (dirty & /*widgetInfo, selectedPage*/ 6) standalonepage_changes.widgets = /*widgetInfo*/ ctx[1].pages[/*selectedPage*/ ctx[2]];
			if (dirty & /*components*/ 1) standalonepage_changes.components = /*components*/ ctx[0];
			standalonepage.$set(standalonepage_changes);
		},
		i(local) {
			if (current) return;
			transition_in(standalonepage.$$.fragment, local);
			current = true;
		},
		o(local) {
			transition_out(standalonepage.$$.fragment, local);
			current = false;
		},
		d(detaching) {
			destroy_component(standalonepage, detaching);
		}
	};
}

function StandaloneApp_svelte_create_fragment(ctx) {
	let current_block_type_index;
	let if_block;
	let t;
	let datasampledetail;
	let current;
	const if_block_creators = [StandaloneApp_svelte_create_if_block, StandaloneApp_svelte_create_if_block_2, StandaloneApp_svelte_create_else_block_1];
	const if_blocks = [];

	function select_block_type(ctx, dirty) {
		if (/*widgetInfo*/ ctx[1] !== undefined) return 0;
		if (/*loading*/ ctx[4]) return 1;
		return 2;
	}

	current_block_type_index = select_block_type(ctx, -1);
	if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx);

	datasampledetail = new DataSampleDetail_svelte({
			props: { canvasSpec: canvasSpec, tooltip: tooltip, storybook }
		});

	return {
		c() {
			if_block.c();
			t = space();
			create_component(datasampledetail.$$.fragment);
		},
		m(target, anchor) {
			if_blocks[current_block_type_index].m(target, anchor);
			insert(target, t, anchor);
			mount_component(datasampledetail, target, anchor);
			current = true;
		},
		p(ctx, [dirty]) {
			let previous_block_index = current_block_type_index;
			current_block_type_index = select_block_type(ctx, dirty);

			if (current_block_type_index === previous_block_index) {
				if_blocks[current_block_type_index].p(ctx, dirty);
			} else {
				group_outros();

				transition_out(if_blocks[previous_block_index], 1, 1, () => {
					if_blocks[previous_block_index] = null;
				});

				check_outros();
				if_block = if_blocks[current_block_type_index];

				if (!if_block) {
					if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx);
					if_block.c();
				} else {
					if_block.p(ctx, dirty);
				}

				transition_in(if_block, 1);
				if_block.m(t.parentNode, t);
			}
		},
		i(local) {
			if (current) return;
			transition_in(if_block);
			transition_in(datasampledetail.$$.fragment, local);
			current = true;
		},
		o(local) {
			transition_out(if_block);
			transition_out(datasampledetail.$$.fragment, local);
			current = false;
		},
		d(detaching) {
			if_blocks[current_block_type_index].d(detaching);
			if (detaching) detach(t);
			destroy_component(datasampledetail, detaching);
		}
	};
}

const storybook = true;

function StandaloneApp_svelte_instance($$self, $$props, $$invalidate) {
	let pages;
	let { components } = $$props;
	const URL_PARAMS = new URLSearchParams(window.location.search);
	let widgetInfo = undefined;
	let loading = false;
	let selectedPage = undefined;

	function clearURL(widgetInfo) {
		URL_PARAMS.delete('filter');
		URL_PARAMS.delete('groupColumns');
		URL_PARAMS.delete('selected');
		URL_PARAMS.delete('widgetSpecs');
		URL_PARAMS.set('widgetInfo', JSON.stringify(widgetInfo));
	}

	function updateURL() {
		window.history.replaceState({}, '', `${location.pathname}?${URL_PARAMS}`);
	}

	onMount(() => {
		loadCanvasData().then(_ => {
			$$invalidate(4, loading = false);

			if (!URL_PARAMS.has('widgetInfo') || URL_PARAMS.get('widgetInfo').length == 0) {
				clearURL(widgetInfo);
			} else {
				const urlWidgetInfo = JSON.parse(URL_PARAMS.get('widgetInfo'));

				if (widgetInfo.exportID === urlWidgetInfo.exportID) {
					$$invalidate(1, widgetInfo = urlWidgetInfo);
					if (URL_PARAMS.has('filter')) stores_filter.set(URL_PARAMS.get('filter'));
					if (URL_PARAMS.has('groupColumns') && URL_PARAMS.get('groupColumns').length > 0) groupColumns.set(URL_PARAMS.get('groupColumns').split('|'));
					if (URL_PARAMS.has('selected') && URL_PARAMS.get('selected').length > 0) selected.set(URL_PARAMS.get('selected').split('|'));
					if (URL_PARAMS.has('page') && URL_PARAMS.get('page').length > 0) $$invalidate(2, selectedPage = URL_PARAMS.get('page'));

					if (URL_PARAMS.has('widgetSpecs') && URL_PARAMS.get('widgetSpecs').length > 0) {
						widgetSpecs.set(JSON.parse(URL_PARAMS.get('widgetSpecs')));
					}
				} else {
					clearURL(widgetInfo);
				}
			}

			stores_filter.subscribe(filt => {
				URL_PARAMS.set('filter', filt);
				updateURL();
			});

			groupColumns.subscribe(cols => {
				URL_PARAMS.set('groupColumns', cols.join('|'));
				updateURL();
			});

			selected.subscribe(sel => {
				URL_PARAMS.set('selected', sel.join('|'));
				updateURL();
			});

			widgetSpecs.subscribe(specs => {
				URL_PARAMS.set('widgetSpecs', JSON.stringify(specs));
				updateURL();
			});
		});
	});

	async function loadCanvasData() {
		$$invalidate(4, loading = true);
		const infoQuery = await fetch('data/widget_info.json');
		await loadArrowTable();
		$$invalidate(1, widgetInfo = await infoQuery.json());
	}

	function pageSelected(e) {
		const button = e.target;
		$$invalidate(2, selectedPage = button.value);
		URL_PARAMS.set('page', selectedPage);
		updateURL();
	}

	async function loadArrowTable() {
		fetch('data/table.arrow').then(function (response) {
			if (response.ok) {
				response.arrayBuffer().then(buffer => dataTable.set(new DataView(buffer)));
			} else {
				fetch('data/table.txt').then(function (response) {
					if (response.ok) {
						response.text().then(function (text) {
							fetch(text).then(function (response) {
								response.arrayBuffer().then(buffer => dataTable.set(new DataView(buffer)));
							});
						});
					} else {
						throw new Error('Table could not be loaded.');
					}
				});
			}
		});
	}

	$$self.$$set = $$props => {
		if ('components' in $$props) $$invalidate(0, components = $$props.components);
	};

	$$self.$$.update = () => {
		if ($$self.$$.dirty & /*widgetInfo*/ 2) {
			$: $$invalidate(3, pages = widgetInfo === undefined
			? []
			: Object.keys(widgetInfo.pages));
		}

		if ($$self.$$.dirty & /*selectedPage, pages*/ 12) {
			$: $$invalidate(2, selectedPage = selectedPage === undefined && pages !== undefined
			? pages[0]
			: selectedPage);
		}

		if ($$self.$$.dirty & /*widgetInfo*/ 2) {
			$: canvasSpec.set(widgetInfo === undefined ? {} : widgetInfo.spec);
		}
	};

	return [components, widgetInfo, selectedPage, pages, loading, pageSelected];
}

class StandaloneApp extends SvelteComponent {
	constructor(options) {
		super();
		init(this, options, StandaloneApp_svelte_instance, StandaloneApp_svelte_create_fragment, safe_not_equal, { components: 0 }, StandaloneApp_svelte_add_css);
	}
}

/* harmony default export */ const StandaloneApp_svelte = (StandaloneApp);
;// ./src/standalone.ts
/**
 * Copyright 2024 BetterWithData
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */


var __webpack_exports__StandaloneApp = __webpack_exports__.H;
export { __webpack_exports__StandaloneApp as StandaloneApp };

//# sourceMappingURL=StandaloneApp.js.map